]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/win32/full_win32_installer/ConfigPage1.nsh
Restore win32 dir from Branch-5.2 and update it
[bacula/bacula] / bacula / src / win32 / full_win32_installer / ConfigPage1.nsh
1 Function EnterConfigPage1\r
2   ${If} $AutomaticInstall = 1\r
3     Abort\r
4   ${EndIf}\r
5 \r
6   IntOp $R0 $NewComponents & ${ComponentsFileAndStorage}\r
7 \r
8   ${If} $R0 = 0\r
9     Abort\r
10   ${EndIf}\r
11 \r
12   FileOpen $R5 "$PLUGINSDIR\ConfigPage1.ini" w\r
13 \r
14   StrCpy $R6 1  ; Field Number\r
15   StrCpy $R7 0  ; Top\r
16 \r
17   IntOp $R0 $NewComponents & ${ComponentFile}\r
18   ${If} $R0 <> 0\r
19     IntOp $R8 $R7 + 52\r
20     FileWrite $R5 '[Field $R6]$\r$\nType="GroupBox"$\r$\nText="Client"$\r$\nLeft=0$\r$\nTop=$R7$\r$\nRight=300$\r$\nBottom=$R8$\r$\n$\r$\n'\r
21     IntOp $R6 $R6 + 1\r
22     IntOp $R7 $R7 + 12\r
23 \r
24     IntOp $R8 $R7 + 8\r
25     FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Name"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=26$\r$\nBottom=$R8$\r$\n$\r$\n'\r
26     IntOp $R6 $R6 + 1\r
27     IntOp $R7 $R7 - 2\r
28 \r
29     IntOp $R8 $R8 + 2\r
30     FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigClientName$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=158$\r$\nBottom=$R8$\r$\n$\r$\n'\r
31     IntOp $R6 $R6 + 1\r
32     IntOp $R7 $R7 + 2\r
33 \r
34     IntOp $R8 $R8 - 2\r
35     FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Port"$\r$\nLeft=172$\r$\nTop=$R7$\r$\nRight=188$\r$\nBottom=$R8$\r$\n$\r$\n'\r
36     IntOp $R6 $R6 + 1\r
37     IntOp $R7 $R7 - 2\r
38 \r
39     IntOp $R8 $R8 + 2\r
40     FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nFlags="ONLY_NUMBERS"$\r$\nState=$ConfigClientPort$\r$\nLeft=190$\r$\nTop=$R7$\r$\nRight=218$\r$\nBottom=$R8$\r$\n$\r$\n'\r
41     IntOp $R6 $R6 + 1\r
42     IntOp $R7 $R7 + 2\r
43 \r
44     IntOp $R8 $R8 - 2\r
45     FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Max Jobs"$\r$\nLeft=238$\r$\nTop=$R7$\r$\nRight=270$\r$\nBottom=$R8$\r$\n$\r$\n'\r
46     IntOp $R6 $R6 + 1\r
47     IntOp $R7 $R7 - 2\r
48 \r
49     IntOp $R8 $R8 + 2\r
50     FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nFlags="ONLY_NUMBERS"$\r$\nState=$ConfigClientMaxJobs$\r$\nLeft=274$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n'\r
51     IntOp $R6 $R6 + 1\r
52     IntOp $R7 $R7 + 16\r
53 \r
54     IntOp $R8 $R7 + 8\r
55     FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Password"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=38$\r$\nBottom=$R8$\r$\n$\r$\n'\r
56     IntOp $R6 $R6 + 1\r
57     IntOp $R7 $R7 - 2\r
58 \r
59     IntOp $R8 $R8 + 2\r
60     FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigClientPassword$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n'\r
61     IntOp $R6 $R6 + 1\r
62     IntOp $R7 $R7 + 14\r
63 \r
64     IntOp $R8 $R7 + 10\r
65     FileWrite $R5 '[Field $R6]$\r$\nType="Checkbox"$\r$\nState=$ConfigClientInstallService$\r$\nText="Install as service"$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=118$\r$\nBottom=$R8$\r$\n$\r$\n'\r
66     IntOp $R6 $R6 + 1\r
67 \r
68     FileWrite $R5 '[Field $R6]$\r$\nType="Checkbox"$\r$\nState=$ConfigClientStartService$\r$\nText="Start after install"$\r$\nLeft=190$\r$\nTop=$R7$\r$\nRight=260$\r$\nBottom=$R8$\r$\n$\r$\n'\r
69     IntOp $R6 $R6 + 1\r
70     IntOp $R7 $R7 + 16\r
71   ${Endif}\r
72 \r
73   IntOp $R0 $NewComponents & ${ComponentStorage}\r
74   ${If} $R0 <> 0\r
75     IntOp $R8 $R7 + 52\r
76     FileWrite $R5 '[Field $R6]$\r$\nType="GroupBox"$\r$\nText="Storage"$\r$\nLeft=0$\r$\nTop=$R7$\r$\nRight=300$\r$\nBottom=$R8$\r$\n$\r$\n'\r
77     IntOp $R6 $R6 + 1\r
78     IntOp $R7 $R7 + 12\r
79     \r
80     IntOp $R8 $R7 + 8\r
81     FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Name"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=26$\r$\nBottom=$R8$\r$\n$\r$\n'\r
82     IntOp $R6 $R6 + 1\r
83     IntOp $R7 $R7 - 2\r
84 \r
85     IntOp $R8 $R8 + 2\r
86     FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigStorageName$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=158$\r$\nBottom=$R8$\r$\n$\r$\n'\r
87     IntOp $R6 $R6 + 1\r
88     IntOp $R7 $R7 + 2\r
89 \r
90     IntOp $R8 $R8 - 2\r
91     FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Port"$\r$\nLeft=172$\r$\nTop=$R7$\r$\nRight=188$\r$\nBottom=$R8$\r$\n$\r$\n'\r
92     IntOp $R6 $R6 + 1\r
93     IntOp $R7 $R7 - 2\r
94 \r
95     IntOp $R8 $R8 + 2\r
96     FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nFlags="ONLY_NUMBERS"$\r$\nState=$ConfigStoragePort$\r$\nLeft=190$\r$\nTop=$R7$\r$\nRight=218$\r$\nBottom=$R8$\r$\n$\r$\n'\r
97     IntOp $R6 $R6 + 1\r
98     IntOp $R7 $R7 + 2\r
99 \r
100     IntOp $R8 $R8 - 2\r
101     FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Max Jobs"$\r$\nLeft=238$\r$\nTop=$R7$\r$\nRight=270$\r$\nBottom=$R8$\r$\n$\r$\n'\r
102     IntOp $R6 $R6 + 1\r
103     IntOp $R7 $R7 - 2\r
104 \r
105     IntOp $R8 $R8 + 2\r
106     FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nFlags="ONLY_NUMBERS"$\r$\nState=$ConfigStorageMaxJobs$\r$\nLeft=274$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n'\r
107     IntOp $R6 $R6 + 1\r
108     IntOp $R7 $R7 + 16\r
109 \r
110     IntOp $R8 $R7 + 8\r
111     FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Password"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=38$\r$\nBottom=$R8$\r$\n$\r$\n'\r
112     IntOp $R6 $R6 + 1\r
113     IntOp $R7 $R7 - 2\r
114 \r
115     IntOp $R8 $R8 + 2\r
116     FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigStoragePassword$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n'\r
117     IntOp $R6 $R6 + 1\r
118     IntOp $R7 $R7 + 14\r
119 \r
120     IntOp $R8 $R7 + 10\r
121     FileWrite $R5 '[Field $R6]$\r$\nType="Checkbox"$\r$\nState=$ConfigStorageInstallService$\r$\nText="Install as service"$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=118$\r$\nBottom=$R8$\r$\n$\r$\n'\r
122     IntOp $R6 $R6 + 1\r
123 \r
124     FileWrite $R5 '[Field $R6]$\r$\nType="Checkbox"$\r$\nState=$ConfigStorageStartService$\r$\nText="Start after install"$\r$\nLeft=190$\r$\nTop=$R7$\r$\nRight=260$\r$\nBottom=$R8$\r$\n$\r$\n'\r
125     IntOp $R6 $R6 + 1\r
126     IntOp $R7 $R7 + 16\r
127   ${Endif}\r
128 \r
129   IntOp $R6 $R6 - 1\r
130 \r
131   FileWrite $R5 "[Settings]$\r$\nNumFields=$R6$\r$\n"\r
132 \r
133   FileClose $R5\r
134 \r
135   !insertmacro MUI_HEADER_TEXT "$(TITLE_ConfigPage1)" "$(SUBTITLE_ConfigPage1)"\r
136   !insertmacro MUI_INSTALLOPTIONS_INITDIALOG "ConfigPage1.ini"\r
137   Pop $HDLG ;HWND of dialog\r
138 \r
139   ; Initialize Controls\r
140 \r
141   StrCpy $R6 1  ; Field Number\r
142 \r
143   IntOp $R0 $NewComponents & ${ComponentFile}\r
144   ${If} $R0 <> 0\r
145     IntOp $R6 $R6 + 2\r
146 \r
147     ; Client Name\r
148     !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage1.ini" "Field $R6" "HWND"\r
149     SendMessage $HCTL ${EM_LIMITTEXT} 30 0\r
150 \r
151     IntOp $R6 $R6 + 2\r
152 \r
153     ; Client Port Number\r
154     !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage1.ini" "Field $R6" "HWND"\r
155     SendMessage $HCTL ${EM_LIMITTEXT} 5 0\r
156 \r
157     IntOp $R6 $R6 + 2\r
158 \r
159     ; Max Jobs\r
160     !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage1.ini" "Field $R6" "HWND"\r
161     SendMessage $HCTL ${EM_LIMITTEXT} 3 0\r
162 \r
163     IntOp $R6 $R6 + 5\r
164   ${Endif}\r
165 \r
166   IntOp $R0 $NewComponents & ${ComponentStorage}\r
167   ${If} $R0 <> 0\r
168     IntOp $R6 $R6 + 2\r
169 \r
170     ; Storage Name\r
171     !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage1.ini" "Field $R6" "HWND"\r
172     SendMessage $HCTL ${EM_LIMITTEXT} 30 0\r
173 \r
174     IntOp $R6 $R6 + 2\r
175 \r
176     ; Storage Port Number\r
177     !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage1.ini" "Field $R6" "HWND"\r
178     SendMessage $HCTL ${EM_LIMITTEXT} 5 0\r
179 \r
180     IntOp $R6 $R6 + 2\r
181 \r
182     ; Max Jobs\r
183     !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage1.ini" "Field $R6" "HWND"\r
184     SendMessage $HCTL ${EM_LIMITTEXT} 3 0\r
185 \r
186     IntOp $R6 $R6 + 5\r
187   ${Endif}\r
188 \r
189   !insertmacro MUI_INSTALLOPTIONS_SHOW\r
190 \r
191   ; Process results\r
192 \r
193   StrCpy $R6 3\r
194 \r
195   IntOp $R0 $NewComponents & ${ComponentFile}\r
196   ${If} $R0 <> 0\r
197     !insertmacro MUI_INSTALLOPTIONS_READ $ConfigClientName "ConfigPage1.ini" "Field $R6" "State"\r
198 \r
199     IntOp $R6 $R6 + 2\r
200 \r
201     !insertmacro MUI_INSTALLOPTIONS_READ $ConfigClientPort "ConfigPage1.ini" "Field $R6" "State"\r
202 \r
203     IntOp $R6 $R6 + 2\r
204 \r
205     !insertmacro MUI_INSTALLOPTIONS_READ $ConfigClientMaxJobs "ConfigPage1.ini" "Field $R6" "State"\r
206 \r
207     IntOp $R6 $R6 + 2\r
208 \r
209     !insertmacro MUI_INSTALLOPTIONS_READ $ConfigClientPassword "ConfigPage1.ini" "Field $R6" "State"\r
210 \r
211     IntOp $R6 $R6 + 1\r
212 \r
213     !insertmacro MUI_INSTALLOPTIONS_READ $ConfigClientInstallService "ConfigPage1.ini" "Field $R6" "State"\r
214 \r
215     IntOp $R6 $R6 + 1\r
216 \r
217     !insertmacro MUI_INSTALLOPTIONS_READ $ConfigClientStartService "ConfigPage1.ini" "Field $R6" "State"\r
218 \r
219     IntOp $R6 $R6 + 3\r
220   ${Endif}\r
221 \r
222   IntOp $R0 $NewComponents & ${ComponentStorage}\r
223   ${If} $R0 <> 0\r
224     !insertmacro MUI_INSTALLOPTIONS_READ $ConfigStorageName "ConfigPage1.ini" "Field $R6" "State"\r
225 \r
226     IntOp $R6 $R6 + 2\r
227 \r
228     !insertmacro MUI_INSTALLOPTIONS_READ $ConfigStoragePort "ConfigPage1.ini" "Field $R6" "State"\r
229 \r
230     IntOp $R6 $R6 + 2\r
231 \r
232     !insertmacro MUI_INSTALLOPTIONS_READ $ConfigStorageMaxJobs "ConfigPage1.ini" "Field $R6" "State"\r
233 \r
234     IntOp $R6 $R6 + 2\r
235 \r
236     !insertmacro MUI_INSTALLOPTIONS_READ $ConfigStoragePassword "ConfigPage1.ini" "Field $R6" "State"\r
237 \r
238     IntOp $R6 $R6 + 1\r
239 \r
240     !insertmacro MUI_INSTALLOPTIONS_READ $ConfigStorageInstallService "ConfigPage1.ini" "Field $R6" "State"\r
241 \r
242     IntOp $R6 $R6 + 1\r
243 \r
244     !insertmacro MUI_INSTALLOPTIONS_READ $ConfigStorageStartService "ConfigPage1.ini" "Field $R6" "State"\r
245 \r
246     IntOp $R6 $R6 + 3\r
247   ${Endif}\r
248 FunctionEnd\r
249 \r
250 Function LeaveConfigPage1\r
251   StrCpy $R6 5\r
252 \r
253   IntOp $R0 $NewComponents & ${ComponentFile}\r
254   ${If} $R0 <> 0\r
255     !insertmacro MUI_INSTALLOPTIONS_READ $R0 "ConfigPage1.ini" "Field $R6" "State"\r
256     ${If} $R0 < 1024\r
257     ${OrIf} $R0 > 65535\r
258       MessageBox MB_OK "Port must be between 1024 and 65535 inclusive."\r
259       Abort\r
260     ${EndIf}\r
261 \r
262     IntOp $R6 $R6 + 2\r
263 \r
264     !insertmacro MUI_INSTALLOPTIONS_READ $R0 "ConfigPage1.ini" "Field $R6" "State"\r
265     ${If} $R0 < 1\r
266     ${OrIf} $R0 > 99\r
267       MessageBox MB_OK "Max Jobs must be between 1 and 99 inclusive."\r
268       Abort\r
269     ${EndIf}\r
270 \r
271     IntOp $R6 $R6 + 9\r
272   ${Endif}\r
273   \r
274   IntOp $R0 $NewComponents & ${ComponentStorage}\r
275   ${If} $R0 <> 0\r
276     !insertmacro MUI_INSTALLOPTIONS_READ $R0 "ConfigPage1.ini" "Field $R6" "State"\r
277     ${If} $R0 < 1024\r
278     ${OrIf} $R0 > 65535\r
279       MessageBox MB_OK "Port must be between 1024 and 65535 inclusive."\r
280       Abort\r
281     ${EndIf}\r
282 \r
283     IntOp $R6 $R6 + 2\r
284 \r
285     !insertmacro MUI_INSTALLOPTIONS_READ $R0 "ConfigPage1.ini" "Field $R6" "State"\r
286     ${If} $R0 < 1\r
287     ${OrIf} $R0 > 99\r
288       MessageBox MB_OK "Max Jobs must be between 1 and 99 inclusive."\r
289       Abort\r
290     ${EndIf}\r
291 \r
292     IntOp $R6 $R6 + 9\r
293   ${Endif}\r
294 FunctionEnd\r