diff options
author | ck <qt-info@nokia.com> | 2009-10-16 15:50:52 +0200 |
---|---|---|
committer | ck <qt-info@nokia.com> | 2009-10-16 18:01:07 +0200 |
commit | 5f33e08e2a02eb4311b7453dea88614267823220 (patch) | |
tree | f0340a665c6c6e04b149c4b71e85fe1b53ac7f2b /src/plugins/coreplugin/fancyactionbar.cpp | |
parent | 0d3709c35086f0f0aa4158348feb04492e6d7665 (diff) |
When we hide the action, also hide its toolbutton.
Originally-By: kh1
Diffstat (limited to 'src/plugins/coreplugin/fancyactionbar.cpp')
-rw-r--r-- | src/plugins/coreplugin/fancyactionbar.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/plugins/coreplugin/fancyactionbar.cpp b/src/plugins/coreplugin/fancyactionbar.cpp index be053c171f..bcb75b6dc7 100644 --- a/src/plugins/coreplugin/fancyactionbar.cpp +++ b/src/plugins/coreplugin/fancyactionbar.cpp @@ -136,6 +136,14 @@ QSize FancyToolButton::minimumSizeHint() const return QSize(8, 8); } +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()); +} + FancyActionBar::FancyActionBar(QWidget *parent) : QWidget(parent) { @@ -152,6 +160,8 @@ void FancyActionBar::insertAction(int index, QAction *action, QMenu *menu) { FancyToolButton *toolButton = new FancyToolButton(this); toolButton->setDefaultAction(action); + connect(action, SIGNAL(changed()), toolButton, SLOT(actionChanged())); + if (menu) { toolButton->setMenu(menu); toolButton->setPopupMode(QToolButton::DelayedPopup); |