KDE/kdepim/kmobiletools/kmobiletools/mainpart/jobqueueview

View: New views
1 Messages — Rating Filter:   Alert me  

KDE/kdepim/kmobiletools/kmobiletools/mainpart/jobqueueview

by Bugzilla from matthias@lmme.de :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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