[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/multimedia/k3b/src/projects
From: Sebastian Trueg <sebastian () trueg ! de>
Date: 2006-11-01 18:04:20
Message-ID: 1162404260.148823.28779.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 601018 by trueg:
* Fixed cancellation
* Show a passive popup if no metadata could be found.
M +12 -0 k3baudiotracktrmlookupdialog.cpp
M +1 -0 k3baudiotracktrmlookupdialog.h
M +8 -8 k3bmusicbrainzjob.cpp
M +14 -0 k3bmusicbrainzjob.h
--- trunk/extragear/multimedia/k3b/src/projects/k3baudiotracktrmlookupdialog.cpp #601017:601018
@@ -23,6 +23,7 @@
#include <k3bbusywidget.h>
#include <k3baudiotrack.h>
#include <k3baudiofile.h>
+#include <k3bpassivepopup.h>
#include <kmessagebox.h>
#include <kinputdialog.h>
@@ -70,6 +71,8 @@
connect( m_mbJob, SIGNAL(infoMessage(const QString&, int)),
this, SLOT(slotMbJobInfoMessage(const QString&, int)) );
connect( m_mbJob, SIGNAL(finished(bool)), this, SLOT(slotMbJobFinished(bool)) );
+ connect( m_mbJob, SIGNAL(trackFinished(K3bAudioTrack*, bool)),
+ this, SLOT(slotTrackFinished(K3bAudioTrack*, bool)) );
}
@@ -114,6 +117,15 @@
m_mbJob->cancel();
}
+
+void K3bAudioTrackTRMLookupDialog::slotTrackFinished( K3bAudioTrack* track, bool success )
+{
+ if( !success )
+ K3bPassivePopup::showPopup( i18n("Track %1 was not found in the MusicBrainz database.")
+ .arg( track->trackNumber()),
+ i18n("Audio Project") );
+}
+
#include "k3baudiotracktrmlookupdialog.moc"
#endif
--- trunk/extragear/multimedia/k3b/src/projects/k3baudiotracktrmlookupdialog.h #601017:601018
@@ -41,6 +41,7 @@
private slots:
void slotMbJobFinished( bool );
void slotMbJobInfoMessage( const QString&, int );
+ void slotTrackFinished( K3bAudioTrack* track, bool success );
void slotCancel();
private:
--- trunk/extragear/multimedia/k3b/src/projects/k3bmusicbrainzjob.cpp #601017:601018
@@ -141,7 +141,8 @@
// cannot use this as parent for the K3bSimpleJobHandler since this has not been constructed yet
K3bMusicBrainzJob::K3bMusicBrainzJob( QWidget* parent, const char* name )
- : K3bJob( new K3bSimpleJobHandler( 0 ), parent, name )
+ : K3bJob( new K3bSimpleJobHandler( 0 ), parent, name ),
+ m_canceled( false )
{
m_trmThread = new TRMThread();
m_mbThread = new MusicBrainzThread();
@@ -169,6 +170,8 @@
{
jobStarted();
+ m_canceled = false;
+
m_trmThread->track = m_tracks.first();
emit infoMessage( i18n("Generating fingerprint for track %1.")
@@ -180,7 +183,9 @@
void K3bMusicBrainzJob::cancel()
{
+ m_canceled = true;
m_trmJob->cancel();
+ m_mbJob->cancel();
}
@@ -215,6 +220,8 @@
jobFinished(false);
}
else {
+ emit trackFinished( m_tracks.current(), success );
+
if( success ) {
// found entries
QStringList resultStrings, resultStringsUnique;
@@ -249,13 +256,6 @@
m_tracks.current()->setArtist( m_mbThread->artist(i) );
}
}
- else {
- // no entry found
- // inform user
- KMessageBox::error( dynamic_cast<QWidget*>(parent()),
- i18n("Track %1 was not found in the MusicBrainz database.")
- .arg( m_tracks.current()->trackNumber()) );
- }
// query next track
if( m_tracks.next() ) {
--- trunk/extragear/multimedia/k3b/src/projects/k3bmusicbrainzjob.h #601017:601018
@@ -44,6 +44,18 @@
K3bMusicBrainzJob( QWidget* parent = 0, const char* name = 0 );
~K3bMusicBrainzJob();
+ bool hasBeenCanceled() const { return m_canceled; }
+
+ signals:
+ /**
+ * Emitted for each track. This is signal can be used
+ * to display further information.
+ *
+ * \param track The track for which metadata was searched.
+ * \param success True if metadata was found
+ */
+ void trackFinished( K3bAudioTrack* track, bool success );
+
public slots:
void start();
void cancel();
@@ -65,6 +77,8 @@
K3bThreadJob* m_mbJob;
QPtrList<K3bAudioTrack> m_tracks;
+
+ bool m_canceled;
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic