From 4303307cc65893980f350edac5a69e977170c14c Mon Sep 17 00:00:00 2001 From: "Tim E. Real" Date: Sat, 18 Dec 2010 20:51:39 +0000 Subject: Fixed transport shortcuts not working in some windows or situations. --- muse2/ChangeLog | 4 ++++ muse2/muse/app.cpp | 16 ++++++++++++++++ muse2/muse/arranger/pcanvas.cpp | 1 + muse2/muse/master/master.cpp | 1 + muse2/muse/master/masteredit.cpp | 2 ++ muse2/muse/waveedit/waveedit.cpp | 2 ++ muse2/muse/waveedit/waveview.cpp | 2 ++ 7 files changed, 28 insertions(+) diff --git a/muse2/ChangeLog b/muse2/ChangeLog index 700eeeb3..e6c14612 100644 --- a/muse2/ChangeLog +++ b/muse2/ChangeLog @@ -1,3 +1,7 @@ +18.12.2010: + - Fixed transport shortcuts not working in some windows or situations. (Tim) + Added event->ignore to PartCanvas::keyPress. Added setFocusPolicy() to WaveView, Master. + Added (canvas or view)->setFocus() to WaveEdit, MasterEdit. Test OK. 17.12.2010: - Fixed crash with song loaded then File->New. Marker view had non-existent items from cleared marker list. (Tim) - Some memory leak cleanups. Delete midiInstruments and midiDevices. (Tim) diff --git a/muse2/muse/app.cpp b/muse2/muse/app.cpp index 5ea7c00d..f339fabf 100644 --- a/muse2/muse/app.cpp +++ b/muse2/muse/app.cpp @@ -3554,8 +3554,11 @@ class MuseApplication : public QApplication { } bool notify(QObject* receiver, QEvent* event) { + //if (event->type() == QEvent::KeyPress) + // printf("notify key press before app::notify accepted:%d\n", event->isAccepted()); bool flag = QApplication::notify(receiver, event); if (event->type() == QEvent::KeyPress) { + //printf("notify key press after app::notify accepted:%d\n", event->isAccepted()); QKeyEvent* ke = (QKeyEvent*)event; ///globalKeyState = ke->stateAfter(); globalKeyState = ke->modifiers(); @@ -5155,6 +5158,19 @@ void MusE::updateConfiguration() //menuSettings->setAccel(shortcuts[SHRT_CONFIG_AUDIO_PORTS].key, menu_ids[CMD_CONFIG_AUDIO_PORTS]); //menu_help->setAccel(menu_ids[CMD_START_WHATSTHIS], shortcuts[SHRT_START_WHATSTHIS].key); + // Just in case, but no, app kb handler takes care of these. + /* + loopAction->setShortcut(shortcuts[].key); + punchinAction->setShortcut(shortcuts[].key); + punchoutAction->setShortcut(shortcuts[].key); + startAction->setShortcut(shortcuts[].key); + rewindAction->setShortcut(shortcuts[].key); + forwardAction->setShortcut(shortcuts[].key); + stopAction->setShortcut(shortcuts[].key); + playAction->setShortcut(shortcuts[].key); + recordAction->setShortcut(shortcuts[].key); + panicAction->setShortcut(shortcuts[].key); + */ } //--------------------------------------------------------- diff --git a/muse2/muse/arranger/pcanvas.cpp b/muse2/muse/arranger/pcanvas.cpp index 2e3944bd..1d7cfd54 100644 --- a/muse2/muse/arranger/pcanvas.cpp +++ b/muse2/muse/arranger/pcanvas.cpp @@ -1138,6 +1138,7 @@ void PartCanvas::keyPress(QKeyEvent* event) // if (!curItem) { if (items.size()==0) { + event->ignore(); // give global accelerators a chance return; } for (iCItem i = items.begin(); i != items.end(); ++i) { diff --git a/muse2/muse/master/master.cpp b/muse2/muse/master/master.cpp index aaf73398..4a33a8c4 100644 --- a/muse2/muse/master/master.cpp +++ b/muse2/muse/master/master.cpp @@ -38,6 +38,7 @@ Master::Master(MidiEditor* e, QWidget* parent, int xmag, int ymag) pos[0] = 0; pos[1] = 0; pos[2] = 0; + setFocusPolicy(Qt::StrongFocus); // Tim. setMouseTracking(true); connect(song, SIGNAL(posChanged(int, unsigned, bool)), this, SLOT(setPos(int, unsigned, bool))); connect(song, SIGNAL(songChanged(int)), this, SLOT(redraw())); diff --git a/muse2/muse/master/masteredit.cpp b/muse2/muse/master/masteredit.cpp index eae0f207..2b91ae90 100644 --- a/muse2/muse/master/masteredit.cpp +++ b/muse2/muse/master/masteredit.cpp @@ -192,6 +192,8 @@ MasterEdit::MasterEdit() mainGrid->addWidget(vscroll, 0, 2, 10, 1); // mainGrid->addWidget(corner, 9, 2, AlignBottom | AlignRight); + canvas->setFocus(); // Tim. + connect(tools2, SIGNAL(toolChanged(int)), canvas, SLOT(setTool(int))); connect(vscroll, SIGNAL(scrollChanged(int)), canvas, SLOT(setYPos(int))); connect(vscroll, SIGNAL(scaleChanged(int)), canvas, SLOT(setYMag(int))); diff --git a/muse2/muse/waveedit/waveedit.cpp b/muse2/muse/waveedit/waveedit.cpp index cbe4e7a8..a6251503 100644 --- a/muse2/muse/waveedit/waveedit.cpp +++ b/muse2/muse/waveedit/waveedit.cpp @@ -212,6 +212,8 @@ WaveEdit::WaveEdit(PartList* pl) mainGrid->addWidget(hscroll, 3, 0); mainGrid->addWidget(corner, 3, 1, Qt::AlignBottom | Qt::AlignRight); + view->setFocus(); // Tim. + connect(hscroll, SIGNAL(scrollChanged(int)), view, SLOT(setXPos(int))); connect(hscroll, SIGNAL(scaleChanged(int)), view, SLOT(setXMag(int))); setWindowTitle(view->getCaption()); diff --git a/muse2/muse/waveedit/waveview.cpp b/muse2/muse/waveedit/waveview.cpp index cf22a4d0..668d8bea 100644 --- a/muse2/muse/waveedit/waveview.cpp +++ b/muse2/muse/waveedit/waveview.cpp @@ -44,6 +44,8 @@ WaveView::WaveView(MidiEditor* pr, QWidget* parent, int xscale, int yscale) selectionStop = 0; lastGainvalue = 100; + setFocusPolicy(Qt::StrongFocus); // Tim. + setMouseTracking(true); setBg(QColor(192, 208, 255)); -- cgit v1.2.3