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
306
Contrib/Modern UI 2/Interface.nsh
Normal file
306
Contrib/Modern UI 2/Interface.nsh
Normal file
|
@ -0,0 +1,306 @@
|
|||
/*
|
||||
|
||||
NSIS Modern User Interface
|
||||
Interface code for all pages
|
||||
|
||||
*/
|
||||
|
||||
;--------------------------------
|
||||
;Variables
|
||||
|
||||
Var mui.Header.Text
|
||||
Var mui.Header.Text.Font
|
||||
Var mui.Header.SubText
|
||||
Var mui.Header.Background
|
||||
Var mui.Header.Image
|
||||
|
||||
Var mui.Branding.Text
|
||||
Var mui.Branding.Background
|
||||
|
||||
Var mui.Line.Standard
|
||||
Var mui.Line.FullWindow
|
||||
|
||||
Var mui.Button.Next
|
||||
Var mui.Button.Cancel
|
||||
Var mui.Button.Back
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;General interface settings
|
||||
|
||||
!macro MUI_INTERFACE
|
||||
|
||||
!ifndef MUI_INTERFACE
|
||||
|
||||
!define MUI_INTERFACE
|
||||
|
||||
;These values are set after the interface settings in the script,
|
||||
;so the script itself can override all values.
|
||||
|
||||
;Default interface settings in nsisconf.nsh
|
||||
!ifdef MUI_INSERT_NSISCONF
|
||||
!insertmacro MUI_NSISCONF
|
||||
!endif
|
||||
|
||||
;Default interface settings
|
||||
!insertmacro MUI_DEFAULT MUI_UI "${NSISDIR}\Contrib\UIs\modern.exe"
|
||||
!insertmacro MUI_DEFAULT MUI_UI_HEADERIMAGE "${NSISDIR}\Contrib\UIs\modern_headerbmp.exe"
|
||||
!insertmacro MUI_DEFAULT MUI_UI_HEADERIMAGE_RIGHT "${NSISDIR}\Contrib\UIs\modern_headerbmpr.exe"
|
||||
!insertmacro MUI_DEFAULT MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
|
||||
!insertmacro MUI_DEFAULT MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
|
||||
!insertmacro MUI_DEFAULT MUI_BGCOLOR "FFFFFF"
|
||||
|
||||
;Default header images
|
||||
!ifdef MUI_HEADERIMAGE
|
||||
|
||||
!insertmacro MUI_DEFAULT MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\nsis.bmp"
|
||||
|
||||
!ifndef MUI_HEADERIMAGE_UNBITMAP
|
||||
!define MUI_HEADERIMAGE_UNBITMAP "${MUI_HEADERIMAGE_BITMAP}"
|
||||
!ifdef MUI_HEADERIMAGE_BITMAP_NOSTRETCH
|
||||
!insertmacro MUI_SET MUI_HEADERIMAGE_UNBITMAP_NOSTRETCH
|
||||
!endif
|
||||
!endif
|
||||
|
||||
!ifdef MUI_HEADERIMAGE_BITMAP_RTL
|
||||
!ifndef MUI_HEADERIMAGE_UNBITMAP_RTL
|
||||
!define MUI_HEADERIMAGE_UNBITMAP_RTL "${MUI_HEADERIMAGE_BITMAP_RTL}"
|
||||
!ifdef MUI_HEADERIMAGE_BITMAP_RTL_NOSTRETCH
|
||||
!insertmacro MUI_SET MUI_HEADERIMAGE_UNBITMAP_RTL_NOSTRETCH
|
||||
!endif
|
||||
!endif
|
||||
!endif
|
||||
|
||||
!endif
|
||||
|
||||
;Default texts
|
||||
!insertmacro MUI_DEFAULT MUI_ABORTWARNING_TEXT "$(MUI_TEXT_ABORTWARNING)"
|
||||
!insertmacro MUI_DEFAULT MUI_UNABORTWARNING_TEXT "$(MUI_UNTEXT_ABORTWARNING)"
|
||||
|
||||
;Apply settings
|
||||
|
||||
XPStyle On ;XP style setting in manifest resource
|
||||
|
||||
;Dialog resources
|
||||
ChangeUI all "${MUI_UI}"
|
||||
!ifdef MUI_HEADERIMAGE
|
||||
!ifndef MUI_HEADERIMAGE_RIGHT
|
||||
ChangeUI IDD_INST "${MUI_UI_HEADERIMAGE}"
|
||||
!else
|
||||
ChangeUI IDD_INST "${MUI_UI_HEADERIMAGE_RIGHT}"
|
||||
!endif
|
||||
!endif
|
||||
|
||||
;Icons
|
||||
Icon "${MUI_ICON}"
|
||||
UninstallIcon "${MUI_UNICON}"
|
||||
|
||||
!endif
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Abort warning message box
|
||||
|
||||
!macro MUI_ABORTWARNING
|
||||
|
||||
${MUI_ABORTWARNING}
|
||||
|
||||
!ifdef MUI_ABORTWARNING_CANCEL_DEFAULT
|
||||
MessageBox MB_YESNO|MB_ICONEXCLAMATION|MB_DEFBUTTON2 "${MUI_ABORTWARNING_TEXT}" IDYES mui.Quit
|
||||
!else
|
||||
MessageBox MB_YESNO|MB_ICONEXCLAMATION "${MUI_ABORTWARNING_TEXT}" IDYES mui.Quit
|
||||
!endif
|
||||
|
||||
Abort
|
||||
mui.Quit:
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_UNABORTWARNING
|
||||
|
||||
!ifdef MUI_UNABORTWARNING_CANCEL_DEFAULT
|
||||
MessageBox MB_YESNO|MB_ICONEXCLAMATION|MB_DEFBUTTON2 "${MUI_UNABORTWARNING_TEXT}" IDYES mui.Quit
|
||||
!else
|
||||
MessageBox MB_YESNO|MB_ICONEXCLAMATION "${MUI_UNABORTWARNING_TEXT}" IDYES mui.Quit
|
||||
!endif
|
||||
|
||||
Abort
|
||||
mui.Quit:
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Initialization of GUI
|
||||
|
||||
!macro MUI_HEADERIMAGE_INIT UNINSTALLER
|
||||
|
||||
;Load and display header image
|
||||
|
||||
!ifdef MUI_HEADERIMAGE
|
||||
|
||||
InitPluginsDir
|
||||
|
||||
!ifdef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL
|
||||
|
||||
${if} $(^RTL) == 1
|
||||
|
||||
File "/oname=$PLUGINSDIR\modern-header.bmp" "${MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL}"
|
||||
|
||||
!ifndef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL_NOSTRETCH
|
||||
SetBrandingImage /IMGID=1046 /RESIZETOFIT "$PLUGINSDIR\modern-header.bmp"
|
||||
!else
|
||||
SetBrandingImage /IMGID=1046 "$PLUGINSDIR\modern-header.bmp"
|
||||
!endif
|
||||
|
||||
Goto mui.headerimageinit_done
|
||||
|
||||
${else}
|
||||
|
||||
!endif
|
||||
|
||||
File "/oname=$PLUGINSDIR\modern-header.bmp" "${MUI_HEADERIMAGE_${UNINSTALLER}BITMAP}"
|
||||
|
||||
!ifndef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_NOSTRETCH
|
||||
SetBrandingImage /IMGID=1046 /RESIZETOFIT "$PLUGINSDIR\modern-header.bmp"
|
||||
!else
|
||||
SetBrandingImage /IMGID=1046 "$PLUGINSDIR\modern-header.bmp"
|
||||
!endif
|
||||
|
||||
!ifdef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL
|
||||
|
||||
${endif}
|
||||
|
||||
!endif
|
||||
|
||||
!endif
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_GUIINIT_OUTERDIALOG
|
||||
|
||||
;Initialize outer dialog (fonts & colors)
|
||||
|
||||
;Header
|
||||
|
||||
GetDlgItem $mui.Header.Text $HWNDPARENT 1037
|
||||
CreateFont $mui.Header.Text.Font "$(^Font)" "$(^FontSize)" "700"
|
||||
SendMessage $mui.Header.Text ${WM_SETFONT} $mui.Header.Text.Font 0
|
||||
|
||||
GetDlgItem $mui.Header.SubText $HWNDPARENT 1038
|
||||
|
||||
!ifndef MUI_HEADER_TRANSPARENT_TEXT
|
||||
SetCtlColors $mui.Header.Text "" "${MUI_BGCOLOR}"
|
||||
SetCtlColors $mui.Header.SubText "" "${MUI_BGCOLOR}"
|
||||
!else
|
||||
SetCtlColors $mui.Header.Text "" "transparent"
|
||||
SetCtlColors $mui.Header.SubText "" "transparent"
|
||||
!endif
|
||||
|
||||
;Header background
|
||||
GetDlgItem $mui.Header.Background $HWNDPARENT 1034
|
||||
SetCtlColors $mui.Header.Background "" "${MUI_BGCOLOR}"
|
||||
|
||||
;Header image background
|
||||
GetDlgItem $mui.Header.Image $HWNDPARENT 1039
|
||||
SetCtlColors $mui.Header.Image "" "${MUI_BGCOLOR}"
|
||||
|
||||
;Branding text
|
||||
GetDlgItem $mui.Branding.Background $HWNDPARENT 1028
|
||||
SetCtlColors $mui.Branding.Background /BRANDING
|
||||
GetDlgItem $mui.Branding.Text $HWNDPARENT 1256
|
||||
SetCtlColors $mui.Branding.Text /BRANDING
|
||||
SendMessage $mui.Branding.Text ${WM_SETTEXT} 0 "STR:$(^Branding) "
|
||||
|
||||
;Lines
|
||||
GetDlgItem $mui.Line.Standard $HWNDPARENT 1035
|
||||
GetDlgItem $mui.Line.FullWindow $HWNDPARENT 1045
|
||||
|
||||
;Buttons
|
||||
GetDlgItem $mui.Button.Next $HWNDPARENT 1
|
||||
GetDlgItem $mui.Button.Cancel $HWNDPARENT 2
|
||||
GetDlgItem $mui.Button.Back $HWNDPARENT 3
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Interface functions
|
||||
|
||||
!macro MUI_FUNCTION_GUIINIT
|
||||
|
||||
Function .onGUIInit
|
||||
|
||||
!insertmacro MUI_GUIINIT_OUTERDIALOG
|
||||
|
||||
!ifdef MUI_PAGE_FUNCTION_GUIINIT
|
||||
Call "${MUI_PAGE_FUNCTION_GUIINIT}"
|
||||
!endif
|
||||
|
||||
!ifdef MUI_CUSTOMFUNCTION_GUIINIT
|
||||
Call "${MUI_CUSTOMFUNCTION_GUIINIT}"
|
||||
!endif
|
||||
|
||||
FunctionEnd
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_UNFUNCTION_GUIINIT
|
||||
|
||||
Function un.onGUIInit
|
||||
|
||||
!insertmacro MUI_GUIINIT_OUTERDIALOG
|
||||
|
||||
!ifdef MUI_UNPAGE_FUNCTION_GUIINIT
|
||||
Call "${MUI_UNPAGE_FUNCTION_GUIINIT}"
|
||||
!endif
|
||||
|
||||
!ifdef MUI_CUSTOMFUNCTION_UNGUIINIT
|
||||
Call "${MUI_CUSTOMFUNCTION_UNGUIINIT}"
|
||||
!endif
|
||||
|
||||
FunctionEnd
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_FUNCTION_ABORTWARNING
|
||||
|
||||
Function .onUserAbort
|
||||
|
||||
!ifdef MUI_PAGE_FUNCTION_ABORTWARNING
|
||||
Call ${MUI_PAGE_FUNCTION_ABORTWARNING}
|
||||
!endif
|
||||
|
||||
!ifdef MUI_ABORTWARNING
|
||||
!insertmacro MUI_ABORTWARNING
|
||||
!endif
|
||||
|
||||
!ifdef MUI_CUSTOMFUNCTION_ABORT
|
||||
Call "${MUI_CUSTOMFUNCTION_ABORT}"
|
||||
!endif
|
||||
|
||||
FunctionEnd
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_FUNCTION_UNABORTWARNING
|
||||
|
||||
Function un.onUserAbort
|
||||
|
||||
!ifdef MUI_UNPAGE_FUNCTION_ABORTWARNING
|
||||
Call ${MUI_UNPAGE_FUNCTION_ABORTWARNING}
|
||||
!endif
|
||||
|
||||
!ifdef MUI_UNABORTWARNING
|
||||
!insertmacro MUI_UNABORTWARNING
|
||||
!endif
|
||||
|
||||
!ifdef MUI_CUSTOMFUNCTION_UNABORT
|
||||
Call "${MUI_CUSTOMFUNCTION_UNABORT}"
|
||||
!endif
|
||||
|
||||
FunctionEnd
|
||||
|
||||
!macroend
|
10
Contrib/Modern UI 2/License.txt
Normal file
10
Contrib/Modern UI 2/License.txt
Normal file
|
@ -0,0 +1,10 @@
|
|||
Copyright © 2002-2007 Joost Verburg
|
||||
|
||||
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
|
||||
|
||||
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software.
|
||||
If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
|
||||
2. Altered versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any distribution.
|
180
Contrib/Modern UI 2/Localization.nsh
Normal file
180
Contrib/Modern UI 2/Localization.nsh
Normal file
|
@ -0,0 +1,180 @@
|
|||
/*
|
||||
|
||||
NSIS Modern User Interface
|
||||
Localization
|
||||
|
||||
*/
|
||||
|
||||
;--------------------------------
|
||||
;Variables
|
||||
|
||||
!macro MUI_LANGDLL_VARIABLES
|
||||
|
||||
!ifndef MUI_LANGDLL_VARIABLES
|
||||
!define MUI_LANGDLL_VARIABLES
|
||||
|
||||
;/GLOBAL because the macros are included in a function
|
||||
Var /GLOBAL mui.LangDLL.RegistryLanguage
|
||||
|
||||
!endif
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Include langauge files
|
||||
|
||||
!macro MUI_LANGUAGE LANGUAGE
|
||||
|
||||
;Include a language
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
!insertmacro MUI_INSERT
|
||||
|
||||
LoadLanguageFile "${NSISDIR}\Contrib\Language files\${LANGUAGE}.nlf"
|
||||
!insertmacro LANGFILE_INCLUDE "${NSISDIR}\Contrib\Language files\${LANGUAGE}.nsh"
|
||||
|
||||
!ifndef MUI_LANGDLL_LANGUAGES
|
||||
!ifdef MUI_LANGDLL_ALLLANGUAGES
|
||||
!define MUI_LANGDLL_LANGUAGES "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' "
|
||||
!else
|
||||
!define MUI_LANGDLL_LANGUAGES "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' '${LANG_${LANGUAGE}_CP}' "
|
||||
!endif
|
||||
!else
|
||||
!ifdef MUI_LANGDLL_LANGUAGES_TEMP
|
||||
!undef MUI_LANGDLL_LANGUAGES_TEMP
|
||||
!endif
|
||||
!define MUI_LANGDLL_LANGUAGES_TEMP "${MUI_LANGDLL_LANGUAGES}"
|
||||
!undef MUI_LANGDLL_LANGUAGES
|
||||
|
||||
!ifdef MUI_LANGDLL_ALLLANGUAGES
|
||||
!define MUI_LANGDLL_LANGUAGES "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' ${MUI_LANGDLL_LANGUAGES_TEMP}"
|
||||
!else
|
||||
!define MUI_LANGDLL_LANGUAGES "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' '${LANG_${LANGUAGE}_CP}' ${MUI_LANGDLL_LANGUAGES_TEMP}"
|
||||
!endif
|
||||
!endif
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Language selection
|
||||
|
||||
!macro MUI_LANGDLL_DISPLAY
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
!insertmacro MUI_LANGDLL_VARIABLES
|
||||
|
||||
!insertmacro MUI_DEFAULT MUI_LANGDLL_WINDOWTITLE "Installer Language"
|
||||
!insertmacro MUI_DEFAULT MUI_LANGDLL_INFO "Please select a language."
|
||||
|
||||
!ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
|
||||
|
||||
ReadRegStr $mui.LangDLL.RegistryLanguage "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}"
|
||||
|
||||
${if} $mui.LangDLL.RegistryLanguage != ""
|
||||
;Set default langauge to registry language
|
||||
StrCpy $LANGUAGE mui.LangDLL.RegistryLanguage
|
||||
${endif}
|
||||
|
||||
!endif
|
||||
|
||||
!ifdef NSIS_CONFIG_SILENT_SUPPORT
|
||||
${unless} ${Silent}
|
||||
!endif
|
||||
|
||||
!ifndef MUI_LANGDLL_ALWAYSSHOW
|
||||
${if} $mui.LangDLL.RegistryLanguage != ""
|
||||
!endif
|
||||
|
||||
;Show langauge selection dialog
|
||||
!ifdef MUI_LANGDLL_ALLLANGUAGES
|
||||
LangDLL::LangDialog "${MUI_LANGDLL_WINDOWTITLE}" "${MUI_LANGDLL_INFO}" A ${MUI_LANGDLL_LANGUAGES} ""
|
||||
!else
|
||||
LangDLL::LangDialog "${MUI_LANGDLL_WINDOWTITLE}" "${MUI_LANGDLL_INFO}" AC ${MUI_LANGDLL_LANGUAGES} ""
|
||||
!endif
|
||||
|
||||
Pop $LANGUAGE
|
||||
${if} $LANGUAGE == "cancel"
|
||||
Abort
|
||||
${endif}
|
||||
|
||||
!ifndef MUI_LANGDLL_ALWAYSSHOW
|
||||
${endif}
|
||||
!endif
|
||||
|
||||
|
||||
!ifdef NSIS_CONFIG_SILENT_SUPPORT
|
||||
${endif}
|
||||
!endif
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_LANGDLL_SAVELANGUAGE
|
||||
|
||||
;Save language in registry
|
||||
|
||||
!ifndef MUI_PAGE_UNINSTALLER
|
||||
|
||||
IfAbort mui.langdllsavelanguage_abort
|
||||
|
||||
!ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
|
||||
WriteRegStr "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}" $LANGUAGE
|
||||
!endif
|
||||
|
||||
mui.langdllsavelanguage_abort:
|
||||
|
||||
!endif
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_UNGETLANGUAGE
|
||||
|
||||
;Get language from registry in uninstaller
|
||||
|
||||
!verbose pop
|
||||
|
||||
!ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
|
||||
|
||||
ReadRegStr $mui.LangDLL.RegistryLanguage "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}"
|
||||
|
||||
${if} mui.LangDLL.RegistryLanguage = ""
|
||||
|
||||
!endif
|
||||
|
||||
!insertmacro MUI_LANGDLL_DISPLAY
|
||||
|
||||
!ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
|
||||
|
||||
${else}
|
||||
StrCpy $LANGUAGE $mui.LangDLL.RegistryLanguage
|
||||
${endif}
|
||||
|
||||
!endif
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Rerserve LangDLL file
|
||||
|
||||
!macro MUI_RESERVEFILE_LANGDLL
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
ReserveFile "${NSISDIR}\Plugins\LangDLL.dll"
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
123
Contrib/Modern UI 2/MUI2.nsh
Normal file
123
Contrib/Modern UI 2/MUI2.nsh
Normal file
|
@ -0,0 +1,123 @@
|
|||
/*
|
||||
|
||||
NSIS Modern User Interface - Version 2.0 beta
|
||||
Copyright © 2002-2007 Joost Verburg
|
||||
|
||||
*/
|
||||
|
||||
!echo "NSIS Modern User Interface version 2.0 beta - © 2002-2007 Joost Verburg"
|
||||
|
||||
;--------------------------------
|
||||
|
||||
!ifndef MUI_INCLUDED
|
||||
!define MUI_INCLUDED
|
||||
|
||||
!define MUI_SYSVERSION "2.0beta"
|
||||
|
||||
!verbose push
|
||||
|
||||
!ifndef MUI_VERBOSE
|
||||
!define MUI_VERBOSE 3
|
||||
!endif
|
||||
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
!addincludedir "${NSISDIR}\Contrib\Modern UI 2"
|
||||
|
||||
;--------------------------------
|
||||
;Header files required by MUI
|
||||
|
||||
!include WinMessages.nsh
|
||||
!include LogicLib.nsh
|
||||
!include nsDialogs.nsh
|
||||
!include LangFile.nsh
|
||||
|
||||
!define LANGFILE_DEFAULT "${NSISDIR}\Contrib\Language files\English.nsh"
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Macros for compile-time defines
|
||||
|
||||
!macro MUI_DEFAULT SYMBOL CONTENT
|
||||
|
||||
;Define symbol if not yet defined
|
||||
;For setting default values
|
||||
|
||||
!ifndef "${SYMBOL}"
|
||||
!define "${SYMBOL}" "${CONTENT}"
|
||||
!endif
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_SET SYMBOL CONTENT
|
||||
|
||||
;Define symbol and undefine if neccesary
|
||||
|
||||
!insertmacro MUI_UNSET "${SYMBOL}"
|
||||
!define "${SYMBOL}" "${CONTENT}"
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_UNSET SYMBOL
|
||||
|
||||
;Undefine symbol if defined
|
||||
|
||||
!ifdef "${SYMBOL}"
|
||||
!undef "${SYMBOL}"
|
||||
!endif
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;MUI interface
|
||||
|
||||
!include "Interface.nsh"
|
||||
!include "Localization.nsh"
|
||||
!include "Pages.nsh"
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Pages
|
||||
|
||||
!include "Pages\Components.nsh"
|
||||
!include "Pages\Directory.nsh"
|
||||
!include "Pages\Finish.nsh"
|
||||
!include "Pages\InstallFiles.nsh"
|
||||
!include "Pages\License.nsh"
|
||||
!include "Pages\StartMenu.nsh"
|
||||
!include "Pages\UninstallConfirm.nsh"
|
||||
!include "Pages\Welcome.nsh"
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Insert MUI code in script
|
||||
|
||||
!macro MUI_INSERT
|
||||
|
||||
!ifndef MUI_INSERT
|
||||
!define MUI_INSERT
|
||||
|
||||
;This macro is included when the first language file is included,
|
||||
;after the pages.
|
||||
|
||||
;Interface settings
|
||||
!insertmacro MUI_INTERFACE
|
||||
|
||||
;Interface functions - Installer
|
||||
!insertmacro MUI_FUNCTION_GUIINIT
|
||||
!insertmacro MUI_FUNCTION_ABORTWARNING
|
||||
|
||||
;Interface functions - Uninstaller
|
||||
!ifdef MUI_UNINSTALLER
|
||||
!insertmacro MUI_UNFUNCTION_GUIINIT
|
||||
!insertmacro MUI_FUNCTION_UNABORTWARNING
|
||||
!endif
|
||||
|
||||
!endif
|
||||
|
||||
!macroend
|
||||
|
||||
!endif
|
||||
|
||||
!verbose pop
|
160
Contrib/Modern UI 2/Pages.nsh
Normal file
160
Contrib/Modern UI 2/Pages.nsh
Normal file
|
@ -0,0 +1,160 @@
|
|||
/*
|
||||
|
||||
NSIS Modern User Interface
|
||||
Support code for all pages
|
||||
|
||||
*/
|
||||
|
||||
;--------------------------------
|
||||
;Page initialization
|
||||
|
||||
!macro MUI_PAGE_INIT
|
||||
|
||||
;Include interface settings in neccesary
|
||||
!insertmacro MUI_INTERFACE
|
||||
|
||||
;Define settings for installer page
|
||||
!insertmacro MUI_UNSET MUI_PAGE_UNINSTALLER
|
||||
!insertmacro MUI_UNSET MUI_PAGE_UNINSTALLER_PREFIX
|
||||
!insertmacro MUI_UNSET MUI_PAGE_UNINSTALLER_FUNCPREFIX
|
||||
|
||||
!insertmacro MUI_SET MUI_PAGE_UNINSTALLER_PREFIX ""
|
||||
!insertmacro MUI_SET MUI_PAGE_UNINSTALLER_FUNCPREFIX ""
|
||||
|
||||
;Generate unique ID
|
||||
!insertmacro MUI_UNSET MUI_UNIQUEID
|
||||
!define MUI_UNIQUEID ${__LINE__}
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_UNPAGE_INIT
|
||||
|
||||
;Include interface settings
|
||||
!insertmacro MUI_INTERFACE
|
||||
|
||||
;Define prefixes for uninstaller page
|
||||
!insertmacro MUI_SET MUI_UNINSTALLER ""
|
||||
|
||||
!insertmacro MUI_SET MUI_PAGE_UNINSTALLER ""
|
||||
!insertmacro MUI_SET MUI_PAGE_UNINSTALLER_PREFIX "UN"
|
||||
!insertmacro MUI_SET MUI_PAGE_UNINSTALLER_FUNCPREFIX "un."
|
||||
|
||||
;Generate unique ID
|
||||
!insertmacro MUI_UNSET MUI_UNIQUEID
|
||||
!define MUI_UNIQUEID ${__LINE__}
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Header text for standard MUI page
|
||||
|
||||
!macro MUI_HEADER_TEXT_PAGE TEXT SUBTEXT
|
||||
|
||||
!ifdef MUI_PAGE_HEADER_TEXT & MUI_PAGE_HEADER_SUBTEXT
|
||||
!insertmacro MUI_HEADER_TEXT "${MUI_PAGE_HEADER_TEXT}" "${MUI_PAGE_HEADER_SUBTEXT}"
|
||||
!else ifdef MUI_PAGE_HEADER_TEXT
|
||||
!insertmacro MUI_HEADER_TEXT "${MUI_PAGE_HEADER_TEXT}" "${SUBTEXT}"
|
||||
!else ifdef MUI_PAGE_HEADER_SUBTEXT
|
||||
!insertmacro MUI_HEADER_TEXT "${TEXT}" "${MUI_PAGE_HEADER_SUBTEXT}"
|
||||
!else
|
||||
!insertmacro MUI_HEADER_TEXT "${TEXT}" "${SUBTEXT}"
|
||||
!endif
|
||||
|
||||
!insertmacro MUI_UNSET MUI_PAGE_HEADER_TEXT
|
||||
!insertmacro MUI_UNSET MUI_PAGE_HEADER_SUBTEXT
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Header text for custom page
|
||||
|
||||
!macro MUI_HEADER_TEXT TEXT SUBTEXT ;Called from script
|
||||
|
||||
!verbose push
|
||||
!verbose ${MUI_VERBOSE}
|
||||
|
||||
!ifdef MUI_HEADER_TRANSPARENT_TEXT
|
||||
LockWindow on
|
||||
!endif
|
||||
|
||||
SendMessage $mui.Header.Text ${WM_SETTEXT} 0 "STR:${TEXT}"
|
||||
SendMessage $mui.Header.SubText ${WM_SETTEXT} 0 "STR:${SUBTEXT}"
|
||||
|
||||
!ifdef MUI_HEADER_TRANSPARENT_TEXT
|
||||
LockWindow off
|
||||
!endif
|
||||
|
||||
!verbose pop
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Custom page functions
|
||||
|
||||
!macro MUI_PAGE_FUNCTION_CUSTOM TYPE
|
||||
|
||||
!ifdef MUI_PAGE_CUSTOMFUNCTION_${TYPE}
|
||||
Call "${MUI_PAGE_CUSTOMFUNCTION_${TYPE}}"
|
||||
!undef MUI_PAGE_CUSTOMFUNCTION_${TYPE}
|
||||
!endif
|
||||
|
||||
!macroend
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Support for full window pages (like welcome/finish page)
|
||||
|
||||
!macro MUI_PAGE_FUNCTION_FULLWINDOW
|
||||
|
||||
!ifndef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_FULLWINDOW
|
||||
!define MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_FULLWINDOW
|
||||
|
||||
Function ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}muiPageLoadFullWindow
|
||||
|
||||
LockWindow on
|
||||
|
||||
;The branding text needs to be hidden because the full windows page
|
||||
;overlaps with it.
|
||||
ShowWindow $mui.Branding.Background ${SW_HIDE}
|
||||
ShowWindow $mui.Branding.Text ${SW_HIDE}
|
||||
|
||||
;The texts need to be hidden because otherwise they may show through
|
||||
;the page above when the Alt key is pressed.
|
||||
ShowWindow $mui.Header.Text ${SW_HIDE}
|
||||
ShowWindow $mui.Header.SubText ${SW_HIDE}
|
||||
ShowWindow $mui.Header.Image ${SW_HIDE}
|
||||
|
||||
;Show line below full width of page
|
||||
ShowWindow $mui.Line.Standard ${SW_HIDE}
|
||||
ShowWindow $mui.Line.FullWindow ${SW_NORMAL}
|
||||
|
||||
LockWindow off
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}muiPageUnloadFullWindow
|
||||
|
||||
;Set everything back to normal again
|
||||
|
||||
LockWindow on
|
||||
|
||||
ShowWindow $mui.Branding.Background ${SW_NORMAL}
|
||||
ShowWindow $mui.Branding.Text ${SW_NORMAL}
|
||||
|
||||
ShowWindow $mui.Header.Text ${SW_NORMAL}
|
||||
ShowWindow $mui.Header.SubText ${SW_NORMAL}
|
||||
ShowWindow $mui.Header.Image ${SW_NORMAL}
|
||||
|
||||
ShowWindow $mui.Line.Standard ${SW_NORMAL}
|
||||
ShowWindow $mui.Line.FullWindow ${SW_HIDE}
|
||||
|
||||
LockWindow off
|
||||
|
||||
FunctionEnd
|
||||
|
||||
!endif
|
||||
|
||||
!macroend
|
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