aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/serialterminal/serialterminalplugin.cpp
diff options
context:
space:
mode:
authorhjk <[email protected]>2024-01-17 08:10:19 +0100
committerhjk <[email protected]>2024-01-17 08:30:04 +0000
commit87b040d852e1ddf7ac40087e91a6d12e8c482370 (patch)
treeafb12bf0e8e80d425ec89522508c4b94a0d3adef /src/plugins/serialterminal/serialterminalplugin.cpp
parentfdf1ad4ff80dd9aaef28c356179cc908dc71e0a3 (diff)
SerialTerminal: Hide plugin class in .cpp
Change-Id: I9d1a179a9de4f0e95fe60b62b91743c540534246 Reviewed-by: Jarek Kobus <[email protected]>
Diffstat (limited to 'src/plugins/serialterminal/serialterminalplugin.cpp')
-rw-r--r--src/plugins/serialterminal/serialterminalplugin.cpp68
1 files changed, 42 insertions, 26 deletions
diff --git a/src/plugins/serialterminal/serialterminalplugin.cpp b/src/plugins/serialterminal/serialterminalplugin.cpp
index 0b50a50fa4c..4b4a427c191 100644
--- a/src/plugins/serialterminal/serialterminalplugin.cpp
+++ b/src/plugins/serialterminal/serialterminalplugin.cpp
@@ -1,42 +1,58 @@
// Copyright (C) 2018 Benjamin Balga
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
-#include "serialterminalplugin.h"
-
#include "serialcontrol.h"
+#include "serialoutputpane.h"
+#include "serialterminalsettings.h"
#include <coreplugin/icore.h>
-namespace SerialTerminal {
-namespace Internal {
+#include <extensionsystem/iplugin.h>
+
+#include <memory>
+
+namespace SerialTerminal::Internal {
-void SerialTerminalPlugin::initialize()
+class SerialTerminalPlugin : public ExtensionSystem::IPlugin
{
- m_settings.load(Core::ICore::settings());
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "SerialTerminal.json")
- // Create serial output pane
- m_serialOutputPane = std::make_unique<SerialOutputPane>(m_settings);
- connect(m_serialOutputPane.get(), &SerialOutputPane::settingsChanged,
- this, &SerialTerminalPlugin::settingsChanged);
+public:
+ explicit SerialTerminalPlugin() = default;
- connect(Core::ICore::instance(), &Core::ICore::saveSettingsRequested,
- this, [this] { m_settings.save(Core::ICore::settings()); });
-}
+ void initialize() final
+ {
+ m_settings.load(Core::ICore::settings());
-ExtensionSystem::IPlugin::ShutdownFlag SerialTerminalPlugin::aboutToShutdown()
-{
- m_serialOutputPane->closeTabs(SerialOutputPane::CloseTabNoPrompt);
+ // Create serial output pane
+ m_serialOutputPane = std::make_unique<SerialOutputPane>(m_settings);
+ connect(m_serialOutputPane.get(), &SerialOutputPane::settingsChanged,
+ this, &SerialTerminalPlugin::settingsChanged);
- return SynchronousShutdown;
-}
+ connect(Core::ICore::instance(), &Core::ICore::saveSettingsRequested,
+ this, [this] { m_settings.save(Core::ICore::settings()); });
+ }
-void SerialTerminalPlugin::settingsChanged(const Settings &settings)
-{
- m_settings = settings;
- m_settings.save(Core::ICore::settings());
+ ShutdownFlag aboutToShutdown() final
+ {
+ m_serialOutputPane->closeTabs(SerialOutputPane::CloseTabNoPrompt);
+
+ return SynchronousShutdown;
+ }
+
+ void settingsChanged(const Settings &settings)
+ {
+ m_settings = settings;
+ m_settings.save(Core::ICore::settings());
+
+ m_serialOutputPane->setSettings(m_settings);
+ }
+
+ Settings m_settings;
+ std::unique_ptr<SerialOutputPane> m_serialOutputPane;
+};
- m_serialOutputPane->setSettings(m_settings);
-}
+} // SerialTerminal::Internal
-} // namespace Internal
-} // namespace SerialTerminal
+#include "serialterminalplugin.moc"