1 Function EnterConfigPage2
2 IntOp $R0 $NewComponents & ${ComponentsRequiringUserConfig}
8 FileOpen $R5 "$PLUGINSDIR\ConfigPage2.ini" w
10 StrCpy $R6 1 ; Field Number
13 IntOp $R0 $NewComponents & ${ComponentDirector}
15 ${If} $AutomaticInstall = 1
20 FileWrite $R5 '[Field $R6]$\r$\nType="GroupBox"$\r$\nText="Director"$\r$\nLeft=0$\r$\nTop=$R7$\r$\nRight=300$\r$\nBottom=$R8$\r$\n$\r$\n'
22 IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles}
28 FileWrite $R5 '[Field $R6]$\r$\nType="GroupBox"$\r$\nText="Enter Director Information"$\r$\nLeft=0$\r$\nTop=$R7$\r$\nRight=300$\r$\nBottom=$R8$\r$\n$\r$\n'
34 IntOp $R0 $NewComponents & ${ComponentDirector}
36 ${If} "$ConfigDirectorName" == ""
37 StrCpy $ConfigDirectorName "$HostName-dir"
39 ${If} "$ConfigDirectorPassword" == ""
40 StrCpy $ConfigDirectorPassword "$LocalDirectorPassword"
43 ${If} "$ConfigDirectorName" == "$HostName-dir"
44 StrCpy $ConfigDirectorName ""
46 ${If} "$ConfigDirectorPassword" == "$LocalDirectorPassword"
47 StrCpy $ConfigDirectorPassword ""
51 IntOp $R0 $NewComponents & ${ComponentDirector}
53 ${OrIf} $AutomaticInstall = 0
55 FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="DIR Name"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=60$\r$\nBottom=$R8$\r$\n$\r$\n'
60 FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigDirectorName$\r$\nLeft=60$\r$\nTop=$R7$\r$\nRight=158$\r$\nBottom=$R8$\r$\n$\r$\n'
63 ${If} $AutomaticInstall = 0
64 IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles}
68 FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="DIR Port"$\r$\nLeft=172$\r$\nTop=$R7$\r$\nRight=188$\r$\nBottom=$R8$\r$\n$\r$\n'
73 FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nFlags="ONLY_NUMBERS"$\r$\nState=$ConfigDirectorPort$\r$\nLeft=190$\r$\nTop=$R7$\r$\nRight=218$\r$\nBottom=$R8$\r$\n$\r$\n'
77 IntOp $R0 $NewComponents & ${ComponentDirector}
81 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'
86 FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nFlags="ONLY_NUMBERS"$\r$\nState=$ConfigDirectorMaxJobs$\r$\nLeft=274$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n'
94 IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles}
96 ${OrIf} $AutomaticInstall = 0
97 IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles}
102 FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="DIR Password"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=60$\r$\nBottom=$R8$\r$\n$\r$\n'
108 FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigDirectorPassword$\r$\nLeft=60$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n'
115 IntOp $R0 $NewComponents & ${ComponentDirector}
120 FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Mail Server"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=48$\r$\nBottom=$R8$\r$\n$\r$\n'
126 FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigDirectorMailServer$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n'
131 FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Mail Address"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=48$\r$\nBottom=$R8$\r$\n$\r$\n'
137 FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigDirectorMailAddress$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n'
142 FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="Database"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=38$\r$\nBottom=$R8$\r$\n$\r$\n'
148 ${If} $ConfigDirectorDB = 0
149 ${If} $MySQLPath != ""
150 StrCpy $ConfigDirectorDB 1
151 ${ElseIf} $PostgreSQLPath != ""
152 StrCpy $ConfigDirectorDB 2
154 StrCpy $ConfigDirectorDB 3
158 ${If} $ConfigDirectorDB = 1
164 FileWrite $R5 '[Field $R6]$\r$\nType="RadioButton"$\r$\nState=$R9$\r$\nText="MySQL"$\r$\nFlags="GROUP"$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=90$\r$\nBottom=$R8$\r$\n$\r$\n'
168 ${If} $ConfigDirectorDB = 2
174 FileWrite $R5 '[Field $R6]$\r$\nType="RadioButton"$\r$\nState=$R9$\r$\nText="PostgreSQL"$\r$\nFlags="NOTABSTOP"$\r$\nLeft=94$\r$\nTop=$R7$\r$\nRight=146$\r$\nBottom=$R8$\r$\n$\r$\n'
178 ${If} $ConfigDirectorDB = 3
184 FileWrite $R5 '[Field $R6]$\r$\nType="RadioButton"$\r$\nState=$R9$\r$\nText="Sqlite"$\r$\nFlags="NOTABSTOP"$\r$\nLeft=150$\r$\nTop=$R7$\r$\nRight=182$\r$\nBottom=$R8$\r$\n$\r$\n'
189 ${If} $AutomaticInstall = 0
191 FileWrite $R5 '[Field $R6]$\r$\nType="Checkbox"$\r$\nState=$ConfigDirectorInstallService$\r$\nText="Install as service"$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=118$\r$\nBottom=$R8$\r$\n$\r$\n'
194 FileWrite $R5 '[Field $R6]$\r$\nType="Checkbox"$\r$\nState=$ConfigDirectorStartService$\r$\nText="Start after install"$\r$\nLeft=190$\r$\nTop=$R7$\r$\nRight=260$\r$\nBottom=$R8$\r$\n$\r$\n'
200 IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles}
205 FileWrite $R5 '[Field $R6]$\r$\nType="Label"$\r$\nText="DIR Address"$\r$\nLeft=6$\r$\nTop=$R7$\r$\nRight=60$\r$\nBottom=$R8$\r$\n$\r$\n'
211 FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigDirectorAddress$\r$\nLeft=60$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n'
220 ${If} $AutomaticInstall = 0
221 IntOp $R0 $NewComponents & ${ComponentsFileAndStorageAndDirector}
225 FileWrite $R5 '[Field $R6]$\r$\nType="GroupBox"$\r$\nText="Monitor"$\r$\nLeft=0$\r$\nTop=$R7$\r$\nRight=300$\r$\nBottom=$R8$\r$\n$\r$\n'
230 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'
235 FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigMonitorName$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=150$\r$\nBottom=$R8$\r$\n$\r$\n'
240 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'
246 FileWrite $R5 '[Field $R6]$\r$\nType="Text"$\r$\nState=$ConfigMonitorPassword$\r$\nLeft=50$\r$\nTop=$R7$\r$\nRight=294$\r$\nBottom=$R8$\r$\n$\r$\n'
254 FileWrite $R5 "[Settings]$\r$\nNumFields=$R6$\r$\n"
258 IntOp $R0 $NewComponents & ${ComponentsFileAndStorage}
260 ${OrIf} $AutomaticInstall = 1
261 !insertmacro MUI_HEADER_TEXT "$(TITLE_ConfigPage1)" "$(SUBTITLE_ConfigPage1)"
263 !insertmacro MUI_HEADER_TEXT "$(TITLE_ConfigPage2)" "$(SUBTITLE_ConfigPage2)"
266 !insertmacro MUI_INSTALLOPTIONS_INITDIALOG "ConfigPage2.ini"
267 Pop $HDLG ;HWND of dialog
269 ; Initialize Controls
270 StrCpy $R6 2 ; Field Number
272 IntOp $R0 $NewComponents & ${ComponentDirector}
274 ${OrIf} $AutomaticInstall = 0
277 !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage2.ini" "Field $R6" "HWND"
278 SendMessage $HCTL ${EM_LIMITTEXT} 30 0
281 ${If} $AutomaticInstall = 0
282 IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles}
286 !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage2.ini" "Field $R6" "HWND"
287 SendMessage $HCTL ${EM_LIMITTEXT} 5 0
291 IntOp $R0 $NewComponents & ${ComponentDirector}
295 !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage2.ini" "Field $R6" "HWND"
296 SendMessage $HCTL ${EM_LIMITTEXT} 3 0
303 IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles}
305 ${OrIf} $AutomaticInstall = 0
306 IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles}
312 IntOp $R0 $NewComponents & ${ComponentDirector}
316 ${If} $AutomaticInstall = 0
320 IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles}
326 ${If} $AutomaticInstall = 0
327 IntOp $R0 $NewComponents & ${ComponentsFileAndStorageAndDirector}
330 !insertmacro MUI_INSTALLOPTIONS_READ $HCTL "ConfigPage2.ini" "Field $R6" "HWND"
331 SendMessage $HCTL ${EM_LIMITTEXT} 30 0
336 !insertmacro MUI_INSTALLOPTIONS_SHOW
342 IntOp $R0 $NewComponents & ${ComponentDirector}
344 ${OrIf} $AutomaticInstall = 0
346 !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorName "ConfigPage2.ini" "Field $R6" "State"
349 ${If} $AutomaticInstall = 0
350 IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles}
353 !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorPort "ConfigPage2.ini" "Field $R6" "State"
357 IntOp $R0 $NewComponents & ${ComponentDirector}
360 !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorMaxJobs "ConfigPage2.ini" "Field $R6" "State"
366 IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles}
368 ${OrIf} $AutomaticInstall = 0
369 IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles}
372 !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorPassword "ConfigPage2.ini" "Field $R6" "State"
377 IntOp $R0 $NewComponents & ${ComponentDirector}
380 !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorMailServer "ConfigPage2.ini" "Field $R6" "State"
382 !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorMailAddress "ConfigPage2.ini" "Field $R6" "State"
384 !insertmacro MUI_INSTALLOPTIONS_READ $R5 "ConfigPage2.ini" "Field $R6" "State"
386 StrCpy $ConfigDirectorDB 1
389 !insertmacro MUI_INSTALLOPTIONS_READ $R5 "ConfigPage2.ini" "Field $R6" "State"
391 StrCpy $ConfigDirectorDB 2
394 !insertmacro MUI_INSTALLOPTIONS_READ $R5 "ConfigPage2.ini" "Field $R6" "State"
396 StrCpy $ConfigDirectorDB 3
400 ${If} $AutomaticInstall = 0
401 !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorInstallService "ConfigPage2.ini" "Field $R6" "State"
403 !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorStartService "ConfigPage2.ini" "Field $R6" "State"
407 IntOp $R0 $NewComponents & ${ComponentsTextAndGuiConsoles}
410 !insertmacro MUI_INSTALLOPTIONS_READ $ConfigDirectorAddress "ConfigPage2.ini" "Field $R6" "State"
415 ${If} $AutomaticInstall = 0
416 IntOp $R0 $NewComponents & ${ComponentsFileAndStorageAndDirector}
419 !insertmacro MUI_INSTALLOPTIONS_READ $ConfigMonitorName "ConfigPage2.ini" "Field $R6" "State"
421 !insertmacro MUI_INSTALLOPTIONS_READ $ConfigMonitorPassword "ConfigPage2.ini" "Field $R6" "State"
426 Function LeaveConfigPage2
427 ${If} $AutomaticInstall = 0
430 IntOp $R0 $NewComponents & ${ComponentsDirectorAndTextGuiConsoles}
433 !insertmacro MUI_INSTALLOPTIONS_READ $R0 "ConfigPage2.ini" "Field $R6" "State"
436 MessageBox MB_OK "Port must be between 1024 and 65535 inclusive."
442 IntOp $R0 $NewComponents & ${ComponentDirector}
445 !insertmacro MUI_INSTALLOPTIONS_READ $R0 "ConfigPage2.ini" "Field $R6" "State"
448 MessageBox MB_OK "Max Jobs must be between 1 and 99 inclusive."