mirror of https://github.com/nymea/nymea.git
Merge PR #219: Add support for more media service icons
commit
55011abaf9
|
|
@ -490,8 +490,8 @@ QVariantMap JsonTypes::allTypes()
|
||||||
allTypes.insert("UserError", userError());
|
allTypes.insert("UserError", userError());
|
||||||
allTypes.insert("TagError", tagError());
|
allTypes.insert("TagError", tagError());
|
||||||
allTypes.insert("CloudConnectionState", cloudConnectionState());
|
allTypes.insert("CloudConnectionState", cloudConnectionState());
|
||||||
allTypes.insert("BrowserIcon", browserIconRef());
|
allTypes.insert("BrowserIcon", browserIcon());
|
||||||
allTypes.insert("MediaBrowserIcon", mediaBrowserIconRef());
|
allTypes.insert("MediaBrowserIcon", mediaBrowserIcon());
|
||||||
|
|
||||||
allTypes.insert("StateType", stateTypeDescription());
|
allTypes.insert("StateType", stateTypeDescription());
|
||||||
allTypes.insert("StateDescriptor", stateDescriptorDescription());
|
allTypes.insert("StateDescriptor", stateDescriptorDescription());
|
||||||
|
|
|
||||||
|
|
@ -22,8 +22,8 @@
|
||||||
|
|
||||||
#include "mediabrowseritem.h"
|
#include "mediabrowseritem.h"
|
||||||
|
|
||||||
MediaBrowserItem::MediaBrowserItem(const QString &id, const QString &displayName, bool browsable):
|
MediaBrowserItem::MediaBrowserItem(const QString &id, const QString &displayName, bool browsable, bool executable):
|
||||||
BrowserItem(id, displayName, browsable)
|
BrowserItem(id, displayName, browsable, executable)
|
||||||
{
|
{
|
||||||
// Init defaults
|
// Init defaults
|
||||||
m_extendedProperties["mediaIcon"] = static_cast<int>(MediaBrowserIconNone);
|
m_extendedProperties["mediaIcon"] = static_cast<int>(MediaBrowserIconNone);
|
||||||
|
|
|
||||||
|
|
@ -50,10 +50,13 @@ public:
|
||||||
MediaBrowserIconVTuner = 204,
|
MediaBrowserIconVTuner = 204,
|
||||||
MediaBrowserIconTidal = 205,
|
MediaBrowserIconTidal = 205,
|
||||||
MediaBrowserIconAirable = 206,
|
MediaBrowserIconAirable = 206,
|
||||||
|
MediaBrowserIconDeezer = 207,
|
||||||
|
MediaBrowserIconNapster = 208,
|
||||||
|
MediaBrowserIconSoundCloud = 209,
|
||||||
};
|
};
|
||||||
Q_ENUM(MediaBrowserIcon)
|
Q_ENUM(MediaBrowserIcon)
|
||||||
|
|
||||||
MediaBrowserItem(const QString &id = QString(), const QString &displayName = QString(), bool browsable = false);
|
MediaBrowserItem(const QString &id = QString(), const QString &displayName = QString(), bool browsable = false, bool executable = false);
|
||||||
|
|
||||||
MediaBrowserIcon mediaIcon() const;
|
MediaBrowserIcon mediaIcon() const;
|
||||||
void setMediaIcon(MediaBrowserIcon mediaIcon);
|
void setMediaIcon(MediaBrowserIcon mediaIcon);
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,7 @@
|
||||||
#include "devicepluginmock.h"
|
#include "devicepluginmock.h"
|
||||||
#include "httpdaemon.h"
|
#include "httpdaemon.h"
|
||||||
|
|
||||||
|
#include "types/mediabrowseritem.h"
|
||||||
#include "devices/device.h"
|
#include "devices/device.h"
|
||||||
#include "devices/devicediscoveryinfo.h"
|
#include "devices/devicediscoveryinfo.h"
|
||||||
#include "devices/devicepairinginfo.h"
|
#include "devices/devicepairinginfo.h"
|
||||||
|
|
@ -960,4 +961,90 @@ void DevicePluginMock::generateBrowseItems()
|
||||||
item.setIcon(BrowserItem::BrowserIconFile);
|
item.setIcon(BrowserItem::BrowserIconFile);
|
||||||
folderNode->addChild(new VirtualFsNode(item));
|
folderNode->addChild(new VirtualFsNode(item));
|
||||||
|
|
||||||
|
item = BrowserItem("mediaservices", "Media services", true, false);
|
||||||
|
item.setDescription("I list media icons");
|
||||||
|
item.setIcon(BrowserItem::BrowserIconMusic);
|
||||||
|
VirtualFsNode *mediaNode = new VirtualFsNode(item);
|
||||||
|
m_virtualFs->addChild(mediaNode);
|
||||||
|
|
||||||
|
MediaBrowserItem mediaItem = MediaBrowserItem("playlist", "Playlists", false, false);
|
||||||
|
mediaItem.setMediaIcon(MediaBrowserItem::MediaBrowserIconPlaylist);
|
||||||
|
mediaNode->addChild(new VirtualFsNode(mediaItem));
|
||||||
|
|
||||||
|
mediaItem = MediaBrowserItem("recent", "Recently played", false, false);
|
||||||
|
mediaItem.setMediaIcon(MediaBrowserItem::MediaBrowserIconRecentlyPlayed);
|
||||||
|
mediaNode->addChild(new VirtualFsNode(mediaItem));
|
||||||
|
|
||||||
|
mediaItem = MediaBrowserItem("library", "Library", false, false);
|
||||||
|
mediaItem.setMediaIcon(MediaBrowserItem::MediaBrowserIconLibrary);
|
||||||
|
mediaNode->addChild(new VirtualFsNode(mediaItem));
|
||||||
|
|
||||||
|
mediaItem = MediaBrowserItem("musiclibrary", "Music Library", false, false);
|
||||||
|
mediaItem.setMediaIcon(MediaBrowserItem::MediaBrowserIconMusicLibrary);
|
||||||
|
mediaNode->addChild(new VirtualFsNode(mediaItem));
|
||||||
|
|
||||||
|
mediaItem = MediaBrowserItem("videolibrary", "Video library", false, false);
|
||||||
|
mediaItem.setMediaIcon(MediaBrowserItem::MediaBrowserIconVideoLibrary);
|
||||||
|
mediaNode->addChild(new VirtualFsNode(mediaItem));
|
||||||
|
|
||||||
|
mediaItem = MediaBrowserItem("picturelibrary", "picture library", false, false);
|
||||||
|
mediaItem.setMediaIcon(MediaBrowserItem::MediaBrowserIconPictureLibrary);
|
||||||
|
mediaNode->addChild(new VirtualFsNode(mediaItem));
|
||||||
|
|
||||||
|
|
||||||
|
mediaItem = MediaBrowserItem("disk", "CD", false, false);
|
||||||
|
mediaItem.setMediaIcon(MediaBrowserItem::MediaBrowserIconDisk);
|
||||||
|
mediaNode->addChild(new VirtualFsNode(mediaItem));
|
||||||
|
|
||||||
|
mediaItem = MediaBrowserItem("usb", "USB", false, false);
|
||||||
|
mediaItem.setMediaIcon(MediaBrowserItem::MediaBrowserIconUSB);
|
||||||
|
mediaNode->addChild(new VirtualFsNode(mediaItem));
|
||||||
|
|
||||||
|
mediaItem = MediaBrowserItem("network", "Network", false, false);
|
||||||
|
mediaItem.setMediaIcon(MediaBrowserItem::MediaBrowserIconNetwork);
|
||||||
|
mediaNode->addChild(new VirtualFsNode(mediaItem));
|
||||||
|
|
||||||
|
mediaItem = MediaBrowserItem("aux", "AUX", false, false);
|
||||||
|
mediaItem.setMediaIcon(MediaBrowserItem::MediaBrowserIconAux);
|
||||||
|
mediaNode->addChild(new VirtualFsNode(mediaItem));
|
||||||
|
|
||||||
|
mediaItem = MediaBrowserItem("spotify", "Spotify", false, false);
|
||||||
|
mediaItem.setMediaIcon(MediaBrowserItem::MediaBrowserIconSpotify);
|
||||||
|
mediaNode->addChild(new VirtualFsNode(mediaItem));
|
||||||
|
|
||||||
|
mediaItem = MediaBrowserItem("amazon", "Amazon Music", false, false);
|
||||||
|
mediaItem.setMediaIcon(MediaBrowserItem::MediaBrowserIconAmazon);
|
||||||
|
mediaNode->addChild(new VirtualFsNode(mediaItem));
|
||||||
|
|
||||||
|
mediaItem = MediaBrowserItem("tunein", "TuneIn", false, false);
|
||||||
|
mediaItem.setMediaIcon(MediaBrowserItem::MediaBrowserIconTuneIn);
|
||||||
|
mediaNode->addChild(new VirtualFsNode(mediaItem));
|
||||||
|
|
||||||
|
mediaItem = MediaBrowserItem("siriusxm", "Sirius XM", false, false);
|
||||||
|
mediaItem.setMediaIcon(MediaBrowserItem::MediaBrowserIconSiriusXM);
|
||||||
|
mediaNode->addChild(new VirtualFsNode(mediaItem));
|
||||||
|
|
||||||
|
mediaItem = MediaBrowserItem("vTuner", "vTuner", false, false);
|
||||||
|
mediaItem.setMediaIcon(MediaBrowserItem::MediaBrowserIconVTuner);
|
||||||
|
mediaNode->addChild(new VirtualFsNode(mediaItem));
|
||||||
|
|
||||||
|
mediaItem = MediaBrowserItem("tidal", "Tidal", false, false);
|
||||||
|
mediaItem.setMediaIcon(MediaBrowserItem::MediaBrowserIconTidal);
|
||||||
|
mediaNode->addChild(new VirtualFsNode(mediaItem));
|
||||||
|
|
||||||
|
mediaItem = MediaBrowserItem("airable", "airable", false, false);
|
||||||
|
mediaItem.setMediaIcon(MediaBrowserItem::MediaBrowserIconAirable);
|
||||||
|
mediaNode->addChild(new VirtualFsNode(mediaItem));
|
||||||
|
|
||||||
|
mediaItem = MediaBrowserItem("deezer", "Deezer", false, false);
|
||||||
|
mediaItem.setMediaIcon(MediaBrowserItem::MediaBrowserIconDeezer);
|
||||||
|
mediaNode->addChild(new VirtualFsNode(mediaItem));
|
||||||
|
|
||||||
|
mediaItem = MediaBrowserItem("napster", "Napster", false, false);
|
||||||
|
mediaItem.setMediaIcon(MediaBrowserItem::MediaBrowserIconNapster);
|
||||||
|
mediaNode->addChild(new VirtualFsNode(mediaItem));
|
||||||
|
|
||||||
|
mediaItem = MediaBrowserItem("soundcloud", "SoundCloud", false, false);
|
||||||
|
mediaItem.setMediaIcon(MediaBrowserItem::MediaBrowserIconSoundCloud);
|
||||||
|
mediaNode->addChild(new VirtualFsNode(mediaItem));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1406,7 +1406,18 @@
|
||||||
"Time",
|
"Time",
|
||||||
"Object"
|
"Object"
|
||||||
],
|
],
|
||||||
"BrowserIcon": "$ref:BrowserIcon",
|
"BrowserIcon": [
|
||||||
|
"BrowserIconNone",
|
||||||
|
"BrowserIconFolder",
|
||||||
|
"BrowserIconFile",
|
||||||
|
"BrowserIconMusic",
|
||||||
|
"BrowserIconVideo",
|
||||||
|
"BrowserIconPictures",
|
||||||
|
"BrowserIconApplication",
|
||||||
|
"BrowserIconDocument",
|
||||||
|
"BrowserIconPackage",
|
||||||
|
"BrowserIconFavorites"
|
||||||
|
],
|
||||||
"BrowserItem": {
|
"BrowserItem": {
|
||||||
"actionTypeIds": [
|
"actionTypeIds": [
|
||||||
"Uuid"
|
"Uuid"
|
||||||
|
|
@ -1614,7 +1625,29 @@
|
||||||
"LoggingSourceRules",
|
"LoggingSourceRules",
|
||||||
"LoggingSourceBrowserActions"
|
"LoggingSourceBrowserActions"
|
||||||
],
|
],
|
||||||
"MediaBrowserIcon": "$ref:MediaBrowserIcon",
|
"MediaBrowserIcon": [
|
||||||
|
"MediaBrowserIconNone",
|
||||||
|
"MediaBrowserIconPlaylist",
|
||||||
|
"MediaBrowserIconRecentlyPlayed",
|
||||||
|
"MediaBrowserIconLibrary",
|
||||||
|
"MediaBrowserIconMusicLibrary",
|
||||||
|
"MediaBrowserIconVideoLibrary",
|
||||||
|
"MediaBrowserIconPictureLibrary",
|
||||||
|
"MediaBrowserIconDisk",
|
||||||
|
"MediaBrowserIconUSB",
|
||||||
|
"MediaBrowserIconNetwork",
|
||||||
|
"MediaBrowserIconAux",
|
||||||
|
"MediaBrowserIconSpotify",
|
||||||
|
"MediaBrowserIconAmazon",
|
||||||
|
"MediaBrowserIconTuneIn",
|
||||||
|
"MediaBrowserIconSiriusXM",
|
||||||
|
"MediaBrowserIconVTuner",
|
||||||
|
"MediaBrowserIconTidal",
|
||||||
|
"MediaBrowserIconAirable",
|
||||||
|
"MediaBrowserIconDeezer",
|
||||||
|
"MediaBrowserIconNapster",
|
||||||
|
"MediaBrowserIconSoundCloud"
|
||||||
|
],
|
||||||
"MqttPolicy": {
|
"MqttPolicy": {
|
||||||
"allowedPublishTopicFilters": "StringList",
|
"allowedPublishTopicFilters": "StringList",
|
||||||
"allowedSubscribeTopicFilters": "StringList",
|
"allowedSubscribeTopicFilters": "StringList",
|
||||||
|
|
|
||||||
|
|
@ -616,6 +616,7 @@ void TestJSONRPC::introspect()
|
||||||
QString typeId = ref;
|
QString typeId = ref;
|
||||||
typeId.remove("$ref:");
|
typeId.remove("$ref:");
|
||||||
QVERIFY2(types.contains(typeId), QString("Undefined ref: %1. Did you forget to add it to JsonTypes::allTypes()?").arg(ref).toLatin1().data());
|
QVERIFY2(types.contains(typeId), QString("Undefined ref: %1. Did you forget to add it to JsonTypes::allTypes()?").arg(ref).toLatin1().data());
|
||||||
|
QVERIFY2(!types.value(typeId).toString().startsWith("$ref:"), QString("Definition for %1 must not be a reference itself").arg(ref).toLatin1().data());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue