Make the ExternalTools classes accessible outside core

Change-Id: I225c22bc48b123fec4420761879382ea0a424029
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Christian Strømme
2022-02-21 20:01:40 +01:00
parent 679a7ba7ef
commit e45766cdc8
7 changed files with 20 additions and 34 deletions

View File

@@ -51,7 +51,6 @@ using namespace Utils;
using namespace Core::Internal;
namespace Core {
namespace Internal {
const char kExternalTool[] = "externaltool";
const char kId[] = "id";
@@ -331,7 +330,7 @@ static void localizedText(const QStringList &locales, QXmlStreamReader *reader,
}
} else {
if (*currentLocale < 0 && currentText->isEmpty()) {
*currentText = QCoreApplication::translate("Core::Internal::ExternalTool",
*currentText = QCoreApplication::translate("Core::ExternalTool",
reader->readElementText().toUtf8().constData(),
"");
} else {
@@ -721,6 +720,4 @@ void ExternalToolRunner::readStandardError()
m_processOutput.append(output);
}
} // namespace Internal
} // namespace Core

View File

@@ -25,6 +25,8 @@
#pragma once
#include <coreplugin/core_global.h>
#include <utils/environment.h>
#include <utils/fileutils.h>
#include <utils/id.h>
@@ -38,9 +40,8 @@
namespace Utils { class QtcProcess; }
namespace Core {
namespace Internal {
class ExternalTool : public QObject
class CORE_EXPORT ExternalTool : public QObject
{
Q_OBJECT
@@ -123,7 +124,7 @@ private:
QSharedPointer<ExternalTool> m_presetTool;
};
class ExternalToolRunner : public QObject
class CORE_EXPORT ExternalToolRunner : public QObject
{
Q_OBJECT
public:
@@ -158,7 +159,6 @@ private:
QString m_errorString;
};
} // Internal
} // Core
Q_DECLARE_METATYPE(Core::Internal::ExternalTool *)
Q_DECLARE_METATYPE(Core::ExternalTool *)

View File

@@ -61,13 +61,6 @@ static ExternalToolManager *m_instance = nullptr;
static ExternalToolManagerPrivate *d = nullptr;
static void writeSettings();
static void readSettings(const QMap<QString, ExternalTool *> &tools,
QMap<QString, QList<ExternalTool*> > *categoryPriorityMap);
static void parseDirectory(const QString &directory,
QMap<QString, QMultiMap<int, ExternalTool*> > *categoryMenus,
QMap<QString, ExternalTool *> *tools,
bool isPreset = false);
ExternalToolManager::ExternalToolManager()
: QObject(ICore::instance())
@@ -120,7 +113,7 @@ ExternalToolManager *ExternalToolManager::instance()
return m_instance;
}
static void parseDirectory(const QString &directory,
void ExternalToolManager::parseDirectory(const QString &directory,
QMap<QString, QMultiMap<int, ExternalTool*> > *categoryMenus,
QMap<QString, ExternalTool *> *tools,
bool isPreset)
@@ -254,7 +247,7 @@ void ExternalToolManager::setToolsByCategory(const QMap<QString, QList<ExternalT
mexternaltools->menu()->addAction(d->m_configureAction);
}
static void readSettings(const QMap<QString, ExternalTool *> &tools,
void ExternalToolManager::readSettings(const QMap<QString, ExternalTool *> &tools,
QMap<QString, QList<ExternalTool *> > *categoryMap)
{
QSettings *settings = ICore::settings();

View File

@@ -34,7 +34,7 @@
namespace Core {
namespace Internal { class ExternalTool; }
class ExternalTool;
class CORE_EXPORT ExternalToolManager : public QObject
{
@@ -45,10 +45,17 @@ public:
~ExternalToolManager() override;
static ExternalToolManager *instance();
static QMap<QString, QList<Internal::ExternalTool *> > toolsByCategory();
static QMap<QString, Internal::ExternalTool *> toolsById();
static void setToolsByCategory(const QMap<QString, QList<Internal::ExternalTool *> > &tools);
static QMap<QString, QList<ExternalTool *> > toolsByCategory();
static QMap<QString, ExternalTool *> toolsById();
static void setToolsByCategory(const QMap<QString, QList<ExternalTool *> > &tools);
static void emitReplaceSelectionRequested(const QString &output);
static void readSettings(const QMap<QString, ExternalTool *> &tools,
QMap<QString, QList<ExternalTool*> > *categoryPriorityMap);
static void parseDirectory(const QString &directory,
QMap<QString, QMultiMap<int, ExternalTool*> > *categoryMenus,
QMap<QString, ExternalTool *> *tools,
bool isPreset = false);
signals:
void replaceSelectionRequested(const QString &text);

View File

@@ -2,6 +2,4 @@ add_qtc_test(tst_externaltooltest
DEPENDS Core app_version
SOURCES
tst_externaltooltest.cpp
"${PROJECT_SOURCE_DIR}/src/plugins/coreplugin/externaltool.cpp"
"${PROJECT_SOURCE_DIR}/src/plugins/coreplugin/externaltool.h"
)

View File

@@ -5,15 +5,6 @@ QtcAutotest {
Depends { name: "Core" }
Depends { name: "app_version_header" }
Group {
name: "Duplicated sources from Core plugin" // Ewww. But the .pro file does the same.
prefix: project.ide_source_tree + "/src/plugins/coreplugin/"
files: [
"externaltool.cpp",
"externaltool.h"
]
}
Group {
name: "Test sources"
files: "tst_externaltooltest.cpp"

View File

@@ -28,7 +28,7 @@
#include <coreplugin/externaltool.h>
using namespace Core::Internal;
using namespace Core;
using namespace Utils;
static const char TEST_XML1[] =