SVN commit 776991 by lechner:
allow jobs to be cancelled from the user interface
M +8 -5 jobitem.cpp
M +3 -0 jobitem.h
M +2 -2 jobqueueview.cpp
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/mainpart/jobqueueview/jobitem.cpp #776990:776991
@@ -24,8 +24,6 @@
#include <QtGui/QGraphicsSceneHoverEvent>
#include <QtGui/QGraphicsSceneEvent>
-#include <libkmobiletools/jobxp.h>
-
#include <KDE/KIconLoader>
#include <KDE/KColorScheme>
#include <KDE/KLocale>
@@ -33,7 +31,7 @@
#include <KDE/KIconEffect>
JobItem::JobItem( KMobileTools::JobXP* job, QGraphicsItem* parent )
- : QGraphicsItem( parent )
+ : QGraphicsItem( parent ), m_job( job )
{
connect( job, SIGNAL(done(ThreadWeaver::Job*)),
this, SLOT(jobSuccessful(ThreadWeaver::Job*)) );
@@ -139,6 +137,7 @@
void JobItem::jobSuccessful( ThreadWeaver::Job* ) {
emit removeItem( this );
+ //this->deleteLater();
}
void JobItem::jobProgressChanged( int progress ) {
@@ -158,8 +157,12 @@
QGraphicsSceneMouseEvent* sceneEvent = dynamic_cast<QGraphicsSceneMouseEvent*>( event );
if( sceneEvent->button() == Qt::LeftButton ) {
QPointF pos = sceneEvent->pos();
- if( m_cancelRect.contains( pos ) )
- kDebug() << "triggering job cancellation...";
+ if( m_cancelRect.contains( pos ) ) {
+ if( m_job->canBeAborted() ) {
+ m_job->requestAbort();
+ emit removeItem( this );
+ }
+ }
}
}
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/mainpart/jobqueueview/jobitem.h #776990:776991
@@ -25,6 +25,8 @@
#include <QtGui/QGraphicsItem>
#include <KDE/ThreadWeaver/Job>
+#include <libkmobiletools/jobxp.h>
+
namespace KMobileTools {
class JobXP;
}
@@ -62,6 +64,7 @@
bool m_firstPaint;
QRectF m_boundingRect;
+ KMobileTools::JobXP* m_job;
};
#endif
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/mainpart/jobqueueview/jobqueueview.cpp #776990:776991
@@ -94,11 +94,11 @@
connect( jobItem, SIGNAL(removeItem(JobItem*)),
this, SLOT(removeJob(JobItem*)) );
-
+
timer->start();
}
-void JobQueueView::removeJob( JobItem* jobItem ) {
+void JobQueueView::removeJob( JobItem* jobItem ) {
// remove job item
if( m_jobItems.contains( jobItem ) ) {
// remove the item
_______________________________________________
kmobiletools mailing list
kmobiletools@...
https://mail.kde.org/mailman/listinfo/kmobiletools