Changeset View
Changeset View
Standalone View
Standalone View
src/modeldataloader.cpp
Show First 20 Lines • Show All 69 Lines • ▼ Show 20 Line(s) | 57 | { | |||
---|---|---|---|---|---|
70 | connect(database, &DatabaseInterface::trackModified, | 70 | connect(database, &DatabaseInterface::trackModified, | ||
71 | this, &ModelDataLoader::databaseTrackModified); | 71 | this, &ModelDataLoader::databaseTrackModified); | ||
72 | connect(database, &DatabaseInterface::trackRemoved, | 72 | connect(database, &DatabaseInterface::trackRemoved, | ||
73 | this, &ModelDataLoader::databaseTrackRemoved); | 73 | this, &ModelDataLoader::databaseTrackRemoved); | ||
74 | connect(database, &DatabaseInterface::artistsAdded, | 74 | connect(database, &DatabaseInterface::artistsAdded, | ||
75 | this, &ModelDataLoader::databaseArtistsAdded); | 75 | this, &ModelDataLoader::databaseArtistsAdded); | ||
76 | connect(database, &DatabaseInterface::artistRemoved, | 76 | connect(database, &DatabaseInterface::artistRemoved, | ||
77 | this, &ModelDataLoader::databaseArtistRemoved); | 77 | this, &ModelDataLoader::databaseArtistRemoved); | ||
78 | connect(this, &ModelDataLoader::saveRadioModified, | ||||
79 | database, &DatabaseInterface::updateRadioInDatabase); | ||||
80 | connect(this, &ModelDataLoader::deleteRadioInDatabase, | ||||
81 | database, &DatabaseInterface::deleteRadioInDatabase); | ||||
82 | connect(database, &DatabaseInterface::updateUIAfterRadioInsertOrUpdate, | ||||
83 | this, &ModelDataLoader::updateUIAfterRadioInsertOrUpdate); | ||||
84 | connect(database, &DatabaseInterface::updateUIAfterRadioDeleted, | ||||
85 | this, &ModelDataLoader::updateUIAfterRadioDeleted); | ||||
78 | } | 86 | } | ||
79 | 87 | | |||
80 | void ModelDataLoader::loadData(ElisaUtils::PlayListEntryType dataType) | 88 | void ModelDataLoader::loadData(ElisaUtils::PlayListEntryType dataType) | ||
81 | { | 89 | { | ||
82 | if (!d->mDatabase) { | 90 | if (!d->mDatabase) { | ||
83 | return; | 91 | return; | ||
84 | } | 92 | } | ||
85 | 93 | | |||
Show All 15 Lines | |||||
101 | case ElisaUtils::Lyricist: | 109 | case ElisaUtils::Lyricist: | ||
102 | break; | 110 | break; | ||
103 | case ElisaUtils::Track: | 111 | case ElisaUtils::Track: | ||
104 | Q_EMIT allTracksData(d->mDatabase->allTracksData()); | 112 | Q_EMIT allTracksData(d->mDatabase->allTracksData()); | ||
105 | break; | 113 | break; | ||
106 | case ElisaUtils::FileName: | 114 | case ElisaUtils::FileName: | ||
107 | case ElisaUtils::Unknown: | 115 | case ElisaUtils::Unknown: | ||
108 | break; | 116 | break; | ||
117 | case ElisaUtils::Radio: | ||||
118 | Q_EMIT allRadiosData(d->mDatabase->allRadiosData()); | ||||
119 | break; | ||||
109 | } | 120 | } | ||
110 | } | 121 | } | ||
111 | 122 | | |||
112 | void ModelDataLoader::loadDataByAlbumId(ElisaUtils::PlayListEntryType dataType, qulonglong databaseId) | 123 | void ModelDataLoader::loadDataByAlbumId(ElisaUtils::PlayListEntryType dataType, qulonglong databaseId) | ||
113 | { | 124 | { | ||
114 | if (!d->mDatabase) { | 125 | if (!d->mDatabase) { | ||
115 | return; | 126 | return; | ||
116 | } | 127 | } | ||
Show All 13 Lines | 140 | case ElisaUtils::Genre: | |||
130 | break; | 141 | break; | ||
131 | case ElisaUtils::Lyricist: | 142 | case ElisaUtils::Lyricist: | ||
132 | break; | 143 | break; | ||
133 | case ElisaUtils::Track: | 144 | case ElisaUtils::Track: | ||
134 | Q_EMIT allTracksData(d->mDatabase->albumData(databaseId)); | 145 | Q_EMIT allTracksData(d->mDatabase->albumData(databaseId)); | ||
135 | break; | 146 | break; | ||
136 | case ElisaUtils::FileName: | 147 | case ElisaUtils::FileName: | ||
137 | case ElisaUtils::Unknown: | 148 | case ElisaUtils::Unknown: | ||
149 | case ElisaUtils::Radio: | ||||
138 | break; | 150 | break; | ||
139 | } | 151 | } | ||
140 | } | 152 | } | ||
141 | 153 | | |||
142 | void ModelDataLoader::loadDataByGenre(ElisaUtils::PlayListEntryType dataType, const QString &genre) | 154 | void ModelDataLoader::loadDataByGenre(ElisaUtils::PlayListEntryType dataType, const QString &genre) | ||
143 | { | 155 | { | ||
144 | if (!d->mDatabase) { | 156 | if (!d->mDatabase) { | ||
145 | return; | 157 | return; | ||
Show All 9 Lines | 165 | case ElisaUtils::Artist: | |||
155 | break; | 167 | break; | ||
156 | case ElisaUtils::Album: | 168 | case ElisaUtils::Album: | ||
157 | case ElisaUtils::Composer: | 169 | case ElisaUtils::Composer: | ||
158 | case ElisaUtils::Track: | 170 | case ElisaUtils::Track: | ||
159 | case ElisaUtils::Genre: | 171 | case ElisaUtils::Genre: | ||
160 | case ElisaUtils::Lyricist: | 172 | case ElisaUtils::Lyricist: | ||
161 | case ElisaUtils::FileName: | 173 | case ElisaUtils::FileName: | ||
162 | case ElisaUtils::Unknown: | 174 | case ElisaUtils::Unknown: | ||
175 | case ElisaUtils::Radio: | ||||
163 | break; | 176 | break; | ||
164 | } | 177 | } | ||
165 | } | 178 | } | ||
166 | 179 | | |||
167 | void ModelDataLoader::loadDataByArtist(ElisaUtils::PlayListEntryType dataType, const QString &artist) | 180 | void ModelDataLoader::loadDataByArtist(ElisaUtils::PlayListEntryType dataType, const QString &artist) | ||
168 | { | 181 | { | ||
169 | if (!d->mDatabase) { | 182 | if (!d->mDatabase) { | ||
170 | return; | 183 | return; | ||
Show All 9 Lines | 191 | case ElisaUtils::Album: | |||
180 | break; | 193 | break; | ||
181 | case ElisaUtils::Artist: | 194 | case ElisaUtils::Artist: | ||
182 | case ElisaUtils::Composer: | 195 | case ElisaUtils::Composer: | ||
183 | case ElisaUtils::Track: | 196 | case ElisaUtils::Track: | ||
184 | case ElisaUtils::Genre: | 197 | case ElisaUtils::Genre: | ||
185 | case ElisaUtils::Lyricist: | 198 | case ElisaUtils::Lyricist: | ||
186 | case ElisaUtils::FileName: | 199 | case ElisaUtils::FileName: | ||
187 | case ElisaUtils::Unknown: | 200 | case ElisaUtils::Unknown: | ||
201 | case ElisaUtils::Radio: | ||||
188 | break; | 202 | break; | ||
189 | } | 203 | } | ||
190 | } | 204 | } | ||
191 | 205 | | |||
192 | void ModelDataLoader::loadDataByGenreAndArtist(ElisaUtils::PlayListEntryType dataType, const QString &genre, const QString &artist) | 206 | void ModelDataLoader::loadDataByGenreAndArtist(ElisaUtils::PlayListEntryType dataType, const QString &genre, const QString &artist) | ||
193 | { | 207 | { | ||
194 | if (!d->mDatabase) { | 208 | if (!d->mDatabase) { | ||
195 | return; | 209 | return; | ||
Show All 10 Lines | 218 | case ElisaUtils::Album: | |||
206 | break; | 220 | break; | ||
207 | case ElisaUtils::Artist: | 221 | case ElisaUtils::Artist: | ||
208 | case ElisaUtils::Composer: | 222 | case ElisaUtils::Composer: | ||
209 | case ElisaUtils::Genre: | 223 | case ElisaUtils::Genre: | ||
210 | case ElisaUtils::Lyricist: | 224 | case ElisaUtils::Lyricist: | ||
211 | case ElisaUtils::Track: | 225 | case ElisaUtils::Track: | ||
212 | case ElisaUtils::FileName: | 226 | case ElisaUtils::FileName: | ||
213 | case ElisaUtils::Unknown: | 227 | case ElisaUtils::Unknown: | ||
228 | case ElisaUtils::Radio: | ||||
214 | break; | 229 | break; | ||
215 | } | 230 | } | ||
216 | } | 231 | } | ||
217 | 232 | | |||
218 | void ModelDataLoader::loadDataByDatabaseId(ElisaUtils::PlayListEntryType dataType, qulonglong databaseId) | 233 | void ModelDataLoader::loadDataByDatabaseId(ElisaUtils::PlayListEntryType dataType, qulonglong databaseId) | ||
219 | { | 234 | { | ||
220 | if (!d->mDatabase) { | 235 | if (!d->mDatabase) { | ||
221 | return; | 236 | return; | ||
222 | } | 237 | } | ||
223 | 238 | | |||
224 | d->mFilterType = ModelDataLoader::FilterType::FilterById; | 239 | d->mFilterType = ModelDataLoader::FilterType::FilterById; | ||
225 | d->mDatabaseId = databaseId; | 240 | d->mDatabaseId = databaseId; | ||
226 | 241 | | |||
227 | switch (dataType) | 242 | switch (dataType) | ||
228 | { | 243 | { | ||
229 | case ElisaUtils::Track: | 244 | case ElisaUtils::Track: | ||
230 | Q_EMIT allTrackData(d->mDatabase->trackDataFromDatabaseId(databaseId)); | 245 | Q_EMIT allTrackData(d->mDatabase->trackDataFromDatabaseId(databaseId)); | ||
231 | break; | 246 | break; | ||
247 | case ElisaUtils::Radio: | ||||
248 | Q_EMIT allRadioData(d->mDatabase->radioDataFromDatabaseId(databaseId)); | ||||
249 | break; | ||||
232 | case ElisaUtils::Album: | 250 | case ElisaUtils::Album: | ||
233 | case ElisaUtils::Artist: | 251 | case ElisaUtils::Artist: | ||
234 | case ElisaUtils::Composer: | 252 | case ElisaUtils::Composer: | ||
235 | case ElisaUtils::Genre: | 253 | case ElisaUtils::Genre: | ||
236 | case ElisaUtils::Lyricist: | 254 | case ElisaUtils::Lyricist: | ||
237 | case ElisaUtils::FileName: | 255 | case ElisaUtils::FileName: | ||
238 | case ElisaUtils::Unknown: | 256 | case ElisaUtils::Unknown: | ||
239 | break; | 257 | break; | ||
Show All 18 Lines | 262 | { | |||
258 | } | 276 | } | ||
259 | case ElisaUtils::Track: | 277 | case ElisaUtils::Track: | ||
260 | case ElisaUtils::Album: | 278 | case ElisaUtils::Album: | ||
261 | case ElisaUtils::Artist: | 279 | case ElisaUtils::Artist: | ||
262 | case ElisaUtils::Composer: | 280 | case ElisaUtils::Composer: | ||
263 | case ElisaUtils::Genre: | 281 | case ElisaUtils::Genre: | ||
264 | case ElisaUtils::Lyricist: | 282 | case ElisaUtils::Lyricist: | ||
265 | case ElisaUtils::Unknown: | 283 | case ElisaUtils::Unknown: | ||
284 | case ElisaUtils::Radio: | ||||
266 | break; | 285 | break; | ||
267 | } | 286 | } | ||
268 | } | 287 | } | ||
269 | 288 | | |||
270 | void ModelDataLoader::loadRecentlyPlayedData(ElisaUtils::PlayListEntryType dataType) | 289 | void ModelDataLoader::loadRecentlyPlayedData(ElisaUtils::PlayListEntryType dataType) | ||
271 | { | 290 | { | ||
272 | if (!d->mDatabase) { | 291 | if (!d->mDatabase) { | ||
273 | return; | 292 | return; | ||
274 | } | 293 | } | ||
275 | 294 | | |||
276 | d->mFilterType = ModelDataLoader::FilterType::FilterByRecentlyPlayed; | 295 | d->mFilterType = ModelDataLoader::FilterType::FilterByRecentlyPlayed; | ||
277 | 296 | | |||
278 | switch (dataType) | 297 | switch (dataType) | ||
279 | { | 298 | { | ||
280 | case ElisaUtils::Track: | 299 | case ElisaUtils::Track: | ||
281 | Q_EMIT allTracksData(d->mDatabase->recentlyPlayedTracksData(50)); | 300 | Q_EMIT allTracksData(d->mDatabase->recentlyPlayedTracksData(50)); | ||
282 | break; | 301 | break; | ||
283 | case ElisaUtils::Album: | 302 | case ElisaUtils::Album: | ||
284 | case ElisaUtils::Artist: | 303 | case ElisaUtils::Artist: | ||
285 | case ElisaUtils::Composer: | 304 | case ElisaUtils::Composer: | ||
286 | case ElisaUtils::Genre: | 305 | case ElisaUtils::Genre: | ||
287 | case ElisaUtils::Lyricist: | 306 | case ElisaUtils::Lyricist: | ||
288 | case ElisaUtils::FileName: | 307 | case ElisaUtils::FileName: | ||
289 | case ElisaUtils::Unknown: | 308 | case ElisaUtils::Unknown: | ||
309 | case ElisaUtils::Radio: | ||||
290 | break; | 310 | break; | ||
291 | } | 311 | } | ||
292 | } | 312 | } | ||
293 | 313 | | |||
294 | void ModelDataLoader::loadFrequentlyPlayedData(ElisaUtils::PlayListEntryType dataType) | 314 | void ModelDataLoader::loadFrequentlyPlayedData(ElisaUtils::PlayListEntryType dataType) | ||
295 | { | 315 | { | ||
296 | if (!d->mDatabase) { | 316 | if (!d->mDatabase) { | ||
297 | return; | 317 | return; | ||
298 | } | 318 | } | ||
299 | 319 | | |||
300 | d->mFilterType = ModelDataLoader::FilterType::FilterByFrequentlyPlayed; | 320 | d->mFilterType = ModelDataLoader::FilterType::FilterByFrequentlyPlayed; | ||
301 | 321 | | |||
302 | switch (dataType) | 322 | switch (dataType) | ||
303 | { | 323 | { | ||
304 | case ElisaUtils::Track: | 324 | case ElisaUtils::Track: | ||
305 | Q_EMIT allTracksData(d->mDatabase->frequentlyPlayedTracksData(50)); | 325 | Q_EMIT allTracksData(d->mDatabase->frequentlyPlayedTracksData(50)); | ||
306 | break; | 326 | break; | ||
307 | case ElisaUtils::Album: | 327 | case ElisaUtils::Album: | ||
308 | case ElisaUtils::Artist: | 328 | case ElisaUtils::Artist: | ||
309 | case ElisaUtils::Composer: | 329 | case ElisaUtils::Composer: | ||
310 | case ElisaUtils::Genre: | 330 | case ElisaUtils::Genre: | ||
311 | case ElisaUtils::Lyricist: | 331 | case ElisaUtils::Lyricist: | ||
312 | case ElisaUtils::FileName: | 332 | case ElisaUtils::FileName: | ||
313 | case ElisaUtils::Unknown: | 333 | case ElisaUtils::Unknown: | ||
334 | case ElisaUtils::Radio: | ||||
314 | break; | 335 | break; | ||
315 | } | 336 | } | ||
316 | } | 337 | } | ||
317 | 338 | | |||
318 | void ModelDataLoader::databaseTracksAdded(const ListTrackDataType &newData) | 339 | void ModelDataLoader::databaseTracksAdded(const ListTrackDataType &newData) | ||
319 | { | 340 | { | ||
320 | switch(d->mFilterType) { | 341 | switch(d->mFilterType) { | ||
321 | case ModelDataLoader::FilterType::NoFilter: | 342 | case ModelDataLoader::FilterType::NoFilter: | ||
▲ Show 20 Lines • Show All 112 Lines • ▼ Show 20 Line(s) | 454 | { | |||
434 | Q_EMIT albumRemoved(removedDatabaseId); | 455 | Q_EMIT albumRemoved(removedDatabaseId); | ||
435 | } | 456 | } | ||
436 | 457 | | |||
437 | void ModelDataLoader::databaseAlbumModified(const AlbumDataType &modifiedAlbum) | 458 | void ModelDataLoader::databaseAlbumModified(const AlbumDataType &modifiedAlbum) | ||
438 | { | 459 | { | ||
439 | Q_EMIT albumModified(modifiedAlbum); | 460 | Q_EMIT albumModified(modifiedAlbum); | ||
440 | } | 461 | } | ||
441 | 462 | | |||
463 | void ModelDataLoader::updateRadioData(TrackDataType trackDataType){ | ||||
464 | Q_EMIT saveRadioModified(trackDataType); | ||||
465 | } | ||||
466 | | ||||
467 | void ModelDataLoader::deleteRadioData(qulonglong radioId){ | ||||
468 | Q_EMIT deleteRadioInDatabase(radioId); | ||||
469 | } | ||||
470 | | ||||
471 | void ModelDataLoader::updateUIAfterRadioInsertOrUpdate(TrackDataType radio, bool isInsertion){ | ||||
472 | Q_EMIT allRadiosDataUIUpdate(radio, isInsertion); | ||||
473 | } | ||||
474 | | ||||
475 | void ModelDataLoader::updateUIAfterRadioDeleted(qulonglong radioId){ | ||||
476 | Q_EMIT radioRemoved(radioId); | ||||
477 | } | ||||
442 | 478 | | |||
443 | #include "moc_modeldataloader.cpp" | 479 | #include "moc_modeldataloader.cpp" |