From 1865cd2e028df9abb5a91afe99892b2dbed87a45 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 31 Jul 2024 15:47:51 +0200 Subject: [PATCH] Core: Hide PluginDialog definition in .cpp Change-Id: I31302589bcc0c167f7115880dc646704f220450b Reviewed-by: Alessandro Portale --- src/plugins/coreplugin/icore.cpp | 9 +----- src/plugins/coreplugin/plugindialog.cpp | 37 ++++++++++++++++++---- src/plugins/coreplugin/plugindialog.h | 42 ++----------------------- 3 files changed, 35 insertions(+), 53 deletions(-) diff --git a/src/plugins/coreplugin/icore.cpp b/src/plugins/coreplugin/icore.cpp index 08d638ecdfb..f6f1bca8c30 100644 --- a/src/plugins/coreplugin/icore.cpp +++ b/src/plugins/coreplugin/icore.cpp @@ -273,7 +273,6 @@ public: static void setFocusToEditor(); void aboutQtCreator(); - void aboutPlugins(); void changeLog(); void contact(); void updateFocusWidget(QWidget *old, QWidget *now); @@ -2045,7 +2044,7 @@ void ICorePrivate::registerDefaultActions() aboutPluginsAction.setMenuRole(QAction::ApplicationSpecificRole); aboutPluginsAction.addToContainer(Constants::M_HELP, Constants::G_HELP_ABOUT); aboutPluginsAction.setEnabled(true); - aboutPluginsAction.addOnTriggered(this, [this] { aboutPlugins(); }); + aboutPluginsAction.addOnTriggered(this, &showAboutPlugins); // Change Log Action ActionBuilder changeLogAction(this, Constants::CHANGE_LOG); @@ -2451,12 +2450,6 @@ void ICorePrivate::destroyVersionDialog() } } -void ICorePrivate::aboutPlugins() -{ - PluginDialog dialog(m_mainwindow); - dialog.exec(); -} - class LogDialog : public QDialog { public: diff --git a/src/plugins/coreplugin/plugindialog.cpp b/src/plugins/coreplugin/plugindialog.cpp index edca2360b33..3d252e31e67 100644 --- a/src/plugins/coreplugin/plugindialog.cpp +++ b/src/plugins/coreplugin/plugindialog.cpp @@ -25,11 +25,31 @@ using namespace ExtensionSystem; using namespace Utils; -namespace Core { -namespace Internal { +namespace Core::Internal { -PluginDialog::PluginDialog(QWidget *parent) - : QDialog(parent), +class PluginDialog final : public QDialog +{ +public: + explicit PluginDialog(); + +private: + void updateButtons(); + void openDetails(ExtensionSystem::PluginSpec *spec); + void openErrorDetails(); + void closeDialog(); + void showInstallWizard(); + + ExtensionSystem::PluginView *m_view; + + QPushButton *m_detailsButton; + QPushButton *m_errorDetailsButton; + QPushButton *m_installButton; + bool m_isRestartRequired = false; + QSet m_softLoad; +}; + +PluginDialog::PluginDialog() + : QDialog(ICore::dialogParent()), m_view(new ExtensionSystem::PluginView(this)) { auto filterEdit = new Utils::FancyLineEdit(this); @@ -144,5 +164,10 @@ void PluginDialog::openErrorDetails() dialog.exec(); } -} // namespace Internal -} // namespace Core +void showAboutPlugins() +{ + PluginDialog dialog; + dialog.exec(); +} + +} // Core::Internal diff --git a/src/plugins/coreplugin/plugindialog.h b/src/plugins/coreplugin/plugindialog.h index f04329e7ac1..fdbbdff8761 100644 --- a/src/plugins/coreplugin/plugindialog.h +++ b/src/plugins/coreplugin/plugindialog.h @@ -3,44 +3,8 @@ #pragma once -#include -#include +namespace Core::Internal { -QT_BEGIN_NAMESPACE -class QPushButton; -class QLabel; -QT_END_NAMESPACE +void showAboutPlugins(); -namespace ExtensionSystem { -class PluginSpec; -class PluginView; -} - -namespace Core { -namespace Internal { - -class PluginDialog : public QDialog -{ - Q_OBJECT - -public: - explicit PluginDialog(QWidget *parent); - -private: - void updateButtons(); - void openDetails(ExtensionSystem::PluginSpec *spec); - void openErrorDetails(); - void closeDialog(); - void showInstallWizard(); - - ExtensionSystem::PluginView *m_view; - - QPushButton *m_detailsButton; - QPushButton *m_errorDetailsButton; - QPushButton *m_installButton; - bool m_isRestartRequired = false; - QSet m_softLoad; -}; - -} // namespace Internal -} // namespace Core +} // CoreInternal