From 6b8ed2fa1d2cf4554fb7359f5b9d45f6dcdc2aa4 Mon Sep 17 00:00:00 2001 From: Vincent van Ravesteijn Date: Sat, 22 Sep 2012 20:51:49 +0200 Subject: [PATCH] Initialize toolbar pop menu button on start In 0aead96461997 it was introduced that the toolbar popup menu buttons are not initialized until they are being used (i.e. pressed at for the first time). As a consequence, these buttons are always enabled on start. Now that we have the sticky button for view and update, I'm now annoyed by this every time I start LyX. --- src/frontends/qt4/GuiToolbar.cpp | 15 ++++----------- src/frontends/qt4/GuiToolbar.h | 6 ++---- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/src/frontends/qt4/GuiToolbar.cpp b/src/frontends/qt4/GuiToolbar.cpp index d0efdbe8ed..ec80a0b430 100644 --- a/src/frontends/qt4/GuiToolbar.cpp +++ b/src/frontends/qt4/GuiToolbar.cpp @@ -166,7 +166,7 @@ public: MenuButton::MenuButton(GuiToolbar * bar, ToolbarItem const & item, bool const sticky) - : QToolButton(bar), bar_(bar), tbitem_(item), initialized_(false) + : QToolButton(bar), bar_(bar), tbitem_(item) { setPopupMode(QToolButton::InstantPopup); QString const label = qt_(to_ascii(tbitem_.label_)); @@ -189,17 +189,12 @@ MenuButton::MenuButton(GuiToolbar * bar, ToolbarItem const & item, bool const st this, SLOT(actionTriggered(QAction *))); connect(bar, SIGNAL(iconSizeChanged(QSize)), this, SLOT(setIconSize(QSize))); + initialize(); } -void MenuButton::mousePressEvent(QMouseEvent * e) -{ - if (initialized_) { - QToolButton::mousePressEvent(e); - return; - } - - initialized_ = true; +void MenuButton::initialize() +{ QString const label = qt_(to_ascii(tbitem_.label_)); ButtonMenu * m = new ButtonMenu(label, this); m->setWindowTitle(label); @@ -217,8 +212,6 @@ void MenuButton::mousePressEvent(QMouseEvent * e) if (!getStatus(it->func_).unknown()) m->add(bar_->addItem(*it)); setMenu(m); - - QToolButton::mousePressEvent(e); } diff --git a/src/frontends/qt4/GuiToolbar.h b/src/frontends/qt4/GuiToolbar.h index fb65506bc5..f00575cd9d 100644 --- a/src/frontends/qt4/GuiToolbar.h +++ b/src/frontends/qt4/GuiToolbar.h @@ -45,16 +45,14 @@ public: /// MenuButton(GuiToolbar * bar, ToolbarItem const & item, bool const sticky = false); - /// - void mousePressEvent(QMouseEvent * e); private: + /// + void initialize(); /// GuiToolbar * bar_; /// ToolbarItem const & tbitem_; - /// - bool initialized_; private Q_SLOTS: /// -- 2.39.2