-
Notifications
You must be signed in to change notification settings - Fork 0
/
ConfigHandlerRuntime.pas
48 lines (38 loc) · 1.25 KB
/
ConfigHandlerRuntime.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
unit ConfigHandlerRuntime;
interface
uses
ConfigManager,
SysUtils, Forms;
type
TConfigHandlerRuntime = class(TInterfacedObject, IConfigObserver)
public
procedure Update(Subject: TConfigManager);
end;
implementation
uses Main, UTrayManager;
procedure TConfigHandlerRuntime.Update(Subject: TConfigManager);
begin
With MainForm
Do Begin
If Subject.CurrentState.BooleanValues['Autosave', 'Enabled']
Then Begin
FileName := Subject.ApplyDateMask(
Subject.CurrentState['Autosave', 'Directory']
+ '\'
+ Subject.CurrentState['Autosave', 'FileMask']
);
If FileExists(FileName)
Then Begin
LoadState(FileName);
End Else Begin
ForceDirectories(ExtractFileDir(FileName));
SaveState(FileName);
End;
AutoSaveCheck.Enabled := true;
End;
End;
TrayManager.ToggleIcon(
Subject.CurrentState.BooleanValues['TrayIcon', 'Enabled']
);
end;
end.