aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/coreplugin/plugindialog.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2017-01-04 06:23:32 +0100
committerEike Ziller <eike.ziller@qt.io>2017-01-09 12:25:08 +0000
commit284fa63be2b2af4d16926bc7cc17ca30cf0b5e39 (patch)
tree2bc8424f485c8ec84a6836d4d7d09153714f3f92 /src/plugins/coreplugin/plugindialog.cpp
parentb29513aa5b63c3abfef79e928bc803f471663eb4 (diff)
Support 'hidden' plugins
Plugins can be hidden in the "About Plugins" view by default. Users can still make them all visible, but the default view can be made less noisy by hiding plugins that only exist as a base for other plugins. Plugins that can not run on the current platform are hidden by default as well. Change-Id: Iaf2f751c4ea4b3afc605bbbea6611eea042e62c7 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/plugins/coreplugin/plugindialog.cpp')
-rw-r--r--src/plugins/coreplugin/plugindialog.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/plugins/coreplugin/plugindialog.cpp b/src/plugins/coreplugin/plugindialog.cpp
index ac5677022f..27436952fb 100644
--- a/src/plugins/coreplugin/plugindialog.cpp
+++ b/src/plugins/coreplugin/plugindialog.cpp
@@ -35,6 +35,7 @@
#include <QVBoxLayout>
#include <QHBoxLayout>
+#include <QCheckBox>
#include <QDialog>
#include <QDialogButtonBox>
#include <QPushButton>
@@ -52,11 +53,21 @@ PluginDialog::PluginDialog(QWidget *parent)
{
QVBoxLayout *vl = new QVBoxLayout(this);
+ auto filterLayout = new QHBoxLayout;
+ vl->addLayout(filterLayout);
auto filterEdit = new Utils::FancyLineEdit(this);
filterEdit->setFiltering(true);
connect(filterEdit, &Utils::FancyLineEdit::filterChanged,
m_view, &ExtensionSystem::PluginView::setFilter);
- vl->addWidget(filterEdit);
+ filterLayout->addWidget(filterEdit);
+ m_view->setShowHidden(false);
+ auto showHidden = new QCheckBox(tr("Show All"));
+ showHidden->setToolTip(tr("Show all installed plugins, including base plugins "
+ "and plugins that are not available on this platform."));
+ showHidden->setChecked(m_view->isShowingHidden());
+ connect(showHidden, &QCheckBox::stateChanged,
+ m_view, &ExtensionSystem::PluginView::setShowHidden);
+ filterLayout->addWidget(showHidden);
vl->addWidget(m_view);