diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-06-15 19:24:15 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-06-15 19:24:15 +0000 |
| commit | 4163cabef5b80851dd68cc196c2d34f48539693b (patch) | |
| tree | 08953439466e338416d388e4873ec849b7434255 /src/plugins/General/rgscan/rgscandialog.cpp | |
| parent | a991df9d7164ddfc1604c8b8d7161d52da2ca516 (diff) | |
| download | qmmp-4163cabef5b80851dd68cc196c2d34f48539693b.tar.gz qmmp-4163cabef5b80851dd68cc196c2d34f48539693b.tar.bz2 qmmp-4163cabef5b80851dd68cc196c2d34f48539693b.zip | |
rgscan: added feature to detect previous tags (#709)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@5157 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/General/rgscan/rgscandialog.cpp')
| -rw-r--r-- | src/plugins/General/rgscan/rgscandialog.cpp | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/src/plugins/General/rgscan/rgscandialog.cpp b/src/plugins/General/rgscan/rgscandialog.cpp index 7b3824921..bb4c7693a 100644 --- a/src/plugins/General/rgscan/rgscandialog.cpp +++ b/src/plugins/General/rgscan/rgscandialog.cpp @@ -92,6 +92,7 @@ RGScanDialog::RGScanDialog(QList <PlayListTrack *> tracks, QWidget *parent) : Q restoreGeometry(settings.value("RGScanner/geometry").toByteArray()); m_ui.trackCheckBox->setChecked(settings.value("RGScanner/write_track",true).toBool()); m_ui.albumCheckBox->setChecked(settings.value("RGScanner/write_album",true).toBool()); + m_ui.skipScannedCheckBox->setChecked(settings.value("RGScanner/skip_scanned",true).toBool()); } RGScanDialog::~RGScanDialog() @@ -115,6 +116,19 @@ void RGScanDialog::on_calculateButton_clicked() delete scanner; continue; } + + if(m_ui.skipScannedCheckBox->isChecked() && !scanner->oldReplayGainInfo().isEmpty()) + { + qDebug("RGScanDialog: skipping scanned file.."); + QMap<Qmmp::ReplayGainKey, double> rg = scanner->oldReplayGainInfo(); + m_ui.tableWidget->setItem(i, 2, new QTableWidgetItem(tr("%1 dB").arg(rg.value(Qmmp::REPLAYGAIN_TRACK_GAIN)))); + m_ui.tableWidget->setItem(i, 3, new QTableWidgetItem(tr("%1 dB").arg(rg.value(Qmmp::REPLAYGAIN_ALBUM_GAIN)))); + m_ui.tableWidget->setItem(i, 4, new QTableWidgetItem(QString::number(rg.value(Qmmp::REPLAYGAIN_TRACK_PEAK)))); + m_ui.tableWidget->setItem(i, 5, new QTableWidgetItem(QString::number(rg.value(Qmmp::REPLAYGAIN_ALBUM_PEAK)))); + delete scanner; + continue; + } + scanner->setAutoDelete(false); m_scanners.append(scanner); connect(scanner, SIGNAL(progress(int)), m_ui.tableWidget->cellWidget(i, 1), SLOT(setValue(int))); @@ -125,7 +139,6 @@ void RGScanDialog::on_calculateButton_clicked() void RGScanDialog::onScanFinished(QString url) { - for(int i = 0; i < m_ui.tableWidget->rowCount(); ++i) { if(url != m_ui.tableWidget->item(i, 0)->data(Qt::UserRole).toString()) @@ -148,7 +161,7 @@ void RGScanDialog::onScanFinished(QString url) if(stopped) { - qDebug("RGScanDialog: all threads finished"); + qDebug("RGScanDialog: all threads are finished"); QThreadPool::globalInstance()->waitForDone(); QMultiMap<QString, ReplayGainInfoItem*> itemGroupMap; //items grouped by album @@ -208,8 +221,8 @@ void RGScanDialog::onScanFinished(QString url) m_ui.tableWidget->setItem(i, 5, new QTableWidgetItem(QString::number(album_peak))); } } - if(!found) - m_ui.tableWidget->setItem(i, 3, new QTableWidgetItem(tr("Error"))); + //if(!found) + // m_ui.tableWidget->setItem(i, 3, new QTableWidgetItem(tr("Error"))); } //clear items @@ -225,6 +238,7 @@ void RGScanDialog::reject() settings.setValue("RGScanner/geometry", saveGeometry()); settings.setValue("RGScanner/write_track", m_ui.trackCheckBox->isChecked()); settings.setValue("RGScanner/write_album", m_ui.albumCheckBox->isChecked()); + settings.setValue("RGScanner/skip_scanned", m_ui.skipScannedCheckBox->isChecked()); QDialog::reject(); } |
