Changeset View
Changeset View
Standalone View
Standalone View
src/models/trackmetadatamodel.h
Show First 20 Lines • Show All 47 Lines • ▼ Show 20 Line(s) | 47 | Q_PROPERTY(MusicListenersManager* manager | |||
---|---|---|---|---|---|
48 | READ manager | 48 | READ manager | ||
49 | WRITE setManager | 49 | WRITE setManager | ||
50 | NOTIFY managerChanged) | 50 | NOTIFY managerChanged) | ||
51 | 51 | | |||
52 | Q_PROPERTY(QString lyrics | 52 | Q_PROPERTY(QString lyrics | ||
53 | READ lyrics | 53 | READ lyrics | ||
54 | NOTIFY lyricsChanged) | 54 | NOTIFY lyricsChanged) | ||
55 | 55 | | |||
56 | Q_PROPERTY(bool isRadio | ||||
57 | READ isRadio | ||||
58 | WRITE setIsRadio) | ||||
59 | | ||||
56 | public: | 60 | public: | ||
57 | 61 | | |||
58 | enum ColumnRoles | 62 | enum ColumnRoles | ||
59 | { | 63 | { | ||
60 | ItemNameRole = Qt::UserRole + 1, | 64 | ItemNameRole = Qt::UserRole + 1, | ||
61 | ItemTypeRole, | 65 | ItemTypeRole, | ||
62 | }; | 66 | }; | ||
63 | 67 | | |||
Show All 26 Lines | |||||
90 | QUrl coverUrl() const; | 94 | QUrl coverUrl() const; | ||
91 | 95 | | |||
92 | QString fileUrl() const; | 96 | QString fileUrl() const; | ||
93 | 97 | | |||
94 | MusicListenersManager* manager() const; | 98 | MusicListenersManager* manager() const; | ||
95 | 99 | | |||
96 | QString lyrics() const; | 100 | QString lyrics() const; | ||
97 | 101 | | |||
102 | bool isRadio(); | ||||
103 | | ||||
98 | Q_SIGNALS: | 104 | Q_SIGNALS: | ||
99 | 105 | | |||
100 | void needDataByDatabaseId(ElisaUtils::PlayListEntryType dataType, qulonglong databaseId); | 106 | void needDataByDatabaseId(ElisaUtils::PlayListEntryType dataType, qulonglong databaseId); | ||
101 | 107 | | |||
102 | void needDataByFileName(ElisaUtils::PlayListEntryType dataType, const QUrl &fileName); | 108 | void needDataByFileName(ElisaUtils::PlayListEntryType dataType, const QUrl &fileName); | ||
103 | 109 | | |||
104 | void coverUrlChanged(); | 110 | void coverUrlChanged(); | ||
105 | 111 | | |||
106 | void fileUrlChanged(); | 112 | void fileUrlChanged(); | ||
107 | 113 | | |||
108 | void managerChanged(); | 114 | void managerChanged(); | ||
109 | 115 | | |||
110 | void lyricsChanged(); | 116 | void lyricsChanged(); | ||
111 | 117 | | |||
118 | void saveRadioData(TrackDataType trackDataType); | ||||
119 | | ||||
120 | void deleteRadioData(qulonglong radioId); | ||||
121 | | ||||
122 | void disableApplyButton(); | ||||
123 | | ||||
124 | void hideDeleteButton(); | ||||
125 | | ||||
126 | void showDeleteButton(); | ||||
127 | | ||||
128 | void closeWindow(); | ||||
129 | | ||||
112 | public Q_SLOTS: | 130 | public Q_SLOTS: | ||
113 | 131 | | |||
114 | void trackData(const TrackMetadataModel::TrackDataType &trackData); | 132 | void trackData(const TrackMetadataModel::TrackDataType &trackData); | ||
115 | 133 | | |||
116 | void initializeByTrackId(qulonglong databaseId); | 134 | void initializeByTrackId(qulonglong databaseId); | ||
117 | 135 | | |||
118 | void initializeByTrackFileName(const QString &fileName); | 136 | void initializeByTrackFileName(const QString &fileName); | ||
119 | 137 | | |||
138 | void initializeForNewRadio(); | ||||
139 | | ||||
120 | void setManager(MusicListenersManager *newManager); | 140 | void setManager(MusicListenersManager *newManager); | ||
121 | 141 | | |||
142 | void setIsRadio(bool isRadio); | ||||
143 | | ||||
122 | void setDatabase(DatabaseInterface *trackDatabase); | 144 | void setDatabase(DatabaseInterface *trackDatabase); | ||
123 | 145 | | |||
146 | void saveData(); | ||||
147 | | ||||
148 | void deleteRadio(); | ||||
149 | | ||||
150 | void updateUI(TrackDataType radiosData, bool isInsertion); | ||||
mgallien: Instead of using a custom edit method, please override the existing generic setData method from… | |||||
151 | | ||||
152 | void radioRemoved(qulonglong radioId); | ||||
153 | | ||||
124 | protected: | 154 | protected: | ||
125 | 155 | | |||
126 | void fillDataFromTrackData(const TrackMetadataModel::TrackDataType &trackData); | 156 | void fillDataFromTrackData(const TrackMetadataModel::TrackDataType &trackData); | ||
127 | 157 | | |||
158 | void fillDataForNewRadio(); | ||||
159 | | ||||
128 | virtual void filterDataFromTrackData(); | 160 | virtual void filterDataFromTrackData(); | ||
129 | 161 | | |||
130 | void removeMetaData(DatabaseInterface::ColumnsRoles metaData); | 162 | void removeMetaData(DatabaseInterface::ColumnsRoles metaData); | ||
131 | 163 | | |||
132 | TrackDataType::mapped_type dataFromType(TrackDataType::key_type metaData) const; | 164 | TrackDataType::mapped_type dataFromType(TrackDataType::key_type metaData) const; | ||
133 | 165 | | |||
134 | virtual void fillLyricsDataFromTrack(); | 166 | virtual void fillLyricsDataFromTrack(); | ||
135 | 167 | | |||
136 | private Q_SLOTS: | 168 | private Q_SLOTS: | ||
137 | 169 | | |||
138 | void lyricsValueIsReady(); | 170 | void lyricsValueIsReady(); | ||
139 | 171 | | |||
140 | private: | 172 | private: | ||
141 | 173 | | |||
142 | void initialize(MusicListenersManager *newManager, | 174 | void initialize(MusicListenersManager *newManager, | ||
143 | DatabaseInterface *trackDatabase); | 175 | DatabaseInterface *trackDatabase); | ||
144 | 176 | | |||
145 | void fetchLyrics(); | 177 | void fetchLyrics(); | ||
146 | 178 | | |||
179 | QVariant dataGeneral(const QModelIndex &index, int role) const; | ||||
180 | | ||||
181 | QVariant dataRadio(const QModelIndex &index, int role) const; | ||||
182 | | ||||
147 | TrackDataType mFullData; | 183 | TrackDataType mFullData; | ||
148 | 184 | | |||
149 | TrackDataType mTrackData; | 185 | TrackDataType mTrackData; | ||
150 | 186 | | |||
151 | QUrl mCoverImage; | 187 | QUrl mCoverImage; | ||
152 | 188 | | |||
153 | QString mFileUrl; | 189 | QString mFileUrl; | ||
154 | 190 | | |||
155 | QList<TrackDataType::key_type> mTrackKeys; | 191 | QList<TrackDataType::key_type> mTrackKeys; | ||
156 | 192 | | |||
157 | ModelDataLoader mDataLoader; | 193 | ModelDataLoader mDataLoader; | ||
158 | 194 | | |||
159 | MusicListenersManager *mManager = nullptr; | 195 | MusicListenersManager *mManager = nullptr; | ||
160 | 196 | | |||
197 | bool mIsRadio; | ||||
198 | | ||||
161 | FileScanner mFileScanner; | 199 | FileScanner mFileScanner; | ||
162 | 200 | | |||
163 | QMimeDatabase mMimeDatabase; | 201 | QMimeDatabase mMimeDatabase; | ||
164 | 202 | | |||
165 | QFutureWatcher<QString> mLyricsValueWatcher; | 203 | QFutureWatcher<QString> mLyricsValueWatcher; | ||
166 | | ||||
167 | }; | 204 | }; | ||
168 | 205 | | |||
169 | #endif // TRACKMETADATAMODEL_H | 206 | #endif // TRACKMETADATAMODEL_H |
Instead of using a custom edit method, please override the existing generic setData method from the base class.
You will get a future safe interface that would be extensible to support editing non radio tracks.