From 89564c70ce517a657d9107243d0d544df1ce4d13 Mon Sep 17 00:00:00 2001 From: mrbesen Date: Tue, 21 Dec 2021 16:21:34 +0100 Subject: [PATCH] delete button for rows --- include/buttonmanageritems.h | 3 ++- src/buttonmanager.cpp | 2 ++ src/buttonmanageritems.cpp | 8 ++++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/include/buttonmanageritems.h b/include/buttonmanageritems.h index 002a58c..fd7fa8c 100644 --- a/include/buttonmanageritems.h +++ b/include/buttonmanageritems.h @@ -33,10 +33,11 @@ public: const static int TYPE = 1000; + virtual bool hasRemove() const; virtual bool hasMoveUp() const; virtual bool hasMoveDown() const; - + virtual void remove(); virtual void moveUp(); virtual void moveDown(); diff --git a/src/buttonmanager.cpp b/src/buttonmanager.cpp index 9fb50bc..f53f523 100644 --- a/src/buttonmanager.cpp +++ b/src/buttonmanager.cpp @@ -41,7 +41,9 @@ void ButtonManager::editButton() { } void ButtonManager::deleteButton() { + QTreeWidgetItem* currentSelectedItem = getSelectedItem(); perform<&ButtonManagerItem::remove>(); + delete currentSelectedItem; } void ButtonManager::upButton() { diff --git a/src/buttonmanageritems.cpp b/src/buttonmanageritems.cpp index fd5fe60..8383bc8 100644 --- a/src/buttonmanageritems.cpp +++ b/src/buttonmanageritems.cpp @@ -67,6 +67,10 @@ RowItem::RowItem(QTreeWidgetItem* parent, uint8_t rownr, Config::RootConfig& con } } +bool RowItem::hasRemove() const { + return true; +} + bool RowItem::hasMoveUp() const { return pos > 0; } @@ -75,6 +79,10 @@ bool RowItem::hasMoveDown() const { return pos < conf.buttons.size()-1; } +void RowItem::remove() { + conf.buttons.erase(conf.buttons.begin() + pos); +} + void RowItem::moveUp() { //apply change to config conf.buttons.at(pos-1).swap(conf.buttons.at(pos));