CMakePM: Refactor "Initial Parameters" as a tab bar item

Now we have "Initial Configuration" and "Current Configuration"
as tab bar buttons.

This way the UI can be shared between the two configuration states.

Task-number: QTCREATORBUG-26869
Change-Id: I8206032a2a5ac076629865057816edb99706f2ff
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
Cristian Adam
2021-12-28 21:42:29 +01:00
parent 6ece15f587
commit a0836a29c7
12 changed files with 457 additions and 122 deletions

View File

@@ -54,9 +54,10 @@ public:
CMakeConfig configurationFromCMake() const;
CMakeConfig configurationChanges() const;
QStringList configurationChangesArguments() const;
QStringList configurationChangesArguments(bool initialParameters = false) const;
QStringList initialCMakeArguments() const;
CMakeConfig initialCMakeConfiguration() const;
QString error() const;
QString warning() const;
@@ -78,6 +79,10 @@ public:
bool isMultiConfig() const;
void setIsMultiConfig(bool isMultiConfig);
QStringList additionalCMakeArguments() const;
void setAdditionalCMakeArguments(const QStringList &args);
void filterConfigArgumentsFromAdditionalCMakeArguments();
signals:
void errorOccurred(const QString &message);
void warningOccurred(const QString &message);
@@ -106,7 +111,6 @@ private:
void setError(const QString &message);
void setWarning(const QString &message);
CMakeConfig m_initialConfiguration;
QString m_error;
QString m_warning;
@@ -114,7 +118,6 @@ private:
CMakeConfig m_configurationChanges;
Internal::CMakeBuildSystem *m_buildSystem = nullptr;
QStringList m_extraCMakeArguments;
bool m_isMultiConfig = false;
friend class Internal::CMakeBuildSettingsWidget;
@@ -148,8 +151,25 @@ class InitialCMakeArgumentsAspect final : public Utils::StringAspect
{
Q_OBJECT
CMakeConfig m_cmakeConfiguration;
public:
InitialCMakeArgumentsAspect();
const CMakeConfig &cmakeConfiguration() const;
const QStringList allValues() const;
void setAllValues(const QString &values, QStringList &additionalArguments);
void setCMakeConfiguration(const CMakeConfig &config);
void fromMap(const QVariantMap &map) final;
void toMap(QVariantMap &map) const final;
};
class AdditionalCMakeArgumentsAspect final : public Utils::StringAspect
{
Q_OBJECT
public:
AdditionalCMakeArgumentsAspect();
};
class SourceDirectoryAspect final : public Utils::StringAspect