InstallFiles.nsh 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. /*
  2. NSIS Modern User Interface
  3. InstallFiles page
  4. */
  5. ;--------------------------------
  6. ;Page interface settings and variables
  7. !macro MUI_INSTFILESPAGE_INTERFACE
  8. !ifndef MUI_INSTFILESYPAGE_INTERFACE
  9. !define MUI_INSTFILESYPAGE_INTERFACE
  10. !insertmacro MUI_DEFAULT MUI_INSTFILESPAGE_COLORS "/windows"
  11. !insertmacro MUI_DEFAULT MUI_INSTFILESPAGE_PROGRESSBAR "smooth"
  12. Var mui.InstFilesPage
  13. Var mui.InstFilesPage.Text
  14. Var mui.InstFilesPage.ProgressBar
  15. Var mui.InstFilesPage.ShowLogButton
  16. Var mui.InstFilesPage.Log
  17. ;Apply settings
  18. InstallColors ${MUI_INSTFILESPAGE_COLORS}
  19. InstProgressFlags ${MUI_INSTFILESPAGE_PROGRESSBAR}
  20. SubCaption 4 " "
  21. UninstallSubCaption 2 " "
  22. !endif
  23. !macroend
  24. ;--------------------------------
  25. ;Page declaration
  26. !macro MUI_PAGEDECLARATION_INSTFILES
  27. !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INSTFILESPAGE ""
  28. !insertmacro MUI_INSTFILESPAGE_INTERFACE
  29. PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}instfiles
  30. 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}
  31. Caption " "
  32. PageExEnd
  33. !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}
  34. !insertmacro MUI_UNSET MUI_INSTFILESPAGE_FINISHHEADER_TEXT
  35. !insertmacro MUI_UNSET MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
  36. !insertmacro MUI_UNSET MUI_INSTFILESPAGE_ABORTWARNING_TEXT
  37. !insertmacro MUI_UNSET MUI_INSTFILESPAGE_ABORTWARNING_SUBTEXT
  38. !macroend
  39. !macro MUI_PAGE_INSTFILES
  40. !verbose push
  41. !verbose ${MUI_VERBOSE}
  42. !insertmacro MUI_PAGE_INIT
  43. !insertmacro MUI_PAGEDECLARATION_INSTFILES
  44. !verbose pop
  45. !macroend
  46. !macro MUI_UNPAGE_INSTFILES
  47. !verbose push
  48. !verbose ${MUI_VERBOSE}
  49. !insertmacro MUI_UNPAGE_INIT
  50. !insertmacro MUI_PAGEDECLARATION_INSTFILES
  51. !verbose pop
  52. !macroend
  53. ;--------------------------------
  54. ;Page functions
  55. !macro MUI_FUNCTION_INSTFILESPAGE PRE SHOW LEAVE
  56. Function "${PRE}"
  57. !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
  58. !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)
  59. FunctionEnd
  60. Function "${SHOW}"
  61. ;Get controls handles
  62. FindWindow $mui.InstFilesPage "#32770" "" $HWNDPARENT
  63. GetDlgItem $mui.InstFilesPage.Text $mui.InstFilesPage 1006
  64. GetDlgItem $mui.InstFilesPage.ProgressBar $mui.InstFilesPage 1004
  65. GetDlgItem $mui.InstFilesPage.ShowLogButton $mui.InstFilesPage 1027
  66. GetDlgItem $mui.InstFilesPage.Log $mui.InstFilesPage 1016
  67. !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
  68. FunctionEnd
  69. Function "${LEAVE}"
  70. !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
  71. ;Set text on completed page header
  72. IfAbort mui.endheader_abort
  73. !ifdef MUI_INSTFILESPAGE_FINISHHEADER_TEXT & MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
  74. !insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_FINISHHEADER_TEXT}" "${MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT}"
  75. !else ifdef MUI_INSTFILESPAGE_FINISHHEADER_TEXT
  76. !insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_FINISHHEADER_TEXT}" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_SUBTITLE)"
  77. !else ifdef MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
  78. !insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_TITLE)" "${MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT}"
  79. !else
  80. !insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_TITLE)" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_SUBTITLE)"
  81. !endif
  82. Goto mui.endheader_done
  83. mui.endheader_abort:
  84. !ifdef MUI_INSTFILESPAGE_ABORTHEADER_TEXT & MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT
  85. !insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_ABORTHEADER_TEXT}" "${MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT}"
  86. !else ifdef MUI_INSTFILESPAGE_ABORTHEADER_TEXT
  87. !insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_ABORTHEADER_TEXT}" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_SUBTITLE)"
  88. !else ifdef MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT
  89. !insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_TITLE)" "${MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT}"
  90. !else
  91. !insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_TITLE)" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_SUBTITLE)"
  92. !endif
  93. mui.endheader_done:
  94. !insertmacro MUI_LANGDLL_SAVELANGUAGE
  95. FunctionEnd
  96. !macroend