From 34c3fa9fec4f5d23a67ba4ef9dfdec28bf043bf8 Mon Sep 17 00:00:00 2001 From: tobigun Date: Thu, 23 Jul 2009 15:07:57 +0000 Subject: More generic popup dialog. A callback can be defined to be called after the popup is closed. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/experimental@1866 b956fd51-792f-4845-bead-9b4dfca2ff2c --- unicode/src/menu/UMenu.pas | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'unicode/src/menu') diff --git a/unicode/src/menu/UMenu.pas b/unicode/src/menu/UMenu.pas index 0c6ebc63..f7e98d32 100644 --- a/unicode/src/menu/UMenu.pas +++ b/unicode/src/menu/UMenu.pas @@ -1176,13 +1176,33 @@ begin AudioPlayback.PlaySound( aSound ); end; +procedure OnSaveEncodingError(Value: boolean; Data: Pointer); +begin + Display.CheckOK := Value; + if (Value) then + begin + //Hack to Finish Singscreen correct on Exit with Q Shortcut + if (Display.NextScreenWithCheck = nil) then + begin + if (Display.CurrentScreen = @ScreenSing) then + ScreenSing.Finish + else if (Display.CurrentScreen = @ScreenSingModi) then + ScreenSingModi.Finish; + end; + end + else + begin + Display.NextScreenWithCheck := nil; + end; +end; + //popup hack procedure TMenu.CheckFadeTo(Screen: PMenu; msg: string); begin Display.Fade := 0; Display.NextScreenWithCheck := Screen; Display.CheckOK := false; - ScreenPopupCheck.ShowPopup(msg); + ScreenPopupCheck.ShowPopup(msg, OnSaveEncodingError, nil, false); end; procedure TMenu.AddButtonText(AddX, AddY: real; const AddText: UTF8String); -- cgit v1.2.3