source: trunk/Forms/FormSettings.pas

Last change on this file was 388, checked in by chronos, 6 months ago
  • Modified: Allow to resize new game, settings and game system forms to be smaller with scroll box area.
File size: 2.7 KB
Line 
1unit FormSettings;
2
3interface
4
5uses
6 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
7 Spin, ComCtrls, ExtCtrls, FormEx;
8
9type
10
11 { TFormSettings }
12
13 TFormSettings = class(TFormEx)
14 ButtonOk: TButton;
15 ButtonCancel: TButton;
16 CheckBox2: TCheckBox;
17 CheckBoxDevelMode: TCheckBox;
18 ComboBoxLanguage: TComboBox;
19 ComboBoxTheme: TComboBox;
20 Label1: TLabel;
21 Label2: TLabel;
22 Label3: TLabel;
23 Label4: TLabel;
24 Label5: TLabel;
25 Label6: TLabel;
26 PageControl1: TPageControl;
27 ScrollBoxGeneral: TScrollBox;
28 ScrollBoxDebug: TScrollBox;
29 SpinEditAnimSpeed: TSpinEdit;
30 SpinEditX: TSpinEdit;
31 SpinEditY: TSpinEdit;
32 TabSheetGeneral: TTabSheet;
33 TabSheetDebug: TTabSheet;
34 procedure CheckBox2Change(Sender: TObject);
35 procedure FormCreate(Sender: TObject);
36 procedure FormShow(Sender: TObject);
37 public
38 procedure Load;
39 procedure Save;
40 end;
41
42
43implementation
44
45{$R *.lfm}
46
47uses
48 Core, Languages, Theme;
49
50{ TFormSettings }
51
52procedure TFormSettings.CheckBox2Change(Sender: TObject);
53begin
54 SpinEditX.Enabled := not CheckBox2.Checked;
55 SpinEditY.Enabled := not CheckBox2.Checked;
56end;
57
58procedure TFormSettings.FormCreate(Sender: TObject);
59begin
60 PageControl1.TabIndex := 0;
61 Core.Core.ThemeManager1.Themes.LoadToStrings(ComboBoxTheme.Items);
62 Core.Core.Translator1.LanguageListToStrings(ComboBoxLanguage.Items);
63end;
64
65procedure TFormSettings.FormShow(Sender: TObject);
66begin
67 {$IFDEF DEBUG}
68 TabSheetDebug.TabVisible := True;
69 {$ELSE}
70 TabSheetDebug.TabVisible := False;
71 {$ENDIF}
72end;
73
74procedure TFormSettings.Load;
75begin
76 ComboBoxLanguage.ItemIndex := ComboBoxLanguage.Items.IndexOfObject(Core.Core.Translator1.Language);
77 if ComboBoxLanguage.ItemIndex = -1 then ComboBoxLanguage.ItemIndex := 0;
78 ComboBoxTheme.ItemIndex := ComboBoxTheme.Items.IndexOfObject(Core.Core.ThemeManager1.Theme);
79 if ComboBoxTheme.ItemIndex = -1 then ComboBoxTheme.ItemIndex := 0;
80 CheckBoxDevelMode.Checked := Core.Core.DevelMode;
81 SpinEditAnimSpeed.Value := Core.Core.AnimationSpeed;
82 CheckBox2.Checked := Core.Core.ScaleDPI1.AutoDetect;
83 SpinEditX.Value := Core.Core.ScaleDPI1.DPI.X;
84 SpinEditY.Value := Core.Core.ScaleDPI1.DPI.Y;
85end;
86
87procedure TFormSettings.Save;
88begin
89 if ComboBoxLanguage.ItemIndex <> -1 then
90 Core.Core.Translator1.Language := TLanguage(ComboBoxLanguage.Items.Objects[ComboBoxLanguage.ItemIndex]);
91 if ComboBoxTheme.ItemIndex <> -1 then
92 Core.Core.ThemeManager1.Theme := TTheme(ComboBoxTheme.Items.Objects[ComboBoxTheme.ItemIndex]);
93 Core.Core.DevelMode := CheckBoxDevelMode.Checked;
94 Core.Core.AnimationSpeed := SpinEditAnimSpeed.Value;
95 Core.Core.ScaleDPI1.AutoDetect := CheckBox2.Checked;
96 Core.Core.ScaleDPI1.DPI := Point(SpinEditX.Value, SpinEditY.Value);
97end;
98
99end.
100
Note: See TracBrowser for help on using the repository browser.