From 288b044a0f176361620c34dda36b70e4bc39ecfd Mon Sep 17 00:00:00 2001
From: Stephen Birarda <commit@birarda.com>
Date: Mon, 11 Jan 2016 17:26:40 -0800
Subject: [PATCH] use nsDialogs for custom post install options

---
 cmake/macros/GenerateInstallers.cmake          |  6 ------
 cmake/templates/NSIS.PostInstallOptions.ini.in | 10 ----------
 cmake/templates/NSIS.template.in               | 17 ++++++++++++++---
 3 files changed, 14 insertions(+), 19 deletions(-)
 delete mode 100644 cmake/templates/NSIS.PostInstallOptions.ini.in

diff --git a/cmake/macros/GenerateInstallers.cmake b/cmake/macros/GenerateInstallers.cmake
index 3c52996d3a..360ab2c27b 100644
--- a/cmake/macros/GenerateInstallers.cmake
+++ b/cmake/macros/GenerateInstallers.cmake
@@ -22,12 +22,6 @@ macro(GENERATE_INSTALLERS)
   set(CPACK_NSIS_PACKAGE_NAME ${_DISPLAY_NAME})
   set(CPACK_PACKAGE_INSTALL_DIRECTORY ${_DISPLAY_NAME})
 
-  # configure the post install options file for custom installation options
-  if (WIN32)
-    set(POST_INSTALL_OPTIONS_PATH "${CMAKE_CURRENT_BINARY_DIR}/NSIS.PostInstallOptions.ini")
-    configure_file("${HF_CMAKE_DIR}/templates/NSIS.PostInstallOptions.ini.in" ${POST_INSTALL_OPTIONS_PATH})
-  endif ()
-
   # configure a cpack properties file for custom variables in NSIS template
   set(CPACK_CONFIGURED_PROP_FILE "${CMAKE_CURRENT_BINARY_DIR}/CPackCustomProperties.cmake")
   configure_file("${HF_CMAKE_DIR}/templates/CPackProperties.cmake.in" ${CPACK_CONFIGURED_PROP_FILE})
diff --git a/cmake/templates/NSIS.PostInstallOptions.ini.in b/cmake/templates/NSIS.PostInstallOptions.ini.in
deleted file mode 100644
index bab6290924..0000000000
--- a/cmake/templates/NSIS.PostInstallOptions.ini.in
+++ /dev/null
@@ -1,10 +0,0 @@
-[Settings]
-NumFields = 3
-
-[Field 1]
-Type=checkBox
-Text=Create a desktop shortcut for High Fidelity
-Left=0
-Right=-1
-Top=0
-Bottom=20
diff --git a/cmake/templates/NSIS.template.in b/cmake/templates/NSIS.template.in
index e9825ddfb5..9761203b65 100644
--- a/cmake/templates/NSIS.template.in
+++ b/cmake/templates/NSIS.template.in
@@ -19,6 +19,9 @@
   Var ADD_TO_PATH_CURRENT_USER
   Var INSTALL_DESKTOP
   Var IS_DEFAULT_INSTALLDIR
+
+  Var POST_INSTALL_DIALOG
+  Var DESKTOP_CHECKBOX
 ;--------------------------------
 ;Include Modern UI
 
@@ -766,9 +769,17 @@ Function InstallOptionsPage
 FunctionEnd
 
 Function PostInstallOptionsPage
-  !insertmacro MUI_HEADER_TEXT "Post-Install Options"
-  !insertmacro MUI_INSTALLOPTIONS_EXTRACT "@POST_INSTALL_OPTIONS_PATH@"
-  !insertmacro MUI_INSTALLOPTIONS_DISPLAY "@POST_INSTALL_OPTIONS_PATH@"
+  nsDialogs::Create 1018
+  Pop $POST_INSTALL_DIALOG
+
+  ${If} $POST_INSTALL_DIALOG == error
+    Abort
+  ${EndIf}
+
+  ${NSD_CreateCheckbox} 0 0 100% 10u "&Create High Fidelity Desktop Shortcut"
+  Pop $DESKTOP_CHECKBOX
+
+  nsDialogs::Show
 FunctionEnd
 
 ;--------------------------------