aboutsummaryrefslogtreecommitdiffstats
path: root/Game/Code/Screens/UScreenOptionsThemes.pas
diff options
context:
space:
mode:
authorbrunzelchen <brunzelchen@b956fd51-792f-4845-bead-9b4dfca2ff2c>2010-04-28 19:54:31 +0000
committerbrunzelchen <brunzelchen@b956fd51-792f-4845-bead-9b4dfca2ff2c>2010-04-28 19:54:31 +0000
commit60e6d3f9904a8114e985fccd14454b9b604ea275 (patch)
treec3dc298e5c81272f3df8e80171ae0f60d8774f2e /Game/Code/Screens/UScreenOptionsThemes.pas
parent58a47541955f5010269d72a06e307bbb945211ea (diff)
downloadusdx-60e6d3f9904a8114e985fccd14454b9b604ea275.tar.gz
usdx-60e6d3f9904a8114e985fccd14454b9b604ea275.tar.xz
usdx-60e6d3f9904a8114e985fccd14454b9b604ea275.zip
- new SDL.dll (with a quick and dirty workaround for the hanging-mouse problem)
- changing of sorting and folder-option (on/off) does not need any restart now - a lot of code clean up - some bugfixes... i hope... dont't know which... git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/1.0.1 Challenge MOD@2316 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'Game/Code/Screens/UScreenOptionsThemes.pas')
-rw-r--r--Game/Code/Screens/UScreenOptionsThemes.pas32
1 files changed, 21 insertions, 11 deletions
diff --git a/Game/Code/Screens/UScreenOptionsThemes.pas b/Game/Code/Screens/UScreenOptionsThemes.pas
index 320baa83..9a65aae0 100644
--- a/Game/Code/Screens/UScreenOptionsThemes.pas
+++ b/Game/Code/Screens/UScreenOptionsThemes.pas
@@ -9,8 +9,10 @@ type
TScreenOptionsThemes = class(TMenu)
private
procedure ReloadTheme;
+
public
- SkinSelect: Integer;
+ AktualTheme: Integer;
+ SkinSelect: Integer;
constructor Create; override;
function ParseInput(PressedKey: Cardinal; ScanCode: byte; PressedDown: Boolean): Boolean; override;
procedure onShow; override;
@@ -46,10 +48,12 @@ begin
Ini.Save;
// Reload all screens, after Theme changed
- // Todo : JB - Check if theme was actually changed
- UGraphic.UnLoadScreens();
- UGraphic.LoadScreens( false );
-
+ if(AktualTheme<>Ini.Theme) then
+ begin
+ UGraphic.UnLoadScreens();
+ UGraphic.LoadScreens( true );
+ ScreenSong.Refresh(true);
+ end;
Music.PlayBack;
FadeTo(@ScreenOptions);
end;
@@ -60,10 +64,12 @@ begin
Ini.Save;
// Reload all screens, after Theme changed
- // Todo : JB - Check if theme was actually changed
- UGraphic.UnLoadScreens();
- UGraphic.LoadScreens( false );
-
+ if(AktualTheme<>Ini.Theme) then
+ begin
+ UGraphic.UnLoadScreens();
+ UGraphic.LoadScreens( true );
+ ScreenSong.Refresh(true);
+ end;
Music.PlayBack;
FadeTo(@ScreenOptions);
end;
@@ -119,8 +125,8 @@ begin
end;
constructor TScreenOptionsThemes.Create;
-var
- I: integer;
+{var
+ I: integer;}
begin
inherited Create;
@@ -143,6 +149,8 @@ begin
Interaction := 0;
if not Help.SetHelpID(ID) then
Log.LogError('No Entry for Help-ID ' + ID + ' (ScreenOptionsThemes)');
+
+ AktualTheme := Ini.Theme;
end;
procedure TScreenOptionsThemes.ReloadTheme;
@@ -160,6 +168,8 @@ begin
Display.Draw;
SwapBuffers;
+ ScreenOptionsThemes.AktualTheme := self.AktualTheme;
+
freeandnil( self );
end;