ede9e37b40
By removing the postfix we consistently use, we get exactly the same string as before However, all our pluginId logic is now done as part of the buildsystem. Before, they were in the JSON metadata, the buildsystem and the string constructor parameter KPluginFactory has the KPluginMetaData object in any case, do using it doesn't create any overhead.
45 lines
1.2 KiB
C++
45 lines
1.2 KiB
C++
/**
|
|
* SPDX-FileCopyrightText: 2013 Albert Vaca <albertvaka@gmail.com>
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
|
*/
|
|
|
|
#include "kdeconnectpluginkcm.h"
|
|
|
|
struct KdeConnectPluginKcmPrivate {
|
|
QString m_deviceId;
|
|
QString m_pluginName;
|
|
KdeConnectPluginConfig *m_config = nullptr;
|
|
};
|
|
|
|
KdeConnectPluginKcm::KdeConnectPluginKcm(QObject *parent, const KPluginMetaData &data, const QVariantList &args)
|
|
#if QT_VERSION_MAJOR < 6
|
|
: KCModule(qobject_cast<QWidget *>(parent), args)
|
|
#else
|
|
: KCModule(parent)
|
|
#endif
|
|
, d(new KdeConnectPluginKcmPrivate())
|
|
{
|
|
Q_ASSERT(data.isValid()); // Even if we have empty metadata, it should be valid!
|
|
d->m_deviceId = args.at(0).toString();
|
|
const static QRegularExpression removeConfigPostfix(QStringLiteral("_config$"));
|
|
d->m_pluginName = data.pluginId().remove(removeConfigPostfix);
|
|
|
|
// The parent of the config should be the plugin itself
|
|
d->m_config = new KdeConnectPluginConfig(d->m_deviceId, d->m_pluginName);
|
|
}
|
|
|
|
KdeConnectPluginKcm::~KdeConnectPluginKcm()
|
|
{
|
|
delete d->m_config;
|
|
}
|
|
|
|
KdeConnectPluginConfig *KdeConnectPluginKcm::config() const
|
|
{
|
|
return d->m_config;
|
|
}
|
|
|
|
QString KdeConnectPluginKcm::deviceId() const
|
|
{
|
|
return d->m_deviceId;
|
|
}
|