aboutsummaryrefslogtreecommitdiffstats
path: root/src/screens/UScreenOptionsThemes.pas
diff options
context:
space:
mode:
Diffstat (limited to 'src/screens/UScreenOptionsThemes.pas')
-rw-r--r--src/screens/UScreenOptionsThemes.pas46
1 files changed, 43 insertions, 3 deletions
diff --git a/src/screens/UScreenOptionsThemes.pas b/src/screens/UScreenOptionsThemes.pas
index 2c7a78b1..8796a5ba 100644
--- a/src/screens/UScreenOptionsThemes.pas
+++ b/src/screens/UScreenOptionsThemes.pas
@@ -47,8 +47,17 @@ type
TScreenOptionsThemes = class(TMenu)
private
procedure ReloadTheme;
+ procedure ReloadScreens;
+
public
+{ for later addition
+ ActualTheme: integer;
+ ActualSkin: integer;
+ ActualColor: integer;
+}
+
SkinSelect: integer;
+
constructor Create; override;
function ParseInput(PressedKey: cardinal; CharCode: UCS4Char; PressedDown: boolean): boolean; override;
procedure OnShow; override;
@@ -79,7 +88,7 @@ begin
Exit;
end;
end;
-
+
// check special keys
case PressedKey of
SDLK_ESCAPE,
@@ -87,6 +96,7 @@ begin
begin
Ini.Save;
+// ReloadScreens;
// Reload all screens, after Theme changed
// Todo : JB - Check if theme was actually changed
UGraphic.UnLoadScreens();
@@ -105,6 +115,8 @@ begin
begin
Ini.Save;
+// ReloadScreens;
+
// Reload all screens, after Theme changed
// Todo : JB - Check if theme was actually changed
UGraphic.UnLoadScreens();
@@ -124,7 +136,7 @@ begin
InteractPrev;
SDLK_RIGHT:
begin
- if (SelInteraction >= 0) and (SelInteraction <= 2) then
+ if (SelInteraction >= 0) and (SelInteraction <= 2) then
begin
AudioPlayback.PlaySound(SoundLib.Option);
InteractInc;
@@ -132,7 +144,7 @@ begin
end;
SDLK_LEFT:
begin
- if (SelInteraction >= 0) and (SelInteraction <= 2) then
+ if (SelInteraction >= 0) and (SelInteraction <= 2) then
begin
AudioPlayback.PlaySound(SoundLib.Option);
InteractDec;
@@ -209,12 +221,19 @@ begin
AddButton(Theme.OptionsThemes.ButtonExit);
if (Length(Button[0].Text)=0) then
AddButtonText(20, 5, Theme.Options.Description[7]);
+// AddButtonText(20, 5, Theme.Options.Description[10]);
end;
procedure TScreenOptionsThemes.OnShow;
begin
inherited;
+{
+ ActualTheme := Ini.Theme;
+ ActualSkin := Ini.SkinNo;
+ ActualColor := Ini.Color;
+}
+
Interaction := 0;
end;
@@ -232,7 +251,28 @@ begin
Display.Draw;
SwapBuffers;
+{
+ ScreenOptionsThemes.ActualTheme := self.ActualTheme;
+ ScreenOptionsThemes.ActualSkin := self.ActualSkin;
+ ScreenOptionsThemes.ActualColor := self.ActualColor;
+}
+
Self.Destroy;
end;
+procedure TScreenOptionsThemes.ReloadScreens;
+begin
+ // Reload all screens, after Theme changed
+{
+ if(ActualTheme <> Ini.Theme) or
+ (ActualSkin <> Ini.SkinNo) or
+ (ActualColor <> Ini.Color) then
+}
+ begin
+ UGraphic.UnLoadScreens();
+ UGraphic.LoadScreens(USDXVersionStr);
+ Ini.Load;
+ end;
+end;
+
end.