Changeset View
Changeset View
Standalone View
Standalone View
src/models/trackmetadatamodel.h
Show All 35 Lines | 33 | { | |||
---|---|---|---|---|---|
36 | Q_PROPERTY(QUrl coverUrl | 36 | Q_PROPERTY(QUrl coverUrl | ||
37 | READ coverUrl | 37 | READ coverUrl | ||
38 | NOTIFY coverUrlChanged) | 38 | NOTIFY coverUrlChanged) | ||
39 | 39 | | |||
40 | Q_PROPERTY(QString fileUrl | 40 | Q_PROPERTY(QString fileUrl | ||
41 | READ fileUrl | 41 | READ fileUrl | ||
42 | NOTIFY fileUrlChanged) | 42 | NOTIFY fileUrlChanged) | ||
43 | 43 | | |||
44 | Q_PROPERTY(MusicListenersManager* manager | ||||
45 | READ manager | ||||
46 | WRITE setManager | ||||
47 | NOTIFY managerChanged) | ||||
48 | | ||||
44 | public: | 49 | public: | ||
45 | 50 | | |||
46 | enum ColumnRoles | 51 | enum ColumnRoles | ||
47 | { | 52 | { | ||
48 | ItemNameRole = Qt::UserRole + 1, | 53 | ItemNameRole = Qt::UserRole + 1, | ||
49 | ItemTypeRole, | 54 | ItemTypeRole, | ||
50 | }; | 55 | }; | ||
51 | 56 | | |||
Show All 15 Lines | |||||
67 | 72 | | |||
68 | QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; | 73 | QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; | ||
69 | 74 | | |||
70 | bool setData(const QModelIndex &index, const QVariant &value, | 75 | bool setData(const QModelIndex &index, const QVariant &value, | ||
71 | int role = Qt::EditRole) override; | 76 | int role = Qt::EditRole) override; | ||
72 | 77 | | |||
73 | QHash<int, QByteArray> roleNames() const override; | 78 | QHash<int, QByteArray> roleNames() const override; | ||
74 | 79 | | |||
75 | Qt::ItemFlags flags(const QModelIndex& index) const override; | | |||
76 | | ||||
77 | bool insertRows(int row, int count, const QModelIndex &parent = QModelIndex()) override; | | |||
78 | | ||||
79 | bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()) override; | | |||
80 | | ||||
81 | const QUrl& coverUrl() const; | 80 | const QUrl& coverUrl() const; | ||
82 | 81 | | |||
83 | QString fileUrl() const; | 82 | QString fileUrl() const; | ||
84 | 83 | | |||
84 | MusicListenersManager* manager() const; | ||||
85 | | ||||
85 | Q_SIGNALS: | 86 | Q_SIGNALS: | ||
86 | 87 | | |||
87 | void needDataByDatabaseId(ElisaUtils::PlayListEntryType dataType, qulonglong databaseId); | 88 | void needDataByDatabaseId(ElisaUtils::PlayListEntryType dataType, qulonglong databaseId); | ||
88 | 89 | | |||
89 | void needDataByFileName(ElisaUtils::PlayListEntryType dataType, const QUrl &fileName); | 90 | void needDataByFileName(ElisaUtils::PlayListEntryType dataType, const QUrl &fileName); | ||
90 | 91 | | |||
91 | void coverUrlChanged(); | 92 | void coverUrlChanged(); | ||
92 | 93 | | |||
93 | void fileUrlChanged(); | 94 | void fileUrlChanged(); | ||
94 | 95 | | |||
96 | void managerChanged(); | ||||
97 | | ||||
95 | public Q_SLOTS: | 98 | public Q_SLOTS: | ||
96 | 99 | | |||
97 | void trackData(const TrackMetadataModel::TrackDataType &trackData); | 100 | void trackData(const TrackMetadataModel::TrackDataType &trackData); | ||
98 | 101 | | |||
99 | void initializeByTrackId(MusicListenersManager *manager, qulonglong databaseId); | 102 | void initializeByTrackId(qulonglong databaseId); | ||
100 | 103 | | |||
101 | void initializeByTrackFileName(MusicListenersManager *manager, const QUrl &fileName); | 104 | void initializeByTrackFileName(const QUrl &fileName); | ||
105 | | ||||
106 | void setManager(MusicListenersManager *newManager); | ||||
107 | | ||||
108 | protected: | ||||
109 | | ||||
110 | void fillDataFromTrackData(const TrackMetadataModel::TrackDataType &trackData); | ||||
111 | | ||||
112 | virtual void filterDataFromTrackData(); | ||||
113 | | ||||
114 | void removeMetaData(DatabaseInterface::ColumnsRoles metaData); | ||||
102 | 115 | | |||
103 | private: | 116 | private: | ||
104 | 117 | | |||
105 | TrackDataType mTrackData; | 118 | TrackDataType mTrackData; | ||
106 | 119 | | |||
107 | QUrl mCoverImage; | 120 | QUrl mCoverImage; | ||
108 | 121 | | |||
109 | QString mFileUrl; | 122 | QString mFileUrl; | ||
110 | 123 | | |||
111 | QList<TrackDataType::key_type> mTrackKeys; | 124 | QList<TrackDataType::key_type> mTrackKeys; | ||
112 | 125 | | |||
113 | ModelDataLoader mDataLoader; | 126 | ModelDataLoader mDataLoader; | ||
114 | 127 | | |||
128 | MusicListenersManager *mManager = nullptr; | ||||
129 | | ||||
115 | }; | 130 | }; | ||
116 | 131 | | |||
117 | #endif // TRACKMETADATAMODEL_H | 132 | #endif // TRACKMETADATAMODEL_H |