summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Help/cpack_gen/ifw.rst6
-rw-r--r--Help/release/dev/cpackifw-package-wizard-show-page-list.rst7
-rw-r--r--Source/CPack/IFW/cmCPackIFWInstaller.cxx25
-rw-r--r--Source/CPack/IFW/cmCPackIFWInstaller.h4
4 files changed, 42 insertions, 0 deletions
diff --git a/Help/cpack_gen/ifw.rst b/Help/cpack_gen/ifw.rst
index 3315411..0dd2816 100644
--- a/Help/cpack_gen/ifw.rst
+++ b/Help/cpack_gen/ifw.rst
@@ -109,6 +109,12 @@ Package
Default height of the wizard in pixels. Setting a watermark image will override this.
+.. variable:: CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST
+
+ Set to ``OFF`` if the widget listing installer pages on the left side of the wizard should not be shown.
+
+ Is ``ON`` by default.
+
.. variable:: CPACK_IFW_PACKAGE_TITLE_COLOR
.. versionadded:: 3.8
diff --git a/Help/release/dev/cpackifw-package-wizard-show-page-list.rst b/Help/release/dev/cpackifw-package-wizard-show-page-list.rst
new file mode 100644
index 0000000..ede69f5
--- /dev/null
+++ b/Help/release/dev/cpackifw-package-wizard-show-page-list.rst
@@ -0,0 +1,7 @@
+cpackifw-package-wizard-show-page-list
+--------------------------------------
+
+* The :cpack_gen:`CPack IFW Generator` gained new
+ :variable:`CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST` variable to
+ control visibility of the widget listing installer pages on the left side
+ of the wizard. This feature available only since QtIFW 4.0.
diff --git a/Source/CPack/IFW/cmCPackIFWInstaller.cxx b/Source/CPack/IFW/cmCPackIFWInstaller.cxx
index 4bad598..8e00ad6 100644
--- a/Source/CPack/IFW/cmCPackIFWInstaller.cxx
+++ b/Source/CPack/IFW/cmCPackIFWInstaller.cxx
@@ -174,6 +174,26 @@ void cmCPackIFWInstaller::ConfigureFromOptions()
this->WizardDefaultHeight = option;
}
+ // WizardShowPageList
+ if (const char* option =
+ this->GetOption("CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST")) {
+ if (!this->IsVersionLess("4.0")) {
+ if (this->IsSetToOff("CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST")) {
+ this->WizardShowPageList = "false";
+ } else if (this->IsOn("CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST")) {
+ this->WizardShowPageList = "true";
+ } else {
+ this->WizardShowPageList.clear();
+ }
+ } else {
+ cmCPackIFWLogger(
+ WARNING,
+ "Option CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST is set to value \""
+ << option << "\". But has no any effect for QtIFW less than 4.0 "
+ << "and will be skipped." << std::endl);
+ }
+ }
+
// TitleColor
if (const char* option = this->GetOption("CPACK_IFW_PACKAGE_TITLE_COLOR")) {
this->TitleColor = option;
@@ -408,6 +428,11 @@ void cmCPackIFWInstaller::GenerateInstallerFile()
xout.Element("WizardDefaultHeight", this->WizardDefaultHeight);
}
+ // WizardShowPageList
+ if (!this->IsVersionLess("4.0") && !this->WizardShowPageList.empty()) {
+ xout.Element("WizardShowPageList", this->WizardShowPageList);
+ }
+
// TitleColor
if (!this->TitleColor.empty()) {
xout.Element("TitleColor", this->TitleColor);
diff --git a/Source/CPack/IFW/cmCPackIFWInstaller.h b/Source/CPack/IFW/cmCPackIFWInstaller.h
index 6f398e3..a031fc2 100644
--- a/Source/CPack/IFW/cmCPackIFWInstaller.h
+++ b/Source/CPack/IFW/cmCPackIFWInstaller.h
@@ -80,6 +80,10 @@ public:
/// Wizard height
std::string WizardDefaultHeight;
+ /// Set to false if the widget listing installer pages on the left side
+ /// of the wizard should not be shown
+ std::string WizardShowPageList;
+
/// Title color
std::string TitleColor;