// For license of this file, see /LICENSE.md. #ifndef EXTERNALTOOL_H #define EXTERNALTOOL_H #include #include class ExternalTool { public: explicit ExternalTool() = default; ExternalTool(const ExternalTool& other); explicit ExternalTool(QString executable, QString parameters); QString toString(); QString executable() const; QString parameters() const; bool run(const QString& target); public: static ExternalTool fromString(const QString& str); static QList toolsFromSettings(); static void setToolsToSettings(QList& tools); private: QString m_executable; QString m_parameters; void sanitizeParameters(); }; Q_DECLARE_METATYPE(ExternalTool) #endif // EXTERNALTOOL_H