2 * Copyright (C) 2016 The Qt Company Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #ifndef PLAYLISTWITHMETADATA_H
18 #define PLAYLISTWITHMETADATA_H
20 #include <QtCore/QAbstractListModel>
22 class PlaylistWithMetadata : public QAbstractListModel
25 Q_PROPERTY(QAbstractListModel *source READ source WRITE setSource NOTIFY sourceChanged)
27 PlaylistWithMetadata(QObject *parent = nullptr);
28 ~PlaylistWithMetadata();
31 TitleRole = Qt::DisplayRole
32 , ArtistRole = Qt::UserRole + 1
38 int rowCount(const QModelIndex &parent = QModelIndex()) const override;
39 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
40 QHash<int, QByteArray> roleNames() const override;
42 QAbstractListModel *source() const;
45 void setSource(QAbstractListModel *source);
48 void sourceChanged(QAbstractListModel *source);
55 #endif // PLAYLISTWITHMETADATA_H