fixed deleting of pending browse requests
This commit is contained in:
parent
19c0a28366
commit
83003d0270
@ -24,6 +24,8 @@
|
|||||||
#include "devices/device.h"
|
#include "devices/device.h"
|
||||||
#include "network/networkaccessmanager.h"
|
#include "network/networkaccessmanager.h"
|
||||||
#include "plugininfo.h"
|
#include "plugininfo.h"
|
||||||
|
#include "types/mediabrowseritem.h"
|
||||||
|
|
||||||
|
|
||||||
#include <QNetworkRequest>
|
#include <QNetworkRequest>
|
||||||
#include <QNetworkReply>
|
#include <QNetworkReply>
|
||||||
@ -353,6 +355,7 @@ void DevicePluginSonos::browseDevice(BrowseResult *result)
|
|||||||
} else if (result->itemId() == "favorites") {
|
} else if (result->itemId() == "favorites") {
|
||||||
sonosConnection->getFavorites(householdId);
|
sonosConnection->getFavorites(householdId);
|
||||||
m_pendingBrowseResult.insert(householdId, result);
|
m_pendingBrowseResult.insert(householdId, result);
|
||||||
|
connect(result, &BrowseResult::aborted,[householdId, this](){m_pendingBrowseResult.remove(householdId);});
|
||||||
} else {
|
} else {
|
||||||
//TODO add media browsing
|
//TODO add media browsing
|
||||||
result->finish(Device::DeviceErrorItemNotFound);
|
result->finish(Device::DeviceErrorItemNotFound);
|
||||||
@ -374,11 +377,7 @@ void DevicePluginSonos::executeBrowserItem(BrowserActionInfo *info)
|
|||||||
QString groupId = info->device()->paramValue(sonosGroupDeviceGroupIdParamTypeId).toString();
|
QString groupId = info->device()->paramValue(sonosGroupDeviceGroupIdParamTypeId).toString();
|
||||||
QUuid requestId = sonosConnection->loadFavorite(groupId, info->browserAction().itemId());
|
QUuid requestId = sonosConnection->loadFavorite(groupId, info->browserAction().itemId());
|
||||||
m_pendingBrowserExecution.insert(requestId, info);
|
m_pendingBrowserExecution.insert(requestId, info);
|
||||||
}
|
connect(info, &BrowserActionInfo::aborted,[requestId, this](){m_pendingBrowserExecution.remove(requestId);});
|
||||||
|
|
||||||
void DevicePluginSonos::executeBrowserItemAction(BrowserItemActionInfo *info)
|
|
||||||
{
|
|
||||||
Q_UNUSED(info)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DevicePluginSonos::onConnectionChanged(bool connected)
|
void DevicePluginSonos::onConnectionChanged(bool connected)
|
||||||
@ -428,7 +427,7 @@ void DevicePluginSonos::onFavouritesReceived(const QString &householdId, QList<S
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
foreach(Sonos::FavouriteObject favourite, favourites) {
|
foreach(Sonos::FavouriteObject favourite, favourites) {
|
||||||
BrowserItem item;
|
MediaBrowserItem item;
|
||||||
item.setId(favourite.id);
|
item.setId(favourite.id);
|
||||||
item.setExecutable(true);
|
item.setExecutable(true);
|
||||||
item.setBrowsable(false);
|
item.setBrowsable(false);
|
||||||
|
|||||||
@ -52,7 +52,6 @@ public:
|
|||||||
void browseDevice(BrowseResult *result) override;
|
void browseDevice(BrowseResult *result) override;
|
||||||
void browserItem(BrowserItemResult *result) override;
|
void browserItem(BrowserItemResult *result) override;
|
||||||
void executeBrowserItem(BrowserActionInfo *info) override;
|
void executeBrowserItem(BrowserActionInfo *info) override;
|
||||||
void executeBrowserItemAction(BrowserItemActionInfo *info) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
PluginTimer *m_pluginTimer5sec = nullptr;
|
PluginTimer *m_pluginTimer5sec = nullptr;
|
||||||
|
|||||||
@ -213,11 +213,6 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"browserItemActionTypes": [
|
"browserItemActionTypes": [
|
||||||
{
|
|
||||||
"id": "b056af0f-4d5b-4f75-b0dd-e73246d3a83f",
|
|
||||||
"name": "updateLibrary",
|
|
||||||
"displayName": "Update library"
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user