diff --git a/gui/base.qrc b/gui/base.qrc index 8f07aabe..1a848f54 100644 --- a/gui/base.qrc +++ b/gui/base.qrc @@ -9,5 +9,6 @@ resources/resultset_previous.png resources/resultset_next.png resources/resultset_last.png + resources/cross.png diff --git a/gui/designwidget.cc b/gui/designwidget.cc index 5181cd23..93f71355 100644 --- a/gui/designwidget.cc +++ b/gui/designwidget.cc @@ -125,11 +125,27 @@ DesignWidget::DesignWidget(QWidget *parent) : QWidget(parent), ctx(nullptr), net updateButtons(); }); + actionClear = new QAction("", this); + actionClear->setIcon(QIcon(":/icons/resources/cross.png")); + actionClear->setEnabled(true); + connect(actionClear, &QAction::triggered, this, [this] { + history_index = -1; + history.clear(); + QTreeWidgetItem *clickItem = treeWidget->selectedItems().at(0); + if (clickItem->parent()) { + ElementType type = static_cast(clickItem)->getType(); + if (type != ElementType::NONE) + addToHistory(treeWidget->selectedItems().at(0)); + } + updateButtons(); + }); + QToolBar *toolbar = new QToolBar(); toolbar->addAction(actionFirst); toolbar->addAction(actionPrev); toolbar->addAction(actionNext); toolbar->addAction(actionLast); + toolbar->addAction(actionClear); QWidget *topWidget = new QWidget(); QVBoxLayout *vbox1 = new QVBoxLayout(); diff --git a/gui/designwidget.h b/gui/designwidget.h index 269e32fa..b5877f60 100644 --- a/gui/designwidget.h +++ b/gui/designwidget.h @@ -102,6 +102,7 @@ class DesignWidget : public QWidget QAction *actionPrev; QAction *actionNext; QAction *actionLast; + QAction *actionClear; QColor highlightColors[8]; QMap highlightSelected; diff --git a/gui/resources/cross.png b/gui/resources/cross.png new file mode 100644 index 00000000..1514d51a Binary files /dev/null and b/gui/resources/cross.png differ