summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorCraig Scott <craig.scott@crascit.com>2020-10-17 11:13:01 (GMT)
committerKitware Robot <kwrobot@kitware.com>2020-10-17 11:13:18 (GMT)
commit792863ac290dbacad80c4b074ce64c29687d2837 (patch)
treecc5f6687324eacd9354bea35e2cec2537746cfa2 /Source
parente1d124286ab662d666e241bc0948445a8c26c817 (diff)
parentd471406f0b41b99579cb07770302555c138d47a0 (diff)
downloadCMake-792863ac290dbacad80c4b074ce64c29687d2837.zip
CMake-792863ac290dbacad80c4b074ce64c29687d2837.tar.gz
CMake-792863ac290dbacad80c4b074ce64c29687d2837.tar.bz2
Merge topic 'cmake-gui-disable-presets' into release-3.19
d471406f0b CMake GUI: Disable preset fields instead of hiding them Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Brad King <brad.king@kitware.com> Merge-request: !5374
Diffstat (limited to 'Source')
-rw-r--r--Source/QtDialog/CMakeSetupDialog.cxx13
-rw-r--r--Source/QtDialog/CMakeSetupDialog.ui6
2 files changed, 15 insertions, 4 deletions
diff --git a/Source/QtDialog/CMakeSetupDialog.cxx b/Source/QtDialog/CMakeSetupDialog.cxx
index acd32ec..7a04daa 100644
--- a/Source/QtDialog/CMakeSetupDialog.cxx
+++ b/Source/QtDialog/CMakeSetupDialog.cxx
@@ -43,6 +43,12 @@
#include "RegexExplorer.h"
#include "WarningMessagesDialog.h"
+namespace {
+const QString PRESETS_DISABLED_TOOLTIP =
+ "This option is disabled because there are no available presets in "
+ "CMakePresets.json or CMakeUserPresets.json.";
+}
+
QCMakeThread::QCMakeThread(QObject* p)
: QThread(p)
{
@@ -92,6 +98,7 @@ CMakeSetupDialog::CMakeSetupDialog()
this->ProgressBar->reset();
this->RemoveEntry->setEnabled(false);
this->AddEntry->setEnabled(false);
+ this->Preset->setStatusTip(PRESETS_DISABLED_TOOLTIP);
QByteArray p = settings.value("SplitterSizes").toByteArray();
this->Splitter->restoreState(p);
@@ -696,8 +703,8 @@ void CMakeSetupDialog::updatePresets(const QVector<QCMakePreset>& presets)
this->Preset->blockSignals(false);
}
- this->Preset->setHidden(presets.isEmpty());
- this->PresetLabel->setHidden(presets.isEmpty());
+ this->Preset->setDisabled(presets.isEmpty());
+ this->Preset->setToolTip(presets.isEmpty() ? PRESETS_DISABLED_TOOLTIP : "");
if (!this->DeferredPreset.isNull()) {
this->Preset->setPresetName(this->DeferredPreset);
@@ -823,7 +830,7 @@ void CMakeSetupDialog::setEnabledState(bool enabled)
this->CacheValues->cacheModel()->setEditEnabled(enabled);
this->SourceDirectory->setEnabled(enabled);
this->BrowseSourceDirectoryButton->setEnabled(enabled);
- this->Preset->setEnabled(enabled);
+ this->Preset->setEnabled(enabled && !this->Preset->presets().isEmpty());
this->BinaryDirectory->setEnabled(enabled);
this->BrowseBinaryDirectoryButton->setEnabled(enabled);
this->ReloadCacheAction->setEnabled(enabled);
diff --git a/Source/QtDialog/CMakeSetupDialog.ui b/Source/QtDialog/CMakeSetupDialog.ui
index afb25eb..a5c35b1 100644
--- a/Source/QtDialog/CMakeSetupDialog.ui
+++ b/Source/QtDialog/CMakeSetupDialog.ui
@@ -68,7 +68,11 @@
</widget>
</item>
<item row="1" column="1">
- <widget class="QCMakePresetComboBox" name="Preset"/>
+ <widget class="QCMakePresetComboBox" name="Preset">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="BinaryLabel">