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/nimbleproject.h project/nimbleproject.cpp
project/nimblerunconfiguration.h project/nimblerunconfiguration.cpp project/nimblerunconfiguration.h project/nimblerunconfiguration.cpp
project/nimbletaskstep.h project/nimbletaskstep.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/nimblebuildsystem.h project/nimblebuildsystem.cpp
project/nimblebuildconfiguration.h project/nimblebuildconfiguration.cpp project/nimblebuildconfiguration.h project/nimblebuildconfiguration.cpp
project/nimbuildsystem.cpp project/nimbuildsystem.h project/nimbuildsystem.cpp project/nimbuildsystem.h

View File

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

View File

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

View File

@@ -24,11 +24,14 @@
****************************************************************************/ ****************************************************************************/
#include "nimbletaskstepwidget.h" #include "nimbletaskstepwidget.h"
#include "ui_nimbletaskstepwidget.h"
#include "nimbleproject.h" #include "nimbleproject.h"
#include "nimbletaskstep.h" #include "nimbletaskstep.h"
#include <QFormLayout>
#include <QLineEdit>
#include <QListView>
#include <utils/algorithm.h> #include <utils/algorithm.h>
using namespace Nim; using namespace Nim;
@@ -36,14 +39,25 @@ using namespace ProjectExplorer;
NimbleTaskStepWidget::NimbleTaskStepWidget(NimbleTaskStep *bs) NimbleTaskStepWidget::NimbleTaskStepWidget(NimbleTaskStep *bs)
: BuildStepConfigWidget(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()); auto buildSystem = dynamic_cast<NimbleBuildSystem *>(bs->buildSystem());
QTC_ASSERT(buildSystem, return); QTC_ASSERT(buildSystem, return);
ui->taskList->setModel(&m_tasks); taskList->setModel(&m_tasks);
QObject::connect(&m_tasks, &QAbstractItemModel::dataChanged, this, &NimbleTaskStepWidget::onDataChanged); QObject::connect(&m_tasks, &QAbstractItemModel::dataChanged, this, &NimbleTaskStepWidget::onDataChanged);
updateTaskList(); updateTaskList();
@@ -54,11 +68,10 @@ NimbleTaskStepWidget::NimbleTaskStepWidget(NimbleTaskStep *bs)
QObject::connect(bs, &NimbleTaskStep::taskNameChanged, this, &NimbleTaskStepWidget::recreateSummary); QObject::connect(bs, &NimbleTaskStep::taskNameChanged, this, &NimbleTaskStepWidget::recreateSummary);
QObject::connect(this, &NimbleTaskStepWidget::selectedTaskChanged, bs, &NimbleTaskStep::setTaskName); QObject::connect(this, &NimbleTaskStepWidget::selectedTaskChanged, bs, &NimbleTaskStep::setTaskName);
ui->taskArgumentsLineEdit->setText(bs->taskArgs()); taskArgumentsLineEdit->setText(bs->taskArgs());
QObject::connect(bs, &NimbleTaskStep::taskArgsChanged, ui->taskArgumentsLineEdit, &QLineEdit::setText); QObject::connect(bs, &NimbleTaskStep::taskArgsChanged, taskArgumentsLineEdit, &QLineEdit::setText);
QObject::connect(bs, &NimbleTaskStep::taskArgsChanged, this, &NimbleTaskStepWidget::recreateSummary); 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] { setSummaryUpdater([this, bs] {
return QString("<b>%1:</b> nimble %2 %3") return QString("<b>%1:</b> nimble %2 %3")
@@ -68,11 +81,6 @@ NimbleTaskStepWidget::NimbleTaskStepWidget(NimbleTaskStep *bs)
}); });
} }
NimbleTaskStepWidget::~NimbleTaskStepWidget()
{
delete ui;
}
void NimbleTaskStepWidget::updateTaskList() void NimbleTaskStepWidget::updateTaskList()
{ {
auto buildSystem = dynamic_cast<NimbleBuildSystem *>(step()->buildSystem()); auto buildSystem = dynamic_cast<NimbleBuildSystem *>(step()->buildSystem());

View File

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