// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #pragma once #include "core_global.h" #include #include #include #include namespace Core { class ExternalTool; class CORE_EXPORT ExternalToolManager : public QObject { Q_OBJECT public: ExternalToolManager(); ~ExternalToolManager() override; static ExternalToolManager *instance(); static QMap > toolsByCategory(); static QMap toolsById(); static void setToolsByCategory(const QMap > &tools); static void emitReplaceSelectionRequested(const QString &output); static void readSettings(const QMap &tools, QMap > *categoryPriorityMap); static void parseDirectory(const QString &directory, QMap > *categoryMenus, QMap *tools, bool isPreset = false); signals: void replaceSelectionRequested(const QString &text); }; } // namespace Core