From 0281b5508ce1a0181feae6d7421cc4af8d7bfd17 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Mon, 9 Apr 2018 10:20:38 +0300 Subject: [PATCH] Additional controls for Label template editor. ref #824. --HG-- branch : develop --- .../dialogs/support/dialogeditlabel.cpp | 33 +++++++ .../vtools/dialogs/support/dialogeditlabel.ui | 85 +++++++++++++++++++ src/libs/vtools/dialogs/tools/dialogtool.h | 10 +-- 3 files changed, 123 insertions(+), 5 deletions(-) diff --git a/src/libs/vtools/dialogs/support/dialogeditlabel.cpp b/src/libs/vtools/dialogs/support/dialogeditlabel.cpp index c50881b45..5d195fab2 100644 --- a/src/libs/vtools/dialogs/support/dialogeditlabel.cpp +++ b/src/libs/vtools/dialogs/support/dialogeditlabel.cpp @@ -36,6 +36,7 @@ #include "../vpatterndb/vcontainer.h" #include "../vpatterndb/vpiece.h" #include "../vpatterndb/floatItemData/vpiecelabeldata.h" +#include "../tools/dialogtool.h" #include #include @@ -70,6 +71,12 @@ DialogEditLabel::DialogEditLabel(VAbstractPattern *doc, QWidget *parent) connect(ui->toolButtonImportLabel, &QToolButton::clicked, this, &DialogEditLabel::ImportTemplate); connect(ui->spinBoxFontSize, QOverload::of(&QSpinBox::valueChanged), this, &DialogEditLabel::SaveAdditionalFontSize); + connect(ui->toolButtonTop, &QToolButton::clicked, this, [this](){DialogTool::MoveListRowTop(ui->listWidgetEdit);}); + connect(ui->toolButtonUp, &QToolButton::clicked, this, [this](){DialogTool::MoveListRowUp(ui->listWidgetEdit);}); + connect(ui->toolButtonDown, &QToolButton::clicked, this, + [this](){DialogTool::MoveListRowDown(ui->listWidgetEdit);}); + connect(ui->toolButtonBottom, &QToolButton::clicked, this, + [this](){DialogTool::MoveListRowBottom(ui->listWidgetEdit);}); InitPlaceholders(); InitPlaceholdersMenu(); @@ -433,6 +440,32 @@ void DialogEditLabel::SetupControls() ui->toolButtonExportLabel->setEnabled(enabled); ui->lineEditLine->setEnabled(enabled); ui->spinBoxFontSize->setEnabled(enabled); + + ui->toolButtonTop->setEnabled(false); + ui->toolButtonUp->setEnabled(false); + ui->toolButtonDown->setEnabled(false); + ui->toolButtonBottom->setEnabled(false); + + if (ui->listWidgetEdit->count() >= 2) + { + if (ui->listWidgetEdit->currentRow() == 0) + { + ui->toolButtonDown->setEnabled(true); + ui->toolButtonBottom->setEnabled(true); + } + else if (ui->listWidgetEdit->currentRow() == ui->listWidgetEdit->count()-1) + { + ui->toolButtonTop->setEnabled(true); + ui->toolButtonUp->setEnabled(true); + } + else + { + ui->toolButtonTop->setEnabled(true); + ui->toolButtonUp->setEnabled(true); + ui->toolButtonDown->setEnabled(true); + ui->toolButtonBottom->setEnabled(true); + } + } } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/libs/vtools/dialogs/support/dialogeditlabel.ui b/src/libs/vtools/dialogs/support/dialogeditlabel.ui index d64795964..5234d9d36 100644 --- a/src/libs/vtools/dialogs/support/dialogeditlabel.ui +++ b/src/libs/vtools/dialogs/support/dialogeditlabel.ui @@ -130,6 +130,91 @@ + + + + + + false + + + Move on top + + + ... + + + + ../../../../app/tape../../../../app/tape + + + + + + + false + + + Move up + + + ... + + + + ../../../../app/tape../../../../app/tape + + + + + + + false + + + Move down + + + ... + + + + ../../../../app/tape../../../../app/tape + + + + + + + false + + + Move on bottom + + + ... + + + + ../../../../app/tape../../../../app/tape + + + + + + + Qt::Horizontal + + + + 5000 + 20 + + + + + + diff --git a/src/libs/vtools/dialogs/tools/dialogtool.h b/src/libs/vtools/dialogs/tools/dialogtool.h index 830ee4b6a..ee80baec3 100644 --- a/src/libs/vtools/dialogs/tools/dialogtool.h +++ b/src/libs/vtools/dialogs/tools/dialogtool.h @@ -91,6 +91,11 @@ public: void SetToolId(const quint32 &value); QString getPointName() const; + + static void MoveListRowTop(QListWidget *list); + static void MoveListRowUp(QListWidget *list); + static void MoveListRowDown(QListWidget *list); + static void MoveListRowBottom(QListWidget *list); signals: /** * @brief DialogClosed signal dialog closed @@ -282,11 +287,6 @@ protected: void NewNodeItem(QListWidget *listWidget, const VPieceNode &node); void InitNodeAngles(QComboBox *box); - - void MoveListRowTop(QListWidget *list); - void MoveListRowUp(QListWidget *list); - void MoveListRowDown(QListWidget *list); - void MoveListRowBottom(QListWidget *list); private: void FillList(QComboBox *box, const QMap &list)const;