diff --git a/include/PianoRoll.h b/include/PianoRoll.h index 0adc98e86..e190a0e6d 100644 --- a/include/PianoRoll.h +++ b/include/PianoRoll.h @@ -58,6 +58,14 @@ class PianoRoll : public QWidget Q_PROPERTY( QColor noteColor READ noteColor WRITE setNoteColor ) Q_PROPERTY( QColor barColor READ barColor WRITE setBarColor ) public: + enum editModes + { + ModeDraw, + ModeErase, + ModeSelect, + ModeEditDetuning, + }; + /*! \brief Resets settings to default when e.g. creating a new project */ void reset(); @@ -97,6 +105,7 @@ public: QColor barColor() const; void setBarColor( const QColor & _c ); + protected: virtual void keyPressEvent( QKeyEvent * _ke ); virtual void keyReleaseEvent( QKeyEvent * _ke ); @@ -131,10 +140,11 @@ protected slots: void horScrolled( int _new_pos ); void verScrolled( int _new_pos ); - void drawButtonToggled(); - void eraseButtonToggled(); - void selectButtonToggled(); - void detuneButtonToggled(); + void setEditMode(editModes mode); + void setEditModeDraw() {setEditMode(ModeDraw); } + void setEditModeErase() {setEditMode(ModeErase); } + void setEditModeSelect() {setEditMode(ModeSelect); } + void setEditModeDetune() {setEditMode(ModeEditDetuning); } void copySelectedNotes(); void cutSelectedNotes(); @@ -162,14 +172,6 @@ signals: private: - enum editModes - { - ModeDraw, - ModeErase, - ModeSelect, - ModeEditDetuning, - }; - enum actions { ActionNone, diff --git a/src/gui/PianoRoll.cpp b/src/gui/PianoRoll.cpp index 6cc05f644..e864bfd5d 100644 --- a/src/gui/PianoRoll.cpp +++ b/src/gui/PianoRoll.cpp @@ -3459,40 +3459,14 @@ void PianoRoll::verScrolled( int _new_pos ) -void PianoRoll::drawButtonToggled() +void PianoRoll::setEditMode(PianoRoll::editModes mode) { - m_editMode = ModeDraw; - update(); + m_editMode = mode; } -void PianoRoll::eraseButtonToggled() -{ - m_editMode = ModeErase; - update(); -} - - - - -void PianoRoll::selectButtonToggled() -{ - m_editMode = ModeSelect; - update(); -} - - - -void PianoRoll::detuneButtonToggled() -{ - m_editMode = ModeEditDetuning; - update(); -} - - - void PianoRoll::selectAll() { if( hasValidPattern() == false ) @@ -4047,10 +4021,10 @@ PianoRollWindow::PianoRollWindow() : "notes from one to another. You can also press " "'Shift+T' on your keyboard to activate this mode." ) ); - connect(m_drawAction, SIGNAL(triggered()), m_editor, SLOT(drawButtonToggled())); - connect(m_eraseAction, SIGNAL(triggered()), m_editor, SLOT(eraseButtonToggled())); - connect(m_selectAction, SIGNAL(triggered()), m_editor, SLOT(selectButtonToggled())); - connect(m_detuneAction, SIGNAL(triggered()), m_editor, SLOT(detuneButtonToggled())); + connect(m_drawAction, SIGNAL(triggered()), m_editor, SLOT(setEditModeDraw())); + connect(m_eraseAction, SIGNAL(triggered()), m_editor, SLOT(setEditModeErase())); + connect(m_selectAction, SIGNAL(triggered()), m_editor, SLOT(setEditModeSelect())); + connect(m_detuneAction, SIGNAL(triggered()), m_editor, SLOT(setEditModeDetune())); // Copy + paste actions m_cutAction = new QAction(embed::getIconPixmap("edit_cut"),