forked from 0ad/0ad
Implement noconfirmation hotkey for deleting savegames in the save dialog. Refs #3962.
Remove the deleteGame duplicate. This was SVN commit r18996.
This commit is contained in:
parent
30598bd451
commit
f15e900086
@ -67,6 +67,28 @@ function hasSameMods(metadata, engineInfo)
|
|||||||
return modsA.every((mod, index) => mod == modsB[index]);
|
return modsA.every((mod, index) => mod == modsB[index]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function deleteGame()
|
||||||
|
{
|
||||||
|
let gameSelection = Engine.GetGUIObjectByName("gameSelection");
|
||||||
|
let gameID = gameSelection.list_data[gameSelection.selected];
|
||||||
|
|
||||||
|
if (!gameID)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (Engine.HotkeyIsPressed("session.savedgames.noconfirmation"))
|
||||||
|
reallyDeleteGame(gameID);
|
||||||
|
else
|
||||||
|
messageBox(
|
||||||
|
500, 200,
|
||||||
|
sprintf(translate("\"%(label)s\""), {
|
||||||
|
"label": gameSelection.list[gameSelection.selected]
|
||||||
|
}) + "\n" + translate("Saved game will be permanently deleted, are you sure?"),
|
||||||
|
translate("DELETE"),
|
||||||
|
[translate("No"), translate("Yes")],
|
||||||
|
[null, function(){ reallyDeleteGame(gameID); }]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
function reallyDeleteGame(gameID)
|
function reallyDeleteGame(gameID)
|
||||||
{
|
{
|
||||||
if (!Engine.DeleteSavedGame(gameID))
|
if (!Engine.DeleteSavedGame(gameID))
|
||||||
|
@ -160,25 +160,3 @@ function reallyLoadGame(gameId)
|
|||||||
"savedGUIData": metadata.gui
|
"savedGUIData": metadata.gui
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function deleteGame()
|
|
||||||
{
|
|
||||||
let gameSelection = Engine.GetGUIObjectByName("gameSelection");
|
|
||||||
let gameID = gameSelection.list_data[gameSelection.selected];
|
|
||||||
|
|
||||||
if (!gameID)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (Engine.HotkeyIsPressed("session.savedgames.noconfirmation"))
|
|
||||||
reallyDeleteGame(gameID);
|
|
||||||
else
|
|
||||||
messageBox(
|
|
||||||
500, 200,
|
|
||||||
sprintf(translate("\"%(label)s\""), {
|
|
||||||
"label": gameSelection.list[gameSelection.selected]
|
|
||||||
}) + "\n" + translate("Saved game will be permanently deleted, are you sure?"),
|
|
||||||
translate("DELETE"),
|
|
||||||
[translate("No"), translate("Yes")],
|
|
||||||
[null, function(){ reallyDeleteGame(gameID); }]
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
@ -80,22 +80,6 @@ function closeSave()
|
|||||||
Engine.PopGuiPageCB(0);
|
Engine.PopGuiPageCB(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
function deleteGame()
|
|
||||||
{
|
|
||||||
let gameSelection = Engine.GetGUIObjectByName("gameSelection");
|
|
||||||
let gameLabel = gameSelection.list[gameSelection.selected];
|
|
||||||
let gameID = gameSelection.list_data[gameSelection.selected];
|
|
||||||
|
|
||||||
messageBox(
|
|
||||||
500, 200,
|
|
||||||
sprintf(translate("\"%(label)s\""), { "label": gameLabel }) + "\n" +
|
|
||||||
translate("Saved game will be permanently deleted, are you sure?"),
|
|
||||||
translate("DELETE"),
|
|
||||||
[translate("No"), translate("Yes")],
|
|
||||||
[null, function(){ reallyDeleteGame(gameID); }]
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
// HACK: Engine.SaveGame* expects this function to be defined on the current page.
|
// HACK: Engine.SaveGame* expects this function to be defined on the current page.
|
||||||
// That's why we have to pass the data to this page even if we don't need it.
|
// That's why we have to pass the data to this page even if we don't need it.
|
||||||
function getSavedGameData()
|
function getSavedGameData()
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
<action on="Press">closeSave(true);</action>
|
<action on="Press">closeSave(true);</action>
|
||||||
</object>
|
</object>
|
||||||
|
|
||||||
<object name="deleteGameButton" type="button" size="33%+20 100%-60 66%-15 100%-32" style="StoneButton">
|
<object name="deleteGameButton" type="button" size="33%+20 100%-60 66%-15 100%-32" style="StoneButton" hotkey="session.savedgames.delete">
|
||||||
<translatableAttribute id="caption">Delete</translatableAttribute>
|
<translatableAttribute id="caption">Delete</translatableAttribute>
|
||||||
<action on="Press">deleteGame();</action>
|
<action on="Press">deleteGame();</action>
|
||||||
</object>
|
</object>
|
||||||
|
Loading…
Reference in New Issue
Block a user