From f8a2698bcd26ecedc601b2f4be4d72317b36627e Mon Sep 17 00:00:00 2001
From: Aurindam Jana <aurindam.jana@digia.com>
Date: Fri, 2 Aug 2013 16:38:43 +0200
Subject: [PATCH] IAnalyzerTool: actionId() is re-implemented in derived
 classes

Change-Id: I5a0a485e239eeb33a9d8ad8cfd0f9cc40e1ff6d2
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
---
 src/plugins/analyzerbase/ianalyzertool.cpp  | 14 --------------
 src/plugins/analyzerbase/ianalyzertool.h    |  2 +-
 src/plugins/qmlprofiler/qmlprofilertool.cpp |  5 +++++
 src/plugins/qmlprofiler/qmlprofilertool.h   |  1 +
 src/plugins/valgrind/callgrindtool.cpp      |  5 +++++
 src/plugins/valgrind/callgrindtool.h        |  1 +
 src/plugins/valgrind/memchecktool.cpp       |  5 +++++
 src/plugins/valgrind/memchecktool.h         |  1 +
 8 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/src/plugins/analyzerbase/ianalyzertool.cpp b/src/plugins/analyzerbase/ianalyzertool.cpp
index 1223a64bddd..875e1f1dc1b 100644
--- a/src/plugins/analyzerbase/ianalyzertool.cpp
+++ b/src/plugins/analyzerbase/ianalyzertool.cpp
@@ -60,20 +60,6 @@ IAnalyzerTool::IAnalyzerTool(QObject *parent)
     : QObject(parent)
 {}
 
-Id IAnalyzerTool::actionId(StartMode mode) const
-{
-    Id id = Id("Analyzer").withSuffix(this->id().toString());
-    switch (mode) {
-    case StartLocal:
-        return id.withSuffix(".Local");
-    case StartRemote:
-        return id.withSuffix(".Remote");
-    case StartQmlRemote:
-        return id.withSuffix(".Qml");
-    }
-    return Id();
-}
-
 Id IAnalyzerTool::menuGroup(StartMode mode) const
 {
     if (mode == StartRemote)
diff --git a/src/plugins/analyzerbase/ianalyzertool.h b/src/plugins/analyzerbase/ianalyzertool.h
index ae34431bc7a..96bd3ecbf01 100644
--- a/src/plugins/analyzerbase/ianalyzertool.h
+++ b/src/plugins/analyzerbase/ianalyzertool.h
@@ -79,7 +79,7 @@ public:
     /// Returns a user readable description name for this tool.
     virtual QString description() const = 0;
     /// Returns an id for the start action.
-    virtual Core::Id actionId(StartMode mode) const;
+    virtual Core::Id actionId(StartMode mode) const = 0;
     /// Returns the menu group the start action should go to.
     virtual Core::Id menuGroup(StartMode mode) const;
     /// Returns a short user readable action name for this tool.
diff --git a/src/plugins/qmlprofiler/qmlprofilertool.cpp b/src/plugins/qmlprofiler/qmlprofilertool.cpp
index 57679536318..8a90585acb5 100644
--- a/src/plugins/qmlprofiler/qmlprofilertool.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilertool.cpp
@@ -213,6 +213,11 @@ QString QmlProfilerTool::description() const
               "applications using QML.");
 }
 
+Core::Id QmlProfilerTool::actionId(StartMode mode) const
+{
+    return mode == StartLocal ? "Analyzer.QmlProfiler.Local" : "Analyzer.QmlProfiler.Remote";
+}
+
 IAnalyzerTool::ToolMode QmlProfilerTool::toolMode() const
 {
     return AnyMode;
diff --git a/src/plugins/qmlprofiler/qmlprofilertool.h b/src/plugins/qmlprofiler/qmlprofilertool.h
index 5a3989e0e1c..63e918cec24 100644
--- a/src/plugins/qmlprofiler/qmlprofilertool.h
+++ b/src/plugins/qmlprofiler/qmlprofilertool.h
@@ -52,6 +52,7 @@ public:
     ProjectExplorer::RunMode runMode() const;
     QString displayName() const;
     QString description() const;
+    Core::Id actionId(Analyzer::StartMode mode) const;
     ToolMode toolMode() const;
 
     void extensionsInitialized() {}
diff --git a/src/plugins/valgrind/callgrindtool.cpp b/src/plugins/valgrind/callgrindtool.cpp
index 1b2ba3d961e..b5d833cad8e 100644
--- a/src/plugins/valgrind/callgrindtool.cpp
+++ b/src/plugins/valgrind/callgrindtool.cpp
@@ -535,6 +535,11 @@ QString CallgrindTool::description() const
               "record function calls when a program runs.");
 }
 
+Core::Id CallgrindTool::actionId(StartMode mode) const
+{
+    return mode == StartLocal ? "Analyzer.Callgrind.Local" : "Analyzer.Callgrind.Remote";
+}
+
 IAnalyzerTool::ToolMode CallgrindTool::toolMode() const
 {
     return ReleaseMode;
diff --git a/src/plugins/valgrind/callgrindtool.h b/src/plugins/valgrind/callgrindtool.h
index 14a5b201fb7..a3937a9cb61 100644
--- a/src/plugins/valgrind/callgrindtool.h
+++ b/src/plugins/valgrind/callgrindtool.h
@@ -49,6 +49,7 @@ public:
     ProjectExplorer::RunMode runMode() const;
     QString displayName() const;
     QString description() const;
+    Core::Id actionId(Analyzer::StartMode mode) const;
     ToolMode toolMode() const;
 
     void extensionsInitialized();
diff --git a/src/plugins/valgrind/memchecktool.cpp b/src/plugins/valgrind/memchecktool.cpp
index 323d8eaf4f1..bb746b4081b 100644
--- a/src/plugins/valgrind/memchecktool.cpp
+++ b/src/plugins/valgrind/memchecktool.cpp
@@ -297,6 +297,11 @@ QString MemcheckTool::description() const
               "memory leaks");
 }
 
+Core::Id MemcheckTool::actionId(StartMode mode) const
+{
+    return mode == StartLocal ? "Analyzer.Memcheck.Local" : "Analyzer.Memcheck.Remote";
+}
+
 AbstractAnalyzerSubConfig *MemcheckTool::createGlobalSettings()
 {
     return new ValgrindGlobalSettings();
diff --git a/src/plugins/valgrind/memchecktool.h b/src/plugins/valgrind/memchecktool.h
index 69344659699..a6eec1d2763 100644
--- a/src/plugins/valgrind/memchecktool.h
+++ b/src/plugins/valgrind/memchecktool.h
@@ -88,6 +88,7 @@ public:
     ProjectExplorer::RunMode runMode() const;
     QString displayName() const;
     QString description() const;
+    Core::Id actionId(Analyzer::StartMode mode) const;
 
     // Create the valgrind settings (for all valgrind tools)
     Analyzer::AbstractAnalyzerSubConfig *createGlobalSettings();
-- 
GitLab