diff --git a/Contrib/Modern UI/Dutch.nsh b/Contrib/Modern UI/Dutch.nsh new file mode 100644 index 00000000..6c3ea99b --- /dev/null +++ b/Contrib/Modern UI/Dutch.nsh @@ -0,0 +1,82 @@ +;Modern UI Language File +;version 1 - Compatible with Modern UI 1.3 + +;Language: Dutch (1043) +;By Joost Verburg + +;-------------------------------- + +!ifndef MUI_DUTCH_USED + +!define MUI_DUTCH_USED + + ;INSTALLER + + !macro MUI_DUTCH_LICENSETEXT + LicenseText /LANG=${LANG_DUTCH} "Druk op Page Down om de rest van de overeenkomt te zien." + !macroend + + !macro MUI_DUTCH_COMPONENTTEXT + ComponentText /LANG=${LANG_DUTCH} "Selecteer de onderdelen die u wilt installleren en deselecteer de onderdelen die u niet wilt installeren. Klik Volgende om verder te gaan." " " + !macroend + + !macro MUI_DUTCH_DIRTEXT + DirText /LANG=${LANG_DUTCH} "Setup zal ${NAME} in de volgende map installeren.$\r$\n$\r$\nOm in een deze map te intalleren, klik Installeren. Om in een andere map te installeren, klik Bladeren en selecteer een andere map." " " + !macroend + + !macro MUI_DUTCH_INSTALLBUTTONTEXT_NEXT + InstallButtonText /LANG=${LANG_DUTCH} "Volgende >" + !macroend + + LangString MUI_TEXT_LICENSE_TITLE ${LANG_DUTCH} "Licentie Overeenkomst" + LangString MUI_TEXT_LICENSE_SUBTITLE ${LANG_DUTCH} "Lees de licentie overeenkomst voordat u ${NAME} installeerd." + LangString MUI_INNERTEXT_LICENSE ${LANG_DUTCH} "Als u de overeenkomt accepteert, kies Akkoord om verder te gaan. Als u Annuleren kiest zal Setup sluiten. U moet met de overeenkomst acceptren om ${NAME} te installeren." + + LangString MUI_TEXT_COMPONENTS_TITLE ${LANG_DUTCH} "Kies Onderdelen" + LangString MUI_TEXT_COMPONENTS_SUBTITLE ${LANG_DUTCH} "Kies de onderdelen die u wilt installeren." + LangString MUI_INNERTEXT_DESCRIPTION_TITLE ${LANG_DUTCH} "Beschrijving" + LangString MUI_INNERTEXT_DESCRIPTION_INFO ${LANG_DUTCH} "Beweeg uw muis over een onderdeel om een beschrijving te zien." + + LangString MUI_TEXT_DIRSELECT_TITLE ${LANG_DUTCH} "Kies Installatie Locatie" + LangString MUI_TEXT_DIRSELECT_SUBTITLE ${LANG_DUTCH} "Kies de map waarin u ${NAME} in wilt installeren." + LangString MUI_INNERTEXT_DESTINATIONFOLDER ${LANG_DUTCH} "Installatie Map" + + LangString MUI_TEXT_INSTALLING_TITLE ${LANG_DUTCH} "Bezig met installeren" + LangString MUI_TEXT_INSTALLING_SUBTITLE ${LANG_DUTCH} "Een ogenblik geduld terwijl ${NAME} wordt geinstalleerd." + + LangString MUI_TEXT_FINISHED_TITLE ${LANG_DUTCH} "Gereed" + LangString MUI_TEXT_FINISHED_SUBTITLE ${LANG_DUTCH} "De installatie is succesvol verlopen." + + LangString MUI_MSGTEXT_ABORTWARNING ${LANG_DUTCH} "Weet u zeker dat u ${NAME} Setup wilt afsluiten?" + + LangString MUI_BUTTONTEXT_BACK ${LANG_DUTCH} "< Vorige" + LangString MUI_BUTTONTEXT_NEXT ${LANG_DUTCH} "Volgende >" + LangString MUI_BUTTONTEXT_CANCEL ${LANG_DUTCH} "Annuleren" + LangString MUI_BUTTONTEXT_INSTALL ${LANG_DUTCH} "Installeren" + + + ;UNINSTALLER + + !macro MUI_DUTCH_UNINSTALLTEXT + UninstallText /LANG=${LANG_DUTCH} "Dit programma zal ${NAME} verwijderen van uw systeem." + !macroend + + !macro MUI_DUTCH_UNINSTALLBUTTONTEXT_NEXT + UnInstallButtonText /LANG=${LANG_DUTCH} "Volgende >" + !macroend + + LangString un.MUI_UNTEXT_INTRO_TITLE ${LANG_DUTCH} "Deïnstalleer ${NAME}" + LangString un.MUI_UNTEXT_INTRO_SUBTITLE ${LANG_DUTCH} "Verwijder ${NAME} van uw system." + + LangString un.MUI_UNTEXT_UNINSTALLING_TITLE ${LANG_DUTCH} "Bezig met deïnstalleren" + LangString un.MUI_UNTEXT_UNINSTALLING_SUBTITLE ${LANG_DUTCH} "Een ogenblik gedult terwijl ${NAME} van uw system wordt verwijderd." + + LangString un.MUI_UNTEXT_FINISHED_TITLE ${LANG_DUTCH} "Gereed" + LangString un.MUI_UNTEXT_FINISHED_SUBTITLE ${LANG_DUTCH} "${NAME} is verwijderd van uw systeem." + + LangString un.MUI_BUTTONTEXT_BACK ${LANG_DUTCH} "< Vorige" + LangString un.MUI_BUTTONTEXT_NEXT ${LANG_DUTCH} "Volgende >" + LangString un.MUI_BUTTONTEXT_CANCEL ${LANG_DUTCH} "Annuleren" + LangString un.MUI_BUTTONTEXT_INSTALL ${LANG_DUTCH} "Installeren" + +!endif \ No newline at end of file diff --git a/Contrib/Modern UI/English.nsh b/Contrib/Modern UI/English.nsh new file mode 100644 index 00000000..c06c3910 --- /dev/null +++ b/Contrib/Modern UI/English.nsh @@ -0,0 +1,82 @@ +;Modern UI Language File +;version 1 - Compatible with Modern UI 1.3 + +;Language: English (1033) +;By Joost Verburg + +;-------------------------------- + +!ifndef MUI_ENGLISH_USED + +!define MUI_ENGLISH_USED + + ;INSTALLER + + !macro MUI_ENGLISH_LICENSETEXT + LicenseText /LANG=${LANG_ENGLISH} "Press Page Down to see the rest of the agreement." + !macroend + + !macro MUI_ENGLISH_COMPONENTTEXT + ComponentText /LANG=${LANG_ENGLISH} "Check the components you want to install and uncheck the components you don't want to install. Click Next to continue." " " + !macroend + + !macro MUI_ENGLISH_DIRTEXT + DirText /LANG=${LANG_ENGLISH} "Setup will install ${NAME} in the following folder.$\r$\n$\r$\nTo install in this folder, click Install. To install in a different folder, click Browse and select another folder." " " + !macroend + + !macro MUI_ENGLISH_INSTALLBUTTONTEXT_NEXT + InstallButtonText /LANG=${LANG_ENGLISH} "Next >" + !macroend + + LangString MUI_TEXT_LICENSE_TITLE ${LANG_ENGLISH} "License Agreement" + LangString MUI_TEXT_LICENSE_SUBTITLE ${LANG_ENGLISH} "Please review the license terms before installing ${NAME}." + LangString MUI_INNERTEXT_LICENSE ${LANG_ENGLISH} "If you accept all the terms of the agreement, choose I Agree to continue. If you choose Cancel, Setup will close. You must accept the agreement to install ${NAME}." + + LangString MUI_TEXT_COMPONENTS_TITLE ${LANG_ENGLISH} "Choose Components" + LangString MUI_TEXT_COMPONENTS_SUBTITLE ${LANG_ENGLISH} "Choose the components you want to install." + LangString MUI_INNERTEXT_DESCRIPTION_TITLE ${LANG_ENGLISH} "Description" + LangString MUI_INNERTEXT_DESCRIPTION_INFO ${LANG_ENGLISH} "Hover your mouse over a component to see it's description." + + LangString MUI_TEXT_DIRSELECT_TITLE ${LANG_ENGLISH} "Choose Install Location" + LangString MUI_TEXT_DIRSELECT_SUBTITLE ${LANG_ENGLISH} "Choose the folder in which to install ${NAME}." + LangString MUI_INNERTEXT_DESTINATIONFOLDER ${LANG_ENGLISH} "Destination Folder" + + LangString MUI_TEXT_INSTALLING_TITLE ${LANG_ENGLISH} "Installing" + LangString MUI_TEXT_INSTALLING_SUBTITLE ${LANG_ENGLISH} "Please wait while ${NAME} is being installed." + + LangString MUI_TEXT_FINISHED_TITLE ${LANG_ENGLISH} "Finished" + LangString MUI_TEXT_FINISHED_SUBTITLE ${LANG_ENGLISH} "Setup was completed successfully." + + LangString MUI_MSGTEXT_ABORTWARNING ${LANG_ENGLISH} "Are you sure you want to quit ${NAME} Setup?" + + LangString MUI_BUTTONTEXT_BACK ${LANG_ENGLISH} "< Back" + LangString MUI_BUTTONTEXT_NEXT ${LANG_ENGLISH} "Next > " + LangString MUI_BUTTONTEXT_CANCEL ${LANG_ENGLISH} "Cancel" + LangString MUI_BUTTONTEXT_INSTALL ${LANG_ENGLISH} "Install" + + + ;UNINSTALLER + + !macro MUI_ENGLISH_UNINSTALLTEXT + UninstallText /LANG=${LANG_ENGLISH} "This will uninstall ${NAME} from your system." + !macroend + + !macro MUI_ENGLISH_UNINSTALLBUTTONTEXT_NEXT + InstallButtonText /LANG=${LANG_ENGLISH} "Next >" + !macroend + + LangString un.MUI_UNTEXT_INTRO_TITLE ${LANG_ENGLISH} "Uninstall ${NAME}" + LangString un.MUI_UNTEXT_INTRO_SUBTITLE ${LANG_ENGLISH} "Remove ${NAME} from your system." + + LangString un.MUI_UNTEXT_UNINSTALLING_TITLE ${LANG_ENGLISH} "Uninstalling" + LangString un.MUI_UNTEXT_UNINSTALLING_SUBTITLE ${LANG_ENGLISH} "Please wait while ${NAME} is being uninstalled." + + LangString un.MUI_UNTEXT_FINISHED_TITLE ${LANG_ENGLISH} "Finished" + LangString un.MUI_UNTEXT_FINISHED_SUBTITLE ${LANG_ENGLISH} "Uninstall was completed successfully." + + LangString un.MUI_BUTTONTEXT_BACK ${LANG_ENGLISH} "Back > " + LangString un.MUI_BUTTONTEXT_NEXT ${LANG_ENGLISH} "Next > " + LangString un.MUI_BUTTONTEXT_CANCEL ${LANG_ENGLISH} "Cancel" + LangString un.MUI_BUTTONTEXT_INSTALL ${LANG_ENGLISH} "Install" + +!endif \ No newline at end of file diff --git a/Contrib/Modern UI/System.nsh b/Contrib/Modern UI/System.nsh new file mode 100644 index 00000000..ca48a401 --- /dev/null +++ b/Contrib/Modern UI/System.nsh @@ -0,0 +1,388 @@ +;Modern UI Macro System 1.3 +;Written by Joost Verburg + +;See Basic.nsi, Multilanguage.nsi and InstallOptions.nsi +;in the Examples\Modern UI directory for examples of usage. + +;-------------------------------- + +!ifndef MUI_MACROS_USED + +!define MUI_MACROS_USED + +!include "${NSISDIR}\Examples\WinMessages.nsh" + +!define IO_DIRECTION_NEXT 1 +!define IO_DIRECTION_PREV 2 + +!define IO_INITPLUGINS_1 "Call Initialize_____Plugins" +!define IO_INITPLUGINS_2 "SetDetailsPrint both" +!define IO_UNINITPLUGINS_1 "Call un.Initialize_____Plugins" +!define IO_UNINITPLUGINS_2 "SetDetailsPrint both" + +!define MUI_TEMP1 $R0 +!define MUI_TEMP2 $R1 + +!macro MUI_INTERFACE UI ICON UNICON CHECKS PROGRESSBAR CURRENTPAGEVAR + + ;User interface + + Icon "${NSISDIR}\Contrib\Icons\${ICON}" + UninstallIcon "${NSISDIR}\Contrib\Icons\${UNICON}" + XPStyle On + ChangeUI all "${NSISDIR}\Contrib\UIs\${UI}" + SetFont Tahoma 8 + CheckBitmap "${NSISDIR}\Contrib\Icons\${CHECKS}" + InstallColors /windows + InstProgressFlags "${PROGRESSBAR}" + BrandingText /TRIMRIGHT + !define CURRENTPAGE ${CURRENTPAGEVAR} + +!macroend + +!macro MUI_INTERFACE_ABSOLUTEPATH UI ICON UNICON CHECKS PROGRESSBAR CURRENTPAGEVAR + + ;User interface + + Icon "${ICON}" + UninstallIcon "${UNICON}" + XPStyle On + ChangeUI all "${UI}" + SetFont Tahoma 8 + CheckBitmap "${CHECKS}" + InstallColors /windows + InstProgressFlags "${PROGRESSBAR}" + BrandingText /TRIMRIGHT + !define CURRENTPAGE ${CURRENTPAGEVAR} + +!macroend + +!macro MUI_FINISHHEADER CALL + + ;Finish text on the header (white rectangle) + + IntOp ${CURRENTPAGE} ${CURRENTPAGE} + 1 + Call ${CALL} + +!macroend + +!macro MUI_INNERDIALOG_INIT + + Push ${MUI_TEMP1} + +!macroend + +!macro MUI_INNERDIALOG_START PAGE + + StrCmp ${CURRENTPAGE} ${PAGE} "" done_${PAGE} + +!macroend + +!macro MUI_INNERDIALOG_TEXT CONTROL TEXT + + ;Text on inner dialogs components + + FindWindow ${MUI_TEMP1} "#32770" "" $HWNDPARENT + GetDlgItem ${MUI_TEMP1} ${MUI_TEMP1} ${CONTROL} + SendMessage ${MUI_TEMP1} ${WM_SETTEXT} 0 "STR:${TEXT}" + +!macroend + +!macro MUI_INNERDIALOG_STOP PAGE + + Goto done + done_${PAGE}: + +!macroend + +!macro MUI_INNERDIALOG_END + + done: + Pop ${MUI_TEMP1} + +!macroend + +!macro MUI_NEXTPAGE CALL + + ;Set backgrounds & fonts for the outer dialog (only once) + StrCmp ${CURRENTPAGE} "" "" no_first_run + + Push ${MUI_TEMP1} + Push ${MUI_TEMP2} + + GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1037 + CreateFont ${MUI_TEMP2} "Tahoma" 10 700 + SendMessage ${MUI_TEMP1} ${WM_SETFONT} ${MUI_TEMP2} 0 + SetStaticBkColor ${MUI_TEMP1} 0x00FFFFFF + + GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1038 + SetStaticBkColor ${MUI_TEMP1} 0x00FFFFFF + + GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1034 + SetStaticBkColor ${MUI_TEMP1} 0x00FFFFFF + + GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1039 + SetStaticBkColor ${MUI_TEMP1} 0x00FFFFFF + + Pop ${MUI_TEMP2} + Pop ${MUI_TEMP1} + + no_first_run: + + IntOp ${CURRENTPAGE} ${CURRENTPAGE} + 1 + + Call "${CALL}" + +!macroend + +!macro MUI_PREVPAGE CALL + + IntOp ${CURRENTPAGE} ${CURRENTPAGE} - 1 + + Call "${CALL}" + +!macroend + +!macro MUI_PAGE_INIT + + Push ${MUI_TEMP1} + +!macroend + +!macro MUI_PAGE_START PAGE + + StrCmp ${CURRENTPAGE} ${PAGE} "" done_${PAGE} + +!macroend + +!macro MUI_HEADER_TEXT TEXT SUBTEXT + + ;Text on the white rectangle + + GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1037 + SendMessage ${MUI_TEMP1} ${WM_SETTEXT} 0 "STR:${TEXT}" + GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1038 + SendMessage ${MUI_TEMP1} ${WM_SETTEXT} 0 "STR:${SUBTEXT}" + +!macroend + +!macro MUI_PAGE_STOP PAGE + + Goto done + done_${PAGE}: + +!macroend + +!macro MUI_PAGE_END + + done: + Pop ${MUI_TEMP1} + +!macroend + +!macro MUI_DESCRIPTION_INIT + + Push ${MUI_TEMP1} + + FindWindow ${MUI_TEMP1} "#32770" "" $HWNDPARENT + GetDlgItem ${MUI_TEMP1} ${MUI_TEMP1} 1043 + +!macroend + +!macro MUI_DESCRIPTION_TEXT VAR TEXT + + ;Set text on the Description frame + + StrCmp $0 ${VAR} "" +3 + SendMessage ${MUI_TEMP1} ${WM_SETTEXT} 0 "STR:${TEXT}" + Goto done + +!macroend + +!macro MUI_DESCRIPTION_END + + done: + Pop ${MUI_TEMP1} + +!macroend + +!macro MUI_ABORTWARNING + + ;Warning when Cancel button is pressed + + MessageBox MB_YESNO|MB_ICONEXCLAMATION "$(MUI_MSGTEXT_ABORTWARNING)" IDYES quit + Abort + quit: + +!macroend + +;INSTALL OPTIONS + +!macro MUI_INSTALLOPTIONS DIRECTIONVAR NOSETDIRECTIONVAR + + !define IO_NOSETDIRECTION ${DIRECTIONVAR} + !define IO_DIRECTION ${NOSETDIRECTIONVAR} + +!macroend + +!macro MUI_INSTALLOPTIONS_EXTRACT FILE + + ;Init plugin system + ${IO_INITPLUGINS_1} + ${IO_INITPLUGINS_2} + !undef IO_INITPLUGINS_1 + !undef IO_INITPLUGINS_2 + !define IO_INITPLUGINS_1 "" + !define IO_INITPLUGINS_2 "" + + File /oname=$PLUGINSDIR\${FILE} "${FILE}" + +!macroend + +!macro MUI_INSTALLOPTIONS_UNEXTRACT FILE + + ;Init plugin system + ${IO_UNINITPLUGINS_1} + ${IO_UNINITPLUGINS_2} + !undef IO_UNINITPLUGINS_1 + !undef IO_UNINITPLUGINS_2 + !define IO_UNINITPLUGINS_1 "" + !define IO_UNINITPLUGINS_2 "" + + File /oname=$PLUGINSDIR\${FILE} "${FILE}" + +!macroend + +!macro MUI_INSTALLOPTIONS_SETDIRECTION DIRECTION + + StrCpy ${IO_DIRECTION} "${DIRECTION}" + +!macroend + +!macro MUI_INSTALLOPTIONS_NEXTPAGE + + StrCmp ${IO_NOSETDIRECTION} "1" no_setdirection + !insertmacro MUI_INSTALLOPTIONS_SETDIRECTION ${IO_DIRECTION_NEXT} + no_setdirection: + StrCpy ${IO_NOSETDIRECTION} "0" + +!macroend + +!macro MUI_INSTALLOPTIONS_PREVPAGE + + StrCmp ${IO_NOSETDIRECTION} "1" no_setdirection + !insertmacro MUI_INSTALLOPTIONS_SETDIRECTION ${IO_DIRECTION_PREV} + no_setdirection: + StrCpy ${IO_NOSETDIRECTION} "0" + +!macroend + +!macro MUI_INSTALLOPTIONS_SHOW PAGE FILE IOBACK IONEXT + + InstallOptions::dialog "$PLUGINSDIR\${FILE}" + Pop ${MUI_TEMP1} + + StrCmp ${MUI_TEMP1} "cancel" "" +2 + Quit + + StrCmp ${MUI_TEMP1} "back" "" noback_${PAGE} + !insertmacro MUI_INSTALLOPTIONS_${IOBACK}BACK + noback_${PAGE}: + + !insertmacro MUI_INSTALLOPTIONS_${IONEXT}NEXT + +!macroend + +!macro MUI_INSTALLOPTIONS_UNSHOW PAGE FILE IOBACK IONEXT + + InstallOptions::dialog "$PLUGINSDIR\${FILE}" + Pop ${MUI_TEMP1} + + StrCmp ${MUI_TEMP1} "cancel" "" +2 + Quit + + StrCmp ${MUI_TEMP1} "back" "" noback_${PAGE} + !insertmacro MUI_INSTALLOPTIONS_UN${IOBACK}BACK + noback_${PAGE}: + + !insertmacro MUI_INSTALLOPTIONS_UN${IONEXT}NEXT + +!macroend + +!macro MUI_INSTALLOPTIONS_BACK + + StrCmp ${IO_DIRECTION} "${IO_DIRECTION_NEXT}" "" +3 + Call .onPrevPage + Abort + StrCmp ${IO_DIRECTION} "${IO_DIRECTION_PREV}" "" +3 + Call .onPrevPage + Goto done + +!macroend + +!macro MUI_INSTALLOPTIONS_NEXT + + StrCmp ${IO_DIRECTION} ${IO_DIRECTION_NEXT} "" +3 + Call .onNextPage + Goto done + StrCmp ${IO_DIRECTION} ${IO_DIRECTION_PREV} "" +3 + Call .onNextPage + Abort + +!macroend + +!macro MUI_INSTALLOPTIONS_IOBACK + + StrCpy ${IO_NOSETDIRECTION} "1" + Call .onPrevPage + Goto done + +!macroend + +!macro MUI_INSTALLOPTIONS_IONEXT + + StrCpy ${IO_NOSETDIRECTION} "1" + Call .onNextPage + Goto done + +!macroend + +!macro MUI_INSTALLOPTIONS_UNBACK + + StrCmp ${IO_DIRECTION} "${IO_DIRECTION_NEXT}" "" +3 + Call un.onPrevPage + Abort + StrCmp ${IO_DIRECTION} "${IO_DIRECTION_PREV}" "" +3 + Call un.onPrevPage + Goto done + +!macroend + +!macro MUI_INSTALLOPTIONS_UNNEXT + + StrCmp ${IO_DIRECTION} ${IO_DIRECTION_NEXT} "" +3 + Call un.onNextPage + Goto done + StrCmp ${IO_DIRECTION} ${IO_DIRECTION_PREV} "" +3 + Call un.onNextPage + Abort + +!macroend + +!macro MUI_INSTALLOPTIONS_UNIOBACK + + StrCpy ${IO_NOSETDIRECTION} "1" + Call .onPrevPage + Goto done + +!macroend + +!macro MUI_INSTALLOPTIONS_UNIONEXT + + StrCpy ${IO_NOSETDIRECTION} "1" + Call .onNextPage + Goto done + +!macroend + +!endif \ No newline at end of file