summaryrefslogtreecommitdiff
path: root/src/mainwindow.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainwindow.cc')
-rw-r--r--src/mainwindow.cc72
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());
}