X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=staging%2Fsoundmanager.git;a=blobdiff_plain;f=sample%2Fmediaplayer%2Fapp%2Fplaylistwithmetadata.h;fp=sample%2Fmediaplayer%2Fapp%2Fplaylistwithmetadata.h;h=74cf6f55cf0ddd467f25ceea184b272a32b4c802;hp=0000000000000000000000000000000000000000;hb=2e602801b372b0b68111316b89f567213e3ea378;hpb=f743c3428f41b8d127e538ea8a6505a0c882cdb2 diff --git a/sample/mediaplayer/app/playlistwithmetadata.h b/sample/mediaplayer/app/playlistwithmetadata.h new file mode 100644 index 0000000..74cf6f5 --- /dev/null +++ b/sample/mediaplayer/app/playlistwithmetadata.h @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2016 The Qt Company Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef PLAYLISTWITHMETADATA_H +#define PLAYLISTWITHMETADATA_H + +#include + +class PlaylistWithMetadata : public QAbstractListModel +{ + Q_OBJECT + Q_PROPERTY(QAbstractListModel *source READ source WRITE setSource NOTIFY sourceChanged) +public: + PlaylistWithMetadata(QObject *parent = nullptr); + ~PlaylistWithMetadata(); + + enum { + TitleRole = Qt::DisplayRole + , ArtistRole = Qt::UserRole + 1 + , CoverArtRole + , SourceRole + , DurationRole + }; + + int rowCount(const QModelIndex &parent = QModelIndex()) const override; + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; + QHash roleNames() const override; + + QAbstractListModel *source() const; + +public slots: + void setSource(QAbstractListModel *source); + +signals: + void sourceChanged(QAbstractListModel *source); + +private: + class Private; + Private *d; +}; + +#endif // PLAYLISTWITHMETADATA_H