diff options
author | Craig Scott <craig.scott@crascit.com> | 2020-10-17 11:13:01 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2020-10-17 11:13:18 (GMT) |
commit | 792863ac290dbacad80c4b074ce64c29687d2837 (patch) | |
tree | cc5f6687324eacd9354bea35e2cec2537746cfa2 /Source | |
parent | e1d124286ab662d666e241bc0948445a8c26c817 (diff) | |
parent | d471406f0b41b99579cb07770302555c138d47a0 (diff) | |
download | CMake-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.cxx | 13 | ||||
-rw-r--r-- | Source/QtDialog/CMakeSetupDialog.ui | 6 |
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"> |