From 1f2aeac3e1c679e15798504db18087bfe82cd26d Mon Sep 17 00:00:00 2001 From: joostverburg Date: Sat, 2 Nov 2002 23:06:46 +0000 Subject: [PATCH] macro system updates git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1567 212acab6-be3b-0410-9dea-997c60f758d6 --- Contrib/Modern UI/System.nsh | 207 ++++++++++++++++++-------- Examples/Modern UI/Basic.nsi | 10 +- Examples/Modern UI/InstallOptions.nsi | 66 +++----- Examples/Modern UI/MultiLanguage.nsi | 10 +- 4 files changed, 172 insertions(+), 121 deletions(-) diff --git a/Contrib/Modern UI/System.nsh b/Contrib/Modern UI/System.nsh index 1c033ad4..44637e93 100644 --- a/Contrib/Modern UI/System.nsh +++ b/Contrib/Modern UI/System.nsh @@ -210,7 +210,7 @@ Pop ${MUI_TEMP2} Pop ${MUI_TEMP1} - + !macroend ;-------------------------------- @@ -293,62 +293,82 @@ !macroend ;-------------------------------- -;BASIC FUNCTIONS +;FUNCTIONS -!macro MUI_BASICFUNCTIONS +!macro MUI_FUNCTIONS_GUIINIT - !ifdef MUI_LICENSEPAGE - Page license SetLicense SetLicenseDialog - - Function SetLicense - !insertmacro MUI_HEADER_TEXT $(MUI_TEXT_LICENSE_TITLE) $(MUI_TEXT_LICENSE_SUBTITLE) - FunctionEnd - - Function SetLicenseDialog - !insertmacro MUI_INNERDIALOG_TEXT 1040 $(MUI_INNERTEXT_LICENSE) - FunctionEnd - !endif - - !ifdef MUI_COMPONENTSPAGE - Page components SetComponents SetComponentsDialog - - Function SetComponents - !insertmacro MUI_HEADER_TEXT $(MUI_TEXT_COMPONENTS_TITLE) $(MUI_TEXT_COMPONENTS_SUBTITLE) - FunctionEnd - - Function SetComponentsDialog - !insertmacro MUI_INNERDIALOG_TEXT 1042 $(MUI_INNERTEXT_DESCRIPTION_TITLE) - !insertmacro MUI_INNERDIALOG_TEXT 1043 $(MUI_INNERTEXT_DESCRIPTION_INFO) - FunctionEnd - !endif - - !ifdef MUI_DIRECTORYPAGE - Page directory SetDirectory SetDirectoryDialog - - Function SetDirectory - !insertmacro MUI_HEADER_TEXT $(MUI_TEXT_DIRSELECT_TITLE) $(MUI_TEXT_DIRSELECT_SUBTITLE) - FunctionEnd - - Function SetDirectoryDialog - !insertmacro MUI_INNERDIALOG_TEXT 1041 $(MUI_INNERTEXT_DESTINATIONFOLDER) - FunctionEnd - !endif - - Page instfiles SetInstFiles - - Function SetInstFiles - !insertmacro MUI_HEADER_TEXT $(MUI_TEXT_INSTALLING_TITLE) $(MUI_TEXT_INSTALLING_SUBTITLE) - FunctionEnd + !verbose 3 Function .onGUIInit !insertmacro MUI_GUIINIT FunctionEnd -!verbose 4 + !verbose 4 !macroend -!macro MUI_FUNCTION_DESCRIPTION_START +!macro MUI_FUNCTIONS_LICENSEPAGE SETLICENSE SETLICENSEDIALOG + + !verbose 3 + + Function "${SETLICENSE}" + !insertmacro MUI_HEADER_TEXT $(MUI_TEXT_LICENSE_TITLE) $(MUI_TEXT_LICENSE_SUBTITLE) + FunctionEnd + + Function "${SETLICENSEDIALOG}" + !insertmacro MUI_INNERDIALOG_TEXT 1040 $(MUI_INNERTEXT_LICENSE) + FunctionEnd + + !verbose 4 + +!macroend + +!macro MUI_FUNCTIONS_COMPONENTSPAGE SETCOMPONENTS SETCOMPONENTSDIALOG + + !verbose 3 + + Function "${SETCOMPONENTS}" + !insertmacro MUI_HEADER_TEXT $(MUI_TEXT_COMPONENTS_TITLE) $(MUI_TEXT_COMPONENTS_SUBTITLE) + FunctionEnd + + Function "${SETCOMPONENTSDIALOG}" + !insertmacro MUI_INNERDIALOG_TEXT 1042 $(MUI_INNERTEXT_DESCRIPTION_TITLE) + !insertmacro MUI_INNERDIALOG_TEXT 1043 $(MUI_INNERTEXT_DESCRIPTION_INFO) + FunctionEnd + + !verbose 4 + +!macroend + +!macro MUI_FUNCTIONS_DIRECTORYPAGE SETDIRECTORYPAGE SETDIRECTORYDIALOGPAGE + + !verbose 3 + + Function "${SETDIRECTORYPAGE}" + !insertmacro MUI_HEADER_TEXT $(MUI_TEXT_DIRSELECT_TITLE) $(MUI_TEXT_DIRSELECT_SUBTITLE) + FunctionEnd + + Function "${SETDIRECTORYDIALOGPAGE}" + !insertmacro MUI_INNERDIALOG_TEXT 1041 $(MUI_INNERTEXT_DESTINATIONFOLDER) + FunctionEnd + + !verbose 4 + +!macroend + +!macro MUI_FUNCTIONS_INSTFILESPAGE SETINSTFILES + + !verbose 3 + + Function "${SETINSTFILES}" + !insertmacro MUI_HEADER_TEXT $(MUI_TEXT_INSTALLING_TITLE) $(MUI_TEXT_INSTALLING_SUBTITLE) + FunctionEnd + + !verbose 4 + +!macroend + +!macro MUI_FUNCTIONS_DESCRIPTION_START !verbose 3 @@ -359,7 +379,7 @@ !macroend -!macro MUI_FUNCTION_DESCRIPTION_END +!macro MUI_FUNCTIONS_DESCRIPTION_END !verbose 3 @@ -370,7 +390,7 @@ !macroend -!macro MUI_FUNCTION_ABORTWARNING +!macro MUI_FUNCTIONS_ABORTWARNING !verbose 3 @@ -382,26 +402,87 @@ !macroend -!macro MUI_UNBASICFUNCTIONS +!macro MUI_UNFUNCTIONS_GUIINIT -!verbose 3 - -UninstPage uninstConfirm un.SetUninstConfirm -UninstPage instfiles un.SetInstFiles - - Function un.SetUninstConfirm - !insertmacro MUI_HEADER_TEXT $(MUI_UNTEXT_INTRO_TITLE) $(MUI_UNTEXT_INTRO_SUBTITLE) - FunctionEnd - - Function un.SetInstFiles - !insertmacro MUI_HEADER_TEXT $(MUI_UNTEXT_UNINSTALLING_TITLE) $(MUI_UNTEXT_UNINSTALLING_SUBTITLE) - FunctionEnd + !verbose 3 Function un.onGUIInit !insertmacro MUI_GUIINIT FunctionEnd -!verbose 4 + !verbose 4 + +!macroend + +!macro MUI_UNFUNCTIONS_CONFIRMPAGE UNSETUNINSTCONFIRM + + !verbose 3 + + Function "${UNSETUNINSTCONFIRM}" + !insertmacro MUI_HEADER_TEXT $(MUI_UNTEXT_INTRO_TITLE) $(MUI_UNTEXT_INTRO_SUBTITLE) + FunctionEnd + + !verbose 4 + +!macroend + +!macro MUI_UNFUNCTIONS_INSTFILESPAGE UNSETINSTFILES + + !verbose 3 + + Function ${UNSETINSTFILES} + !insertmacro MUI_HEADER_TEXT $(MUI_UNTEXT_UNINSTALLING_TITLE) $(MUI_UNTEXT_UNINSTALLING_SUBTITLE) + FunctionEnd + + !verbose 4 + +!macroend + +;-------------------------------- +;BASIC FUNCTIONS + +!macro MUI_FUNCTIONS_BASIC + + !verbose 3 + + !ifdef MUI_LICENSEPAGE + Page license SetLicense SetLicenseDialog + !insertmacro MUI_FUNCTIONS_LICENSEPAGE SetLicense SetLicenseDialog + !endif + + !ifdef MUI_COMPONENTSPAGE + Page components SetComponents SetComponentsDialog + !insertmacro MUI_FUNCTIONS_COMPONENTSPAGE SetComponents SetComponentsDialog + !endif + + !ifdef MUI_DIRECTORYPAGE + Page directory SetDirectory SetDirectoryDialog + !insertmacro MUI_FUNCTIONS_DIRECTORYPAGE SetDirectory SetDirectoryDialog + !endif + + Page instfiles SetInstFiles + + !insertmacro MUI_FUNCTIONS_INSTFILESPAGE SetInstFiles + + !insertmacro MUI_FUNCTIONS_GUIINIT + + !verbose 4 + +!macroend + +!macro MUI_UNFUNCTIONS_BASIC + + !verbose 3 + + UninstPage uninstConfirm un.SetUninstConfirm + UninstPage instfiles un.SetInstFiles + + !insertmacro MUI_UNFUNCTIONS_CONFIRMPAGE un.SetUninstConfirm + !insertmacro MUI_UNFUNCTIONS_INSTFILESPAGE un.SetInstFiles + + !insertmacro MUI_UNFUNCTIONS_GUIINIT + + !verbose 4 !macroend diff --git a/Examples/Modern UI/Basic.nsi b/Examples/Modern UI/Basic.nsi index 5fe9e3dc..7971b400 100644 --- a/Examples/Modern UI/Basic.nsi +++ b/Examples/Modern UI/Basic.nsi @@ -61,13 +61,13 @@ SectionEnd ;-------------------------------- ;Installer Functions -!insertmacro MUI_BASICFUNCTIONS +!insertmacro MUI_FUNCTIONS_BASIC -!insertmacro MUI_FUNCTION_DESCRIPTION_START +!insertmacro MUI_FUNCTIONS_DESCRIPTION_START !insertmacro MUI_DESCRIPTION_TEXT ${SecCopyUI} $(DESC_SecCopyUI) -!insertmacro MUI_FUNCTION_DESCRIPTION_END +!insertmacro MUI_FUNCTIONS_DESCRIPTION_END -!insertmacro MUI_FUNCTION_ABORTWARNING +!insertmacro MUI_FUNCTIONS_ABORTWARNING ;-------------------------------- ;Uninstaller Section @@ -89,4 +89,4 @@ SectionEnd ;-------------------------------- ;Uninstaller Functions -!insertmacro MUI_UNBASICFUNCTIONS \ No newline at end of file +!insertmacro MUI_UNFUNCTIONS_BASIC \ No newline at end of file diff --git a/Examples/Modern UI/InstallOptions.nsi b/Examples/Modern UI/InstallOptions.nsi index f57ed771..5a9411fd 100644 --- a/Examples/Modern UI/InstallOptions.nsi +++ b/Examples/Modern UI/InstallOptions.nsi @@ -29,6 +29,7 @@ OutFile "InstallOptions.exe" Name "${NAME} ${VERSION}" + ;Page order !ifdef MUI_LICENSEPAGE Page license SetLicense SetLicenseDialog !endif @@ -128,9 +129,7 @@ SectionEnd ;Installer Functions !ifdef MUI_LICENSEPAGE - Function SetLicense - !insertmacro MUI_HEADER_TEXT $(MUI_TEXT_LICENSE_TITLE) $(MUI_TEXT_LICENSE_SUBTITLE) - FunctionEnd + !insertmacro MUI_FUNCTIONS_LICENSEPAGE SetLicense SetLicenseDialog !endif Function SetCustomA @@ -144,15 +143,11 @@ Function SetCustomB FunctionEnd !ifdef MUI_COMPONENTSPAGE - Function SetComponents - !insertmacro MUI_HEADER_TEXT $(MUI_TEXT_COMPONENTS_TITLE) $(MUI_TEXT_COMPONENTS_SUBTITLE) - FunctionEnd + !insertmacro MUI_FUNCTIONS_COMPONENTSPAGE SetComponents SetComponentsDialog !endif !ifdef MUI_DIRECTORYPAGE - Function SetDirectory - !insertmacro MUI_HEADER_TEXT $(MUI_TEXT_DIRSELECT_TITLE) $(MUI_TEXT_DIRSELECT_SUBTITLE) - FunctionEnd + !insertmacro MUI_FUNCTIONS_DIRECTORYPAGE SetDirectory SetDirectoryDialog !endif Function SetCustomC @@ -160,37 +155,16 @@ Function SetCustomC !insertmacro MUI_INSTALLOPTIONS_SHOW "ioC.ini" FunctionEnd -Function SetInstFiles - !insertmacro MUI_HEADER_TEXT $(MUI_TEXT_INSTALLING_TITLE) $(MUI_TEXT_INSTALLING_SUBTITLE) -FunctionEnd - -Function SetLicenseDialog - !insertmacro MUI_INNERDIALOG_TEXT 1040 $(MUI_INNERTEXT_LICENSE) -FunctionEnd - -Function SetComponentsDialog - !insertmacro MUI_INNERDIALOG_TEXT 1042 $(MUI_INNERTEXT_DESCRIPTION_TITLE) - !insertmacro MUI_INNERDIALOG_TEXT 1043 $(MUI_INNERTEXT_DESCRIPTION_INFO) -FunctionEnd - -Function SetDirectoryDialog - !insertmacro MUI_INNERDIALOG_TEXT 1041 $(MUI_INNERTEXT_DESTINATIONFOLDER) -FunctionEnd - -Function .onGUIInit - !insertmacro MUI_GUIINIT -FunctionEnd +!insertmacro MUI_FUNCTIONS_INSTFILESPAGE SetInstFiles -Function .onMouseOverSection - !insertmacro MUI_DESCRIPTION_INIT - !insertmacro MUI_DESCRIPTION_TEXT ${SecCopyUI} $(DESC_SecCopyUI) - !insertmacro MUI_DESCRIPTION_TEXT ${SecCreateUninst} $(DESC_SecCreateUninst) - !insertmacro MUI_DESCRIPTION_END -FunctionEnd +!insertmacro MUI_FUNCTIONS_GUIINIT -Function .onUserAbort - !insertmacro MUI_ABORTWARNING -FunctionEnd +!insertmacro MUI_FUNCTIONS_DESCRIPTION_START + !insertmacro MUI_DESCRIPTION_TEXT ${SecCopyUI} $(DESC_SecCopyUI) + !insertmacro MUI_DESCRIPTION_TEXT ${SecCreateUninst} $(DESC_SecCreateUninst) +!insertmacro MUI_FUNCTIONS_DESCRIPTION_END + +!insertmacro MUI_FUNCTIONS_ABORTWARNING ;-------------------------------- ;Uninstaller @@ -211,16 +185,12 @@ SectionEnd ;-------------------------------- ;Uninstaller Functions -Function un.SetUninstConfirm - !insertmacro MUI_HEADER_TEXT $(MUI_UNTEXT_INTRO_TITLE) $(MUI_UNTEXT_INTRO_SUBTITLE) -FunctionEnd - -Function un.SetInstFiles - !insertmacro MUI_HEADER_TEXT $(MUI_UNTEXT_UNINSTALLING_TITLE) $(MUI_UNTEXT_UNINSTALLING_SUBTITLE) -FunctionEnd + UninstPage uninstConfirm un.SetUninstConfirm + UninstPage instfiles un.SetInstFiles -Function un.onGUIInit - !insertmacro MUI_GUIINIT -FunctionEnd + !insertmacro MUI_UNFUNCTIONS_CONFIRMPAGE un.SetUninstConfirm + !insertmacro MUI_UNFUNCTIONS_INSTFILESPAGE un.SetInstFiles + + !insertmacro MUI_UNFUNCTIONS_GUIINIT ;eof \ No newline at end of file diff --git a/Examples/Modern UI/MultiLanguage.nsi b/Examples/Modern UI/MultiLanguage.nsi index b664c9e8..41553bde 100644 --- a/Examples/Modern UI/MultiLanguage.nsi +++ b/Examples/Modern UI/MultiLanguage.nsi @@ -217,13 +217,13 @@ Function .onInit FunctionEnd -!insertmacro MUI_BASICFUNCTIONS +!insertmacro MUI_FUNCTIONS_BASIC -!insertmacro MUI_FUNCTION_DESCRIPTION_START +!insertmacro MUI_FUNCTIONS_DESCRIPTION_START !insertmacro MUI_DESCRIPTION_TEXT ${SecCopyUI} $(DESC_SecCopyUI) -!insertmacro MUI_FUNCTION_DESCRIPTION_END +!insertmacro MUI_FUNCTIONS_DESCRIPTION_END -!insertmacro MUI_FUNCTION_ABORTWARNING +!insertmacro MUI_FUNCTIONS_ABORTWARNING ;-------------------------------- ;Uninstaller Section @@ -251,4 +251,4 @@ Function un.onInit ReadRegStr $LANGUAGE HKCU "Software\${NAME}" "Installer Language" FunctionEnd -!insertmacro MUI_UNBASICFUNCTIONS \ No newline at end of file +!insertmacro MUI_UNFUNCTIONS_BASIC \ No newline at end of file