Implement KCModule::load

icc-effect-5.14.5
Martin Gräßlin 2013-12-02 15:40:16 +01:00
parent 891af9cf54
commit e3c944feb2
3 changed files with 28 additions and 1 deletions

View File

@ -38,6 +38,7 @@ public:
public Q_SLOTS: public Q_SLOTS:
void save() override; void save() override;
void load() override;
private: private:
QScopedPointer<KWin::Compositing::EffectView> m_view; QScopedPointer<KWin::Compositing::EffectView> m_view;
@ -73,6 +74,12 @@ void KWinCompositingKCM::save()
KCModule::save(); KCModule::save();
} }
void KWinCompositingKCM::load()
{
m_view->load();
KCModule::load();
}
K_PLUGIN_FACTORY(KWinCompositingConfigFactory, K_PLUGIN_FACTORY(KWinCompositingConfigFactory,
registerPlugin<KWinCompositingKCM>(); registerPlugin<KWinCompositingKCM>();
) )

View File

@ -162,6 +162,8 @@ void EffectModel::loadEffects()
KConfigGroup kwinConfig(KSharedConfig::openConfig("kwinrc"), "Plugins"); KConfigGroup kwinConfig(KSharedConfig::openConfig("kwinrc"), "Plugins");
beginResetModel(); beginResetModel();
m_effectsChanged.clear();
m_effectsList.clear();
KService::List offers = KServiceTypeTrader::self()->query("KWin/Effect"); KService::List offers = KServiceTypeTrader::self()->query("KWin/Effect");
for(KService::Ptr service : offers) { for(KService::Ptr service : offers) {
const QString effectPluginPath = QStandardPaths::locate(QStandardPaths::GenericDataLocation, "kde5/services/"+ service->entryPath(), QStandardPaths::LocateFile); const QString effectPluginPath = QStandardPaths::locate(QStandardPaths::GenericDataLocation, "kde5/services/"+ service->entryPath(), QStandardPaths::LocateFile);
@ -356,6 +358,11 @@ void EffectFilterModel::enableWidnowManagement(bool enabled)
m_effectModel->enableWidnowManagement(enabled); m_effectModel->enableWidnowManagement(enabled);
} }
void EffectFilterModel::load()
{
m_effectModel->loadEffects();
}
EffectView::EffectView(QWindow *parent) EffectView::EffectView(QWindow *parent)
: QQuickView(parent) : QQuickView(parent)
{ {
@ -385,5 +392,15 @@ void EffectView::save()
} }
} }
void EffectView::load()
{
if (auto *model = rootObject()->findChild<EffectFilterModel*>(QStringLiteral("filterModel"))) {
model->load();
}
if (auto *compositing = rootObject()->findChild<Compositing*>(QStringLiteral("compositing"))) {
compositing->reset();
}
}
}//end namespace Compositing }//end namespace Compositing
}//end namespace KWin }//end namespace KWin

View File

@ -81,9 +81,9 @@ public:
void syncEffectsToKWin(); void syncEffectsToKWin();
void syncConfig(); void syncConfig();
void enableWidnowManagement(bool enabled); void enableWidnowManagement(bool enabled);
void loadEffects();
private: private:
void loadEffects();
void handleDesktopSwitching(int row); void handleDesktopSwitching(int row);
void handleWindowManagement(int row, bool enabled); void handleWindowManagement(int row, bool enabled);
int findRowByServiceName(const QString &serviceName); int findRowByServiceName(const QString &serviceName);
@ -103,6 +103,7 @@ public:
Q_INVOKABLE QColor backgroundViewColor() { return KColorScheme(QPalette::Active, KColorScheme::Window, KSharedConfigPtr(0)).background(KColorScheme::NormalBackground).color(); }; Q_INVOKABLE QColor backgroundViewColor() { return KColorScheme(QPalette::Active, KColorScheme::Window, KSharedConfigPtr(0)).background(KColorScheme::NormalBackground).color(); };
void save(); void save();
void load();
Q_SIGNALS: Q_SIGNALS:
void changed(); void changed();
@ -130,6 +131,8 @@ public:
QColor backgroundNormalColor() { return KColorScheme(QPalette::Active, KColorScheme::View, KSharedConfigPtr(0)).background(KColorScheme::NormalBackground).color(); }; QColor backgroundNormalColor() { return KColorScheme(QPalette::Active, KColorScheme::View, KSharedConfigPtr(0)).background(KColorScheme::NormalBackground).color(); };
QColor backgroundAlternateColor() { return KColorScheme(QPalette::Active, KColorScheme::View, KSharedConfigPtr(0)).background(KColorScheme::AlternateBackground).color(); }; QColor backgroundAlternateColor() { return KColorScheme(QPalette::Active, KColorScheme::View, KSharedConfigPtr(0)).background(KColorScheme::AlternateBackground).color(); };
void load();
public Q_SLOTS: public Q_SLOTS:
void setFilter(const QString &filter); void setFilter(const QString &filter);