[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/work/kde4/extragear/multimedia/amarok/src
From: Gábor Lehel <illissius () gmail ! com>
Date: 2006-06-01 1:22:39
Message-ID: 1149124959.025624.19420.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 547166 by illissius:
deadlocks minus minus. hooray!
M +15 -3 statusbar/statusBarBase.cpp
M +4 -0 statusbar/statusBarBase.h
M +1 -0 threadweaver.cpp
M +1 -0 threadweaver.h
--- branches/work/kde4/extragear/multimedia/amarok/src/statusbar/statusBarBase.cpp \
#547165:547166 @@ -354,7 +354,7 @@
}
ProgressBar&
-StatusBar::newProgressOperation( QObject *owner )
+StatusBar::newProgressOperationInternal( QObject *owner )
{
if ( m_progressMap.contains( owner ) )
return *m_progressMap[owner];
@@ -369,8 +369,6 @@
m_progressMap.insert( owner, new ProgressBar( m_popupProgress, label ) );
m_popupProgress->reposition();
-
- connect( owner, SIGNAL(destroyed( QObject* )), SLOT(endProgressOperation( \
QObject* )), Qt::DirectConnection );
// so we can show the correct progress information
// after the ProgressBar is setup
@@ -383,6 +381,20 @@
}
ProgressBar&
+StatusBar::newProgressOperation( QObject *owner )
+{
+ connect( owner, SIGNAL(destroyed( QObject* )), SLOT(endProgressOperation( \
QObject* )) ); + return newProgressOperationInternal( owner );
+}
+
+ProgressBar&
+StatusBar::newProgressOperation( ThreadWeaver::Job *owner )
+{
+ connect( owner, SIGNAL(finished( QObject* )), SLOT(endProgressOperation( \
QObject* )) ); + return newProgressOperationInternal( owner );
+}
+
+ProgressBar&
StatusBar::newProgressOperation( KIO::Job *job )
{
ProgressBar & bar = newProgressOperation( static_cast<QObject*>( job ) );
--- branches/work/kde4/extragear/multimedia/amarok/src/statusbar/statusBarBase.h \
#547165:547166 @@ -22,6 +22,7 @@
#include "progressBar.h" //convenience
#include "amarok_export.h"
+#include "threadweaver.h"
#include <qwidget.h> //baseclass
#include <qmap.h> //stack allocated
#include <q3valuelist.h> //stack allocated
@@ -101,6 +102,8 @@
*/
ProgressBar &newProgressOperation( QObject *owner );
+ ProgressBar &newProgressOperation( ThreadWeaver::Job *owner );
+
/**
* Monitor progress for a KIO::Job, very handy.
*/
@@ -212,6 +215,7 @@
};
void updateTotalProgress();
+ ProgressBar &newProgressOperationInternal( QObject *owner );
bool allDone(); ///@return true if all progress operations are complete
void pruneProgressBars(); /// deletes old progress bars
void writeLogFile( const QString &text );
--- branches/work/kde4/extragear/multimedia/amarok/src/threadweaver.cpp \
#547165:547166 @@ -161,6 +161,7 @@
else d << "aborted";
m_jobs.remove( job );
+ emit job->finished( job );
d << ": " << name;
d << ". Jobs pending: " << jobCount( name );
--- branches/work/kde4/extragear/multimedia/amarok/src/threadweaver.h #547165:547166
@@ -85,6 +85,7 @@
Q_OBJECT
protected: JobBase() : QObject(), m_aborted( false ) {}
public slots: void abort() { m_aborted = true; }
+signals: void finished( QObject* );
protected: bool m_aborted;
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic