Changeset View
Changeset View
Standalone View
Standalone View
src/databaseinterface.h
Show First 20 Lines • Show All 180 Lines • ▼ Show 20 Line(s) | 180 | { | |||
---|---|---|---|---|---|
181 | return operator[](key_type::ComposerRole).toString(); | 181 | return operator[](key_type::ComposerRole).toString(); | ||
182 | } | 182 | } | ||
183 | 183 | | |||
184 | QString lyricist() const | 184 | QString lyricist() const | ||
185 | { | 185 | { | ||
186 | return operator[](key_type::LyricistRole).toString(); | 186 | return operator[](key_type::LyricistRole).toString(); | ||
187 | } | 187 | } | ||
188 | 188 | | |||
189 | QString comment() const | ||||
190 | { | ||||
191 | return operator[](key_type::CommentRole).toString(); | ||||
192 | } | ||||
193 | | ||||
194 | int year() const | ||||
195 | { | ||||
196 | return operator[](key_type::YearRole).toInt(); | ||||
197 | } | ||||
198 | | ||||
199 | int channels() const | ||||
200 | { | ||||
201 | return operator[](key_type::ChannelsRole).toInt(); | ||||
202 | } | ||||
203 | | ||||
204 | int bitRate() const | ||||
205 | { | ||||
206 | return operator[](key_type::BitRateRole).toInt(); | ||||
207 | } | ||||
208 | | ||||
209 | int sampleRate() const | ||||
210 | { | ||||
211 | return operator[](key_type::SampleRateRole).toInt(); | ||||
212 | } | ||||
213 | | ||||
189 | bool hasEmbeddedCover() const | 214 | bool hasEmbeddedCover() const | ||
190 | { | 215 | { | ||
191 | return operator[](key_type::HasEmbeddedCover).toBool(); | 216 | return operator[](key_type::HasEmbeddedCover).toBool(); | ||
192 | } | 217 | } | ||
193 | 218 | | |||
194 | QDateTime fileModificationTime() const | 219 | QDateTime fileModificationTime() const | ||
195 | { | 220 | { | ||
196 | return operator[](key_type::FileModificationTime).toDateTime(); | 221 | return operator[](key_type::FileModificationTime).toDateTime(); | ||
▲ Show 20 Lines • Show All 166 Lines • ▼ Show 20 Line(s) | 368 | Q_SIGNALS: | |||
363 | void albumModified(const DatabaseInterface::AlbumDataType &modifiedAlbum, qulonglong modifiedAlbumId); | 388 | void albumModified(const DatabaseInterface::AlbumDataType &modifiedAlbum, qulonglong modifiedAlbumId); | ||
364 | 389 | | |||
365 | void trackModified(const DatabaseInterface::TrackDataType &modifiedTrack); | 390 | void trackModified(const DatabaseInterface::TrackDataType &modifiedTrack); | ||
366 | 391 | | |||
367 | void requestsInitDone(); | 392 | void requestsInitDone(); | ||
368 | 393 | | |||
369 | void databaseError(); | 394 | void databaseError(); | ||
370 | 395 | | |||
371 | void restoredTracks(const QString &musicSource, QHash<QUrl, QDateTime> allFiles); | 396 | void restoredTracks(QHash<QUrl, QDateTime> allFiles); | ||
372 | 397 | | |||
373 | void cleanedDatabase(); | 398 | void cleanedDatabase(); | ||
374 | 399 | | |||
400 | void finishInsertingTracksList(); | ||||
401 | | ||||
402 | void finishRemovingTracksList(); | ||||
403 | | ||||
375 | public Q_SLOTS: | 404 | public Q_SLOTS: | ||
376 | 405 | | |||
377 | void insertTracksList(const QList<MusicAudioTrack> &tracks, const QHash<QString, QUrl> &covers, const QString &musicSource); | 406 | void insertTracksList(const QList<MusicAudioTrack> &tracks, const QHash<QString, QUrl> &covers); | ||
378 | 407 | | |||
379 | void removeTracksList(const QList<QUrl> &removedTracks); | 408 | void removeTracksList(const QList<QUrl> &removedTracks); | ||
380 | 409 | | |||
381 | void removeAllTracksFromSource(const QString &sourceName); | 410 | void askRestoredTracks(); | ||
382 | | ||||
383 | void askRestoredTracks(const QString &musicSource); | | |||
384 | 411 | | |||
385 | void trackHasStartedPlaying(const QUrl &fileName, const QDateTime &time); | 412 | void trackHasStartedPlaying(const QUrl &fileName, const QDateTime &time); | ||
386 | 413 | | |||
387 | void clearData(); | 414 | void clearData(); | ||
388 | 415 | | |||
389 | private: | 416 | private: | ||
390 | 417 | | |||
391 | enum class TrackFileInsertType { | 418 | enum class TrackFileInsertType { | ||
▲ Show 20 Lines • Show All 56 Lines • ▼ Show 20 Line(s) | |||||
448 | void removeArtistInDatabase(qulonglong artistId); | 475 | void removeArtistInDatabase(qulonglong artistId); | ||
449 | 476 | | |||
450 | void reloadExistingDatabase(); | 477 | void reloadExistingDatabase(); | ||
451 | 478 | | |||
452 | qulonglong initialId(DataUtils::DataType aType); | 479 | qulonglong initialId(DataUtils::DataType aType); | ||
453 | 480 | | |||
454 | qulonglong genericInitialId(QSqlQuery &request); | 481 | qulonglong genericInitialId(QSqlQuery &request); | ||
455 | 482 | | |||
456 | qulonglong insertMusicSource(const QString &name); | 483 | void insertTrackOrigin(const QUrl &fileNameURI, const QDateTime &fileModifiedTime, const QDateTime &importDate); | ||
457 | | ||||
458 | void insertTrackOrigin(const QUrl &fileNameURI, const QDateTime &fileModifiedTime, const QDateTime &importDate, qulonglong discoverId); | | |||
459 | 484 | | |||
460 | void updateTrackOrigin(const QUrl &fileName, const QDateTime &fileModifiedTime); | 485 | void updateTrackOrigin(const QUrl &fileName, const QDateTime &fileModifiedTime); | ||
461 | 486 | | |||
462 | int computeTrackPriority(const QString &title, const QString &trackArtist, const QString &album, const QString &albumArtist, const QString &trackPath); | 487 | int computeTrackPriority(const QString &title, const QString &trackArtist, const QString &album, const QString &albumArtist, const QString &trackPath); | ||
463 | 488 | | |||
464 | qulonglong internalInsertTrack(qulonglong discoverId, const MusicAudioTrack &oneModifiedTrack, | 489 | qulonglong internalInsertTrack(const MusicAudioTrack &oneModifiedTrack, | ||
465 | const QHash<QString, QUrl> &covers, bool &isInserted); | 490 | const QHash<QString, QUrl> &covers, bool &isInserted); | ||
466 | 491 | | |||
467 | MusicAudioTrack buildTrackFromDatabaseRecord(const QSqlRecord &trackRecord) const; | 492 | MusicAudioTrack buildTrackFromDatabaseRecord(const QSqlRecord &trackRecord) const; | ||
468 | 493 | | |||
469 | TrackDataType buildTrackDataFromDatabaseRecord(const QSqlRecord &trackRecord) const; | 494 | TrackDataType buildTrackDataFromDatabaseRecord(const QSqlRecord &trackRecord) const; | ||
470 | 495 | | |||
471 | void internalRemoveTracksList(const QList<QUrl> &removedTracks); | 496 | void internalRemoveTracksList(const QList<QUrl> &removedTracks); | ||
472 | 497 | | |||
473 | void internalRemoveTracksList(const QHash<QUrl, QDateTime> &removedTracks, qulonglong sourceId); | 498 | void internalRemoveTracksList(const QHash<QUrl, QDateTime> &removedTracks, qulonglong sourceId); | ||
474 | 499 | | |||
475 | QUrl internalAlbumArtUriFromAlbumId(qulonglong albumId); | 500 | QUrl internalAlbumArtUriFromAlbumId(qulonglong albumId); | ||
476 | 501 | | |||
477 | bool isValidArtist(qulonglong albumId); | 502 | bool isValidArtist(qulonglong albumId); | ||
478 | 503 | | |||
479 | qulonglong insertComposer(const QString &name); | 504 | qulonglong insertComposer(const QString &name); | ||
480 | 505 | | |||
481 | qulonglong insertLyricist(const QString &name); | 506 | qulonglong insertLyricist(const QString &name); | ||
482 | 507 | | |||
483 | qulonglong internalSourceIdFromName(const QString &sourceName); | 508 | QHash<QUrl, QDateTime> internalAllFileName(); | ||
484 | | ||||
485 | QHash<QUrl, QDateTime> internalAllFileNameFromSource(const QString &sourceName); | | |||
486 | 509 | | |||
487 | bool internalGenericPartialData(QSqlQuery &query); | 510 | bool internalGenericPartialData(QSqlQuery &query); | ||
488 | 511 | | |||
489 | ListArtistDataType internalAllArtistsPartialData(QSqlQuery &artistsQuery); | 512 | ListArtistDataType internalAllArtistsPartialData(QSqlQuery &artistsQuery); | ||
490 | 513 | | |||
491 | ArtistDataType internalOneArtistPartialData(qulonglong databaseId); | 514 | ArtistDataType internalOneArtistPartialData(qulonglong databaseId); | ||
492 | 515 | | |||
493 | ListAlbumDataType internalAllAlbumsPartialData(QSqlQuery &query); | 516 | ListAlbumDataType internalAllAlbumsPartialData(QSqlQuery &query); | ||
Show All 17 Lines | |||||
511 | ArtistDataType internalOneComposerPartialData(qulonglong databaseId); | 534 | ArtistDataType internalOneComposerPartialData(qulonglong databaseId); | ||
512 | 535 | | |||
513 | ListArtistDataType internalAllLyricistsPartialData(); | 536 | ListArtistDataType internalAllLyricistsPartialData(); | ||
514 | 537 | | |||
515 | ArtistDataType internalOneLyricistPartialData(qulonglong databaseId); | 538 | ArtistDataType internalOneLyricistPartialData(qulonglong databaseId); | ||
516 | 539 | | |||
517 | bool prepareQuery(QSqlQuery &query, const QString &queryText) const; | 540 | bool prepareQuery(QSqlQuery &query, const QString &queryText) const; | ||
518 | 541 | | |||
542 | bool execQuery(QSqlQuery &query); | ||||
543 | | ||||
519 | void updateAlbumArtist(qulonglong albumId, const QString &title, const QString &albumPath, | 544 | void updateAlbumArtist(qulonglong albumId, const QString &title, const QString &albumPath, | ||
520 | const QString &artistName); | 545 | const QString &artistName); | ||
521 | 546 | | |||
522 | void updateTrackStatistics(const QUrl &fileName, const QDateTime &time); | 547 | void updateTrackStatistics(const QUrl &fileName, const QDateTime &time); | ||
523 | 548 | | |||
524 | void createDatabaseV9(); | 549 | void createDatabaseV9(); | ||
525 | 550 | | |||
526 | void upgradeDatabaseV11(); | 551 | void upgradeDatabaseV11(); | ||
527 | 552 | | |||
553 | void upgradeDatabaseV12(); | ||||
554 | | ||||
528 | std::unique_ptr<DatabaseInterfacePrivate> d; | 555 | std::unique_ptr<DatabaseInterfacePrivate> d; | ||
529 | 556 | | |||
530 | }; | 557 | }; | ||
531 | 558 | | |||
532 | Q_DECLARE_METATYPE(DatabaseInterface::TrackDataType) | 559 | Q_DECLARE_METATYPE(DatabaseInterface::TrackDataType) | ||
533 | Q_DECLARE_METATYPE(DatabaseInterface::AlbumDataType) | 560 | Q_DECLARE_METATYPE(DatabaseInterface::AlbumDataType) | ||
534 | Q_DECLARE_METATYPE(DatabaseInterface::ArtistDataType) | 561 | Q_DECLARE_METATYPE(DatabaseInterface::ArtistDataType) | ||
535 | Q_DECLARE_METATYPE(DatabaseInterface::GenreDataType) | 562 | Q_DECLARE_METATYPE(DatabaseInterface::GenreDataType) | ||
536 | 563 | | |||
537 | Q_DECLARE_METATYPE(DatabaseInterface::ListTrackDataType) | 564 | Q_DECLARE_METATYPE(DatabaseInterface::ListTrackDataType) | ||
538 | Q_DECLARE_METATYPE(DatabaseInterface::ListAlbumDataType) | 565 | Q_DECLARE_METATYPE(DatabaseInterface::ListAlbumDataType) | ||
539 | Q_DECLARE_METATYPE(DatabaseInterface::ListArtistDataType) | 566 | Q_DECLARE_METATYPE(DatabaseInterface::ListArtistDataType) | ||
540 | Q_DECLARE_METATYPE(DatabaseInterface::ListGenreDataType) | 567 | Q_DECLARE_METATYPE(DatabaseInterface::ListGenreDataType) | ||
541 | 568 | | |||
542 | #endif // DATABASEINTERFACE_H | 569 | #endif // DATABASEINTERFACE_H |