summaryrefslogtreecommitdiff
path: root/src/plugins/analyzerbase
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/analyzerbase')
-rw-r--r--src/plugins/analyzerbase/analyzerbase.qbs22
-rw-r--r--src/plugins/analyzerbase/analyzermanager.cpp8
-rw-r--r--src/plugins/analyzerbase/analyzerruncontrolfactory.cpp8
-rw-r--r--src/plugins/analyzerbase/analyzerruncontrolfactory.h1
-rw-r--r--src/plugins/analyzerbase/analyzersettings.cpp22
-rw-r--r--src/plugins/analyzerbase/analyzersettings.h6
-rw-r--r--src/plugins/analyzerbase/ianalyzertool.cpp10
7 files changed, 51 insertions, 26 deletions
diff --git a/src/plugins/analyzerbase/analyzerbase.qbs b/src/plugins/analyzerbase/analyzerbase.qbs
index 7fada29a11..36a11871ed 100644
--- a/src/plugins/analyzerbase/analyzerbase.qbs
+++ b/src/plugins/analyzerbase/analyzerbase.qbs
@@ -17,23 +17,23 @@ QtcPlugin {
"ANALYZER_LIBRARY",
"QT_NO_CAST_FROM_ASCII"
])
- cpp.includePaths: [
- "..",
- "../../libs",
- buildDirectory
- ]
files: [
"analyzerbase.qrc",
"analyzerbase_global.h",
"analyzerconstants.h",
+ "analyzermanager.cpp",
+ "analyzermanager.h",
"analyzeroptionspage.cpp",
"analyzeroptionspage.h",
"analyzerplugin.cpp",
"analyzerplugin.h",
"analyzerrunconfigwidget.cpp",
"analyzerrunconfigwidget.h",
+ "analyzerruncontrol.cpp",
"analyzerruncontrol.h",
+ "analyzerruncontrolfactory.cpp",
+ "analyzerruncontrolfactory.h",
"analyzersettings.cpp",
"analyzersettings.h",
"analyzerstartparameters.h",
@@ -42,23 +42,15 @@ QtcPlugin {
"ianalyzerengine.cpp",
"ianalyzerengine.h",
"ianalyzertool.cpp",
+ "ianalyzertool.h",
"startremotedialog.cpp",
"startremotedialog.h",
- "analyzermanager.cpp",
- "analyzermanager.h",
- "analyzerruncontrol.cpp",
- "analyzerruncontrolfactory.cpp",
- "analyzerruncontrolfactory.h",
- "ianalyzertool.h",
"images/analyzer_category.png",
"images/analyzer_mode.png",
- "images/analyzer_start_small.png"
+ "images/analyzer_start_small.png",
]
ProductModule {
- Depends { name: "cpp" }
- cpp.includePaths: ["."]
-
Depends { name: "CPlusPlus" }
}
}
diff --git a/src/plugins/analyzerbase/analyzermanager.cpp b/src/plugins/analyzerbase/analyzermanager.cpp
index 7434846208..54dcf858fd 100644
--- a/src/plugins/analyzerbase/analyzermanager.cpp
+++ b/src/plugins/analyzerbase/analyzermanager.cpp
@@ -88,6 +88,7 @@
#include <QLabel>
#include <QCheckBox>
#include <QDialogButtonBox>
+#include <QPointer>
#include <QPushButton>
using namespace Core;
@@ -211,7 +212,7 @@ public:
MainWindowSettingsMap m_defaultSettings;
// list of dock widgets to prevent memory leak
- typedef QWeakPointer<QDockWidget> DockPtr;
+ typedef QPointer<QDockWidget> DockPtr;
QList<DockPtr> m_dockWidgets;
};
@@ -235,8 +236,6 @@ AnalyzerManagerPrivate::AnalyzerManagerPrivate(AnalyzerManager *qq):
setupActions();
- connect(ModeManager::instance(), SIGNAL(currentModeChanged(Core::IMode*)),
- this, SLOT(modeChanged(Core::IMode*)));
ProjectExplorerPlugin *pe = ProjectExplorerPlugin::instance();
connect(pe, SIGNAL(updateRunActions()), SLOT(updateRunActions()));
}
@@ -294,6 +293,9 @@ void AnalyzerManagerPrivate::delayedInit()
m_mode = new AnalyzerMode(q);
createModeMainWindow();
+ connect(ModeManager::instance(), SIGNAL(currentModeChanged(Core::IMode*)),
+ this, SLOT(modeChanged(Core::IMode*)));
+
// Right-side window with editor, output etc.
MiniSplitter *mainWindowSplitter = new MiniSplitter;
mainWindowSplitter->addWidget(m_mainWindow);
diff --git a/src/plugins/analyzerbase/analyzerruncontrolfactory.cpp b/src/plugins/analyzerbase/analyzerruncontrolfactory.cpp
index f4faaa79a9..4ee4793af2 100644
--- a/src/plugins/analyzerbase/analyzerruncontrolfactory.cpp
+++ b/src/plugins/analyzerbase/analyzerruncontrolfactory.cpp
@@ -89,6 +89,14 @@ IRunConfigurationAspect *AnalyzerRunControlFactory::createRunConfigurationAspect
return new AnalyzerRunConfigurationAspect;
}
+IRunConfigurationAspect *AnalyzerRunControlFactory::cloneRunConfigurationAspect(IRunConfigurationAspect *source)
+{
+ AnalyzerRunConfigurationAspect *s = dynamic_cast<AnalyzerRunConfigurationAspect *>(source);
+ if (!s)
+ return 0;
+ return new AnalyzerRunConfigurationAspect(s);
+}
+
RunConfigWidget *AnalyzerRunControlFactory::createConfigurationWidget(RunConfiguration *runConfiguration)
{
AnalyzerRunConfigWidget *ret = new AnalyzerRunConfigWidget;
diff --git a/src/plugins/analyzerbase/analyzerruncontrolfactory.h b/src/plugins/analyzerbase/analyzerruncontrolfactory.h
index 31bcde9bb8..cfc09339b9 100644
--- a/src/plugins/analyzerbase/analyzerruncontrolfactory.h
+++ b/src/plugins/analyzerbase/analyzerruncontrolfactory.h
@@ -51,6 +51,7 @@ public:
ProjectExplorer::RunMode mode,
QString *errorMessage);
ProjectExplorer::IRunConfigurationAspect *createRunConfigurationAspect();
+ ProjectExplorer::IRunConfigurationAspect *cloneRunConfigurationAspect(ProjectExplorer::IRunConfigurationAspect *source);
ProjectExplorer::RunConfigWidget *createConfigurationWidget(RunConfiguration *runConfiguration);
};
diff --git a/src/plugins/analyzerbase/analyzersettings.cpp b/src/plugins/analyzerbase/analyzersettings.cpp
index d612a6223e..c33077eeef 100644
--- a/src/plugins/analyzerbase/analyzersettings.cpp
+++ b/src/plugins/analyzerbase/analyzersettings.cpp
@@ -54,6 +54,11 @@ AnalyzerSettings::AnalyzerSettings(QObject *parent)
{
}
+AnalyzerSettings::AnalyzerSettings(AnalyzerSettings *other)
+{
+ Q_UNUSED(other);
+}
+
QVariantMap AnalyzerSettings::defaults() const
{
QVariantMap map;
@@ -148,8 +153,8 @@ void AnalyzerGlobalSettings::registerTool(IAnalyzerTool *tool)
}
-AnalyzerRunConfigurationAspect::AnalyzerRunConfigurationAspect(QObject *parent)
- : AnalyzerSettings(parent), m_useGlobalSettings(true)
+AnalyzerRunConfigurationAspect::AnalyzerRunConfigurationAspect()
+ : AnalyzerSettings((QObject *)0), m_useGlobalSettings(true)
{
QList<IAnalyzerTool*> tools = AnalyzerManager::tools();
// add sub configs
@@ -163,6 +168,19 @@ AnalyzerRunConfigurationAspect::AnalyzerRunConfigurationAspect(QObject *parent)
resetCustomToGlobalSettings();
}
+AnalyzerRunConfigurationAspect::AnalyzerRunConfigurationAspect(AnalyzerRunConfigurationAspect *other)
+ : AnalyzerSettings(other), m_useGlobalSettings(other->m_useGlobalSettings)
+{
+
+ foreach (AbstractAnalyzerSubConfig *config, other->m_customConfigurations)
+ m_customConfigurations.append(config->clone());
+
+ if (m_useGlobalSettings)
+ m_subConfigs = AnalyzerGlobalSettings::instance()->subConfigs();
+ else
+ m_subConfigs = m_customConfigurations;
+}
+
AnalyzerRunConfigurationAspect::~AnalyzerRunConfigurationAspect()
{
qDeleteAll(m_customConfigurations);
diff --git a/src/plugins/analyzerbase/analyzersettings.h b/src/plugins/analyzerbase/analyzersettings.h
index 415c3e9cd2..1b7c3eb3c2 100644
--- a/src/plugins/analyzerbase/analyzersettings.h
+++ b/src/plugins/analyzerbase/analyzersettings.h
@@ -78,6 +78,8 @@ public:
virtual QString displayName() const = 0;
/// create a configuration widget for this configuration
virtual QWidget *createConfigWidget(QWidget *parent) = 0;
+ /// clones s AbstractAnalyzerSubConfig
+ virtual AbstractAnalyzerSubConfig *clone() = 0;
};
/**
@@ -115,6 +117,7 @@ protected:
void fromMap(const QVariantMap &map, QList<AbstractAnalyzerSubConfig *> *subConfigs);
AnalyzerSettings(QObject *parent);
+ AnalyzerSettings(AnalyzerSettings *other);
QList<AbstractAnalyzerSubConfig *> m_subConfigs;
};
@@ -162,7 +165,8 @@ class ANALYZER_EXPORT AnalyzerRunConfigurationAspect
Q_OBJECT
public:
- AnalyzerRunConfigurationAspect(QObject *parent = 0);
+ AnalyzerRunConfigurationAspect();
+ AnalyzerRunConfigurationAspect(AnalyzerRunConfigurationAspect *other);
~AnalyzerRunConfigurationAspect();
QString displayName() const;
diff --git a/src/plugins/analyzerbase/ianalyzertool.cpp b/src/plugins/analyzerbase/ianalyzertool.cpp
index 8ce961c691..2f98593339 100644
--- a/src/plugins/analyzerbase/ianalyzertool.cpp
+++ b/src/plugins/analyzerbase/ianalyzertool.cpp
@@ -42,8 +42,8 @@ IAnalyzerTool::IAnalyzerTool(QObject *parent)
Id IAnalyzerTool::defaultMenuGroup(StartMode mode)
{
if (mode == StartRemote)
- return Constants::G_ANALYZER_REMOTE_TOOLS;
- return Constants::G_ANALYZER_TOOLS;
+ return Id(Constants::G_ANALYZER_REMOTE_TOOLS);
+ return Id(Constants::G_ANALYZER_TOOLS);
}
Id IAnalyzerTool::defaultActionId(const IAnalyzerTool *tool, StartMode mode)
@@ -51,11 +51,11 @@ Id IAnalyzerTool::defaultActionId(const IAnalyzerTool *tool, StartMode mode)
Id id = tool->id();
switch (mode) {
case StartLocal:
- return Id(QByteArray("Analyzer." + id.name() + ".Local").data());
+ return Id(QByteArray("Analyzer." + id.name() + ".Local"));
case StartRemote:
- return Id(QByteArray("Analyzer." + id.name() + ".Remote").data());
+ return Id(QByteArray("Analyzer." + id.name() + ".Remote"));
case StartQml:
- return Id(QByteArray("Analyzer." + id.name() + ".Qml").data());
+ return Id(QByteArray("Analyzer." + id.name() + ".Qml"));
}
return Id();
}