startmenu: changed define names, pre/leave custom functions, checkbox can be disabled, documentation updates

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2222 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
joostverburg 2003-02-27 22:20:04 +00:00
parent 991dcd5a92
commit 90b11cdccc
3 changed files with 55 additions and 34 deletions

View file

@ -154,16 +154,28 @@ follow these steps:</p>
<p class="text"><span class="bold">MUI_DIRECTORYPAGE</span><br /> <p class="text"><span class="bold">MUI_DIRECTORYPAGE</span><br />
Show the directory selection page.</p> Show the directory selection page.</p>
<p class="text"><span class="bold">MUI_STARTMENUPAGE</span><br /> <p class="text"><span class="bold">MUI_STARTMENUPAGE</span><br />
Show the Start Menu Folder selection page.</p> Show the Start Menu Folder selection page.<br /><br />
If you did not disable the 'Do not create shortcuts' checkbox,
put the script code to write the shortcuts between these macro's,
because the creation can be disabled by the user:
<pre class="margin">
!insertmacro MUI_STARTMENU_WRITE_BEGIN
...create the shortcuts...
!insertmacro MUI_STARTMENU_WRITE_END
</pre>
</p>
<div class="margin"> <div class="margin">
<p class="text"><span class="bold">MUI_STARTMENU_VARIABLE</span><br /> <p class="text"><span class="bold">MUI_STARTMENUPAGE_VARIABLE</span><br />
Variable to store the current Start Menu Folder. Default is $9. Variable to store the current Start Menu Folder. Default is $9.
You cannot use this variable in your script (or you should Push/Pop it).e.</p> You cannot use this variable in your script (or you should Push/Pop it).e.</p>
<p class="text"><span class="bold">MUI_STARTMENU_DEFAULTFOLDER</span><br /> <p class="text"><span class="bold">MUI_STARTMENUPAGE_DEFAULTFOLDER</span><br />
The default Start Menu Folder. Use $(LANGSTRINGNAME) as value is you want The default Start Menu Folder. Use $(LANGSTRINGNAME) as value is you want
to use a language string.</p> to use a language string.</p>
<p class="text"><span class="bold">MUI_STARTMENU_REGISTRY_ROOT, MUI_STARTMENU_REGISTRY_KEY, <p class="text"><span class="bold">MUI_STARTMENUPAGE_NODISABLE</span><br />
MUI_STARTMENU_REGISTRY_VALUENAME</span><br /> Do not display the checkbox to disable the creation of Start Menu
shortcuts.</p>
<p class="text"><span class="bold">MUI_STARTMENUPAGE_REGISTRY_ROOT,
MUI_STARTMENUPAGE_REGISTRY_KEY, MUI_STARTMENUPAGE_REGISTRY_VALUENAME</span><br />
If your installer saves the Start Menu folder of a previous installation If your installer saves the Start Menu folder of a previous installation
in a registry, define these values and the Modern UI will use the saved in a registry, define these values and the Modern UI will use the saved
value as default folder.</p> value as default folder.</p>
@ -479,7 +491,8 @@ MUI_CUSTOMFUNCTION_DIRECTORY_LEAVE
</p> </p>
<p class="text"> <p class="text">
<span class="bold">Start Menu Folder Page</span><br> <span class="bold">Start Menu Folder Page</span><br>
MUI_CUSTOMFUNCTION_STARTMENU MUI_CUSTOMFUNCTION_STARTMENU_PRE
MUI_CUSTOMFUNCTION_STARTMENU_LEAVE
</p> </p>
<p class="text"> <p class="text">
<span class="bold">Install Files Page</span><br> <span class="bold">Install Files Page</span><br>
@ -593,7 +606,7 @@ it freely, subject to the following restrictions:
</div></td> </div></td>
</tr> </tr>
<tr> <tr>
<td><div class="footer">&copy;2002 Joost Verburg</div></td> <td><div class="footer">&copy;2002-2003 Joost Verburg</div></td>
</tr> </tr>
</table> </table>
</td></tr> </td></tr>

View file

@ -409,7 +409,7 @@
Push ${MUI_TEMP1} Push ${MUI_TEMP1}
StrCpy ${MUI_TEMP1} ${MUI_STARTMENU_VARIABLE} 1 StrCpy ${MUI_TEMP1} ${MUI_STARTMENUPAGE_VARIABLE} 1
StrCmp ${MUI_TEMP1} ">" no_startmenu_shortcuts StrCmp ${MUI_TEMP1} ">" no_startmenu_shortcuts
Pop ${MUI_TEMP1} Pop ${MUI_TEMP1}
@ -978,10 +978,10 @@
!endif !endif
Function "${PRE}" Function "${PRE}"
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_LICENSE_TITLE) $(MUI_TEXT_LICENSE_SUBTITLE)
!ifdef MUI_CUSTOMFUNCTION_LICENSE_PRE !ifdef MUI_CUSTOMFUNCTION_LICENSE_PRE
Call "${MUI_CUSTOMFUNCTION_LICENSE_PRE}" Call "${MUI_CUSTOMFUNCTION_LICENSE_PRE}"
!endif !endif
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_LICENSE_TITLE) $(MUI_TEXT_LICENSE_SUBTITLE)
FunctionEnd FunctionEnd
Function "${SHOW}" Function "${SHOW}"
@ -1014,10 +1014,10 @@
!endif !endif
Function "${PRE}" Function "${PRE}"
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_COMPONENTS_TITLE) $(MUI_TEXT_COMPONENTS_SUBTITLE)
!ifdef MUI_CUSTOMFUNCTION_COMPONENTS_PRE !ifdef MUI_CUSTOMFUNCTION_COMPONENTS_PRE
Call "${MUI_CUSTOMFUNCTION_COMPONENTS_PRE}" Call "${MUI_CUSTOMFUNCTION_COMPONENTS_PRE}"
!endif !endif
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_COMPONENTS_TITLE) $(MUI_TEXT_COMPONENTS_SUBTITLE)
FunctionEnd FunctionEnd
Function "${SHOW}" Function "${SHOW}"
@ -1051,10 +1051,10 @@
!endif !endif
Function "${PRE}" Function "${PRE}"
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_DIRECTORY_TITLE) $(MUI_TEXT_DIRECTORY_SUBTITLE)
!ifdef MUI_CUSTOMFUNCTION_DIRECTORY_PRE !ifdef MUI_CUSTOMFUNCTION_DIRECTORY_PRE
Call "${MUI_CUSTOMFUNCTION_DIRECTORY_PRE}" Call "${MUI_CUSTOMFUNCTION_DIRECTORY_PRE}"
!endif !endif
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_DIRECTORY_TITLE) $(MUI_TEXT_DIRECTORY_SUBTITLE)
FunctionEnd FunctionEnd
Function "${SHOW}" Function "${SHOW}"
@ -1087,44 +1087,52 @@
!endif !endif
;Check defines ;Check defines
!ifndef MUI_STARTMENU_VARIABLE !ifndef MUI_STARTMENUPAGE_VARIABLE
!define MUI_STARTMENU_VARIABLE "$9" !define MUI_STARTMENUPAGE_VARIABLE "$9"
!endif !endif
!ifndef MUI_STARTMENU_DEFAULTFOLDER !ifndef MUI_STARTMENUPAGE_DEFAULTFOLDER
!define MUI_STARTMENU_DEFAULTFOLDER "${MUI_PRODUCT}" !define MUI_STARTMENUPAGE_DEFAULTFOLDER "${MUI_PRODUCT}"
!endif !endif
Function "${FUNCTION}" Function "${FUNCTION}"
!ifdef MUI_CUSTOMFUNCTION_STARTMENU_PRE
Call "${MUI_CUSTOMFUNCTION_STARTMENU_PRE}"
!endif
Push ${MUI_TEMP1} Push ${MUI_TEMP1}
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_STARTMENU_TITLE) $(MUI_TEXT_STARTMENU_SUBTITLE) !insertmacro MUI_HEADER_TEXT $(MUI_TEXT_STARTMENU_TITLE) $(MUI_TEXT_STARTMENU_SUBTITLE)
!ifdef MUI_STARTMENU_REGISTRY_ROOT !ifdef MUI_STARTMENUPAGE_REGISTRY_ROOT
!ifdef MUI_STARTMENU_REGISTRY_KEY !ifdef MUI_STARTMENUPAGE_REGISTRY_KEY
!ifdef MUI_STARTMENU_REGISTRY_VALUENAME !ifdef MUI_STARTMENUPAGE_REGISTRY_VALUENAME
StrCmp "${MUI_STARTMENU_VARIABLE}" "" "" +4 StrCmp "${MUI_STARTMENUPAGE_VARIABLE}" "" "" +4
ReadRegStr ${MUI_TEMP1} "${MUI_STARTMENU_REGISTRY_ROOT}" "${MUI_STARTMENU_REGISTRY_KEY}" "${MUI_STARTMENU_REGISTRY_VALUENAME}" ReadRegStr ${MUI_TEMP1} "${MUI_STARTMENUPAGE_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}"
StrCmp ${MUI_TEMP1} "" +2 StrCmp ${MUI_TEMP1} "" +2
StrCpy "${MUI_STARTMENU_VARIABLE}" ${MUI_TEMP1} StrCpy "${MUI_STARTMENUPAGE_VARIABLE}" ${MUI_TEMP1}
!endif !endif
!endif !endif
!endif !endif
StartMenu::Select /noicon /autoadd /text "$(MUI_INNERTEXT_STARTMENU_TOP)" /lastused "${MUI_STARTMENU_VARIABLE}" /checknoshortcuts "$(MUI_INNERTEXT_STARTMENU_CHECKBOX)" "${MUI_STARTMENU_DEFAULTFOLDER}" !ifndef MUI_STARTMENUPAGE_NODISABLE
StartMenu::Select /noicon /autoadd /text "$(MUI_INNERTEXT_STARTMENU_TOP)" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" /checknoshortcuts "$(MUI_INNERTEXT_STARTMENU_CHECKBOX)" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
!else
StartMenu::Select /noicon /autoadd /text "$(MUI_INNERTEXT_STARTMENU_TOP)" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
!endif
Pop ${MUI_TEMP1} Pop ${MUI_TEMP1}
StrCmp ${MUI_TEMP1} "success" 0 +2 StrCmp ${MUI_TEMP1} "success" 0 +2
Pop "${MUI_STARTMENU_VARIABLE}" Pop "${MUI_STARTMENUPAGE_VARIABLE}"
Pop ${MUI_TEMP1} Pop ${MUI_TEMP1}
!ifdef MUI_CUSTOMFUNCTION_STARTMENU !ifdef MUI_CUSTOMFUNCTION_STARTMENU_LEAVE
Call "${MUI_CUSTOMFUNCTION_STARTMENU}" Call "${MUI_CUSTOMFUNCTION_STARTMENU_LEAVE}"
!endif !endif
FunctionEnd FunctionEnd
@ -1146,10 +1154,10 @@
!endif !endif
Function "${PRE}" Function "${PRE}"
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_INSTALLING_TITLE) $(MUI_TEXT_INSTALLING_SUBTITLE)
!ifdef MUI_CUSTOMFUNCTION_INSTFILES_PRE !ifdef MUI_CUSTOMFUNCTION_INSTFILES_PRE
Call "${MUI_CUSTOMFUNCTION_INSTFILES_PRE}" Call "${MUI_CUSTOMFUNCTION_INSTFILES_PRE}"
!endif !endif
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_INSTALLING_TITLE) $(MUI_TEXT_INSTALLING_SUBTITLE)
FunctionEnd FunctionEnd
Function "${SHOW}" Function "${SHOW}"

View file

@ -10,14 +10,14 @@
;$9 is being used to store the Start Menu Folder. ;$9 is being used to store the Start Menu Folder.
;Do not use this variable in your script (or Push/Pop it)! ;Do not use this variable in your script (or Push/Pop it)!
;To change this variable, use MUI_STARTMENU_VARIABLE. ;To change this variable, use MUI_STARTMENUPAGE_VARIABLE.
;Have a look at the Readme for info about other options (default folder, ;Have a look at the Readme for info about other options (default folder,
;registry). ;registry).
;Remember the Start Menu Folder ;Remember the Start Menu Folder
!define MUI_STARTMENU_REGISTRY_ROOT "HKCU" !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
!define MUI_STARTMENU_REGISTRY_KEY "Software\${MUI_PRODUCT}" !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\${MUI_PRODUCT}"
!define MUI_STARTMENU_REGISTRY_VALUENAME "Start Menu Folder" !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
!define TEMP $R0 !define TEMP $R0
@ -75,12 +75,12 @@ Section "modern.exe" SecCopyUI
!insertmacro MUI_STARTMENU_WRITE_BEGIN !insertmacro MUI_STARTMENU_WRITE_BEGIN
;Create shortcuts ;Create shortcuts
CreateDirectory "$SMPROGRAMS\${MUI_STARTMENU_VARIABLE}" CreateDirectory "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}"
CreateShortCut "$SMPROGRAMS\${MUI_STARTMENU_VARIABLE}\Modern UI.lnk" "$INSTDIR\modern.exe" CreateShortCut "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}\Modern UI.lnk" "$INSTDIR\modern.exe"
CreateShortCut "$SMPROGRAMS\${MUI_STARTMENU_VARIABLE}\Uninstall.lnk" "$INSTDIR\Uninstall.exe" CreateShortCut "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
;Write shortcut location to the registry (for Uninstaller) ;Write shortcut location to the registry (for Uninstaller)
WriteRegStr HKCU "Software\${MUI_PRODUCT}" "Start Menu Folder" "${MUI_STARTMENU_VARIABLE}" WriteRegStr HKCU "Software\${MUI_PRODUCT}" "Start Menu Folder" "${MUI_STARTMENUPAGE_VARIABLE}"
!insertmacro MUI_STARTMENU_WRITE_END !insertmacro MUI_STARTMENU_WRITE_END