fixed deleting of pending browse requests

This commit is contained in:
Boernsman 2019-10-18 18:46:26 +02:00
parent 19c0a28366
commit 83003d0270
3 changed files with 5 additions and 12 deletions

View File

@ -24,6 +24,8 @@
#include "devices/device.h"
#include "network/networkaccessmanager.h"
#include "plugininfo.h"
#include "types/mediabrowseritem.h"
#include <QNetworkRequest>
#include <QNetworkReply>
@ -353,6 +355,7 @@ void DevicePluginSonos::browseDevice(BrowseResult *result)
} else if (result->itemId() == "favorites") {
sonosConnection->getFavorites(householdId);
m_pendingBrowseResult.insert(householdId, result);
connect(result, &BrowseResult::aborted,[householdId, this](){m_pendingBrowseResult.remove(householdId);});
} else {
//TODO add media browsing
result->finish(Device::DeviceErrorItemNotFound);
@ -374,11 +377,7 @@ void DevicePluginSonos::executeBrowserItem(BrowserActionInfo *info)
QString groupId = info->device()->paramValue(sonosGroupDeviceGroupIdParamTypeId).toString();
QUuid requestId = sonosConnection->loadFavorite(groupId, info->browserAction().itemId());
m_pendingBrowserExecution.insert(requestId, info);
}
void DevicePluginSonos::executeBrowserItemAction(BrowserItemActionInfo *info)
{
Q_UNUSED(info)
connect(info, &BrowserActionInfo::aborted,[requestId, this](){m_pendingBrowserExecution.remove(requestId);});
}
void DevicePluginSonos::onConnectionChanged(bool connected)
@ -428,7 +427,7 @@ void DevicePluginSonos::onFavouritesReceived(const QString &householdId, QList<S
return;
foreach(Sonos::FavouriteObject favourite, favourites) {
BrowserItem item;
MediaBrowserItem item;
item.setId(favourite.id);
item.setExecutable(true);
item.setBrowsable(false);

View File

@ -52,7 +52,6 @@ public:
void browseDevice(BrowseResult *result) override;
void browserItem(BrowserItemResult *result) override;
void executeBrowserItem(BrowserActionInfo *info) override;
void executeBrowserItemAction(BrowserItemActionInfo *info) override;
private:
PluginTimer *m_pluginTimer5sec = nullptr;

View File

@ -213,11 +213,6 @@
}
],
"browserItemActionTypes": [
{
"id": "b056af0f-4d5b-4f75-b0dd-e73246d3a83f",
"name": "updateLibrary",
"displayName": "Update library"
}
]
}
]