mirror of
https://invent.kde.org/marcoa/shift-shell.git
synced 2026-04-26 14:23:09 +00:00
Do not store KPluginMetaData as pointer
This is unneeded, because KPluginMetaData is a QSharedData object
This commit is contained in:
parent
45072177d5
commit
a4a14ca162
5 changed files with 30 additions and 34 deletions
|
|
@ -72,7 +72,7 @@ void QuickSettingsModel::loadQuickSettings()
|
|||
// loop through enabled quick settings metadata
|
||||
for (const auto &metaData : m_savedQuickSettings->enabledQuickSettingsModel()->list()) {
|
||||
// load kpackage
|
||||
KPackage::Package package = KPackage::PackageLoader::self()->loadPackage("KPackage/GenericQML", QFileInfo(metaData->fileName()).path());
|
||||
KPackage::Package package = KPackage::PackageLoader::self()->loadPackage("KPackage/GenericQML", QFileInfo(metaData.fileName()).path());
|
||||
if (!package.isValid()) {
|
||||
continue;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,9 +10,6 @@
|
|||
SavedQuickSettings::SavedQuickSettings(QObject *parent)
|
||||
: QObject{parent}
|
||||
, m_settings{new QuickSettingsConfig{this}}
|
||||
, m_validPackages{}
|
||||
, m_enabledPackages{}
|
||||
, m_disabledPackages{}
|
||||
, m_enabledQSModel{new SavedQuickSettingsModel{this}}
|
||||
, m_disabledQSModel{new SavedQuickSettingsModel{this}}
|
||||
, m_updateTimer{new QTimer{this}}
|
||||
|
|
@ -34,14 +31,13 @@ SavedQuickSettings::SavedQuickSettings(QObject *parent)
|
|||
|
||||
// load quicksettings packages
|
||||
auto packages = KPackage::PackageLoader::self()->listPackages(QStringLiteral("KPackage/GenericQML"), "plasma/quicksettings");
|
||||
|
||||
for (auto &metaData : packages) {
|
||||
KPackage::Package package = KPackage::PackageLoader::self()->loadPackage("KPackage/GenericQML", QFileInfo(metaData.fileName()).path());
|
||||
if (!package.isValid()) {
|
||||
qWarning() << "Quick setting package invalid:" << metaData.fileName();
|
||||
continue;
|
||||
}
|
||||
m_validPackages.push_back(new KPluginMetaData{metaData});
|
||||
m_validPackages.push_back(metaData);
|
||||
}
|
||||
|
||||
// subscribe to config changes
|
||||
|
|
@ -53,7 +49,7 @@ SavedQuickSettings::SavedQuickSettings(QObject *parent)
|
|||
});
|
||||
|
||||
// subscribe to model changes
|
||||
connect(m_enabledQSModel, &SavedQuickSettingsModel::dataUpdated, this, [this](QList<KPluginMetaData *> data) -> void {
|
||||
connect(m_enabledQSModel, &SavedQuickSettingsModel::dataUpdated, this, [this](QList<KPluginMetaData> data) -> void {
|
||||
m_enabledPackages.clear();
|
||||
for (auto metaData : data) {
|
||||
m_enabledPackages.push_back(metaData);
|
||||
|
|
@ -64,7 +60,7 @@ SavedQuickSettings::SavedQuickSettings(QObject *parent)
|
|||
m_updateTimer->start(); // reset update timer if it's running
|
||||
}
|
||||
});
|
||||
connect(m_disabledQSModel, &SavedQuickSettingsModel::dataUpdated, this, [this](QList<KPluginMetaData *> data) -> void {
|
||||
connect(m_disabledQSModel, &SavedQuickSettingsModel::dataUpdated, this, [this](QList<KPluginMetaData> data) -> void {
|
||||
m_disabledPackages.clear();
|
||||
for (auto metaData : data) {
|
||||
m_disabledPackages.push_back(metaData);
|
||||
|
|
@ -100,9 +96,9 @@ SavedQuickSettingsModel *SavedQuickSettings::disabledQuickSettingsModel() const
|
|||
|
||||
void SavedQuickSettings::enableQS(int index)
|
||||
{
|
||||
KPluginMetaData *tmp = m_disabledQSModel->takeRow(index);
|
||||
KPluginMetaData tmp = m_disabledQSModel->takeRow(index);
|
||||
|
||||
if (!tmp) {
|
||||
if (!tmp.isValid()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -111,9 +107,9 @@ void SavedQuickSettings::enableQS(int index)
|
|||
|
||||
void SavedQuickSettings::disableQS(int index)
|
||||
{
|
||||
KPluginMetaData *tmp = m_enabledQSModel->takeRow(index);
|
||||
KPluginMetaData tmp = m_enabledQSModel->takeRow(index);
|
||||
|
||||
if (!tmp) {
|
||||
if (!tmp.isValid()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -131,7 +127,7 @@ void SavedQuickSettings::refreshModel()
|
|||
// add enabled quick settings in order
|
||||
for (const QString &pluginId : enabledQS) {
|
||||
for (auto &metaData : m_validPackages) {
|
||||
if (pluginId == metaData->pluginId()) {
|
||||
if (pluginId == metaData.pluginId()) {
|
||||
m_enabledPackages.push_back(metaData);
|
||||
break;
|
||||
}
|
||||
|
|
@ -141,7 +137,7 @@ void SavedQuickSettings::refreshModel()
|
|||
// add disabled quick settings in order
|
||||
for (const QString &pluginId : disabledQS) {
|
||||
for (auto &metaData : m_validPackages) {
|
||||
if (pluginId == metaData->pluginId()) {
|
||||
if (pluginId == metaData.pluginId()) {
|
||||
m_disabledPackages.push_back(metaData);
|
||||
break;
|
||||
}
|
||||
|
|
@ -150,7 +146,7 @@ void SavedQuickSettings::refreshModel()
|
|||
|
||||
// add undefined quick settings to the back of enabled quick settings
|
||||
for (auto &metaData : m_validPackages) {
|
||||
if (!enabledQS.contains(metaData->pluginId()) && !disabledQS.contains(metaData->pluginId())) {
|
||||
if (!enabledQS.contains(metaData.pluginId()) && !disabledQS.contains(metaData.pluginId())) {
|
||||
m_enabledPackages.push_back(metaData);
|
||||
}
|
||||
}
|
||||
|
|
@ -165,10 +161,10 @@ void SavedQuickSettings::saveModel()
|
|||
QList<QString> disabledQS;
|
||||
|
||||
for (auto &metaData : m_enabledPackages) {
|
||||
enabledQS.push_back(metaData->pluginId());
|
||||
enabledQS.push_back(metaData.pluginId());
|
||||
}
|
||||
for (auto &metaData : m_disabledPackages) {
|
||||
disabledQS.push_back(metaData->pluginId());
|
||||
disabledQS.push_back(metaData.pluginId());
|
||||
}
|
||||
|
||||
m_settings->setEnabledQuickSettings(enabledQS);
|
||||
|
|
|
|||
|
|
@ -42,9 +42,9 @@ private:
|
|||
void saveModel();
|
||||
|
||||
QuickSettingsConfig *m_settings;
|
||||
QList<KPluginMetaData *> m_validPackages;
|
||||
QList<KPluginMetaData *> m_enabledPackages;
|
||||
QList<KPluginMetaData *> m_disabledPackages;
|
||||
QList<KPluginMetaData> m_validPackages;
|
||||
QList<KPluginMetaData> m_enabledPackages;
|
||||
QList<KPluginMetaData> m_disabledPackages;
|
||||
|
||||
SavedQuickSettingsModel *m_enabledQSModel;
|
||||
SavedQuickSettingsModel *m_disabledQSModel;
|
||||
|
|
|
|||
|
|
@ -15,11 +15,11 @@ QVariant SavedQuickSettingsModel::data(const QModelIndex &index, int role) const
|
|||
}
|
||||
|
||||
if (role == NameRole) {
|
||||
return m_data[index.row()]->name();
|
||||
return m_data[index.row()].name();
|
||||
} else if (role == IconRole) {
|
||||
return m_data[index.row()]->iconName();
|
||||
return m_data[index.row()].iconName();
|
||||
} else if (role == IdRole) {
|
||||
return m_data[index.row()]->pluginId();
|
||||
return m_data[index.row()].pluginId();
|
||||
}
|
||||
return QVariant();
|
||||
}
|
||||
|
|
@ -48,7 +48,7 @@ void SavedQuickSettingsModel::moveRow(int oldIndex, int newIndex)
|
|||
Q_EMIT dataUpdated(m_data);
|
||||
}
|
||||
|
||||
void SavedQuickSettingsModel::insertRow(KPluginMetaData *metaData, int index)
|
||||
void SavedQuickSettingsModel::insertRow(KPluginMetaData metaData, int index)
|
||||
{
|
||||
Q_EMIT beginInsertRows(QModelIndex(), index, index);
|
||||
m_data.insert(index, metaData);
|
||||
|
|
@ -57,14 +57,14 @@ void SavedQuickSettingsModel::insertRow(KPluginMetaData *metaData, int index)
|
|||
Q_EMIT dataUpdated(m_data);
|
||||
}
|
||||
|
||||
KPluginMetaData *SavedQuickSettingsModel::takeRow(int index)
|
||||
KPluginMetaData SavedQuickSettingsModel::takeRow(int index)
|
||||
{
|
||||
if (index < 0 || index >= m_data.size()) {
|
||||
return {};
|
||||
}
|
||||
|
||||
Q_EMIT beginRemoveRows(QModelIndex(), index, index);
|
||||
KPluginMetaData *tmp = m_data.takeAt(index);
|
||||
KPluginMetaData tmp = m_data.takeAt(index);
|
||||
Q_EMIT endRemoveRows();
|
||||
|
||||
Q_EMIT dataUpdated(m_data);
|
||||
|
|
@ -85,12 +85,12 @@ void SavedQuickSettingsModel::removeRow(int index)
|
|||
Q_EMIT dataUpdated(m_data);
|
||||
}
|
||||
|
||||
QList<KPluginMetaData *> SavedQuickSettingsModel::list() const
|
||||
QList<KPluginMetaData> SavedQuickSettingsModel::list() const
|
||||
{
|
||||
return m_data;
|
||||
}
|
||||
|
||||
void SavedQuickSettingsModel::updateData(QList<KPluginMetaData *> data)
|
||||
void SavedQuickSettingsModel::updateData(QList<KPluginMetaData> data)
|
||||
{
|
||||
Q_EMIT beginResetModel();
|
||||
|
||||
|
|
|
|||
|
|
@ -34,18 +34,18 @@ public:
|
|||
QHash<int, QByteArray> roleNames() const override;
|
||||
|
||||
Q_INVOKABLE void moveRow(int oldIndex, int newIndex);
|
||||
Q_INVOKABLE void insertRow(KPluginMetaData *metaData, int index);
|
||||
Q_INVOKABLE KPluginMetaData *takeRow(int index);
|
||||
Q_INVOKABLE void insertRow(KPluginMetaData metaData, int index);
|
||||
Q_INVOKABLE KPluginMetaData takeRow(int index);
|
||||
Q_INVOKABLE void removeRow(int index);
|
||||
|
||||
QList<KPluginMetaData *> list() const;
|
||||
QList<KPluginMetaData> list() const;
|
||||
|
||||
public Q_SLOTS:
|
||||
void updateData(QList<KPluginMetaData *> data);
|
||||
void updateData(QList<KPluginMetaData> data);
|
||||
|
||||
Q_SIGNALS:
|
||||
void dataUpdated(QList<KPluginMetaData *> data);
|
||||
void dataUpdated(QList<KPluginMetaData> data);
|
||||
|
||||
private:
|
||||
QList<KPluginMetaData *> m_data;
|
||||
QList<KPluginMetaData> m_data;
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in a new issue