summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorKonstantin Podsvirov <konstantin@podsvirov.pro>2020-11-27 19:15:18 (GMT)
committerKonstantin Podsvirov <konstantin@podsvirov.pro>2020-11-27 19:32:45 (GMT)
commit8b5a0e0fef106fb62cad4a0268438c00e05a4b04 (patch)
tree80db88ad302252e50c98f8fa5bf3ce19ea3cdf7c /Source
parent70f11b9d3c5d2cfd81b2e33cc6c315cd9b2d1473 (diff)
downloadCMake-8b5a0e0fef106fb62cad4a0268438c00e05a4b04.zip
CMake-8b5a0e0fef106fb62cad4a0268438c00e05a4b04.tar.gz
CMake-8b5a0e0fef106fb62cad4a0268438c00e05a4b04.tar.bz2
CPackIFW: Add CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST variable
Add 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.
Diffstat (limited to 'Source')
-rw-r--r--Source/CPack/IFW/cmCPackIFWInstaller.cxx25
-rw-r--r--Source/CPack/IFW/cmCPackIFWInstaller.h4
2 files changed, 29 insertions, 0 deletions
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;