diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-03 02:15:56 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-03 02:15:56 +0000 |
commit | 50b48aec6ddd451a6d1709c0942477b503457663 (patch) | |
tree | a9ece53ec06fd0a2819de7a2a6de997193566626 /src/projects/k3baudiotracktrmlookupdialog.cpp | |
download | k3b-50b48aec6ddd451a6d1709c0942477b503457663.tar.gz k3b-50b48aec6ddd451a6d1709c0942477b503457663.zip |
Added abandoned KDE3 version of K3B
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/k3b@1084400 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/projects/k3baudiotracktrmlookupdialog.cpp')
-rw-r--r-- | src/projects/k3baudiotracktrmlookupdialog.cpp | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/src/projects/k3baudiotracktrmlookupdialog.cpp b/src/projects/k3baudiotracktrmlookupdialog.cpp new file mode 100644 index 0000000..b537583 --- /dev/null +++ b/src/projects/k3baudiotracktrmlookupdialog.cpp @@ -0,0 +1,131 @@ +/* + * + * $Id: k3baudiotracktrmlookupdialog.cpp 619556 2007-01-03 17:38:12Z trueg $ + * Copyright (C) 2005 Sebastian Trueg <[email protected]> + * + * This file is part of the K3b project. + * Copyright (C) 1998-2007 Sebastian Trueg <[email protected]> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * See the file "COPYING" for the exact licensing terms. + */ + +#include <config.h> + +#ifdef HAVE_MUSICBRAINZ + +#include "k3baudiotracktrmlookupdialog.h" +#include "k3bmusicbrainzjob.h" + +#include <k3bbusywidget.h> +#include <k3baudiotrack.h> +#include <k3baudiofile.h> +#include <k3bpassivepopup.h> + +#include <kmessagebox.h> +#include <kinputdialog.h> +#include <klocale.h> +#include <kiconloader.h> +#include <kglobal.h> +#include <kdebug.h> + +#include <qlabel.h> +#include <qlayout.h> +#include <qtimer.h> +#include <qframe.h> +#include <qeventloop.h> +#include <qpushbutton.h> +#include <qapplication.h> + + +K3bAudioTrackTRMLookupDialog::K3bAudioTrackTRMLookupDialog( QWidget* parent, const char* name ) + : KDialogBase( KDialogBase::Plain, + i18n("MusicBrainz Query"), + KDialogBase::Cancel, + KDialogBase::Cancel, + parent, + name, + true, + true ) +{ + QGridLayout* grid = new QGridLayout( plainPage() ); + grid->setMargin( marginHint() ); + grid->setSpacing( spacingHint() ); + + m_infoLabel = new QLabel( plainPage() ); + QLabel* pixLabel = new QLabel( plainPage() ); + pixLabel->setPixmap( KGlobal::iconLoader()->loadIcon( "musicbrainz", KIcon::NoGroup, 64 ) ); + pixLabel->setScaledContents( false ); + + m_busyWidget = new K3bBusyWidget( plainPage() ); + + grid->addMultiCellWidget( pixLabel, 0, 1, 0, 0 ); + grid->addWidget( m_infoLabel, 0, 1 ); + grid->addWidget( m_busyWidget, 1, 1 ); + + m_inLoop = false; + m_mbJob = new K3bMusicBrainzJob( this ); + 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)) ); +} + + +K3bAudioTrackTRMLookupDialog::~K3bAudioTrackTRMLookupDialog() +{ +} + + +int K3bAudioTrackTRMLookupDialog::lookup( const QPtrList<K3bAudioTrack>& tracks ) +{ + m_mbJob->setTracks( tracks ); + m_mbJob->start(); + + m_busyWidget->showBusy(true); + setModal( true ); + show(); + m_inLoop = true; + QApplication::eventLoop()->enterLoop(); + + return 0; +} + + +void K3bAudioTrackTRMLookupDialog::slotMbJobInfoMessage( const QString& message, int ) +{ + m_infoLabel->setText( message ); +} + + +void K3bAudioTrackTRMLookupDialog::slotMbJobFinished( bool ) +{ + m_busyWidget->showBusy(false); + hide(); + if( m_inLoop ) + QApplication::eventLoop()->exitLoop(); +} + + +void K3bAudioTrackTRMLookupDialog::slotCancel() +{ + actionButton( Cancel )->setEnabled( false ); + 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 |