File indexing completed on 2024-04-28 11:20:48

0001 /*
0002     SPDX-License-Identifier: GPL-2.0-or-later
0003     SPDX-FileCopyrightText: 2010 Alexander Rieder <alexanderrieder@gmail.com>
0004 */
0005 
0006 #include "panelplugin.h"
0007 using namespace Cantor;
0008 
0009 #include <KPluginMetaData>
0010 
0011 class Cantor::PanelPluginPrivate
0012 {
0013   public:
0014     QString name;
0015     QStringList requiredExtensions;
0016     Session* session = nullptr;
0017     QWidget* parentWidget = nullptr;
0018 };
0019 
0020 PanelPlugin::PanelPlugin( QObject* parent) : QObject(parent), /* KXMLGUIClient(dynamic_cast<KXMLGUIClient*>(parent)),*/
0021                                              d(new PanelPluginPrivate)
0022 {
0023 
0024 }
0025 
0026 PanelPlugin::~PanelPlugin()
0027 {
0028     delete d;
0029 }
0030 
0031 void PanelPlugin::setParentWidget(QWidget* widget)
0032 {
0033     d->parentWidget = widget;
0034 }
0035 
0036 QWidget* PanelPlugin::parentWidget()
0037 {
0038     return d->parentWidget;
0039 }
0040 
0041 void PanelPlugin::setPluginInfo(const KPluginMetaData& info)
0042 {
0043     d->name = info.name();
0044     d->requiredExtensions = info.value(QStringLiteral("RequiredExtensions")).split(QLatin1Char(','));
0045     setObjectName(info.pluginId());
0046 }
0047 
0048 QStringList PanelPlugin::requiredExtensions()
0049 {
0050     return d->requiredExtensions;
0051 }
0052 
0053 Backend::Capabilities PanelPlugin::requiredCapabilities()
0054 {
0055     return Backend::Nothing;
0056 }
0057 
0058 QString PanelPlugin::name()
0059 {
0060     return d->name;
0061 }
0062 
0063 Cantor::PanelPlugin::State Cantor::PanelPlugin::saveState()
0064 {
0065     Cantor::PanelPlugin::State state;
0066     state.session = d->session;
0067     return state;
0068 }
0069 
0070 void Cantor::PanelPlugin::restoreState(const Cantor::PanelPlugin::State& state)
0071 {
0072     d->session = state.session;
0073 }
0074 
0075 Cantor::Session* Cantor::PanelPlugin::session()
0076 {
0077     return d->session;
0078 }
0079 
0080 void Cantor::PanelPlugin::connectToShell(QObject* /* cantorShell */)
0081 {
0082 
0083 }
0084 
0085 bool Cantor::PanelPlugin::showOnStartup()
0086 {
0087     return true;
0088 }