diff options
Diffstat (limited to 'muse2')
| -rw-r--r-- | muse2/ChangeLog | 3 | ||||
| -rw-r--r-- | muse2/muse/arranger/pcanvas.cpp | 5 | ||||
| -rw-r--r-- | muse2/muse/shortcuts.cpp | 2 | ||||
| -rw-r--r-- | muse2/muse/widgets/shortcutcapturedialog.cpp | 15 | 
4 files changed, 17 insertions, 8 deletions
| diff --git a/muse2/ChangeLog b/muse2/ChangeLog index b0e5b6f1..35cc42b5 100644 --- a/muse2/ChangeLog +++ b/muse2/ChangeLog @@ -1,6 +1,9 @@  18.02.2011:          - Disable saveAs dialog for rec when project dialog isn't used (rj)          - changed the default setting for move single rec with track, default is to NOT move (rj) +        - fixed (hopefully) bug in shortcut editor, global shortcuts were not always +          taken into account when checking if a shortcut was in use (rj) +        - added shortcut F for linedraw, applicable to automation drawing in arranger and pianoroll (rj)  15.02.2011:          - Automation fixes, better detection, not perfect (rj)  14.02.2011: diff --git a/muse2/muse/arranger/pcanvas.cpp b/muse2/muse/arranger/pcanvas.cpp index 479fa78e..189c7b76 100644 --- a/muse2/muse/arranger/pcanvas.cpp +++ b/muse2/muse/arranger/pcanvas.cpp @@ -1180,7 +1180,10 @@ void PartCanvas::keyPress(QKeyEvent* event)              emit setUsedTool(CutTool);              return;              } -      else if (key == shortcuts[SHRT_TOOL_GLUE].key) { +      else if (key == shortcuts[SHRT_TOOL_LINEDRAW].key) { +            emit setUsedTool(AutomationTool); +            return; +            }      else if (key == shortcuts[SHRT_TOOL_GLUE].key) {              emit setUsedTool(GlueTool);              return;              } diff --git a/muse2/muse/shortcuts.cpp b/muse2/muse/shortcuts.cpp index 558feaa4..c0edc0ac 100644 --- a/muse2/muse/shortcuts.cpp +++ b/muse2/muse/shortcuts.cpp @@ -207,7 +207,7 @@ void initShortCuts()        defShrt(SHRT_TOOL_PENCIL,      Qt::Key_D, "Tool: Pencil", ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "pencil_tool");        defShrt(SHRT_TOOL_RUBBER,      Qt::Key_R, "Tool: Eraser", ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "eraser_tool");        // piano roll & drum editor -      defShrt(SHRT_TOOL_LINEDRAW,    0, "Tool: Line Draw", PROLL_SHRT + DEDIT_SHRT, "line_draw_tool"); +      defShrt(SHRT_TOOL_LINEDRAW,    Qt::Key_F, "Tool: Line Draw", ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "line_draw_tool");        // arranger        defShrt(SHRT_TOOL_SCISSORS,    Qt::Key_S, "Tool: Scissor", ARRANG_SHRT, "scissor_tool");        defShrt(SHRT_TOOL_GLUE,        Qt::Key_G, "Tool: Glue", ARRANG_SHRT, "glue_tool"); diff --git a/muse2/muse/widgets/shortcutcapturedialog.cpp b/muse2/muse/widgets/shortcutcapturedialog.cpp index 73534811..8ca70a05 100644 --- a/muse2/muse/widgets/shortcutcapturedialog.cpp +++ b/muse2/muse/widgets/shortcutcapturedialog.cpp @@ -53,7 +53,7 @@ void ShortcutCaptureDialog::keyPressEvent(QKeyEvent* e)        bool ispunct = keychar.isPunct();        bool issymbol = keychar.isSymbol();        //printf("Key:%x, alt:%d, ctrl:%d shift:%d ispunct:%d issymbol:%d text:%s\n", -      //  e->key(), alt, ctrl, shift, ispunct, issymbol, e->text().toLatin1().constData());   +      //  e->key(), alt, ctrl, shift, ispunct, issymbol, e->text().toLatin1().constData());        temp_key += (shift ? (int)Qt::SHIFT : 0);    // (int) Tim        temp_key += (ctrl  ? (int)Qt::CTRL  : 0);    // @@ -76,11 +76,14 @@ void ShortcutCaptureDialog::keyPressEvent(QKeyEvent* e)              // Check against conflicting shortcuts              for (int i=0; i < SHRT_NUM_OF_ELEMENTS; i++) { -                  if (shortcuts[i].key == key && (shortcuts[i].type & (shortcuts[shortcutindex].type | GLOBAL_SHRT | INVIS_SHRT))) { -                        msgString = tr("Shortcut conflicts with ") + QString(shortcuts[i].descr); -                        conflict = true; -                        break; -                        } +                  if (shortcuts[i].key == key &&  // use the same key +                      (( shortcuts[i].type  & (shortcuts[shortcutindex].type | INVIS_SHRT)) || +                         shortcuts[i].type & GLOBAL_SHRT || +                         shortcuts[shortcutindex].type & GLOBAL_SHRT)) { // affect the same scope +                      msgString = tr("Shortcut conflicts with ") + QString(shortcuts[i].descr); +                      conflict = true; +                      break; +                      }                    }              }              messageLabel->setText(msgString); | 
