diff --git a/src/libs/vtools/dialogs/tools/dialogdetail.cpp b/src/libs/vtools/dialogs/tools/dialogdetail.cpp
index cbf4d159c..4b774e535 100644
--- a/src/libs/vtools/dialogs/tools/dialogdetail.cpp
+++ b/src/libs/vtools/dialogs/tools/dialogdetail.cpp
@@ -78,6 +78,8 @@ DialogDetail::DialogDetail(const VContainer *data, const quint32 &toolId, QWidge
connect(ui.lineEditNameDetail, &QLineEdit::textChanged, this, &DialogDetail::NamePointChanged);
connect(ui.toolButtonDelete, &QToolButton::clicked, this, &DialogDetail::DeleteItem);
+ connect(ui.toolButtonUp, &QToolButton::clicked, this, &DialogDetail::ScrollUp);
+ connect(ui.toolButtonDown, &QToolButton::clicked, this, &DialogDetail::ScrollDown);
}
//---------------------------------------------------------------------------------------------------------------------
@@ -170,6 +172,8 @@ void DialogDetail::NewItem(quint32 id, const Tool &typeTool, const NodeDetail &t
qDebug()<<"Got wrong tools. Ignore.";
return;
}
+ ui.toolButtonUp->setEnabled(ui.checkBoxSeams->isChecked() && not ui.checkBoxClosed->isChecked());
+ ui.toolButtonDown->setEnabled(ui.checkBoxSeams->isChecked() && not ui.checkBoxClosed->isChecked());
bool canAddNewPoint = false;
@@ -338,6 +342,9 @@ void DialogDetail::ClickedSeams(bool checked)
ui.checkBoxClosed->setEnabled(checked);
ui.doubleSpinBoxSeams->setEnabled(checked);
+ ui.toolButtonUp->setEnabled(checked && not ui.checkBoxClosed->isChecked());
+ ui.toolButtonDown->setEnabled(checked && not ui.checkBoxClosed->isChecked());
+
if (checked && ui.doubleSpinBoxSeams->value() <= 0)
{
flagWidth = false;
@@ -359,6 +366,8 @@ void DialogDetail::ClickedSeams(bool checked)
void DialogDetail::ClickedClosed(bool checked)
{
closed = checked;
+ ui.toolButtonUp->setEnabled(not checked);
+ ui.toolButtonDown->setEnabled(not checked);
}
//---------------------------------------------------------------------------------------------------------------------
@@ -415,6 +424,26 @@ void DialogDetail::DeleteItem()
ValidObjects(DetailIsValid());
}
+//---------------------------------------------------------------------------------------------------------------------
+void DialogDetail::ScrollUp()
+{
+ if (ui.listWidget->count() > 1)
+ {
+ QListWidgetItem *item = ui.listWidget->takeItem(ui.listWidget->count()-1);
+ ui.listWidget->insertItem(0, item);
+ }
+}
+
+//---------------------------------------------------------------------------------------------------------------------
+void DialogDetail::ScrollDown()
+{
+ if (ui.listWidget->count() > 1)
+ {
+ QListWidgetItem *item = ui.listWidget->takeItem(0);
+ ui.listWidget->addItem(item);
+ }
+}
+
//---------------------------------------------------------------------------------------------------------------------
bool DialogDetail::DetailIsValid() const
{
diff --git a/src/libs/vtools/dialogs/tools/dialogdetail.h b/src/libs/vtools/dialogs/tools/dialogdetail.h
index dac43f320..9a8ec4314 100644
--- a/src/libs/vtools/dialogs/tools/dialogdetail.h
+++ b/src/libs/vtools/dialogs/tools/dialogdetail.h
@@ -54,6 +54,8 @@ public slots:
void ClickedReverse(bool checked);
void ObjectChanged(int row);
void DeleteItem();
+ void ScrollUp();
+ void ScrollDown();
protected:
/**
* @brief SaveData Put dialog data in local variables
diff --git a/src/libs/vtools/dialogs/tools/dialogdetail.ui b/src/libs/vtools/dialogs/tools/dialogdetail.ui
index 808fcc799..e21c0bdf6 100644
--- a/src/libs/vtools/dialogs/tools/dialogdetail.ui
+++ b/src/libs/vtools/dialogs/tools/dialogdetail.ui
@@ -6,8 +6,8 @@
0
0
- 565
- 382
+ 522
+ 368
@@ -313,14 +313,72 @@
-
-
-
- false
+
+
+ QLayout::SetFixedSize
-
- Delete
+
+ 10
-
+
+ 10
+
+
+ 10
+
+
+ 10
+
+
-
+
+
+ false
+
+
+ Delete
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Scroll down
+
+
+ ...
+
+
+
+
+
+
+ -
+
+
+ Scroll up
+
+
+ ...
+
+
+
+
+
+
+
@@ -352,7 +410,6 @@
checkBoxSeams
doubleSpinBoxSeams
checkBoxClosed
- toolButtonDelete
buttonBox