start menu folder selection: works in silent mode; handles empty input
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2645 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
a193ffc928
commit
59c8fcc17e
1 changed files with 49 additions and 19 deletions
|
@ -419,6 +419,27 @@
|
||||||
|
|
||||||
StrCpy ${MUI_TEMP1} ${MUI_STARTMENUPAGE_VARIABLE} 1
|
StrCpy ${MUI_TEMP1} ${MUI_STARTMENUPAGE_VARIABLE} 1
|
||||||
StrCmp ${MUI_TEMP1} ">" mui.startmenu_write_done
|
StrCmp ${MUI_TEMP1} ">" mui.startmenu_write_done
|
||||||
|
|
||||||
|
StrCmp ${MUI_STARTMENUPAGE_VARIABLE} "" 0 mui.startmenu_writebegin_notempty
|
||||||
|
|
||||||
|
!ifdef MUI_STARTMENUPAGE_REGISTRY_ROOT & MUI_STARTMENUPAGE_REGISTRY_KEY & MUI_STARTMENUPAGE_REGISTRY_VALUENAME
|
||||||
|
|
||||||
|
StrCmp "${MUI_STARTMENUPAGE_VARIABLE}" "" 0 +6
|
||||||
|
|
||||||
|
ReadRegStr ${MUI_TEMP1} "${MUI_STARTMENUPAGE_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}"
|
||||||
|
StrCmp ${MUI_TEMP1} "" +3
|
||||||
|
StrCpy "${MUI_STARTMENUPAGE_VARIABLE}" ${MUI_TEMP1}
|
||||||
|
Goto +2
|
||||||
|
|
||||||
|
StrCpy "${MUI_STARTMENUPAGE_VARIABLE}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
|
||||||
|
|
||||||
|
!else
|
||||||
|
|
||||||
|
StrCpy "${MUI_STARTMENUPAGE_VARIABLE}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
|
||||||
|
|
||||||
|
!endif
|
||||||
|
|
||||||
|
mui.startmenu_writebegin_notempty:
|
||||||
|
|
||||||
Pop ${MUI_TEMP1}
|
Pop ${MUI_TEMP1}
|
||||||
|
|
||||||
|
@ -862,6 +883,19 @@
|
||||||
|
|
||||||
!macroend
|
!macroend
|
||||||
|
|
||||||
|
!macro MUI_STARTMENU_INITDEFINES
|
||||||
|
|
||||||
|
;Check defines
|
||||||
|
!ifndef MUI_STARTMENUPAGE_VARIABLE
|
||||||
|
!define MUI_STARTMENUPAGE_VARIABLE "$9"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
!ifndef MUI_STARTMENUPAGE_DEFAULTFOLDER
|
||||||
|
!define MUI_STARTMENUPAGE_DEFAULTFOLDER "${MUI_PRODUCT}"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
!macroend
|
||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
;FUNCTIONS
|
;FUNCTIONS
|
||||||
|
|
||||||
|
@ -1048,14 +1082,6 @@
|
||||||
|
|
||||||
!macro MUI_FUNCTIONS_STARTMENUPAGE FUNCTION
|
!macro MUI_FUNCTIONS_STARTMENUPAGE FUNCTION
|
||||||
|
|
||||||
;Check defines
|
|
||||||
!ifndef MUI_STARTMENUPAGE_VARIABLE
|
|
||||||
!define MUI_STARTMENUPAGE_VARIABLE "$9"
|
|
||||||
!endif
|
|
||||||
!ifndef MUI_STARTMENUPAGE_DEFAULTFOLDER
|
|
||||||
!define MUI_STARTMENUPAGE_DEFAULTFOLDER "${MUI_PRODUCT}"
|
|
||||||
!endif
|
|
||||||
|
|
||||||
Function "${FUNCTION}"
|
Function "${FUNCTION}"
|
||||||
|
|
||||||
!ifdef MUI_CUSTOMFUNCTION_STARTMENU_PRE
|
!ifdef MUI_CUSTOMFUNCTION_STARTMENU_PRE
|
||||||
|
@ -1063,19 +1089,19 @@
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
Push ${MUI_TEMP1}
|
Push ${MUI_TEMP1}
|
||||||
|
|
||||||
|
!ifdef MUI_STARTMENUPAGE_REGISTRY_ROOT & MUI_STARTMENUPAGE_REGISTRY_KEY & MUI_STARTMENUPAGE_REGISTRY_VALUENAME
|
||||||
|
|
||||||
|
StrCmp "${MUI_STARTMENUPAGE_VARIABLE}" "" 0 +4
|
||||||
|
|
||||||
|
ReadRegStr ${MUI_TEMP1} "${MUI_STARTMENUPAGE_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}"
|
||||||
|
StrCmp ${MUI_TEMP1} "" +2
|
||||||
|
StrCpy "${MUI_STARTMENUPAGE_VARIABLE}" ${MUI_TEMP1}
|
||||||
|
|
||||||
|
!endif
|
||||||
|
|
||||||
!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_STARTMENUPAGE_REGISTRY_ROOT & MUI_STARTMENUPAGE_REGISTRY_KEY & MUI_STARTMENUPAGE_REGISTRY_VALUENAME
|
|
||||||
|
|
||||||
StrCmp "${MUI_STARTMENUPAGE_VARIABLE}" "" "" +4
|
|
||||||
|
|
||||||
ReadRegStr ${MUI_TEMP1} "${MUI_STARTMENUPAGE_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}"
|
|
||||||
StrCmp ${MUI_TEMP1} "" +2
|
|
||||||
StrCpy "${MUI_STARTMENUPAGE_VARIABLE}" ${MUI_TEMP1}
|
|
||||||
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!ifndef MUI_STARTMENUPAGE_NODISABLE
|
!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}"
|
StartMenu::Select /noicon /autoadd /text "$(MUI_INNERTEXT_STARTMENU_TOP)" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" /checknoshortcuts "$(MUI_INNERTEXT_STARTMENU_CHECKBOX)" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
|
||||||
!else
|
!else
|
||||||
|
@ -1578,8 +1604,12 @@
|
||||||
!define MUI_MANUALVERBOSE_SET
|
!define MUI_MANUALVERBOSE_SET
|
||||||
!define MUI_MANUALVERBOSE
|
!define MUI_MANUALVERBOSE
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
|
!ifdef MUI_STARTMENUPAGE
|
||||||
|
!insertmacro MUI_STARTMENU_INITDEFINES
|
||||||
|
!endif
|
||||||
|
|
||||||
!insertmacro MUI_INTERFACE
|
!insertmacro MUI_INTERFACE
|
||||||
|
|
||||||
!insertmacro MUI_FUNCTIONS_PAGES
|
!insertmacro MUI_FUNCTIONS_PAGES
|
||||||
!insertmacro MUI_FUNCTIONS_GUIINIT
|
!insertmacro MUI_FUNCTIONS_GUIINIT
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue