diff --git a/app/src/handlers/confighandler.cpp b/app/src/handlers/confighandler.cpp
index 26d7722925131f24bc42b0972ade92df5c511539..a04c16d34cde20c6d499cd3b127f878f52e6ea7b 100644
--- a/app/src/handlers/confighandler.cpp
+++ b/app/src/handlers/confighandler.cpp
@@ -45,47 +45,47 @@ QJsonObject ConfigHandler::getAppConfigInstallTypes()
     return appConfigInstallTypes_;
 }
 
-QJsonObject ConfigHandler::getUsrConfigApplication()
+QJsonObject ConfigHandler::getUsrConfigApplication() const
 {
     return usrConfig_.get("application");
 }
 
-bool ConfigHandler::setUsrConfigApplication(const QJsonObject &object)
+bool ConfigHandler::setUsrConfigApplication(const QJsonObject &object) const
 {
     return usrConfig_.set("application", object);
 }
 
-QJsonObject ConfigHandler::getUsrConfigProviders()
+QJsonObject ConfigHandler::getUsrConfigProviders() const
 {
     return usrConfig_.get("providers");
 }
 
-bool ConfigHandler::setUsrConfigProviders(const QJsonObject &object)
+bool ConfigHandler::setUsrConfigProviders(const QJsonObject &object) const
 {
     return usrConfig_.set("providers", object);
 }
 
-QJsonObject ConfigHandler::getUsrConfigCategories()
+QJsonObject ConfigHandler::getUsrConfigCategories() const
 {
     return usrConfig_.get("categories");
 }
 
-bool ConfigHandler::setUsrConfigCategories(const QJsonObject &object)
+bool ConfigHandler::setUsrConfigCategories(const QJsonObject &object) const
 {
     return usrConfig_.set("categories", object);
 }
 
-QJsonObject ConfigHandler::getUsrConfigInstalledItems()
+QJsonObject ConfigHandler::getUsrConfigInstalledItems() const
 {
     return usrConfig_.get("installed_items");
 }
 
-bool ConfigHandler::setUsrConfigInstalledItems(const QJsonObject &object)
+bool ConfigHandler::setUsrConfigInstalledItems(const QJsonObject &object) const
 {
     return usrConfig_.set("installed_items", object);
 }
 
-bool ConfigHandler::setUsrConfigProvidersProvider(const QString &providerKey, const QJsonObject &object)
+bool ConfigHandler::setUsrConfigProvidersProvider(const QString &providerKey, const QJsonObject &object) const
 {
     /* object format
     {
@@ -103,14 +103,14 @@ bool ConfigHandler::setUsrConfigProvidersProvider(const QString &providerKey, co
     return setUsrConfigProviders(providers);
 }
 
-bool ConfigHandler::removeUsrConfigProvidersProvider(const QString &providerKey)
+bool ConfigHandler::removeUsrConfigProvidersProvider(const QString &providerKey) const
 {
     auto providers = getUsrConfigProviders();
     providers.remove(providerKey);
     return setUsrConfigProviders(providers);
 }
 
-bool ConfigHandler::setUsrConfigCategoriesProvider(const QString &providerKey, const QJsonObject &object)
+bool ConfigHandler::setUsrConfigCategoriesProvider(const QString &providerKey, const QJsonObject &object) const
 {
     /* object format
     {
@@ -131,14 +131,14 @@ bool ConfigHandler::setUsrConfigCategoriesProvider(const QString &providerKey, c
     return setUsrConfigCategories(categories);
 }
 
-bool ConfigHandler::removeUsrConfigCategoriesProvider(const QString &providerKey)
+bool ConfigHandler::removeUsrConfigCategoriesProvider(const QString &providerKey) const
 {
     auto categories = getUsrConfigCategories();
     categories.remove(providerKey);
     return setUsrConfigCategories(categories);
 }
 
-bool ConfigHandler::setUsrConfigCategoriesInstallType(const QString &providerKey, const QString &categoryKey, const QString &installType)
+bool ConfigHandler::setUsrConfigCategoriesInstallType(const QString &providerKey, const QString &categoryKey, const QString &installType) const
 {
     auto categories = getUsrConfigCategories();
     QJsonObject providerCategories;
@@ -155,7 +155,7 @@ bool ConfigHandler::setUsrConfigCategoriesInstallType(const QString &providerKey
     return setUsrConfigCategories(categories);
 }
 
-bool ConfigHandler::setUsrConfigInstalledItemsItem(const QString &itemKey, const QJsonObject &object)
+bool ConfigHandler::setUsrConfigInstalledItemsItem(const QString &itemKey, const QJsonObject &object) const
 {
     /* object format
     {
@@ -176,14 +176,14 @@ bool ConfigHandler::setUsrConfigInstalledItemsItem(const QString &itemKey, const
     return setUsrConfigInstalledItems(installedItems);
 }
 
-bool ConfigHandler::removeUsrConfigInstalledItemsItem(const QString &itemKey)
+bool ConfigHandler::removeUsrConfigInstalledItemsItem(const QString &itemKey) const
 {
     auto installedItems = getUsrConfigInstalledItems();
     installedItems.remove(itemKey);
     return setUsrConfigInstalledItems(installedItems);
 }
 
-QString ConfigHandler::convertPathString(const QString &path)
+QString ConfigHandler::convertPathString(const QString &path) const
 {
     auto newPath = path;
     if (newPath.contains("$HOME")) {
diff --git a/app/src/handlers/confighandler.h b/app/src/handlers/confighandler.h
index e46ce5bef2b7998f5ed21a891e53ebf6b7403b91..ff4a841826e7ab7dc5ec64e98d3f5963956e0488 100644
--- a/app/src/handlers/confighandler.h
+++ b/app/src/handlers/confighandler.h
@@ -16,25 +16,25 @@ public slots:
     QJsonObject getAppConfigApplication();
     QJsonObject getAppConfigInstallTypes();
 
-    QJsonObject getUsrConfigApplication();
-    bool setUsrConfigApplication(const QJsonObject &object);
-    QJsonObject getUsrConfigProviders();
-    bool setUsrConfigProviders(const QJsonObject &object);
-    QJsonObject getUsrConfigCategories();
-    bool setUsrConfigCategories(const QJsonObject &object);
-    QJsonObject getUsrConfigInstalledItems();
-    bool setUsrConfigInstalledItems(const QJsonObject &object);
-
-    bool setUsrConfigProvidersProvider(const QString &providerKey, const QJsonObject &object);
-    bool removeUsrConfigProvidersProvider(const QString &providerKey);
-    bool setUsrConfigCategoriesProvider(const QString &providerKey, const QJsonObject &object);
-    bool removeUsrConfigCategoriesProvider(const QString &providerKey);
-    bool setUsrConfigCategoriesInstallType(const QString &providerKey, const QString &categoryKey, const QString &installType);
-    bool setUsrConfigInstalledItemsItem(const QString &itemKey, const QJsonObject &object);
-    bool removeUsrConfigInstalledItemsItem(const QString &itemKey);
+    QJsonObject getUsrConfigApplication() const;
+    bool setUsrConfigApplication(const QJsonObject &object) const;
+    QJsonObject getUsrConfigProviders() const;
+    bool setUsrConfigProviders(const QJsonObject &object) const;
+    QJsonObject getUsrConfigCategories() const;
+    bool setUsrConfigCategories(const QJsonObject &object) const;
+    QJsonObject getUsrConfigInstalledItems() const;
+    bool setUsrConfigInstalledItems(const QJsonObject &object) const;
+
+    bool setUsrConfigProvidersProvider(const QString &providerKey, const QJsonObject &object) const;
+    bool removeUsrConfigProvidersProvider(const QString &providerKey) const;
+    bool setUsrConfigCategoriesProvider(const QString &providerKey, const QJsonObject &object) const;
+    bool removeUsrConfigCategoriesProvider(const QString &providerKey) const;
+    bool setUsrConfigCategoriesInstallType(const QString &providerKey, const QString &categoryKey, const QString &installType) const;
+    bool setUsrConfigInstalledItemsItem(const QString &itemKey, const QJsonObject &object) const;
+    bool removeUsrConfigInstalledItemsItem(const QString &itemKey) const;
 
 private:
-    QString convertPathString(const QString &path);
+    QString convertPathString(const QString &path) const;
 
     qtlib::Config appConfig_;
     qtlib::Config usrConfig_;
diff --git a/app/src/handlers/ocsapihandler.cpp b/app/src/handlers/ocsapihandler.cpp
index 83f44870e30edef86abb80d9b569cd89df294b62..eccfdd7fb6475adbd1773aea435db2481d46fb56 100644
--- a/app/src/handlers/ocsapihandler.cpp
+++ b/app/src/handlers/ocsapihandler.cpp
@@ -11,7 +11,7 @@ OcsApiHandler::OcsApiHandler(ConfigHandler *configHandler, QObject *parent)
     : QObject(parent), configHandler_(configHandler)
 {}
 
-bool OcsApiHandler::addProviders(const QString &providerFileUrl)
+bool OcsApiHandler::addProviders(const QString &providerFileUrl) const
 {
     auto providers = qtlib::OcsApi::getProviderFile(QUrl(providerFileUrl));
     if (!providers.isEmpty()) {
@@ -30,7 +30,7 @@ bool OcsApiHandler::addProviders(const QString &providerFileUrl)
     return false;
 }
 
-bool OcsApiHandler::removeProvider(const QString &providerKey)
+bool OcsApiHandler::removeProvider(const QString &providerKey) const
 {
     if (configHandler_->removeUsrConfigProvidersProvider(providerKey)) {
         configHandler_->removeUsrConfigCategoriesProvider(providerKey);
@@ -39,7 +39,7 @@ bool OcsApiHandler::removeProvider(const QString &providerKey)
     return false;
 }
 
-bool OcsApiHandler::updateAllCategories(bool force)
+bool OcsApiHandler::updateAllCategories(bool force) const
 {
     auto providers = configHandler_->getUsrConfigProviders();
     if (!providers.isEmpty()) {
@@ -51,7 +51,7 @@ bool OcsApiHandler::updateAllCategories(bool force)
     return false;
 }
 
-bool OcsApiHandler::updateCategories(const QString &providerKey, bool force)
+bool OcsApiHandler::updateCategories(const QString &providerKey, bool force) const
 {
     auto providers = configHandler_->getUsrConfigProviders();
 
@@ -136,7 +136,7 @@ bool OcsApiHandler::updateCategories(const QString &providerKey, bool force)
 
 QJsonObject OcsApiHandler::getContents(const QString &providerKeys, const QString &categoryKeys,
                                        const QString &xdgTypes, const QString &packageTypes,
-                                       const QString &search, const QString &sortmode, int pagesize, int page)
+                                       const QString &search, const QString &sortmode, int pagesize, int page) const
 {
     QJsonObject responseSet;
 
@@ -192,7 +192,7 @@ QJsonObject OcsApiHandler::getContents(const QString &providerKeys, const QStrin
     return responseSet;
 }
 
-QJsonObject OcsApiHandler::getContent(const QString &providerKey, const QString &contentId)
+QJsonObject OcsApiHandler::getContent(const QString &providerKey, const QString &contentId) const
 {
     QJsonObject response;
     auto providers = configHandler_->getUsrConfigProviders();
diff --git a/app/src/handlers/ocsapihandler.h b/app/src/handlers/ocsapihandler.h
index b208613358b76e15865950fe6a847b5ca3edcbf5..9e59f9ec51bf0d6924d76e5e6df773656cc313ff 100644
--- a/app/src/handlers/ocsapihandler.h
+++ b/app/src/handlers/ocsapihandler.h
@@ -13,14 +13,14 @@ public:
     explicit OcsApiHandler(ConfigHandler *configHandler, QObject *parent = nullptr);
 
 public slots:
-    bool addProviders(const QString &providerFileUrl);
-    bool removeProvider(const QString &providerKey);
-    bool updateAllCategories(bool force = false);
-    bool updateCategories(const QString &providerKey, bool force = false);
+    bool addProviders(const QString &providerFileUrl) const;
+    bool removeProvider(const QString &providerKey) const;
+    bool updateAllCategories(bool force = false) const;
+    bool updateCategories(const QString &providerKey, bool force = false) const;
     QJsonObject getContents(const QString &providerKeys = "", const QString &categoryKeys = "",
                             const QString &xdgTypes = "", const QString &packageTypes = "",
-                            const QString &search = "", const QString &sortmode = "new", int pagesize = 25, int page = 0);
-    QJsonObject getContent(const QString &providerKey, const QString &contentId);
+                            const QString &search = "", const QString &sortmode = "new", int pagesize = 25, int page = 0) const;
+    QJsonObject getContent(const QString &providerKey, const QString &contentId) const;
 
 private:
     ConfigHandler *configHandler_;
diff --git a/app/src/handlers/systemhandler.cpp b/app/src/handlers/systemhandler.cpp
index fe55c875993f507d7e8882267f4db5ade0b57868..13ff4a61984b4d915f347993c12d5fd55811492e 100644
--- a/app/src/handlers/systemhandler.cpp
+++ b/app/src/handlers/systemhandler.cpp
@@ -20,7 +20,7 @@ SystemHandler::SystemHandler(QObject *parent)
     : QObject(parent)
 {}
 
-bool SystemHandler::isUnix()
+bool SystemHandler::isUnix() const
 {
 #ifdef QTLIB_UNIX
     return true;
@@ -28,7 +28,7 @@ bool SystemHandler::isUnix()
     return false;
 }
 
-bool SystemHandler::isMobileDevice()
+bool SystemHandler::isMobileDevice() const
 {
 #if defined(APP_MOBILE)
     return true;
@@ -40,7 +40,7 @@ bool SystemHandler::isMobileDevice()
     return false;
 }
 
-bool SystemHandler::openUrl(const QString &url)
+bool SystemHandler::openUrl(const QString &url) const
 {
     auto path = url;
     path.replace("file://localhost", "", Qt::CaseInsensitive);
@@ -62,7 +62,7 @@ bool SystemHandler::openUrl(const QString &url)
     return QDesktopServices::openUrl(QUrl(url));
 }
 
-QString SystemHandler::desktopEnvironment()
+QString SystemHandler::desktopEnvironment() const
 {
     QString desktop = "unknown";
     QString currentDesktop = "";
@@ -89,7 +89,7 @@ QString SystemHandler::desktopEnvironment()
     return desktop;
 }
 
-bool SystemHandler::isApplicableType(const QString &installType)
+bool SystemHandler::isApplicableType(const QString &installType) const
 {
     auto desktop = desktopEnvironment();
 
@@ -114,7 +114,7 @@ bool SystemHandler::isApplicableType(const QString &installType)
 }
 
 #ifdef QTLIB_UNIX
-bool SystemHandler::applyFile(const QString &path, const QString &installType)
+bool SystemHandler::applyFile(const QString &path, const QString &installType) const
 {
     if (QFileInfo::exists(path) && isApplicableType(installType)) {
         if (installType == "wallpapers") {
@@ -137,7 +137,7 @@ bool SystemHandler::applyFile(const QString &path, const QString &installType)
 #endif
 
 #ifdef QTLIB_UNIX
-bool SystemHandler::applyWallpaper(const QString &path)
+bool SystemHandler::applyWallpaper(const QString &path) const
 {
     auto desktop = desktopEnvironment();
 
@@ -197,7 +197,7 @@ bool SystemHandler::applyWallpaper(const QString &path)
     return false;
 }
 
-bool SystemHandler::applyIcon(const QString &path)
+bool SystemHandler::applyIcon(const QString &path) const
 {
     qDebug() << path;
 
@@ -212,7 +212,7 @@ bool SystemHandler::applyIcon(const QString &path)
     return false;
 }
 
-bool SystemHandler::applyCursor(const QString &path)
+bool SystemHandler::applyCursor(const QString &path) const
 {
     qDebug() << path;
 
@@ -227,7 +227,7 @@ bool SystemHandler::applyCursor(const QString &path)
     return false;
 }
 
-bool SystemHandler::applyWindowTheme(const QString &path)
+bool SystemHandler::applyWindowTheme(const QString &path) const
 {
     qDebug() << path;
 
diff --git a/app/src/handlers/systemhandler.h b/app/src/handlers/systemhandler.h
index 3cbb28f70cd4136d0c2626de313301da85facade..b4697833b8a86be062fa31a0dbfe1e7132818153 100644
--- a/app/src/handlers/systemhandler.h
+++ b/app/src/handlers/systemhandler.h
@@ -10,22 +10,22 @@ public:
     explicit SystemHandler(QObject *parent = nullptr);
 
 public slots:
-    bool isUnix();
-    bool isMobileDevice();
-    bool openUrl(const QString &url);
+    bool isUnix() const;
+    bool isMobileDevice() const;
+    bool openUrl(const QString &url) const;
 
-    QString desktopEnvironment();
-    bool isApplicableType(const QString &installType);
+    QString desktopEnvironment() const;
+    bool isApplicableType(const QString &installType) const;
 
 #ifdef QTLIB_UNIX
-    bool applyFile(const QString &path, const QString &installType);
+    bool applyFile(const QString &path, const QString &installType) const;
 #endif
 
 private:
 #ifdef QTLIB_UNIX
-    bool applyWallpaper(const QString &path);
-    bool applyIcon(const QString &path);
-    bool applyCursor(const QString &path);
-    bool applyWindowTheme(const QString &path);
+    bool applyWallpaper(const QString &path) const;
+    bool applyIcon(const QString &path) const;
+    bool applyCursor(const QString &path) const;
+    bool applyWindowTheme(const QString &path) const;
 #endif
 };
diff --git a/app/src/websockets/websocketserver.cpp b/app/src/websockets/websocketserver.cpp
index 16add002523b5763192a6d5d9d5b8d94a8c6160a..14e6dc320c8a7eaa222502f671a4dc345ad49852 100644
--- a/app/src/websockets/websocketserver.cpp
+++ b/app/src/websockets/websocketserver.cpp
@@ -54,7 +54,7 @@ void WebSocketServer::stop()
     wsServer_->close();
 }
 
-bool WebSocketServer::isError()
+bool WebSocketServer::isError() const
 {
     if (wsServer_->error() != QWebSocketProtocol::CloseCodeNormal) {
         return true;
@@ -62,12 +62,12 @@ bool WebSocketServer::isError()
     return false;
 }
 
-QString WebSocketServer::errorString()
+QString WebSocketServer::errorString() const
 {
     return wsServer_->errorString();
 }
 
-QUrl WebSocketServer::serverUrl()
+QUrl WebSocketServer::serverUrl() const
 {
     return wsServer_->serverUrl();
 }
diff --git a/app/src/websockets/websocketserver.h b/app/src/websockets/websocketserver.h
index d0a269520ff65428e8e74ce21a412e5c549de5cc..350903a064f95bd72cbf2d98118eb8cb9d611fa2 100644
--- a/app/src/websockets/websocketserver.h
+++ b/app/src/websockets/websocketserver.h
@@ -28,9 +28,9 @@ signals:
 public slots:
     bool start();
     void stop();
-    bool isError();
-    QString errorString();
-    QUrl serverUrl();
+    bool isError() const;
+    QString errorString() const;
+    QUrl serverUrl() const;
 
 private slots:
     void wsNewConnection();