GUI: prepare for replace undo
This commit is contained in:
parent
64f5343289
commit
bdbebc99f1
3 changed files with 19 additions and 2 deletions
|
|
@ -66,6 +66,8 @@ void FurnaceGUI::prepareUndo(ActionType action) {
|
|||
e->curPat[i].getPattern(e->curOrders->ord[i][curOrder],false)->copyOn(oldPat[i]);
|
||||
}
|
||||
break;
|
||||
case GUI_UNDO_REPLACE: // this is handled by doReplace()
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -86,7 +88,7 @@ void FurnaceGUI::makeUndo(ActionType action) {
|
|||
if (oldOrders.ord[i][j]!=e->curOrders->ord[i][j]) {
|
||||
s.ord.push_back(UndoOrderData(subSong,i,j,oldOrders.ord[i][j],e->curOrders->ord[i][j]));
|
||||
}
|
||||
}
|
||||
}SATGDIOPTASDIOKP;ASDTG
|
||||
}
|
||||
s.oldOrdersLen=oldOrdersLen;
|
||||
s.newOrdersLen=e->curSubSong->ordersLen;
|
||||
|
|
@ -126,6 +128,8 @@ void FurnaceGUI::makeUndo(ActionType action) {
|
|||
doPush=true;
|
||||
}
|
||||
break;
|
||||
case GUI_UNDO_REPLACE: // this is handled by doReplace()
|
||||
break;
|
||||
}
|
||||
if (doPush) {
|
||||
MARK_MODIFIED;
|
||||
|
|
@ -943,6 +947,7 @@ void FurnaceGUI::doUndo() {
|
|||
case GUI_UNDO_PATTERN_FLIP:
|
||||
case GUI_UNDO_PATTERN_COLLAPSE:
|
||||
case GUI_UNDO_PATTERN_EXPAND:
|
||||
case GUI_UNDO_REPLACE:
|
||||
for (UndoPatternData& i: us.pat) {
|
||||
e->changeSongP(i.subSong);
|
||||
DivPattern* p=e->curPat[i.chan].getPattern(i.pat,true);
|
||||
|
|
@ -991,6 +996,7 @@ void FurnaceGUI::doRedo() {
|
|||
case GUI_UNDO_PATTERN_FLIP:
|
||||
case GUI_UNDO_PATTERN_COLLAPSE:
|
||||
case GUI_UNDO_PATTERN_EXPAND:
|
||||
case GUI_UNDO_REPLACE:
|
||||
for (UndoPatternData& i: us.pat) {
|
||||
e->changeSongP(i.subSong);
|
||||
DivPattern* p=e->curPat[i.chan].getPattern(i.pat,true);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue