From 6b777076e2d7d3e638690faf018e068a20db353e Mon Sep 17 00:00:00 2001 From: Akira Ohgaki <akiraohgaki@gmail.com> Date: Wed, 28 Jun 2017 10:37:56 +0900 Subject: [PATCH] Add function to set schema with gsettings --- app/src/handlers/systemhandler.cpp | 24 ++++++++++-------------- app/src/handlers/systemhandler.h | 1 + 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/app/src/handlers/systemhandler.cpp b/app/src/handlers/systemhandler.cpp index a5c3d10..82e5756 100644 --- a/app/src/handlers/systemhandler.cpp +++ b/app/src/handlers/systemhandler.cpp @@ -262,38 +262,34 @@ bool SystemHandler::applyKdeAuroraeTheme(const QString &path) const return false; } +bool SystemHandler::setSchemaWithGsettings(const QString &schema, const QString &key, const QString &value) const +{ + return QProcess::startDetached("gsettings", QStringList() << "set" << schema << key << value); +} + bool SystemHandler::applyGnomeWallpaper(const QString &path) const { - QStringList arguments{"set", "org.gnome.desktop.background", "picture-uri", "file://" + path}; - return QProcess::startDetached("gsettings", arguments); + return setSchemaWithGsettings("org.gnome.desktop.background", "picture-uri", "file://" + path); } bool SystemHandler::applyGnomeIcon(const QString &path) const { - auto themeName = QFileInfo(path).fileName(); - QStringList arguments{"set", "org.gnome.desktop.interface", "icon-theme", themeName}; - return QProcess::startDetached("gsettings", arguments); + return setSchemaWithGsettings("org.gnome.desktop.interface", "icon-theme", QFileInfo(path).fileName()); } bool SystemHandler::applyGnomeCursor(const QString &path) const { - auto themeName = QFileInfo(path).fileName(); - QStringList arguments{"set", "org.gnome.desktop.interface", "cursor-theme", themeName}; - return QProcess::startDetached("gsettings", arguments); + return setSchemaWithGsettings("org.gnome.desktop.interface", "cursor-theme", QFileInfo(path).fileName()); } bool SystemHandler::applyGnomeGtk3Theme(const QString &path) const { - auto themeName = QFileInfo(path).fileName(); - QStringList arguments{"set", "org.gnome.desktop.interface", "gtk-theme", themeName}; - return QProcess::startDetached("gsettings", arguments); + return setSchemaWithGsettings("org.gnome.desktop.interface", "gtk-theme", QFileInfo(path).fileName()); } bool SystemHandler::applyGnomeGnomeShellTheme(const QString &path) const { - auto themeName = QFileInfo(path).fileName(); - QStringList arguments{"set", "org.gnome.shell.extensions.user-theme", "name", themeName}; - return QProcess::startDetached("gsettings", arguments); + return setSchemaWithGsettings("org.gnome.shell.extensions.user-theme", "name", QFileInfo(path).fileName()); } bool SystemHandler::setPropertyWithXfconf(const QString &channel, const QString &property, const QDBusVariant &value) const diff --git a/app/src/handlers/systemhandler.h b/app/src/handlers/systemhandler.h index 1d61714..0ed6fb0 100644 --- a/app/src/handlers/systemhandler.h +++ b/app/src/handlers/systemhandler.h @@ -34,6 +34,7 @@ private: bool applyKdePlasmaDesktoptheme(const QString &path) const; bool applyKdeAuroraeTheme(const QString &path) const; + bool setSchemaWithGsettings(const QString &schema, const QString &key, const QString &value) const; bool applyGnomeWallpaper(const QString &path) const; bool applyGnomeIcon(const QString &path) const; bool applyGnomeCursor(const QString &path) const; -- GitLab