181 lines
4.9 KiB
Plaintext
181 lines
4.9 KiB
Plaintext
/*
|
|
|
|
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
|
|
|
|
!insertmacro MUI_DEFAULT MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\UGX\banner.bmp"
|
|
|
|
!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 1044
|
|
Pop $mui.WelcomePage
|
|
nsDialogs::SetRTL $(^RTL)
|
|
SetCtlColors $mui.WelcomePage "" "${MUI_BGCOLOR}"
|
|
|
|
;Image control
|
|
${NSD_CreateBitmap} 0u 0u 109u 193u ""
|
|
Pop $mui.WelcomePage.Image
|
|
!ifndef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_BITMAP_NOSTRETCH
|
|
${NSD_SetStretchedImage} $mui.WelcomePage.Image $PLUGINSDIR\modern-wizard.bmp $mui.WelcomePage.Image.Bitmap
|
|
!else
|
|
${NSD_SetImage} $mui.WelcomePage.Image $PLUGINSDIR\modern-wizard.bmp $mui.WelcomePage.Image.Bitmap
|
|
!endif
|
|
|
|
;Positiong of controls
|
|
|
|
;Title
|
|
!ifndef MUI_WELCOMEPAGE_TITLE_3LINES
|
|
!define MUI_WELCOMEPAGE_TITLE_HEIGHT 28
|
|
!else
|
|
!define MUI_WELCOMEPAGE_TITLE_HEIGHT 38
|
|
!endif
|
|
|
|
;Text
|
|
;17 = 10 (top margin) + 7 (distance between texts)
|
|
!define /math MUI_WELCOMEPAGE_TEXT_TOP 17 + ${MUI_WELCOMEPAGE_TITLE_HEIGHT}
|
|
|
|
;Title
|
|
${NSD_CreateLabel} 120u 10u 195u ${MUI_WELCOMEPAGE_TITLE_HEIGHT}u "${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 ${MUI_WELCOMEPAGE_TEXT_TOP}u 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
|
|
${NSD_FreeImage} $mui.WelcomePage.Image.Bitmap
|
|
|
|
!insertmacro MUI_UNSET MUI_WELCOMEPAGE_TITLE_HEIGHT
|
|
!insertmacro MUI_UNSET MUI_WELCOMEPAGE_TEXT_TOP
|
|
|
|
FunctionEnd
|
|
|
|
Function "${LEAVE}"
|
|
|
|
!insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
|
|
|
|
FunctionEnd
|
|
|
|
!macroend
|