buttonManager Up button implemented
This commit is contained in:
parent
baa5ddb98b
commit
c6f825d887
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
// Use IntelliSense to learn about possible attributes.
|
||||||
|
// Hover to view descriptions of existing attributes.
|
||||||
|
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "(gdb) Starten",
|
||||||
|
"type": "cppdbg",
|
||||||
|
"request": "launch",
|
||||||
|
"program": "${workspaceFolder}/soundboard",
|
||||||
|
"args": [],
|
||||||
|
"stopAtEntry": false,
|
||||||
|
"cwd": "${fileDirname}",
|
||||||
|
"environment": [],
|
||||||
|
"externalConsole": false,
|
||||||
|
"MIMode": "gdb",
|
||||||
|
"setupCommands": [
|
||||||
|
{
|
||||||
|
"description": "Automatische Strukturierung und Einrückung für \"gdb\" aktivieren",
|
||||||
|
"text": "-enable-pretty-printing",
|
||||||
|
"ignoreFailures": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -1,9 +1,12 @@
|
||||||
#ifndef BUTTONMANAGER_H
|
#pragma once
|
||||||
#define BUTTONMANAGER_H
|
|
||||||
|
|
||||||
|
#include <QAbstractButton>
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
|
#include <QTreeWidgetItem>
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#include "buttonmanageritems.h"
|
||||||
|
#include "mainwindow.h"
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class ButtonManager;
|
class ButtonManager;
|
||||||
|
@ -14,13 +17,38 @@ class ButtonManager : public QDialog
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit ButtonManager(const Config& conf, QWidget *parent = nullptr);
|
explicit ButtonManager(Config& conf, MainWindow *parent = nullptr);
|
||||||
~ButtonManager();
|
~ButtonManager();
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
virtual void accept();
|
||||||
|
virtual void reject();
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
//buttons:
|
||||||
|
void addButton();
|
||||||
|
void editButton();
|
||||||
|
void deleteButton();
|
||||||
|
void upButton();
|
||||||
|
void downButton();
|
||||||
|
|
||||||
|
void itemSelected();
|
||||||
|
void dialogButtonPressed(QAbstractButton* btn);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::ButtonManager *ui;
|
Ui::ButtonManager *ui;
|
||||||
|
MainWindow* mainW = nullptr;
|
||||||
|
|
||||||
const Config& mainConfig;
|
Config& mainConfig;
|
||||||
|
Config::RootConfig workingConfig;
|
||||||
|
|
||||||
|
void loadConfig();
|
||||||
|
void saveChanges();
|
||||||
|
|
||||||
|
void select(QTreeWidgetItem* item);
|
||||||
|
|
||||||
|
QTreeWidgetItem* getSelectedItem() const;
|
||||||
|
|
||||||
|
template<void (ButtonManagerItem::*T)()>
|
||||||
|
void perform();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // BUTTONMANAGER_H
|
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include <QTreeWidgetItem>
|
||||||
|
|
||||||
|
// interface
|
||||||
|
class ButtonManagerItem : public QTreeWidgetItem {
|
||||||
|
protected:
|
||||||
|
ButtonManagerItem(QTreeWidgetItem* parent, int type);
|
||||||
|
public:
|
||||||
|
virtual ~ButtonManagerItem();
|
||||||
|
|
||||||
|
virtual bool hasAdd() const;
|
||||||
|
virtual bool hasEdit() const;
|
||||||
|
virtual bool hasRemove() const;
|
||||||
|
virtual bool hasMoveUp() const;
|
||||||
|
virtual bool hasMoveDown() const;
|
||||||
|
|
||||||
|
virtual void add();
|
||||||
|
virtual void edit();
|
||||||
|
virtual void remove();
|
||||||
|
virtual void moveUp();
|
||||||
|
virtual void moveDown();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
QTreeWidgetItem* mparent;
|
||||||
|
};
|
||||||
|
|
||||||
|
class RowItem : public ButtonManagerItem {
|
||||||
|
public:
|
||||||
|
RowItem(QTreeWidgetItem* parent, uint8_t rownr, Config::RootConfig& conf);
|
||||||
|
|
||||||
|
|
||||||
|
const static int TYPE = 1000;
|
||||||
|
|
||||||
|
virtual bool hasMoveUp() const;
|
||||||
|
virtual bool hasMoveDown() const;
|
||||||
|
|
||||||
|
|
||||||
|
virtual void moveUp();
|
||||||
|
virtual void moveDown();
|
||||||
|
|
||||||
|
private:
|
||||||
|
Config::RootConfig& conf;
|
||||||
|
uint8_t pos = 0;
|
||||||
|
|
||||||
|
//called when the row was moved
|
||||||
|
void updatePosition();
|
||||||
|
};
|
|
@ -32,6 +32,8 @@ public slots:
|
||||||
void moveRight();
|
void moveRight();
|
||||||
void playCurrent();
|
void playCurrent();
|
||||||
|
|
||||||
|
void reloadButtonConfig();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void alwaysOnTopSettingChange(int status);
|
void alwaysOnTopSettingChange(int status);
|
||||||
void addSample();
|
void addSample();
|
||||||
|
|
|
@ -4,6 +4,7 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||||
|
|
||||||
CONFIG += c++17
|
CONFIG += c++17
|
||||||
CONFIG += debug_info
|
CONFIG += debug_info
|
||||||
|
CONFIG += force_debug_info
|
||||||
LIBS += -lX11 -ldl
|
LIBS += -lX11 -ldl
|
||||||
|
|
||||||
# The following define makes your compiler emit warnings if you use
|
# The following define makes your compiler emit warnings if you use
|
||||||
|
@ -28,6 +29,7 @@ SOURCES += \
|
||||||
src/soundview.cpp \
|
src/soundview.cpp \
|
||||||
src/samplereader.cpp \
|
src/samplereader.cpp \
|
||||||
src/buttonmanager.cpp \
|
src/buttonmanager.cpp \
|
||||||
|
src/buttonmanageritems.cpp \
|
||||||
Log/Log.cpp
|
Log/Log.cpp
|
||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
|
@ -40,6 +42,7 @@ HEADERS += \
|
||||||
include/soundview.h \
|
include/soundview.h \
|
||||||
include/samplereader.h \
|
include/samplereader.h \
|
||||||
include/buttonmanager.h \
|
include/buttonmanager.h \
|
||||||
|
include/buttonmanageritems.h \
|
||||||
miniaudio/miniaudio.h \
|
miniaudio/miniaudio.h \
|
||||||
Log/Log.h
|
Log/Log.h
|
||||||
|
|
||||||
|
|
|
@ -1,39 +1,12 @@
|
||||||
#include "buttonmanager.h"
|
#include "buttonmanager.h"
|
||||||
#include "ui_buttonmanager.h"
|
#include "ui_buttonmanager.h"
|
||||||
|
|
||||||
// itemtypes
|
#include <Log.h>
|
||||||
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) {
|
ButtonManager::ButtonManager(Config& conf, MainWindow* parent) : QDialog(parent), ui(new Ui::ButtonManager), mainW(parent), mainConfig(conf) {
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
loadConfig();
|
||||||
QList<QTreeWidgetItem*> items;
|
|
||||||
for(uint8_t rownr = 0; rownr < conf.rootConfig.buttons.size(); ++rownr) {
|
|
||||||
const std::vector<Config::ButtonConfig>& btnrow = conf.rootConfig.buttons.at(rownr);
|
|
||||||
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(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);
|
|
||||||
|
|
||||||
// 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(SAMPLETYPE);
|
|
||||||
qsample->setData(2, 0, QVariant((int) samplenr+1));
|
|
||||||
qsample->setData(3, 0, QVariant(QString::fromStdString(sample.file)));
|
|
||||||
qbtn->addChild(qsample);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
QStringList labels;
|
QStringList labels;
|
||||||
labels.push_back("Row");
|
labels.push_back("Row");
|
||||||
|
@ -41,10 +14,125 @@ ButtonManager::ButtonManager(const Config& conf, QWidget *parent) : QDialog(pare
|
||||||
labels.push_back("Sample");
|
labels.push_back("Sample");
|
||||||
labels.push_back("File");
|
labels.push_back("File");
|
||||||
|
|
||||||
ui->buttonTreeWidget->addTopLevelItems(items);
|
|
||||||
ui->buttonTreeWidget->setHeaderLabels(labels);
|
ui->buttonTreeWidget->setHeaderLabels(labels);
|
||||||
}
|
}
|
||||||
|
|
||||||
ButtonManager::~ButtonManager() {
|
ButtonManager::~ButtonManager() {
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ButtonManager::accept() {
|
||||||
|
saveChanges();
|
||||||
|
|
||||||
|
QDialog::accept();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ButtonManager::reject() {
|
||||||
|
// nothing?
|
||||||
|
QDialog::reject();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ButtonManager::addButton() {
|
||||||
|
perform<&ButtonManagerItem::add>();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ButtonManager::editButton() {
|
||||||
|
perform<&ButtonManagerItem::edit>();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ButtonManager::deleteButton() {
|
||||||
|
perform<&ButtonManagerItem::remove>();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ButtonManager::upButton() {
|
||||||
|
QTreeWidgetItem* currentSelectedItem = getSelectedItem();
|
||||||
|
perform<&ButtonManagerItem::moveUp>();
|
||||||
|
select(currentSelectedItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ButtonManager::downButton() {
|
||||||
|
perform<&ButtonManagerItem::moveDown>();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ButtonManager::itemSelected() {
|
||||||
|
Log::debug << "item selected";
|
||||||
|
|
||||||
|
ButtonManagerItem* item = dynamic_cast<ButtonManagerItem*>(getSelectedItem());
|
||||||
|
if(item) {
|
||||||
|
// set buttons
|
||||||
|
ui->addButton->setEnabled(item->hasAdd());
|
||||||
|
ui->editButton->setEnabled(item->hasEdit());
|
||||||
|
ui->deleteButton->setEnabled(item->hasRemove());
|
||||||
|
ui->moveUpButton->setEnabled(item->hasMoveUp());
|
||||||
|
ui->moveDownButton->setEnabled(item->hasMoveDown());
|
||||||
|
} else {
|
||||||
|
Log::info << "no valid item selected";
|
||||||
|
|
||||||
|
ui->addButton->setEnabled(false);
|
||||||
|
ui->editButton->setEnabled(false);
|
||||||
|
ui->deleteButton->setEnabled(false);
|
||||||
|
ui->moveUpButton->setEnabled(false);
|
||||||
|
ui->moveDownButton->setEnabled(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ButtonManager::dialogButtonPressed(QAbstractButton* btn) {
|
||||||
|
QDialogButtonBox::ButtonRole role = ui->buttonBox->buttonRole(btn);
|
||||||
|
Log::trace << "btn: " << (int) role;
|
||||||
|
if(role == QDialogButtonBox::ButtonRole::ResetRole) {
|
||||||
|
// reset
|
||||||
|
loadConfig();
|
||||||
|
} else if(role == QDialogButtonBox::ButtonRole::ApplyRole) {
|
||||||
|
// apply
|
||||||
|
saveChanges();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ButtonManager::loadConfig() {
|
||||||
|
workingConfig = mainConfig.rootConfig;
|
||||||
|
|
||||||
|
while(ui->buttonTreeWidget->invisibleRootItem()->childCount()) {
|
||||||
|
auto kid = ui->buttonTreeWidget->invisibleRootItem()->takeChild(0);
|
||||||
|
delete kid;
|
||||||
|
}
|
||||||
|
|
||||||
|
QTreeWidgetItem* root = ui->buttonTreeWidget->invisibleRootItem();
|
||||||
|
for(uint8_t rownr = 0; rownr < workingConfig.buttons.size(); ++rownr) {
|
||||||
|
RowItem* row = new RowItem(root, rownr, workingConfig);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ButtonManager::saveChanges() {
|
||||||
|
// store working config to main config and save
|
||||||
|
mainConfig.rootConfig = workingConfig;
|
||||||
|
mainConfig.save();
|
||||||
|
|
||||||
|
mainW->reloadButtonConfig();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ButtonManager::select(QTreeWidgetItem* item) {
|
||||||
|
QList<QTreeWidgetItem*> selected = ui->buttonTreeWidget->selectedItems();
|
||||||
|
for(QTreeWidgetItem* selectedItem : selected) {
|
||||||
|
ui->buttonTreeWidget->setItemSelected(selectedItem, false);
|
||||||
|
}
|
||||||
|
ui->buttonTreeWidget->setItemSelected(item, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
QTreeWidgetItem* ButtonManager::getSelectedItem() const {
|
||||||
|
QList items = ui->buttonTreeWidget->selectedItems();
|
||||||
|
if(items.size() != 1) {
|
||||||
|
return nullptr; // not exectly one selected
|
||||||
|
}
|
||||||
|
|
||||||
|
return items.at(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
template<void (ButtonManagerItem::*T)()>
|
||||||
|
void ButtonManager::perform() {
|
||||||
|
ButtonManagerItem* item = dynamic_cast<ButtonManagerItem*>(getSelectedItem());
|
||||||
|
if(item) {
|
||||||
|
(item->*T)();
|
||||||
|
} else {
|
||||||
|
Log::info << "no valid item selected";
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,118 @@
|
||||||
|
#include "buttonmanageritems.h"
|
||||||
|
|
||||||
|
#include <Log.h>
|
||||||
|
|
||||||
|
// itemtypes
|
||||||
|
const static int ROWTYPE = 1000;
|
||||||
|
const static int BUTTONTYPE = 1001;
|
||||||
|
const static int SAMPLETYPE = 1002;
|
||||||
|
|
||||||
|
ButtonManagerItem::ButtonManagerItem(QTreeWidgetItem* parent, int type) : QTreeWidgetItem(parent, type), mparent(parent) {
|
||||||
|
}
|
||||||
|
|
||||||
|
ButtonManagerItem::~ButtonManagerItem() {}
|
||||||
|
|
||||||
|
bool ButtonManagerItem::hasAdd() const {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool ButtonManagerItem::hasEdit() const {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool ButtonManagerItem::hasRemove() const {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool ButtonManagerItem::hasMoveUp() const {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool ButtonManagerItem::hasMoveDown() const {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void ButtonManagerItem::add() {}
|
||||||
|
|
||||||
|
void ButtonManagerItem::edit() {}
|
||||||
|
|
||||||
|
void ButtonManagerItem::remove() {}
|
||||||
|
|
||||||
|
void ButtonManagerItem::moveUp() {}
|
||||||
|
|
||||||
|
void ButtonManagerItem::moveDown() {}
|
||||||
|
|
||||||
|
|
||||||
|
RowItem::RowItem(QTreeWidgetItem* parent, uint8_t rownr, Config::RootConfig& conf) : ButtonManagerItem(parent, TYPE), conf(conf), pos(rownr) {
|
||||||
|
const std::vector<Config::ButtonConfig>& btnrow = conf.buttons.at(rownr);
|
||||||
|
|
||||||
|
updatePosition();
|
||||||
|
|
||||||
|
// iterate buttons in a row
|
||||||
|
for(const Config::ButtonConfig& btn : btnrow) {
|
||||||
|
QTreeWidgetItem* qbtn = new QTreeWidgetItem(BUTTONTYPE);
|
||||||
|
qbtn->setData(1, Qt::ItemDataRole::DisplayRole, QVariant(QString::fromStdString(btn.name)));
|
||||||
|
qbtn->setFlags(Qt::ItemIsSelectable | Qt::ItemIsDragEnabled | Qt::ItemIsDropEnabled | Qt::ItemIsEnabled | Qt::ItemIsEditable);
|
||||||
|
addChild(qbtn);
|
||||||
|
|
||||||
|
// 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(SAMPLETYPE);
|
||||||
|
qsample->setData(2, Qt::ItemDataRole::DisplayRole, QVariant((int) samplenr+1));
|
||||||
|
qsample->setData(3, Qt::ItemDataRole::DisplayRole, QVariant(QString::fromStdString(sample.file)));
|
||||||
|
qbtn->addChild(qsample);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool RowItem::hasMoveUp() const {
|
||||||
|
return pos > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool RowItem::hasMoveDown() const {
|
||||||
|
return pos < conf.buttons.size()-1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void RowItem::moveUp() {
|
||||||
|
//apply change to config
|
||||||
|
conf.buttons.at(pos-1).swap(conf.buttons.at(pos));
|
||||||
|
|
||||||
|
Log::trace << "rows swapped in config";
|
||||||
|
|
||||||
|
// apply change in GUI
|
||||||
|
|
||||||
|
//get Child above
|
||||||
|
RowItem* rowaboveItem = dynamic_cast<RowItem*>(mparent->child(pos-1));
|
||||||
|
if(rowaboveItem) {
|
||||||
|
rowaboveItem->pos++;
|
||||||
|
rowaboveItem->updatePosition();
|
||||||
|
} else {
|
||||||
|
Log::error << "row above could not be updated";
|
||||||
|
}
|
||||||
|
|
||||||
|
QTreeWidgetItem* myparent = mparent;
|
||||||
|
Log::debug << "parent: " << myparent;
|
||||||
|
|
||||||
|
int index = myparent->indexOfChild(this);
|
||||||
|
Log::debug << "index: " << index;
|
||||||
|
|
||||||
|
bool wasexpanded = isExpanded();
|
||||||
|
myparent->removeChild(this);
|
||||||
|
|
||||||
|
myparent->insertChild(index-1, this);
|
||||||
|
setExpanded(wasexpanded);
|
||||||
|
|
||||||
|
pos--;
|
||||||
|
updatePosition();
|
||||||
|
}
|
||||||
|
|
||||||
|
void RowItem::moveDown() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void RowItem::updatePosition() {
|
||||||
|
setData(0, Qt::ItemDataRole::DisplayRole, QVariant((int) pos+1));
|
||||||
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#include "editsample.h"
|
#include "editsample.h"
|
||||||
|
|
||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
|
#include <QMessageBox>
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
@ -124,6 +125,11 @@ void MainWindow::playCurrent() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::reloadButtonConfig() {
|
||||||
|
removeAllButtons();
|
||||||
|
loadButtonsFromConfig();
|
||||||
|
}
|
||||||
|
|
||||||
void MainWindow::alwaysOnTopSettingChange(int status) {
|
void MainWindow::alwaysOnTopSettingChange(int status) {
|
||||||
Qt::WindowFlags eFlags = windowFlags();
|
Qt::WindowFlags eFlags = windowFlags();
|
||||||
Log::debug << "status: " << status;
|
Log::debug << "status: " << status;
|
||||||
|
@ -170,6 +176,12 @@ void MainWindow::openButtonManager() {
|
||||||
|
|
||||||
ButtonManager buttonManager(config, this);
|
ButtonManager buttonManager(config, this);
|
||||||
buttonManager.exec();
|
buttonManager.exec();
|
||||||
|
|
||||||
|
// reload button config
|
||||||
|
if(buttonManager.result() == QMessageBox::ButtonRole::AcceptRole) {
|
||||||
|
removeAllButtons();
|
||||||
|
loadButtonsFromConfig();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::loadSoundFromConfig() {
|
void MainWindow::loadSoundFromConfig() {
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
<enum>Qt::Horizontal</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="standardButtons">
|
<property name="standardButtons">
|
||||||
<set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Save</set>
|
<set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Reset|QDialogButtonBox::Save</set>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -55,23 +55,8 @@
|
||||||
<item row="0" column="0" rowspan="6">
|
<item row="0" column="0" rowspan="6">
|
||||||
<widget class="QTreeWidget" name="buttonTreeWidget">
|
<widget class="QTreeWidget" name="buttonTreeWidget">
|
||||||
<property name="columnCount">
|
<property name="columnCount">
|
||||||
<number>3</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">1</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">2</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">3</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="2">
|
<item row="1" column="2">
|
||||||
|
@ -92,12 +77,12 @@
|
||||||
<slot>accept()</slot>
|
<slot>accept()</slot>
|
||||||
<hints>
|
<hints>
|
||||||
<hint type="sourcelabel">
|
<hint type="sourcelabel">
|
||||||
<x>227</x>
|
<x>236</x>
|
||||||
<y>278</y>
|
<y>734</y>
|
||||||
</hint>
|
</hint>
|
||||||
<hint type="destinationlabel">
|
<hint type="destinationlabel">
|
||||||
<x>157</x>
|
<x>179</x>
|
||||||
<y>274</y>
|
<y>705</y>
|
||||||
</hint>
|
</hint>
|
||||||
</hints>
|
</hints>
|
||||||
</connection>
|
</connection>
|
||||||
|
@ -108,14 +93,135 @@
|
||||||
<slot>reject()</slot>
|
<slot>reject()</slot>
|
||||||
<hints>
|
<hints>
|
||||||
<hint type="sourcelabel">
|
<hint type="sourcelabel">
|
||||||
<x>295</x>
|
<x>304</x>
|
||||||
<y>284</y>
|
<y>734</y>
|
||||||
</hint>
|
</hint>
|
||||||
<hint type="destinationlabel">
|
<hint type="destinationlabel">
|
||||||
<x>286</x>
|
<x>391</x>
|
||||||
<y>274</y>
|
<y>704</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>addButton</sender>
|
||||||
|
<signal>clicked()</signal>
|
||||||
|
<receiver>ButtonManager</receiver>
|
||||||
|
<slot>addButton()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>848</x>
|
||||||
|
<y>24</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>801</x>
|
||||||
|
<y>320</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>editButton</sender>
|
||||||
|
<signal>clicked()</signal>
|
||||||
|
<receiver>ButtonManager</receiver>
|
||||||
|
<slot>editButton()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>818</x>
|
||||||
|
<y>52</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>801</x>
|
||||||
|
<y>362</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>deleteButton</sender>
|
||||||
|
<signal>clicked()</signal>
|
||||||
|
<receiver>ButtonManager</receiver>
|
||||||
|
<slot>deleteButton()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>854</x>
|
||||||
|
<y>82</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>803</x>
|
||||||
|
<y>403</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>moveUpButton</sender>
|
||||||
|
<signal>clicked()</signal>
|
||||||
|
<receiver>ButtonManager</receiver>
|
||||||
|
<slot>upButton()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>863</x>
|
||||||
|
<y>125</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>805</x>
|
||||||
|
<y>443</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>moveDownButton</sender>
|
||||||
|
<signal>clicked()</signal>
|
||||||
|
<receiver>ButtonManager</receiver>
|
||||||
|
<slot>deleteButton()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>867</x>
|
||||||
|
<y>155</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>804</x>
|
||||||
|
<y>488</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>buttonTreeWidget</sender>
|
||||||
|
<signal>itemSelectionChanged()</signal>
|
||||||
|
<receiver>ButtonManager</receiver>
|
||||||
|
<slot>itemSelected()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>427</x>
|
||||||
|
<y>393</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>847</x>
|
||||||
|
<y>625</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>buttonBox</sender>
|
||||||
|
<signal>clicked(QAbstractButton*)</signal>
|
||||||
|
<receiver>ButtonManager</receiver>
|
||||||
|
<slot>dialogButtonPressed(QAbstractButton*)</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>512</x>
|
||||||
|
<y>708</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>530</x>
|
||||||
|
<y>683</y>
|
||||||
</hint>
|
</hint>
|
||||||
</hints>
|
</hints>
|
||||||
</connection>
|
</connection>
|
||||||
</connections>
|
</connections>
|
||||||
|
<slots>
|
||||||
|
<slot>addButton()</slot>
|
||||||
|
<slot>editButton()</slot>
|
||||||
|
<slot>deleteButton()</slot>
|
||||||
|
<slot>upButton()</slot>
|
||||||
|
<slot>downButton()</slot>
|
||||||
|
<slot>itemSelected()</slot>
|
||||||
|
<slot>dialogButtonPressed(QAbstractButton*)</slot>
|
||||||
|
</slots>
|
||||||
</ui>
|
</ui>
|
||||||
|
|
Loading…
Reference in New Issue