Jellyfin Qt
QML Library for interacting with the Jellyfin multimedia server
Loading...
Searching...
No Matches
itemmodel.h
Go to the documentation of this file.
1/*
2 * Sailfin: a Jellyfin client written using Qt
3 * Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 */
19#ifndef JELLYFIN_VIEWMODEL_ITEMMODEL_H
20#define JELLYFIN_VIEWMODEL_ITEMMODEL_H
21
22#include <QAbstractListModel>
23#include <QObject>
24#include <QScopedPointer>
25#include <QVariantList>
26
27#include "../dto/baseitemdto.h"
30#include "../model/item.h"
31#include "../viewmodel/item.h"
32#include "../apimodel.h"
33#include "modelstatus.h"
34#include "propertyhelper.h"
35
36// Jellyfin Forward Read/Write Property
37#define FWDPROP(type, propName, propSetName) \
38 public: \
39 Q_PROPERTY(type propName READ propName WRITE set##propSetName NOTIFY propName##Changed) \
40 type propName() const { return this->m_parameters.propName(); } \
41 void set##propSetName(const type &newValue) { \
42 this->m_parameters.set##propSetName( newValue ); \
43 emit propName##Changed(); \
44 autoReloadIfNeeded(); \
45 } \
46 Q_SIGNALS: \
47 void propName##Changed();
48
49#define FWDLISTPROP(type, propName, propSetName) \
50 public: \
51 Q_PROPERTY(QVariantList propName READ propName WRITE set##propSetName NOTIFY propName##Changed) \
52 QVariantList propName() const { \
53 QVariantList result; \
54 QList<type> list; \
55 result.reserve(list.size()); \
56 for (auto it = list.cbegin(); it != list.cend(); it++) { \
57 result.append(QVariant::fromValue<type>(*it)); \
58 } \
59 return result; \
60 } \
61 void set##propSetName(const QVariantList &newValue) { \
62 QList<type> list;\
63 list.reserve(newValue.size()); \
64 for(auto it = newValue.cbegin(); it != newValue.cend(); it++) { \
65 list.append(it->value<type>()); \
66 } \
67 this->m_parameters.set##propSetName(list); \
68 emit propName##Changed(); \
69 autoReloadIfNeeded(); \
70 } \
71 Q_SIGNALS: \
72 void propName##Changed();
73
74namespace Jellyfin {
75
76namespace ViewModel {
77
78// JellyFinRoleName
79#define JFRN(name) {RoleNames::name, #name}
80
81// This file contains all models that expose a Model::Item
82
87template <class T, class D, class R, class P>
89public:
90 explicit AbstractUserParameterLoader(Support::Loader<R, P> *loader, QObject *parent = nullptr)
91 : LoaderModelLoader<T, D, R, P>(loader, parent) {
92 this->connect(this, &BaseModelLoader::apiClientChanged, this, &AbstractUserParameterLoader<T, D, R, P>::apiClientChanged);
93 }
94protected:
95 bool canReload() const override {
96 return BaseModelLoader::canReload() && !this->m_parameters.userId().isNull();
97 }
98private:
99 void apiClientChanged(ApiClient *newApiClient) {
100 if (this->m_apiClient != nullptr) {
101 this->disconnect(this->m_apiClient, &ApiClient::userIdChanged, this, &AbstractUserParameterLoader<T, D, R, P>::userIdChanged);
102 }
103 if (newApiClient != nullptr) {
104 this->connect(newApiClient, &ApiClient::userIdChanged, this, &AbstractUserParameterLoader<T, D, R, P>::userIdChanged);
105 if (!newApiClient->userId().isNull()) {
106 this->m_parameters.setUserId(newApiClient->userId());
107 }
108 }
109 }
110
111 void userIdChanged(const QString &newUserId) {
112 this->m_parameters.setUserId(newUserId);
113 this->autoReloadIfNeeded();
114 }
115};
116
122 Q_OBJECT
123public:
124 explicit UserViewsLoader(QObject *parent = nullptr);
125
126 FWDPROP(bool, includeExternalContent, IncludeExternalContent)
127 FWDPROP(bool, includeHidden, IncludeHidden)
129};
130
133 Q_OBJECT
134public:
135 explicit LatestMediaLoader(QObject *parent = nullptr);
136
137 // Optional
139 FWDPROP(bool, enableImages, EnableImages)
140 FWDPROP(bool, enableUserData, EnableUserData)
142 FWDPROP(bool, groupItems, GroupItems)
143 FWDPROP(qint32, imageTypeLimit, ImageTypeLimit)
145 FWDPROP(bool, isPlayed, IsPlayed)
146 FWDPROP(QString, parentId, ParentId)
147};
148
151 Q_OBJECT
152public:
153 explicit UserItemsLoader(QObject *parent = nullptr);
154
155 FWDPROP(QString, adjacentTo, AdjacentTo)
156 FWDPROP(QStringList, albumArtistIds, AlbumArtistIds)
157 FWDPROP(QStringList, albumIds, AlbumIds)
158 FWDPROP(QStringList, albums, Albums)
159 FWDPROP(QStringList, artistIds, ArtistIds)
160 FWDPROP(QStringList, artists, Artists)
161 FWDPROP(bool, collapseBoxSetItems, CollapseBoxSetItems)
162 FWDPROP(QStringList, contributingArtistIds, ContributingArtistIds)
164 FWDPROP(bool, enableImages, EnableImages)
165 FWDPROP(bool, enableTotalRecordCount, EnableTotalRecordCount)
166 FWDPROP(bool, enableUserData, EnableUserData)
167 FWDPROP(QStringList, excludeArtistIds, ExcludeArtistIds)
168 FWDPROP(QStringList, excludeItemIds, ExcludeItemIds)
173 FWDPROP(QStringList, genreIds, GenreIds)
174 FWDPROP(QStringList, genres, Genres)
175 FWDPROP(bool, hasImdbId, HasImdbId)
176 FWDPROP(bool, hasOfficialRating, HasOfficialRating)
177 FWDPROP(bool, hasOverview, HasOverview)
178 FWDPROP(bool, hasParentalRating, HasParentalRating)
179 FWDPROP(bool, hasSpecialFeature, HasSpecialFeature)
180 FWDPROP(bool, hasSubtitles, HasSubtitles)
181 FWDPROP(bool, hasThemeSong, HasThemeSong)
182 FWDPROP(bool, hasThemeVideo, HasThemeVideo)
183 FWDPROP(bool, hasTmdbId, HasTmdbId)
184 FWDPROP(bool, hasTrailer, HasTrailer)
185 FWDPROP(bool, hasTvdbId, HasTvdbId)
186 FWDPROP(QStringList, ids, Ids)
187 FWDPROP(qint32, imageTypeLimit, ImageTypeLimit)
190 FWDPROP(bool, is3D, Is3D)
191 FWDPROP(bool, is4K, Is4K)
192 FWDPROP(bool, isFavorite, IsFavorite)
193 FWDPROP(bool, isHd, IsHd)
194 FWDPROP(bool, isLocked, IsLocked)
195 FWDPROP(bool, isMissing, IsMissing)
196 FWDPROP(bool, isPlaceHolder, IsPlaceHolder)
197 FWDPROP(bool, isPlayed, IsPlayed)
198 FWDPROP(bool, isUnaired, IsUnaired)
200 FWDPROP(qint32, maxHeight, MaxHeight)
201 FWDPROP(QString, maxOfficialRating, MaxOfficialRating)
202 FWDPROP(QDateTime, maxPremiereDate, MaxPremiereDate)
203 FWDPROP(qint32, maxWidth, MaxWidth)
205 FWDPROP(qint32, minHeight, MinHeight)
206 FWDPROP(QString, minOfficialRating, MinOfficialRating)
207 FWDPROP(QDateTime, minPremiereDate, MinPremiereDate)
208 FWDPROP(qint32, minWidth, MinWidth)
211 FWDPROP(QStringList, tags, Tags)
212 FWDPROP(QList<qint32>, years, Years)
213
214 FWDPROP(QString, parentId, ParentId)
215 FWDPROP(bool, recursive, Recursive)
216 FWDPROP(QString, searchTerm, SearchTerm)
217 //FWDPROP(bool, collapseBoxSetItems)
218};
219
222 Q_OBJECT
223public:
224 explicit ResumeItemsLoader(QObject *parent = nullptr);
225
227 FWDPROP(bool, enableImages, EnableImages)
228 FWDPROP(bool, enableTotalRecordCount, EnableTotalRecordCount)
229 FWDPROP(bool, enableUserData, EnableUserData)
232 FWDPROP(qint32, imageTypeLimit, ImageTypeLimit)
235 FWDPROP(QString, parentId, ParentId)
236 FWDPROP(QString, searchTerm, SearchTerm)
237};
238
241 Q_OBJECT
242public:
243 explicit ShowSeasonsLoader(QObject *parent = nullptr);
244
245 FWDPROP(QString, seriesId, SeriesId)
246 FWDPROP(QString, adjacentTo, AdjacentTo)
248 FWDPROP(bool, enableImages, EnableImages)
249 FWDPROP(bool, enableUserData, EnableUserData)
251 FWDPROP(qint32, imageTypeLimit, ImageTypeLimit)
252 FWDPROP(bool, isMissing, IsMissing)
253 FWDPROP(bool, isSpecialSeason, IsSpecialSeason)
254
255};
256
259 Q_OBJECT
260public:
261 explicit ShowEpisodesLoader(QObject *parent = nullptr);
262
263 FWDPROP(QString, seriesId, SeriesId)
264 FWDPROP(QString, adjacentTo, AdjacentTo)
265 FWDPROP(bool, enableImages, EnableImages)
266 FWDPROP(bool, enableUserData, EnableUserData)
268 FWDPROP(qint32, imageTypeLimit, ImageTypeLimit)
269 FWDPROP(bool, isMissing, IsMissing)
270 FWDPROP(qint32, season, Season)
271 FWDPROP(QString, seasonId, SeasonId)
273 FWDPROP(QString, startItemId, StartItemId)
274};
275
278 Q_OBJECT
279public:
280 explicit NextUpLoader(QObject *parent = nullptr);
281
282 FWDPROP(bool, disableFirstEpisode, DisableFirstEpisode)
284 FWDPROP(bool, enableImages, EnableImages)
285 FWDPROP(bool, enableTotalRecordCount, EnableTotalRecordCount)
286 FWDPROP(bool, enableUserData, EnableUserData)
288 FWDPROP(qint32, imageTypeLimit, ImageTypeLimit)
289 FWDPROP(QString, parentId, ParentId)
290 FWDPROP(QString, seriesId, SeriesId)
291};
292
295 Q_OBJECT
296public:
297 explicit AlbumArtistLoader(QObject *parent = nullptr);
298
300 FWDPROP(bool, enableImages, EnableImages)
301 FWDPROP(bool, enableTotalRecordCount, EnableTotalRecordCount)
302 FWDPROP(bool, enableUserData, EnableUserData)
306 FWDPROP(QStringList, genreIds, GenreIds)
307 FWDPROP(QStringList, genres, Genres)
308 FWDPROP(qint32, imageTypeLimit, ImageTypeLimit)
310 FWDPROP(bool, isFavorite, IsFavorite)
311 FWDPROP(int, limit, Limit)
313 FWDPROP(double, minCommunityRating, MinCommunityRating)
314 FWDPROP(QString, nameLessThan, NameLessThan)
315 FWDPROP(QString, nameStartsWith, NameStartsWith)
316 FWDPROP(QString, nameStartsWithOrGreater, NameStartsWithOrGreater)
317 FWDPROP(QStringList, officialRatings, OfficialRatings)
318 FWDPROP(QString, parentId, ParentId)
319 FWDPROP(QStringList, personIds, PersonIds)
320 FWDPROP(QStringList, personTypes, PersonTypes)
321 FWDPROP(QString, searchTerm, SearchTerm)
322 FWDPROP(int, startIndex, StartIndex)
323 FWDPROP(QStringList, studioIds, StudioIds)
324 FWDPROP(QStringList, studios, Studios)
325 FWDPROP(QStringList, tags, Tags)
326 FWDPROP(QString, userId, UserId)
327 FWDLISTPROP(int, years, Years);
328};
329
332 Q_OBJECT
333public:
334 explicit LiveTvChannelsLoader(QObject *parent = nullptr);
335
337 FWDPROP(bool, isMovie, IsMovie)
338 FWDPROP(bool, isSeries, IsSeries)
339 FWDPROP(bool, isNews, IsNews)
340 FWDPROP(bool, isKids, IsKids)
341 FWDPROP(bool, isSports, IsSports)
342 FWDPROP(bool, isFavorite, IsFavorite)
343 FWDPROP(bool, isLiked, IsLiked)
344 FWDPROP(bool, isDisliked, IsDisliked)
345 FWDPROP(bool, enableImages, EnableImages)
346 FWDPROP(int, imageTypeLimit, ImageTypeLimit)
349 FWDPROP(bool, enableUserData, EnableUserData)
352 FWDPROP(bool, enableFavoriteSorting, EnableFavoriteSorting)
353 FWDPROP(bool, addCurrentProgram, AddCurrentProgram)
354};
355
359
360class ItemModel : public ApiModel<Model::Item> {
361 Q_OBJECT
362public:
405
406 explicit ItemModel (QObject *parent = nullptr);
407
449 QVariant data(const QModelIndex &index, int role) const override;
450 QSharedPointer<Model::Item> itemAt(int index);
451private slots:
452 void onInsertItems(const QModelIndex &parent, int start, int end);
453 void onUserDataUpdated(const Jellyfin::DTO::UserItemDataDto &newUserData);
454};
455#undef JFRN
456
457} // NS Jellyfin
458} // NS ViewModel
459
460#undef FWDPROP
461
462#endif // JELLYFIN_VIEWMODEL_ITEMMODEL_H
An Api client for Jellyfin. Handles requests and authentication.
Definition apiclient.h:90
void userIdChanged(QString userId)
QString userId
Definition apiclient.h:103
ApiModel(QObject *parent=nullptr)
Definition apimodel.h:434
void autoReloadIfNeeded()
Definition apimodel.cpp:49
void apiClientChanged(ApiClient *newApiClient)
virtual bool canReload() const
Determines if this model is able to reload.
Definition apimodel.cpp:82
ApiClient * m_apiClient
Definition apimodel.h:117
Definition baseitemdtoqueryresult.h:50
Definition baseitemdto.h:74
Definition baseitemkind.h:46
Value
Definition channeltype.h:49
Definition imagetype.h:46
Value
Definition imagetype.h:49
Definition itemfields.h:46
Definition itemfilter.h:46
Definition itemsortby.h:46
Definition locationtype.h:46
Definition mediatype.h:46
Definition sortorder.h:46
Definition useritemdatadto.h:49
P m_parameters
Definition apimodel.h:328
LoaderModelLoader(Support::Loader< R, P > *loader, QObject *parent=nullptr)
Definition apimodel.h:284
Definition loader.h:134
Class intended for models which have a mandatory userId property, which can be extracted from the Api...
Definition itemmodel.h:88
AbstractUserParameterLoader(Support::Loader< R, P > *loader, QObject *parent=nullptr)
Definition itemmodel.h:90
bool canReload() const override
Determines if this model is able to reload.
Definition itemmodel.h:95
QString userId
Definition itemmodel.h:326
QStringList tags
Definition itemmodel.h:325
QVariantList mediaTypes
Definition itemmodel.h:312
QStringList studioIds
Definition itemmodel.h:323
QString parentId
Definition itemmodel.h:318
QStringList personTypes
Definition itemmodel.h:320
QStringList genres
Definition itemmodel.h:307
QString searchTerm
Definition itemmodel.h:321
QString nameLessThan
Definition itemmodel.h:314
QVariantList excludeItemTypes
Definition itemmodel.h:303
QString nameStartsWith
Definition itemmodel.h:315
QVariantList includeItemTypes
Definition itemmodel.h:309
QVariantList enableImageTypes
Definition itemmodel.h:299
QVariantList filters
Definition itemmodel.h:305
QVariantList fields
Definition itemmodel.h:304
bool enableTotalRecordCount
Definition itemmodel.h:301
QStringList officialRatings
Definition itemmodel.h:317
bool enableUserData
Definition itemmodel.h:302
double minCommunityRating
Definition itemmodel.h:313
qint32 imageTypeLimit
Definition itemmodel.h:308
QStringList genreIds
Definition itemmodel.h:306
AlbumArtistLoader(QObject *parent=nullptr)
Definition itemmodel.cpp:65
int limit
Definition itemmodel.h:311
QVariantList years
Definition itemmodel.h:327
QStringList studios
Definition itemmodel.h:324
QStringList personIds
Definition itemmodel.h:319
bool enableImages
Definition itemmodel.h:300
bool isFavorite
Definition itemmodel.h:310
int startIndex
Definition itemmodel.h:322
QString nameStartsWithOrGreater
Definition itemmodel.h:316
Base class for each model that works with items.
Definition itemmodel.h:360
RoleNames
Definition itemmodel.h:363
@ collectionType
Definition itemmodel.h:380
@ userDataPlayCount
Definition itemmodel.h:392
@ userDataPlayedPercentage
Definition itemmodel.h:389
@ currentProgramName
Definition itemmodel.h:398
@ artistItems
Definition itemmodel.h:384
@ parentIndexNumber
Definition itemmodel.h:387
@ userDataLastPlayedDate
Definition itemmodel.h:395
@ serverId
Definition itemmodel.h:367
@ runTimeTicks
Definition itemmodel.h:382
@ userDataKey
Definition itemmodel.h:397
@ jellyfinExtendModelAfterHere
Definition itemmodel.h:403
@ currentProgramEndDate
Definition itemmodel.h:401
@ imageTags
Definition itemmodel.h:376
@ jellyfinId
Definition itemmodel.h:364
@ mediaType
Definition itemmodel.h:378
@ userDataPlaybackPositionTicks
Definition itemmodel.h:391
@ sourceType
Definition itemmodel.h:369
@ name
Definition itemmodel.h:365
@ imageBlurHashes
Definition itemmodel.h:377
@ currentProgramStartDate
Definition itemmodel.h:400
@ dateLastMediaAdded
Definition itemmodel.h:372
@ overview
Definition itemmodel.h:386
@ userDataRating
Definition itemmodel.h:388
@ etag
Definition itemmodel.h:368
@ indexNumber
Definition itemmodel.h:381
@ extraType
Definition itemmodel.h:373
@ userDataFavorite
Definition itemmodel.h:393
@ originalTitle
Definition itemmodel.h:366
@ dateCreated
Definition itemmodel.h:371
@ userDataUnplayedItemCount
Definition itemmodel.h:390
@ type
Definition itemmodel.h:379
@ artists
Definition itemmodel.h:383
@ userDataLikes
Definition itemmodel.h:394
@ playlistItemId
Definition itemmodel.h:370
@ isFolder
Definition itemmodel.h:385
@ userDataPlayed
Definition itemmodel.h:396
@ currentProgramOverview
Definition itemmodel.h:399
ItemModel(QObject *parent=nullptr)
Definition itemmodel.cpp:71
QHash< int, QByteArray > roleNames() const override
Definition itemmodel.h:408
Definition item.h:104
bool isPlayed
Definition itemmodel.h:145
QVariantList fields
Definition itemmodel.h:141
QVariantList includeItemTypes
Definition itemmodel.h:144
QList< Jellyfin::DTO::ImageTypeClass::Value > enableImageTypes
Definition itemmodel.h:138
LatestMediaLoader(QObject *parent=nullptr)
Definition itemmodel.cpp:47
qint32 imageTypeLimit
Definition itemmodel.h:143
bool groupItems
Definition itemmodel.h:142
QString parentId
Definition itemmodel.h:146
bool enableImages
Definition itemmodel.h:139
bool enableUserData
Definition itemmodel.h:140
bool isSeries
Definition itemmodel.h:338
QVariantList fields
Definition itemmodel.h:348
bool isFavorite
Definition itemmodel.h:342
bool isSports
Definition itemmodel.h:341
bool addCurrentProgram
Definition itemmodel.h:353
bool isKids
Definition itemmodel.h:340
LiveTvChannelsLoader(QObject *parent=nullptr)
Definition itemmodel.cpp:68
bool isDisliked
Definition itemmodel.h:344
bool isLiked
Definition itemmodel.h:343
bool isNews
Definition itemmodel.h:339
Jellyfin::DTO::ChannelTypeClass::Value type
Definition itemmodel.h:336
bool isMovie
Definition itemmodel.h:337
Jellyfin::DTO::SortOrderClass::Value sortOrder
Definition itemmodel.h:351
int imageTypeLimit
Definition itemmodel.h:346
QVariantList sortBy
Definition itemmodel.h:350
bool enableFavoriteSorting
Definition itemmodel.h:352
bool enableUserData
Definition itemmodel.h:349
bool enableImages
Definition itemmodel.h:345
QVariantList enableImageTypes
Definition itemmodel.h:347
Definition loader.h:148
QVariantList fields
Definition itemmodel.h:287
qint32 imageTypeLimit
Definition itemmodel.h:288
bool enableUserData
Definition itemmodel.h:286
QVariantList enableImageTypes
Definition itemmodel.h:283
QString seriesId
Definition itemmodel.h:290
bool enableImages
Definition itemmodel.h:284
NextUpLoader(QObject *parent=nullptr)
Definition itemmodel.cpp:62
QString parentId
Definition itemmodel.h:289
bool enableTotalRecordCount
Definition itemmodel.h:285
bool disableFirstEpisode
Definition itemmodel.h:282
QString searchTerm
Definition itemmodel.h:236
QString parentId
Definition itemmodel.h:235
bool enableTotalRecordCount
Definition itemmodel.h:228
ResumeItemsLoader(QObject *parent=nullptr)
Definition itemmodel.cpp:53
bool enableImages
Definition itemmodel.h:227
QVariantList excludeItemTypes
Definition itemmodel.h:230
QVariantList fields
Definition itemmodel.h:231
QVariantList mediaTypes
Definition itemmodel.h:234
bool enableUserData
Definition itemmodel.h:229
QVariantList includeItemTypes
Definition itemmodel.h:233
QVariantList enableImageTypes
Definition itemmodel.h:226
qint32 imageTypeLimit
Definition itemmodel.h:232
bool enableUserData
Definition itemmodel.h:266
QString adjacentTo
Definition itemmodel.h:264
QString seriesId
Definition itemmodel.h:263
bool enableImages
Definition itemmodel.h:265
qint32 imageTypeLimit
Definition itemmodel.h:268
ShowEpisodesLoader(QObject *parent=nullptr)
Definition itemmodel.cpp:59
qint32 season
Definition itemmodel.h:270
Jellyfin::DTO::ItemSortByClass::Value sortBy
Definition itemmodel.h:272
bool isMissing
Definition itemmodel.h:269
QString startItemId
Definition itemmodel.h:273
QString seasonId
Definition itemmodel.h:271
QVariantList fields
Definition itemmodel.h:267
qint32 imageTypeLimit
Definition itemmodel.h:251
bool enableUserData
Definition itemmodel.h:249
ShowSeasonsLoader(QObject *parent=nullptr)
Definition itemmodel.cpp:56
QVariantList enableImageTypes
Definition itemmodel.h:247
QString adjacentTo
Definition itemmodel.h:246
QString seriesId
Definition itemmodel.h:245
QVariantList fields
Definition itemmodel.h:250
bool enableImages
Definition itemmodel.h:248
bool isSpecialSeason
Definition itemmodel.h:253
bool isMissing
Definition itemmodel.h:252
QDateTime maxPremiereDate
Definition itemmodel.h:202
qint32 maxHeight
Definition itemmodel.h:200
bool is3D
Definition itemmodel.h:190
QVariantList excludeItemTypes
Definition itemmodel.h:169
QString maxOfficialRating
Definition itemmodel.h:201
qint32 maxWidth
Definition itemmodel.h:203
QStringList albumIds
Definition itemmodel.h:157
QVariantList sortOrder
Definition itemmodel.h:210
bool is4K
Definition itemmodel.h:191
bool enableTotalRecordCount
Definition itemmodel.h:165
bool hasTvdbId
Definition itemmodel.h:185
bool isLocked
Definition itemmodel.h:194
bool hasThemeVideo
Definition itemmodel.h:182
bool hasTmdbId
Definition itemmodel.h:183
QVariantList fields
Definition itemmodel.h:171
QVariantList includeItemTypes
Definition itemmodel.h:189
bool collapseBoxSetItems
Definition itemmodel.h:161
QVariantList imageTypes
Definition itemmodel.h:188
QString minOfficialRating
Definition itemmodel.h:206
QStringList tags
Definition itemmodel.h:211
bool hasParentalRating
Definition itemmodel.h:178
QStringList excludeArtistIds
Definition itemmodel.h:167
bool isPlaceHolder
Definition itemmodel.h:196
bool hasThemeSong
Definition itemmodel.h:181
QVariantList mediaTypes
Definition itemmodel.h:204
QStringList ids
Definition itemmodel.h:186
QStringList albums
Definition itemmodel.h:158
QStringList excludeItemIds
Definition itemmodel.h:168
bool isHd
Definition itemmodel.h:193
QVariantList locationTypes
Definition itemmodel.h:199
UserItemsLoader(QObject *parent=nullptr)
Definition itemmodel.cpp:50
QVariantList sortBy
Definition itemmodel.h:209
bool isPlayed
Definition itemmodel.h:197
QStringList artistIds
Definition itemmodel.h:159
bool hasSpecialFeature
Definition itemmodel.h:179
bool hasImdbId
Definition itemmodel.h:175
QStringList contributingArtistIds
Definition itemmodel.h:162
bool hasTrailer
Definition itemmodel.h:184
bool hasOfficialRating
Definition itemmodel.h:176
QList< Jellyfin::DTO::LocationTypeClass::Value > excludeLocationTypes
Definition itemmodel.h:170
bool enableImages
Definition itemmodel.h:164
bool enableUserData
Definition itemmodel.h:166
bool isMissing
Definition itemmodel.h:195
qint32 imageTypeLimit
Definition itemmodel.h:187
bool hasSubtitles
Definition itemmodel.h:180
QList< qint32 > years
Definition itemmodel.h:212
QStringList artists
Definition itemmodel.h:160
bool hasOverview
Definition itemmodel.h:177
bool isUnaired
Definition itemmodel.h:198
QVariantList filters
Definition itemmodel.h:172
qint32 minHeight
Definition itemmodel.h:205
QStringList albumArtistIds
Definition itemmodel.h:156
QDateTime minPremiereDate
Definition itemmodel.h:207
QString parentId
Definition itemmodel.h:214
QString searchTerm
Definition itemmodel.h:216
QVariantList enableImageTypes
Definition itemmodel.h:163
QStringList genreIds
Definition itemmodel.h:173
QString adjacentTo
Definition itemmodel.h:155
bool recursive
Definition itemmodel.h:215
bool isFavorite
Definition itemmodel.h:192
qint32 minWidth
Definition itemmodel.h:208
QStringList genres
Definition itemmodel.h:174
bool includeExternalContent
Definition itemmodel.h:126
bool includeHidden
Definition itemmodel.h:127
UserViewsLoader(QObject *parent=nullptr)
Definition itemmodel.cpp:44
QVariantList presetViews
Definition itemmodel.h:128
Definition mediaplayer2.h:20
#define JFRN(name)
Definition itemmodel.h:79
#define FWDLISTPROP(type, propName, propSetName)
Definition itemmodel.h:49
#define FWDPROP(type, propName, propSetName)
Definition itemmodel.h:37
Contains auto-generated Data Transfer Objects for the Jellyfin HTTP API.
CollectionTypeClass::Value CollectionType
Definition collectiontype.h:70
SortOrderClass::Value SortOrder
Definition sortorder.h:59
Definition controllablesession.h:18
AbstractUserParameterLoader< Model::Item, DTO::BaseItemDto, DTO::BaseItemDtoQueryResult, Jellyfin::Loader::GetSeasonsParams > ShowSeasonsLoaderBase
Definition itemmodel.h:239
AbstractUserParameterLoader< Model::Item, DTO::BaseItemDto, DTO::BaseItemDtoQueryResult, Jellyfin::Loader::GetEpisodesParams > ShowEpisodesLoaderBase
Definition itemmodel.h:257
AbstractUserParameterLoader< Model::Item, DTO::BaseItemDto, DTO::BaseItemDtoQueryResult, Jellyfin::Loader::GetAlbumArtistsParams > AlbumArtistLoaderBase
Definition itemmodel.h:293
AbstractUserParameterLoader< Model::Item, DTO::BaseItemDto, DTO::BaseItemDtoQueryResult, Jellyfin::Loader::GetNextUpParams > NextUpLoaderBase
Definition itemmodel.h:276
AbstractUserParameterLoader< Model::Item, DTO::BaseItemDto, DTO::BaseItemDtoQueryResult, Jellyfin::Loader::GetItemsParams > UserItemsLoaderBase
Definition itemmodel.h:149
AbstractUserParameterLoader< Model::Item, DTO::BaseItemDto, QList< DTO::BaseItemDto >, Jellyfin::Loader::GetLatestMediaParams > LatestMediaBase
Definition itemmodel.h:131
AbstractUserParameterLoader< Model::Item, DTO::BaseItemDto, DTO::BaseItemDtoQueryResult, Jellyfin::Loader::GetResumeItemsParams > ResumeItemsLoaderBase
Definition itemmodel.h:220
AbstractUserParameterLoader< Model::Item, DTO::BaseItemDto, DTO::BaseItemDtoQueryResult, Jellyfin::Loader::GetUserViewsParams > UserViewsLoaderBase
Definition itemmodel.h:120
AbstractUserParameterLoader< Model::Item, DTO::BaseItemDto, DTO::BaseItemDtoQueryResult, Jellyfin::Loader::GetLiveTvChannelsParams > LiveTvChannelsLoaderBase
Definition itemmodel.h:330
void writeRequestTypesFile R(File headerFile, File implementationFile, R endpoints) if(is(ElementType!R
Definition openapigenerator.d:279