diff options
Diffstat (limited to 'muse2/muse/master')
| -rw-r--r-- | muse2/muse/master/lmaster.cpp | 1 | ||||
| -rw-r--r-- | muse2/muse/master/masteredit.cpp | 51 | ||||
| -rw-r--r-- | muse2/muse/master/masteredit.h | 8 |
3 files changed, 58 insertions, 2 deletions
diff --git a/muse2/muse/master/lmaster.cpp b/muse2/muse/master/lmaster.cpp index 2f921cdc..9083c024 100644 --- a/muse2/muse/master/lmaster.cpp +++ b/muse2/muse/master/lmaster.cpp @@ -125,6 +125,7 @@ LMaster::LMaster() setWindowTitle(tr("MusE: Mastertrack")); setMinimumHeight(100); setFixedWidth(400); + setFocusPolicy(Qt::StrongFocus); //---------Pulldown Menu---------------------------- menuEdit = menuBar()->addMenu(tr("&Edit")); diff --git a/muse2/muse/master/masteredit.cpp b/muse2/muse/master/masteredit.cpp index 2b91ae90..9053f3a8 100644 --- a/muse2/muse/master/masteredit.cpp +++ b/muse2/muse/master/masteredit.cpp @@ -33,6 +33,9 @@ #include <QToolButton> int MasterEdit::_rasterInit = 0; +int MasterEdit::_widthInit = 600; +int MasterEdit::_heightInit = 400; +QByteArray MasterEdit::_toolbarInit; //--------------------------------------------------------- // closeEvent @@ -77,12 +80,12 @@ void MasterEdit::songChanged(int type) //--------------------------------------------------------- MasterEdit::MasterEdit() - : MidiEditor(0, _rasterInit, 0) + : MidiEditor(_rasterInit, 0) { setWindowTitle(tr("MusE: Mastertrack")); _raster = 0; // measure setMinimumSize(400, 300); - resize(500, 350); + resize(_widthInit, _heightInit); //---------Pulldown Menu---------------------------- // QPopupMenu* file = new QPopupMenu(this); @@ -229,6 +232,9 @@ MasterEdit::MasterEdit() connect(canvas, SIGNAL(followEvent(int)), hscroll, SLOT(setOffset(int))); connect(canvas, SIGNAL(timeChanged(unsigned)), SLOT(setTime(unsigned))); + + if (!_toolbarInit.isEmpty()) + restoreState(_toolbarInit); } //--------------------------------------------------------- @@ -317,6 +323,12 @@ 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 xml.unknown("MasterEdit"); break; @@ -337,6 +349,9 @@ 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()); xml.tag(level, "/masteredit"); } @@ -404,3 +419,35 @@ 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 af43c7b0..59a5ab05 100644 --- a/muse2/muse/master/masteredit.h +++ b/muse2/muse/master/masteredit.h @@ -8,6 +8,9 @@ #ifndef __MASTER_EDIT_H__ #define __MASTER_EDIT_H__ +#include <QByteArray> +#include <QResizeEvent> + #include "midieditor.h" #include "noteinfo.h" #include "cobject.h" @@ -56,9 +59,14 @@ class MasterEdit : public MidiEditor { QToolButton* enableButton; static int _rasterInit; + static int _widthInit, _heightInit; + static QByteArray _toolbarInit; Q_OBJECT virtual void closeEvent(QCloseEvent*); + virtual void resizeEvent(QResizeEvent*); + virtual void focusOutEvent(QFocusEvent*); + void storeInitialState(); private slots: void _setRaster(int); |
