Nim: Inline nimbletaskwidget.ui

A step towards NimbleTaskStep aspectification.

Also remove the intermediate QFrame, QListWidget is-a QFrame itself.

Change-Id: I1e37dc28ef2c8a89aff7c4baff0c1bd82ff3306f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2020-08-25 03:49:07 +02:00
parent 070e0932c9
commit 367624fbf2
6 changed files with 23 additions and 103 deletions

View File

@@ -13,7 +13,7 @@ add_qtc_plugin(Nim
project/nimbleproject.h project/nimbleproject.cpp
project/nimblerunconfiguration.h project/nimblerunconfiguration.cpp
project/nimbletaskstep.h project/nimbletaskstep.cpp
project/nimbletaskstepwidget.h project/nimbletaskstepwidget.cpp project/nimbletaskstepwidget.ui
project/nimbletaskstepwidget.h project/nimbletaskstepwidget.cpp
project/nimblebuildsystem.h project/nimblebuildsystem.cpp
project/nimblebuildconfiguration.h project/nimblebuildconfiguration.cpp
project/nimbuildsystem.cpp project/nimbuildsystem.h

View File

@@ -85,7 +85,6 @@ SOURCES += \
suggest/server.cpp
FORMS += \
project/nimbletaskstepwidget.ui \
project/nimcompilerbuildstepconfigwidget.ui \
settings/nimcodestylepreferenceswidget.ui \
settings/nimtoolssettingswidget.ui

View File

@@ -51,7 +51,7 @@ QtcPlugin {
"nimbleproject.h", "nimbleproject.cpp",
"nimblerunconfiguration.h", "nimblerunconfiguration.cpp",
"nimbletaskstep.h", "nimbletaskstep.cpp",
"nimbletaskstepwidget.h", "nimbletaskstepwidget.cpp", "nimbletaskstepwidget.ui",
"nimbletaskstepwidget.h", "nimbletaskstepwidget.cpp",
"nimblebuildsystem.h", "nimblebuildsystem.cpp",
"nimblebuildconfiguration.h", "nimblebuildconfiguration.cpp",
]

View File

@@ -24,11 +24,14 @@
****************************************************************************/
#include "nimbletaskstepwidget.h"
#include "ui_nimbletaskstepwidget.h"
#include "nimbleproject.h"
#include "nimbletaskstep.h"
#include <QFormLayout>
#include <QLineEdit>
#include <QListView>
#include <utils/algorithm.h>
using namespace Nim;
@@ -36,14 +39,25 @@ using namespace ProjectExplorer;
NimbleTaskStepWidget::NimbleTaskStepWidget(NimbleTaskStep *bs)
: BuildStepConfigWidget(bs)
, ui(new Ui::NimbleTaskStepWidget)
{
ui->setupUi(this);
auto taskArgumentsLineEdit = new QLineEdit(this);
auto taskList = new QListView(this);
taskList->setFrameShape(QFrame::StyledPanel);
taskList->setSelectionMode(QAbstractItemView::NoSelection);
taskList->setSelectionBehavior(QAbstractItemView::SelectRows);
auto formLayout = new QFormLayout(this);
formLayout->setSizeConstraint(QLayout::SetDefaultConstraint);
formLayout->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow);
formLayout->addRow(tr("Task arguments:"), taskArgumentsLineEdit);
formLayout->addRow(tr("Tasks:"), taskList);
auto buildSystem = dynamic_cast<NimbleBuildSystem *>(bs->buildSystem());
QTC_ASSERT(buildSystem, return);
ui->taskList->setModel(&m_tasks);
taskList->setModel(&m_tasks);
QObject::connect(&m_tasks, &QAbstractItemModel::dataChanged, this, &NimbleTaskStepWidget::onDataChanged);
updateTaskList();
@@ -54,11 +68,10 @@ NimbleTaskStepWidget::NimbleTaskStepWidget(NimbleTaskStep *bs)
QObject::connect(bs, &NimbleTaskStep::taskNameChanged, this, &NimbleTaskStepWidget::recreateSummary);
QObject::connect(this, &NimbleTaskStepWidget::selectedTaskChanged, bs, &NimbleTaskStep::setTaskName);
ui->taskArgumentsLineEdit->setText(bs->taskArgs());
QObject::connect(bs, &NimbleTaskStep::taskArgsChanged, ui->taskArgumentsLineEdit, &QLineEdit::setText);
taskArgumentsLineEdit->setText(bs->taskArgs());
QObject::connect(bs, &NimbleTaskStep::taskArgsChanged, taskArgumentsLineEdit, &QLineEdit::setText);
QObject::connect(bs, &NimbleTaskStep::taskArgsChanged, this, &NimbleTaskStepWidget::recreateSummary);
QObject::connect(ui->taskArgumentsLineEdit, &QLineEdit::textChanged, bs ,&NimbleTaskStep::setTaskArgs);
QObject::connect(taskArgumentsLineEdit, &QLineEdit::textChanged, bs ,&NimbleTaskStep::setTaskArgs);
setSummaryUpdater([this, bs] {
return QString("<b>%1:</b> nimble %2 %3")
@@ -68,11 +81,6 @@ NimbleTaskStepWidget::NimbleTaskStepWidget(NimbleTaskStep *bs)
});
}
NimbleTaskStepWidget::~NimbleTaskStepWidget()
{
delete ui;
}
void NimbleTaskStepWidget::updateTaskList()
{
auto buildSystem = dynamic_cast<NimbleBuildSystem *>(step()->buildSystem());

View File

@@ -36,8 +36,6 @@ namespace Nim {
class NimbleTaskStep;
namespace Ui { class NimbleTaskStepWidget; }
class NimbleTaskStepWidget : public ProjectExplorer::BuildStepConfigWidget
{
Q_OBJECT
@@ -45,8 +43,6 @@ class NimbleTaskStepWidget : public ProjectExplorer::BuildStepConfigWidget
public:
explicit NimbleTaskStepWidget(NimbleTaskStep *buildStep);
~NimbleTaskStepWidget();
signals:
void selectedTaskChanged(const QString &name);
@@ -59,7 +55,6 @@ private:
void uncheckedAllDifferentFrom(QStandardItem *item);
Ui::NimbleTaskStepWidget *ui;
QStandardItemModel m_tasks;
bool m_selecting = false;
};

View File

@@ -1,82 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Nim::NimbleTaskStepWidget</class>
<widget class="QWidget" name="Nim::NimbleTaskStepWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>399</width>
<height>252</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QFormLayout" name="formLayout">
<property name="sizeConstraint">
<enum>QLayout::SetDefaultConstraint</enum>
</property>
<property name="fieldGrowthPolicy">
<enum>QFormLayout::ExpandingFieldsGrow</enum>
</property>
<item row="0" column="0">
<widget class="QLabel" name="taskArgumentsLabel">
<property name="text">
<string>Task arguments:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="taskArgumentsLineEdit"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="tasksLabel">
<property name="text">
<string>Tasks:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QFrame" name="tasksFrame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<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>
<widget class="QListView" name="taskList">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::NoSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>