aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlessandro Portale <alessandro.portale@theqtcompany.com>2016-04-16 20:59:42 +0200
committerAlessandro Portale <alessandro.portale@theqtcompany.com>2016-04-18 11:25:37 +0000
commit397ebcac92ad9ca620ef280b8fc6c7f697c6e28b (patch)
treed073de33d3fb802236efdc06c52b20627a0b6a89
parent7c0e76aee415300b4c391fca191164321e78b035 (diff)
Debugger: Enabled state of "Threads:" label depends on thread combobox
...and making sure that items of a disabled combobox are visibly disabled. This prevents users from clicking on the Threads label before debugging even started. Change-Id: I59cc9b7e875fe8c126a9ee4221ff9d8322e4b1a8 Reviewed-by: hjk <hjk@theqtcompany.com>
-rw-r--r--src/plugins/coreplugin/manhattanstyle.cpp11
-rw-r--r--src/plugins/debugger/debuggerplugin.cpp8
2 files changed, 14 insertions, 5 deletions
diff --git a/src/plugins/coreplugin/manhattanstyle.cpp b/src/plugins/coreplugin/manhattanstyle.cpp
index 913ca572d3..7233e6d5c5 100644
--- a/src/plugins/coreplugin/manhattanstyle.cpp
+++ b/src/plugins/coreplugin/manhattanstyle.cpp
@@ -245,7 +245,10 @@ QPalette panelPalette(const QPalette &oldPalette, bool lightColored = false)
pal.setBrush(QPalette::All, QPalette::WindowText, color);
pal.setBrush(QPalette::All, QPalette::ButtonText, color);
pal.setBrush(QPalette::All, QPalette::Foreground, color);
- color.setAlpha(100);
+ if (lightColored)
+ color.setAlpha(100);
+ else
+ color = creatorTheme()->color(Theme::IconsDisabledColor);
pal.setBrush(QPalette::Disabled, QPalette::WindowText, color);
pal.setBrush(QPalette::Disabled, QPalette::ButtonText, color);
pal.setBrush(QPalette::Disabled, QPalette::Foreground, color);
@@ -740,9 +743,9 @@ void ManhattanStyle::drawControl(ControlElement element, const QStyleOption *opt
painter->setPen(StyleHelper::toolBarDropShadowColor());
painter->drawText(editRect.adjusted(1, 0, -1, 0), Qt::AlignLeft | Qt::AlignVCenter, text);
}
- if (!(option->state & State_Enabled))
- painter->setOpacity(0.8);
- painter->setPen(creatorTheme()->color(Theme::ComboBoxTextColor));
+ painter->setPen(creatorTheme()->color((option->state & State_Enabled)
+ ? Theme::ComboBoxTextColor
+ : Theme::IconsDisabledColor));
painter->drawText(editRect.adjusted(1, 0, -1, 0), Qt::AlignLeft | Qt::AlignVCenter, text);
painter->restore();
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 42fc00a867..89e9023aa4 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -966,6 +966,7 @@ public:
QIcon m_locationMarkIcon;
+ QLabel *m_threadLabel = 0;
QComboBox *m_threadBox = 0;
BaseTreeView *m_breakView = 0;
@@ -1788,7 +1789,9 @@ bool DebuggerPluginPrivate::initialize(const QStringList &arguments,
}
toolbar.addWidget(new StyledSeparator);
- toolbar.addWidget(new QLabel(tr("Threads:")));
+
+ m_threadLabel = new QLabel(tr("Threads:"));
+ toolbar.addWidget(m_threadLabel);
m_threadBox = new QComboBox;
m_threadBox->setSizeAdjustPolicy(QComboBox::AdjustToContents);
@@ -2489,6 +2492,8 @@ void DebuggerPluginPrivate::setInitialState()
action(AutoDerefPointers)->setEnabled(true);
action(ExpandStack)->setEnabled(false);
+
+ m_threadLabel->setEnabled(false);
}
void DebuggerPluginPrivate::updateState(DebuggerEngine *engine)
@@ -2586,6 +2591,7 @@ void DebuggerPluginPrivate::updateState(DebuggerEngine *engine)
m_attachToUnstartedApplication->setEnabled(true);
m_threadBox->setEnabled(state == InferiorStopOk || state == InferiorUnrunnable);
+ m_threadLabel->setEnabled(m_threadBox->isEnabled());
const bool isCore = engine->runParameters().startMode == AttachCore;
const bool stopped = state == InferiorStopOk;