From 8206d078aa3b41671c50e2ab428cdd5c2d924aaf Mon Sep 17 00:00:00 2001 From: ronso0 Date: Sat, 4 Apr 2020 16:33:57 +0200 Subject: [PATCH 01/14] make Anylysis button checkable, unchecked by default --- src/library/dlganalysis.cpp | 4 +++- src/library/dlganalysis.ui | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/library/dlganalysis.cpp b/src/library/dlganalysis.cpp index 1a9796d4e1a..8ffe6f89386 100644 --- a/src/library/dlganalysis.cpp +++ b/src/library/dlganalysis.cpp @@ -63,6 +63,7 @@ DlgAnalysis::DlgAnalysis(QWidget* parent, &QPushButton::clicked, this, &DlgAnalysis::analyze); + pushButtonAnalyze->setEnabled(false); connect(pushButtonSelectAll, &QPushButton::clicked, @@ -165,10 +166,11 @@ void DlgAnalysis::slotAnalysisActive(bool bActive) { //qDebug() << this << "slotAnalysisActive" << bActive; m_bAnalysisActive = bActive; if (bActive) { - pushButtonAnalyze->setEnabled(true); + pushButtonAnalyze->setChecked(true); pushButtonAnalyze->setText(tr("Stop Analysis")); labelProgress->setEnabled(true); } else { + pushButtonAnalyze->setChecked(false); pushButtonAnalyze->setText(tr("Analyze")); labelProgress->setText(""); labelProgress->setEnabled(false); diff --git a/src/library/dlganalysis.ui b/src/library/dlganalysis.ui index e07bc1c92a5..395800c14f2 100644 --- a/src/library/dlganalysis.ui +++ b/src/library/dlganalysis.ui @@ -84,6 +84,9 @@ Analyze + + true + From 7b8d74b382795c6f28f7236b256994f186c904e3 Mon Sep 17 00:00:00 2001 From: ronso0 Date: Sat, 4 Apr 2020 18:58:52 +0200 Subject: [PATCH 02/14] DlgAutoDJ: use clicked() signal for all QPushButtons This prevents inifit loop issues when real click events and programmatic QPushButton::setChecked() calls conflict: * clicked(bool checked) is only emitted on mouse clicks * toggled(bool checked) is emitted both on mouse clicks and setChecked() calls --- src/library/autodj/dlgautodj.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/library/autodj/dlgautodj.cpp b/src/library/autodj/dlgautodj.cpp index 97305e08acb..e5d28578817 100644 --- a/src/library/autodj/dlgautodj.cpp +++ b/src/library/autodj/dlgautodj.cpp @@ -80,7 +80,10 @@ DlgAutoDJ::DlgAutoDJ( // Do not set this because it disables auto-scrolling //m_pTrackTableView->setDragDropMode(QAbstractItemView::InternalMove); - connect(pushButtonAutoDJ, &QPushButton::toggled, this, &DlgAutoDJ::toggleAutoDJButton); + connect(pushButtonAutoDJ, + &QPushButton::clicked, + this, + &DlgAutoDJ::toggleAutoDJButton); setupActionButton(pushButtonFadeNow, &DlgAutoDJ::fadeNowButton, tr("Fade")); setupActionButton(pushButtonSkipNext, &DlgAutoDJ::skipNextButton, tr("Skip")); @@ -171,7 +174,7 @@ DlgAutoDJ::DlgAutoDJ( &DlgAutoDJ::slotTransitionModeChanged); connect(pushButtonRepeatPlaylist, - &QPushButton::toggled, + &QPushButton::clicked, this, &DlgAutoDJ::slotRepeatPlaylistChanged); if (m_bShowButtonText) { @@ -190,6 +193,7 @@ DlgAutoDJ::DlgAutoDJ( &AutoDJProcessor::transitionTimeChanged, this, &DlgAutoDJ::transitionTimeChanged); + connect(m_pAutoDJProcessor, &AutoDJProcessor::autoDJStateChanged, this, From 6035a245e325027032a38e43959fd40fc768ec3a Mon Sep 17 00:00:00 2001 From: ronso0 Date: Sat, 4 Apr 2020 19:21:34 +0200 Subject: [PATCH 03/14] DlgRecording: use QPushButton::clicked() signal instead of toggled() --- src/library/recording/dlgrecording.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/library/recording/dlgrecording.cpp b/src/library/recording/dlgrecording.cpp index 1b833d3c752..4dd3eb32876 100644 --- a/src/library/recording/dlgrecording.cpp +++ b/src/library/recording/dlgrecording.cpp @@ -74,7 +74,7 @@ DlgRecording::DlgRecording(QWidget* parent, UserSettingsPointer pConfig, m_pTrackTableView->loadTrackModel(&m_proxyModel); connect(pushButtonRecording, - &QPushButton::toggled, + &QPushButton::clicked, this, &DlgRecording::toggleRecording); label->setText(""); From db17fd1f2142ae73f8161140ece1d8a803aa6e69 Mon Sep 17 00:00:00 2001 From: ronso0 Date: Sat, 4 Apr 2020 19:56:46 +0200 Subject: [PATCH 04/14] DlgRecording: separate Rec toggle & button update Redirect toggle request to RecordingManager::slotToggleRecording() and let slotRecordingEnabled() handle the button update. --- src/library/recording/dlgrecording.cpp | 16 +++++----------- src/library/recording/dlgrecording.h | 2 +- src/recording/recordingmanager.cpp | 4 ++-- src/recording/recordingmanager.h | 4 +--- 4 files changed, 9 insertions(+), 17 deletions(-) diff --git a/src/library/recording/dlgrecording.cpp b/src/library/recording/dlgrecording.cpp index 4dd3eb32876..5f5ad27c5a0 100644 --- a/src/library/recording/dlgrecording.cpp +++ b/src/library/recording/dlgrecording.cpp @@ -77,6 +77,7 @@ DlgRecording::DlgRecording(QWidget* parent, UserSettingsPointer pConfig, &QPushButton::clicked, this, &DlgRecording::toggleRecording); + label->setText(""); label->setEnabled(false); } @@ -131,23 +132,16 @@ void DlgRecording::moveSelection(int delta) { void DlgRecording::toggleRecording(bool toggle) { Q_UNUSED(toggle); - if (!m_pRecordingManager->isRecordingActive()) //If recording is enabled - { - //pushButtonRecording->setText(tr("Stop Recording")); - m_pRecordingManager->startRecording(); - } - else if(m_pRecordingManager->isRecordingActive()) //If we disable recording - { - //pushButtonRecording->setText(tr("Start Recording")); - m_pRecordingManager->stopRecording(); - } + m_pRecordingManager->slotToggleRecording(true); } void DlgRecording::slotRecordingEnabled(bool isRecording) { if (isRecording) { + pushButtonRecording->setChecked(true); pushButtonRecording->setText((tr("Stop Recording"))); label->setEnabled(true); } else { + pushButtonRecording->setChecked(false); pushButtonRecording->setText((tr("Start Recording"))); label->setText(""); label->setEnabled(false); @@ -176,4 +170,4 @@ void DlgRecording::refreshLabel() { .arg(m_bytesRecordedStr) .arg(m_durationRecordedStr); label->setText(text); - } +} diff --git a/src/library/recording/dlgrecording.h b/src/library/recording/dlgrecording.h index fc9045e8e4a..484ce033da5 100644 --- a/src/library/recording/dlgrecording.h +++ b/src/library/recording/dlgrecording.h @@ -36,7 +36,6 @@ class DlgRecording : public QWidget, public Ui::DlgRecording, public virtual Lib inline const QString currentSearch() { return m_proxyModel.currentSearch(); } public slots: - void toggleRecording(bool toggle); void slotRecordingEnabled(bool); void slotBytesRecorded(int); void refreshBrowseModel(); @@ -56,6 +55,7 @@ class DlgRecording : public QWidget, public Ui::DlgRecording, public virtual Lib QString m_recordingDir; void refreshLabel(); + void toggleRecording(bool checked); QString m_bytesRecordedStr; QString m_durationRecordedStr; diff --git a/src/recording/recordingmanager.cpp b/src/recording/recordingmanager.cpp index af57a436960..cf06dd7cf75 100644 --- a/src/recording/recordingmanager.cpp +++ b/src/recording/recordingmanager.cpp @@ -81,8 +81,8 @@ void RecordingManager::slotSetRecording(bool recording) { } } -void RecordingManager::slotToggleRecording(double v) { - if (v > 0) { +void RecordingManager::slotToggleRecording(bool toggle) { + if (toggle) { if (isRecordingActive()) { stopRecording(); } else { diff --git a/src/recording/recordingmanager.h b/src/recording/recordingmanager.h index 3f9ac6b34bc..38afe1e8233 100644 --- a/src/recording/recordingmanager.h +++ b/src/recording/recordingmanager.h @@ -56,9 +56,7 @@ class RecordingManager : public QObject void slotBytesRecorded(int); void slotDurationRecorded(quint64); void slotSetRecording(bool recording); - - private slots: - void slotToggleRecording(double v); + void slotToggleRecording(bool toggle); private: QString formatDateTimeForFilename(QDateTime dateTime) const; From 2e66652ecd9d4b40c3a40c933d0af4247b888bf8 Mon Sep 17 00:00:00 2001 From: ronso0 Date: Sat, 4 Apr 2020 20:09:57 +0200 Subject: [PATCH 05/14] DlgRecording: use unambiguous slot names --- src/library/recording/dlgrecording.cpp | 8 ++++---- src/library/recording/dlgrecording.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/library/recording/dlgrecording.cpp b/src/library/recording/dlgrecording.cpp index 5f5ad27c5a0..f32112f018c 100644 --- a/src/library/recording/dlgrecording.cpp +++ b/src/library/recording/dlgrecording.cpp @@ -47,7 +47,7 @@ DlgRecording::DlgRecording(QWidget* parent, UserSettingsPointer pConfig, connect(m_pRecordingManager, &RecordingManager::isRecording, this, - &DlgRecording::slotRecordingEnabled); + &DlgRecording::slotRecordingStateChanged); connect(m_pRecordingManager, &RecordingManager::bytesRecorded, this, @@ -76,7 +76,7 @@ DlgRecording::DlgRecording(QWidget* parent, UserSettingsPointer pConfig, connect(pushButtonRecording, &QPushButton::clicked, this, - &DlgRecording::toggleRecording); + &DlgRecording::slotRecButtonClicked); label->setText(""); label->setEnabled(false); @@ -130,12 +130,12 @@ void DlgRecording::moveSelection(int delta) { m_pTrackTableView->moveSelection(delta); } -void DlgRecording::toggleRecording(bool toggle) { +void DlgRecording::slotRecButtonClicked(bool toggle) { Q_UNUSED(toggle); m_pRecordingManager->slotToggleRecording(true); } -void DlgRecording::slotRecordingEnabled(bool isRecording) { +void DlgRecording::slotRecordingStateChanged(bool isRecording) { if (isRecording) { pushButtonRecording->setChecked(true); pushButtonRecording->setText((tr("Stop Recording"))); diff --git a/src/library/recording/dlgrecording.h b/src/library/recording/dlgrecording.h index 484ce033da5..1c8b22421bd 100644 --- a/src/library/recording/dlgrecording.h +++ b/src/library/recording/dlgrecording.h @@ -36,7 +36,7 @@ class DlgRecording : public QWidget, public Ui::DlgRecording, public virtual Lib inline const QString currentSearch() { return m_proxyModel.currentSearch(); } public slots: - void slotRecordingEnabled(bool); + void slotRecordingStateChanged(bool); void slotBytesRecorded(int); void refreshBrowseModel(); void slotRestoreSearch(); @@ -55,7 +55,7 @@ class DlgRecording : public QWidget, public Ui::DlgRecording, public virtual Lib QString m_recordingDir; void refreshLabel(); - void toggleRecording(bool checked); + void slotRecButtonClicked(bool checked); QString m_bytesRecordedStr; QString m_durationRecordedStr; From 6be0ef823a380738ab8bdaa9ad9d8687dac3f8c0 Mon Sep 17 00:00:00 2001 From: ronso0 Date: Sat, 4 Apr 2020 20:10:43 +0200 Subject: [PATCH 06/14] recordingmanager.cpp: apply new signal/sot syntax --- src/recording/recordingmanager.cpp | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/recording/recordingmanager.cpp b/src/recording/recordingmanager.cpp index cf06dd7cf75..010acb1a7ed 100644 --- a/src/recording/recordingmanager.cpp +++ b/src/recording/recordingmanager.cpp @@ -36,8 +36,10 @@ RecordingManager::RecordingManager(UserSettingsPointer pConfig, EngineMaster* pE m_secondsRecorded(0), m_secondsRecordedSplit(0) { m_pToggleRecording = new ControlPushButton(ConfigKey(RECORDING_PREF_KEY, "toggle_recording")); - connect(m_pToggleRecording, SIGNAL(valueChanged(double)), - this, SLOT(slotToggleRecording(double))); + connect(m_pToggleRecording, + &ControlPushButton::valueChanged, + this, + &RecordingManager::slotToggleRecording); m_recReadyCO = new ControlObject(ConfigKey(RECORDING_PREF_KEY, "status")); m_recReady = new ControlProxy(m_recReadyCO->getKey(), this); @@ -49,12 +51,18 @@ RecordingManager::RecordingManager(UserSettingsPointer pConfig, EngineMaster* pE EngineSideChain* pSidechain = pEngine->getSideChain(); if (pSidechain) { EngineRecord* pEngineRecord = new EngineRecord(m_pConfig); - connect(pEngineRecord, SIGNAL(isRecording(bool, bool)), - this, SLOT(slotIsRecording(bool, bool))); - connect(pEngineRecord, SIGNAL(bytesRecorded(int)), - this, SLOT(slotBytesRecorded(int))); - connect(pEngineRecord, SIGNAL(durationRecorded(quint64)), - this, SLOT(slotDurationRecorded(quint64))); + connect(pEngineRecord, + &EngineRecord::isRecording, + this, + &RecordingManager::slotIsRecording); + connect(pEngineRecord, + &EngineRecord::bytesRecorded, + this, + &RecordingManager::slotBytesRecorded); + connect(pEngineRecord, + &EngineRecord::durationRecorded, + this, + &RecordingManager::slotDurationRecorded); pSidechain->addSideChainWorker(pEngineRecord); } } From da58d82ecd2058bd1df8345cbc7270fcdbc226ce Mon Sep 17 00:00:00 2001 From: ronso0 Date: Mon, 6 Apr 2020 19:28:18 +0200 Subject: [PATCH 07/14] RecordingManager::slotToggleRecording: revert to 'double' input --- src/library/recording/dlgrecording.cpp | 2 +- src/recording/recordingmanager.cpp | 3 ++- src/recording/recordingmanager.h | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/library/recording/dlgrecording.cpp b/src/library/recording/dlgrecording.cpp index f32112f018c..1b69c5a6668 100644 --- a/src/library/recording/dlgrecording.cpp +++ b/src/library/recording/dlgrecording.cpp @@ -132,7 +132,7 @@ void DlgRecording::moveSelection(int delta) { void DlgRecording::slotRecButtonClicked(bool toggle) { Q_UNUSED(toggle); - m_pRecordingManager->slotToggleRecording(true); + m_pRecordingManager->slotToggleRecording(1); } void DlgRecording::slotRecordingStateChanged(bool isRecording) { diff --git a/src/recording/recordingmanager.cpp b/src/recording/recordingmanager.cpp index 010acb1a7ed..54d635de114 100644 --- a/src/recording/recordingmanager.cpp +++ b/src/recording/recordingmanager.cpp @@ -89,7 +89,8 @@ void RecordingManager::slotSetRecording(bool recording) { } } -void RecordingManager::slotToggleRecording(bool toggle) { +void RecordingManager::slotToggleRecording(double value) { + bool toggle = static_cast(value); if (toggle) { if (isRecordingActive()) { stopRecording(); diff --git a/src/recording/recordingmanager.h b/src/recording/recordingmanager.h index 38afe1e8233..acf17805c76 100644 --- a/src/recording/recordingmanager.h +++ b/src/recording/recordingmanager.h @@ -56,7 +56,7 @@ class RecordingManager : public QObject void slotBytesRecorded(int); void slotDurationRecorded(quint64); void slotSetRecording(bool recording); - void slotToggleRecording(bool toggle); + void slotToggleRecording(double value); private: QString formatDateTimeForFilename(QDateTime dateTime) const; From 04e43e1e9a67d816909f451af0498352084f1a88 Mon Sep 17 00:00:00 2001 From: ronso0 Date: Tue, 7 Apr 2020 03:20:05 +0200 Subject: [PATCH 08/14] re-sync recording state and GUI after (re)loading a skin --- src/library/recording/dlgrecording.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/library/recording/dlgrecording.cpp b/src/library/recording/dlgrecording.cpp index 1b69c5a6668..a6e47c6e5d3 100644 --- a/src/library/recording/dlgrecording.cpp +++ b/src/library/recording/dlgrecording.cpp @@ -48,6 +48,7 @@ DlgRecording::DlgRecording(QWidget* parent, UserSettingsPointer pConfig, &RecordingManager::isRecording, this, &DlgRecording::slotRecordingStateChanged); + connect(m_pRecordingManager, &RecordingManager::bytesRecorded, this, @@ -80,6 +81,9 @@ DlgRecording::DlgRecording(QWidget* parent, UserSettingsPointer pConfig, label->setText(""); label->setEnabled(false); + + // Sync GUI with recording state, also refreshes labels + slotRecordingStateChanged(m_pRecordingManager->isRecordingActive()); } DlgRecording::~DlgRecording() { From e14a3d8ae15476a7f54b09588dba684ebcb7cdfe Mon Sep 17 00:00:00 2001 From: ronso0 Date: Tue, 7 Apr 2020 03:22:44 +0200 Subject: [PATCH 09/14] Recording: split up info labels, add skin styles --- res/skins/Deere/style.qss | 29 ++++++++++++++------ res/skins/LateNight/style.qss | 38 +++++++++++++------------- res/skins/Shade/style.qss | 8 ++++++ res/skins/Tango/style.qss | 12 ++++++-- src/library/recording/dlgrecording.cpp | 32 +++++++++++++--------- src/library/recording/dlgrecording.h | 2 +- src/library/recording/dlgrecording.ui | 12 ++++---- 7 files changed, 84 insertions(+), 49 deletions(-) diff --git a/res/skins/Deere/style.qss b/res/skins/Deere/style.qss index d4dff089bf0..7aff59fca04 100644 --- a/res/skins/Deere/style.qss +++ b/res/skins/Deere/style.qss @@ -583,15 +583,6 @@ WLibrary QRadioButton::indicator:unchecked { #DlgAnalysis > QPushButton:focus, #fadeModeCombobox:focus, #DlgAutoDJ QSpinBox:focus { - border: 1px solid #bbb; - outline: none; -} -#DlgMissing > QPushButton:checked:focus, -#DlgHidden > QPushButton:checked:focus, -#DlgAutoDJ > QPushButton:checked:focus, -#DlgRecording > QPushButton:checked:focus, -#DlgAnalysis > QPushButton:checked:focus { - border: 1px solid #d2d2d2; outline: none; } @@ -656,6 +647,25 @@ QPushButton#pushButtonRepeatPlaylist { } /* AutoDJ button icons */ +/* Recording info */ +#labelRecPrefix, +#labelRecFilename, +#labelRecStatistics { + text-transform: none; + padding: 3px 0px 0px 0px; + margin: 0px; +} +#labelRecPrefix { + margin-left: 3px; +} +#labelRecFilename { + font-weight: bold; +} +#labelRecPrefix, +#labelRecStatistics { + font-weight: normal; +} + /* Scroll bars */ #LibraryContainer QScrollBar:horizontal, WEffectSelector QAbstractScrollArea QScrollBar:horizontal, @@ -811,6 +821,7 @@ WLibrary QLabel, WLibrary QPushButton { font-family: "Open Sans"; font-size: 12px; + font-weight: bold; text-transform: uppercase; } diff --git a/res/skins/LateNight/style.qss b/res/skins/LateNight/style.qss index 97c0a547b37..cf6848a6201 100644 --- a/res/skins/LateNight/style.qss +++ b/res/skins/LateNight/style.qss @@ -506,18 +506,6 @@ QHeaderView::down-arrow { #DlgAutoDJ > QPushButton:focus, #DlgRecording > QPushButton:focus, #DlgAnalysis > QPushButton:focus { - border-width: 2px 2px 2px 2px; - border-image: url(skin:buttons_classic/btn_embedded_library.svg) 2 2 2 2; - outline: none; - } - #DlgAnalysis > QPushButton:checked:focus, - #DlgMissing > QPushButton:checked:focus, - #DlgHidden > QPushButton:checked:focus, - #DlgAutoDJ > QPushButton:checked:focus, - #DlgRecording > QPushButton:checked:focus, - #DlgAnalysis > QPushButton:checked:focus { - border-width: 2px 2px 2px 2px; - border-image: url(skin:buttons_classic/btn_embedded_library_active.svg) 2 2 2 2; outline: none; } #DlgMissing > QPushButton:pressed, @@ -525,7 +513,7 @@ QHeaderView::down-arrow { #DlgAutoDJ > QPushButton:pressed, #DlgRecording > QPushButton:pressed, #DlgAnalysis > QPushButton:pressed { - border-image: url(skin:buttons_classic/btn_embedded_library_pressed.svg) 2 2 2 2; + border-image: url(skin:buttons_classic/btn_embedded_library_active.svg) 2 2 2 2; color: #d2d2d2; } #DlgMissing > QPushButton:!enabled, @@ -2340,7 +2328,8 @@ WLibrary QRadioButton { } /* Additional space for QLabels */ -WLibrary QLabel { +#DlgAnalysis QLabel, +#DlgAutoDJ QLabel { margin: 2px 5px 5px 1px; } @@ -2361,7 +2350,7 @@ WLibrary QRadioButton::indicator:unchecked { #DlgAutoDJ > QPushButton, #DlgRecording > QPushButton, #DlgAnalysis > QPushButton { - margin: 0px 4px 3px 2px; + margin: 0px 6px 3px 0px; padding: 0px; height: 20px; } @@ -2371,12 +2360,10 @@ WLibrary QRadioButton::indicator:unchecked { #DlgAnalysis > QPushButton { padding: 0px 5px; } - /* Focus highlight is set via border-image at the top */ - /* Space in between 'Enable AutoDJ' and transition time spinbox */ QPushButton#pushButtonAutoDJ { - margin-left: 0px; min-width: 40px; } + /* Space in between 'Enable AutoDJ' and transition time spinbox */ #DlgAutoDJ > #horizontalSpacer { width: 100px; } @@ -2389,7 +2376,20 @@ WLibrary QRadioButton::indicator:unchecked { margin-left: 12px; } - +#labelRecPrefix, +#labelRecFilename, +#labelRecStatistics { + text-transform: none; + font-size: 13px; + padding: 0px 0px 3px 0px; + } + #labelRecFilename { + font-weight: bold; + } + #labelRecPrefix, + #labelRecStatistics { + font-weight: normal; + } #LibraryContainer QTreeView { show-decoration-selected: 0; diff --git a/res/skins/Shade/style.qss b/res/skins/Shade/style.qss index 623624f6b90..eff839f55df 100644 --- a/res/skins/Shade/style.qss +++ b/res/skins/Shade/style.qss @@ -810,6 +810,14 @@ QPushButton#pushButtonRepeatPlaylist { } /* AutoDJ button icons */ +#labelRecFilename { + font-weight: bold; +} +#labelRecPrefix, +#labelRecStatistics { + font-weight: normal; +} + #HotcueButton { background-color: #aab2b7; } diff --git a/res/skins/Tango/style.qss b/res/skins/Tango/style.qss index fd41769564f..0dd35b54182 100644 --- a/res/skins/Tango/style.qss +++ b/res/skins/Tango/style.qss @@ -2766,13 +2766,21 @@ QPushButton#pushButtonRepeatPlaylist:!checked { /* Push labels away from buttons at the right */ /* AutoDJ selection info */ QLabel#labelSelectionInfo, - /* Recording info */ - #DlgRecording QLabel, /* Analysis progress info */ QLabel#labelProgress { margin: 0px 4px 5px 2px; } + /* Recording info */ + #labelRecFilename { + font-weight: bold; + margin: 0px 1px; + } + #labelRecPrefix, + #labelRecStatistics { + font-weight: normal; + } + /* Entire BPM cell */ /* Lock icon at the left */ #LibraryBPMButton::indicator:checked { diff --git a/src/library/recording/dlgrecording.cpp b/src/library/recording/dlgrecording.cpp index a6e47c6e5d3..655328bbfa0 100644 --- a/src/library/recording/dlgrecording.cpp +++ b/src/library/recording/dlgrecording.cpp @@ -79,8 +79,10 @@ DlgRecording::DlgRecording(QWidget* parent, UserSettingsPointer pConfig, this, &DlgRecording::slotRecButtonClicked); - label->setText(""); - label->setEnabled(false); + labelRecPrefix->hide(); + labelRecFilename->hide(); + labelRecStatistics->hide(); + labelRecPrefix->setText(tr("Recording to file:")); // Sync GUI with recording state, also refreshes labels slotRecordingStateChanged(m_pRecordingManager->isRecordingActive()); @@ -143,12 +145,15 @@ void DlgRecording::slotRecordingStateChanged(bool isRecording) { if (isRecording) { pushButtonRecording->setChecked(true); pushButtonRecording->setText((tr("Stop Recording"))); - label->setEnabled(true); + labelRecPrefix->show(); + labelRecFilename->show(); + labelRecStatistics->show(); } else { pushButtonRecording->setChecked(false); pushButtonRecording->setText((tr("Start Recording"))); - label->setText(""); - label->setEnabled(false); + labelRecPrefix->hide(); + labelRecFilename->hide(); + labelRecStatistics->hide(); } //This will update the recorded track table view m_browseModel.setPath(m_recordingDir); @@ -158,20 +163,21 @@ void DlgRecording::slotRecordingStateChanged(bool isRecording) { void DlgRecording::slotBytesRecorded(int bytes) { double megabytes = bytes / 1048576.0; m_bytesRecordedStr = QString::number(megabytes,'f',2); - refreshLabel(); + refreshLabels(); } // gets recorded duration and update label void DlgRecording::slotDurationRecorded(QString durationRecorded) { m_durationRecordedStr = durationRecorded; - refreshLabel(); + refreshLabels(); } // update label besides start/stop button -void DlgRecording::refreshLabel() { - QString text = tr("Recording to file: %1 (%2 MiB written in %3)") - .arg(m_pRecordingManager->getRecordingFile()) - .arg(m_bytesRecordedStr) - .arg(m_durationRecordedStr); - label->setText(text); +void DlgRecording::refreshLabels() { + QString recFile = m_pRecordingManager->getRecordingFile(); + QString recData = tr("(%1 MiB written in %2)") + .arg(m_bytesRecordedStr) + .arg(m_durationRecordedStr); + labelRecFilename->setText(recFile); + labelRecStatistics->setText(recData); } diff --git a/src/library/recording/dlgrecording.h b/src/library/recording/dlgrecording.h index 1c8b22421bd..d41ceb6b2fd 100644 --- a/src/library/recording/dlgrecording.h +++ b/src/library/recording/dlgrecording.h @@ -54,7 +54,7 @@ class DlgRecording : public QWidget, public Ui::DlgRecording, public virtual Lib ProxyTrackModel m_proxyModel; QString m_recordingDir; - void refreshLabel(); + void refreshLabels(); void slotRecButtonClicked(bool checked); QString m_bytesRecordedStr; QString m_durationRecordedStr; diff --git a/src/library/recording/dlgrecording.ui b/src/library/recording/dlgrecording.ui index c0b0fd90e51..efdf9e7fd83 100644 --- a/src/library/recording/dlgrecording.ui +++ b/src/library/recording/dlgrecording.ui @@ -57,11 +57,13 @@ - - - Status: - - + + + + + + + From 4030dbdea50303eb25a71597ad6113b38b42be30 Mon Sep 17 00:00:00 2001 From: ronso0 Date: Tue, 7 Apr 2020 03:27:40 +0200 Subject: [PATCH 10/14] delay loading Analysis table until it's shown According to the removed ToDo, doing this at feature init would extend the skin loading time. --- src/library/dlganalysis.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/library/dlganalysis.cpp b/src/library/dlganalysis.cpp index 8ffe6f89386..d43f382edf1 100644 --- a/src/library/dlganalysis.cpp +++ b/src/library/dlganalysis.cpp @@ -54,10 +54,8 @@ DlgAnalysis::DlgAnalysis(QWidget* parent, &QRadioButton::clicked, this, &DlgAnalysis::showAllSongs); - - // TODO(rryan): This triggers a library search before the UI has even - // started up. Accounts for 0.2% of skin creation time. Get rid of this! - radioButtonRecentlyAdded->click(); + // Don't click those radio buttons now reduce skin loading time. + // 'RecentlyAdded' is clicked in onShow() connect(pushButtonAnalyze, &QPushButton::clicked, @@ -92,6 +90,10 @@ DlgAnalysis::DlgAnalysis(QWidget* parent, } void DlgAnalysis::onShow() { + if (!radioButtonRecentlyAdded->isChecked() && + !radioButtonAllSongs->isChecked()) { + radioButtonRecentlyAdded->click(); + } // Refresh table // There might be new tracks dropped to other views m_pAnalysisLibraryTableModel->select(); From 4abb53d2b9917c48cfc3c53fa703364932af07d0 Mon Sep 17 00:00:00 2001 From: ronso0 Date: Thu, 9 Apr 2020 16:52:05 +0200 Subject: [PATCH 11/14] dlgrecording.cpp: move the parentheses out of the translation string Co-Authored-By: Jan Holthuis --- src/library/recording/dlgrecording.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/library/recording/dlgrecording.cpp b/src/library/recording/dlgrecording.cpp index 655328bbfa0..aaeadd6809a 100644 --- a/src/library/recording/dlgrecording.cpp +++ b/src/library/recording/dlgrecording.cpp @@ -175,7 +175,7 @@ void DlgRecording::slotDurationRecorded(QString durationRecorded) { // update label besides start/stop button void DlgRecording::refreshLabels() { QString recFile = m_pRecordingManager->getRecordingFile(); - QString recData = tr("(%1 MiB written in %2)") + QString recData = (QStringLiteral("(") + tr("%1 MiB written in %2") + QStringLiteral(")")) .arg(m_bytesRecordedStr) .arg(m_durationRecordedStr); labelRecFilename->setText(recFile); From 0c8bfff3f9efa6cec2d4d1a24b6b58d9153e81bb Mon Sep 17 00:00:00 2001 From: ronso0 Date: Thu, 9 Apr 2020 16:52:45 +0200 Subject: [PATCH 12/14] dlgrecording.cpp: remove double parantheses Co-Authored-By: Jan Holthuis --- src/library/recording/dlgrecording.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/library/recording/dlgrecording.cpp b/src/library/recording/dlgrecording.cpp index aaeadd6809a..1052f24ec31 100644 --- a/src/library/recording/dlgrecording.cpp +++ b/src/library/recording/dlgrecording.cpp @@ -150,7 +150,7 @@ void DlgRecording::slotRecordingStateChanged(bool isRecording) { labelRecStatistics->show(); } else { pushButtonRecording->setChecked(false); - pushButtonRecording->setText((tr("Start Recording"))); + pushButtonRecording->setText(tr("Start Recording")); labelRecPrefix->hide(); labelRecFilename->hide(); labelRecStatistics->hide(); From 022d0604c8ec476ddb95789657658fb2a05493ea Mon Sep 17 00:00:00 2001 From: ronso0 Date: Thu, 9 Apr 2020 16:53:11 +0200 Subject: [PATCH 13/14] dlgrecording.cpp: remove double parantheses Co-Authored-By: Jan Holthuis --- src/library/recording/dlgrecording.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/library/recording/dlgrecording.cpp b/src/library/recording/dlgrecording.cpp index 1052f24ec31..203be83d275 100644 --- a/src/library/recording/dlgrecording.cpp +++ b/src/library/recording/dlgrecording.cpp @@ -144,7 +144,7 @@ void DlgRecording::slotRecButtonClicked(bool toggle) { void DlgRecording::slotRecordingStateChanged(bool isRecording) { if (isRecording) { pushButtonRecording->setChecked(true); - pushButtonRecording->setText((tr("Stop Recording"))); + pushButtonRecording->setText(tr("Stop Recording")); labelRecPrefix->show(); labelRecFilename->show(); labelRecStatistics->show(); From 5599cd348bb73c12d08eeb5b9635c83d5e3a972d Mon Sep 17 00:00:00 2001 From: ronso0 Date: Thu, 9 Apr 2020 18:02:22 +0200 Subject: [PATCH 14/14] DlgRecording: fix recording label string construction --- src/library/recording/dlgrecording.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/library/recording/dlgrecording.cpp b/src/library/recording/dlgrecording.cpp index 203be83d275..5f16ee98b91 100644 --- a/src/library/recording/dlgrecording.cpp +++ b/src/library/recording/dlgrecording.cpp @@ -175,7 +175,7 @@ void DlgRecording::slotDurationRecorded(QString durationRecorded) { // update label besides start/stop button void DlgRecording::refreshLabels() { QString recFile = m_pRecordingManager->getRecordingFile(); - QString recData = (QStringLiteral("(") + tr("%1 MiB written in %2") + QStringLiteral(")")) + QString recData = QString(QStringLiteral("(") + tr("%1 MiB written in %2") + QStringLiteral(")")) .arg(m_bytesRecordedStr) .arg(m_durationRecordedStr); labelRecFilename->setText(recFile);