Modern UI 2.0 beta
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5235 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
68abd8a09e
commit
20137a0054
13 changed files with 2372 additions and 0 deletions
215
Contrib/Modern UI 2/Pages/Components.nsh
Normal file
215
Contrib/Modern UI 2/Pages/Components.nsh
Normal file
|
@ -0,0 +1,215 @@
|
|||
/*
|
||||
|
||||
NSIS Modern User Interface
|
||||
Components page
|
||||
|
||||
*/
|
||||
|
||||
;--------------------------------
|
||||
;Page interface settings and variables
|
||||
|
||||
!macro MUI_COMPONENTSPAGE_INTERFACE
|
||||
|
||||
!ifndef MUI_COMPONENTSPAGE_INTERFACE
|
||||
!define MUI_COMPONENTSPAGE_INTERFACE
|
||||
Var mui.ComponentsPage
|
||||
|
||||
Var mui.ComponentsPage.Text
|
||||
Var mui.ComponentsPage.InstTypesText
|
||||
Var mui.ComponentsPage.ComponentsText
|
||||
|
||||
Var mui.ComponentsPage.InstTypes
|
||||
Var mui.ComponentsPage.Components
|
||||
|
||||
Var mui.ComponentsPage.DescriptionTitle
|
||||
Var mui.ComponentsPage.DescriptionText.Info
|
||||
Var mui.ComponentsPage.DescriptionText
|
||||
|
||||
Var mui.ComponentsPage.SpaceRequired
|
||||
|
||||
!insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_CHECKBITMAP "${NSISDIR}\Contrib\Graphics\Checks\modern.bmp"
|
||||
|
||||
!insertmacro MUI_DEFAULT MUI_UI_COMPONENTSPAGE_SMALLDESC "${NSISDIR}\Contrib\UIs\modern_smalldesc.exe"
|
||||
!insertmacro MUI_DEFAULT MUI_UI_COMPONENTSPAGE_NODESC "${NSISDIR}\Contrib\UIs\modern_nodesc.exe"
|
||||
|
||||
;Apply settings
|
||||
|
||||
!ifdef MUI_COMPONENTSPAGE_SMALLDESC
|
||||
ChangeUI IDD_SELCOM "${MUI_UI_COMPONENTSPAGE_SMALLDESC}"
|
||||
!else ifdef MUI_COMPONENTSPAGE_NODESC
|
||||
ChangeUI IDD_SELCOM "${MUI_UI_COMPONENTSPAGE_NODESC}"
|
||||
!endif
|
||||
|
||||
CheckBitmap "${MUI_COMPONENTSPAGE_CHECKBITMAP}"
|
||||
|
||||
!endif
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Page declaration
|
||||
|
||||
!macro MUI_PAGEDECLARATION_COMPONENTS
|
||||
|
||||
!insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}COMPONENTSPAGE ""
|
||||
!insertmacro MUI_COMPONENTSPAGE_INTERFACE
|
||||
|
||||
!insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_TOP ""
|
||||
!insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_COMPLIST ""
|
||||
!insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_INSTTYPE ""
|
||||
!insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "$(MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE)"
|
||||
!insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO "$(MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO)"
|
||||
|
||||
PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}components
|
||||
|
||||
PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsLeave_${MUI_UNIQUEID}
|
||||
|
||||
Caption " "
|
||||
|
||||
ComponentText "${MUI_COMPONENTSPAGE_TEXT_TOP}" "${MUI_COMPONENTSPAGE_TEXT_INSTTYPE}" "${MUI_COMPONENTSPAGE_TEXT_COMPLIST}"
|
||||
|
||||
PageExEnd
|
||||
|
||||
!insertmacro MUI_FUNCTION_COMPONENTSPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsLeave_${MUI_UNIQUEID}
|
||||
|
||||
!undef MUI_COMPONENTSPAGE_TEXT_TOP
|
||||
!undef MUI_COMPONENTSPAGE_TEXT_COMPLIST
|
||||
!undef MUI_COMPONENTSPAGE_TEXT_INSTTYPE
|
||||
!insertmacro MUI_UNSET MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE
|
||||
!insertmacro MUI_UNSET MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_PAGE_COMPONENTS
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
!insertmacro MUI_PAGE_INIT
|
||||
!insertmacro MUI_PAGEDECLARATION_COMPONENTS
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_UNPAGE_COMPONENTS
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
!insertmacro MUI_UNPAGE_INIT
|
||||
!insertmacro MUI_PAGEDECLARATION_COMPONENTS
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Page functions
|
||||
|
||||
!macro MUI_FUNCTION_COMPONENTSPAGE PRE SHOW LEAVE
|
||||
|
||||
Function "${PRE}"
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
|
||||
!insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_COMPONENTS_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_COMPONENTS_SUBTITLE)
|
||||
FunctionEnd
|
||||
|
||||
Function "${SHOW}"
|
||||
|
||||
;Get control hanldes
|
||||
FindWindow $mui.ComponentsPage "#32770" "" $HWNDPARENT
|
||||
GetDlgItem $mui.ComponentsPage.Text $mui.ComponentsPage 1006
|
||||
GetDlgItem $mui.ComponentsPage.InstTypesText $mui.ComponentsPage 1021
|
||||
GetDlgItem $mui.ComponentsPage.ComponentsText $mui.ComponentsPage 1022
|
||||
GetDlgItem $mui.ComponentsPage.InstTypes $mui.ComponentsPage 1017
|
||||
GetDlgItem $mui.ComponentsPage.Components $mui.ComponentsPage 1032
|
||||
GetDlgItem $mui.ComponentsPage.DescriptionTitle $mui.ComponentsPage 1042
|
||||
GetDlgItem $mui.ComponentsPage.DescriptionText $mui.ComponentsPage 1043
|
||||
GetDlgItem $mui.ComponentsPage.SpaceRequired $mui.ComponentsPage 1023
|
||||
|
||||
;Default text in description textbox
|
||||
SendMessage $mui.ComponentsPage.DescriptionTitle ${WM_SETTEXT} 0 "STR:${MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE}"
|
||||
EnableWindow $mui.ComponentsPage.DescriptionText 0
|
||||
SendMessage $mui.ComponentsPage.DescriptionText ${WM_SETTEXT} 0 "STR:${MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO}"
|
||||
|
||||
StrCpy $mui.ComponentsPage.DescriptionText.Info "${MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO}" ;Text for current components page
|
||||
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function "${LEAVE}"
|
||||
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
|
||||
|
||||
FunctionEnd
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Script functions for components descriptions
|
||||
|
||||
!macro MUI_DESCRIPTION_BEGIN
|
||||
|
||||
${if} $0 == -1
|
||||
;No mouse hover over component in list
|
||||
SendMessage $mui.ComponentsPage.Description ${WM_SETTEXT} 0 "STR:"
|
||||
EnableWindow $mui.ComponentsPage.Description 0
|
||||
SendMessage $mui.ComponentsPage.Description ${WM_SETTEXT} 0 "STR:$mui.ComponentsPage.DescriptionText.Info"
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_DESCRIPTION_TEXT VAR TEXT
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
${elseif} $0 == ${VAR}
|
||||
SendMessage $mui.ComponentsPage.Description ${WM_SETTEXT} 0 "STR:"
|
||||
EnableWindow $mui.ComponentsPage.Description 1
|
||||
SendMessage $mui.ComponentsPage.Description ${WM_SETTEXT} 0 "STR:${TEXT}"
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_DESCRIPTION_END
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
${endif}
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_FUNCTION_DESCRIPTION_BEGIN
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
Function .onMouseOverSection
|
||||
!insertmacro MUI_DESCRIPTION_BEGIN
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_FUNCTION_DESCRIPTION_END
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
!insertmacro MUI_DESCRIPTION_END
|
||||
!ifdef MUI_CUSTOMFUNCTION_ONMOUSEOVERSECTION
|
||||
Call "${MUI_CUSTOMFUNCTION_ONMOUSEOVERSECTION}"
|
||||
!endif
|
||||
FunctionEnd
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
125
Contrib/Modern UI 2/Pages/Directory.nsh
Normal file
125
Contrib/Modern UI 2/Pages/Directory.nsh
Normal file
|
@ -0,0 +1,125 @@
|
|||
/*
|
||||
|
||||
NSIS Modern User Interface
|
||||
Directory page
|
||||
|
||||
*/
|
||||
|
||||
;--------------------------------
|
||||
;Page interface settings and variables
|
||||
|
||||
!macro MUI_DIRECTORYPAGE_INTERFACE
|
||||
|
||||
!ifndef MUI_DIRECTORYPAGE_INTERFACE
|
||||
!define MUI_DIRECTORYPAGE_INTERFACE
|
||||
Var mui.DirectoryPage
|
||||
|
||||
Var mui.DirectoryPage.Text
|
||||
|
||||
Var mui.DirectoryPage.DirectoryBox
|
||||
Var mui.DirectoryPage.Directory
|
||||
Var mui.DirectoryPage.BrowseButton
|
||||
|
||||
Var mui.DirectoryPage.SpaceRequired
|
||||
Var mui.DirectoryPage.SpaceAvailable
|
||||
!endif
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Page declaration
|
||||
|
||||
!macro MUI_PAGEDECLARATION_DIRECTORY
|
||||
|
||||
!insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}DIRECTORYPAGE ""
|
||||
!insertmacro MUI_DIRECTORYPAGE_INTERFACE
|
||||
|
||||
!insertmacro MUI_DEFAULT MUI_DIRECTORYPAGE_TEXT_TOP ""
|
||||
!insertmacro MUI_DEFAULT MUI_DIRECTORYPAGE_TEXT_DESTINATION ""
|
||||
|
||||
PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}directory
|
||||
|
||||
PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryLeave_${MUI_UNIQUEID}
|
||||
|
||||
Caption " "
|
||||
|
||||
DirText "${MUI_DIRECTORYPAGE_TEXT_TOP}" "${MUI_DIRECTORYPAGE_TEXT_DESTINATION}"
|
||||
|
||||
!ifdef MUI_DIRECTORYPAGE_VARIABLE
|
||||
DirVar "${MUI_DIRECTORYPAGE_VARIABLE}"
|
||||
!endif
|
||||
|
||||
!ifdef MUI_DIRECTORYPAGE_VERIFYONLEAVE
|
||||
DirVerify leave
|
||||
!endif
|
||||
|
||||
PageExEnd
|
||||
|
||||
!insertmacro MUI_FUNCTION_DIRECTORYPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryLeave_${MUI_UNIQUEID}
|
||||
|
||||
!undef MUI_DIRECTORYPAGE_TEXT_TOP
|
||||
!undef MUI_DIRECTORYPAGE_TEXT_DESTINATION
|
||||
!insertmacro MUI_UNSET MUI_DIRECTORYPAGE_VARIABLE
|
||||
!insertmacro MUI_UNSET MUI_DIRECTORYPAGE_VERIFYONLEAVE
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_PAGE_DIRECTORY
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
!insertmacro MUI_PAGE_INIT
|
||||
!insertmacro MUI_PAGEDECLARATION_DIRECTORY
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_UNPAGE_DIRECTORY
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
!insertmacro MUI_UNPAGE_INIT
|
||||
!insertmacro MUI_PAGEDECLARATION_DIRECTORY
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Page functions
|
||||
|
||||
!macro MUI_FUNCTION_DIRECTORYPAGE PRE SHOW LEAVE
|
||||
|
||||
Function "${PRE}"
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
|
||||
!insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_DIRECTORY_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_DIRECTORY_SUBTITLE)
|
||||
FunctionEnd
|
||||
|
||||
Function "${SHOW}"
|
||||
|
||||
;Get control handles
|
||||
FindWindow $mui.DirectoryPage "#32770" "" $HWNDPARENT
|
||||
GetDlgItem $mui.DirectoryPage.Text $mui.DirectoryPage 1006
|
||||
GetDlgItem $mui.DirectoryPage.DirectoryBox $mui.DirectoryPage 1020
|
||||
GetDlgItem $mui.DirectoryPage.Directory $mui.DirectoryPage 1019
|
||||
GetDlgItem $mui.DirectoryPage.BrowseButton $mui.DirectoryPage 1001
|
||||
GetDlgItem $mui.DirectoryPage.SpaceRequired $mui.DirectoryPage 1023
|
||||
GetDlgItem $mui.DirectoryPage.SpaceAvailable $mui.DirectoryPage 1024
|
||||
|
||||
!ifdef MUI_DIRECTORYPAGE_BGCOLOR
|
||||
SetCtlColors $mui.DirectoryPage.BrowseBox "" "${MUI_DIRECTORYPAGE_BGCOLOR}"
|
||||
!endif
|
||||
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
|
||||
FunctionEnd
|
||||
|
||||
Function "${LEAVE}"
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
|
||||
FunctionEnd
|
||||
|
||||
!macroend
|
471
Contrib/Modern UI 2/Pages/Finish.nsh
Normal file
471
Contrib/Modern UI 2/Pages/Finish.nsh
Normal file
|
@ -0,0 +1,471 @@
|
|||
/*
|
||||
|
||||
NSIS Modern User Interface
|
||||
Finish page (implemented using nsDialogs)
|
||||
|
||||
*/
|
||||
|
||||
;--------------------------------
|
||||
;Page interface settings and variables
|
||||
|
||||
!macro MUI_FINISHPAGE_INTERFACE
|
||||
|
||||
!ifndef MUI_FINISHPAGE_INTERFACE
|
||||
!define MUI_FINISHPAGE_INTERFACE
|
||||
Var mui.FinishPage
|
||||
|
||||
Var mui.FinishPage.Image
|
||||
Var mui.FinishPage.Image.Bitmap
|
||||
|
||||
Var mui.FinishPage.Title
|
||||
Var mui.FinishPage.Title.Font
|
||||
|
||||
Var mui.FinishPage.Text
|
||||
!endif
|
||||
|
||||
!ifndef MUI_FINISHPAGE_NOREBOORTSUPPORT
|
||||
!ifndef MUI_FINISHPAGE_RETURNVALUE_VARIABLES
|
||||
!define MUI_FINISHPAGE_RETURNVALUE_VARIABLES
|
||||
Var mui.FinishPage.ReturnValue
|
||||
!endif
|
||||
!else ifdef MUI_FINISHPAGE_RUN | MUI_FINISHPAGE_SHOWREADME
|
||||
!ifndef MUI_FINISHPAGE_RETURNVALUE_VARIABLES
|
||||
!define MUI_FINISHPAGE_RETURNVALUE_VARIABLES
|
||||
Var mui.FinishPage.ReturnValue
|
||||
!endif
|
||||
!endif
|
||||
|
||||
!ifdef MUI_FINISHPAGE_CANCEL_ENABLED
|
||||
!ifndef MUI_FINISHPAGE_CANCEL_ENABLED_VARIABLES
|
||||
!define MUI_FINISHPAGE_CANCEL_ENABLED_VARIABLES
|
||||
Var mui.FinishPage.DisableAbortWarning
|
||||
!endif
|
||||
!endif
|
||||
|
||||
!ifdef MUI_FINISHPAGE_RUN
|
||||
!ifndef MUI_FINISHPAGE_RUN_VARIABLES
|
||||
!define MUI_FINISHPAGE_RUN_VARIABLES
|
||||
Var mui.FinishPage.Run
|
||||
!endif
|
||||
!endif
|
||||
|
||||
!ifdef MUI_FINISHPAGE_SHOWREADME
|
||||
!ifndef MUI_FINISHPAGE_SHOREADME_VARAIBLES
|
||||
!define MUI_FINISHPAGE_SHOREADME_VARAIBLES
|
||||
Var mui.FinishPage.ShowReadme
|
||||
!endif
|
||||
!endif
|
||||
|
||||
!ifdef MUI_FINISHPAGE_LINK
|
||||
!ifndef MUI_FINISHPAGE_LINK_VARIABLES
|
||||
!define MUI_FINISHPAGE_LINK_VARIABLES
|
||||
Var mui.FinishPage.Link
|
||||
!endif
|
||||
!endif
|
||||
|
||||
!ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
|
||||
!ifndef MUI_FINISHPAGE_REBOOT_VARIABLES
|
||||
!define MUI_FINISHPAGE_REBOOT_VARIABLES
|
||||
Var mui.FinishPage.RebootNow
|
||||
Var mui.FinishPage.RebootLater
|
||||
!endif
|
||||
!endif
|
||||
|
||||
!ifndef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_BITMAPS
|
||||
!insertmacro MUI_DEFAULT MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\win.bmp"
|
||||
!endif
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Interface initialization
|
||||
|
||||
!macro MUI_FINISHPAGE_GUIINIT
|
||||
|
||||
!ifndef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_GUINIT
|
||||
!define MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_GUINIT
|
||||
|
||||
Function ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.GUIInit
|
||||
|
||||
InitPluginsDir
|
||||
File "/oname=$PLUGINSDIR\modern-wizard.bmp" "${MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_BITMAP}"
|
||||
|
||||
!ifdef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_GUIINIT
|
||||
Call "${MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_GUIINIT}"
|
||||
!endif
|
||||
|
||||
!ifndef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}FINISHPAGE_NOAUTOCLOSE
|
||||
SetAutoClose true
|
||||
!endif
|
||||
|
||||
FunctionEnd
|
||||
|
||||
!insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_GUIINIT ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.GUIInit
|
||||
|
||||
!endif
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Abort warning
|
||||
|
||||
!macro MUI_FINISHPAGE_ABORTWARNING
|
||||
|
||||
!ifdef MUI_FINISHPAGE_CANCEL_ENABLED
|
||||
|
||||
!ifndef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}FINISHPAGE_ABORTWARNING
|
||||
!define MUI_${MUI_PAGE_UNINSTALLER_PREFIX}FINISHPAGE_ABORTWARNING
|
||||
|
||||
Function ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.AbortWarning
|
||||
|
||||
${if} $mui.FinishPage.DisableAbortWarning == "1"
|
||||
Quit
|
||||
${endif}
|
||||
|
||||
!ifdef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_ABORTWARNING
|
||||
Call ${MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_ABORTWARNING}
|
||||
!endif
|
||||
|
||||
FunctionEnd
|
||||
|
||||
!insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_ABORTWARNING ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.AbortWarning
|
||||
|
||||
!endif
|
||||
|
||||
!endif
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Page declaration
|
||||
|
||||
!macro MUI_PAGEDECLARATION_FINISH
|
||||
|
||||
!insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}FINISHPAGE ""
|
||||
!insertmacro MUI_FINISHPAGE_INTERFACE
|
||||
|
||||
!insertmacro MUI_FINISHPAGE_GUIINIT
|
||||
!insertmacro MUI_FINISHPAGE_ABORTWARNING
|
||||
|
||||
!insertmacro MUI_DEFAULT MUI_FINISHPAGE_TITLE "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_INFO_TITLE)"
|
||||
!insertmacro MUI_DEFAULT MUI_FINISHPAGE_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_INFO_TEXT)"
|
||||
!insertmacro MUI_DEFAULT MUI_FINISHPAGE_BUTTON "$(MUI_BUTTONTEXT_FINISH)"
|
||||
!insertmacro MUI_DEFAULT MUI_FINISHPAGE_TEXT_REBOOT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_INFO_REBOOT)"
|
||||
!insertmacro MUI_DEFAULT MUI_FINISHPAGE_TEXT_REBOOTNOW "$(MUI_TEXT_FINISH_REBOOTNOW)"
|
||||
!insertmacro MUI_DEFAULT MUI_FINISHPAGE_TEXT_REBOOTLATER "$(MUI_TEXT_FINISH_REBOOTLATER)"
|
||||
!insertmacro MUI_DEFAULT MUI_FINISHPAGE_RUN_TEXT "$(MUI_TEXT_FINISH_RUN)"
|
||||
!insertmacro MUI_DEFAULT MUI_FINISHPAGE_SHOWREADME_TEXT "$(MUI_TEXT_FINISH_SHOWREADME)"
|
||||
!insertmacro MUI_DEFAULT MUI_FINISHPAGE_LINK_COLOR "000080"
|
||||
|
||||
!insertmacro MUI_PAGE_FUNCTION_FULLWINDOW
|
||||
|
||||
PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}custom
|
||||
|
||||
PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.Pre_${MUI_UNIQUEID} \
|
||||
${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.Leave_${MUI_UNIQUEID}
|
||||
|
||||
Caption " "
|
||||
|
||||
PageExEnd
|
||||
|
||||
!insertmacro MUI_FUNCTION_FINISHPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.Pre_${MUI_UNIQUEID} \
|
||||
${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.Leave_${MUI_UNIQUEID} \
|
||||
${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.Link_${MUI_UNIQUEID}
|
||||
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_TITLE
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_TITLE_3LINES
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_LARGE
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_BUTTON
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_CANCEL_ENABLED
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_REBOOT
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_REBOOTNOW
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_REBOOTLATER
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_REBOOTLATER_DEFAULT
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_RUN
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_TEXT
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_PARAMETERS
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_NOTCHECKED
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_FUNCTION
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME_TEXT
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME_FUNCTION
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_LINK
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_LINK_LOCATION
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_LINK_COLOR
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_NOREBOOTSUPPORT
|
||||
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_ABORTWARNINGCHECK
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_CURFIELD_TOP
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_CURFIELD_BOTTOM
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_PAGE_FINISH
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
!insertmacro MUI_PAGE_INIT
|
||||
!insertmacro MUI_PAGEDECLARATION_FINISH
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_UNPAGE_FINISH
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
!insertmacro MUI_UNPAGE_INIT
|
||||
!insertmacro MUI_PAGEDECLARATION_FINISH
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Page functions
|
||||
|
||||
!macro MUI_FUNCTION_FINISHPAGE PRE LEAVE LINK
|
||||
|
||||
!ifdef MUI_FINISHPAGE_LINK
|
||||
|
||||
Function "${LINK}"
|
||||
|
||||
ExecShell open "${MUI_FINISHPAGE_LINK_LOCATION}"
|
||||
|
||||
FunctionEnd
|
||||
|
||||
!endif
|
||||
|
||||
Function "${PRE}"
|
||||
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
|
||||
|
||||
;Set text on Next button
|
||||
SendMessage $mui.Button.Next ${WM_SETTEXT} 0 "STR:${MUI_FINISHPAGE_BUTTON}"
|
||||
|
||||
;Enable cancel button if set in script
|
||||
!ifdef MUI_FINISHPAGE_CANCEL_ENABLED
|
||||
EnableWindow $mui.Button.Next 1
|
||||
!endif
|
||||
|
||||
;Create dialog
|
||||
nsDialogs::Create /NOUNLOAD 1044
|
||||
Pop $mui.FinishPage
|
||||
nsDialogs::SetRTL /NOUNLOAD $(^RTL)
|
||||
SetCtlColors $mui.FinishPage "" "${MUI_BGCOLOR}"
|
||||
|
||||
;Image control
|
||||
${NSD_CreateBitmap} 0u 0u 109u 193u ""
|
||||
Pop $mui.FinishPage.Image
|
||||
System::Call 'user32::LoadImage(i 0, t "$PLUGINSDIR\modern-wizard.bmp", i ${IMAGE_BITMAP}, i 0, i 0, i ${LR_LOADFROMFILE}) i.s'
|
||||
Pop $mui.FinishPage.Image.Bitmap
|
||||
SendMessage $mui.FinishPage.Image ${STM_SETIMAGE} ${IMAGE_BITMAP} $mui.FinishPage.Image.Bitmap
|
||||
|
||||
;Positiong of controls
|
||||
|
||||
;Title
|
||||
!ifndef MUI_FINISHPAGE_TITLE_3LINES
|
||||
!define MUI_FINISHPAGE_TITLE_HEIGHT 28
|
||||
!else
|
||||
!define MUI_FINISHPAGE_TITLE_HEIGHT 38
|
||||
!endif
|
||||
|
||||
;Text
|
||||
;17 = 10 (top margin) + 7 (distance between texts)
|
||||
!define /math MUI_FINISHPAGE_TEXT_TOP 17 + ${MUI_FINISHPAGE_TITLE_HEIGHT}
|
||||
|
||||
;Height if space required for radio buttons or check boxes
|
||||
!ifndef MUI_FINISHPAGE_TEXT_LARGE
|
||||
!define MUI_FINISHPAGE_TEXT_HEIGHT_BUTTONS 40
|
||||
!else
|
||||
!define MUI_FINISHPAGE_TEXT_HEIGHT_BUTTONS 60
|
||||
!endif
|
||||
|
||||
!define /math MUI_FINISHPAGE_TEXT_BOTTOM_BUTTONS ${MUI_FINISHPAGE_TEXT_TOP} + ${MUI_FINISHPAGE_TEXT_HEIGHT_BUTTONS}
|
||||
|
||||
;Positioning of radio buttons to ask for a reboot
|
||||
!ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
|
||||
!define /math MUI_FINISHPAGE_REBOOTNOW_TOP ${MUI_FINISHPAGE_TEXT_BOTTOM_BUTTONS} + 5 ;Distance between text and options
|
||||
;25 = 10 (height of first radio button) + 15 (distance between buttons)
|
||||
!define /math MUI_FINISHPAGE_REBOOTLATER_TOP ${MUI_FINISHPAGE_REBOOTNOW_TOP} + 25
|
||||
!endif
|
||||
|
||||
;Positioning of checkboxes
|
||||
!ifdef MUI_FINISHPAGE_RUN
|
||||
!define /math MUI_FINISHPAGE_RUN_TOP ${MUI_FINISHPAGE_TEXT_BOTTOM_BUTTONS} + 5 ;Distance between text and options
|
||||
!endif
|
||||
!ifdef MUI_FINISHPAGE_SHOWREADME
|
||||
!ifdef MUI_FINISHPAGE_RUN
|
||||
;25 = 10 (height of run checkbox) + 10 (distance between checkboxes)
|
||||
!define /math MUI_FINISHPAGE_SHOWREADME_TOP ${MUI_FINISHPAGE_RUN_TOP} + 20
|
||||
!else
|
||||
!define /math MUI_FINISHPAGE_SHOWREADME_TOP ${MUI_FINISHPAGE_TEXT_BOTTOM_BUTTONS} + 5 ;Distance between text and options
|
||||
!endif
|
||||
!endif
|
||||
|
||||
!ifndef MUI_FINISHPAGE_RUN & MUI_FINISHPAGE_SHOWREADME
|
||||
;Height if full space is available for text and link
|
||||
!ifndef MUI_FINISHPAGE_LINK
|
||||
!define MUI_FINISHPAGE_TEXT_HEIGHT 130
|
||||
!else
|
||||
!define MUI_FINISHPAGE_TEXT_HEIGHT 120
|
||||
!endif
|
||||
!endif
|
||||
|
||||
!ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
|
||||
|
||||
${if} ${RebootFlag}
|
||||
|
||||
;Radio buttons for reboot page
|
||||
${NSD_CreateRadioButton} 120u ${MUI_FINISHPAGE_REBOOTNOW_TOP}u 195u 10u "${MUI_FINISHPAGE_TEXT_REBOOTNOW}"
|
||||
Pop $mui.FinishPage.RebootNow
|
||||
SetCtlColors $mui.FinishPage.RebootNow "" "${MUI_BGCOLOR}"
|
||||
${NSD_CreateRadioButton} 120u ${MUI_FINISHPAGE_REBOOTLATER_TOP}u 195u 10u "${MUI_FINISHPAGE_TEXT_REBOOTLATER}"
|
||||
Pop $mui.FinishPage.RebootLater
|
||||
SetCtlColors $mui.FinishPage.RebootLater "" "${MUI_BGCOLOR}"
|
||||
|
||||
${else}
|
||||
|
||||
!endif
|
||||
|
||||
;Title text
|
||||
${NSD_CreateLabel} 120u 10u 195u ${MUI_FINISHPAGE_TITLE_HEIGHT}u "${MUI_FINISHPAGE_TITLE}"
|
||||
Pop $mui.FinishPage.Title
|
||||
SetCtlColors $mui.FinishPage.Title "" "${MUI_BGCOLOR}"
|
||||
CreateFont $mui.FinishPage.Title.Font "$(^Font)" "12" "700"
|
||||
SendMessage $mui.FinishPage.Title ${WM_SETFONT} $mui.FinishPage.Title.Font 0
|
||||
|
||||
;Finish text
|
||||
!ifndef MUI_FINISHPAGE_RUN & MUI_FINISHPAGE_SHOWREADME
|
||||
${NSD_CreateLabel} 120u 45u 195u ${MUI_FINISHPAGE_TEXT_HEIGHT}u "${MUI_FINISHPAGE_TEXT}"
|
||||
!else
|
||||
${NSD_CreateLabel} 120u 45u 195u ${MUI_FINISHPAGE_TEXT_HEIGHT_BUTTONS}u "${MUI_FINISHPAGE_TEXT}"
|
||||
!endif
|
||||
Pop $mui.FinishPage.Text
|
||||
SetCtlColors $mui.FinishPage.Text "" "${MUI_BGCOLOR}"
|
||||
|
||||
;Checkboxes
|
||||
!ifdef MUI_FINISHPAGE_RUN
|
||||
${NSD_CreateCheckbox} 120u ${MUI_FINISHPAGE_RUN_TOP}u 195u 10u "${MUI_FINISHPAGE_RUN_TEXT}"
|
||||
Pop $mui.FinishPage.Run
|
||||
SetCtlColors $mui.FinishPage.Run "" "${MUI_BGCOLOR}"
|
||||
!ifndef MUI_FINISHPAGE_RUN_NOTCHECKED
|
||||
SendMessage $mui.FinishPage.Run ${BM_SETCHECK} ${BST_CHECKED} 0
|
||||
!endif
|
||||
!endif
|
||||
!ifdef MUI_FINISHPAGE_SHOWREADME
|
||||
${NSD_CreateCheckbox} 120u ${MUI_FINISHPAGE_SHOWREADME_TOP}u 195u 10u "${MUI_FINISHPAGE_SHOWREADME_TEXT}"
|
||||
Pop $mui.FinishPage.ShowReadme
|
||||
SetCtlColors $mui.FinishPage.ShowReadme "" "${MUI_BGCOLOR}"
|
||||
!ifndef MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
|
||||
SendMessage $mui.FinishPage.ShowReadme ${BM_SETCHECK} ${BST_CHECKED} 0
|
||||
!endif
|
||||
!endif
|
||||
|
||||
;Link
|
||||
!ifdef MUI_FINISHPAGE_LINK
|
||||
${NSD_CreateLink} 120u 175u 195u 10u "${MUI_FINISHPAGE_LINK}"
|
||||
Pop $mui.Finishpage.Link
|
||||
SetCtlColors $mui.FinishPage.Link "${MUI_FINISHPAGE_LINK_COLOR}" "${MUI_BGCOLOR}"
|
||||
${NSD_OnClick} $mui.FinishPage.Link "${LINK}"
|
||||
!endif
|
||||
|
||||
!ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
|
||||
${endif}
|
||||
!endif
|
||||
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
|
||||
|
||||
!ifdef MUI_FINISHPAGE_CANCEL_ENABLED
|
||||
StrCpy $mui.FinishPage.DisableAbortWarning "1"
|
||||
!endif
|
||||
|
||||
;Show page
|
||||
Call ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}muiPageLoadFullWindow
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
|
||||
nsDialogs::Show /NOUNLOAD
|
||||
Call ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}muiPageUnloadFullWindow
|
||||
|
||||
!ifdef MUI_FINISHPAGE_CANCEL_ENABLED
|
||||
StrCpy $mui.FinishPage.DisableAbortWarning ""
|
||||
!endif
|
||||
|
||||
;Delete image from memory
|
||||
System::Call gdi32::DeleteObject(i$mui.FinishPage.Image.Bitmap)
|
||||
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_TITLE_HEIGHT
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_TOP
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_HEIGHT
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_HEIGHT_BUTTONS
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_BOTTOM_BUTTONS
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_REBOOTNOW_TOP
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_REBOOTLATER_TOP
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_TOP
|
||||
!insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME_TOP
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function "${LEAVE}"
|
||||
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
|
||||
|
||||
!ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
|
||||
|
||||
;Check whether the user has chosen to reboot the computer
|
||||
${if} ${RebootFlag}
|
||||
SendMessage $mui.FinishPage.RebootNow ${BM_SETCHECK} 0 0 $mui.FinishPage.ReturnValue
|
||||
${if} $mui.FinishPage.ReturnValue == ${BST_CHECKED}
|
||||
Reboot
|
||||
${else}
|
||||
Return
|
||||
${endif}
|
||||
${endif}
|
||||
|
||||
!endif
|
||||
|
||||
;Run functions depending on checkbox state
|
||||
|
||||
!ifdef MUI_FINISHPAGE_RUN
|
||||
|
||||
SendMessage $mui.FinishPage.Run ${BM_GETCHECK} 0 0 $mui.FinishPage.ReturnValue
|
||||
|
||||
${if} $mui.FinishPage.ReturnValue == ${BST_CHECKED}
|
||||
!ifndef MUI_FINISHPAGE_RUN_FUNCTION
|
||||
!ifndef MUI_FINISHPAGE_RUN_PARAMETERS
|
||||
Exec "$\"${MUI_FINISHPAGE_RUN}$\""
|
||||
!else
|
||||
Exec "$\"${MUI_FINISHPAGE_RUN}$\" ${MUI_FINISHPAGE_RUN_PARAMETERS}"
|
||||
!endif
|
||||
!else
|
||||
Call "${MUI_FINISHPAGE_RUN_FUNCTION}"
|
||||
!endif
|
||||
${endif}
|
||||
|
||||
!endif
|
||||
|
||||
!ifdef MUI_FINISHPAGE_SHOWREADME
|
||||
|
||||
SendMessage $mui.FinishPage.ShowReadme ${BM_GETCHECK} 0 0 $mui.FinishPage.ReturnValue
|
||||
|
||||
${if} $mui.FinishPage.ReturnValue == ${BST_CHECKED}
|
||||
!ifndef MUI_FINISHPAGE_SHOWREADME_FUNCTION
|
||||
ExecShell open "${MUI_FINISHPAGE_SHOWREADME}"
|
||||
!else
|
||||
Call "${MUI_FINISHPAGE_SHOWREADME_FUNCTION}"
|
||||
!endif
|
||||
${endif}
|
||||
|
||||
!endif
|
||||
|
||||
FunctionEnd
|
||||
|
||||
!macroend
|
149
Contrib/Modern UI 2/Pages/InstallFiles.nsh
Normal file
149
Contrib/Modern UI 2/Pages/InstallFiles.nsh
Normal file
|
@ -0,0 +1,149 @@
|
|||
/*
|
||||
|
||||
NSIS Modern User Interface
|
||||
InstallFiles page
|
||||
|
||||
*/
|
||||
|
||||
;--------------------------------
|
||||
;Page interface settings and variables
|
||||
|
||||
!macro MUI_INSTFILESPAGE_INTERFACE
|
||||
|
||||
!ifndef MUI_INSTFILESYPAGE_INTERFACE
|
||||
!define MUI_INSTFILESYPAGE_INTERFACE
|
||||
|
||||
!insertmacro MUI_DEFAULT MUI_INSTFILESPAGE_COLORS "/windows"
|
||||
!insertmacro MUI_DEFAULT MUI_INSTFILESPAGE_PROGRESSBAR "smooth"
|
||||
|
||||
Var mui.InstFilesPage
|
||||
|
||||
Var mui.InstFilesPage.Text
|
||||
Var mui.InstFilesPage.ProgressBar
|
||||
Var mui.InstFilesPage.ShowLogButton
|
||||
Var mui.InstFilesPage.Log
|
||||
|
||||
;Apply settings
|
||||
InstallColors ${MUI_INSTFILESPAGE_COLORS}
|
||||
InstProgressFlags ${MUI_INSTFILESPAGE_PROGRESSBAR}
|
||||
SubCaption 4 " "
|
||||
UninstallSubCaption 2 " "
|
||||
!endif
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Page declaration
|
||||
|
||||
!macro MUI_PAGEDECLARATION_INSTFILES
|
||||
|
||||
!insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INSTFILESPAGE ""
|
||||
!insertmacro MUI_INSTFILESPAGE_INTERFACE
|
||||
|
||||
PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}instfiles
|
||||
|
||||
PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesLeave_${MUI_UNIQUEID}
|
||||
|
||||
Caption " "
|
||||
|
||||
PageExEnd
|
||||
|
||||
!insertmacro MUI_FUNCTION_INSTFILESPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesLeave_${MUI_UNIQUEID}
|
||||
|
||||
!insertmacro MUI_UNSET MUI_INSTFILESPAGE_FINISHHEADER_TEXT
|
||||
!insertmacro MUI_UNSET MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
|
||||
!insertmacro MUI_UNSET MUI_INSTFILESPAGE_ABORTWARNING_TEXT
|
||||
!insertmacro MUI_UNSET MUI_INSTFILESPAGE_ABORTWARNING_SUBTEXT
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_PAGE_INSTFILES
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
!insertmacro MUI_PAGE_INIT
|
||||
!insertmacro MUI_PAGEDECLARATION_INSTFILES
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_UNPAGE_INSTFILES
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
!insertmacro MUI_UNPAGE_INIT
|
||||
!insertmacro MUI_PAGEDECLARATION_INSTFILES
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Page functions
|
||||
|
||||
!macro MUI_FUNCTION_INSTFILESPAGE PRE SHOW LEAVE
|
||||
|
||||
Function "${PRE}"
|
||||
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
|
||||
!insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_${MUI_PAGE_UNINSTALLER_PREFIX}INSTALLING_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_${MUI_PAGE_UNINSTALLER_PREFIX}INSTALLING_SUBTITLE)
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function "${SHOW}"
|
||||
|
||||
;Get controls handles
|
||||
FindWindow $mui.InstFilesPage "#32770" "" $HWNDPARENT
|
||||
GetDlgItem $mui.InstFilesPage.Text $mui.DirectoryPage 1006
|
||||
GetDlgItem $mui.InstFilesPage.ProgressBar $mui.DirectoryPage 1004
|
||||
GetDlgItem $mui.InstFilesPage.ShowLogButton $mui.DirectoryPage 1027
|
||||
GetDlgItem $mui.InstFilesPage.Log $mui.DirectoryPage 1016
|
||||
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function "${LEAVE}"
|
||||
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
|
||||
|
||||
;Set text on completed page header
|
||||
|
||||
IfAbort mui.endheader_abort
|
||||
|
||||
!ifdef MUI_INSTFILESPAGE_FINISHHEADER_TEXT & MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
|
||||
!insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_FINISHHEADER_TEXT}" "${MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT}"
|
||||
!else ifdef MUI_INSTFILESPAGE_FINISHHEADER_TEXT
|
||||
!insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_FINISHHEADER_TEXT}" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_SUBTITLE)"
|
||||
!else ifdef MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
|
||||
!insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_TITLE)" "${MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT}"
|
||||
!else
|
||||
!insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_TITLE)" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_SUBTITLE)"
|
||||
!endif
|
||||
|
||||
Goto mui.endheader_done
|
||||
|
||||
mui.endheader_abort:
|
||||
|
||||
!ifdef MUI_INSTFILESPAGE_ABORTHEADER_TEXT & MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT
|
||||
!insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_ABORTHEADER_TEXT}" "${MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT}"
|
||||
!else ifdef MUI_INSTFILESPAGE_ABORTHEADER_TEXT
|
||||
!insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_ABORTHEADER_TEXT}" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_SUBTITLE)"
|
||||
!else ifdef MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT
|
||||
!insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_TITLE)" "${MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT}"
|
||||
!else
|
||||
!insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_TITLE)" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_SUBTITLE)"
|
||||
!endif
|
||||
|
||||
mui.endheader_done:
|
||||
|
||||
!insertmacro MUI_LANGDLL_SAVELANGUAGE
|
||||
|
||||
FunctionEnd
|
||||
|
||||
!macroend
|
145
Contrib/Modern UI 2/Pages/License.nsh
Normal file
145
Contrib/Modern UI 2/Pages/License.nsh
Normal file
|
@ -0,0 +1,145 @@
|
|||
/*
|
||||
|
||||
NSIS Modern User Interface
|
||||
License page
|
||||
|
||||
*/
|
||||
|
||||
;--------------------------------
|
||||
;Page interface settings and variables
|
||||
|
||||
!macro MUI_LICENSEPAGE_INTERFACE
|
||||
|
||||
!ifndef MUI_LICENSEPAGE_INTERFACE
|
||||
!define MUI_LICENSEPAGE_INTERFACE
|
||||
Var mui.LicensePage
|
||||
|
||||
Var mui.Licensepage.TopText
|
||||
Var mui.Licensepage.Text
|
||||
Var mui.Licensepage.LicenseText
|
||||
|
||||
!insertmacro MUI_DEFAULT MUI_LICENSEPAGE_BGCOLOR "/windows"
|
||||
|
||||
;Apply settings
|
||||
LicenseBkColor "${MUI_LICENSEPAGE_BGCOLOR}"
|
||||
!endif
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Page declaration
|
||||
|
||||
!macro MUI_PAGEDECLARATION_LICENSE LICENSEDATA
|
||||
|
||||
!insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}LICENSEPAGE ""
|
||||
!insertmacro MUI_LICENSEPAGE_INTERFACE
|
||||
|
||||
!insertmacro MUI_DEFAULT MUI_LICENSEPAGE_TEXT_TOP "$(MUI_INNERTEXT_LICENSE_TOP)"
|
||||
!insertmacro MUI_DEFAULT MUI_LICENSEPAGE_BUTTON ""
|
||||
!insertmacro MUI_DEFAULT MUI_LICENSEPAGE_CHECKBOX_TEXT ""
|
||||
!insertmacro MUI_DEFAULT MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT ""
|
||||
!insertmacro MUI_DEFAULT MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE ""
|
||||
|
||||
PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}license
|
||||
|
||||
PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicensePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseLeave_${MUI_UNIQUEID}
|
||||
|
||||
Caption " "
|
||||
|
||||
LicenseData "${LICENSEDATA}"
|
||||
|
||||
!ifndef MUI_LICENSEPAGE_TEXT_BOTTOM
|
||||
!ifndef MUI_LICENSEPAGE_CHECKBOX & MUI_LICENSEPAGE_RADIOBUTTONS
|
||||
LicenseText "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_LICENSE_BOTTOM)" "${MUI_LICENSEPAGE_BUTTON}"
|
||||
!else ifdef MUI_LICENSEPAGE_CHECKBOX
|
||||
LicenseText "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_LICENSE_BOTTOM_CHECKBOX)" "${MUI_LICENSEPAGE_BUTTON}"
|
||||
!else
|
||||
LicenseText "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS)" "${MUI_LICENSEPAGE_BUTTON}"
|
||||
!endif
|
||||
!else
|
||||
LicenseText "${MUI_LICENSEPAGE_TEXT_BOTTOM}" "${MUI_LICENSEPAGE_BUTTON}"
|
||||
!endif
|
||||
|
||||
!ifdef MUI_LICENSEPAGE_CHECKBOX
|
||||
LicenseForceSelection checkbox "${MUI_LICENSEPAGE_CHECKBOX_TEXT}"
|
||||
!else ifdef MUI_LICENSEPAGE_RADIOBUTTONS
|
||||
LicenseForceSelection radiobuttons "${MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT}" "${MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE}"
|
||||
!endif
|
||||
|
||||
PageExEnd
|
||||
|
||||
!insertmacro MUI_FUNCTION_LICENSEPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicensePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseLeave_${MUI_UNIQUEID}
|
||||
|
||||
!insertmacro MUI_UNSET MUI_LICENSEPAGE_TEXT_TOP
|
||||
!insertmacro MUI_UNSET MUI_LICENSEPAGE_TEXT_BOTTOM
|
||||
!insertmacro MUI_UNSET MUI_LICENSEPAGE_BUTTON
|
||||
!insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX
|
||||
!insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX_TEXT
|
||||
!insertmacro MUI_UNSET MUI_LICENSEPAGE_RADIOBUTTONS
|
||||
!insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX_TEXT_ACCEPT
|
||||
!insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX_TEXT_DECLINE
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_PAGE_LICENSE LICENSEDATA
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
!insertmacro MUI_PAGE_INIT
|
||||
!insertmacro MUI_PAGEDECLARATION_LICENSE "${LICENSEDATA}"
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_UNPAGE_LICENSE LICENSEDATA
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
!insertmacro MUI_UNPAGE_INIT
|
||||
!insertmacro MUI_PAGEDECLARATION_LICENSE "${LICENSEDATA}"
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Page functions
|
||||
|
||||
!macro MUI_FUNCTION_LICENSEPAGE PRE SHOW LEAVE
|
||||
|
||||
Function "${PRE}"
|
||||
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
|
||||
!insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_LICENSE_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_LICENSE_SUBTITLE)
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function "${SHOW}"
|
||||
|
||||
;Get conrol handles
|
||||
FindWindow $mui.LicensePage "#32770" "" $HWNDPARENT
|
||||
GetDlgItem $mui.LicensePage.TopText $mui.LicensePage 1040
|
||||
GetDlgItem $mui.LicensePage.Text $mui.LicensePage 1006
|
||||
GetDlgItem $mui.LicensePage.LicenseText $mui.LicensePage 1000
|
||||
|
||||
;Top text
|
||||
SendMessage $mui.LicensePage.TopText ${WM_SETTEXT} 0 "STR:${MUI_LICENSEPAGE_TEXT_TOP}"
|
||||
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function "${LEAVE}"
|
||||
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
|
||||
|
||||
FunctionEnd
|
||||
|
||||
!macroend
|
228
Contrib/Modern UI 2/Pages/StartMenu.nsh
Normal file
228
Contrib/Modern UI 2/Pages/StartMenu.nsh
Normal file
|
@ -0,0 +1,228 @@
|
|||
/*
|
||||
|
||||
NSIS Modern User Interface
|
||||
Start Menu folder page
|
||||
|
||||
*/
|
||||
|
||||
;--------------------------------
|
||||
;Page interface settings and variables
|
||||
|
||||
!macro MUI_STARTMENUPAGE_INTERFACE
|
||||
|
||||
!ifndef MUI_STARTMENUPAGE_INTERFACE
|
||||
!define MUI_STARTMENUPAGE_INTERFACE
|
||||
Var mui.StartMenuPage
|
||||
Var mui.StartMenuPage.Location
|
||||
Var mui.StartMenuPage.FolderList
|
||||
|
||||
Var mui.StartMenuPage.Create
|
||||
Var mui.StartMenuPage.RegistryLocation
|
||||
Var mui.StartMenuPage.ReturnValue
|
||||
!endif
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Page declaration
|
||||
|
||||
!macro MUI_PAGEDECLARATION_STARTMENU ID VAR
|
||||
|
||||
!insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}STARTMENUPAGE ""
|
||||
!insertmacro MUI_STARTMENUPAGE_INTERFACE
|
||||
|
||||
!insertmacro MUI_DEFAULT MUI_STARTMENUPAGE_DEFAULTFOLDER "$(^Name)"
|
||||
!insertmacro MUI_DEFAULT MUI_STARTMENUPAGE_TEXT_TOP "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_STARTMENU_TOP)"
|
||||
!insertmacro MUI_DEFAULT MUI_STARTMENUPAGE_TEXT_CHECKBOX "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_STARTMENU_CHECKBOX)"
|
||||
|
||||
!define MUI_STARTMENUPAGE_VARIABLE "${VAR}"
|
||||
!define "MUI_STARTMENUPAGE_${ID}_VARIABLE" "${MUI_STARTMENUPAGE_VARIABLE}"
|
||||
!define "MUI_STARTMENUPAGE_${ID}_DEFAULTFOLDER" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
|
||||
!ifdef MUI_STARTMENUPAGE_REGISTRY_ROOT
|
||||
!define "MUI_STARTMENUPAGE_${ID}_REGISTRY_ROOT" "${MUI_STARTMENUPAGE_REGISTRY_ROOT}"
|
||||
!endif
|
||||
!ifdef MUI_STARTMENUPAGE_REGISTRY_KEY
|
||||
!define "MUI_STARTMENUPAGE_${ID}_REGISTRY_KEY" "${MUI_STARTMENUPAGE_REGISTRY_KEY}"
|
||||
!endif
|
||||
!ifdef MUI_STARTMENUPAGE_REGISTRY_VALUENAME
|
||||
!define "MUI_STARTMENUPAGE_${ID}_REGISTRY_VALUENAME" "${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}"
|
||||
!endif
|
||||
|
||||
PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}custom
|
||||
|
||||
PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.StartmenuPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.StartmenuLeave_${MUI_UNIQUEID}
|
||||
|
||||
Caption " "
|
||||
|
||||
PageExEnd
|
||||
|
||||
!insertmacro MUI_FUNCTION_STARTMENUPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.StartmenuPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.StartmenuLeave_${MUI_UNIQUEID}
|
||||
|
||||
!undef MUI_STARTMENUPAGE_VARIABLE
|
||||
!undef MUI_STARTMENUPAGE_TEXT_TOP
|
||||
!undef MUI_STARTMENUPAGE_TEXT_CHECKBOX
|
||||
!undef MUI_STARTMENUPAGE_DEFAULTFOLDER
|
||||
!insertmacro MUI_UNSET MUI_STARTMENUPAGE_NODISABLE
|
||||
!insertmacro MUI_UNSET MUI_STARTMENUPAGE_REGISTRY_ROOT
|
||||
!insertmacro MUI_UNSET MUI_STARTMENUPAGE_REGISTRY_KEY
|
||||
!insertmacro MUI_UNSET MUI_STARTMENUPAGE_REGISTRY_VALUENAME
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_PAGE_STARTMENU ID VAR
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
!insertmacro MUI_PAGE_INIT
|
||||
!insertmacro MUI_PAGEDECLARATION_STARTMENU "${ID}" "${VAR}"
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
;--------------------------------
|
||||
;Page functions
|
||||
|
||||
!macro MUI_FUNCTION_STARTMENUPAGE PRE LEAVE
|
||||
|
||||
Function "${PRE}"
|
||||
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
|
||||
|
||||
!ifdef MUI_STARTMENUPAGE_REGISTRY_ROOT & MUI_STARTMENUPAGE_REGISTRY_KEY & MUI_STARTMENUPAGE_REGISTRY_VALUENAME
|
||||
|
||||
;Get Start Menu location from registry
|
||||
|
||||
${if} "${MUI_STARTMENUPAGE_VARIABLE}" == ""
|
||||
|
||||
ReadRegStr $mui.StartMenuPage.RegistryLocation "${MUI_STARTMENUPAGE_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}"
|
||||
${if} $mui.StartMenuPage.RegistryLocation != ""
|
||||
StrCpy "${MUI_STARTMENUPAGE_VARIABLE}" $mui.StartMenuPage.RegistryLocation
|
||||
${endif}
|
||||
|
||||
${endif}
|
||||
|
||||
!endif
|
||||
|
||||
!insertmacro MUI_HEADER_TEXT_PAGE $(MUI_TEXT_STARTMENU_TITLE) $(MUI_TEXT_STARTMENU_SUBTITLE)
|
||||
|
||||
${if} $(^RTL) == "0"
|
||||
!ifndef MUI_STARTMENUPAGE_NODISABLE
|
||||
StartMenu::Init /NOUNLOAD /noicon /autoadd /text "${MUI_STARTMENUPAGE_TEXT_TOP}" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" /checknoshortcuts "${MUI_STARTMENUPAGE_TEXT_CHECKBOX}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
|
||||
!else
|
||||
StartMenu::Init /NOUNLOAD /noicon /autoadd /text "${MUI_STARTMENUPAGE_TEXT_TOP}" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
|
||||
!endif
|
||||
${else}
|
||||
!ifndef MUI_STARTMENUPAGE_NODISABLE
|
||||
StartMenu::Init /NOUNLOAD /rtl /noicon /autoadd /text "${MUI_STARTMENUPAGE_TEXT_TOP}" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" /checknoshortcuts "${MUI_STARTMENUPAGE_TEXT_CHECKBOX}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
|
||||
!else
|
||||
StartMenu::Init /NOUNLOAD /rtl /noicon /autoadd /text "${MUI_STARTMENUPAGE_TEXT_TOP}" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
|
||||
!endif
|
||||
${endif}
|
||||
|
||||
Pop $mui.StartMenuPage
|
||||
|
||||
;Get control handles
|
||||
GetDlgItem $mui.StartMenuPage.Location $mui.StartMenuPage 1002
|
||||
GetDlgItem $mui.StartMenuPage.FolderList $mui.StartMenuPage 1004
|
||||
|
||||
!ifdef MUI_STARTMENUPAGE_BGCOLOR
|
||||
SetCtlColors $mui.StartMenuPage.Location "" "${MUI_STARTMENUPAGE_BGCOLOR}"
|
||||
SetCtlColors $mui.StartMenuMenu.FolderList "" "${MUI_STARTMENUPAGE_BGCOLOR}"
|
||||
!endif
|
||||
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
|
||||
|
||||
StartMenu::Show
|
||||
|
||||
Pop $mui.StartMenuPage.ReturnValue
|
||||
${if} $mui.StartMenuPage.ReturnValue == "success"
|
||||
Pop "${MUI_STARTMENUPAGE_VARIABLE}"
|
||||
${endif}
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function "${LEAVE}"
|
||||
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
|
||||
|
||||
FunctionEnd
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Script macros to get Start Menu folder
|
||||
|
||||
!macro MUI_STARTMENU_GETFOLDER ID VAR
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
;Get Start Menu folder from registry
|
||||
;Can be called from the script in the uninstaller
|
||||
|
||||
!ifdef MUI_STARTMENUPAGE_${ID}_REGISTRY_ROOT & MUI_STARTMENUPAGE_${ID}_REGISTRY_KEY & MUI_STARTMENUPAGE_${ID}_REGISTRY_VALUENAME
|
||||
|
||||
ReadRegStr $mui.StartMenuPage.RegistryLocation "${MUI_STARTMENUPAGE_${ID}_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_${ID}_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_${ID}_REGISTRY_VALUENAME}"
|
||||
|
||||
${if} mui.StartMenuPage.RegistryLocation != ""
|
||||
StrCpy "${VAR}" $mui.StartMenuPage.RegistryLocation
|
||||
${else}
|
||||
StrCpy "${VAR}" "${MUI_STARTMENUPAGE_${ID}_DEFAULTFOLDER}"
|
||||
${endif}
|
||||
|
||||
!else
|
||||
|
||||
StrCpy "${VAR}" "${MUI_STARTMENUPAGE_${ID}_DEFAULTFOLDER}"
|
||||
|
||||
!endif
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_STARTMENU_WRITE_BEGIN ID
|
||||
|
||||
;The code in the script to write the shortcuts should be put between the
|
||||
;MUI_STARTMENU_WRITE_BEGIN and MUI_STARTMENU_WRITE_END macros
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
!define MUI_STARTMENUPAGE_CURRENT_ID "${ID}"
|
||||
|
||||
StrCpy $mui.StartMenuPage.Create "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}" 1
|
||||
|
||||
;If the folder start with >, the user has chosen not to create a shortcut
|
||||
${if} $mui.StartMenuPage.Create != ">"
|
||||
|
||||
${if} "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}" == ""
|
||||
;Get folder from registry if the variable doesn't contain anything
|
||||
!insertmacro MUI_STARTMENU_GETFOLDER "${MUI_STARTMENUPAGE_CURRENT_ID}" "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}"
|
||||
${endif}
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_STARTMENU_WRITE_END
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
!ifdef MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_ROOT & MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_KEY & MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_VALUENAME
|
||||
;Write folder to registry
|
||||
WriteRegStr "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_VALUENAME}" "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}"
|
||||
!endif
|
||||
|
||||
${endif}
|
||||
|
||||
!undef MUI_STARTMENUPAGE_CURRENT_ID
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
96
Contrib/Modern UI 2/Pages/UninstallConfirm.nsh
Normal file
96
Contrib/Modern UI 2/Pages/UninstallConfirm.nsh
Normal file
|
@ -0,0 +1,96 @@
|
|||
/*
|
||||
|
||||
NSIS Modern User Interface
|
||||
Uninstall confirmation page
|
||||
|
||||
*/
|
||||
|
||||
;--------------------------------
|
||||
;Page interface settings and variables
|
||||
|
||||
!macro MUI_UNCONFIRMPAGE_INTERFACE
|
||||
|
||||
!ifndef MUI_UNCONFIRMPAGE_INTERFACE
|
||||
!define MUI_UNCONFIRMPAGE_INTERFACE
|
||||
Var mui.UnConfirmPage
|
||||
|
||||
Var mui.UnConfirmPage.Text
|
||||
Var mui.UnConfirmPage.DirectoryText
|
||||
Var mui.UnConfirmPage.Directory
|
||||
!endif
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Page declaration
|
||||
|
||||
!macro MUI_PAGEDECLARATION_CONFIRM
|
||||
|
||||
!insertmacro MUI_SET MUI_UNCONFIRMPAGE ""
|
||||
!insertmacro MUI_UNCONFIRMPAGE_INTERFACE
|
||||
|
||||
!insertmacro MUI_DEFAULT MUI_UNCONFIRMPAGE_TEXT_TOP ""
|
||||
!insertmacro MUI_DEFAULT MUI_UNCONFIRMPAGE_TEXT_LOCATION ""
|
||||
|
||||
PageEx un.uninstConfirm
|
||||
|
||||
PageCallbacks un.mui.ConfirmPre_${MUI_UNIQUEID} un.mui.ConfirmShow_${MUI_UNIQUEID} un.mui.ConfirmLeave_${MUI_UNIQUEID}
|
||||
|
||||
Caption " "
|
||||
|
||||
UninstallText "${MUI_UNCONFIRMPAGE_TEXT_TOP}" "${MUI_UNCONFIRMPAGE_TEXT_LOCATION}"
|
||||
|
||||
PageExEnd
|
||||
|
||||
!insertmacro MUI_UNFUNCTION_CONFIRMPAGE un.mui.ConfirmPre_${MUI_UNIQUEID} un.mui.ConfirmShow_${MUI_UNIQUEID} un.mui.ConfirmLeave_${MUI_UNIQUEID}
|
||||
|
||||
!insertmacro MUI_UNSET MUI_UNCONFIRMPAGE_TEXT_TOP
|
||||
!insertmacro MUI_UNSET MUI_UNCONFIRMPAGE_TEXT_LOCATION
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_UNPAGE_CONFIRM
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
!insertmacro MUI_UNPAGE_INIT
|
||||
!insertmacro MUI_PAGEDECLARATION_CONFIRM
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Page functions
|
||||
|
||||
!macro MUI_UNFUNCTION_CONFIRMPAGE PRE SHOW LEAVE
|
||||
|
||||
Function "${PRE}"
|
||||
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
|
||||
!insertmacro MUI_HEADER_TEXT_PAGE $(MUI_UNTEXT_CONFIRM_TITLE) $(MUI_UNTEXT_CONFIRM_SUBTITLE)
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function "${SHOW}"
|
||||
|
||||
;Get controls handles
|
||||
FindWindow $mui.UnConfirmPage "#32770" "" $HWNDPARENT
|
||||
GetDlgItem $mui.UnConfirmPage.Text $mui.DirectoryPage 1006
|
||||
GetDlgItem $mui.UnConfirmPage.DirectoryText $mui.DirectoryPage 1029
|
||||
GetDlgItem $mui.UnConfirmPage.Directory $mui.DirectoryPage 1000
|
||||
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function "${LEAVE}"
|
||||
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
|
||||
|
||||
FunctionEnd
|
||||
|
||||
!macroend
|
164
Contrib/Modern UI 2/Pages/Welcome.nsh
Normal file
164
Contrib/Modern UI 2/Pages/Welcome.nsh
Normal file
|
@ -0,0 +1,164 @@
|
|||
/*
|
||||
|
||||
NSIS Modern User Interface
|
||||
Welcome page (implemented using nsDialogs)
|
||||
|
||||
*/
|
||||
|
||||
;--------------------------------
|
||||
;Page interface settings and variables
|
||||
|
||||
!macro MUI_WELCOMEPAGE_INTERFACE
|
||||
|
||||
!ifndef MUI_WELCOMEPAGE_INTERFACE
|
||||
!define MUI_WELCOMEPAGE_INTERFACE
|
||||
Var mui.WelcomePage
|
||||
|
||||
Var mui.WelcomePage.Image
|
||||
Var mui.WelcomePage.Image.Bitmap
|
||||
|
||||
Var mui.WelcomePage.Title
|
||||
Var mui.WelcomePage.Title.Font
|
||||
|
||||
Var mui.WelcomePage.Text
|
||||
!endif
|
||||
|
||||
!ifndef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_BITMAPS
|
||||
!insertmacro MUI_DEFAULT MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\win.bmp"
|
||||
!endif
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Interface initialization
|
||||
|
||||
!macro MUI_WELCOMEPAGE_GUIINIT
|
||||
|
||||
!ifndef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEWELCOMEPAGE_GUINIT
|
||||
!define MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEWELCOMEPAGE_GUINIT
|
||||
|
||||
Function ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomePage.GUIInit
|
||||
|
||||
InitPluginsDir
|
||||
File "/oname=$PLUGINSDIR\modern-wizard.bmp" "${MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_BITMAP}"
|
||||
|
||||
!ifdef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_GUIINIT
|
||||
Call "${MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_GUIINIT}"
|
||||
!endif
|
||||
|
||||
FunctionEnd
|
||||
|
||||
!insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_GUIINIT ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomePage.GUIInit
|
||||
|
||||
!endif
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Page declaration
|
||||
|
||||
!macro MUI_PAGEDECLARATION_WELCOME
|
||||
|
||||
!insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEPAGE ""
|
||||
!insertmacro MUI_WELCOMEPAGE_INTERFACE
|
||||
|
||||
!insertmacro MUI_WELCOMEPAGE_GUIINIT
|
||||
|
||||
!insertmacro MUI_DEFAULT MUI_WELCOMEPAGE_TITLE "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_WELCOME_INFO_TITLE)"
|
||||
!insertmacro MUI_DEFAULT MUI_WELCOMEPAGE_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_WELCOME_INFO_TEXT)"
|
||||
|
||||
!insertmacro MUI_PAGE_FUNCTION_FULLWINDOW
|
||||
|
||||
PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}custom
|
||||
|
||||
PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomeLeave_${MUI_UNIQUEID}
|
||||
|
||||
PageExEnd
|
||||
|
||||
!insertmacro MUI_FUNCTION_WELCOMEPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomeLeave_${MUI_UNIQUEID}
|
||||
|
||||
!insertmacro MUI_UNSET MUI_WELCOMEPAGE_TITLE
|
||||
!insertmacro MUI_UNSET MUI_WELCOMEPAGE_TITLE_3LINES
|
||||
!insertmacro MUI_UNSET MUI_WELCOMEPAGE_TEXT
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_PAGE_WELCOME
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
!insertmacro MUI_PAGE_INIT
|
||||
!insertmacro MUI_PAGEDECLARATION_WELCOME
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_UNPAGE_WELCOME
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
!insertmacro MUI_UNPAGE_INIT
|
||||
!insertmacro MUI_PAGEDECLARATION_WELCOME
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Page functions
|
||||
|
||||
!macro MUI_FUNCTION_WELCOMEPAGE PRE LEAVE
|
||||
|
||||
Function "${PRE}"
|
||||
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
|
||||
|
||||
;Create dialog
|
||||
nsDialogs::Create /NOUNLOAD 1044
|
||||
Pop $mui.WelcomePage
|
||||
nsDialogs::SetRTL /NOUNLOAD $(^RTL)
|
||||
SetCtlColors $mui.WelcomePage "" "${MUI_BGCOLOR}"
|
||||
|
||||
;Image control
|
||||
${NSD_CreateBitmap} 0u 0u 109u 193u ""
|
||||
Pop $mui.WelcomePage.Image
|
||||
System::Call 'user32::LoadImage(i 0, t "$PLUGINSDIR\modern-wizard.bmp", i ${IMAGE_BITMAP}, i 0, i 0, i ${LR_LOADFROMFILE}) i.s'
|
||||
Pop $mui.WelcomePage.Image.Bitmap
|
||||
SendMessage $mui.WelcomePage.Image ${STM_SETIMAGE} ${IMAGE_BITMAP} $mui.WelcomePage.Image.Bitmap
|
||||
|
||||
;Title
|
||||
${NSD_CreateLabel} 120u 10u 195u 28u "${MUI_WELCOMEPAGE_TITLE}"
|
||||
Pop $mui.WelcomePage.Title
|
||||
SetCtlColors $mui.WelcomePage.Title "" "${MUI_BGCOLOR}"
|
||||
CreateFont $mui.WelcomePage.Title.Font "$(^Font)" "12" "700"
|
||||
SendMessage $mui.WelcomePage.Title ${WM_SETFONT} $mui.WelcomePage.Title.Font 0
|
||||
|
||||
;Welcome text
|
||||
${NSD_CreateLabel} 120u 45u 195u 130u "${MUI_WELCOMEPAGE_TEXT}"
|
||||
Pop $mui.WelcomePage.Text
|
||||
SetCtlColors $mui.WelcomePage.Text "" "${MUI_BGCOLOR}"
|
||||
|
||||
;Show page
|
||||
Call ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}muiPageLoadFullWindow
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
|
||||
nsDialogs::Show
|
||||
Call ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}muiPageUnloadFullWindow
|
||||
|
||||
;Delete image from memory
|
||||
System::Call gdi32::DeleteObject(i$mui.WelcomePage.Image.Bitmap)
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function "${LEAVE}"
|
||||
|
||||
!insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
|
||||
|
||||
FunctionEnd
|
||||
|
||||
!macroend
|
Loading…
Add table
Add a link
Reference in a new issue