aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/base/UThemes.pas29
-rw-r--r--src/screens/UScreenEdit.pas102
2 files changed, 112 insertions, 19 deletions
diff --git a/src/base/UThemes.pas b/src/base/UThemes.pas
index 361ed87d..9bf858ed 100644
--- a/src/base/UThemes.pas
+++ b/src/base/UThemes.pas
@@ -484,6 +484,16 @@ type
ButtonExit: TThemeButton;
end;
+ TThemeEdit = class(TThemeBasic)
+ ButtonConvert: TThemeButton;
+ ButtonExit: TThemeButton;
+
+ TextDescription: TThemeText;
+ TextDescriptionLong: TThemeText;
+ Description: array[0..5] of string;
+ DescriptionLong: array[0..5] of string;
+ end;
+
//Error- and Check-Popup
TThemeError = class(TThemeBasic)
Button1: TThemeButton;
@@ -723,6 +733,8 @@ type
OptionsThemes: TThemeOptionsThemes;
OptionsRecord: TThemeOptionsRecord;
OptionsAdvanced: TThemeOptionsAdvanced;
+ //edit
+ Edit: TThemeEdit;
//error and check popup
ErrorPopup: TThemeError;
CheckPopup: TThemeCheck;
@@ -852,6 +864,8 @@ begin
OptionsRecord := TThemeOptionsRecord.Create;
OptionsAdvanced := TThemeOptionsAdvanced.Create;
+ Edit := TThemeEdit.Create;
+
ErrorPopup := TThemeError.Create;
CheckPopup := TThemeCheck.Create;
@@ -1246,6 +1260,18 @@ begin
ThemeLoadSelectSlide(OptionsAdvanced.SelectPartyPopup, 'OptionsAdvancedSelectPartyPopup');
ThemeLoadButton (OptionsAdvanced.ButtonExit, 'OptionsAdvancedButtonExit');
+ //Edit Menu
+ ThemeLoadBasic (Edit, 'Edit');
+
+ ThemeLoadButton(Edit.ButtonConvert, 'EditButtonConvert');
+ ThemeLoadButton(Edit.ButtonExit, 'EditButtonExit');
+
+ Edit.Description[0] := Language.Translate('SING_EDIT_BUTTON_DESCRIPTION_CONVERT');
+ Edit.Description[1] := Language.Translate('SING_EDIT_BUTTON_DESCRIPTION_EXIT');
+
+ ThemeLoadText(Edit.TextDescription, 'EditTextDescription');
+ Edit.TextDescription.Text := Edit.Description[0];
+
//error and check popup
ThemeLoadBasic (ErrorPopup, 'ErrorPopup');
ThemeLoadButton(ErrorPopup.Button1, 'ErrorPopupButton1');
@@ -2310,6 +2336,9 @@ begin
freeandnil(OptionsAdvanced);
OptionsAdvanced := TThemeOptionsAdvanced.Create;
+ freeandnil(Edit);
+ Edit := TThemeEdit.Create;
+
freeandnil(ErrorPopup);
ErrorPopup := TThemeError.Create;
diff --git a/src/screens/UScreenEdit.pas b/src/screens/UScreenEdit.pas
index 1fc2fcdc..7ad39c45 100644
--- a/src/screens/UScreenEdit.pas
+++ b/src/screens/UScreenEdit.pas
@@ -41,15 +41,28 @@ uses
type
TScreenEdit = class(TMenu)
public
-{ Tex_Background: TTexture;
+{
+ Tex_Background: TTexture;
FadeOut: boolean;
Path: string;
- FileName: string;}
+ FileName: string;
+}
+ TextDescription: integer;
+ TextDescriptionLong: integer;
+
constructor Create; override;
+ function ParseInput(PressedKey: cardinal; CharCode: WideChar;
+ PressedDown: boolean): boolean; override;
procedure onShow; override;
- function ParseInput(PressedKey: cardinal; CharCode: WideChar; PressedDown: boolean): boolean; override;
-{ function Draw: boolean; override;
- procedure Finish;}
+ procedure InteractNext; override;
+ procedure InteractPrev; override;
+ procedure InteractInc; override;
+ procedure InteractDec; override;
+ procedure SetAnimationProgress(Progress: real); override;
+{
+ function Draw: boolean; override;
+ procedure Finish;
+}
end;
implementation
@@ -60,12 +73,19 @@ uses
USkins,
SysUtils;
-function TScreenEdit.ParseInput(PressedKey: cardinal; CharCode: WideChar; PressedDown: boolean): boolean;
+function TScreenEdit.ParseInput(PressedKey: cardinal; CharCode: WideChar;
+ PressedDown: boolean): boolean;
+var
+ SDL_ModState: word;
begin
Result := true;
+
+ SDL_ModState := SDL_GetModState and (KMOD_LSHIFT + KMOD_RSHIFT +
+ KMOD_LCTRL + KMOD_RCTRL + KMOD_LALT + KMOD_RALT);
+
if (PressedDown) then
begin // Key Down
- // check normal keys
+ // check normal keys
case WideCharUpperCase(CharCode)[1] of
'Q':
begin
@@ -103,14 +123,10 @@ begin
end;
end;
- SDLK_DOWN:
- begin
- InteractNext;
- end;
- SDLK_UP:
- begin
- InteractPrev;
- end;
+ SDLK_DOWN: InteractInc;
+ SDLK_UP: InteractDec;
+ SDLK_RIGHT: InteractNext;
+ SDLK_LEFT: InteractPrev;
end;
end;
end;
@@ -118,8 +134,14 @@ end;
constructor TScreenEdit.Create;
begin
inherited Create;
- AddButton(400-200, 100 + 0*70, 400, 40, Skin.GetTextureFileName('ButtonF'));
- AddButtonText(10, 5, 0, 0, 0, 'Convert Midi to Txt');
+
+ TextDescription := AddText(Theme.Edit.TextDescription);
+// TextDescriptionLong := AddText(Theme.Edit.TextDescriptionLong);
+
+ LoadFromTheme(Theme.Edit);
+
+// AddButton(400-200, 100 + 0*70, 400, 40, Skin.GetTextureFileName('ButtonF'));
+// AddButtonText(10, 5, 0, 0, 0, 'Convert Midi to Txt');
// Button[High(Button)].Text[0].Size := 11;
// AddButton(400-200, 100 + 1*60, 400, 40, 'ButtonF');
@@ -128,9 +150,17 @@ begin
// AddButton(400-200, 100 + 2*60, 400, 40, 'ButtonF');
// AddButtonText(10, 5, 0, 0, 0, 'Set GAP');
- AddButton(400-200, 100 + 3*60, 400, 40, Skin.GetTextureFileName('ButtonF'));
- AddButtonText(10, 5, 0, 0, 0, 'Exit');
+// AddButton(400-200, 100 + 3*60, 400, 40, Skin.GetTextureFileName('ButtonF'));
+// AddButtonText(10, 5, 0, 0, 0, 'Exit');
+ AddButton(Theme.Edit.ButtonConvert);
+ AddButton(Theme.Edit.ButtonExit);
+
+{
+ if (Length(Button[0].Text)=0) then
+ AddButtonText(14, 20, Theme.Edit.Description[0]);
+}
+ Interaction := 0;
end;
procedure TScreenEdit.onShow;
@@ -140,6 +170,40 @@ begin
// Interaction := 0;
end;
+procedure TScreenEdit.InteractNext;
+begin
+ inherited InteractNext;
+ Text[TextDescription].Text := Theme.Edit.Description[Interaction];
+// Text[TextDescriptionLong].Text := Theme.Edit.DescriptionLong[Interaction];
+end;
+
+procedure TScreenEdit.InteractPrev;
+begin
+ inherited InteractPrev;
+ Text[TextDescription].Text := Theme.Edit.Description[Interaction];
+// Text[TextDescriptionLong].Text := Theme.Edit.DescriptionLong[Interaction];
+end;
+
+procedure TScreenEdit.InteractDec;
+begin
+ inherited InteractDec;
+ Text[TextDescription].Text := Theme.Edit.Description[Interaction];
+// Text[TextDescriptionLong].Text := Theme.Edit.DescriptionLong[Interaction];
+end;
+
+procedure TScreenEdit.InteractInc;
+begin
+ inherited InteractInc;
+ Text[TextDescription].Text := Theme.Edit.Description[Interaction];
+// Text[TextDescriptionLong].Text := Theme.Edit.DescriptionLong[Interaction];
+end;
+
+procedure TScreenEdit.SetAnimationProgress(Progress: real);
+begin
+ Static[0].Texture.ScaleW := Progress;
+ Static[0].Texture.ScaleH := Progress;
+end;
+
(*function TScreenEdit.Draw: boolean;
var
Min: integer;