From b5cee731caf7a5958e255b1a8e2782c0fcf4f84e Mon Sep 17 00:00:00 2001 From: mrbesen Date: Tue, 21 Dec 2021 18:18:45 +0100 Subject: [PATCH] add empty row, fixed bug in delete row --- src/buttonmanager.cpp | 4 ++++ src/buttonmanageritems.cpp | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/src/buttonmanager.cpp b/src/buttonmanager.cpp index 9f98442..ff5134d 100644 --- a/src/buttonmanager.cpp +++ b/src/buttonmanager.cpp @@ -40,6 +40,10 @@ void ButtonManager::addButton() { AddNewWhat::ReturnCode type = whatshouldbeadded.returnCode; if(type == AddNewWhat::ReturnCode::Row) { // create new row + //TODO: when a row is selected: add after the selected row + workingConfig.buttons.push_back({}); // create a empty vector + RowItem* row = new RowItem(ui->buttonTreeWidget->invisibleRootItem(), workingConfig.buttons.size()-1, workingConfig); + return; } if(type == AddNewWhat::ReturnCode::Button) { diff --git a/src/buttonmanageritems.cpp b/src/buttonmanageritems.cpp index 84e33c7..49f617f 100644 --- a/src/buttonmanageritems.cpp +++ b/src/buttonmanageritems.cpp @@ -74,6 +74,14 @@ bool RowItem::hasMoveDown() const { void RowItem::remove() { conf.buttons.erase(conf.buttons.begin() + pos); + + for(uint8_t i = pos+1; i <= conf.buttons.size(); ++i) { + RowItem* item = dynamic_cast(mparent->child(i)); + if(item) { + item->pos--; + item->updatePosition(); + } + } } void RowItem::moveUp() {