mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
core: better change message in git save
This rarely gets seen / looked at, but it can help make it easier to understand what a user was doing when trying to restore dives that were inadvertantly deleted. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
cca21cf07f
commit
c88d22462d
1 changed files with 20 additions and 2 deletions
|
@ -86,11 +86,29 @@ QString getListOfDives(QVector<struct dive *> dives)
|
|||
|
||||
// return a string that can be used for the commit message and should list the changes that
|
||||
// were made to the dive list
|
||||
// keep in mind that the changes could have been a number of undo commands, so we might have
|
||||
// to go backwards from the last one written; this isn't perfect as a user could undo a command
|
||||
// and then do something else instead of redoing that undo - the undo information is then lost
|
||||
// for the changelog -- but of course the git history will show what happened
|
||||
QString changesMade()
|
||||
{
|
||||
static int nextToWrite = 0;
|
||||
int curIdx = undoStack->index();
|
||||
QString changeTexts;
|
||||
for (int i = 0; i < undoStack->index(); i++)
|
||||
changeTexts += undoStack->text(i) + "\n";
|
||||
|
||||
if (curIdx > nextToWrite) {
|
||||
for (int i = nextToWrite; i < curIdx; i++)
|
||||
changeTexts += undoStack->text(i) + "\n";
|
||||
} else if (curIdx < nextToWrite) { // we walked back undoing things
|
||||
for (int i = nextToWrite - 1; i >= curIdx; i--)
|
||||
changeTexts += "(undo) " + undoStack->text(i) + "\n";
|
||||
} else if (curIdx > 0) {
|
||||
// so this means we undid something (or more than one thing) and then did something else
|
||||
// so we lost the information of what was undone - and how many things were changed;
|
||||
// just show the last change
|
||||
changeTexts += undoStack->text(curIdx - 1) + "\n";
|
||||
}
|
||||
nextToWrite = curIdx;
|
||||
return changeTexts;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue