summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--korganizer/kotodoview.cpp45
-rw-r--r--korganizer/kotodoview.h1
2 files changed, 30 insertions, 16 deletions
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp
index d79a9b9..ba94057 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -1341,6 +1341,26 @@ void KOTodoView::changedCategories(int index)
1341 todoModified (mActiveItem->todo (), KOGlobals::CATEGORY_MODIFIED); 1341 todoModified (mActiveItem->todo (), KOGlobals::CATEGORY_MODIFIED);
1342 } 1342 }
1343} 1343}
1344void KOTodoView::toggleRunningItemQuick()
1345{
1346 if ( !mActiveItem ) return;
1347 Todo * t = mActiveItem->todo();
1348 if ( t->isRunning() ) {
1349 if ( t->runTime() < 15) {
1350 t->stopRunning();
1351 mActiveItem->construct();
1352 topLevelWidget()->setCaption(i18n("Todo stopped - no data saved because runtime was < 15 sec!"));
1353 return;
1354 }
1355 else
1356 toggleRunningItem();
1357 return;
1358 } else {
1359 t->setRunning( true );
1360 mActiveItem->construct();
1361 topLevelWidget()->setCaption(i18n("Todo started! Double click again to stop!"));
1362 }
1363}
1344void KOTodoView::itemDoubleClicked(QListViewItem *item) 1364void KOTodoView::itemDoubleClicked(QListViewItem *item)
1345{ 1365{
1346 if ( pendingSubtodo != 0 ) { 1366 if ( pendingSubtodo != 0 ) {
@@ -1361,25 +1381,10 @@ void KOTodoView::itemDoubleClicked(QListViewItem *item)
1361 } 1381 }
1362 if ( row == 5 || row == 6 || row == 2) { 1382 if ( row == 5 || row == 6 || row == 2) {
1363 mActiveItem = (KOTodoViewItem *) item; 1383 mActiveItem = (KOTodoViewItem *) item;
1364 Todo * t = mActiveItem->todo(); 1384 toggleRunningItemQuick();
1365 if ( t->isRunning() ) {
1366 if ( t->runTime() < 15) {
1367 t->stopRunning();
1368 mActiveItem->construct();
1369 topLevelWidget()->setCaption(i18n("Todo stopped - no data saved because runtime was < 15 sec!"));
1370 return;
1371 }
1372 else
1373 toggleRunningItem();
1374 return;
1375 } else {
1376 t->setRunning( true );
1377 mActiveItem->construct();
1378 topLevelWidget()->setCaption(i18n("Todo started! Double click again to stop!"));
1379 return; 1385 return;
1380 } 1386 }
1381 } 1387 }
1382 }
1383 if ( KOPrefs::instance()->mEditOnDoubleClick ) 1388 if ( KOPrefs::instance()->mEditOnDoubleClick )
1384 editItem( item ); 1389 editItem( item );
1385 else 1390 else
@@ -1709,6 +1714,14 @@ void KOTodoView::keyPressEvent ( QKeyEvent * e )
1709 } else 1714 } else
1710 e->ignore(); 1715 e->ignore();
1711 break; 1716 break;
1717 case Qt::Key_R:
1718 if (!( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton) ) {
1719 mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem();
1720 toggleRunningItemQuick();
1721 e->accept();
1722 } else
1723 e->ignore();
1724 break;
1712 case Qt::Key_Escape: 1725 case Qt::Key_Escape:
1713 if ( pendingSubtodo ) { 1726 if ( pendingSubtodo ) {
1714 itemClicked(0); 1727 itemClicked(0);
diff --git a/korganizer/kotodoview.h b/korganizer/kotodoview.h
index 161ecb0..0cbc087 100644
--- a/korganizer/kotodoview.h
+++ b/korganizer/kotodoview.h
@@ -248,6 +248,7 @@ class KOTodoView : public KOrg::BaseView
248 248
249 protected slots: 249 protected slots:
250 void toggleRunningItem(); 250 void toggleRunningItem();
251 void toggleRunningItemQuick();
251 void paintNeeded(); 252 void paintNeeded();
252 void processSelectionChange(); 253 void processSelectionChange();
253 void addQuickTodo(); 254 void addQuickTodo();