From 35324116b3e0f04433805917b36cd11e89e350e6 Mon Sep 17 00:00:00 2001 From: ronso0 <ronso0@mixxx.org> Date: Fri, 12 Jan 2024 12:08:47 +0100 Subject: [PATCH] add unused stuff & reminders: key, bpm, cover reload, focus edit fields --- src/library/dlgtrackinfomulti.cpp | 66 +++++++++++++++++++++++++++++++ src/library/dlgtrackinfomulti.h | 7 ++++ 2 files changed, 73 insertions(+) diff --git a/src/library/dlgtrackinfomulti.cpp b/src/library/dlgtrackinfomulti.cpp index 15ee1bc2f597..820c47e1a211 100644 --- a/src/library/dlgtrackinfomulti.cpp +++ b/src/library/dlgtrackinfomulti.cpp @@ -125,6 +125,7 @@ void DlgTrackInfoMulti::init() { lineEdits.append(txtYear); lineEdits.append(txtTrackNumber); lineEdits.append(txtGrouping); + // lineEdits.append(txtKey); for (auto pEditor : lineEdits) { // just to be safe @@ -341,6 +342,40 @@ void DlgTrackInfoMulti::updateTrackMetadataFields() { txtTrackNumber->setText(maybeJoinValuesAndFormatFont(txtTrackNumber, nums)); txtComment->setPlainText(maybeJoinValuesAndFormatFont(txtComment, comments)); txtBpm->setText(maybeJoinValuesAndFormatFont(txtBpm, bpms)); + // displayKeyText(); + // txtKey->clear(); + + // Non-editable fields + // txtDuration->setText( + // m_trackRecord.getMetadata().getDurationText(mixxx::Duration::Precision::SECONDS)); + // QString bitrate = m_trackRecord.getMetadata().getBitrateText(); + // if (bitrate.isEmpty()) { + // txtBitrate->clear(); + // } else { + // txtBitrate->setText(bitrate + QChar(' ') + mixxx::audio::Bitrate::unit()); + // } + // txtReplayGain->setText( + // mixxx::ReplayGain::ratioToString( + // m_trackRecord.getMetadata().getTrackInfo().getReplayGain().getRatio())); + // txtBitrate->clear(); + + // auto samplerate = + // m_trackRecord.getMetadata().getStreamInfo().getSignalInfo().getSampleRate(); + // if (samplerate.isValid()) { + // txtSamplerate->setText(QString::number(samplerate.value()) + " Hz"); + // } else { + // txtSamplerate->clear(); + // } + // txtSamplerate->clear(); + + // Non-editable fields + // Cover art, file type and 'date added' + // txtType->setText( + // m_trackRecord.getFileType()); + // txtDateAdded->setText( + // mixxx::displayLocalDateTime( + // mixxx::localDateTimeFromUtc( + // m_trackRecord.getDateAdded()))); } void DlgTrackInfoMulti::saveTracks() { @@ -401,6 +436,12 @@ void DlgTrackInfoMulti::saveTracks() { pTrack->replaceRecord(std::move(rec)); } + // If the user is editing the bpm or key and hits enter to close DlgTrackInfo, + // the editingFinished signal will not fire in time. Invoke the connected + // handlers manually to capture any changes. If the bpm or key was unchanged + // or invalid then the change will be ignored/rejected. + // static_cast<void>(updateKeyText()); // discard result + connectTracksChanged(); // Repopulate the dialog and update the UI @@ -621,3 +662,28 @@ void DlgTrackInfoMulti::slotReloadCoverArt() { } updateCoverArtFromTracks(); } + +// mixxx::UpdateResult DlgTrackInfoMulti::updateKeyText() { +// const auto keyText = txtKey->text().trimmed(); +// const auto updateResult = +// m_trackRecord.updateGlobalKeyNormalizeText( +// keyText, +// mixxx::track::io::key::USER); +// if (updateResult == mixxx::UpdateResult::Rejected) { +// // Restore the current key text +// displayKeyText(); +// } +// return updateResult; +// } + +// void DlgTrackInfoMulti::displayKeyText() { +// const QString keyText = m_trackRecord.getMetadata().getTrackInfo().getKeyText(); +// txtKey->setText(keyText); +// } + +// void DlgTrackInfoMulti::slotKeyTextChanged() { +// if (updateKeyText() != mixxx::UpdateResult::Unchanged) { +// // Ensure that the text field always reflects the actual value +// displayKeyText(); +// } +// } diff --git a/src/library/dlgtrackinfomulti.h b/src/library/dlgtrackinfomulti.h index 0422c3a7a123..68d58056c2c6 100644 --- a/src/library/dlgtrackinfomulti.h +++ b/src/library/dlgtrackinfomulti.h @@ -41,6 +41,8 @@ class DlgTrackInfoMulti : public QDialog, public Ui::DlgTrackInfoMulti { void slotTrackChanged(TrackId trackId); + // void focusField(const QString& property); + void slotColorButtonClicked(); void slotColorPicked(const mixxx::RgbColor::optional_t& newColor); @@ -53,6 +55,7 @@ class DlgTrackInfoMulti : public QDialog, public Ui::DlgTrackInfoMulti { void slotCoverInfoSelected(const CoverInfoRelative& coverInfo); void slotReloadCoverArt(); + // void slotKeyTextChanged(); private: void init(); @@ -69,6 +72,8 @@ class DlgTrackInfoMulti : public QDialog, public Ui::DlgTrackInfoMulti { void updateTrackMetadataFields(); void updateCoverArtFromTracks(); void trackColorDialogSetColorStyleButton(const mixxx::RgbColor::optional_t& color); + // mixxx::UpdateResult updateKeyText(); + // void displayKeyText(); TrackPointer getTrackFromSetById(TrackId trackId) { DEBUG_ASSERT(!m_pLoadedTracks.isEmpty()); @@ -85,6 +90,8 @@ class DlgTrackInfoMulti : public QDialog, public Ui::DlgTrackInfoMulti { QHash<TrackId, TrackPointer> m_pLoadedTracks; QList<mixxx::TrackRecord> m_trackRecords; + // QHash<QString, QWidget*> m_propertyWidgets; + parented_ptr<WCoverArtMenu> m_pWCoverArtMenu; parented_ptr<WCoverArtLabel> m_pWCoverArtLabel; parented_ptr<WStarRating> m_pWStarRating;