From baa5ddb98b874424242447812d3d0ec9ccbd1ffa Mon Sep 17 00:00:00 2001 From: mrbesen Date: Tue, 21 Dec 2021 02:11:44 +0100 Subject: [PATCH] improved button manager basics --- src/buttonmanager.cpp | 13 ++++++-- ui/buttonmanager.ui | 69 +++++++++++++++++++++++++++++++++++-------- 2 files changed, 67 insertions(+), 15 deletions(-) diff --git a/src/buttonmanager.cpp b/src/buttonmanager.cpp index 463e5ec..47f63cb 100644 --- a/src/buttonmanager.cpp +++ b/src/buttonmanager.cpp @@ -1,6 +1,11 @@ #include "buttonmanager.h" #include "ui_buttonmanager.h" +// itemtypes +const static int ROWTYPE = 1000; +const static int BUTTONTYPE = 1001; +const static int SAMPLETYPE = 1002; + ButtonManager::ButtonManager(const Config& conf, QWidget *parent) : QDialog(parent), ui(new Ui::ButtonManager), mainConfig(conf) { ui->setupUi(this); @@ -8,13 +13,13 @@ ButtonManager::ButtonManager(const Config& conf, QWidget *parent) : QDialog(pare QList items; for(uint8_t rownr = 0; rownr < conf.rootConfig.buttons.size(); ++rownr) { const std::vector& btnrow = conf.rootConfig.buttons.at(rownr); - QTreeWidgetItem* row = new QTreeWidgetItem(1000); + QTreeWidgetItem* row = new QTreeWidgetItem(ROWTYPE); row->setData(0, 0, QVariant((int) rownr+1)); items.push_back(row); // iterate buttons in a row for(const Config::ButtonConfig& btn : btnrow) { - QTreeWidgetItem* qbtn = new QTreeWidgetItem(1001); + QTreeWidgetItem* qbtn = new QTreeWidgetItem(BUTTONTYPE); qbtn->setData(1, 0, QVariant(QString::fromStdString(btn.name))); qbtn->setFlags(Qt::ItemIsSelectable | Qt::ItemIsDragEnabled | Qt::ItemIsDropEnabled | Qt::ItemIsEnabled | Qt::ItemIsEditable); row->addChild(qbtn); @@ -22,8 +27,9 @@ ButtonManager::ButtonManager(const Config& conf, QWidget *parent) : QDialog(pare // iterate samples in a button for(uint8_t samplenr = 0; samplenr < btn.samples.size(); ++samplenr) { const Config::SampleConfig& sample = btn.samples.at(samplenr); - QTreeWidgetItem* qsample = new QTreeWidgetItem(1002); + QTreeWidgetItem* qsample = new QTreeWidgetItem(SAMPLETYPE); qsample->setData(2, 0, QVariant((int) samplenr+1)); + qsample->setData(3, 0, QVariant(QString::fromStdString(sample.file))); qbtn->addChild(qsample); } } @@ -33,6 +39,7 @@ ButtonManager::ButtonManager(const Config& conf, QWidget *parent) : QDialog(pare labels.push_back("Row"); labels.push_back("Button"); labels.push_back("Sample"); + labels.push_back("File"); ui->buttonTreeWidget->addTopLevelItems(items); ui->buttonTreeWidget->setHeaderLabels(labels); diff --git a/ui/buttonmanager.ui b/ui/buttonmanager.ui index 586d473..978846f 100644 --- a/ui/buttonmanager.ui +++ b/ui/buttonmanager.ui @@ -6,33 +6,78 @@ 0 0 - 400 - 300 + 888 + 744 - Dialog + Button Manager - + + + + Delete + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Save + + + + + + + Down + + + + + + + Add + + + + + + + Up + + + + - 1 + 3 1 + + + 2 + + + + + 3 + + - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + Edit