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