Skip to content
Snippets Groups Projects
systemhandler.h 1.64 KiB
Newer Older
akiraohgaki's avatar
akiraohgaki committed
#pragma once

#include <QObject>

class SystemHandler : public QObject
{
    Q_OBJECT

public:
akiraohgaki's avatar
akiraohgaki committed
    explicit SystemHandler(QObject *parent = nullptr);
akiraohgaki's avatar
akiraohgaki committed

public slots:
akiraohgaki's avatar
akiraohgaki committed
    bool isUnix() const;
    bool isMobileDevice() const;
    bool openUrl(const QString &url) const;
akiraohgaki's avatar
akiraohgaki committed

akiraohgaki's avatar
akiraohgaki committed
    QString desktopEnvironment() const;
    bool isApplicableType(const QString &installType) const;
akiraohgaki's avatar
akiraohgaki committed

#ifdef QTLIB_UNIX
akiraohgaki's avatar
akiraohgaki committed
    bool applyFile(const QString &path, const QString &installType) const;
akiraohgaki's avatar
akiraohgaki committed
#endif

private:
#ifdef QTLIB_UNIX
akiraohgaki's avatar
akiraohgaki committed
    bool setConfigWithPlasmaShell(const QString &script) const;
akiraohgaki's avatar
akiraohgaki committed
    bool applyKdeWallpaper(const QString &path) const;
akiraohgaki's avatar
akiraohgaki committed
    bool applyKdeIcon(const QString &themeName) const;
    bool applyKdeCursor(const QString &themeName) const;
    bool applyKdePlasmaDesktoptheme(const QString &themeName) const;
    bool applyKdeAuroraeTheme(const QString &themeName) const;
akiraohgaki's avatar
akiraohgaki committed

akiraohgaki's avatar
akiraohgaki committed
    bool setConfigWithGsettings(const QString &schema, const QString &key, const QString &value) const;
akiraohgaki's avatar
akiraohgaki committed
    bool applyGnomeWallpaper(const QString &path) const;
akiraohgaki's avatar
akiraohgaki committed
    bool applyGnomeIcon(const QString &themeName) const;
    bool applyGnomeCursor(const QString &themeName) const;
    bool applyGnomeGtk3Theme(const QString &themeName) const;
    bool applyGnomeGnomeShellTheme(const QString &themeName) const;
akiraohgaki's avatar
akiraohgaki committed

akiraohgaki's avatar
akiraohgaki committed
    bool setConfigWithXfconf(const QString &channel, const QString &property, const QString &value) const;
akiraohgaki's avatar
akiraohgaki committed
    bool applyXfceWallpaper(const QString &path) const;
akiraohgaki's avatar
akiraohgaki committed
    bool applyXfceIcon(const QString &themeName) const;
akiraohgaki's avatar
akiraohgaki committed
    bool applyXfceCursor(const QString &themeName) const;
akiraohgaki's avatar
akiraohgaki committed
    bool applyXfceGtk3Theme(const QString &themeName) const;
    bool applyXfceXfwm4Theme(const QString &themeName) const;
akiraohgaki's avatar
akiraohgaki committed
#endif
};