diff --git a/src/plugins/coreplugin/fancyactionbar.cpp b/src/plugins/coreplugin/fancyactionbar.cpp index 1fbf2308668..561f2d36f69 100644 --- a/src/plugins/coreplugin/fancyactionbar.cpp +++ b/src/plugins/coreplugin/fancyactionbar.cpp @@ -52,9 +52,12 @@ using namespace Utils; namespace Core { namespace Internal { -FancyToolButton::FancyToolButton(QWidget *parent) +FancyToolButton::FancyToolButton(QAction *action, QWidget *parent) : QToolButton(parent), m_fader(0) { + setDefaultAction(action); + connect(action, &QAction::changed, this, &FancyToolButton::actionChanged); + setAttribute(Qt::WA_Hover, true); setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); } @@ -336,18 +339,12 @@ FancyActionBar::FancyActionBar(QWidget *parent) void FancyActionBar::addProjectSelector(QAction *action) { - FancyToolButton* toolButton = new FancyToolButton(this); - toolButton->setDefaultAction(action); - connect(action, SIGNAL(changed()), toolButton, SLOT(actionChanged())); - m_actionsLayout->insertWidget(0, toolButton); + m_actionsLayout->insertWidget(0, new FancyToolButton(action, this)); } void FancyActionBar::insertAction(int index, QAction *action) { - FancyToolButton *toolButton = new FancyToolButton(this); - toolButton->setDefaultAction(action); - connect(action, SIGNAL(changed()), toolButton, SLOT(actionChanged())); - m_actionsLayout->insertWidget(index, toolButton); + m_actionsLayout->insertWidget(index, new FancyToolButton(action, this)); } QLayout *FancyActionBar::actionsLayout() const diff --git a/src/plugins/coreplugin/fancyactionbar.h b/src/plugins/coreplugin/fancyactionbar.h index b665c61050b..15f2052b5d3 100644 --- a/src/plugins/coreplugin/fancyactionbar.h +++ b/src/plugins/coreplugin/fancyactionbar.h @@ -47,7 +47,7 @@ class FancyToolButton : public QToolButton Q_PROPERTY(float fader READ fader WRITE setFader) public: - FancyToolButton(QWidget *parent = 0); + FancyToolButton(QAction *action, QWidget *parent = 0); void paintEvent(QPaintEvent *event); bool event(QEvent *e);