From b9afd77e9611652d2acda2dcdc5dac065317abca Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 26 Aug 2020 15:11:40 +0200 Subject: [PATCH] iOS: Inline IosDsymBuildStepWidget Change-Id: Ie14377dd5057d7def2366f0110838626a2f4ea29 Reviewed-by: Eike Ziller --- src/plugins/ios/CMakeLists.txt | 1 - src/plugins/ios/ios.pro | 1 - src/plugins/ios/ios.qbs | 1 - src/plugins/ios/iosdsymbuildstep.cpp | 134 ++++++++++++-------------- src/plugins/ios/iosdsymbuildstep.h | 24 ----- src/plugins/ios/iospresetbuildstep.ui | 70 -------------- 6 files changed, 64 insertions(+), 167 deletions(-) delete mode 100644 src/plugins/ios/iospresetbuildstep.ui diff --git a/src/plugins/ios/CMakeLists.txt b/src/plugins/ios/CMakeLists.txt index 496c5ae2037..0d12422a760 100644 --- a/src/plugins/ios/CMakeLists.txt +++ b/src/plugins/ios/CMakeLists.txt @@ -12,7 +12,6 @@ add_qtc_plugin(Ios iosdevice.cpp iosdevice.h iosdsymbuildstep.cpp iosdsymbuildstep.h iosplugin.cpp iosplugin.h - iospresetbuildstep.ui iosprobe.cpp iosprobe.h iosqtversion.cpp iosqtversion.h iosrunconfiguration.cpp iosrunconfiguration.h diff --git a/src/plugins/ios/ios.pro b/src/plugins/ios/ios.pro index 5a6d153253e..3a425a866a7 100644 --- a/src/plugins/ios/ios.pro +++ b/src/plugins/ios/ios.pro @@ -53,7 +53,6 @@ SOURCES += \ FORMS += \ iossettingswidget.ui \ - iospresetbuildstep.ui \ createsimulatordialog.ui \ simulatoroperationdialog.ui diff --git a/src/plugins/ios/ios.qbs b/src/plugins/ios/ios.qbs index 22de033f543..cb5936237cc 100644 --- a/src/plugins/ios/ios.qbs +++ b/src/plugins/ios/ios.qbs @@ -33,7 +33,6 @@ QtcPlugin { "iosdsymbuildstep.h", "iosplugin.cpp", "iosplugin.h", - "iospresetbuildstep.ui", "iosprobe.cpp", "iosprobe.h", "iosqtversion.cpp", diff --git a/src/plugins/ios/iosdsymbuildstep.cpp b/src/plugins/ios/iosdsymbuildstep.cpp index d0f8aa0fd9f..f9ed69b6818 100644 --- a/src/plugins/ios/iosdsymbuildstep.cpp +++ b/src/plugins/ios/iosdsymbuildstep.cpp @@ -26,7 +26,6 @@ #include "iosdsymbuildstep.h" #include "iosconstants.h" -#include "ui_iospresetbuildstep.h" #include "iosconfigurations.h" #include "iosrunconfiguration.h" @@ -47,6 +46,12 @@ #include #include +#include +#include +#include +#include +#include + using namespace Core; using namespace ProjectExplorer; using namespace Utils; @@ -178,11 +183,6 @@ bool IosDsymBuildStep::isDefault() const return arguments() == defaultArguments() && command() == defaultCommand(); } -void IosDsymBuildStep::doRun() -{ - AbstractProcessStep::doRun(); -} - void IosDsymBuildStep::setupOutputFormatter(OutputFormatter *formatter) { formatter->setLineParsers(target()->kit()->createOutputParsers()); @@ -190,11 +190,6 @@ void IosDsymBuildStep::setupOutputFormatter(OutputFormatter *formatter) AbstractProcessStep::setupOutputFormatter(formatter); } -BuildStepConfigWidget *IosDsymBuildStep::createConfigWidget() -{ - return new IosDsymBuildStepConfigWidget(this); -} - void IosDsymBuildStep::setArguments(const QStringList &args) { if (arguments() == args) @@ -215,73 +210,72 @@ QStringList IosDsymBuildStep::arguments() const return m_arguments; } -// -// IosDsymBuildStepConfigWidget -// -IosDsymBuildStepConfigWidget::IosDsymBuildStepConfigWidget(IosDsymBuildStep *buildStep) - : BuildStepConfigWidget(buildStep), m_buildStep(buildStep) +BuildStepConfigWidget *IosDsymBuildStep::createConfigWidget() { - m_ui = new Ui::IosPresetBuildStep; - m_ui->setupUi(this); + auto widget = new BuildStepConfigWidget(this); + + auto commandLabel = new QLabel(tr("Command:"), widget); + + auto commandLineEdit = new QLineEdit(widget); + commandLineEdit->setText(command().toString()); + + auto argumentsTextEdit = new QPlainTextEdit(widget); + argumentsTextEdit->setPlainText(Utils::QtcProcess::joinArgs(arguments())); + + auto argumentsLabel = new QLabel(tr("Arguments:"), widget); + + auto resetDefaultsButton = new QPushButton(tr("Reset to Default"), widget); + resetDefaultsButton->setLayoutDirection(Qt::RightToLeft); + resetDefaultsButton->setEnabled(!isDefault()); + + auto gridLayout = new QGridLayout(widget); + gridLayout->addWidget(commandLabel, 0, 0, 1, 1); + gridLayout->addWidget(commandLineEdit, 0, 2, 1, 1); + gridLayout->addWidget(argumentsLabel, 1, 0, 1, 1); + gridLayout->addWidget(argumentsTextEdit, 1, 2, 2, 1); + gridLayout->addWidget(resetDefaultsButton, 2, 3, 1, 1); + + auto updateDetails = [this, widget] { + ProcessParameters param; + setupProcessParameters(¶m); + widget->setSummaryText(param.summary(displayName())); + }; - m_ui->commandLineEdit->setText(m_buildStep->command().toString()); - m_ui->argumentsTextEdit->setPlainText(Utils::QtcProcess::joinArgs( - m_buildStep->arguments())); - m_ui->resetDefaultsButton->setEnabled(!m_buildStep->isDefault()); updateDetails(); - connect(m_ui->argumentsTextEdit, &QPlainTextEdit::textChanged, - this, &IosDsymBuildStepConfigWidget::argumentsChanged); - connect(m_ui->commandLineEdit, &QLineEdit::editingFinished, - this, &IosDsymBuildStepConfigWidget::commandChanged); - connect(m_ui->resetDefaultsButton, &QAbstractButton::clicked, - this, &IosDsymBuildStepConfigWidget::resetDefaults); + connect(argumentsTextEdit, &QPlainTextEdit::textChanged, this, + [this, argumentsTextEdit, resetDefaultsButton, updateDetails] { + setArguments(Utils::QtcProcess::splitArgs(argumentsTextEdit->toPlainText())); + resetDefaultsButton->setEnabled(!isDefault()); + updateDetails(); + }); + + connect(commandLineEdit, &QLineEdit::editingFinished, this, + [this, commandLineEdit, resetDefaultsButton, updateDetails] { + setCommand(FilePath::fromString(commandLineEdit->text())); + resetDefaultsButton->setEnabled(!isDefault()); + updateDetails(); + }); + + connect(resetDefaultsButton, &QAbstractButton::clicked, this, + [this, commandLineEdit, resetDefaultsButton, argumentsTextEdit, updateDetails] { + setCommand(defaultCommand()); + setArguments(defaultArguments()); + commandLineEdit->setText(command().toString()); + argumentsTextEdit->setPlainText(Utils::QtcProcess::joinArgs(arguments())); + resetDefaultsButton->setEnabled(!isDefault()); + updateDetails(); + }); connect(ProjectExplorerPlugin::instance(), &ProjectExplorerPlugin::settingsChanged, - this, &IosDsymBuildStepConfigWidget::updateDetails); - connect(m_buildStep->target(), &Target::kitChanged, - this, &IosDsymBuildStepConfigWidget::updateDetails); - connect(m_buildStep->buildConfiguration(), &BuildConfiguration::enabledChanged, - this, &IosDsymBuildStepConfigWidget::updateDetails); -} + this, updateDetails); + connect(target(), &Target::kitChanged, + this, updateDetails); + connect(buildConfiguration(), &BuildConfiguration::enabledChanged, + this, updateDetails); -IosDsymBuildStepConfigWidget::~IosDsymBuildStepConfigWidget() -{ - delete m_ui; -} - -void IosDsymBuildStepConfigWidget::updateDetails() -{ - ProcessParameters param; - m_buildStep->setupProcessParameters(¶m); - setSummaryText(param.summary(displayName())); -} - -void IosDsymBuildStepConfigWidget::commandChanged() -{ - m_buildStep->setCommand(FilePath::fromString(m_ui->commandLineEdit->text())); - m_ui->resetDefaultsButton->setEnabled(!m_buildStep->isDefault()); - updateDetails(); -} - -void IosDsymBuildStepConfigWidget::argumentsChanged() -{ - m_buildStep->setArguments(Utils::QtcProcess::splitArgs( - m_ui->argumentsTextEdit->toPlainText())); - m_ui->resetDefaultsButton->setEnabled(!m_buildStep->isDefault()); - updateDetails(); -} - -void IosDsymBuildStepConfigWidget::resetDefaults() -{ - m_buildStep->setCommand(m_buildStep->defaultCommand()); - m_buildStep->setArguments(m_buildStep->defaultArguments()); - m_ui->commandLineEdit->setText(m_buildStep->command().toString()); - m_ui->argumentsTextEdit->setPlainText(Utils::QtcProcess::joinArgs( - m_buildStep->arguments())); - m_ui->resetDefaultsButton->setEnabled(!m_buildStep->isDefault()); - updateDetails(); + return widget; } // diff --git a/src/plugins/ios/iosdsymbuildstep.h b/src/plugins/ios/iosdsymbuildstep.h index 4123f7faad7..7dabfbb8369 100644 --- a/src/plugins/ios/iosdsymbuildstep.h +++ b/src/plugins/ios/iosdsymbuildstep.h @@ -31,16 +31,11 @@ namespace Ios { namespace Internal { -namespace Ui { class IosPresetBuildStep; } - -class IosDsymBuildStepConfigWidget; class IosDsymBuildStep : public ProjectExplorer::AbstractProcessStep { Q_OBJECT - friend class IosDsymBuildStepConfigWidget; - public: IosDsymBuildStep(ProjectExplorer::BuildStepList *parent, Utils::Id id); @@ -55,7 +50,6 @@ public: private: bool init() override; - void doRun() override; void setupOutputFormatter(Utils::OutputFormatter *formatter) override; QVariantMap toMap() const override; bool fromMap(const QVariantMap &map) override; @@ -68,24 +62,6 @@ private: bool m_clean; }; -class IosDsymBuildStepConfigWidget : public ProjectExplorer::BuildStepConfigWidget -{ - Q_OBJECT - -public: - IosDsymBuildStepConfigWidget(IosDsymBuildStep *buildStep); - ~IosDsymBuildStepConfigWidget() override; - -private: - void commandChanged(); - void argumentsChanged(); - void resetDefaults(); - void updateDetails(); - - Ui::IosPresetBuildStep *m_ui; - IosDsymBuildStep *m_buildStep; -}; - class IosDsymBuildStepFactory : public ProjectExplorer::BuildStepFactory { public: diff --git a/src/plugins/ios/iospresetbuildstep.ui b/src/plugins/ios/iospresetbuildstep.ui deleted file mode 100644 index a6f9a40f231..00000000000 --- a/src/plugins/ios/iospresetbuildstep.ui +++ /dev/null @@ -1,70 +0,0 @@ - - - Ios::Internal::IosPresetBuildStep - - - - 0 - 0 - 756 - 133 - - - - - 0 - 0 - - - - - 0 - 0 - - - - - - - Qt::RightToLeft - - - Reset to Default - - - - - - - Command: - - - - - - - - - - Arguments: - - - - - - - - argumentsTextEdit - resetDefaultsButton - argumentsLabel - commandLabel - commandLineEdit - - - commandLineEdit - argumentsTextEdit - resetDefaultsButton - - - -