diff options
Diffstat (limited to 'src/library/recording')
-rw-r--r-- | src/library/recording/dlgrecording.cpp | 66 | ||||
-rw-r--r-- | src/library/recording/dlgrecording.h | 6 | ||||
-rw-r--r-- | src/library/recording/dlgrecording.ui | 12 |
3 files changed, 45 insertions, 39 deletions
diff --git a/src/library/recording/dlgrecording.cpp b/src/library/recording/dlgrecording.cpp index 763528dfcd..8a6e698eeb 100644 --- a/src/library/recording/dlgrecording.cpp +++ b/src/library/recording/dlgrecording.cpp @@ -57,7 +57,8 @@ DlgRecording::DlgRecording( connect(m_pRecordingManager, &RecordingManager::isRecording, this, - &DlgRecording::slotRecordingEnabled); + &DlgRecording::slotRecordingStateChanged); + connect(m_pRecordingManager, &RecordingManager::bytesRecorded, this, @@ -84,11 +85,17 @@ DlgRecording::DlgRecording( m_pTrackTableView->loadTrackModel(&m_proxyModel); connect(pushButtonRecording, - &QPushButton::toggled, + &QPushButton::clicked, this, - &DlgRecording::toggleRecording); - label->setText(""); - label->setEnabled(false); + &DlgRecording::slotRecButtonClicked); + + labelRecPrefix->hide(); + labelRecFilename->hide(); + labelRecStatistics->hide(); + labelRecPrefix->setText(tr("Recording to file:")); + + // Sync GUI with recording state, also refreshes labels + slotRecordingStateChanged(m_pRecordingManager->isRecordingActive()); } DlgRecording::~DlgRecording() { @@ -139,28 +146,24 @@ void DlgRecording::moveSelection(int delta) { m_pTrackTableView->moveSelection(delta); } -void DlgRecording::toggleRecording(bool toggle) { +void DlgRecording::slotRecButtonClicked(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(1); } -void DlgRecording::slotRecordingEnabled(bool isRecording) { +void DlgRecording::slotRecordingStateChanged(bool isRecording) { if (isRecording) { - pushButtonRecording->setText((tr("Stop Recording"))); - label->setEnabled(true); + pushButtonRecording->setChecked(true); + pushButtonRecording->setText(tr("Stop Recording")); + labelRecPrefix->show(); + labelRecFilename->show(); + labelRecStatistics->show(); } else { - pushButtonRecording->setText((tr("Start Recording"))); - label->setText(""); - label->setEnabled(false); + pushButtonRecording->setChecked(false); + pushButtonRecording->setText(tr("Start Recording")); + labelRecPrefix->hide(); + labelRecFilename->hide(); + labelRecStatistics->hide(); } //This will update the recorded track table view m_browseModel.setPath(m_recordingDir); @@ -170,20 +173,21 @@ void DlgRecording::slotRecordingEnabled(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 = QString(QStringLiteral("(") + tr("%1 MiB written in %2") + QStringLiteral(")")) + .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 3cb73a86e9..1e00224064 100644 --- a/src/library/recording/dlgrecording.h +++ b/src/library/recording/dlgrecording.h @@ -37,8 +37,7 @@ 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 slotRecordingStateChanged(bool); void slotBytesRecorded(int); void refreshBrowseModel(); void slotRestoreSearch(); @@ -56,7 +55,8 @@ 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 c0b0fd90e5..efdf9e7fd8 100644 --- a/src/library/recording/dlgrecording.ui +++ b/src/library/recording/dlgrecording.ui @@ -57,11 +57,13 @@ </widget> </item> <item> - <widget class="QLabel" name="label"> - <property name="text"> - <string>Status:</string> - </property> - </widget> + <widget class="QLabel" name="labelRecPrefix"/> + </item> + <item> + <widget class="QLabel" name="labelRecFilename"/> + </item> + <item> + <widget class="QLabel" name="labelRecStatistics"/> </item> <item> <spacer name="horizontalSpacer"> |