diff options
author | Nicolas Arnaud-Cormos <nicolas@kdab.com> | 2011-10-27 19:24:46 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@nokia.com> | 2011-10-31 11:53:40 +0100 |
commit | ba15f8ec2c7479459b59377932246bd9ead44529 (patch) | |
tree | 8a1c774b38c33fba2fe5773cc08ce88317a2a8a5 | |
parent | 19b1a06ec8421d6e81ccaa7527d9ae6ec0ff3497 (diff) | |
download | qt-creator-ba15f8ec2c7479459b59377932246bd9ead44529.tar.gz |
Add an enabled property in locator, and used it instead of hidden.
Disabled locator won't be displayed in the filter list, but will be
visible in the option page.
Change-Id: I4d39bb8ed04ce49fc34aa84c229b51f26fc70733
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
-rw-r--r-- | src/plugins/cmakeprojectmanager/cmakelocatorfilter.cpp | 7 | ||||
-rw-r--r-- | src/plugins/locator/commandlocator.cpp | 5 | ||||
-rw-r--r-- | src/plugins/locator/commandlocator.h | 3 | ||||
-rw-r--r-- | src/plugins/locator/ilocatorfilter.cpp | 13 | ||||
-rw-r--r-- | src/plugins/locator/ilocatorfilter.h | 8 | ||||
-rw-r--r-- | src/plugins/locator/locatorfiltersfilter.cpp | 2 |
6 files changed, 26 insertions, 12 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakelocatorfilter.cpp b/src/plugins/cmakeprojectmanager/cmakelocatorfilter.cpp index a6260de445..bf4c47bd16 100644 --- a/src/plugins/cmakeprojectmanager/cmakelocatorfilter.cpp +++ b/src/plugins/cmakeprojectmanager/cmakelocatorfilter.cpp @@ -54,6 +54,9 @@ CMakeLocatorFilter::CMakeLocatorFilter() this, SLOT(slotProjectListUpdated())); connect(sm, SIGNAL(projectRemoved(ProjectExplorer::Project*)), this, SLOT(slotProjectListUpdated())); + + // Initialize the filter + slotProjectListUpdated(); } CMakeLocatorFilter::~CMakeLocatorFilter() @@ -140,6 +143,6 @@ void CMakeLocatorFilter::slotProjectListUpdated() break; } - // Hide the locator if there's no CMake project - setHidden(!cmakeProject); + // Enable the filter if there's at least one CMake project + setEnabled(cmakeProject); } diff --git a/src/plugins/locator/commandlocator.cpp b/src/plugins/locator/commandlocator.cpp index 90628c0a9d..ae40d2107c 100644 --- a/src/plugins/locator/commandlocator.cpp +++ b/src/plugins/locator/commandlocator.cpp @@ -121,11 +121,6 @@ void CommandLocator::accept(Locator::FilterEntry entry) const action->trigger(); } -void CommandLocator::setEnabled(bool e) -{ - setHidden(!e); -} - void CommandLocator::refresh(QFutureInterface<void> &) { } diff --git a/src/plugins/locator/commandlocator.h b/src/plugins/locator/commandlocator.h index ffb10a7e69..dae5cfd64c 100644 --- a/src/plugins/locator/commandlocator.h +++ b/src/plugins/locator/commandlocator.h @@ -71,9 +71,6 @@ public: virtual void accept(FilterEntry selection) const; virtual void refresh(QFutureInterface<void> &future); -public slots: - void setEnabled(bool e); - private: CommandLocatorPrivate *d; }; diff --git a/src/plugins/locator/ilocatorfilter.cpp b/src/plugins/locator/ilocatorfilter.cpp index 27d9d7fa2f..0d62313bff 100644 --- a/src/plugins/locator/ilocatorfilter.cpp +++ b/src/plugins/locator/ilocatorfilter.cpp @@ -44,7 +44,8 @@ using namespace Locator; ILocatorFilter::ILocatorFilter(QObject *parent): QObject(parent), m_includedByDefault(false), - m_hidden(false) + m_hidden(false), + m_enabled(true) { } @@ -140,3 +141,13 @@ void ILocatorFilter::setHidden(bool hidden) { m_hidden = hidden; } + +bool ILocatorFilter::isEnabled() const +{ + return m_enabled; +} + +void ILocatorFilter::setEnabled(bool enabled) +{ + m_enabled = enabled; +} diff --git a/src/plugins/locator/ilocatorfilter.h b/src/plugins/locator/ilocatorfilter.h index 5f391f56d7..a6c3a13a3d 100644 --- a/src/plugins/locator/ilocatorfilter.h +++ b/src/plugins/locator/ilocatorfilter.h @@ -133,6 +133,9 @@ public: /* Returns whether the filter should be hidden from configuration and menus. */ bool isHidden() const; + /* Returns whether the filter should be enabled and used in menus. */ + bool isEnabled() const; + static QString trimWildcards(const QString &str) { if (str.isEmpty()) return str; @@ -146,6 +149,10 @@ public: return str.mid(first, last-first+1); } +public slots: + /* Enable or disable the filter. */ + void setEnabled(bool enabled); + protected: void setShortcutString(const QString &shortcut); void setIncludedByDefault(bool includedByDefault); @@ -155,6 +162,7 @@ private: QString m_shortcut; bool m_includedByDefault; bool m_hidden; + bool m_enabled; }; } // namespace Locator diff --git a/src/plugins/locator/locatorfiltersfilter.cpp b/src/plugins/locator/locatorfiltersfilter.cpp index ebe42a9c1c..d07dece5cf 100644 --- a/src/plugins/locator/locatorfiltersfilter.cpp +++ b/src/plugins/locator/locatorfiltersfilter.cpp @@ -81,7 +81,7 @@ QList<FilterEntry> LocatorFiltersFilter::matchesFor(QFutureInterface<Locator::Fi foreach (ILocatorFilter *filter, uniqueFilters) { if (future.isCanceled()) break; - if (!filter->shortcutString().isEmpty() && !filter->isHidden()) { + if (!filter->shortcutString().isEmpty() && !filter->isHidden() && filter->isEnabled()) { FilterEntry filterEntry(this, filter->shortcutString(), QVariant::fromValue(filter), |