diff options
Diffstat (limited to 'muse2/muse/master')
-rw-r--r-- | muse2/muse/master/lmaster.cpp | 67 | ||||
-rw-r--r-- | muse2/muse/master/lmaster.h | 19 | ||||
-rw-r--r-- | muse2/muse/master/masteredit.cpp | 90 | ||||
-rw-r--r-- | muse2/muse/master/masteredit.h | 8 |
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(); |