Skip to content
Snippets Groups Projects
Commit bfc86dda authored by akiraohgaki's avatar akiraohgaki
Browse files

Apply cursor with kde

parent 3a707c2a
Branches
Tags
No related merge requests found
......@@ -97,7 +97,8 @@ bool SystemHandler::isApplicableType(const QString &installType) const
if (desktop == "kde") {
applicableTypes << "wallpapers"
<< "icons";
<< "icons"
<< "cursors";
}
else if (desktop == "gnome") {
applicableTypes << "wallpapers"
......@@ -126,6 +127,9 @@ bool SystemHandler::applyFile(const QString &path, const QString &installType) c
else if (installType == "icons") {
return applyKdeIcon(path);
}
else if (installType == "cursors") {
return applyKdeCursor(path);
}
}
else if (desktop == "gnome") {
if (installType == "wallpapers") {
......@@ -208,6 +212,31 @@ bool SystemHandler::applyKdeIcon(const QString &path) const
return true;
}
bool SystemHandler::applyKdeCursor(const QString &path) const
{
auto themeName = QFileInfo(path).fileName();
auto message = QDBusMessage::createMethodCall("org.kde.plasmashell", "/PlasmaShell", "org.kde.PlasmaShell", "evaluateScript");
QString script;
QTextStream out(&script);
out << "var c = ConfigFile('kcminputrc');"
<< "c.group = 'Mouse';"
<< "c.writeEntry('cursorTheme', '" + themeName + "');";
QVariantList arguments;
arguments << QVariant(script);
message.setArguments(arguments);
auto reply = QDBusConnection::sessionBus().call(message);
if (reply.type() == QDBusMessage::ErrorMessage) {
qWarning() << reply.errorMessage();
return false;
}
return true;
}
bool SystemHandler::applyGnomeWallpaper(const QString &path) const
{
QStringList arguments{"set", "org.gnome.desktop.background", "picture-uri", "file://" + path};
......
......@@ -25,6 +25,7 @@ private:
#ifdef QTLIB_UNIX
bool applyKdeWallpaper(const QString &path) const;
bool applyKdeIcon(const QString &path) const;
bool applyKdeCursor(const QString &path) const;
bool applyGnomeWallpaper(const QString &path) const;
bool applyGnomeIcon(const QString &path) const;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment