mobile/UI: add button to change notification

This is fun... with just a tiny bit of 'magic text parsing' we can allow
the backend code to add a button to the notification that will open the
context menu that will make it super obvious to the user how they can
undo an operation.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2021-01-17 13:34:21 -08:00
parent e1cb368437
commit 126329ab7c
2 changed files with 16 additions and 9 deletions

View file

@ -1407,11 +1407,14 @@ void QMLManager::saveChangesLocal(bool fromUndo)
Command::setClean();
updateHaveLocalChanges(true);
// provide a useful undo/redo notification
QString msgFormat = tr("Changes saved:'%1'. %2 possible via context menu");
// NOTE: the QML UI interprets a leading '[action]' (where only the two brackets are checked for)
// as an indication to use the text between those two brackets as the label of a button that
// can be used to open the context menu
QString msgFormat = tr("[%1]Changes saved:'%2'.\n%1 possible via context menu");
if (fromUndo)
setNotificationText(msgFormat.arg(tr("Undo: %1").arg(getRedoText())).arg(tr("Redo")));
setNotificationText(msgFormat.arg(tr("Redo")).arg(tr("Undo: %1").arg(getRedoText())));
else
setNotificationText(msgFormat.arg(getUndoText()).arg(tr("Undo")));
setNotificationText(msgFormat.arg(tr("Undo")).arg(getUndoText()));
} else {
appendTextToLog("local save requested with no unsaved changes");
}