diff options
Diffstat (limited to 'src/plugins/analyzerbase')
-rw-r--r-- | src/plugins/analyzerbase/analyzerbase.qbs | 22 | ||||
-rw-r--r-- | src/plugins/analyzerbase/analyzermanager.cpp | 8 | ||||
-rw-r--r-- | src/plugins/analyzerbase/analyzerruncontrolfactory.cpp | 8 | ||||
-rw-r--r-- | src/plugins/analyzerbase/analyzerruncontrolfactory.h | 1 | ||||
-rw-r--r-- | src/plugins/analyzerbase/analyzersettings.cpp | 22 | ||||
-rw-r--r-- | src/plugins/analyzerbase/analyzersettings.h | 6 | ||||
-rw-r--r-- | src/plugins/analyzerbase/ianalyzertool.cpp | 10 |
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(); } |