forked from qt-creator/qt-creator
Meson: Start aspectification of NinjaBuildStep
First step is to inline mesonbuildstepconfigwidget.ui. As side effect, don't skip row 0 in the form layout and drop the intermediate QFrame/QVBoxLayout level and insert the searchable wrapper directly. Change-Id: Ibf2e348b2990ba48126ad7b92e98d0bcd8116196 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Alexis Jeandet <alexis.jeandet@member.fsf.org> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -65,7 +65,6 @@ add_qtc_plugin(MesonProjectManager
|
|||||||
project/mesonbuildconfiguration.cpp
|
project/mesonbuildconfiguration.cpp
|
||||||
project/ninjabuildstep.h
|
project/ninjabuildstep.h
|
||||||
project/ninjabuildstep.cpp
|
project/ninjabuildstep.cpp
|
||||||
project/buildoptions/mesonbuildstepconfigwidget.ui
|
|
||||||
project/buildoptions/mesonbuildstepconfigwidget.h
|
project/buildoptions/mesonbuildstepconfigwidget.h
|
||||||
project/buildoptions/mesonbuildstepconfigwidget.cpp
|
project/buildoptions/mesonbuildstepconfigwidget.cpp
|
||||||
project/buildoptions/mesonbuildsettingswidget.ui
|
project/buildoptions/mesonbuildsettingswidget.ui
|
||||||
|
@@ -95,7 +95,6 @@ RESOURCES += resources.qrc
|
|||||||
|
|
||||||
FORMS += \
|
FORMS += \
|
||||||
project/buildoptions/mesonbuildsettingswidget.ui \
|
project/buildoptions/mesonbuildsettingswidget.ui \
|
||||||
project/buildoptions/mesonbuildstepconfigwidget.ui \
|
|
||||||
settings/general/generalsettingswidget.ui \
|
settings/general/generalsettingswidget.ui \
|
||||||
settings/tools/toolitemsettings.ui \
|
settings/tools/toolitemsettings.ui \
|
||||||
settings/tools/toolssettingswidget.ui
|
settings/tools/toolssettingswidget.ui
|
||||||
|
@@ -56,7 +56,6 @@ Project {
|
|||||||
"project/buildoptions/mesonbuildsettingswidget.ui",
|
"project/buildoptions/mesonbuildsettingswidget.ui",
|
||||||
"project/buildoptions/mesonbuildstepconfigwidget.cpp",
|
"project/buildoptions/mesonbuildstepconfigwidget.cpp",
|
||||||
"project/buildoptions/mesonbuildstepconfigwidget.h",
|
"project/buildoptions/mesonbuildstepconfigwidget.h",
|
||||||
"project/buildoptions/mesonbuildstepconfigwidget.ui",
|
|
||||||
"project/buildoptions/optionsmodel/arrayoptionlineedit.cpp",
|
"project/buildoptions/optionsmodel/arrayoptionlineedit.cpp",
|
||||||
"project/buildoptions/optionsmodel/arrayoptionlineedit.h",
|
"project/buildoptions/optionsmodel/arrayoptionlineedit.h",
|
||||||
"project/buildoptions/optionsmodel/buildoptionsmodel.cpp",
|
"project/buildoptions/optionsmodel/buildoptionsmodel.cpp",
|
||||||
|
@@ -23,27 +23,37 @@
|
|||||||
**
|
**
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
#include "mesonbuildstepconfigwidget.h"
|
#include "mesonbuildstepconfigwidget.h"
|
||||||
#include "ui_mesonbuildstepconfigwidget.h"
|
|
||||||
#include <coreplugin/find/itemviewfind.h>
|
|
||||||
#include <mesonpluginconstants.h>
|
#include <mesonpluginconstants.h>
|
||||||
|
#include <coreplugin/find/itemviewfind.h>
|
||||||
#include <projectexplorer/buildstep.h>
|
#include <projectexplorer/buildstep.h>
|
||||||
#include <projectexplorer/processparameters.h>
|
#include <projectexplorer/processparameters.h>
|
||||||
#include <QCheckBox>
|
#include <QFormLayout>
|
||||||
#include <QRadioButton>
|
#include <QRadioButton>
|
||||||
|
|
||||||
namespace MesonProjectManager {
|
namespace MesonProjectManager {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
MesonBuildStepConfigWidget::MesonBuildStepConfigWidget(NinjaBuildStep *step)
|
MesonBuildStepConfigWidget::MesonBuildStepConfigWidget(NinjaBuildStep *step)
|
||||||
: ProjectExplorer::BuildStepConfigWidget{step}
|
: ProjectExplorer::BuildStepConfigWidget{step}
|
||||||
, ui(new Ui::MesonBuildStepConfigWidget)
|
|
||||||
, m_buildTargetsList{new QListWidget}
|
, m_buildTargetsList{new QListWidget}
|
||||||
{
|
{
|
||||||
setDisplayName(tr("Build", "MesonProjectManager::MesonBuildStepConfigWidget display name."));
|
setDisplayName(tr("Build", "MesonProjectManager::MesonBuildStepConfigWidget display name."));
|
||||||
ui->setupUi(this);
|
|
||||||
m_buildTargetsList->setFrameStyle(QFrame::NoFrame);
|
m_toolArguments = new QLineEdit(this);
|
||||||
|
|
||||||
m_buildTargetsList->setMinimumHeight(200);
|
m_buildTargetsList->setMinimumHeight(200);
|
||||||
ui->frame->layout()->addWidget(
|
m_buildTargetsList->setFrameShape(QFrame::StyledPanel);
|
||||||
Core::ItemViewFind::createSearchableWrapper(m_buildTargetsList,
|
m_buildTargetsList->setFrameShadow(QFrame::Raised);
|
||||||
Core::ItemViewFind::LightColored));
|
|
||||||
|
auto wrapper = Core::ItemViewFind::createSearchableWrapper(m_buildTargetsList,
|
||||||
|
Core::ItemViewFind::LightColored);
|
||||||
|
|
||||||
|
auto formLayout = new QFormLayout(this);
|
||||||
|
formLayout->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow);
|
||||||
|
formLayout->setContentsMargins(0, 0, 0, 0);
|
||||||
|
formLayout->addRow(tr("Tool arguments:"), m_toolArguments);
|
||||||
|
formLayout->addRow(tr("Targets:"), wrapper);
|
||||||
|
|
||||||
updateDetails();
|
updateDetails();
|
||||||
updateTargetList();
|
updateTargetList();
|
||||||
connect(step, &NinjaBuildStep::commandChanged, this, &MesonBuildStepConfigWidget::updateDetails);
|
connect(step, &NinjaBuildStep::commandChanged, this, &MesonBuildStepConfigWidget::updateDetails);
|
||||||
@@ -51,7 +61,7 @@ MesonBuildStepConfigWidget::MesonBuildStepConfigWidget(NinjaBuildStep *step)
|
|||||||
&NinjaBuildStep::targetListChanged,
|
&NinjaBuildStep::targetListChanged,
|
||||||
this,
|
this,
|
||||||
&MesonBuildStepConfigWidget::updateTargetList);
|
&MesonBuildStepConfigWidget::updateTargetList);
|
||||||
connect(ui->m_toolArguments, &QLineEdit::textEdited, this, [this](const QString &text) {
|
connect(m_toolArguments, &QLineEdit::textEdited, this, [this](const QString &text) {
|
||||||
auto mesonBuildStep = static_cast<NinjaBuildStep *>(this->step());
|
auto mesonBuildStep = static_cast<NinjaBuildStep *>(this->step());
|
||||||
mesonBuildStep->setCommandArgs(text);
|
mesonBuildStep->setCommandArgs(text);
|
||||||
updateDetails();
|
updateDetails();
|
||||||
@@ -64,11 +74,6 @@ MesonBuildStepConfigWidget::MesonBuildStepConfigWidget(NinjaBuildStep *step)
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
MesonBuildStepConfigWidget::~MesonBuildStepConfigWidget()
|
|
||||||
{
|
|
||||||
delete ui;
|
|
||||||
}
|
|
||||||
|
|
||||||
void MesonBuildStepConfigWidget::updateDetails()
|
void MesonBuildStepConfigWidget::updateDetails()
|
||||||
{
|
{
|
||||||
auto mesonBuildStep = static_cast<NinjaBuildStep *>(step());
|
auto mesonBuildStep = static_cast<NinjaBuildStep *>(step());
|
||||||
|
@@ -25,12 +25,11 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "../ninjabuildstep.h"
|
#include "../ninjabuildstep.h"
|
||||||
#include "projectexplorer/buildstep.h"
|
#include "projectexplorer/buildstep.h"
|
||||||
|
|
||||||
|
#include <QLineEdit>
|
||||||
#include <QListWidget>
|
#include <QListWidget>
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
|
||||||
namespace Ui {
|
|
||||||
class MesonBuildStepConfigWidget;
|
|
||||||
}
|
|
||||||
namespace MesonProjectManager {
|
namespace MesonProjectManager {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
class MesonBuildStepConfigWidget final : public ProjectExplorer::BuildStepConfigWidget
|
class MesonBuildStepConfigWidget final : public ProjectExplorer::BuildStepConfigWidget
|
||||||
@@ -39,14 +38,13 @@ class MesonBuildStepConfigWidget final : public ProjectExplorer::BuildStepConfig
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
explicit MesonBuildStepConfigWidget(NinjaBuildStep *step);
|
explicit MesonBuildStepConfigWidget(NinjaBuildStep *step);
|
||||||
~MesonBuildStepConfigWidget();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void updateDetails();
|
void updateDetails();
|
||||||
void updateTargetList();
|
void updateTargetList();
|
||||||
inline NinjaBuildStep *mesonBuildStep() { return static_cast<NinjaBuildStep *>(step()); }
|
inline NinjaBuildStep *mesonBuildStep() { return static_cast<NinjaBuildStep *>(step()); }
|
||||||
Ui::MesonBuildStepConfigWidget *ui;
|
|
||||||
QListWidget *m_buildTargetsList;
|
QListWidget *m_buildTargetsList;
|
||||||
|
QLineEdit *m_toolArguments;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
@@ -1,89 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>MesonBuildStepConfigWidget</class>
|
|
||||||
<widget class="QWidget" name="MesonBuildStepConfigWidget">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>400</width>
|
|
||||||
<height>300</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>Form</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QFormLayout" name="formLayout">
|
|
||||||
<property name="fieldGrowthPolicy">
|
|
||||||
<enum>QFormLayout::ExpandingFieldsGrow</enum>
|
|
||||||
</property>
|
|
||||||
<property name="leftMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="topMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="rightMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="bottomMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="text">
|
|
||||||
<string>Tool arguments:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="QLineEdit" name="m_toolArguments"/>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
|
||||||
<widget class="QLabel" name="label_2">
|
|
||||||
<property name="text">
|
|
||||||
<string>Targets:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
|
||||||
<widget class="QFrame" name="frame">
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>0</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="baseSize">
|
|
||||||
<size>
|
|
||||||
<width>0</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="frameShape">
|
|
||||||
<enum>QFrame::StyledPanel</enum>
|
|
||||||
</property>
|
|
||||||
<property name="frameShadow">
|
|
||||||
<enum>QFrame::Raised</enum>
|
|
||||||
</property>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
|
||||||
<property name="leftMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="topMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="rightMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="bottomMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<resources/>
|
|
||||||
<connections/>
|
|
||||||
</ui>
|
|
Reference in New Issue
Block a user