about summary refs log tree commit diff
path: root/src/game/client/components/menus_demo.cpp
diff options
context:
space:
mode:
authorChoupom <andycootlapin@hotmail.fr>2010-09-03 20:05:22 +0200
committeroy <Tom_Adams@web.de>2010-09-05 17:40:51 +0200
commitfcfaa8389f968bc89fbd4afbfc70ea7c3815c7bb (patch)
tree1633fe299e51715b94a07bc14637399ccd356dae /src/game/client/components/menus_demo.cpp
parent2800832e12684b5961bbef5291922d11e23b032a (diff)
downloadzcatch-fcfaa8389f968bc89fbd4afbfc70ea7c3815c7bb.tar.gz
zcatch-fcfaa8389f968bc89fbd4afbfc70ea7c3815c7bb.zip
added Remove button in demos browser (#66)
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()