diff options
author | Robert Jonsson <spamatica@gmail.com> | 2011-05-15 18:56:00 +0000 |
---|---|---|
committer | Robert Jonsson <spamatica@gmail.com> | 2011-05-15 18:56:00 +0000 |
commit | 38988a37365c8772da11f3f41d49e5c1fd083084 (patch) | |
tree | e3995bb749b9a7359466b7aea6b6077ba6b96bd8 /muse2/muse/arranger | |
parent | 0021af8ef6f76dd4575bc74da2b20431d58a8f7e (diff) |
mouse wheel rework
Diffstat (limited to 'muse2/muse/arranger')
-rw-r--r-- | muse2/muse/arranger/arranger.cpp | 46 | ||||
-rw-r--r-- | muse2/muse/arranger/arranger.h | 2 |
2 files changed, 32 insertions, 16 deletions
diff --git a/muse2/muse/arranger/arranger.cpp b/muse2/muse/arranger/arranger.cpp index 495c4cb8..d74bed78 100644 --- a/muse2/muse/arranger/arranger.cpp +++ b/muse2/muse/arranger/arranger.cpp @@ -384,6 +384,8 @@ Arranger::Arranger(QMainWindow* parent, const char* name) connect(list, SIGNAL(keyPressExt(QKeyEvent*)), canvas, SLOT(redirKeypress(QKeyEvent*))); connect(canvas, SIGNAL(selectTrackAbove()), list, SLOT(selectTrackAbove())); connect(canvas, SIGNAL(selectTrackBelow()), list, SLOT(selectTrackBelow())); + connect(canvas, SIGNAL(horizontalZoomIn()), SLOT(horizontalZoomIn())); + connect(canvas, SIGNAL(horizontalZoomOut()), SLOT(horizontalZoomOut())); connect(this, SIGNAL(redirectWheelEvent(QWheelEvent*)), canvas, SLOT(redirectedWheelEvent(QWheelEvent*))); connect(list, SIGNAL(redirectWheelEvent(QWheelEvent*)), canvas, SLOT(redirectedWheelEvent(QWheelEvent*))); @@ -1078,27 +1080,39 @@ void Arranger::keyPressEvent(QKeyEvent* event) key+= Qt::CTRL; if (key == shortcuts[SHRT_ZOOM_IN].key) { - int mag = hscroll->mag(); - int zoomlvl = ScrollScale::getQuickZoomLevel(mag); - if (zoomlvl < 23) - zoomlvl++; - - int newmag = ScrollScale::convertQuickZoomLevelToMag(zoomlvl); - - hscroll->setMag(newmag); + horizontalZoomIn(); return; } else if (key == shortcuts[SHRT_ZOOM_OUT].key) { - int mag = hscroll->mag(); - int zoomlvl = ScrollScale::getQuickZoomLevel(mag); - if (zoomlvl > 1) - zoomlvl--; - - int newmag = ScrollScale::convertQuickZoomLevelToMag(zoomlvl); - - hscroll->setMag(newmag); + horizontalZoomOut(); return; } QWidget::keyPressEvent(event); } + +void Arranger::horizontalZoomIn() +{ + int mag = hscroll->mag(); + int zoomlvl = ScrollScale::getQuickZoomLevel(mag); + if (zoomlvl < 23) + zoomlvl++; + + int newmag = ScrollScale::convertQuickZoomLevelToMag(zoomlvl); + + hscroll->setMag(newmag); + +} + +void Arranger::horizontalZoomOut() +{ + int mag = hscroll->mag(); + int zoomlvl = ScrollScale::getQuickZoomLevel(mag); + if (zoomlvl > 1) + zoomlvl--; + + int newmag = ScrollScale::convertQuickZoomLevelToMag(zoomlvl); + + hscroll->setMag(newmag); + +} diff --git a/muse2/muse/arranger/arranger.h b/muse2/muse/arranger/arranger.h index 0143afd5..262d7464 100644 --- a/muse2/muse/arranger/arranger.h +++ b/muse2/muse/arranger/arranger.h @@ -122,6 +122,8 @@ class Arranger : public QWidget { void setTempo200(); //void seek(); void verticalScrollSetYpos(unsigned); + void horizontalZoomIn(); + void horizontalZoomOut(); signals: void redirectWheelEvent(QWheelEvent*); |