mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-01-24 21:42:51 -05:00
themes: incorporate theme registry, browser, dms URI scheme handling
This commit is contained in:
@@ -16,6 +16,8 @@ Singleton {
|
||||
readonly property int expectedApiVersion: 1
|
||||
property var availablePlugins: []
|
||||
property var installedPlugins: []
|
||||
property var availableThemes: []
|
||||
property var installedThemes: []
|
||||
property bool isConnected: false
|
||||
property bool isConnecting: false
|
||||
property bool subscribeConnected: false
|
||||
@@ -33,6 +35,9 @@ Singleton {
|
||||
signal pluginsListReceived(var plugins)
|
||||
signal installedPluginsReceived(var plugins)
|
||||
signal searchResultsReceived(var plugins)
|
||||
signal themesListReceived(var themes)
|
||||
signal installedThemesReceived(var themes)
|
||||
signal themeSearchResultsReceived(var themes)
|
||||
signal operationSuccess(string message)
|
||||
signal operationError(string error)
|
||||
signal connectionStateChanged
|
||||
@@ -514,6 +519,82 @@ Singleton {
|
||||
});
|
||||
}
|
||||
|
||||
function listThemes(callback) {
|
||||
sendRequest("themes.list", null, response => {
|
||||
if (response.result) {
|
||||
availableThemes = response.result;
|
||||
themesListReceived(response.result);
|
||||
}
|
||||
if (callback) {
|
||||
callback(response);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function listInstalledThemes(callback) {
|
||||
sendRequest("themes.listInstalled", null, response => {
|
||||
if (response.result) {
|
||||
installedThemes = response.result;
|
||||
installedThemesReceived(response.result);
|
||||
}
|
||||
if (callback) {
|
||||
callback(response);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function searchThemes(query, callback) {
|
||||
sendRequest("themes.search", {
|
||||
"query": query
|
||||
}, response => {
|
||||
if (response.result) {
|
||||
themeSearchResultsReceived(response.result);
|
||||
}
|
||||
if (callback) {
|
||||
callback(response);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function installTheme(themeName, callback) {
|
||||
sendRequest("themes.install", {
|
||||
"name": themeName
|
||||
}, response => {
|
||||
if (callback) {
|
||||
callback(response);
|
||||
}
|
||||
if (!response.error) {
|
||||
listInstalledThemes();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function uninstallTheme(themeName, callback) {
|
||||
sendRequest("themes.uninstall", {
|
||||
"name": themeName
|
||||
}, response => {
|
||||
if (callback) {
|
||||
callback(response);
|
||||
}
|
||||
if (!response.error) {
|
||||
listInstalledThemes();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function updateTheme(themeName, callback) {
|
||||
sendRequest("themes.update", {
|
||||
"name": themeName
|
||||
}, response => {
|
||||
if (callback) {
|
||||
callback(response);
|
||||
}
|
||||
if (!response.error) {
|
||||
listInstalledThemes();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function lockSession(callback) {
|
||||
sendRequest("loginctl.lock", null, callback);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user