-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhelpinfo.pas
157 lines (130 loc) · 3.97 KB
/
helpinfo.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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
unit helpinfo;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, lazproginfo,
lcltranslator, Buttons, lclintf, ExtCtrls, oslog;
type
{ TFormHelpInfo }
TFormHelpInfo = class(TForm)
ButtonClose: TButton;
CheckBoxExpertMode: TCheckBox;
GroupBoxInfo: TGroupBox;
ImageLogo: TImage;
LabeCopy: TLabel;
LabelCopyRight: TLabel;
LabelModeInfo: TLabel;
LabelMode: TLabel;
LabelCredits: TLabel;
LabelCreditsTo: TLabel;
LabelLang: TLabel;
LabelLanguage: TLabel;
LabelName: TLabel;
LabelOpsiWeb: TLabel;
LabelUibWeb: TLabel;
LabelVers: TLabel;
LabelVersion: TLabel;
PanelCopyRight: TPanel;
PanelWeb: TPanel;
PanelMode: TPanel;
PanelDescriptions: TPanel;
PanelInfo: TPanel;
PanelLanguage: TPanel;
PanelTop: TPanel;
PanelCredits: TPanel;
PanelBottom: TPanel;
PanelVersion: TPanel;
SpeedButtonManual: TSpeedButton;
procedure ButtonCloseClick(Sender: TObject);
//procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure LabelOpsiWebClick(Sender: TObject);
procedure LabelOpsiWebMouseEnter(Sender: TObject);
procedure LabelOpsiWebMouseLeave(Sender: TObject);
procedure LabelUibWebClick(Sender: TObject);
procedure LabelUibWebMouseEnter(Sender: TObject);
procedure LabelUibWebMouseLeave(Sender: TObject);
procedure SpeedButtonManualClick(Sender: TObject);
private
procedure MouseEnterLink(Sender: TObject);
procedure MouseLeaveLink(Sender: TObject);
public
end;
var
FormHelpInfo: TFormHelpInfo;
implementation
{$R *.lfm}
{ TFormHelpInfo }
procedure TFormHelpInfo.FormShow(Sender: TObject);
begin
LabelVersion.Caption := ProgramInfo.Version;
LabelLanguage.Caption := SetDefaultLang('');
LabelCopyRight.Caption:= 'uib gmbh under AGPLv3';
LabelUibWeb.Caption := 'https://uib.de';
LabelOpsiWeb.Caption:= 'https://opsi.org';
LabelCredits.Caption:= 'Lazarus/FPC, synapse, sqllite';
end;
procedure TFormHelpInfo.LabelOpsiWebClick(Sender: TObject);
begin
LogDatei.log('Open URL https://opsi.org' ,LLNotice);
OpenUrl('https://opsi.org');
end;
procedure TFormHelpInfo.LabelOpsiWebMouseEnter(Sender: TObject);
begin
MouseEnterLink(Sender);
end;
procedure TFormHelpInfo.LabelOpsiWebMouseLeave(Sender: TObject);
begin
MouseLeaveLink(Sender);
end;
procedure TFormHelpInfo.LabelUibWebClick(Sender: TObject);
begin
LogDatei.log('Open URL https://uib.de' ,LLNotice);
OpenUrl('https://uib.de');
end;
procedure TFormHelpInfo.LabelUibWebMouseEnter(Sender: TObject);
begin
MouseEnterLink(Sender);
end;
procedure TFormHelpInfo.LabelUibWebMouseLeave(Sender: TObject);
begin
MouseLeaveLink(Sender);
end;
procedure TFormHelpInfo.SpeedButtonManualClick(Sender: TObject);
var
languageNotFound:boolean;
Language: String;
const
URL_MANUAL_EN = 'https://docs.opsi.org/opsi-docs-en/4.3/opsi-modules/' +
'software-on-demand.html?q=+Verwendung#software-on-demand_opsi-client-kiosk';
URL_MANUAL_DE = 'https://docs.opsi.org/opsi-docs-de/4.3/opsi-modules/' +
'software-on-demand.html?q=+Verwendung#software-on-demand_opsi-client-kiosk';
begin
Language := SetDefaultLang('');
LogDatei.log('Open manual for language ' + Language ,LLNotice);
if Language = 'de' then
begin
OpenUrl(URL_MANUAL_DE);
LogDatei.log('URL: '+ URL_MANUAL_DE, LLInfo);
end
else
begin
OpenUrl(URL_MANUAL_EN);
LogDatei.log('URL: '+ URL_MANUAL_EN, LLInfo);
end;
end;
procedure TFormHelpInfo.MouseEnterLink(Sender: TObject);
begin
Screen.Cursor := crHandPoint;
(Sender as TControl).Font.Style := [fsUnderline];
end;
procedure TFormHelpInfo.MouseLeaveLink(Sender: TObject);
begin
Screen.Cursor := crDefault;
(Sender as TControl).Font.Style := [];
end;
procedure TFormHelpInfo.ButtonCloseClick(Sender: TObject);
begin
Close;
end;
end.