forked from qt-creator/qt-creator
ProjectExplorer: Move GCC config widgets out of header file
They are only used in one source file. Change-Id: I9a267be83156fb50c98da63fab165ef6123e7e59 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
@@ -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 <coreplugin/icore.h>
|
||||
@@ -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<QMetaObject::Connection> m_parentToolChainConnections;
|
||||
QComboBox *m_parentToolchainCombo = nullptr;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
using namespace Internal;
|
||||
|
||||
|
||||
@@ -26,21 +26,13 @@
|
||||
#pragma once
|
||||
|
||||
#include "toolchain.h"
|
||||
#include "toolchainconfigwidget.h"
|
||||
#include "abi.h"
|
||||
#include "abiwidget.h"
|
||||
|
||||
#include <QList>
|
||||
#include <QSet>
|
||||
|
||||
#include <functional>
|
||||
|
||||
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<QMetaObject::Connection> m_parentToolChainConnections;
|
||||
QComboBox *m_parentToolchainCombo = nullptr;
|
||||
};
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// ClangToolChainFactory
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "qnxconstants.h"
|
||||
#include "qnxutils.h"
|
||||
|
||||
#include <projectexplorer/abiwidget.h>
|
||||
#include <projectexplorer/projectexplorerconstants.h>
|
||||
#include <utils/algorithm.h>
|
||||
#include <utils/pathchooser.h>
|
||||
|
||||
@@ -27,6 +27,10 @@
|
||||
|
||||
#include <projectexplorer/gcctoolchain.h>
|
||||
#include <projectexplorer/gcctoolchainfactories.h>
|
||||
#include <projectexplorer/toolchainconfigwidget.h>
|
||||
|
||||
namespace ProjectExplorer { class AbiWidget; }
|
||||
namespace Utils { class PathChooser; }
|
||||
|
||||
namespace Qnx {
|
||||
namespace Internal {
|
||||
|
||||
Reference in New Issue
Block a user