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
|
// loop through enabled quick settings metadata
|
||||||
for (const auto &metaData : m_savedQuickSettings->enabledQuickSettingsModel()->list()) {
|
for (const auto &metaData : m_savedQuickSettings->enabledQuickSettingsModel()->list()) {
|
||||||
// load kpackage
|
// 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()) {
|
if (!package.isValid()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,9 +10,6 @@
|
||||||
SavedQuickSettings::SavedQuickSettings(QObject *parent)
|
SavedQuickSettings::SavedQuickSettings(QObject *parent)
|
||||||
: QObject{parent}
|
: QObject{parent}
|
||||||
, m_settings{new QuickSettingsConfig{this}}
|
, m_settings{new QuickSettingsConfig{this}}
|
||||||
, m_validPackages{}
|
|
||||||
, m_enabledPackages{}
|
|
||||||
, m_disabledPackages{}
|
|
||||||
, m_enabledQSModel{new SavedQuickSettingsModel{this}}
|
, m_enabledQSModel{new SavedQuickSettingsModel{this}}
|
||||||
, m_disabledQSModel{new SavedQuickSettingsModel{this}}
|
, m_disabledQSModel{new SavedQuickSettingsModel{this}}
|
||||||
, m_updateTimer{new QTimer{this}}
|
, m_updateTimer{new QTimer{this}}
|
||||||
|
|
@ -34,14 +31,13 @@ SavedQuickSettings::SavedQuickSettings(QObject *parent)
|
||||||
|
|
||||||
// load quicksettings packages
|
// load quicksettings packages
|
||||||
auto packages = KPackage::PackageLoader::self()->listPackages(QStringLiteral("KPackage/GenericQML"), "plasma/quicksettings");
|
auto packages = KPackage::PackageLoader::self()->listPackages(QStringLiteral("KPackage/GenericQML"), "plasma/quicksettings");
|
||||||
|
|
||||||
for (auto &metaData : packages) {
|
for (auto &metaData : packages) {
|
||||||
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()) {
|
if (!package.isValid()) {
|
||||||
qWarning() << "Quick setting package invalid:" << metaData.fileName();
|
qWarning() << "Quick setting package invalid:" << metaData.fileName();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
m_validPackages.push_back(new KPluginMetaData{metaData});
|
m_validPackages.push_back(metaData);
|
||||||
}
|
}
|
||||||
|
|
||||||
// subscribe to config changes
|
// subscribe to config changes
|
||||||
|
|
@ -53,7 +49,7 @@ SavedQuickSettings::SavedQuickSettings(QObject *parent)
|
||||||
});
|
});
|
||||||
|
|
||||||
// subscribe to model changes
|
// 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();
|
m_enabledPackages.clear();
|
||||||
for (auto metaData : data) {
|
for (auto metaData : data) {
|
||||||
m_enabledPackages.push_back(metaData);
|
m_enabledPackages.push_back(metaData);
|
||||||
|
|
@ -64,7 +60,7 @@ SavedQuickSettings::SavedQuickSettings(QObject *parent)
|
||||||
m_updateTimer->start(); // reset update timer if it's running
|
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();
|
m_disabledPackages.clear();
|
||||||
for (auto metaData : data) {
|
for (auto metaData : data) {
|
||||||
m_disabledPackages.push_back(metaData);
|
m_disabledPackages.push_back(metaData);
|
||||||
|
|
@ -100,9 +96,9 @@ SavedQuickSettingsModel *SavedQuickSettings::disabledQuickSettingsModel() const
|
||||||
|
|
||||||
void SavedQuickSettings::enableQS(int index)
|
void SavedQuickSettings::enableQS(int index)
|
||||||
{
|
{
|
||||||
KPluginMetaData *tmp = m_disabledQSModel->takeRow(index);
|
KPluginMetaData tmp = m_disabledQSModel->takeRow(index);
|
||||||
|
|
||||||
if (!tmp) {
|
if (!tmp.isValid()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -111,9 +107,9 @@ void SavedQuickSettings::enableQS(int index)
|
||||||
|
|
||||||
void SavedQuickSettings::disableQS(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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -131,7 +127,7 @@ void SavedQuickSettings::refreshModel()
|
||||||
// add enabled quick settings in order
|
// add enabled quick settings in order
|
||||||
for (const QString &pluginId : enabledQS) {
|
for (const QString &pluginId : enabledQS) {
|
||||||
for (auto &metaData : m_validPackages) {
|
for (auto &metaData : m_validPackages) {
|
||||||
if (pluginId == metaData->pluginId()) {
|
if (pluginId == metaData.pluginId()) {
|
||||||
m_enabledPackages.push_back(metaData);
|
m_enabledPackages.push_back(metaData);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -141,7 +137,7 @@ void SavedQuickSettings::refreshModel()
|
||||||
// add disabled quick settings in order
|
// add disabled quick settings in order
|
||||||
for (const QString &pluginId : disabledQS) {
|
for (const QString &pluginId : disabledQS) {
|
||||||
for (auto &metaData : m_validPackages) {
|
for (auto &metaData : m_validPackages) {
|
||||||
if (pluginId == metaData->pluginId()) {
|
if (pluginId == metaData.pluginId()) {
|
||||||
m_disabledPackages.push_back(metaData);
|
m_disabledPackages.push_back(metaData);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -150,7 +146,7 @@ void SavedQuickSettings::refreshModel()
|
||||||
|
|
||||||
// add undefined quick settings to the back of enabled quick settings
|
// add undefined quick settings to the back of enabled quick settings
|
||||||
for (auto &metaData : m_validPackages) {
|
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);
|
m_enabledPackages.push_back(metaData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -165,10 +161,10 @@ void SavedQuickSettings::saveModel()
|
||||||
QList<QString> disabledQS;
|
QList<QString> disabledQS;
|
||||||
|
|
||||||
for (auto &metaData : m_enabledPackages) {
|
for (auto &metaData : m_enabledPackages) {
|
||||||
enabledQS.push_back(metaData->pluginId());
|
enabledQS.push_back(metaData.pluginId());
|
||||||
}
|
}
|
||||||
for (auto &metaData : m_disabledPackages) {
|
for (auto &metaData : m_disabledPackages) {
|
||||||
disabledQS.push_back(metaData->pluginId());
|
disabledQS.push_back(metaData.pluginId());
|
||||||
}
|
}
|
||||||
|
|
||||||
m_settings->setEnabledQuickSettings(enabledQS);
|
m_settings->setEnabledQuickSettings(enabledQS);
|
||||||
|
|
|
||||||
|
|
@ -42,9 +42,9 @@ private:
|
||||||
void saveModel();
|
void saveModel();
|
||||||
|
|
||||||
QuickSettingsConfig *m_settings;
|
QuickSettingsConfig *m_settings;
|
||||||
QList<KPluginMetaData *> m_validPackages;
|
QList<KPluginMetaData> m_validPackages;
|
||||||
QList<KPluginMetaData *> m_enabledPackages;
|
QList<KPluginMetaData> m_enabledPackages;
|
||||||
QList<KPluginMetaData *> m_disabledPackages;
|
QList<KPluginMetaData> m_disabledPackages;
|
||||||
|
|
||||||
SavedQuickSettingsModel *m_enabledQSModel;
|
SavedQuickSettingsModel *m_enabledQSModel;
|
||||||
SavedQuickSettingsModel *m_disabledQSModel;
|
SavedQuickSettingsModel *m_disabledQSModel;
|
||||||
|
|
|
||||||
|
|
@ -15,11 +15,11 @@ QVariant SavedQuickSettingsModel::data(const QModelIndex &index, int role) const
|
||||||
}
|
}
|
||||||
|
|
||||||
if (role == NameRole) {
|
if (role == NameRole) {
|
||||||
return m_data[index.row()]->name();
|
return m_data[index.row()].name();
|
||||||
} else if (role == IconRole) {
|
} else if (role == IconRole) {
|
||||||
return m_data[index.row()]->iconName();
|
return m_data[index.row()].iconName();
|
||||||
} else if (role == IdRole) {
|
} else if (role == IdRole) {
|
||||||
return m_data[index.row()]->pluginId();
|
return m_data[index.row()].pluginId();
|
||||||
}
|
}
|
||||||
return QVariant();
|
return QVariant();
|
||||||
}
|
}
|
||||||
|
|
@ -48,7 +48,7 @@ void SavedQuickSettingsModel::moveRow(int oldIndex, int newIndex)
|
||||||
Q_EMIT dataUpdated(m_data);
|
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);
|
Q_EMIT beginInsertRows(QModelIndex(), index, index);
|
||||||
m_data.insert(index, metaData);
|
m_data.insert(index, metaData);
|
||||||
|
|
@ -57,14 +57,14 @@ void SavedQuickSettingsModel::insertRow(KPluginMetaData *metaData, int index)
|
||||||
Q_EMIT dataUpdated(m_data);
|
Q_EMIT dataUpdated(m_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
KPluginMetaData *SavedQuickSettingsModel::takeRow(int index)
|
KPluginMetaData SavedQuickSettingsModel::takeRow(int index)
|
||||||
{
|
{
|
||||||
if (index < 0 || index >= m_data.size()) {
|
if (index < 0 || index >= m_data.size()) {
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
Q_EMIT beginRemoveRows(QModelIndex(), index, index);
|
Q_EMIT beginRemoveRows(QModelIndex(), index, index);
|
||||||
KPluginMetaData *tmp = m_data.takeAt(index);
|
KPluginMetaData tmp = m_data.takeAt(index);
|
||||||
Q_EMIT endRemoveRows();
|
Q_EMIT endRemoveRows();
|
||||||
|
|
||||||
Q_EMIT dataUpdated(m_data);
|
Q_EMIT dataUpdated(m_data);
|
||||||
|
|
@ -85,12 +85,12 @@ void SavedQuickSettingsModel::removeRow(int index)
|
||||||
Q_EMIT dataUpdated(m_data);
|
Q_EMIT dataUpdated(m_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<KPluginMetaData *> SavedQuickSettingsModel::list() const
|
QList<KPluginMetaData> SavedQuickSettingsModel::list() const
|
||||||
{
|
{
|
||||||
return m_data;
|
return m_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SavedQuickSettingsModel::updateData(QList<KPluginMetaData *> data)
|
void SavedQuickSettingsModel::updateData(QList<KPluginMetaData> data)
|
||||||
{
|
{
|
||||||
Q_EMIT beginResetModel();
|
Q_EMIT beginResetModel();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,18 +34,18 @@ public:
|
||||||
QHash<int, QByteArray> roleNames() const override;
|
QHash<int, QByteArray> roleNames() const override;
|
||||||
|
|
||||||
Q_INVOKABLE void moveRow(int oldIndex, int newIndex);
|
Q_INVOKABLE void moveRow(int oldIndex, int newIndex);
|
||||||
Q_INVOKABLE void insertRow(KPluginMetaData *metaData, int index);
|
Q_INVOKABLE void insertRow(KPluginMetaData metaData, int index);
|
||||||
Q_INVOKABLE KPluginMetaData *takeRow(int index);
|
Q_INVOKABLE KPluginMetaData takeRow(int index);
|
||||||
Q_INVOKABLE void removeRow(int index);
|
Q_INVOKABLE void removeRow(int index);
|
||||||
|
|
||||||
QList<KPluginMetaData *> list() const;
|
QList<KPluginMetaData> list() const;
|
||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
void updateData(QList<KPluginMetaData *> data);
|
void updateData(QList<KPluginMetaData> data);
|
||||||
|
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
void dataUpdated(QList<KPluginMetaData *> data);
|
void dataUpdated(QList<KPluginMetaData> data);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QList<KPluginMetaData *> m_data;
|
QList<KPluginMetaData> m_data;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue