forked from qt-creator/qt-creator
Qbs: Inline qbsinstallstepconfigwidget.ui
Prelimimary step towards aspectification. Change-Id: I3ce6e3ca3ecd3fbb858525a533202af2fd0e6ff5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -17,7 +17,6 @@ add_qtc_plugin(QbsProjectManager
|
|||||||
qbscleanstep.cpp qbscleanstep.h
|
qbscleanstep.cpp qbscleanstep.h
|
||||||
qbscleanstepconfigwidget.ui
|
qbscleanstepconfigwidget.ui
|
||||||
qbsinstallstep.cpp qbsinstallstep.h
|
qbsinstallstep.cpp qbsinstallstep.h
|
||||||
qbsinstallstepconfigwidget.ui
|
|
||||||
qbskitinformation.cpp qbskitinformation.h
|
qbskitinformation.cpp qbskitinformation.h
|
||||||
qbslogsink.cpp qbslogsink.h
|
qbslogsink.cpp qbslogsink.h
|
||||||
qbsnodes.cpp qbsnodes.h
|
qbsnodes.cpp qbsnodes.h
|
||||||
|
|||||||
@@ -30,8 +30,6 @@
|
|||||||
#include "qbsproject.h"
|
#include "qbsproject.h"
|
||||||
#include "qbsprojectmanagerconstants.h"
|
#include "qbsprojectmanagerconstants.h"
|
||||||
|
|
||||||
#include "ui_qbsinstallstepconfigwidget.h"
|
|
||||||
|
|
||||||
#include <coreplugin/icore.h>
|
#include <coreplugin/icore.h>
|
||||||
#include <projectexplorer/buildsteplist.h>
|
#include <projectexplorer/buildsteplist.h>
|
||||||
#include <projectexplorer/deployconfiguration.h>
|
#include <projectexplorer/deployconfiguration.h>
|
||||||
@@ -40,7 +38,14 @@
|
|||||||
#include <projectexplorer/target.h>
|
#include <projectexplorer/target.h>
|
||||||
#include <utils/qtcassert.h>
|
#include <utils/qtcassert.h>
|
||||||
|
|
||||||
|
#include <QCheckBox>
|
||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
|
#include <QFormLayout>
|
||||||
|
#include <QLabel>
|
||||||
|
#include <QPlainTextEdit>
|
||||||
|
#include <QSpacerItem>
|
||||||
|
|
||||||
|
using namespace ProjectExplorer;
|
||||||
|
|
||||||
// --------------------------------------------------------------------
|
// --------------------------------------------------------------------
|
||||||
// Constants:
|
// Constants:
|
||||||
@@ -53,6 +58,29 @@ static const char QBS_KEEP_GOING[] = "Qbs.DryKeepGoing";
|
|||||||
namespace QbsProjectManager {
|
namespace QbsProjectManager {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
|
class QbsInstallStepConfigWidget : public ProjectExplorer::BuildStepConfigWidget
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
QbsInstallStepConfigWidget(QbsInstallStep *step);
|
||||||
|
|
||||||
|
private:
|
||||||
|
void updateState();
|
||||||
|
|
||||||
|
void changeRemoveFirst(bool rf) { m_step->setRemoveFirst(rf); }
|
||||||
|
void changeDryRun(bool dr) { m_step->setDryRun(dr); }
|
||||||
|
void changeKeepGoing(bool kg) { m_step->setKeepGoing(kg); }
|
||||||
|
|
||||||
|
private:
|
||||||
|
QbsInstallStep *m_step;
|
||||||
|
bool m_ignoreChange;
|
||||||
|
|
||||||
|
QCheckBox *m_dryRunCheckBox;
|
||||||
|
QCheckBox *m_keepGoingCheckBox;
|
||||||
|
QCheckBox *m_removeFirstCheckBox;
|
||||||
|
QPlainTextEdit *m_commandLineTextEdit;
|
||||||
|
QLabel *m_installRootValueLabel;
|
||||||
|
};
|
||||||
|
|
||||||
// --------------------------------------------------------------------
|
// --------------------------------------------------------------------
|
||||||
// QbsInstallStep:
|
// QbsInstallStep:
|
||||||
// --------------------------------------------------------------------
|
// --------------------------------------------------------------------
|
||||||
@@ -248,60 +276,88 @@ QbsInstallStepConfigWidget::QbsInstallStepConfigWidget(QbsInstallStep *step) :
|
|||||||
|
|
||||||
setContentsMargins(0, 0, 0, 0);
|
setContentsMargins(0, 0, 0, 0);
|
||||||
|
|
||||||
auto project = static_cast<QbsProject *>(m_step->project());
|
auto installRootLabel = new QLabel(this);
|
||||||
|
|
||||||
m_ui = new Ui::QbsInstallStepConfigWidget;
|
auto flagsLabel = new QLabel(this);
|
||||||
m_ui->setupUi(this);
|
|
||||||
|
|
||||||
connect(m_ui->removeFirstCheckBox, &QAbstractButton::toggled,
|
m_dryRunCheckBox = new QCheckBox(this);
|
||||||
|
m_keepGoingCheckBox = new QCheckBox(this);
|
||||||
|
m_removeFirstCheckBox = new QCheckBox(this);
|
||||||
|
|
||||||
|
auto horizontalLayout = new QHBoxLayout();
|
||||||
|
horizontalLayout->addWidget(m_dryRunCheckBox);
|
||||||
|
horizontalLayout->addWidget(m_keepGoingCheckBox);
|
||||||
|
horizontalLayout->addWidget(m_removeFirstCheckBox);
|
||||||
|
horizontalLayout->addStretch(1);
|
||||||
|
|
||||||
|
auto commandLineKeyLabel = new QLabel(this);
|
||||||
|
QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Preferred);
|
||||||
|
sizePolicy.setHorizontalStretch(0);
|
||||||
|
sizePolicy.setVerticalStretch(0);
|
||||||
|
sizePolicy.setHeightForWidth(commandLineKeyLabel->sizePolicy().hasHeightForWidth());
|
||||||
|
commandLineKeyLabel->setSizePolicy(sizePolicy);
|
||||||
|
commandLineKeyLabel->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
|
||||||
|
|
||||||
|
m_commandLineTextEdit = new QPlainTextEdit(this);
|
||||||
|
QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Preferred);
|
||||||
|
sizePolicy1.setHorizontalStretch(0);
|
||||||
|
sizePolicy1.setVerticalStretch(0);
|
||||||
|
sizePolicy1.setHeightForWidth(m_commandLineTextEdit->sizePolicy().hasHeightForWidth());
|
||||||
|
m_commandLineTextEdit->setSizePolicy(sizePolicy1);
|
||||||
|
m_commandLineTextEdit->setReadOnly(true);
|
||||||
|
m_commandLineTextEdit->setTextInteractionFlags(Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse);
|
||||||
|
|
||||||
|
m_installRootValueLabel = new QLabel(this);
|
||||||
|
|
||||||
|
auto formLayout = new QFormLayout(this);
|
||||||
|
formLayout->setWidget(0, QFormLayout::LabelRole, installRootLabel);
|
||||||
|
formLayout->setWidget(0, QFormLayout::FieldRole, m_installRootValueLabel);
|
||||||
|
formLayout->setWidget(1, QFormLayout::LabelRole, flagsLabel);
|
||||||
|
formLayout->setLayout(1, QFormLayout::FieldRole, horizontalLayout);
|
||||||
|
formLayout->setWidget(2, QFormLayout::LabelRole, commandLineKeyLabel);
|
||||||
|
formLayout->setWidget(2, QFormLayout::FieldRole, m_commandLineTextEdit);
|
||||||
|
|
||||||
|
QWidget::setTabOrder(m_dryRunCheckBox, m_keepGoingCheckBox);
|
||||||
|
QWidget::setTabOrder(m_keepGoingCheckBox, m_removeFirstCheckBox);
|
||||||
|
QWidget::setTabOrder(m_removeFirstCheckBox, m_commandLineTextEdit);
|
||||||
|
|
||||||
|
installRootLabel->setText(QbsInstallStep::tr("Install root:"));
|
||||||
|
flagsLabel->setText(QbsInstallStep::tr("Flags:"));
|
||||||
|
m_dryRunCheckBox->setText(QbsInstallStep::tr("Dry run"));
|
||||||
|
m_keepGoingCheckBox->setText(QbsInstallStep::tr("Keep going"));
|
||||||
|
m_removeFirstCheckBox->setText(QbsInstallStep::tr("Remove first"));
|
||||||
|
commandLineKeyLabel->setText(QbsInstallStep::tr("Equivalent command line:"));
|
||||||
|
m_installRootValueLabel->setText(QString());
|
||||||
|
|
||||||
|
connect(m_removeFirstCheckBox, &QAbstractButton::toggled,
|
||||||
this, &QbsInstallStepConfigWidget::changeRemoveFirst);
|
this, &QbsInstallStepConfigWidget::changeRemoveFirst);
|
||||||
connect(m_ui->dryRunCheckBox, &QAbstractButton::toggled,
|
connect(m_dryRunCheckBox, &QAbstractButton::toggled,
|
||||||
this, &QbsInstallStepConfigWidget::changeDryRun);
|
this, &QbsInstallStepConfigWidget::changeDryRun);
|
||||||
connect(m_ui->keepGoingCheckBox, &QAbstractButton::toggled,
|
connect(m_keepGoingCheckBox, &QAbstractButton::toggled,
|
||||||
this, &QbsInstallStepConfigWidget::changeKeepGoing);
|
this, &QbsInstallStepConfigWidget::changeKeepGoing);
|
||||||
|
|
||||||
connect(project, &ProjectExplorer::Project::parsingFinished,
|
connect(m_step->project(), &Project::parsingFinished,
|
||||||
this, &QbsInstallStepConfigWidget::updateState);
|
this, &QbsInstallStepConfigWidget::updateState);
|
||||||
|
|
||||||
updateState();
|
updateState();
|
||||||
}
|
}
|
||||||
|
|
||||||
QbsInstallStepConfigWidget::~QbsInstallStepConfigWidget()
|
|
||||||
{
|
|
||||||
delete m_ui;
|
|
||||||
}
|
|
||||||
|
|
||||||
void QbsInstallStepConfigWidget::updateState()
|
void QbsInstallStepConfigWidget::updateState()
|
||||||
{
|
{
|
||||||
if (!m_ignoreChange) {
|
if (!m_ignoreChange) {
|
||||||
m_ui->installRootValueLabel->setText(m_step->installRoot());
|
m_installRootValueLabel->setText(m_step->installRoot());
|
||||||
m_ui->removeFirstCheckBox->setChecked(m_step->removeFirst());
|
m_removeFirstCheckBox->setChecked(m_step->removeFirst());
|
||||||
m_ui->dryRunCheckBox->setChecked(m_step->dryRun());
|
m_dryRunCheckBox->setChecked(m_step->dryRun());
|
||||||
m_ui->keepGoingCheckBox->setChecked(m_step->keepGoing());
|
m_keepGoingCheckBox->setChecked(m_step->keepGoing());
|
||||||
}
|
}
|
||||||
|
|
||||||
QString command = m_step->buildConfig()->equivalentCommandLine(m_step);
|
QString command = m_step->buildConfig()->equivalentCommandLine(m_step);
|
||||||
|
|
||||||
m_ui->commandLineTextEdit->setPlainText(command);
|
m_commandLineTextEdit->setPlainText(command);
|
||||||
|
|
||||||
setSummaryText(tr("<b>Qbs:</b> %1").arg(command));
|
setSummaryText(tr("<b>Qbs:</b> %1").arg(command));
|
||||||
}
|
}
|
||||||
|
|
||||||
void QbsInstallStepConfigWidget::changeRemoveFirst(bool rf)
|
|
||||||
{
|
|
||||||
m_step->setRemoveFirst(rf);
|
|
||||||
}
|
|
||||||
|
|
||||||
void QbsInstallStepConfigWidget::changeDryRun(bool dr)
|
|
||||||
{
|
|
||||||
m_step->setDryRun(dr);
|
|
||||||
}
|
|
||||||
|
|
||||||
void QbsInstallStepConfigWidget::changeKeepGoing(bool kg)
|
|
||||||
{
|
|
||||||
m_step->setKeepGoing(kg);
|
|
||||||
}
|
|
||||||
|
|
||||||
// --------------------------------------------------------------------
|
// --------------------------------------------------------------------
|
||||||
// QbsInstallStepFactory:
|
// QbsInstallStepFactory:
|
||||||
// --------------------------------------------------------------------
|
// --------------------------------------------------------------------
|
||||||
|
|||||||
@@ -35,8 +35,6 @@
|
|||||||
namespace QbsProjectManager {
|
namespace QbsProjectManager {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
class QbsInstallStepConfigWidget;
|
|
||||||
|
|
||||||
class QbsInstallStep : public ProjectExplorer::BuildStep
|
class QbsInstallStep : public ProjectExplorer::BuildStep
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@@ -86,29 +84,6 @@ private:
|
|||||||
friend class QbsInstallStepConfigWidget;
|
friend class QbsInstallStepConfigWidget;
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace Ui { class QbsInstallStepConfigWidget; }
|
|
||||||
|
|
||||||
class QbsInstallStepConfigWidget : public ProjectExplorer::BuildStepConfigWidget
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
public:
|
|
||||||
QbsInstallStepConfigWidget(QbsInstallStep *step);
|
|
||||||
~QbsInstallStepConfigWidget() override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
void updateState();
|
|
||||||
|
|
||||||
void changeRemoveFirst(bool rf);
|
|
||||||
void changeDryRun(bool dr);
|
|
||||||
void changeKeepGoing(bool kg);
|
|
||||||
|
|
||||||
private:
|
|
||||||
Ui::QbsInstallStepConfigWidget *m_ui;
|
|
||||||
|
|
||||||
QbsInstallStep *m_step;
|
|
||||||
bool m_ignoreChange;
|
|
||||||
};
|
|
||||||
|
|
||||||
class QbsInstallStepFactory : public ProjectExplorer::BuildStepFactory
|
class QbsInstallStepFactory : public ProjectExplorer::BuildStepFactory
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -1,118 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>QbsProjectManager::Internal::QbsInstallStepConfigWidget</class>
|
|
||||||
<widget class="QWidget" name="QbsProjectManager::Internal::QbsInstallStepConfigWidget">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>474</width>
|
|
||||||
<height>146</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<layout class="QFormLayout" name="formLayout">
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="installRootLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>Install root:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="flagsLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>Flags:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="dryRunCheckBox">
|
|
||||||
<property name="text">
|
|
||||||
<string>Dry run</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="keepGoingCheckBox">
|
|
||||||
<property name="text">
|
|
||||||
<string>Keep going</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="removeFirstCheckBox">
|
|
||||||
<property name="text">
|
|
||||||
<string>Remove first</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer name="horizontalSpacer">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
|
||||||
<widget class="QLabel" name="commandLineKeyLabel">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Equivalent command line:</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
|
||||||
<widget class="QPlainTextEdit" name="commandLineTextEdit">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="readOnly">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="plainText">
|
|
||||||
<string notr="true"/>
|
|
||||||
</property>
|
|
||||||
<property name="textInteractionFlags">
|
|
||||||
<set>Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QLabel" name="installRootValueLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<tabstops>
|
|
||||||
<tabstop>dryRunCheckBox</tabstop>
|
|
||||||
<tabstop>keepGoingCheckBox</tabstop>
|
|
||||||
<tabstop>removeFirstCheckBox</tabstop>
|
|
||||||
<tabstop>commandLineTextEdit</tabstop>
|
|
||||||
</tabstops>
|
|
||||||
<resources/>
|
|
||||||
<connections/>
|
|
||||||
</ui>
|
|
||||||
@@ -66,7 +66,6 @@ FORMS = \
|
|||||||
customqbspropertiesdialog.ui \
|
customqbspropertiesdialog.ui \
|
||||||
qbsbuildstepconfigwidget.ui \
|
qbsbuildstepconfigwidget.ui \
|
||||||
qbscleanstepconfigwidget.ui \
|
qbscleanstepconfigwidget.ui \
|
||||||
qbsinstallstepconfigwidget.ui \
|
|
||||||
qbsprofilessettingswidget.ui
|
qbsprofilessettingswidget.ui
|
||||||
|
|
||||||
RESOURCES += \
|
RESOURCES += \
|
||||||
|
|||||||
@@ -74,7 +74,6 @@ QtcPlugin {
|
|||||||
"qbscleanstepconfigwidget.ui",
|
"qbscleanstepconfigwidget.ui",
|
||||||
"qbsinstallstep.cpp",
|
"qbsinstallstep.cpp",
|
||||||
"qbsinstallstep.h",
|
"qbsinstallstep.h",
|
||||||
"qbsinstallstepconfigwidget.ui",
|
|
||||||
"qbskitinformation.cpp",
|
"qbskitinformation.cpp",
|
||||||
"qbskitinformation.h",
|
"qbskitinformation.h",
|
||||||
"qbslogsink.cpp",
|
"qbslogsink.cpp",
|
||||||
|
|||||||
Reference in New Issue
Block a user