diff options
Diffstat (limited to 'src/mainwindow.cc')
-rw-r--r-- | src/mainwindow.cc | 72 |
1 files changed, 47 insertions, 25 deletions
diff --git a/src/mainwindow.cc b/src/mainwindow.cc index 435f0b0..1217fe3 100644 --- a/src/mainwindow.cc +++ b/src/mainwindow.cc @@ -31,38 +31,41 @@ #include <QHBoxLayout> #include <QVBoxLayout> -#include <QPushButton> -#include <QLabel> #include <QStatusBar> #include <QApplication> -#include <QDockWidget> -#include <QToolBar> -#include <QAction> #include <QMenuBar> #include <QFileDialog> -#include <QIntValidator> -#include <QTabWidget> -#include <QProgressBar> -#include <QTime> -#include <QSpinBox> - -#include "sleep.h" -#include "canvastool.h" -#include "canvastoolthreshold.h" -#include "volumefader.h" -#include "selectioneditor.h" -#include "zoomslider.h" + #include "settings.h" #include "projectdialog.h" #include "projectserialiser.h" +#include "instrumentwidget.h" #define MAXVAL 10000000L MainWindow::MainWindow(Settings& settings) : settings(settings) - , instrument_window(settings) { - setCentralWidget(&instrument_window); + tab_widget = new QTabWidget(); + tab_widget->setTabsClosable(true); + tab_widget->setMovable(true); + + auto instr_id1 = project.createInstrument(); + auto instr_id2 = project.createInstrument(); + auto instr_id3 = project.createInstrument(); + + auto instr1 = project.getInstrument(instr_id1); + auto instr2 = project.getInstrument(instr_id2); + auto instr3 = project.getInstrument(instr_id3); + + tab_widget->addTab(new InstrumentWidget(settings, instr1), + QPixmap(":icons/instrument.png"), "Snare"); + tab_widget->addTab(new InstrumentWidget(settings, instr2), + QPixmap(":icons/instrument.png"), "Kick-l"); + tab_widget->addTab(new InstrumentWidget(settings, instr3), + QPixmap(":icons/instrument.png"), "Floor Tom 1"); + + setCentralWidget(tab_widget); QMenu* fileMenu = menuBar()->addMenu(tr("&File")); @@ -87,6 +90,25 @@ MainWindow::MainWindow(Settings& settings) fileMenu->addAction(act_quit); connect(act_quit, SIGNAL(triggered()), this, SLOT(close())); + instruments_dock = new QDockWidget(tr("Instruments:"), this); + instruments_dock->setAllowedAreas(Qt::LeftDockWidgetArea); + instruments_dock->setFeatures(QDockWidget::DockWidgetMovable); + QListWidget* instrument_list = new QListWidget(); + instrument_list->addItems({"Snare", "Kick-l", "Floor Tom 1"}); + instruments_dock->setWidget(instrument_list); + addDockWidget(Qt::LeftDockWidgetArea, instruments_dock); + + channels_dock = new QDockWidget(tr("Channels:"), this); + channels_dock->setAllowedAreas(Qt::LeftDockWidgetArea); + channels_dock->setFeatures(QDockWidget::DockWidgetMovable); + QListWidget* channel_list = new QListWidget(); + channel_list->addItems({"AmbL", "AmbR", "Kdrum_back", "Kdrum_front", "Hihat", + "OHL", "OHR", "Ride","Snare_bottom", "Snare_top", + "Tom1", "Tom2", "Tom3"}); + + channels_dock->setWidget(channel_list); + addDockWidget(Qt::LeftDockWidgetArea, channels_dock); + loadSettings(); statusBar()->showMessage(tr("Ready")); @@ -130,17 +152,17 @@ void MainWindow::closeEvent(QCloseEvent*) void MainWindow::loadSettings() { - QSize size; - QPoint pos; - settings.loadGeometry(size, pos); - resize(size); - move(pos); + QByteArray state; + QByteArray geometry; + settings.loadGeometry(state, geometry); + restoreGeometry(geometry); + restoreState(state); // TODO: lineed_exportp->setText(settings.loadExportPath()); } void MainWindow::saveSettings() { - settings.saveGeometry(size(), pos()); + settings.saveGeometry(saveState(), saveGeometry()); // TODO: settings.saveExportPath(lineed_exportp->text()); } |