diff --git a/src/webui/api/synccontroller.cpp b/src/webui/api/synccontroller.cpp index d8fe4d464..9c1995f06 100644 --- a/src/webui/api/synccontroller.cpp +++ b/src/webui/api/synccontroller.cpp @@ -320,7 +320,7 @@ namespace // - "full_update": full data update flag // - "torrents": dictionary contains information about torrents. // - "torrents_removed": a list of hashes of removed torrents -// - "categories": list of categories +// - "categories": map of categories info // - "categories_removed": list of removed categories // - "server_state": map contains information about the state of the server // The keys of the 'torrents' dictionary are hashes of torrents. @@ -399,11 +399,16 @@ void SyncController::maindataAction() data["torrents"] = torrents; - QVariantList categories; - for (auto i = session->categories().cbegin(); i != session->categories().cend(); ++i) - categories << i.key(); + QVariantList categoriesList; + const auto categories = session->categories(); + for (auto key : categories.keys()) { + categoriesList << QVariantMap { + {"name", key}, + {"savePath", categories.value(key)}, + }; + } - data["categories"] = categories; + data["categories"] = categoriesList; QVariantMap serverState = getTranserInfo(); serverState[KEY_SYNC_MAINDATA_QUEUEING] = session->isQueueingSystemEnabled(); diff --git a/src/webui/www/private/scripts/client.js b/src/webui/www/private/scripts/client.js index 5561c29ef..667298ce9 100644 --- a/src/webui/www/private/scripts/client.js +++ b/src/webui/www/private/scripts/client.js @@ -317,9 +317,10 @@ window.addEvent('load', function() { } if (response['categories']) { response['categories'].each(function(category) { - var categoryHash = genHash(category); + var categoryHash = genHash(category.name); category_list[categoryHash] = { - name: category, + name: category.name, + savePath: category.savePath, torrents: [] }; }); @@ -327,7 +328,7 @@ window.addEvent('load', function() { } if (response['categories_removed']) { response['categories_removed'].each(function(category) { - var categoryHash = genHash(category); + var categoryHash = genHash(category.name); delete category_list[categoryHash]; }); update_categories = true;