License.nsh 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. /*
  2. NSIS Modern User Interface
  3. License page
  4. */
  5. ;--------------------------------
  6. ;Page interface settings and variables
  7. !macro MUI_LICENSEPAGE_INTERFACE
  8. !ifndef MUI_LICENSEPAGE_INTERFACE
  9. !define MUI_LICENSEPAGE_INTERFACE
  10. Var mui.LicensePage
  11. Var mui.Licensepage.TopText
  12. Var mui.Licensepage.Text
  13. Var mui.Licensepage.LicenseText
  14. !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_BGCOLOR "/windows"
  15. ;Apply settings
  16. LicenseBkColor "${MUI_LICENSEPAGE_BGCOLOR}"
  17. !endif
  18. !macroend
  19. ;--------------------------------
  20. ;Page declaration
  21. !macro MUI_PAGEDECLARATION_LICENSE LICENSEDATA
  22. !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}LICENSEPAGE ""
  23. !insertmacro MUI_LICENSEPAGE_INTERFACE
  24. !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_TEXT_TOP "$(MUI_INNERTEXT_LICENSE_TOP)"
  25. !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_BUTTON ""
  26. !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_CHECKBOX_TEXT ""
  27. !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT ""
  28. !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE ""
  29. PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}license
  30. 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}
  31. Caption " "
  32. LicenseData "${LICENSEDATA}"
  33. !ifndef MUI_LICENSEPAGE_TEXT_BOTTOM
  34. !ifndef MUI_LICENSEPAGE_CHECKBOX & MUI_LICENSEPAGE_RADIOBUTTONS
  35. LicenseText "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_LICENSE_BOTTOM)" "${MUI_LICENSEPAGE_BUTTON}"
  36. !else ifdef MUI_LICENSEPAGE_CHECKBOX
  37. LicenseText "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_LICENSE_BOTTOM_CHECKBOX)" "${MUI_LICENSEPAGE_BUTTON}"
  38. !else
  39. LicenseText "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS)" "${MUI_LICENSEPAGE_BUTTON}"
  40. !endif
  41. !else
  42. LicenseText "${MUI_LICENSEPAGE_TEXT_BOTTOM}" "${MUI_LICENSEPAGE_BUTTON}"
  43. !endif
  44. !ifdef MUI_LICENSEPAGE_CHECKBOX
  45. LicenseForceSelection checkbox "${MUI_LICENSEPAGE_CHECKBOX_TEXT}"
  46. !else ifdef MUI_LICENSEPAGE_RADIOBUTTONS
  47. LicenseForceSelection radiobuttons "${MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT}" "${MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE}"
  48. !endif
  49. PageExEnd
  50. !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}
  51. !insertmacro MUI_UNSET MUI_LICENSEPAGE_TEXT_TOP
  52. !insertmacro MUI_UNSET MUI_LICENSEPAGE_TEXT_BOTTOM
  53. !insertmacro MUI_UNSET MUI_LICENSEPAGE_BUTTON
  54. !insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX
  55. !insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX_TEXT
  56. !insertmacro MUI_UNSET MUI_LICENSEPAGE_RADIOBUTTONS
  57. !insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX_TEXT_ACCEPT
  58. !insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX_TEXT_DECLINE
  59. !macroend
  60. !macro MUI_PAGE_LICENSE LICENSEDATA
  61. !verbose push
  62. !verbose ${MUI_VERBOSE}
  63. !insertmacro MUI_PAGE_INIT
  64. !insertmacro MUI_PAGEDECLARATION_LICENSE "${LICENSEDATA}"
  65. !verbose pop
  66. !macroend
  67. !macro MUI_UNPAGE_LICENSE LICENSEDATA
  68. !verbose push
  69. !verbose ${MUI_VERBOSE}
  70. !insertmacro MUI_UNPAGE_INIT
  71. !insertmacro MUI_PAGEDECLARATION_LICENSE "${LICENSEDATA}"
  72. !verbose pop
  73. !macroend
  74. ;--------------------------------
  75. ;Page functions
  76. !macro MUI_FUNCTION_LICENSEPAGE PRE SHOW LEAVE
  77. Function "${PRE}"
  78. !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
  79. !insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_LICENSE_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_LICENSE_SUBTITLE)
  80. FunctionEnd
  81. Function "${SHOW}"
  82. ;Get conrol handles
  83. FindWindow $mui.LicensePage "#32770" "" $HWNDPARENT
  84. GetDlgItem $mui.LicensePage.TopText $mui.LicensePage 1040
  85. GetDlgItem $mui.LicensePage.Text $mui.LicensePage 1006
  86. GetDlgItem $mui.LicensePage.LicenseText $mui.LicensePage 1000
  87. ;Top text
  88. SendMessage $mui.LicensePage.TopText ${WM_SETTEXT} 0 "STR:${MUI_LICENSEPAGE_TEXT_TOP}"
  89. !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
  90. FunctionEnd
  91. Function "${LEAVE}"
  92. !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
  93. FunctionEnd
  94. !macroend