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("TagError", tagError());
|
||||
allTypes.insert("CloudConnectionState", cloudConnectionState());
|
||||
allTypes.insert("BrowserIcon", browserIconRef());
|
||||
allTypes.insert("MediaBrowserIcon", mediaBrowserIconRef());
|
||||
allTypes.insert("BrowserIcon", browserIcon());
|
||||
allTypes.insert("MediaBrowserIcon", mediaBrowserIcon());
|
||||
|
||||
allTypes.insert("StateType", stateTypeDescription());
|
||||
allTypes.insert("StateDescriptor", stateDescriptorDescription());
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@
|
|||
|
||||
#include "mediabrowseritem.h"
|
||||
|
||||
MediaBrowserItem::MediaBrowserItem(const QString &id, const QString &displayName, bool browsable):
|
||||
BrowserItem(id, displayName, browsable)
|
||||
MediaBrowserItem::MediaBrowserItem(const QString &id, const QString &displayName, bool browsable, bool executable):
|
||||
BrowserItem(id, displayName, browsable, executable)
|
||||
{
|
||||
// Init defaults
|
||||
m_extendedProperties["mediaIcon"] = static_cast<int>(MediaBrowserIconNone);
|
||||
|
|
|
|||
|
|
@ -50,10 +50,13 @@ public:
|
|||
MediaBrowserIconVTuner = 204,
|
||||
MediaBrowserIconTidal = 205,
|
||||
MediaBrowserIconAirable = 206,
|
||||
MediaBrowserIconDeezer = 207,
|
||||
MediaBrowserIconNapster = 208,
|
||||
MediaBrowserIconSoundCloud = 209,
|
||||
};
|
||||
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;
|
||||
void setMediaIcon(MediaBrowserIcon mediaIcon);
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@
|
|||
#include "devicepluginmock.h"
|
||||
#include "httpdaemon.h"
|
||||
|
||||
#include "types/mediabrowseritem.h"
|
||||
#include "devices/device.h"
|
||||
#include "devices/devicediscoveryinfo.h"
|
||||
#include "devices/devicepairinginfo.h"
|
||||
|
|
@ -960,4 +961,90 @@ void DevicePluginMock::generateBrowseItems()
|
|||
item.setIcon(BrowserItem::BrowserIconFile);
|
||||
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",
|
||||
"Object"
|
||||
],
|
||||
"BrowserIcon": "$ref:BrowserIcon",
|
||||
"BrowserIcon": [
|
||||
"BrowserIconNone",
|
||||
"BrowserIconFolder",
|
||||
"BrowserIconFile",
|
||||
"BrowserIconMusic",
|
||||
"BrowserIconVideo",
|
||||
"BrowserIconPictures",
|
||||
"BrowserIconApplication",
|
||||
"BrowserIconDocument",
|
||||
"BrowserIconPackage",
|
||||
"BrowserIconFavorites"
|
||||
],
|
||||
"BrowserItem": {
|
||||
"actionTypeIds": [
|
||||
"Uuid"
|
||||
|
|
@ -1614,7 +1625,29 @@
|
|||
"LoggingSourceRules",
|
||||
"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": {
|
||||
"allowedPublishTopicFilters": "StringList",
|
||||
"allowedSubscribeTopicFilters": "StringList",
|
||||
|
|
|
|||
|
|
@ -616,6 +616,7 @@ void TestJSONRPC::introspect()
|
|||
QString typeId = 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.value(typeId).toString().startsWith("$ref:"), QString("Definition for %1 must not be a reference itself").arg(ref).toLatin1().data());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue