source: tags/1.0.0/Forms/UFormSettings.pas

Last change on this file was 15, checked in by chronos, 5 years ago
  • Fixed: New and Settings forms were not translated in runtime.
File size: 2.1 KB
Line 
1unit UFormSettings;
2
3{$mode delphi}
4
5interface
6
7uses
8 Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ComCtrls,
9 ULanguages;
10
11type
12
13 { TFormSettings }
14
15 TFormSettings = class(TForm)
16 ButtonOk: TButton;
17 ButtonCancel: TButton;
18 ComboBoxLanguage: TComboBox;
19 Label1: TLabel;
20 Label2: TLabel;
21 TrackBar1: TTrackBar;
22 procedure ButtonCancelClick(Sender: TObject);
23 procedure ButtonOkClick(Sender: TObject);
24 procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
25 procedure FormCreate(Sender: TObject);
26 procedure FormShow(Sender: TObject);
27 private
28
29 public
30
31 end;
32
33var
34 FormSettings: TFormSettings;
35
36
37implementation
38
39{$R *.lfm}
40
41uses
42 UCore;
43
44resourcestring
45 SLanguageChangeTitle = 'Language change';
46 SLanguageChangeMessage = 'Interface language was changed. It may require restart of application.';
47
48
49{ TFormSettings }
50
51procedure TFormSettings.ButtonCancelClick(Sender: TObject);
52begin
53 Close;
54end;
55
56procedure TFormSettings.ButtonOkClick(Sender: TObject);
57begin
58 Core.Game.AnimationDuration := TrackBar1.Position;
59 if ComboBoxLanguage.ItemIndex <> -1 then begin
60 if (Core.Translator1.Language <> TLanguage(ComboBoxLanguage.Items.Objects[ComboBoxLanguage.ItemIndex])) then
61 MessageDlg(SLanguageChangeTitle, SLanguageChangeMessage, mtInformation, [mbOk], 0);
62 Core.Translator1.Language := TLanguage(ComboBoxLanguage.Items.Objects[ComboBoxLanguage.ItemIndex]);
63 end;
64 Close;
65end;
66
67procedure TFormSettings.FormClose(Sender: TObject; var CloseAction: TCloseAction
68 );
69begin
70 Core.PersistentForm1.Save(Self);
71end;
72
73procedure TFormSettings.FormCreate(Sender: TObject);
74begin
75 Core.Translator1.TranslateComponentRecursive(Self);
76 Core.Translator1.LanguageListToStrings(ComboBoxLanguage.Items);
77end;
78
79procedure TFormSettings.FormShow(Sender: TObject);
80begin
81 Core.PersistentForm1.Load(Self);
82 TrackBar1.Position := Core.Game.AnimationDuration;
83 ComboBoxLanguage.ItemIndex := ComboBoxLanguage.Items.IndexOfObject(Core.Translator1.Language);
84 if ComboBoxLanguage.ItemIndex = -1 then ComboBoxLanguage.ItemIndex := 0;
85end;
86
87end.
88
Note: See TracBrowser for help on using the repository browser.