about summary refs log tree commit diff
path: root/src/game/client/components/menus_demo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/client/components/menus_demo.cpp')
-rw-r--r--src/game/client/components/menus_demo.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/game/client/components/menus_demo.cpp b/src/game/client/components/menus_demo.cpp
index ae4873c1..5321b087 100644
--- a/src/game/client/components/menus_demo.cpp
+++ b/src/game/client/components/menus_demo.cpp
@@ -4,6 +4,7 @@
 #include <engine/demo.h>
 #include <engine/keys.h>
 #include <engine/graphics.h>
+#include <engine/storage.h>
 
 #include <game/client/render.h>
 #include <game/client/gameclient.h>
@@ -472,10 +473,11 @@ void CMenus::RenderDemoList(CUIRect MainView)
 	bool Activated = false;
 	s_SelectedItem = UiDoListboxEnd(&s_ScrollValue, &Activated);
 	
-	CUIRect RefreshRect, PlayRect;
-	ButtonBar.VSplitRight(250.0f, &ButtonBar, &RefreshRect);
-	RefreshRect.VSplitRight(130.0f, &RefreshRect, &PlayRect);
-	PlayRect.VSplitRight(120.0f, 0x0, &PlayRect);
+	CUIRect RefreshRect, PlayRect, DeleteRect;
+	ButtonBar.VSplitRight(130.0f, &ButtonBar, &PlayRect);
+	ButtonBar.VSplitLeft(130.0f, &RefreshRect, &ButtonBar);
+	ButtonBar.VSplitLeft(10.0f, &DeleteRect, &ButtonBar);
+	ButtonBar.VSplitLeft(120.0f, &DeleteRect, &ButtonBar);
 	
 	bool IsDir = false;
 	if(s_SelectedItem >= 0 && s_SelectedItem < m_lDemos.size())
@@ -524,6 +526,15 @@ void CMenus::RenderDemoList(CUIRect MainView)
 		}
 	}
 	
+	static int s_DeleteButton = 0;
+	if(DoButton_Menu(&s_DeleteButton, Localize("Delete"), 0, &DeleteRect) || m_DeletePressed)
+	{
+		if(s_SelectedItem >= 0 && s_SelectedItem < m_lDemos.size() && !IsDir)
+		{
+			Storage()->RemoveFile(m_lDemos[s_SelectedItem].m_aFilename);
+			DemolistPopulate();
+		}
+	}
 }
 
 void CMenus::DemoSetParentDirectory()