diff options
| author | Robert Jonsson <spamatica@gmail.com> | 2011-10-14 19:07:15 +0000 | 
|---|---|---|
| committer | Robert Jonsson <spamatica@gmail.com> | 2011-10-14 19:07:15 +0000 | 
| commit | 7249c6fb8513867e13dd6a69ebb51648e734204e (patch) | |
| tree | f8246988708b27394ce683bb01404ec80006e504 /muse2/muse | |
| parent | 395eb053ed2cd2ba1a47bf3fe99fe65ace523cad (diff) | |
keyboard navigation for tracks
Diffstat (limited to 'muse2/muse')
| -rw-r--r-- | muse2/muse/arranger/tlist.cpp | 13 | ||||
| -rw-r--r-- | muse2/muse/track.cpp | 28 | ||||
| -rw-r--r-- | muse2/muse/track.h | 1 | 
3 files changed, 39 insertions, 3 deletions
| diff --git a/muse2/muse/arranger/tlist.cpp b/muse2/muse/arranger/tlist.cpp index cca8a086..1e3ad419 100644 --- a/muse2/muse/arranger/tlist.cpp +++ b/muse2/muse/arranger/tlist.cpp @@ -579,7 +579,6 @@ void TList::mouseDoubleClickEvent(QMouseEvent* ev)  //---------------------------------------------------------  //   portsPopupMenu  //--------------------------------------------------------- -  void TList::portsPopupMenu(MusECore::Track* t, int x, int y)        {        switch(t->type()) { @@ -886,16 +885,24 @@ void TList::moveSelection(int n)                                if (t == tracks->end()) {                                      --t;                                      break; -                                    }                                } -                        } +                              // skip over hidden tracks +                              if (!(*t)->isVisible()) { +                                    n++; +                              } +                         } +                  }                    else {                          while (n++ != 0) {                                if (t == tracks->begin())                                      break;                                --t; +                              // skip over hidden tracks +                              if (!(*t)->isVisible()) { +                                    n--;                                }                          } +                  }                    (*s)->setSelected(false);                    (*t)->setSelected(true); diff --git a/muse2/muse/track.cpp b/muse2/muse/track.cpp index 6fbe81c5..1ee1dfde 100644 --- a/muse2/muse/track.cpp +++ b/muse2/muse/track.cpp @@ -144,6 +144,34 @@ void removePortCtrlEvents(MidiTrack* t)    }  } +//--------------------------------------------------------- +//   isVisible +//--------------------------------------------------------- +bool Track::isVisible() +{ +  switch (type()) +  { +    case Track::AUDIO_AUX: +        return AudioAux::visible(); +        break; +    case Track::AUDIO_GROUP: +        return AudioGroup::visible(); +    case Track::AUDIO_INPUT: +        return AudioInput::visible(); +    case Track::AUDIO_OUTPUT: +        return AudioOutput::visible(); +    case Track::WAVE: +        return WaveTrack::visible(); +    case Track::MIDI: +        return MidiTrack::visible(); +    case Track::AUDIO_SOFTSYNTH: +        return AudioAux::visible(); +  default: +    break; +  } + +  return false; +}  //--------------------------------------------------------- diff --git a/muse2/muse/track.h b/muse2/muse/track.h index 46dfc59f..25a846ac 100644 --- a/muse2/muse/track.h +++ b/muse2/muse/track.h @@ -205,6 +205,7 @@ class Track {        virtual AutomationType automationType() const    = 0;        virtual void setAutomationType(AutomationType t) = 0;        static void setVisible(bool ) { } +      bool isVisible();        }; | 
