From e38812a6c45d3e27e49ef37aecc4d9114ad26d6c Mon Sep 17 00:00:00 2001 From: Robert Jonsson Date: Wed, 21 Apr 2010 19:07:53 +0000 Subject: track change shortcut --- muse/ChangeLog | 2 ++ muse/muse/arranger/arranger.cpp | 2 ++ muse/muse/arranger/pcanvas.cpp | 8 ++++++++ muse/muse/arranger/pcanvas.h | 2 ++ muse/muse/arranger/tlist.cpp | 16 ++++++++++++++++ muse/muse/arranger/tlist.h | 2 ++ muse/muse/shortcuts.cpp | 3 +++ muse/muse/shortcuts.h | 4 ++++ 8 files changed, 39 insertions(+) diff --git a/muse/ChangeLog b/muse/ChangeLog index 270ee100..c7f8a2bb 100644 --- a/muse/ChangeLog +++ b/muse/ChangeLog @@ -1,3 +1,5 @@ +21.04.2010 + * Fixed: Shortcut for moving between tracks in arranger. Ctrl+Up/Down (rj) 19.04.2010 * Patch: Fix for libdir bug causing synths to not be available on some 64bit systems. By Orcan Ogetbil (rj) * Fixed: Drawing of grid when snaping to less than measure (rj) diff --git a/muse/muse/arranger/arranger.cpp b/muse/muse/arranger/arranger.cpp index 4b0d7f38..6cd44af7 100644 --- a/muse/muse/arranger/arranger.cpp +++ b/muse/muse/arranger/arranger.cpp @@ -305,6 +305,8 @@ Arranger::Arranger(QMainWindow* parent, const char* name) connect(canvas, SIGNAL(setUsedTool(int)), this, SIGNAL(setUsedTool(int))); connect(canvas, SIGNAL(trackChanged(Track*)), list, SLOT(selectTrack(Track*))); connect(list, SIGNAL(keyPressExt(QKeyEvent*)), canvas, SLOT(redirKeypress(QKeyEvent*))); + connect(canvas, SIGNAL(selectTrackAbove()), list, SLOT(selectTrackAbove())); + connect(canvas, SIGNAL(selectTrackBelow()), list, SLOT(selectTrackBelow())); connect(this, SIGNAL(redirectWheelEvent(QWheelEvent*)), canvas, SLOT(redirectedWheelEvent(QWheelEvent*))); connect(list, SIGNAL(redirectWheelEvent(QWheelEvent*)), canvas, SLOT(redirectedWheelEvent(QWheelEvent*))); diff --git a/muse/muse/arranger/pcanvas.cpp b/muse/muse/arranger/pcanvas.cpp index cd89cee2..2c02adac 100644 --- a/muse/muse/arranger/pcanvas.cpp +++ b/muse/muse/arranger/pcanvas.cpp @@ -1086,6 +1086,14 @@ void PartCanvas::keyPress(QKeyEvent* event) emit setUsedTool(MuteTool); return; } + else if (key == shortcuts[SHRT_SEL_TRACK_ABOVE].key) { + emit selectTrackAbove(); + return; + } + else if (key == shortcuts[SHRT_SEL_TRACK_BELOW].key) { + emit selectTrackBelow(); + return; + } // // Shortcuts that require selected parts from here diff --git a/muse/muse/arranger/pcanvas.h b/muse/muse/arranger/pcanvas.h index 302f48fb..8e21e1d0 100644 --- a/muse/muse/arranger/pcanvas.h +++ b/muse/muse/arranger/pcanvas.h @@ -103,6 +103,8 @@ class PartCanvas : public Canvas { void dropMidiFile(const QString&); void setUsedTool(int); void trackChanged(Track*); + void selectTrackAbove(); + void selectTrackBelow(); void startEditor(PartList*, int); diff --git a/muse/muse/arranger/tlist.cpp b/muse/muse/arranger/tlist.cpp index 5b212eb6..1be0a240 100644 --- a/muse/muse/arranger/tlist.cpp +++ b/muse/muse/arranger/tlist.cpp @@ -1066,6 +1066,22 @@ void TList::selectTrack(Track* tr) redraw(); emit selectionChanged(); } + +//--------------------------------------------------------- +// selectTrackAbove +//--------------------------------------------------------- +void TList::selectTrackAbove() +{ + moveSelection(-1); +} +//--------------------------------------------------------- +// selectTrackBelow +//--------------------------------------------------------- +void TList::selectTrackBelow() +{ + moveSelection(1); +} + //--------------------------------------------------------- // mouseMoveEvent //--------------------------------------------------------- diff --git a/muse/muse/arranger/tlist.h b/muse/muse/arranger/tlist.h index 1cf86490..d6ae810a 100644 --- a/muse/muse/arranger/tlist.h +++ b/muse/muse/arranger/tlist.h @@ -109,6 +109,8 @@ class TList : public QWidget { void setYPos(int); void redraw(); void selectTrack(Track*); + void selectTrackAbove(); + void selectTrackBelow(); public: TList(Header*, QWidget* parent, const char* name); diff --git a/muse/muse/shortcuts.cpp b/muse/muse/shortcuts.cpp index 057fef49..63b6eef6 100644 --- a/muse/muse/shortcuts.cpp +++ b/muse/muse/shortcuts.cpp @@ -128,6 +128,9 @@ void initShortCuts() defShrt(SHRT_SEL_BELOW, Qt::Key_Down, "Edit: Select nearest part on track below", ARRANG_SHRT, "sel_part_below"); defShrt(SHRT_SEL_BELOW_ADD, Qt::SHIFT + Qt::Key_Down, "Edit: Add nearest part on track below", ARRANG_SHRT, "sel_part_below_add"); + defShrt(SHRT_SEL_TRACK_ABOVE, Qt::CTRL + Qt::Key_Up, "Select track above", ARRANG_SHRT, "sel_track_above"); + defShrt(SHRT_SEL_TRACK_BELOW, Qt::CTRL + Qt::Key_Down, "Select track below", ARRANG_SHRT, "sel_track_below"); + //----------------------------------------------------------- defShrt(SHRT_TRANSPOSE, 0, "Midi: Transpose", ARRANG_SHRT + PROLL_SHRT, "midi_transpose"); diff --git a/muse/muse/shortcuts.h b/muse/muse/shortcuts.h index f4159031..81bf865e 100644 --- a/muse/muse/shortcuts.h +++ b/muse/muse/shortcuts.h @@ -163,6 +163,10 @@ enum { SHRT_SEL_BELOW, //Down SHRT_SEL_BELOW_ADD, //move down and add to selection + //Arranger tracks + SHRT_SEL_TRACK_BELOW, + SHRT_SEL_TRACK_ABOVE, + //To be in arranger, pianoroll & drumeditor SHRT_SELECT_ALL, //Ctrl+A SHRT_SELECT_NONE, //Ctrl+Shift+A -- cgit v1.2.3