summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/todo/tableview.cpp39
-rw-r--r--core/pim/todo/tableview.h3
2 files changed, 36 insertions, 6 deletions
diff --git a/core/pim/todo/tableview.cpp b/core/pim/todo/tableview.cpp
index 34b8b3c..c4165db 100644
--- a/core/pim/todo/tableview.cpp
+++ b/core/pim/todo/tableview.cpp
@@ -27,2 +27,3 @@
27*/ 27*/
28#include <stdlib.h>
28 29
@@ -149,4 +150,2 @@ void TableView::updateView( ) {
149 150
150 QTime t;
151 t.start();
152 setNumRows( it.count() ); 151 setNumRows( it.count() );
@@ -154,4 +153,4 @@ void TableView::updateView( ) {
154 killTimer(id); 153 killTimer(id);
154
155 int elc = time.elapsed(); 155 int elc = time.elapsed();
156 qWarning("Adding took %d", elc/1000 );
157 setUpdatesEnabled( true ); 156 setUpdatesEnabled( true );
@@ -162,3 +161,2 @@ void TableView::updateView( ) {
162 int el = time.elapsed(); 161 int el = time.elapsed();
163 qWarning("adding took %d", el/1000 );
164} 162}
@@ -259,2 +257,3 @@ void TableView::slotPressed(int row, int col, int,
259 257
258 m_prevP = point;
260 /* TextColumn column */ 259 /* TextColumn column */
@@ -286,3 +285,2 @@ void TableView::sortColumn( int col, bool asc, bool ) {
286void TableView::viewportPaintEvent( QPaintEvent* e) { 285void TableView::viewportPaintEvent( QPaintEvent* e) {
287 qWarning("Paint event" );
288 if (m_enablePaint ) 286 if (m_enablePaint )
@@ -437,3 +435,2 @@ void TableView::timerEvent( QTimerEvent* ev ) {
437 int row = currentRow(); 435 int row = currentRow();
438 qWarning("TimerEvent %d", row);
439 if ( m_row ) { 436 if ( m_row ) {
@@ -456 +453,31 @@ void TableView::timerEvent( QTimerEvent* ev ) {
456} 453}
454
455// We want a strike through completed ;)
456// durchstreichen to complete
457/*
458 * MouseTracking is off this mean we only receive
459 * these events if the mouse button is pressed
460 * We've the previous point saved
461 * We check if the previous and current Point are
462 * in the same row.
463 * Then we check if they're some pixel horizontal away
464 * if the distance between the two points is greater than
465 * 8 we mark the underlying todo as completed and do a repaint
466 */
467void TableView::contentsMouseReleaseEvent( QMouseEvent* e) {
468 int row = rowAt(m_prevP.y());
469 if ( row == rowAt( e->y() ) ) {
470 if ( abs( m_prevP.x() - e->x() ) >= 8 ) {
471 OTodo todo = sorted()[row];
472 todo.setCompleted( !todo.isCompleted() );
473 TodoView::update( todo.uid(), todo );
474 updateView();
475 return;
476 }
477 }
478 QTable::contentsMouseReleaseEvent( e );
479}
480void TableView::contentsMouseMoveEvent( QMouseEvent* e ) {
481 m_menuTimer->stop();
482 QTable::contentsMouseMoveEvent( e );
483}
diff --git a/core/pim/todo/tableview.h b/core/pim/todo/tableview.h
index fe65ca9..0c3e865 100644
--- a/core/pim/todo/tableview.h
+++ b/core/pim/todo/tableview.h
@@ -84,2 +84,4 @@ namespace Todo {
84 protected: 84 protected:
85 void contentsMouseReleaseEvent( QMouseEvent* );
86 void contentsMouseMoveEvent( QMouseEvent* );
85 void timerEvent( QTimerEvent* e ); 87 void timerEvent( QTimerEvent* e );
@@ -99,2 +101,3 @@ private slots:
99 bool m_row : 1; 101 bool m_row : 1;
102 QPoint m_prevP;
100 }; 103 };