Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qquickplaylist_p.h
Go to the documentation of this file.
1// Copyright (C) 2021 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QQUICKPLAYLIST_P_H
5#define QQUICKPLAYLIST_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists for the convenience
12// of other Qt classes. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <QtCore/QAbstractListModel>
19#include <QtQml/qqmlparserstatus.h>
20#include <QtQml/qqml.h>
21
22#include <qmediaplaylist.h>
23#include <private/qglobal_p.h>
24
26
28{
31 QML_NAMED_ELEMENT(PlaylistItem)
32
33public:
35
36 QUrl source() const;
37 void setSource(const QUrl &source);
38
39private:
40 QUrl m_source;
41};
42
44{
54 Q_CLASSINFO("DefaultProperty", "items")
55 QML_NAMED_ELEMENT(Playlist)
56
57public:
59 {
60 CurrentItemOnce = QMediaPlaylist::CurrentItemOnce,
61 CurrentItemInLoop = QMediaPlaylist::CurrentItemInLoop,
62 Sequential = QMediaPlaylist::Sequential,
63 Loop = QMediaPlaylist::Loop,
64// Random = QMediaPlaylist::Random
65 };
67
68 enum Error
69 {
70 NoError = QMediaPlaylist::NoError,
71 FormatError = QMediaPlaylist::FormatError,
72 FormatNotSupportedError = QMediaPlaylist::FormatNotSupportedError,
73 NetworkError = QMediaPlaylist::NetworkError,
74 AccessDeniedError = QMediaPlaylist::AccessDeniedError
75 };
77
78 enum Roles
79 {
81 };
82
85
88 QUrl currentItemSource() const;
89 int currentIndex() const;
91 int itemCount() const;
92 Error error() const;
93 QString errorString() const;
94 QMediaPlaylist *mediaPlaylist() const { return m_playlist; }
95
96 int rowCount(const QModelIndex &parent = QModelIndex()) const override;
97 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
98 QHash<int, QByteArray> roleNames() const override;
99
100 void classBegin() override;
101 void componentComplete() override;
102
103 QQmlListProperty<QQuickPlaylistItem> items() {
104 return QQmlListProperty<QQuickPlaylistItem>(
105 this, 0, item_append, item_count, 0, item_clear);
106 }
107 static void item_append(QQmlListProperty<QQuickPlaylistItem> *list,
109 static_cast<QQuickPlaylist*>(list->object)->addItem(item->source());
110 }
111 static qsizetype item_count(QQmlListProperty<QQuickPlaylistItem> *list) {
112 return static_cast<QQuickPlaylist*>(list->object)->itemCount();
113 }
114 static void item_clear(QQmlListProperty<QQuickPlaylistItem> *list) {
115 static_cast<QQuickPlaylist*>(list->object)->clear();
116 }
117
118public Q_SLOTS:
119 QUrl itemSource(int index);
120 int nextIndex(int steps = 1);
121 int previousIndex(int steps = 1);
122 void next();
123 void previous();
124 void shuffle();
125 void load(const QUrl &location, const QString &format = QString());
126 bool save(const QUrl &location, const QString &format = QString());
127 void addItem(const QUrl &source);
128 Q_REVISION(1) void addItems(const QList<QUrl> &sources);
129 bool insertItem(int index, const QUrl &source);
130 Q_REVISION(1) bool insertItems(int index, const QList<QUrl> &sources);
131 Q_REVISION(1) bool moveItem(int from, int to);
132 bool removeItem(int index);
133 Q_REVISION(1) bool removeItems(int start, int end);
134 void clear();
135
142
144 void itemInserted(int start, int end);
146 void itemRemoved(int start, int end);
147 void itemChanged(int start, int end);
148 void loaded();
150
152
154 void _q_mediaAboutToBeInserted(int start, int end);
155 void _q_mediaInserted(int start, int end);
156 void _q_mediaAboutToBeRemoved(int start, int end);
157 void _q_mediaRemoved(int start, int end);
158 void _q_mediaChanged(int start, int end);
159 void _q_loadFailed();
160
161private:
162 Q_DISABLE_COPY(QQuickPlaylist)
163
164 QMediaPlaylist *m_playlist;
165 QString m_errorString;
166 QMediaPlaylist::Error m_error;
167};
168
170
171#endif
QObject * parent() const
Returns a pointer to the parent object.
Definition qobject.h:346
Definition qlist.h:75
\inmodule QtCore
\inmodule QtCore
Definition qobject.h:103
QObject * parent() const
Returns a pointer to the parent object.
Definition qobject.h:346
The QQmlListProperty class allows applications to expose list-like properties of QObject-derived clas...
Definition qqmllist.h:24
The QQmlParserStatus class provides updates on the QML parser state.
QQuickPlaylistItem(QObject *parent=0)
\qmltype PlaylistItem \instantiates QQuickPlaylistItem
void setSource(const QUrl &source)
void shuffle()
\qmlmethod QtMultimedia::Playlist::shuffle()
static void item_clear(QQmlListProperty< QQuickPlaylistItem > *list)
QHash< int, QByteArray > roleNames() const override
bool insertItem(int index, const QUrl &source)
\qmlmethod bool QtMultimedia::Playlist::insertItem(index, source)
void itemAboutToBeInserted(int start, int end)
void setPlaybackMode(PlaybackMode playbackMode)
void currentIndexChanged()
QMediaPlaylist * mediaPlaylist() const
int rowCount(const QModelIndex &parent=QModelIndex()) const override
Returns the number of rows under the given parent.
QQuickPlaylist(QObject *parent=0)
static qsizetype item_count(QQmlListProperty< QQuickPlaylistItem > *list)
static void item_append(QQmlListProperty< QQuickPlaylistItem > *list, QQuickPlaylistItem *item)
void next()
\qmlmethod QtMultimedia::Playlist::next()
void itemAboutToBeRemoved(int start, int end)
Q_REVISION(1) void addItems(const QList< QUrl > &sources)
bool removeItem(int index)
\qmlmethod bool QtMultimedia::Playlist::removeItem(index)
QUrl itemSource(int index)
\qmlmethod url QtMultimedia::Playlist::itemSource(index)
void playbackModeChanged()
void currentItemSourceChanged()
void errorChanged()
bool save(const QUrl &location, const QString &format=QString())
\qmlmethod bool QtMultimedia::Playlist::save(location, format)
void itemCountChanged()
int nextIndex(int steps=1)
\qmlmethod int QtMultimedia::Playlist::nextIndex(steps)
void componentComplete() override
Invoked after the root component that caused this instantiation has completed construction.
void itemRemoved(int start, int end)
void addItem(const QUrl &source)
\qmlmethod bool QtMultimedia::Playlist::addItem(source)
void previous()
\qmlmethod QtMultimedia::Playlist::previous()
void itemChanged(int start, int end)
void classBegin() override
Invoked after class creation, but before any properties have been set.
void itemInserted(int start, int end)
QQmlListProperty< QQuickPlaylistItem > items
void clear()
\qmlmethod bool QtMultimedia::Playlist::clear()
void load(const QUrl &location, const QString &format=QString())
\qmlmethod QtMultimedia::Playlist::load(location, format)
PlaybackMode playbackMode
int previousIndex(int steps=1)
\qmlmethod int QtMultimedia::Playlist::previousIndex(steps)
void setCurrentIndex(int currentIndex)
QQmlListProperty< QQuickPlaylistItem > items()
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\inmodule QtCore
Definition qurl.h:94
\inmodule QtCore
Definition qvariant.h:65
Combined button and popup list for selecting options.
@ UserRole
@ DisplayRole
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
GLint location
GLuint index
[2]
GLuint GLuint end
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLuint start
GLsizei GLenum * sources
GLint GLsizei GLsizei GLenum format
GLsizei GLsizei GLchar * source
#define QML_NAMED_ELEMENT(NAME)
#define Q_ENUM(x)
#define Q_PROPERTY(...)
#define Q_OBJECT
#define Q_REVISION(...)
#define Q_CLASSINFO(name, value)
#define Q_INTERFACES(x)
#define Q_SLOTS
#define Q_SIGNALS
ptrdiff_t qsizetype
Definition qtypes.h:165
QList< int > list
[14]
QGraphicsItem * item