source: tags/1.4.0/Forms/UFormSettings.pas

Last change on this file was 127, checked in by chronos, 2 years ago
  • Modified: Removed explicit Delphi directive.
  • Fixed: Added mising UTestCase file.
File size: 3.3 KB
Line 
1unit UFormSettings;
2
3interface
4
5uses
6 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
7 Menus, Spin, ExtCtrls, ULanguages;
8
9type
10
11 { TFormSettings }
12
13 TFormSettings = class(TForm)
14 Bevel1: TBevel;
15 ButtonOk: TButton;
16 ButtonCancel: TButton;
17 CheckBoxReopenLastFileOnStart: TCheckBox;
18 CheckBoxAutomaticDPI: TCheckBox;
19 ComboBoxLanguage: TComboBox;
20 ComboBoxTheme: TComboBox;
21 EditDefaultVcardVersion: TEdit;
22 EditMapUrl: TEdit;
23 Label1: TLabel;
24 Label2: TLabel;
25 Label3: TLabel;
26 LabelDPI: TLabel;
27 SpinEditDPI: TSpinEdit;
28 procedure ButtonOkClick(Sender: TObject);
29 procedure CheckBoxAutomaticDPIChange(Sender: TObject);
30 procedure CheckBoxStartOnLogonChange(Sender: TObject);
31 procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
32 procedure FormCreate(Sender: TObject);
33 procedure FormShow(Sender: TObject);
34 private
35 { private declarations }
36 public
37 procedure LoadData;
38 procedure SaveData;
39 procedure UpdateInterface;
40 end;
41
42var
43 FormSettings: TFormSettings;
44
45
46implementation
47
48{$R *.lfm}
49
50uses
51 UCore, UTheme;
52
53{ TFormSettings }
54
55procedure TFormSettings.FormShow(Sender: TObject);
56begin
57 Core.PersistentForm1.Load(Self);
58
59 Core.Translator.LanguageListToStrings(ComboBoxLanguage.Items);
60 ComboBoxLanguage.ItemIndex := ComboBoxLanguage.Items.IndexOfObject(Core.Translator.Language);
61 if ComboBoxLanguage.ItemIndex = -1 then ComboBoxLanguage.ItemIndex := 0;
62
63 Core.ThemeManager1.Themes.LoadToStrings(ComboBoxTheme.Items);
64 ComboBoxTheme.ItemIndex := ComboBoxTheme.Items.IndexOfObject(Core.ThemeManager1.Theme);
65 if ComboBoxTheme.ItemIndex = -1 then ComboBoxTheme.ItemIndex := 0;
66end;
67
68procedure TFormSettings.ButtonOkClick(Sender: TObject);
69begin
70 if ComboBoxLanguage.ItemIndex <> -1 then
71 Core.Translator.Language := TLanguage(ComboBoxLanguage.Items.Objects[ComboBoxLanguage.ItemIndex]);
72 if ComboBoxTheme.ItemIndex <> -1 then
73 Core.ThemeManager1.Theme := TTheme(ComboBoxTheme.Items.Objects[ComboBoxTheme.ItemIndex]);
74end;
75
76procedure TFormSettings.CheckBoxAutomaticDPIChange(Sender: TObject);
77begin
78 UpdateInterface;
79end;
80
81procedure TFormSettings.CheckBoxStartOnLogonChange(Sender: TObject);
82begin
83 UpdateInterface;
84end;
85
86procedure TFormSettings.FormClose(Sender: TObject; var CloseAction: TCloseAction
87 );
88begin
89 Core.PersistentForm1.Save(Self);
90end;
91
92procedure TFormSettings.FormCreate(Sender: TObject);
93begin
94 Core.Translator.TranslateComponentRecursive(Self);
95 Core.ThemeManager1.UseTheme(Self);
96end;
97
98procedure TFormSettings.LoadData;
99begin
100 CheckBoxAutomaticDPI.Checked := Core.ScaleDPI1.AutoDetect;
101 SpinEditDPI.Value := Core.ScaleDPI1.DPI.X;
102 CheckBoxReopenLastFileOnStart.Checked := Core.ReopenLastFileOnStart;
103 EditDefaultVcardVersion.Text := Core.DefaultVcardVersion;
104 EditMapUrl.Text := Core.MapUrl;
105 UpdateInterface;
106end;
107
108procedure TFormSettings.SaveData;
109begin
110 Core.ScaleDPI1.AutoDetect := CheckBoxAutomaticDPI.Checked;
111 Core.ScaleDPI1.DPI := Point(SpinEditDPI.Value, SpinEditDPI.Value);
112 Core.ReopenLastFileOnStart := CheckBoxReopenLastFileOnStart.Checked;
113 Core.DefaultVcardVersion := EditDefaultVcardVersion.Text;
114 Core.MapUrl := EditMapUrl.Text;
115end;
116
117procedure TFormSettings.UpdateInterface;
118begin
119 SpinEditDPI.Enabled := not CheckBoxAutomaticDPI.Checked;
120 LabelDPI.Enabled := not CheckBoxAutomaticDPI.Checked;
121end;
122
123end.
124
Note: See TracBrowser for help on using the repository browser.