summaryrefslogtreecommitdiffabout
path: root/korganizer/kotodoview.cpp
Side-by-side diff
Diffstat (limited to 'korganizer/kotodoview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/kotodoview.cpp47
1 files changed, 30 insertions, 17 deletions
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp
index d79a9b9..ba94057 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -1336,16 +1336,36 @@ void KOTodoView::changedCategories(int index)
}
}
mActiveItem->todo()->setCategories (categories);
mActiveItem->construct();
mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 );
todoModified (mActiveItem->todo (), KOGlobals::CATEGORY_MODIFIED);
}
}
+void KOTodoView::toggleRunningItemQuick()
+{
+ if ( !mActiveItem ) return;
+ Todo * t = mActiveItem->todo();
+ if ( t->isRunning() ) {
+ if ( t->runTime() < 15) {
+ t->stopRunning();
+ mActiveItem->construct();
+ topLevelWidget()->setCaption(i18n("Todo stopped - no data saved because runtime was < 15 sec!"));
+ return;
+ }
+ else
+ toggleRunningItem();
+ return;
+ } else {
+ t->setRunning( true );
+ mActiveItem->construct();
+ topLevelWidget()->setCaption(i18n("Todo started! Double click again to stop!"));
+ }
+}
void KOTodoView::itemDoubleClicked(QListViewItem *item)
{
if ( pendingSubtodo != 0 ) {
topLevelWidget()->setCaption(i18n("Reparenting aborted!"));
}
pendingSubtodo = 0;
//int row = mTodoListView->header()->sectionAt ( mTodoListView->header()->mapFromGlobal( QCursor::pos()).x() );
int row = mTodoListView->header()->sectionAt ( mTodoListView->viewportToContents(mTodoListView->viewport()->mapFromGlobal( QCursor::pos())) .x() );
@@ -1356,33 +1376,18 @@ void KOTodoView::itemDoubleClicked(QListViewItem *item)
} else {
if ( row == 1 ) {
mActiveItem = (KOTodoViewItem *) item;
newSubTodo();
return;
}
if ( row == 5 || row == 6 || row == 2) {
mActiveItem = (KOTodoViewItem *) item;
- Todo * t = mActiveItem->todo();
- if ( t->isRunning() ) {
- if ( t->runTime() < 15) {
- t->stopRunning();
- mActiveItem->construct();
- topLevelWidget()->setCaption(i18n("Todo stopped - no data saved because runtime was < 15 sec!"));
- return;
- }
- else
- toggleRunningItem();
- return;
- } else {
- t->setRunning( true );
- mActiveItem->construct();
- topLevelWidget()->setCaption(i18n("Todo started! Double click again to stop!"));
- return;
- }
+ toggleRunningItemQuick();
+ return;
}
}
if ( KOPrefs::instance()->mEditOnDoubleClick )
editItem( item );
else
showItem( item , QPoint(), 0 );
}
void KOTodoView::toggleRunningItem()
@@ -1703,16 +1708,24 @@ void KOTodoView::keyPressEvent ( QKeyEvent * e )
case Qt::Key_P:
if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) {
mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem();
if ( pendingSubtodo )
itemClicked(mActiveItem);
e->accept();
} else
e->ignore();
+ break;
+ case Qt::Key_R:
+ if (!( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton) ) {
+ mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem();
+ toggleRunningItemQuick();
+ e->accept();
+ } else
+ e->ignore();
break;
case Qt::Key_Escape:
if ( pendingSubtodo ) {
itemClicked(0);
e->accept();
} else
e->ignore();
break;