kdeconnect-kde/kcmplugin/kdeconnectpluginkcm.cpp
Alexander Lohnau ede9e37b40 Use KPluginMetaData::pluginId for getting config plugin name
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.
2023-07-22 20:51:19 +00:00

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;
}