Changeset View
Changeset View
Standalone View
Standalone View
src/databaseinterface.cpp
- This file is larger than 256 KB, so syntax highlighting is disabled by default.
Show First 20 Lines • Show All 6377 Lines • ▼ Show 20 Line(s) | 6326 | { | |||
---|---|---|---|---|---|
6378 | if (!trackRecord.value(26).isNull()) { | 6378 | if (!trackRecord.value(26).isNull()) { | ||
6379 | result[TrackDataType::key_type::FirstPlayDate] = trackRecord.value(26); | 6379 | result[TrackDataType::key_type::FirstPlayDate] = trackRecord.value(26); | ||
6380 | } | 6380 | } | ||
6381 | if (!trackRecord.value(27).isNull()) { | 6381 | if (!trackRecord.value(27).isNull()) { | ||
6382 | result[TrackDataType::key_type::LastPlayDate] = trackRecord.value(27); | 6382 | result[TrackDataType::key_type::LastPlayDate] = trackRecord.value(27); | ||
6383 | } | 6383 | } | ||
6384 | result[TrackDataType::key_type::PlayCounter] = trackRecord.value(28); | 6384 | result[TrackDataType::key_type::PlayCounter] = trackRecord.value(28); | ||
6385 | result[TrackDataType::key_type::PlayFrequency] = trackRecord.value(29); | 6385 | result[TrackDataType::key_type::PlayFrequency] = trackRecord.value(29); | ||
6386 | result[DataType::key_type::ElementTypeRole] = ElisaUtils::Track; | 6386 | result[TrackDataType::key_type::ElementTypeRole] = ElisaUtils::Track; | ||
6387 | 6387 | | |||
6388 | return result; | 6388 | return result; | ||
6389 | } | 6389 | } | ||
6390 | 6390 | | |||
6391 | DatabaseInterface::TrackDataType DatabaseInterface::buildRadioDataFromDatabaseRecord(const QSqlRecord &trackRecord) const | 6391 | DatabaseInterface::TrackDataType DatabaseInterface::buildRadioDataFromDatabaseRecord(const QSqlRecord &trackRecord) const | ||
6392 | { | 6392 | { | ||
6393 | TrackDataType result; | 6393 | TrackDataType result; | ||
6394 | 6394 | | |||
6395 | result[TrackDataType::key_type::DatabaseIdRole] = trackRecord.value(0); | 6395 | result[TrackDataType::key_type::DatabaseIdRole] = trackRecord.value(0); | ||
6396 | result[TrackDataType::key_type::TitleRole] = trackRecord.value(1); | 6396 | result[TrackDataType::key_type::TitleRole] = trackRecord.value(1); | ||
6397 | 6397 | | |||
6398 | result[TrackDataType::key_type::AlbumRole] = QStringLiteral("Radios"); | 6398 | result[TrackDataType::key_type::AlbumRole] = QStringLiteral("Radios"); | ||
6399 | result[TrackDataType::key_type::ArtistRole] = trackRecord.value(1); | 6399 | result[TrackDataType::key_type::ArtistRole] = trackRecord.value(1); | ||
6400 | 6400 | | |||
6401 | result[TrackDataType::key_type::ResourceRole] = trackRecord.value(2); | 6401 | result[TrackDataType::key_type::ResourceRole] = trackRecord.value(2); | ||
6402 | result[TrackDataType::key_type::RatingRole] = trackRecord.value(3); | 6402 | result[TrackDataType::key_type::RatingRole] = trackRecord.value(3); | ||
6403 | if (!trackRecord.value(4).isNull()) { | 6403 | if (!trackRecord.value(4).isNull()) { | ||
6404 | result[TrackDataType::key_type::GenreRole] = trackRecord.value(4); | 6404 | result[TrackDataType::key_type::GenreRole] = trackRecord.value(4); | ||
6405 | } | 6405 | } | ||
6406 | result[TrackDataType::key_type::CommentRole] = trackRecord.value(5); | 6406 | result[TrackDataType::key_type::CommentRole] = trackRecord.value(5); | ||
6407 | result[DataType::key_type::ElementTypeRole] = ElisaUtils::Radio; | 6407 | result[TrackDataType::key_type::ElementTypeRole] = ElisaUtils::Radio; | ||
6408 | 6408 | | |||
6409 | return result; | 6409 | return result; | ||
6410 | } | 6410 | } | ||
6411 | 6411 | | |||
6412 | void DatabaseInterface::internalRemoveTracksList(const QList<QUrl> &removedTracks) | 6412 | void DatabaseInterface::internalRemoveTracksList(const QList<QUrl> &removedTracks) | ||
6413 | { | 6413 | { | ||
6414 | QSet<qulonglong> modifiedAlbums; | 6414 | QSet<qulonglong> modifiedAlbums; | ||
6415 | 6415 | | |||
▲ Show 20 Lines • Show All 397 Lines • ▼ Show 20 Line(s) | 6800 | { | |||
6813 | auto result = execQuery(query); | 6813 | auto result = execQuery(query); | ||
6814 | 6814 | | |||
6815 | if (!result || !query.isActive()) { | 6815 | if (!result || !query.isActive()) { | ||
6816 | Q_EMIT databaseError(); | 6816 | Q_EMIT databaseError(); | ||
6817 | 6817 | | |||
6818 | qCDebug(orgKdeElisaDatabase) << "DatabaseInterface::updateTrackInDatabase" << query.lastQuery(); | 6818 | qCDebug(orgKdeElisaDatabase) << "DatabaseInterface::updateTrackInDatabase" << query.lastQuery(); | ||
6819 | qCDebug(orgKdeElisaDatabase) << "DatabaseInterface::updateTrackInDatabase" << query.boundValues(); | 6819 | qCDebug(orgKdeElisaDatabase) << "DatabaseInterface::updateTrackInDatabase" << query.boundValues(); | ||
6820 | qCDebug(orgKdeElisaDatabase) << "DatabaseInterface::updateTrackInDatabase" << query.lastError(); | 6820 | qCDebug(orgKdeElisaDatabase) << "DatabaseInterface::updateTrackInDatabase" << query.lastError(); | ||
6821 | }else{ | 6821 | } else { | ||
6822 | TrackDataType radio(oneTrack); | 6822 | if (oneTrack[TrackDataType::key_type::DatabaseIdRole] == -1) { | ||
6823 | radio[TrackDataType::key_type::ArtistRole] = radio[TrackDataType::key_type::TitleRole]; | 6823 | auto radio = internalOneRadioPartialData(internalRadioIdFromHttpAddress(oneTrack.resourceURI().toString())); | ||
6824 | if (radio[TrackDataType::key_type::DatabaseIdRole] == -1) { | | |||
6825 | radio[TrackDataType::key_type::DatabaseIdRole] = internalRadioIdFromHttpAddress(oneTrack.resourceURI().toString()); | | |||
6826 | radio[TrackDataType::key_type::AlbumRole] = QStringLiteral("Radios"); | | |||
6827 | radio[TrackDataType::key_type::ArtistRole] = radio[TrackDataType::key_type::TitleRole]; | | |||
6828 | radio[DataType::key_type::ElementTypeRole] = ElisaUtils::Radio; | | |||
6829 | // Genre and rating missing for now, see buildRadioDataFromDatabaseRecord. Should be added if used for radios. | | |||
6830 | 6824 | | |||
6831 | Q_EMIT radioAdded(radio); | 6825 | Q_EMIT radioAdded(radio); | ||
6832 | } else { | 6826 | } else { | ||
6827 | auto radio = internalOneRadioPartialData(oneTrack.databaseId()); | ||||
6828 | | ||||
6833 | Q_EMIT radioModified(radio); | 6829 | Q_EMIT radioModified(radio); | ||
6834 | } | 6830 | } | ||
6835 | } | 6831 | } | ||
6836 | 6832 | | |||
6837 | query.finish(); | 6833 | query.finish(); | ||
6838 | } | 6834 | } | ||
6839 | 6835 | | |||
6840 | void DatabaseInterface::removeRadio(qulonglong radioId) | 6836 | void DatabaseInterface::removeRadio(qulonglong radioId) | ||
▲ Show 20 Lines • Show All 895 Lines • Show Last 20 Lines |