diff options
author | Tim E. Real <termtech@rogers.com> | 2013-01-16 04:23:15 +0000 |
---|---|---|
committer | Tim E. Real <termtech@rogers.com> | 2013-01-16 04:23:15 +0000 |
commit | 78d5201caed32cb1e55de85287bd3b9fab325bd4 (patch) | |
tree | 36cf004042091701361f05c6732f609a99366f48 /muse2/muse/arranger | |
parent | d3a41b3460275ce44c744aa88227a31be44a49c7 (diff) |
Various usability fixes. Please see ChangeLog.
Diffstat (limited to 'muse2/muse/arranger')
-rw-r--r-- | muse2/muse/arranger/arranger.cpp | 9 | ||||
-rw-r--r-- | muse2/muse/arranger/arranger.h | 2 | ||||
-rw-r--r-- | muse2/muse/arranger/arrangerview.cpp | 31 | ||||
-rw-r--r-- | muse2/muse/arranger/arrangerview.h | 4 | ||||
-rw-r--r-- | muse2/muse/arranger/pcanvas.cpp | 8 | ||||
-rw-r--r-- | muse2/muse/arranger/pcanvas.h | 2 |
6 files changed, 36 insertions, 20 deletions
diff --git a/muse2/muse/arranger/arranger.cpp b/muse2/muse/arranger/arranger.cpp index 942a5013..18886bd1 100644 --- a/muse2/muse/arranger/arranger.cpp +++ b/muse2/muse/arranger/arranger.cpp @@ -870,12 +870,15 @@ void Arranger::cmd(int cmd) case CMD_PASTE_CLONE_PART: ncmd = PartCanvas::CMD_PASTE_CLONE_PART; break; + case CMD_PASTE_PART_TO_TRACK: + ncmd = PartCanvas::CMD_PASTE_PART_TO_TRACK; + break; + case CMD_PASTE_CLONE_PART_TO_TRACK: + ncmd = PartCanvas::CMD_PASTE_CLONE_PART_TO_TRACK; + break; case CMD_PASTE_DIALOG: ncmd = PartCanvas::CMD_PASTE_DIALOG; break; - case CMD_PASTE_CLONE_DIALOG: - ncmd = PartCanvas::CMD_PASTE_CLONE_DIALOG; - break; case CMD_INSERT_EMPTYMEAS: ncmd = PartCanvas::CMD_INSERT_EMPTYMEAS; break; diff --git a/muse2/muse/arranger/arranger.h b/muse2/muse/arranger/arranger.h index e7d48d70..80f1b24c 100644 --- a/muse2/muse/arranger/arranger.h +++ b/muse2/muse/arranger/arranger.h @@ -191,7 +191,7 @@ class Arranger : public QWidget { public: enum { CMD_CUT_PART, CMD_COPY_PART, CMD_COPY_PART_IN_RANGE, CMD_PASTE_PART, CMD_PASTE_CLONE_PART, - CMD_PASTE_DIALOG, CMD_PASTE_CLONE_DIALOG, CMD_INSERT_EMPTYMEAS }; + CMD_PASTE_PART_TO_TRACK, CMD_PASTE_CLONE_PART_TO_TRACK, CMD_PASTE_DIALOG, CMD_INSERT_EMPTYMEAS }; struct custom_col_t { diff --git a/muse2/muse/arranger/arrangerview.cpp b/muse2/muse/arranger/arrangerview.cpp index e91d05f6..7974369a 100644 --- a/muse2/muse/arranger/arrangerview.cpp +++ b/muse2/muse/arranger/arrangerview.cpp @@ -125,9 +125,10 @@ ArrangerView::ArrangerView(QWidget* parent) editCopyAction = new QAction(QIcon(*editcopyIconSet), tr("&Copy"), this); editCopyRangeAction = new QAction(QIcon(*editcopyIconSet), tr("Copy in range"), this); editPasteAction = new QAction(QIcon(*editpasteIconSet), tr("&Paste"), this); - editPasteDialogAction = new QAction(QIcon(*editpasteIconSet), tr("Paste (show dialog)"), this); editPasteCloneAction = new QAction(QIcon(*editpasteCloneIconSet), tr("Paste c&lone"), this); - editPasteCloneDialogAction = new QAction(QIcon(*editpasteCloneIconSet), tr("Paste clone (show dialog)"), this); + editPasteToTrackAction = new QAction(QIcon(*editpaste2TrackIconSet), tr("Paste to selected &track"), this); + editPasteCloneToTrackAction = new QAction(QIcon(*editpasteClone2TrackIconSet), tr("Paste clone to selected trac&k"), this); + editPasteDialogAction = new QAction(QIcon(*editpasteIconSet), tr("Paste (show dialo&g)"), this); editInsertEMAction = new QAction(QIcon(*editpasteIconSet), tr("&Insert Empty Measure"), this); editDeleteSelectedAction = new QAction(QIcon(*edit_track_delIcon), tr("Delete Selected Tracks"), this); editDuplicateSelTrackAction = new QAction(QIcon(*edit_track_addIcon), tr("Duplicate Selected Tracks"), this); @@ -197,9 +198,10 @@ ArrangerView::ArrangerView(QWidget* parent) menuEdit->addAction(editCopyAction); menuEdit->addAction(editCopyRangeAction); menuEdit->addAction(editPasteAction); - menuEdit->addAction(editPasteDialogAction); + menuEdit->addAction(editPasteToTrackAction); menuEdit->addAction(editPasteCloneAction); - menuEdit->addAction(editPasteCloneDialogAction); + menuEdit->addAction(editPasteCloneToTrackAction); + menuEdit->addAction(editPasteDialogAction); menuEdit->addAction(editInsertEMAction); menuEdit->addSeparator(); menuEdit->addAction(editShrinkPartsAction); @@ -282,8 +284,9 @@ ArrangerView::ArrangerView(QWidget* parent) connect(editCopyRangeAction, SIGNAL(triggered()), editSignalMapper, SLOT(map())); connect(editPasteAction, SIGNAL(triggered()), editSignalMapper, SLOT(map())); connect(editPasteCloneAction, SIGNAL(triggered()), editSignalMapper, SLOT(map())); + connect(editPasteToTrackAction, SIGNAL(triggered()), editSignalMapper, SLOT(map())); + connect(editPasteCloneToTrackAction, SIGNAL(triggered()), editSignalMapper, SLOT(map())); connect(editPasteDialogAction, SIGNAL(triggered()), editSignalMapper, SLOT(map())); - connect(editPasteCloneDialogAction, SIGNAL(triggered()), editSignalMapper, SLOT(map())); connect(editInsertEMAction, SIGNAL(triggered()), editSignalMapper, SLOT(map())); connect(editDeleteSelectedAction, SIGNAL(triggered()), editSignalMapper, SLOT(map())); connect(editDuplicateSelTrackAction, SIGNAL(triggered()), editSignalMapper, SLOT(map())); @@ -304,8 +307,9 @@ ArrangerView::ArrangerView(QWidget* parent) editSignalMapper->setMapping(editCopyRangeAction, CMD_COPY_RANGE); editSignalMapper->setMapping(editPasteAction, CMD_PASTE); editSignalMapper->setMapping(editPasteCloneAction, CMD_PASTE_CLONE); + editSignalMapper->setMapping(editPasteToTrackAction, CMD_PASTE_TO_TRACK); + editSignalMapper->setMapping(editPasteCloneToTrackAction, CMD_PASTE_CLONE_TO_TRACK); editSignalMapper->setMapping(editPasteDialogAction, CMD_PASTE_DIALOG); - editSignalMapper->setMapping(editPasteCloneDialogAction, CMD_PASTE_CLONE_DIALOG); editSignalMapper->setMapping(editInsertEMAction, CMD_INSERTMEAS); editSignalMapper->setMapping(editDeleteSelectedAction, CMD_DELETE_TRACK); editSignalMapper->setMapping(editDuplicateSelTrackAction, CMD_DUPLICATE_TRACK); @@ -502,12 +506,15 @@ void ArrangerView::cmd(int cmd) case CMD_PASTE_CLONE: arranger->cmd(Arranger::CMD_PASTE_CLONE_PART); break; + case CMD_PASTE_TO_TRACK: + arranger->cmd(Arranger::CMD_PASTE_PART_TO_TRACK); + break; + case CMD_PASTE_CLONE_TO_TRACK: + arranger->cmd(Arranger::CMD_PASTE_CLONE_PART_TO_TRACK); + break; case CMD_PASTE_DIALOG: arranger->cmd(Arranger::CMD_PASTE_DIALOG); break; - case CMD_PASTE_CLONE_DIALOG: - arranger->cmd(Arranger::CMD_PASTE_CLONE_DIALOG); - break; case CMD_INSERTMEAS: arranger->cmd(Arranger::CMD_INSERT_EMPTYMEAS); break; @@ -690,8 +697,9 @@ void ArrangerView::updateShortcuts() editCopyRangeAction->setShortcut(shortcuts[SHRT_COPY_RANGE].key); editPasteAction->setShortcut(shortcuts[SHRT_PASTE].key); editPasteCloneAction->setShortcut(shortcuts[SHRT_PASTE_CLONE].key); + editPasteToTrackAction->setShortcut(shortcuts[SHRT_PASTE_TO_TRACK].key); + editPasteCloneToTrackAction->setShortcut(shortcuts[SHRT_PASTE_CLONE_TO_TRACK].key); editPasteDialogAction->setShortcut(shortcuts[SHRT_PASTE_DIALOG].key); - editPasteCloneDialogAction->setShortcut(shortcuts[SHRT_PASTE_CLONE_DIALOG].key); editInsertEMAction->setShortcut(shortcuts[SHRT_INSERTMEAS].key); //editDeleteSelectedAction has no acceleration @@ -740,8 +748,9 @@ void ArrangerView::clipboardChanged() editPasteAction->setEnabled(flag); editPasteCloneAction->setEnabled(flag); + editPasteToTrackAction->setEnabled(flag); + editPasteCloneToTrackAction->setEnabled(flag); editPasteDialogAction->setEnabled(flag); - editPasteCloneDialogAction->setEnabled(flag); } //--------------------------------------------------------- diff --git a/muse2/muse/arranger/arrangerview.h b/muse2/muse/arranger/arrangerview.h index 6a8f47c9..34695ace 100644 --- a/muse2/muse/arranger/arrangerview.h +++ b/muse2/muse/arranger/arrangerview.h @@ -68,7 +68,7 @@ class ArrangerView : public TopWin enum cmd_enum {CMD_CUT, CMD_COPY, CMD_COPY_RANGE, CMD_PASTE, CMD_INSERTMEAS, CMD_PASTE_CLONE, - CMD_PASTE_DIALOG, CMD_PASTE_CLONE_DIALOG, CMD_DELETE, + CMD_PASTE_TO_TRACK, CMD_PASTE_CLONE_TO_TRACK, CMD_PASTE_DIALOG, CMD_DELETE, CMD_SELECT_ALL, CMD_SELECT_NONE, CMD_SELECT_INVERT, CMD_SELECT_ILOOP, CMD_SELECT_OLOOP, CMD_SELECT_PARTS, CMD_DELETE_TRACK, CMD_DUPLICATE_TRACK, CMD_EXPAND_PART, CMD_SHRINK_PART, CMD_CLEAN_PART, @@ -95,7 +95,7 @@ class ArrangerView : public TopWin QAction *trackMidiAction, *trackDrumAction, *trackNewStyleDrumAction, *trackWaveAction, *trackAOutputAction, *trackAGroupAction; QAction *trackAInputAction, *trackAAuxAction; QAction *editCutAction, *editCopyAction, *editCopyRangeAction; - QAction *editPasteAction, *editPasteCloneAction, *editPasteDialogAction, *editPasteCloneDialogAction; + QAction *editPasteAction, *editPasteCloneAction, *editPasteToTrackAction, *editPasteCloneToTrackAction, *editPasteDialogAction; QAction *editInsertEMAction, *editPasteC2TAction, *editDeleteSelectedAction, *editSelectAllAction, *editDeselectAllAction; QAction *editDuplicateSelTrackAction; QAction *editInvertSelectionAction, *editInsideLoopAction, *editOutsideLoopAction, *editAllPartsAction; diff --git a/muse2/muse/arranger/pcanvas.cpp b/muse2/muse/arranger/pcanvas.cpp index b842a532..6a97bc99 100644 --- a/muse2/muse/arranger/pcanvas.cpp +++ b/muse2/muse/arranger/pcanvas.cpp @@ -2685,13 +2685,17 @@ void PartCanvas::cmd(int cmd) case CMD_PASTE_CLONE_PART: paste(true); break; + case CMD_PASTE_PART_TO_TRACK: + paste(false, PASTEMODE_MIX, true); + break; + case CMD_PASTE_CLONE_PART_TO_TRACK: + paste(true, PASTEMODE_MIX, true); + break; case CMD_PASTE_DIALOG: - case CMD_PASTE_CLONE_DIALOG: { unsigned temp_begin = AL::sigmap.raster1(MusEGlobal::song->vcpos(),0); unsigned temp_end = AL::sigmap.raster2(temp_begin + MusECore::get_paste_len(), 0); paste_dialog->raster = temp_end - temp_begin; - paste_dialog->clone = (cmd == CMD_PASTE_CLONE_DIALOG); if (paste_dialog->exec()) { diff --git a/muse2/muse/arranger/pcanvas.h b/muse2/muse/arranger/pcanvas.h index c9e4c946..00ae2373 100644 --- a/muse2/muse/arranger/pcanvas.h +++ b/muse2/muse/arranger/pcanvas.h @@ -175,7 +175,7 @@ class PartCanvas : public Canvas { public: enum { CMD_CUT_PART, CMD_COPY_PART, CMD_COPY_PART_IN_RANGE, CMD_PASTE_PART, CMD_PASTE_CLONE_PART, - CMD_PASTE_DIALOG, CMD_PASTE_CLONE_DIALOG, CMD_INSERT_EMPTYMEAS }; + CMD_PASTE_PART_TO_TRACK, CMD_PASTE_CLONE_PART_TO_TRACK, CMD_PASTE_DIALOG, CMD_INSERT_EMPTYMEAS }; PartCanvas(int* raster, QWidget* parent, int, int); virtual ~PartCanvas(); |