diff --git a/src/plugins/texteditor/outlinefactory.cpp b/src/plugins/texteditor/outlinefactory.cpp index 72a32f1c0827987465c1c31c8c5546eb5b12e568..e2542ee9536195298de1629264d01be95f910a36 100644 --- a/src/plugins/texteditor/outlinefactory.cpp +++ b/src/plugins/texteditor/outlinefactory.cpp @@ -39,7 +39,6 @@ OutlineWidgetStack::OutlineWidgetStack(OutlineFactory *factory) : m_filterButton->setPopupMode(QToolButton::InstantPopup); m_filterMenu = new QMenu(m_filterButton); m_filterButton->setMenu(m_filterMenu); - connect(m_filterMenu, SIGNAL(aboutToShow()), this, SLOT(updateFilterMenu())); Core::EditorManager *editorManager = Core::EditorManager::instance(); connect(editorManager, SIGNAL(currentEditorChanged(Core::IEditor*)), @@ -108,6 +107,7 @@ void OutlineWidgetStack::updateFilterMenu() m_filterMenu->addAction(filterAction); } } + m_filterButton->setEnabled(!m_filterMenu->actions().isEmpty()); } void OutlineWidgetStack::updateCurrentEditor(Core::IEditor *editor) @@ -138,6 +138,8 @@ void OutlineWidgetStack::updateCurrentEditor(Core::IEditor *editor) addWidget(newWidget); setCurrentWidget(newWidget); } + + updateFilterMenu(); } } diff --git a/src/plugins/texteditor/outlinefactory.h b/src/plugins/texteditor/outlinefactory.h index 3614b93299807b94975fddbee02cc3a9133fcdd5..e14e0c29fc8d7feaa8f1077d65d918388d35411d 100644 --- a/src/plugins/texteditor/outlinefactory.h +++ b/src/plugins/texteditor/outlinefactory.h @@ -31,10 +31,10 @@ public: private: bool isCursorSynchronized() const; QWidget *dummyWidget() const; + void updateFilterMenu(); private slots: void toggleCursorSynchronization(); - void updateFilterMenu(); void updateCurrentEditor(Core::IEditor *editor); private: