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() {