Changeset View
Changeset View
Standalone View
Standalone View
src/modeldataloader.cpp
Show First 20 Lines • Show All 52 Lines • ▼ Show 20 Line(s) | |||||
53 | 53 | | |||
54 | ModelDataLoader::~ModelDataLoader() = default; | 54 | ModelDataLoader::~ModelDataLoader() = default; | ||
55 | 55 | | |||
56 | void ModelDataLoader::setDatabase(DatabaseInterface *database) | 56 | void ModelDataLoader::setDatabase(DatabaseInterface *database) | ||
57 | { | 57 | { | ||
58 | d->mDatabase = database; | 58 | d->mDatabase = database; | ||
59 | 59 | | |||
60 | connect(database, &DatabaseInterface::genresAdded, | 60 | connect(database, &DatabaseInterface::genresAdded, | ||
61 | this, &ModelDataLoader::databaseGenresAdded); | 61 | this, &ModelDataLoader::genresAdded); | ||
62 | connect(database, &DatabaseInterface::albumsAdded, | 62 | connect(database, &DatabaseInterface::albumsAdded, | ||
63 | this, &ModelDataLoader::databaseAlbumsAdded); | 63 | this, &ModelDataLoader::databaseAlbumsAdded); | ||
64 | connect(database, &DatabaseInterface::albumModified, | 64 | connect(database, &DatabaseInterface::albumModified, | ||
65 | this, &ModelDataLoader::databaseAlbumModified); | 65 | this, &ModelDataLoader::albumModified); | ||
66 | connect(database, &DatabaseInterface::albumRemoved, | 66 | connect(database, &DatabaseInterface::albumRemoved, | ||
67 | this, &ModelDataLoader::databaseAlbumRemoved); | 67 | this, &ModelDataLoader::albumRemoved); | ||
68 | connect(database, &DatabaseInterface::tracksAdded, | 68 | connect(database, &DatabaseInterface::tracksAdded, | ||
69 | this, &ModelDataLoader::databaseTracksAdded); | 69 | this, &ModelDataLoader::databaseTracksAdded); | ||
70 | connect(database, &DatabaseInterface::trackModified, | 70 | connect(database, &DatabaseInterface::trackModified, | ||
71 | this, &ModelDataLoader::databaseTrackModified); | 71 | this, &ModelDataLoader::trackModified); | ||
72 | connect(database, &DatabaseInterface::trackRemoved, | 72 | connect(database, &DatabaseInterface::trackRemoved, | ||
73 | this, &ModelDataLoader::databaseTrackRemoved); | 73 | this, &ModelDataLoader::trackRemoved); | ||
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::artistRemoved); | ||
78 | connect(this, &ModelDataLoader::saveRadioModified, | 78 | connect(this, &ModelDataLoader::saveRadioModified, | ||
79 | database, &DatabaseInterface::insertRadio); | 79 | database, &DatabaseInterface::insertRadio); | ||
80 | connect(this, &ModelDataLoader::removeRadio, | 80 | connect(this, &ModelDataLoader::removeRadio, | ||
81 | database, &DatabaseInterface::removeRadio); | 81 | database, &DatabaseInterface::removeRadio); | ||
82 | connect(database, &DatabaseInterface::radioAdded, | 82 | connect(database, &DatabaseInterface::radioAdded, | ||
83 | this, &ModelDataLoader::databaseRadioAdded); | 83 | this, &ModelDataLoader::radioAdded); | ||
84 | connect(database, &DatabaseInterface::radioModified, | 84 | connect(database, &DatabaseInterface::radioModified, | ||
85 | this, &ModelDataLoader::databaseRadioModified); | 85 | this, &ModelDataLoader::radioModified); | ||
86 | connect(database, &DatabaseInterface::radioRemoved, | 86 | connect(database, &DatabaseInterface::radioRemoved, | ||
87 | this, &ModelDataLoader::databaseRadioRemoved); | 87 | this, &ModelDataLoader::radioRemoved); | ||
88 | } | 88 | } | ||
89 | 89 | | |||
90 | void ModelDataLoader::loadData(ElisaUtils::PlayListEntryType dataType) | 90 | void ModelDataLoader::loadData(ElisaUtils::PlayListEntryType dataType) | ||
91 | { | 91 | { | ||
92 | if (!d->mDatabase) { | 92 | if (!d->mDatabase) { | ||
93 | return; | 93 | return; | ||
94 | } | 94 | } | ||
95 | 95 | | |||
▲ Show 20 Lines • Show All 264 Lines • ▼ Show 20 Line(s) | 342 | { | |||
360 | case ModelDataLoader::FilterType::FilterByArtist: | 360 | case ModelDataLoader::FilterType::FilterByArtist: | ||
361 | case ModelDataLoader::FilterType::FilterByRecentlyPlayed: | 361 | case ModelDataLoader::FilterType::FilterByRecentlyPlayed: | ||
362 | case ModelDataLoader::FilterType::FilterByFrequentlyPlayed: | 362 | case ModelDataLoader::FilterType::FilterByFrequentlyPlayed: | ||
363 | case ModelDataLoader::FilterType::UnknownFilter: | 363 | case ModelDataLoader::FilterType::UnknownFilter: | ||
364 | break; | 364 | break; | ||
365 | } | 365 | } | ||
366 | } | 366 | } | ||
367 | 367 | | |||
368 | void ModelDataLoader::databaseTrackModified(const TrackDataType &modifiedTrack) | | |||
369 | { | | |||
370 | Q_EMIT trackModified(modifiedTrack); | | |||
371 | } | | |||
372 | | ||||
373 | void ModelDataLoader::databaseTrackRemoved(qulonglong removedTrackId) | | |||
374 | { | | |||
375 | Q_EMIT trackRemoved(removedTrackId); | | |||
376 | } | | |||
377 | | ||||
378 | void ModelDataLoader::databaseGenresAdded(const ListGenreDataType &newData) | | |||
379 | { | | |||
380 | Q_EMIT genresAdded(newData); | | |||
381 | } | | |||
382 | | ||||
383 | void ModelDataLoader::databaseArtistsAdded(const ListArtistDataType &newData) | 368 | void ModelDataLoader::databaseArtistsAdded(const ListArtistDataType &newData) | ||
384 | { | 369 | { | ||
385 | switch(d->mFilterType) { | 370 | switch(d->mFilterType) { | ||
386 | case ModelDataLoader::FilterType::FilterByGenre: | 371 | case ModelDataLoader::FilterType::FilterByGenre: | ||
387 | { | 372 | { | ||
388 | auto filteredData = newData; | 373 | auto filteredData = newData; | ||
389 | auto new_end = std::remove_if(filteredData.begin(), filteredData.end(), | 374 | auto new_end = std::remove_if(filteredData.begin(), filteredData.end(), | ||
390 | [&](const auto &oneArtist){return !d->mDatabase->internalArtistMatchGenre(oneArtist.databaseId(), d->mGenre);}); | 375 | [&](const auto &oneArtist){return !d->mDatabase->internalArtistMatchGenre(oneArtist.databaseId(), d->mGenre);}); | ||
Show All 11 Lines | |||||
402 | case ModelDataLoader::FilterType::FilterById: | 387 | case ModelDataLoader::FilterType::FilterById: | ||
403 | case ModelDataLoader::FilterType::FilterByRecentlyPlayed: | 388 | case ModelDataLoader::FilterType::FilterByRecentlyPlayed: | ||
404 | case ModelDataLoader::FilterType::FilterByFrequentlyPlayed: | 389 | case ModelDataLoader::FilterType::FilterByFrequentlyPlayed: | ||
405 | case ModelDataLoader::FilterType::UnknownFilter: | 390 | case ModelDataLoader::FilterType::UnknownFilter: | ||
406 | break; | 391 | break; | ||
407 | } | 392 | } | ||
408 | } | 393 | } | ||
409 | 394 | | |||
410 | void ModelDataLoader::databaseArtistRemoved(qulonglong removedDatabaseId) | | |||
411 | { | | |||
412 | Q_EMIT artistRemoved(removedDatabaseId); | | |||
413 | } | | |||
414 | | ||||
415 | void ModelDataLoader::databaseAlbumsAdded(const ListAlbumDataType &newData) | 395 | void ModelDataLoader::databaseAlbumsAdded(const ListAlbumDataType &newData) | ||
416 | { | 396 | { | ||
417 | switch(d->mFilterType) { | 397 | switch(d->mFilterType) { | ||
418 | case ModelDataLoader::FilterType::FilterByArtist: | 398 | case ModelDataLoader::FilterType::FilterByArtist: | ||
419 | { | 399 | { | ||
420 | auto filteredData = newData; | 400 | auto filteredData = newData; | ||
421 | auto new_end = std::remove_if(filteredData.begin(), filteredData.end(), | 401 | auto new_end = std::remove_if(filteredData.begin(), filteredData.end(), | ||
422 | [&](const auto &oneAlbum){return oneAlbum.artist() != d->mArtist;}); | 402 | [&](const auto &oneAlbum){return oneAlbum.artist() != d->mArtist;}); | ||
Show All 24 Lines | |||||
447 | case ModelDataLoader::FilterType::FilterById: | 427 | case ModelDataLoader::FilterType::FilterById: | ||
448 | case ModelDataLoader::FilterType::FilterByRecentlyPlayed: | 428 | case ModelDataLoader::FilterType::FilterByRecentlyPlayed: | ||
449 | case ModelDataLoader::FilterType::FilterByFrequentlyPlayed: | 429 | case ModelDataLoader::FilterType::FilterByFrequentlyPlayed: | ||
450 | case ModelDataLoader::FilterType::UnknownFilter: | 430 | case ModelDataLoader::FilterType::UnknownFilter: | ||
451 | break; | 431 | break; | ||
452 | } | 432 | } | ||
453 | } | 433 | } | ||
454 | 434 | | |||
455 | void ModelDataLoader::databaseAlbumRemoved(qulonglong removedDatabaseId) | | |||
456 | { | | |||
457 | Q_EMIT albumRemoved(removedDatabaseId); | | |||
458 | } | | |||
459 | | ||||
460 | void ModelDataLoader::databaseAlbumModified(const AlbumDataType &modifiedAlbum) | | |||
461 | { | | |||
462 | Q_EMIT albumModified(modifiedAlbum); | | |||
463 | } | | |||
464 | | ||||
465 | void ModelDataLoader::updateRadioData(const TrackDataType &trackDataType) | | |||
466 | { | | |||
467 | Q_EMIT saveRadioModified(trackDataType); | | |||
468 | } | | |||
469 | | ||||
470 | void ModelDataLoader::deleteRadioData(qulonglong radioId) | | |||
471 | { | | |||
472 | Q_EMIT removeRadio(radioId); | | |||
473 | } | | |||
474 | | ||||
475 | void ModelDataLoader::databaseRadioAdded(TrackDataType radio) | | |||
476 | { | | |||
477 | Q_EMIT radioAdded(radio); | | |||
478 | } | | |||
479 | | ||||
480 | void ModelDataLoader::databaseRadioModified(TrackDataType radio) | | |||
481 | { | | |||
482 | Q_EMIT radioModified(radio); | | |||
483 | } | | |||
484 | | ||||
485 | void ModelDataLoader::databaseRadioRemoved(qulonglong radioId) | | |||
486 | { | | |||
487 | Q_EMIT radioRemoved(radioId); | | |||
488 | } | | |||
489 | | ||||
490 | #include "moc_modeldataloader.cpp" | 435 | #include "moc_modeldataloader.cpp" |