summaryrefslogtreecommitdiff
path: root/muse2/muse/master
diff options
context:
space:
mode:
Diffstat (limited to 'muse2/muse/master')
-rw-r--r--muse2/muse/master/lmaster.cpp67
-rw-r--r--muse2/muse/master/lmaster.h19
-rw-r--r--muse2/muse/master/masteredit.cpp90
-rw-r--r--muse2/muse/master/masteredit.h8
4 files changed, 98 insertions, 86 deletions
diff --git a/muse2/muse/master/lmaster.cpp b/muse2/muse/master/lmaster.cpp
index fd035355..5370a493 100644
--- a/muse2/muse/master/lmaster.cpp
+++ b/muse2/muse/master/lmaster.cpp
@@ -40,6 +40,7 @@
#define LMASTER_MSGBOX_STRING "MusE: List Editor"
+
//don't remove or insert new elements in keyStrs.
//only renaming (keeping the semantic sense) is allowed! (flo)
QStringList keyStrs = QStringList()
@@ -101,7 +102,7 @@ QString keyToString(key_enum key)
void LMaster::closeEvent(QCloseEvent* e)
{
- emit deleted((unsigned long)this);
+ emit deleted(static_cast<TopWin*>(this));
e->accept();
}
@@ -120,7 +121,7 @@ void LMaster::songChanged(int type)
//---------------------------------------------------------
LMaster::LMaster()
- : MidiEditor(0, 0, 0)
+ : MidiEditor(TopWin::LMASTER, 0, 0, 0)
{
pos_editor = 0;
tempo_editor = 0;
@@ -153,6 +154,12 @@ LMaster::LMaster()
delAction = menuEdit->addAction(tr("Delete Event"));
delAction->setShortcut(Qt::Key_Delete);
+ QMenu* settingsMenu = menuBar()->addMenu(tr("Window &Config"));
+ settingsMenu->addAction(subwinAction);
+ settingsMenu->addAction(shareAction);
+ settingsMenu->addAction(fullscreenAction);
+
+
connect(tempoAction, SIGNAL(triggered()), signalMapper, SLOT(map()));
connect(signAction, SIGNAL(triggered()), signalMapper, SLOT(map()));
connect(keyAction, SIGNAL(triggered()), signalMapper, SLOT(map()));
@@ -169,11 +176,13 @@ LMaster::LMaster()
connect(signalMapper, SIGNAL(mapped(int)), SLOT(cmd(int)));
- //---------ToolBar----------------------------------
- tools = addToolBar(tr("Master tools"));
- tools->addActions(undoRedo->actions());
+ // Toolbars ---------------------------------------------------------
+ QToolBar* undo_tools=addToolBar(tr("Undo/Redo tools"));
+ undo_tools->setObjectName("Undo/Redo tools");
+ undo_tools->addActions(undoRedo->actions());
QToolBar* edit = addToolBar(tr("Edit tools"));
+ edit->setObjectName("Master List Edit Tools");
QToolButton* tempoButton = new QToolButton();
QToolButton* timeSigButton = new QToolButton();
QToolButton* keyButton = new QToolButton();
@@ -187,6 +196,14 @@ LMaster::LMaster()
edit->addWidget(timeSigButton);
edit->addWidget(keyButton);
+ QToolBar* panic_toolbar = addToolBar(tr("panic"));
+ panic_toolbar->setObjectName("panic");
+ panic_toolbar->addAction(panicAction);
+
+ QToolBar* transport_toolbar = addToolBar(tr("transport"));
+ transport_toolbar->setObjectName("transport");
+ transport_toolbar->addActions(transportAction->actions());
+
///Q3Accel* qa = new Q3Accel(this);
///qa->connectItem(qa->insertItem(Qt::CTRL+Qt::Key_Z), song, SLOT(undo()));
///qa->connectItem(qa->insertItem(Qt::CTRL+Qt::Key_Y), song, SLOT(redo()));
@@ -244,6 +261,7 @@ LMaster::LMaster()
connect(keyButton, SIGNAL(clicked()), SLOT(insertKey()));
initShortcuts();
+ initalizing=false;
}
//---------------------------------------------------------
@@ -405,6 +423,45 @@ void LMaster::writeStatus(int level, Xml& xml) const
}
//---------------------------------------------------------
+// readConfiguration
+//---------------------------------------------------------
+
+void LMaster::readConfiguration(Xml& xml)
+ {
+ for (;;) {
+ Xml::Token token = xml.parse();
+ const QString& tag = xml.s1();
+ switch (token) {
+ case Xml::Error:
+ case Xml::End:
+ return;
+ case Xml::TagStart:
+ if (tag == "topwin")
+ TopWin::readConfiguration(LMASTER, xml);
+ else
+ xml.unknown("LMaster");
+ break;
+ case Xml::TagEnd:
+ if (tag == "lmaster")
+ return;
+ default:
+ break;
+ }
+ }
+ }
+
+//---------------------------------------------------------
+// writeConfiguration
+//---------------------------------------------------------
+
+void LMaster::writeConfiguration(int level, Xml& xml)
+ {
+ xml.tag(level++, "lmaster");
+ TopWin::writeConfiguration(LMASTER, level, xml);
+ xml.tag(level, "/lmaster");
+ }
+
+//---------------------------------------------------------
// select
//---------------------------------------------------------
diff --git a/muse2/muse/master/lmaster.h b/muse2/muse/master/lmaster.h
index 837d6d76..9372d1b2 100644
--- a/muse2/muse/master/lmaster.h
+++ b/muse2/muse/master/lmaster.h
@@ -14,15 +14,10 @@
#include "tempo.h"
#include "keyevent.h"
///#include "sig.h"
-//#include "al/sig.h"
+#include "al/sig.h"
#include <QTreeWidgetItem>
-namespace AL {
- class SigEvent;
- };
-using AL::SigEvent;
-
namespace Awl {
class PosEdit;
class SigEdit;
@@ -97,12 +92,12 @@ class LMasterKeyEventItem : public LMasterLViewItem {
class LMasterSigEventItem : public LMasterLViewItem {
private:
- const SigEvent* sigEvent;
+ const AL::SigEvent* sigEvent;
public:
- LMasterSigEventItem(QTreeWidget* parent, const SigEvent* s);
+ LMasterSigEventItem(QTreeWidget* parent, const AL::SigEvent* s);
virtual LMASTER_LVTYPE getType() { return LMASTER_SIGEVENT; }
- const SigEvent* getEvent() { return sigEvent; }
+ const AL::SigEvent* getEvent() { return sigEvent; }
virtual unsigned tick() { return sigEvent->tick; }
int z() { return sigEvent->sig.z; }
int n() { return sigEvent->sig.n; }
@@ -127,7 +122,7 @@ class LMaster : public MidiEditor {
virtual void closeEvent(QCloseEvent*);
void updateList();
void insertTempo(const TEvent*);
- void insertSig(const SigEvent*);
+ void insertSig(const AL::SigEvent*);
void insertKey(const KeyEvent&);
LMasterLViewItem* getItemAtPos(unsigned tick, LMASTER_LVTYPE t);
void initShortcuts();
@@ -158,7 +153,7 @@ class LMaster : public MidiEditor {
void configChanged();
signals:
- void deleted(unsigned long);
+ void deleted(TopWin*);
void seekTo(int tick);
public:
@@ -166,6 +161,8 @@ class LMaster : public MidiEditor {
~LMaster();
virtual void readStatus(Xml&);
virtual void writeStatus(int, Xml&) const;
+ static void readConfiguration(Xml&);
+ static void writeConfiguration(int, Xml&);
LMasterLViewItem* getLastOfType(LMASTER_LVTYPE t);
};
diff --git a/muse2/muse/master/masteredit.cpp b/muse2/muse/master/masteredit.cpp
index fafa3b4f..1eb2d071 100644
--- a/muse2/muse/master/masteredit.cpp
+++ b/muse2/muse/master/masteredit.cpp
@@ -31,12 +31,10 @@
#include <QLabel>
#include <QToolBar>
#include <QToolButton>
-#include <QSettings>
+#include <QMenuBar>
+#include <QMenu>
int MasterEdit::_rasterInit = 0;
-int MasterEdit::_widthInit = 600;
-int MasterEdit::_heightInit = 400;
-QByteArray MasterEdit::_toolbarInit;
//---------------------------------------------------------
// closeEvent
@@ -44,11 +42,7 @@ QByteArray MasterEdit::_toolbarInit;
void MasterEdit::closeEvent(QCloseEvent* e)
{
- QSettings settings("MusE", "MusE-qt");
- //settings.setValue("MasterEdit/geometry", saveGeometry());
- settings.setValue("MasterEdit/windowState", saveState());
-
- emit deleted((unsigned long)this);
+ emit deleted(static_cast<TopWin*>(this));
e->accept();
}
@@ -85,22 +79,33 @@ void MasterEdit::songChanged(int type)
//---------------------------------------------------------
MasterEdit::MasterEdit()
- : MidiEditor(_rasterInit, 0)
+ : MidiEditor(TopWin::MASTER, _rasterInit, 0)
{
setWindowTitle(tr("MusE: Mastertrack"));
_raster = 0; // measure
- setMinimumSize(400, 300);
- resize(_widthInit, _heightInit);
//---------Pulldown Menu----------------------------
// QPopupMenu* file = new QPopupMenu(this);
// menuBar()->insertItem("&File", file);
- //---------ToolBar----------------------------------
-
- tools = addToolBar(tr("Master tools"));
- tools->setObjectName("Master tools");
- tools->addActions(undoRedo->actions());
+ QMenu* settingsMenu = menuBar()->addMenu(tr("Window &Config"));
+ settingsMenu->addAction(subwinAction);
+ settingsMenu->addAction(shareAction);
+ settingsMenu->addAction(fullscreenAction);
+
+ // Toolbars ---------------------------------------------------------
+ QToolBar* undo_tools=addToolBar(tr("Undo/Redo tools"));
+ undo_tools->setObjectName("Undo/Redo tools");
+ undo_tools->addActions(undoRedo->actions());
+
+
+ QToolBar* panic_toolbar = addToolBar(tr("panic"));
+ panic_toolbar->setObjectName("panic");
+ panic_toolbar->addAction(panicAction);
+
+ QToolBar* transport_toolbar = addToolBar(tr("transport"));
+ transport_toolbar->setObjectName("transport");
+ transport_toolbar->addActions(transportAction->actions());
EditToolBar* tools2 = new EditToolBar(this, PointerTool | PencilTool | RubberTool);
addToolBar(tools2);
@@ -241,12 +246,8 @@ MasterEdit::MasterEdit()
connect(canvas, SIGNAL(followEvent(int)), hscroll, SLOT(setOffset(int)));
connect(canvas, SIGNAL(timeChanged(unsigned)), SLOT(setTime(unsigned)));
- if (!_toolbarInit.isEmpty())
- restoreState(_toolbarInit);
-
- QSettings settings("MusE", "MusE-qt");
- //restoreGeometry(settings.value("MasterEdit/geometry").toByteArray());
- restoreState(settings.value("MasterEdit/windowState").toByteArray());
+ initTopwinState();
+ initalizing=false;
}
//---------------------------------------------------------
@@ -335,12 +336,8 @@ void MasterEdit::readConfiguration(Xml& xml)
case Xml::TagStart:
if (tag == "raster")
_rasterInit = xml.parseInt();
- else if (tag == "width")
- _widthInit = xml.parseInt();
- else if (tag == "height")
- _heightInit = xml.parseInt();
- else if (tag == "toolbars")
- _toolbarInit = QByteArray::fromHex(xml.parse1().toAscii());
+ else if (tag == "topwin")
+ TopWin::readConfiguration(MASTER, xml);
else
xml.unknown("MasterEdit");
break;
@@ -361,9 +358,7 @@ void MasterEdit::writeConfiguration(int level, Xml& xml)
{
xml.tag(level++, "masteredit");
xml.intTag(level, "raster", _rasterInit);
- xml.intTag(level, "width", _widthInit);
- xml.intTag(level, "height", _heightInit);
- xml.strTag(level, "toolbars", _toolbarInit.toHex().data());
+ TopWin::writeConfiguration(MASTER, level, xml);
xml.tag(level, "/masteredit");
}
@@ -432,34 +427,3 @@ void MasterEdit::setTempo(int val)
}
-//---------------------------------------------------------
-// resizeEvent
-//---------------------------------------------------------
-
-void MasterEdit::resizeEvent(QResizeEvent* ev)
- {
- QWidget::resizeEvent(ev);
- storeInitialState();
- }
-
-//---------------------------------------------------------
-// focusOutEvent
-//---------------------------------------------------------
-
-void MasterEdit::focusOutEvent(QFocusEvent* ev)
- {
- QWidget::focusOutEvent(ev);
- storeInitialState();
- }
-
-
-//---------------------------------------------------------
-// storeInitialState
-//---------------------------------------------------------
-
-void MasterEdit::storeInitialState()
- {
- _widthInit = width();
- _heightInit = height();
- _toolbarInit=saveState();
- }
diff --git a/muse2/muse/master/masteredit.h b/muse2/muse/master/masteredit.h
index b2b06291..4e66f70e 100644
--- a/muse2/muse/master/masteredit.h
+++ b/muse2/muse/master/masteredit.h
@@ -61,14 +61,8 @@ class MasterEdit : public MidiEditor {
QToolButton* enableButton;
static int _rasterInit;
- static int _widthInit, _heightInit;
- static QByteArray _toolbarInit;
-
virtual void closeEvent(QCloseEvent*);
- virtual void resizeEvent(QResizeEvent*);
- virtual void focusOutEvent(QFocusEvent*);
- void storeInitialState();
private slots:
void _setRaster(int);
@@ -81,7 +75,7 @@ class MasterEdit : public MidiEditor {
// void tempoChanged(double);
signals:
- void deleted(unsigned long);
+ void deleted(TopWin*);
public:
MasterEdit();