-rw-r--r-- | core/pim/todo/tableview.cpp | 39 | ||||
-rw-r--r-- | core/pim/todo/tableview.h | 3 |
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 | |||
@@ -26,4 +26,5 @@ | |||
26 | 26 | ||
27 | */ | 27 | */ |
28 | #include <stdlib.h> | ||
28 | 29 | ||
29 | #include <qtimer.h> | 30 | #include <qtimer.h> |
@@ -148,11 +149,9 @@ void TableView::updateView( ) { | |||
148 | viewport()->setUpdatesEnabled( false ); | 149 | viewport()->setUpdatesEnabled( false ); |
149 | 150 | ||
150 | QTime t; | ||
151 | t.start(); | ||
152 | setNumRows( it.count() ); | 151 | setNumRows( it.count() ); |
153 | if ( it.count() == 0 ) | 152 | if ( it.count() == 0 ) |
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 ); |
158 | viewport()->setUpdatesEnabled( true ); | 157 | viewport()->setUpdatesEnabled( true ); |
@@ -161,5 +160,4 @@ void TableView::updateView( ) { | |||
161 | m_enablePaint = true; | 160 | m_enablePaint = true; |
162 | int el = time.elapsed(); | 161 | int el = time.elapsed(); |
163 | qWarning("adding took %d", el/1000 ); | ||
164 | } | 162 | } |
165 | void TableView::setTodo( int, const OTodo&) { | 163 | void TableView::setTodo( int, const OTodo&) { |
@@ -258,4 +256,5 @@ void TableView::slotPressed(int row, int col, int, | |||
258 | const QPoint& point) { | 256 | const QPoint& point) { |
259 | 257 | ||
258 | m_prevP = point; | ||
260 | /* TextColumn column */ | 259 | /* TextColumn column */ |
261 | if ( col == 2 && cellGeometry( row, col ).contains( point ) ) | 260 | if ( col == 2 && cellGeometry( row, col ).contains( point ) ) |
@@ -285,5 +284,4 @@ void TableView::sortColumn( int col, bool asc, bool ) { | |||
285 | } | 284 | } |
286 | void TableView::viewportPaintEvent( QPaintEvent* e) { | 285 | void TableView::viewportPaintEvent( QPaintEvent* e) { |
287 | qWarning("Paint event" ); | ||
288 | if (m_enablePaint ) | 286 | if (m_enablePaint ) |
289 | QTable::viewportPaintEvent( e ); | 287 | QTable::viewportPaintEvent( e ); |
@@ -436,5 +434,4 @@ void TableView::timerEvent( QTimerEvent* ev ) { | |||
436 | 434 | ||
437 | int row = currentRow(); | 435 | int row = currentRow(); |
438 | qWarning("TimerEvent %d", row); | ||
439 | if ( m_row ) { | 436 | if ( m_row ) { |
440 | int ro = row-4; | 437 | int ro = row-4; |
@@ -455,2 +452,32 @@ void TableView::timerEvent( QTimerEvent* ev ) { | |||
455 | m_row = !m_row; | 452 | m_row = !m_row; |
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 | */ | ||
467 | void 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 | } | ||
480 | void 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 | |||
@@ -83,4 +83,6 @@ namespace Todo { | |||
83 | 83 | ||
84 | protected: | 84 | protected: |
85 | void contentsMouseReleaseEvent( QMouseEvent* ); | ||
86 | void contentsMouseMoveEvent( QMouseEvent* ); | ||
85 | void timerEvent( QTimerEvent* e ); | 87 | void timerEvent( QTimerEvent* e ); |
86 | QWidget* createEditor(int row, int col, bool initFromCell )const; | 88 | QWidget* createEditor(int row, int col, bool initFromCell )const; |
@@ -98,4 +100,5 @@ private slots: | |||
98 | private: | 100 | private: |
99 | bool m_row : 1; | 101 | bool m_row : 1; |
102 | QPoint m_prevP; | ||
100 | }; | 103 | }; |
101 | }; | 104 | }; |