diff options
author | hjk <[email protected]> | 2024-01-17 08:10:19 +0100 |
---|---|---|
committer | hjk <[email protected]> | 2024-01-17 08:30:04 +0000 |
commit | 87b040d852e1ddf7ac40087e91a6d12e8c482370 (patch) | |
tree | afb12bf0e8e80d425ec89522508c4b94a0d3adef /src/plugins/serialterminal/serialterminalplugin.cpp | |
parent | fdf1ad4ff80dd9aaef28c356179cc908dc71e0a3 (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.cpp | 68 |
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" |