diff --git a/src/plugins/projectexplorer/gcctoolchain.cpp b/src/plugins/projectexplorer/gcctoolchain.cpp index 3869ec2fe11..5e5ea06f21c 100644 --- a/src/plugins/projectexplorer/gcctoolchain.cpp +++ b/src/plugins/projectexplorer/gcctoolchain.cpp @@ -24,11 +24,14 @@ ****************************************************************************/ #include "gcctoolchain.h" + +#include "abiwidget.h" #include "clangparser.h" #include "gcctoolchainfactories.h" #include "gccparser.h" #include "linuxiccparser.h" #include "projectmacro.h" +#include "toolchainconfigwidget.h" #include "toolchainmanager.h" #include @@ -63,6 +66,59 @@ static Q_LOGGING_CATEGORY(gccLog, "qtc.projectexplorer.toolchain.gcc", QtWarning using namespace Utils; namespace ProjectExplorer { +namespace Internal { + +class TargetTripleWidget; +class GccToolChainConfigWidget : public ToolChainConfigWidget +{ + Q_OBJECT + +public: + explicit GccToolChainConfigWidget(GccToolChain *tc); + +protected: + void handleCompilerCommandChange(); + void handlePlatformCodeGenFlagsChange(); + void handlePlatformLinkerFlagsChange(); + + void applyImpl() override; + void discardImpl() override { setFromToolchain(); } + bool isDirtyImpl() const override; + void makeReadOnlyImpl() override; + + void setFromToolchain(); + + AbiWidget *m_abiWidget; + +private: + Utils::PathChooser *m_compilerCommand; + QLineEdit *m_platformCodeGenFlagsLineEdit; + QLineEdit *m_platformLinkerFlagsLineEdit; + TargetTripleWidget * const m_targetTripleWidget; + + bool m_isReadOnly = false; + ProjectExplorer::Macros m_macros; +}; + +class ClangToolChainConfigWidget : public GccToolChainConfigWidget +{ + Q_OBJECT +public: + explicit ClangToolChainConfigWidget(ClangToolChain *tc); + +private: + void applyImpl() override; + void discardImpl() override { setFromClangToolchain(); } + bool isDirtyImpl() const override; + void makeReadOnlyImpl() override; + + void setFromClangToolchain(); + void updateParentToolChainComboBox(); + QList m_parentToolChainConnections; + QComboBox *m_parentToolchainCombo = nullptr; +}; + +} // namespace Internal using namespace Internal; diff --git a/src/plugins/projectexplorer/gcctoolchainfactories.h b/src/plugins/projectexplorer/gcctoolchainfactories.h index efc75677c47..0b2e4a0e631 100644 --- a/src/plugins/projectexplorer/gcctoolchainfactories.h +++ b/src/plugins/projectexplorer/gcctoolchainfactories.h @@ -26,21 +26,13 @@ #pragma once #include "toolchain.h" -#include "toolchainconfigwidget.h" #include "abi.h" -#include "abiwidget.h" #include #include #include -QT_BEGIN_NAMESPACE -class QComboBox; -QT_END_NAMESPACE - -namespace Utils { class PathChooser; } - namespace ProjectExplorer { class ClangToolChain; class GccToolChain; @@ -67,65 +59,6 @@ protected: const ToolchainChecker &checker = {}) const; }; -// -------------------------------------------------------------------------- -// GccToolChainConfigWidget -// -------------------------------------------------------------------------- - -class TargetTripleWidget; - -class GccToolChainConfigWidget : public ToolChainConfigWidget -{ - Q_OBJECT - -public: - explicit GccToolChainConfigWidget(GccToolChain *tc); - -protected: - void handleCompilerCommandChange(); - void handlePlatformCodeGenFlagsChange(); - void handlePlatformLinkerFlagsChange(); - - void applyImpl() override; - void discardImpl() override { setFromToolchain(); } - bool isDirtyImpl() const override; - void makeReadOnlyImpl() override; - - void setFromToolchain(); - - AbiWidget *m_abiWidget; - -private: - Utils::PathChooser *m_compilerCommand; - QLineEdit *m_platformCodeGenFlagsLineEdit; - QLineEdit *m_platformLinkerFlagsLineEdit; - TargetTripleWidget * const m_targetTripleWidget; - - bool m_isReadOnly = false; - ProjectExplorer::Macros m_macros; -}; - -// -------------------------------------------------------------------------- -// ClangToolChainConfigWidget -// -------------------------------------------------------------------------- - -class ClangToolChainConfigWidget : public GccToolChainConfigWidget -{ - Q_OBJECT -public: - explicit ClangToolChainConfigWidget(ClangToolChain *tc); - -private: - void applyImpl() override; - void discardImpl() override { setFromClangToolchain(); } - bool isDirtyImpl() const override; - void makeReadOnlyImpl() override; - - void setFromClangToolchain(); - void updateParentToolChainComboBox(); - QList m_parentToolChainConnections; - QComboBox *m_parentToolchainCombo = nullptr; -}; - // -------------------------------------------------------------------------- // ClangToolChainFactory // -------------------------------------------------------------------------- diff --git a/src/plugins/qnx/qnxtoolchain.cpp b/src/plugins/qnx/qnxtoolchain.cpp index d8d908a0181..1503552a8ee 100644 --- a/src/plugins/qnx/qnxtoolchain.cpp +++ b/src/plugins/qnx/qnxtoolchain.cpp @@ -29,6 +29,7 @@ #include "qnxconstants.h" #include "qnxutils.h" +#include #include #include #include diff --git a/src/plugins/qnx/qnxtoolchain.h b/src/plugins/qnx/qnxtoolchain.h index 137a9dc779e..53142d95022 100644 --- a/src/plugins/qnx/qnxtoolchain.h +++ b/src/plugins/qnx/qnxtoolchain.h @@ -27,6 +27,10 @@ #include #include +#include + +namespace ProjectExplorer { class AbiWidget; } +namespace Utils { class PathChooser; } namespace Qnx { namespace Internal {