mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-10 01:58:19 +00:00
Replace POPUP_DELETE_DEMO
with generic confirmation popup
And show the name of the file that will be deleted in the popup.
This commit is contained in:
parent
55b576cd7f
commit
dd60c84426
|
@ -1560,11 +1560,6 @@ int CMenus::Render()
|
|||
}
|
||||
ExtraAlign = 0;
|
||||
}
|
||||
else if(m_Popup == POPUP_DELETE_DEMO)
|
||||
{
|
||||
pTitle = Localize("Delete demo");
|
||||
pExtraText = Localize("Are you sure that you want to delete the demo?");
|
||||
}
|
||||
else if(m_Popup == POPUP_RENAME_DEMO)
|
||||
{
|
||||
pTitle = Localize("Rename demo");
|
||||
|
@ -1985,40 +1980,6 @@ int CMenus::Render()
|
|||
m_Popup = POPUP_NONE;
|
||||
}
|
||||
}
|
||||
else if(m_Popup == POPUP_DELETE_DEMO)
|
||||
{
|
||||
CUIRect Yes, No;
|
||||
Box.HSplitBottom(20.f, &Box, &Part);
|
||||
Box.HSplitBottom(24.f, &Box, &Part);
|
||||
Part.VMargin(80.0f, &Part);
|
||||
|
||||
Part.VSplitMid(&No, &Yes);
|
||||
|
||||
Yes.VMargin(20.0f, &Yes);
|
||||
No.VMargin(20.0f, &No);
|
||||
|
||||
static CButtonContainer s_ButtonAbort;
|
||||
if(DoButton_Menu(&s_ButtonAbort, Localize("No"), 0, &No) || UI()->ConsumeHotkey(CUI::HOTKEY_ESCAPE))
|
||||
m_Popup = POPUP_NONE;
|
||||
|
||||
static CButtonContainer s_ButtonTryAgain;
|
||||
if(DoButton_Menu(&s_ButtonTryAgain, Localize("Yes"), 0, &Yes) || UI()->ConsumeHotkey(CUI::HOTKEY_ENTER))
|
||||
{
|
||||
m_Popup = POPUP_NONE;
|
||||
// delete demo
|
||||
if(m_DemolistSelectedIndex >= 0 && !m_DemolistSelectedIsDir)
|
||||
{
|
||||
str_format(aBuf, sizeof(aBuf), "%s/%s", m_aCurrentDemoFolder, m_vDemos[m_DemolistSelectedIndex].m_aFilename);
|
||||
if(Storage()->RemoveFile(aBuf, m_vDemos[m_DemolistSelectedIndex].m_StorageType))
|
||||
{
|
||||
DemolistPopulate();
|
||||
DemolistOnUpdate(false);
|
||||
}
|
||||
else
|
||||
PopupMessage(Localize("Error"), Localize("Unable to delete the demo"), Localize("Ok"));
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(m_Popup == POPUP_RENAME_DEMO)
|
||||
{
|
||||
CUIRect Label, TextBox, Ok, Abort;
|
||||
|
|
|
@ -522,6 +522,7 @@ protected:
|
|||
void HandleDemoSeeking(float PositionToSeek, float TimeToSeek);
|
||||
void RenderDemoPlayer(CUIRect MainView);
|
||||
void RenderDemoList(CUIRect MainView);
|
||||
void PopupConfirmDeleteDemo();
|
||||
|
||||
// found in menus_start.cpp
|
||||
void RenderStartMenu(CUIRect MainView);
|
||||
|
@ -721,7 +722,6 @@ public:
|
|||
POPUP_DISCONNECTED,
|
||||
POPUP_LANGUAGE,
|
||||
POPUP_COUNTRY,
|
||||
POPUP_DELETE_DEMO,
|
||||
POPUP_RENAME_DEMO,
|
||||
POPUP_RENDER_DEMO,
|
||||
POPUP_REPLACE_VIDEO,
|
||||
|
|
|
@ -1366,8 +1366,9 @@ void CMenus::RenderDemoList(CUIRect MainView)
|
|||
{
|
||||
if(m_DemolistSelectedIndex >= 0)
|
||||
{
|
||||
UI()->SetActiveItem(nullptr);
|
||||
m_Popup = POPUP_DELETE_DEMO;
|
||||
char aBuf[128 + IO_MAX_PATH_LENGTH];
|
||||
str_format(aBuf, sizeof(aBuf), Localize("Are you sure that you want to delete the demo '%s'?"), m_vDemos[m_DemolistSelectedIndex].m_aFilename);
|
||||
PopupConfirm(Localize("Delete demo"), aBuf, Localize("Yes"), Localize("No"), &CMenus::PopupConfirmDeleteDemo);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -1401,3 +1402,20 @@ void CMenus::RenderDemoList(CUIRect MainView)
|
|||
|
||||
UI()->DoLabel(&LabelRect, aFooterLabel, 14.0f, TEXTALIGN_LEFT);
|
||||
}
|
||||
|
||||
void CMenus::PopupConfirmDeleteDemo()
|
||||
{
|
||||
char aBuf[IO_MAX_PATH_LENGTH];
|
||||
str_format(aBuf, sizeof(aBuf), "%s/%s", m_aCurrentDemoFolder, m_vDemos[m_DemolistSelectedIndex].m_aFilename);
|
||||
if(Storage()->RemoveFile(aBuf, m_vDemos[m_DemolistSelectedIndex].m_StorageType))
|
||||
{
|
||||
DemolistPopulate();
|
||||
DemolistOnUpdate(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
char aError[128 + IO_MAX_PATH_LENGTH];
|
||||
str_format(aError, sizeof(aError), Localize("Unable to delete the demo '%s'"), m_vDemos[m_DemolistSelectedIndex].m_aFilename);
|
||||
PopupMessage(Localize("Error"), aError, Localize("Ok"));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue