diff --git a/app/src/handlers/systemhandler.cpp b/app/src/handlers/systemhandler.cpp
index cb1f9135ad1f53eb9b66afcdd498aed969fd76df..a5c3d10658d2dc7a79c9a6ded69179bd13d5977b 100644
--- a/app/src/handlers/systemhandler.cpp
+++ b/app/src/handlers/systemhandler.cpp
@@ -8,7 +8,6 @@
#include <QProcess>
#include <QDBusMessage>
#include <QDBusConnection>
-#include <QDBusVariant>
#include <QDebug>
#endif
@@ -297,15 +296,10 @@ bool SystemHandler::applyGnomeGnomeShellTheme(const QString &path) const
return QProcess::startDetached("gsettings", arguments);
}
-bool SystemHandler::applyXfceWallpaper(const QString &path) const
+bool SystemHandler::setPropertyWithXfconf(const QString &channel, const QString &property, const QDBusVariant &value) const
{
- QString channelValue = "xfce4-desktop";
- //QString propertyValue = "/backdrop/screen0/monitor0/image-path";
- QString propertyValue = "/backdrop/screen0/monitor0/workspace0/last-image";
- QDBusVariant valueValue(path);
-
auto message = QDBusMessage::createMethodCall("org.xfce.Xfconf", "/org/xfce/Xfconf", "org.xfce.Xfconf", "SetProperty");
- message.setArguments(QVariantList() << QVariant(channelValue) << QVariant(propertyValue) << QVariant::fromValue(valueValue));
+ message.setArguments(QVariantList() << QVariant(channel) << QVariant(property) << QVariant::fromValue(value));
auto reply = QDBusConnection::sessionBus().call(message);
if (reply.type() == QDBusMessage::ErrorMessage) {
@@ -314,4 +308,9 @@ bool SystemHandler::applyXfceWallpaper(const QString &path) const
}
return true;
}
+
+bool SystemHandler::applyXfceWallpaper(const QString &path) const
+{
+ return setPropertyWithXfconf("xfce4-desktop", "/backdrop/screen0/monitor0/workspace0/last-image", QDBusVariant(path));
+}
#endif
diff --git a/app/src/handlers/systemhandler.h b/app/src/handlers/systemhandler.h
index 06cd247a85ddef772a5752a2afe21779ff7d4828..1d61714dff33ea080770cf1ba9fb631cbf32107b 100644
--- a/app/src/handlers/systemhandler.h
+++ b/app/src/handlers/systemhandler.h
@@ -2,6 +2,10 @@
#include <QObject>
+#ifdef QTLIB_UNIX
+#include <QDBusVariant>
+#endif
+
class SystemHandler : public QObject
{
Q_OBJECT
@@ -36,6 +40,7 @@ private:
bool applyGnomeGtk3Theme(const QString &path) const;
bool applyGnomeGnomeShellTheme(const QString &path) const;
+ bool setPropertyWithXfconf(const QString &channel, const QString &property, const QDBusVariant &value) const;
bool applyXfceWallpaper(const QString &path) const;
#endif
};