Outline: Disable filter button if no filters are available

Fixes that the filter button could be 'checked' for a cpp file.
This commit is contained in:
Kai Koehne
2010-07-22 13:02:47 +02:00
parent 88bcb98230
commit cc48ee0ab6
2 changed files with 4 additions and 2 deletions

View File

@@ -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();
}
}

View File

@@ -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: