kdebase4-workspace/kde-workspace-4.11.4-screenlocker-background.patch
2013-12-18 22:00:26 +11:00

69 lines
3.4 KiB
Diff

diff -urN kde-workspace-4.11.4/ksmserver/screenlocker/greeter/greeterapp.cpp kde-workspace-4.11.4-patched/ksmserver/screenlocker/greeter/greeterapp.cpp
--- kde-workspace-4.11.4/ksmserver/screenlocker/greeter/greeterapp.cpp 2013-11-29 01:46:36.609007286 +1100
+++ kde-workspace-4.11.4-patched/ksmserver/screenlocker/greeter/greeterapp.cpp 2013-12-05 09:12:59.528342580 +1100
@@ -196,6 +196,12 @@
lockProperty.write(false);
}
+ QString wallpaper = getWallpaper();
+ if (!wallpaper.isEmpty()) {
+ QDeclarativeProperty backgroundProperty(view->rootObject(), "mainBackground");
+ backgroundProperty.write(wallpaper);
+ }
+
QDeclarativeProperty sleepProperty(view->rootObject(), "suspendToRamSupported");
sleepProperty.write(spdMethods.contains(Solid::PowerManagement::SuspendState));
if (spdMethods.contains(Solid::PowerManagement::SuspendState) &&
@@ -508,6 +514,30 @@
}
}
+QString UnlockApp::getWallpaper()
+{
+ QString wallpaper;
+ QString wallpaperPosition;
+ KConfig plasmaConfig("plasma-desktop-appletsrc", KConfig::NoGlobals);
+ KConfigGroup mainGroup = KConfigGroup(&plasmaConfig, "Containments");
+ foreach (const QString &containment, mainGroup.groupList()) {
+ KConfigGroup containmentsGroup = KConfigGroup(&mainGroup, containment);
+ if (containmentsGroup.groupList().contains("Wallpaper")) {
+ if (containmentsGroup.readEntry("wallpaperplugin") == "image") {
+ KConfigGroup wallpaperGroup = KConfigGroup(&containmentsGroup, "Wallpaper");
+ KConfigGroup imageGroup = KConfigGroup(&wallpaperGroup, "image");
+ wallpaperPosition = imageGroup.readEntry("wallpaperposition");
+ // Ignore wallpaper if it's not scaled to avoid possible ugly result
+ if ((wallpaperPosition == "0") || (wallpaperPosition == "2") || (wallpaperPosition == "5")) {
+ wallpaper = imageGroup.readEntry("wallpaper");
+ break;
+ }
+ }
+ }
+ }
+ return wallpaper;
+}
+
} // namespace
#include "greeterapp.moc"
diff -urN kde-workspace-4.11.4/ksmserver/screenlocker/greeter/greeterapp.h kde-workspace-4.11.4-patched/ksmserver/screenlocker/greeter/greeterapp.h
--- kde-workspace-4.11.4/ksmserver/screenlocker/greeter/greeterapp.h 2013-11-29 01:46:36.609007286 +1100
+++ kde-workspace-4.11.4-patched/ksmserver/screenlocker/greeter/greeterapp.h 2013-12-05 09:14:35.281875469 +1100
@@ -64,6 +64,7 @@
void initialize();
void capsLocked();
void shareEvent(QEvent *e, QDeclarativeView *from);
+ QString getWallpaper();
QString m_mainQmlPath;
QList<QDeclarativeView*> m_views;
diff -urN kde-workspace-4.11.4/ksmserver/screenlocker/greeter/themes/org.kde.passworddialog/contents/ui/main.qml kde-workspace-4.11.4-patched/ksmserver/screenlocker/greeter/themes/org.kde.passworddialog/contents/ui/main.qml
--- kde-workspace-4.11.4/ksmserver/screenlocker/greeter/themes/org.kde.passworddialog/contents/ui/main.qml 2013-11-29 01:46:36.610007279 +1100
+++ kde-workspace-4.11.4-patched/ksmserver/screenlocker/greeter/themes/org.kde.passworddialog/contents/ui/main.qml 2013-12-05 09:15:38.210878138 +1100
@@ -28,6 +28,7 @@
signal unlockRequested()
property alias capsLockOn: unlockUI.capsLockOn
property bool locked: false
+ property alias mainBackground: background.source
PlasmaCore.Theme {
id: theme