LeechCraft  %{LEECHCRAFT_VERSION}
Modular cross-platform feature rich live environment.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
stdanfields.cpp
Go to the documentation of this file.
1 /**********************************************************************
2  * LeechCraft - modular cross-platform feature rich internet client.
3  * Copyright (C) 2006-2014 Georg Rudoy
4  *
5  * Boost Software License - Version 1.0 - August 17th, 2003
6  *
7  * Permission is hereby granted, free of charge, to any person or organization
8  * obtaining a copy of the software and accompanying documentation covered by
9  * this license (the "Software") to use, reproduce, display, distribute,
10  * execute, and transmit the Software, and to prepare derivative works of the
11  * Software, and to permit third-parties to whom the Software is furnished to
12  * do so, all subject to the following:
13  *
14  * The copyright notices in the Software and this entire statement, including
15  * the above license grant, this restriction and the following disclaimer,
16  * must be included in all copies of the Software, in whole or in part, and
17  * all derivative works of the Software, unless such copies or derivative
18  * works are solely in the form of machine-executable object code generated by
19  * a source language processor.
20  *
21  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23  * FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
24  * SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
25  * FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
26  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27  * DEALINGS IN THE SOFTWARE.
28  **********************************************************************/
29 
30 #include "stdanfields.h"
31 #include <QMap>
32 #include <QList>
35 #include <util/util.h>
36 
37 namespace LeechCraft
38 {
39 namespace Util
40 {
41  QList<ANFieldData> GetStdANFields (const QString& type)
42  {
43  static const auto values = MakeMap<QString, QList<ANFieldData>> ({
44  {
46  {
47  {
49  QObject::tr ("File URL"),
50  QObject::tr ("URL to the file being played."),
51  QVariant::Url,
52  {
54  }
55  },
56  {
58  QObject::tr ("Playback status"),
59  QObject::tr ("The status of the currently playing media file."),
60  QVariant::String,
61  {
63  },
64  {
65  "Stopped",
66  "Paused",
67  "Playing"
68  }
69  },
70  {
72  QObject::tr ("Title metadata"),
73  QObject::tr ("Title of the track being played."),
74  QVariant::String,
75  {
77  }
78  },
79  {
81  QObject::tr ("Album metadata"),
82  QObject::tr ("Album of the track being played."),
83  QVariant::String,
84  {
86  }
87  },
88  {
90  QObject::tr ("Artist metadata"),
91  QObject::tr ("Artist of the track being played."),
92  QVariant::String,
93  {
95  }
96  },
97  {
99  QObject::tr ("Length metadata"),
100  QObject::tr ("Length of the track being played."),
101  QVariant::Int,
102  {
104  }
105  }
106  }
107  },
108  {
110  {
111  {
113  QObject::tr ("Terminal is active"),
114  QObject::tr ("The terminal tab that caused the notification is active."),
115  QVariant::Bool,
116  {
120  }
121  }
122  }
123  }
124  });
125 
126  if (!type.isEmpty ())
127  return values.value (type);
128 
129  QList<ANFieldData> result;
130  for (const auto& list : values)
131  result << list;
132  return result;
133  }
134 }
135 }
const QString MediaArtist
The artist of the currently playing media (QString).
Definition: constants.h:218
const QString MediaAlbum
The album of the currently playing media (QString).
Definition: constants.h:222
const QString TypeMediaPlaybackStatus
A media file playback status has been changed.
Definition: constants.h:126
const QString TypeTerminalBell
A bell has ringed in a terminal window.
Definition: constants.h:134
const QString TypeTerminalActivity
Activity in terminal window.
Definition: constants.h:138
const QString TerminalActive
Whether the terminal window is active (bool).
Definition: constants.h:230
const QString CatTerminal
Category for terminal emulation events.
Definition: constants.h:130
const QString MediaTitle
The title of the currently playing media (QString).
Definition: constants.h:214
const QString MediaPlaybackStatus
Playback status of the URL (QString).
Definition: constants.h:210
const QString TypeTerminalInactivity
Inactivity in terminal window.
Definition: constants.h:142
const QString CatMediaPlayer
Category of media player-related events.
Definition: constants.h:122
const QString MediaPlayerURL
The URL to the file being played.
Definition: constants.h:201
const QString MediaLength
The length of the currently playing media (int).
Definition: constants.h:226
QList< ANFieldData > GetStdANFields(const QString &type)
Definition: stdanfields.cpp:41