From 4b76d828f7960260733bbabbb22a32ed2ffa3a96 Mon Sep 17 00:00:00 2001
From: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Date: Mon, 15 Feb 2010 13:55:11 +0100
Subject: [PATCH] CommandLocator: Sort filter by priority and id, fix hg filter
 enabling.

---
 src/plugins/locator/locatorplugin.cpp     | 6 +++++-
 src/plugins/mercurial/mercurialplugin.cpp | 6 ++++--
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/plugins/locator/locatorplugin.cpp b/src/plugins/locator/locatorplugin.cpp
index c7ec53d40b2..2f216f1eac7 100644
--- a/src/plugins/locator/locatorplugin.cpp
+++ b/src/plugins/locator/locatorplugin.cpp
@@ -66,7 +66,11 @@ using namespace Locator::Internal;
 namespace {
     static bool filterLessThan(const ILocatorFilter *first, const ILocatorFilter *second)
     {
-        return first->priority() < second->priority();
+        if (first->priority() < second->priority())
+            return true;
+        if (first->id().compare(second->id(), Qt::CaseInsensitive) < 0)
+            return true;
+        return false;
     }
 }
 
diff --git a/src/plugins/mercurial/mercurialplugin.cpp b/src/plugins/mercurial/mercurialplugin.cpp
index 8ab16ae62ef..b93c673087b 100644
--- a/src/plugins/mercurial/mercurialplugin.cpp
+++ b/src/plugins/mercurial/mercurialplugin.cpp
@@ -708,11 +708,13 @@ void MercurialPlugin::createSeparator(const QList<int> &context, const QString &
 
 void MercurialPlugin::updateActions(VCSBase::VCSBasePlugin::ActionState as)
 {
-    if (!enableMenuAction(as, m_menuAction))
+    if (!enableMenuAction(as, m_menuAction)) {
+        m_commandLocator->setEnabled(false);
         return;
-
+    }
     const QString filename = currentState().currentFileName();
     const bool repoEnabled = currentState().hasTopLevel();
+    m_commandLocator->setEnabled(repoEnabled);
 
     annotateFile->setParameter(filename);
     diffFile->setParameter(filename);
-- 
GitLab