diff options
author | mae <qt-info@nokia.com> | 2010-03-12 17:24:20 +0100 |
---|---|---|
committer | mae <qt-info@nokia.com> | 2010-03-12 17:25:02 +0100 |
commit | d13dfe44f0b9d04ce58fdc2a992b7c6d85cd6b26 (patch) | |
tree | 44aed5137f641251a94a78243d54250868a6c252 /src/plugins/coreplugin/fancyactionbar.cpp | |
parent | a2fe486b3051fb76dceee7af80a3e80863cbf035 (diff) | |
download | qt-creator-d13dfe44f0b9d04ce58fdc2a992b7c6d85cd6b26.tar.gz |
Some tuning of the fancy action bar
Done-with: jbache
Diffstat (limited to 'src/plugins/coreplugin/fancyactionbar.cpp')
-rw-r--r-- | src/plugins/coreplugin/fancyactionbar.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/plugins/coreplugin/fancyactionbar.cpp b/src/plugins/coreplugin/fancyactionbar.cpp index 8dc6a520aa..e680d45fa3 100644 --- a/src/plugins/coreplugin/fancyactionbar.cpp +++ b/src/plugins/coreplugin/fancyactionbar.cpp @@ -57,10 +57,17 @@ using namespace Internal; FancyToolButton::FancyToolButton(QWidget *parent) : QToolButton(parent), m_fader(0) { + m_hasForceVisible = false; setAttribute(Qt::WA_Hover, true); setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); } +void FancyToolButton::forceVisible(bool visible) +{ + m_hasForceVisible = true; + setVisible(visible); +} + bool FancyToolButton::event(QEvent *e) { switch(e->type()) { @@ -220,8 +227,10 @@ void FancyToolButton::actionChanged() { // the default action changed in some way, e.g. it might got hidden // since we inherit a tool button we won't get invisible, so do this here - if (QAction* action = defaultAction()) - setVisible(action->isVisible()); + if (!m_hasForceVisible) { + if (QAction* action = defaultAction()) + setVisible(action->isVisible()); + } } FancyActionBar::FancyActionBar(QWidget *parent) @@ -270,8 +279,8 @@ void FancyActionBar::modeChanged(Core::IMode *mode) if (m_runButton && m_debugButton) { bool inDebugMode = (mode->id() == QLatin1String("Debugger.Mode.Debug")); layout()->setEnabled(false); - m_runButton->setVisible(!inDebugMode); - m_debugButton->setVisible(inDebugMode); + m_runButton->forceVisible(!inDebugMode); + m_debugButton->forceVisible(inDebugMode); layout()->setEnabled(true); } } |