parent
10a6e59820
commit
2b48739936
|
@ -2051,8 +2051,6 @@ void FurnaceGUI::moveSelected(int x, int y) {
|
||||||
selStartOld=selStart;
|
selStartOld=selStart;
|
||||||
selEndOld=selEnd;
|
selEndOld=selEnd;
|
||||||
|
|
||||||
prepareUndo(GUI_UNDO_PATTERN_DRAG);
|
|
||||||
|
|
||||||
// move selection
|
// move selection
|
||||||
DETERMINE_FIRST_LAST;
|
DETERMINE_FIRST_LAST;
|
||||||
|
|
||||||
|
@ -2134,6 +2132,20 @@ void FurnaceGUI::moveSelected(int x, int y) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int firstOrder=e->curSubSong->ordersLen;
|
||||||
|
int lastOrder=0;
|
||||||
|
|
||||||
|
if (selStartNew.order<firstOrder) firstOrder=selStartNew.order;
|
||||||
|
if (selEndNew.order<firstOrder) firstOrder=selEndNew.order;
|
||||||
|
if (selStart.order<firstOrder) firstOrder=selStart.order;
|
||||||
|
if (selStartNew.order>lastOrder) lastOrder=selStartNew.order;
|
||||||
|
if (selEndNew.order>lastOrder) lastOrder=selEndNew.order;
|
||||||
|
if (selStart.order>lastOrder) lastOrder=selStart.order;
|
||||||
|
|
||||||
|
logV("UR: %d - %d",firstOrder,lastOrder);
|
||||||
|
|
||||||
|
prepareUndo(GUI_UNDO_PATTERN_DRAG,UndoRegion(firstOrder,0,0,lastOrder,e->getTotalChannelCount()-1,e->curSubSong->patLen-1));
|
||||||
|
|
||||||
// copy and clear
|
// copy and clear
|
||||||
String c=doCopy(true,false,selStart,selEnd);
|
String c=doCopy(true,false,selStart,selEnd);
|
||||||
|
|
||||||
|
@ -2147,7 +2159,7 @@ void FurnaceGUI::moveSelected(int x, int y) {
|
||||||
cursor=selStart;
|
cursor=selStart;
|
||||||
doPaste(GUI_PASTE_MODE_OVERFLOW,0,false,c);
|
doPaste(GUI_PASTE_MODE_OVERFLOW,0,false,c);
|
||||||
|
|
||||||
makeUndo(GUI_UNDO_PATTERN_DRAG);
|
makeUndo(GUI_UNDO_PATTERN_DRAG,UndoRegion(firstOrder,0,0,lastOrder,e->getTotalChannelCount()-1,e->curSubSong->patLen-1));
|
||||||
}
|
}
|
||||||
|
|
||||||
void FurnaceGUI::doUndo() {
|
void FurnaceGUI::doUndo() {
|
||||||
|
|
Loading…
Reference in a new issue