author | zautrix <zautrix> | 2005-07-06 21:11:20 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-07-06 21:11:20 (UTC) |
commit | e1731d8790403a079613f291b4ac172d8f04c960 (patch) (unidiff) | |
tree | 75b13b2235fb6045b5c4b29f3d65d761c46ff746 /korganizer/kotodoview.cpp | |
parent | 984e2132871c79990f6d9eac5702f7f32186f235 (diff) | |
download | kdepimpi-e1731d8790403a079613f291b4ac172d8f04c960.zip kdepimpi-e1731d8790403a079613f291b4ac172d8f04c960.tar.gz kdepimpi-e1731d8790403a079613f291b4ac172d8f04c960.tar.bz2 |
fixes
-rw-r--r-- | korganizer/kotodoview.cpp | 78 |
1 files changed, 70 insertions, 8 deletions
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp index a87e6fc..c23a8ee 100644 --- a/korganizer/kotodoview.cpp +++ b/korganizer/kotodoview.cpp | |||
@@ -501,16 +501,50 @@ KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) : | |||
501 | mPendingUpdateBeforeRepaint = false; | 501 | mPendingUpdateBeforeRepaint = false; |
502 | isFlatDisplay = false; | 502 | isFlatDisplay = false; |
503 | mNavigator = 0; | 503 | mNavigator = 0; |
504 | QBoxLayout *topLayout = new QVBoxLayout(this); | 504 | QBoxLayout *topLayout = new QVBoxLayout(this); |
505 | mName = QString ( name ); | 505 | mName = QString ( name ); |
506 | mBlockUpdate = false; | 506 | mBlockUpdate = false; |
507 | mQuickAdd = new KOQuickTodo(this); | 507 | mQuickBar = new QWidget( this ); |
508 | topLayout->addWidget(mQuickAdd); | 508 | topLayout->addWidget(mQuickBar); |
509 | 509 | ||
510 | if ( !KOPrefs::instance()->mEnableQuickTodo ) mQuickAdd->hide(); | 510 | mQuickAdd = new KOQuickTodo(mQuickBar); |
511 | QBoxLayout *quickLayout = new QHBoxLayout(mQuickBar); | ||
512 | quickLayout->addWidget( mQuickAdd ); | ||
513 | QPushButton * flat = new QPushButton( "F",mQuickBar ); | ||
514 | int fixwid = flat->sizeHint().height(); | ||
515 | if ( QApplication::desktop()->width() > 320 ) | ||
516 | fixwid *= 2; | ||
517 | flat->setFixedWidth( fixwid ); | ||
518 | connect ( flat, SIGNAL ( clicked()), SLOT ( setAllFlat())); | ||
519 | QPushButton * allopen = new QPushButton( "O",mQuickBar ); | ||
520 | allopen->setFixedWidth( fixwid ); | ||
521 | connect ( allopen, SIGNAL ( clicked()), SLOT ( setAllOpen())); | ||
522 | QPushButton * allclose = new QPushButton( "C",mQuickBar ); | ||
523 | allclose->setFixedWidth( fixwid ); | ||
524 | connect ( allclose, SIGNAL ( clicked()), SLOT ( setAllClose())); | ||
525 | QPushButton * s_done = new QPushButton( "D",mQuickBar ); | ||
526 | s_done->setFixedWidth( fixwid ); | ||
527 | connect ( s_done, SIGNAL ( clicked()), SLOT ( toggleCompleted())); | ||
528 | QPushButton * s_run = new QPushButton( "R",mQuickBar ); | ||
529 | s_run->setFixedWidth( fixwid ); | ||
530 | connect ( s_run, SIGNAL ( clicked()), SLOT ( toggleRunning())); | ||
531 | |||
532 | mNewSubBut = new QPushButton( "sub",mQuickBar ); | ||
533 | mNewSubBut->setFixedWidth( fixwid*3/2 ); | ||
534 | connect ( mNewSubBut, SIGNAL ( clicked()), SLOT ( newSubTodo())); | ||
535 | mNewSubBut->setEnabled( false ); | ||
536 | quickLayout->addWidget( mNewSubBut ); | ||
537 | quickLayout->addWidget( s_done ); | ||
538 | quickLayout->addWidget( s_run ); | ||
539 | |||
540 | quickLayout->addWidget( allopen ); | ||
541 | quickLayout->addWidget( allclose ); | ||
542 | quickLayout->addWidget( flat ); | ||
543 | |||
544 | if ( !KOPrefs::instance()->mEnableQuickTodo ) mQuickBar->hide(); | ||
511 | 545 | ||
512 | mTodoListView = new KOTodoListView(calendar,this, name ); | 546 | mTodoListView = new KOTodoListView(calendar,this, name ); |
513 | topLayout->addWidget(mTodoListView); | 547 | topLayout->addWidget(mTodoListView); |
514 | //mTodoListView->header()->setMaximumHeight(30); | 548 | //mTodoListView->header()->setMaximumHeight(30); |
515 | mTodoListView->setRootIsDecorated(true); | 549 | mTodoListView->setRootIsDecorated(true); |
516 | mTodoListView->setAllColumnsShowFocus(true); | 550 | mTodoListView->setAllColumnsShowFocus(true); |
@@ -1079,13 +1113,17 @@ void KOTodoView::newTodo() | |||
1079 | { | 1113 | { |
1080 | emit newTodoSignal(); | 1114 | emit newTodoSignal(); |
1081 | } | 1115 | } |
1082 | 1116 | ||
1083 | void KOTodoView::newSubTodo() | 1117 | void KOTodoView::newSubTodo() |
1084 | { | 1118 | { |
1119 | mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem(); | ||
1085 | if (mActiveItem) { | 1120 | if (mActiveItem) { |
1121 | if ( mQuickAdd->isVisible() && !mQuickAdd->text().isEmpty() && mQuickAdd->text() != i18n("Click to add a new Todo") ) { | ||
1122 | addQuickTodoPar( mActiveItem->todo()); | ||
1123 | } else | ||
1086 | emit newSubTodoSignal(mActiveItem->todo()); | 1124 | emit newSubTodoSignal(mActiveItem->todo()); |
1087 | } | 1125 | } |
1088 | } | 1126 | } |
1089 | void KOTodoView::unparentTodo() | 1127 | void KOTodoView::unparentTodo() |
1090 | { | 1128 | { |
1091 | if (mActiveItem) { | 1129 | if (mActiveItem) { |
@@ -1388,14 +1426,16 @@ void KOTodoView::processSelectionChange() | |||
1388 | 1426 | ||
1389 | KOTodoViewItem *item = | 1427 | KOTodoViewItem *item = |
1390 | static_cast<KOTodoViewItem *>( mTodoListView->selectedItem() ); | 1428 | static_cast<KOTodoViewItem *>( mTodoListView->selectedItem() ); |
1391 | 1429 | ||
1392 | if ( !item ) { | 1430 | if ( !item ) { |
1393 | emit incidenceSelected( 0 ); | 1431 | emit incidenceSelected( 0 ); |
1432 | mNewSubBut->setEnabled( false ); | ||
1394 | } else { | 1433 | } else { |
1395 | emit incidenceSelected( item->todo() ); | 1434 | emit incidenceSelected( item->todo() ); |
1435 | mNewSubBut->setEnabled( true ); | ||
1396 | } | 1436 | } |
1397 | } | 1437 | } |
1398 | 1438 | ||
1399 | void KOTodoView::modified(bool b) | 1439 | void KOTodoView::modified(bool b) |
1400 | { | 1440 | { |
1401 | emit isModified(b); | 1441 | emit isModified(b); |
@@ -1477,59 +1517,81 @@ void KOTodoView::purgeCompleted() | |||
1477 | { | 1517 | { |
1478 | emit purgeCompletedSignal(); | 1518 | emit purgeCompletedSignal(); |
1479 | 1519 | ||
1480 | } | 1520 | } |
1481 | void KOTodoView::toggleQuickTodo() | 1521 | void KOTodoView::toggleQuickTodo() |
1482 | { | 1522 | { |
1483 | if ( mQuickAdd->isVisible() ) { | 1523 | if ( mQuickBar->isVisible() ) { |
1484 | mQuickAdd->hide(); | 1524 | mQuickBar->hide(); |
1485 | KOPrefs::instance()->mEnableQuickTodo = false; | 1525 | KOPrefs::instance()->mEnableQuickTodo = false; |
1486 | } | 1526 | } |
1487 | else { | 1527 | else { |
1488 | mQuickAdd->show(); | 1528 | mQuickBar->show(); |
1489 | KOPrefs::instance()->mEnableQuickTodo = true; | 1529 | KOPrefs::instance()->mEnableQuickTodo = true; |
1490 | } | 1530 | } |
1491 | mPopupMenu->setItemChecked(4,KOPrefs::instance()->mEnableQuickTodo); | 1531 | mPopupMenu->setItemChecked(4,KOPrefs::instance()->mEnableQuickTodo); |
1492 | mItemPopupMenu->setItemChecked( 34 , KOPrefs::instance()->mEnableQuickTodo ); | 1532 | mItemPopupMenu->setItemChecked( 34 , KOPrefs::instance()->mEnableQuickTodo ); |
1493 | } | 1533 | } |
1494 | 1534 | ||
1495 | void KOTodoView::toggleRunning() | 1535 | void KOTodoView::toggleRunning() |
1496 | { | 1536 | { |
1497 | KOPrefs::instance()->mHideNonStartedTodos = !KOPrefs::instance()->mHideNonStartedTodos; | 1537 | KOPrefs::instance()->mHideNonStartedTodos = !KOPrefs::instance()->mHideNonStartedTodos; |
1498 | mPopupMenu->setItemChecked(5,KOPrefs::instance()->mHideNonStartedTodos); | 1538 | mPopupMenu->setItemChecked(5,KOPrefs::instance()->mHideNonStartedTodos); |
1499 | mItemPopupMenu->setItemChecked( 35 , KOPrefs::instance()->mHideNonStartedTodos ); | 1539 | mItemPopupMenu->setItemChecked( 35 , KOPrefs::instance()->mHideNonStartedTodos ); |
1500 | updateView(); | 1540 | updateView(); |
1541 | if ( KOPrefs::instance()->mHideNonStartedTodos ) | ||
1542 | topLevelWidget()->setCaption(i18n("Hide not Running")); | ||
1543 | else | ||
1544 | topLevelWidget()->setCaption(i18n("Show not Running")); | ||
1501 | } | 1545 | } |
1502 | 1546 | ||
1503 | void KOTodoView::toggleCompleted() | 1547 | void KOTodoView::toggleCompleted() |
1504 | { | 1548 | { |
1505 | KOPrefs::instance()->mShowCompletedTodo = !KOPrefs::instance()->mShowCompletedTodo; | 1549 | KOPrefs::instance()->mShowCompletedTodo = !KOPrefs::instance()->mShowCompletedTodo; |
1506 | mPopupMenu->setItemChecked( 3,KOPrefs::instance()->mShowCompletedTodo ); | 1550 | mPopupMenu->setItemChecked( 3,KOPrefs::instance()->mShowCompletedTodo ); |
1507 | mItemPopupMenu->setItemChecked( 33 , KOPrefs::instance()->mShowCompletedTodo ); | 1551 | mItemPopupMenu->setItemChecked( 33 , KOPrefs::instance()->mShowCompletedTodo ); |
1508 | updateView(); | 1552 | updateView(); |
1553 | if ( KOPrefs::instance()->mShowCompletedTodo ) | ||
1554 | topLevelWidget()->setCaption(i18n("Show Completed")); | ||
1555 | else | ||
1556 | topLevelWidget()->setCaption(i18n("Hide Completed")); | ||
1509 | } | 1557 | } |
1510 | 1558 | ||
1511 | void KOTodoView::addQuickTodo() | 1559 | void KOTodoView::addQuickTodo() |
1512 | { | 1560 | { |
1561 | addQuickTodoPar( 0 ); | ||
1562 | } | ||
1563 | void KOTodoView::addQuickTodoPar( Todo * parentTodo) | ||
1564 | { | ||
1513 | Todo *todo = new Todo(); | 1565 | Todo *todo = new Todo(); |
1514 | todo->setSummary(mQuickAdd->text()); | 1566 | todo->setSummary(mQuickAdd->text()); |
1515 | todo->setOrganizer(KOPrefs::instance()->email()); | 1567 | todo->setOrganizer(KOPrefs::instance()->email()); |
1568 | if ( parentTodo ) { | ||
1569 | todo->setRelatedTo(parentTodo); | ||
1570 | |||
1571 | todo->setCategories (parentTodo->categoriesStr ()); | ||
1572 | todo->setSecrecy (parentTodo->secrecy ()); | ||
1573 | if ( parentTodo->priority() < 3 ) | ||
1574 | todo->setPriority( parentTodo->priority() ); | ||
1575 | todo->setCalID( parentTodo->calID() ); | ||
1576 | } else { | ||
1516 | CalFilter * cf = mCalendar->filter(); | 1577 | CalFilter * cf = mCalendar->filter(); |
1517 | if ( cf ) { | 1578 | if ( cf ) { |
1518 | if ( cf->isEnabled()&& cf->showCategories()) { | 1579 | if ( cf->isEnabled()&& cf->showCategories()) { |
1519 | todo->setCategories(cf->categoryList()); | 1580 | todo->setCategories(cf->categoryList()); |
1520 | } | 1581 | } |
1521 | if ( cf->isEnabled() ) | 1582 | if ( cf->isEnabled() ) |
1522 | todo->setSecrecy( cf->getSecrecy()); | 1583 | todo->setSecrecy( cf->getSecrecy()); |
1523 | } | 1584 | } |
1585 | } | ||
1524 | mCalendar->addTodo(todo); | 1586 | mCalendar->addTodo(todo); |
1525 | mQuickAdd->setText(""); | 1587 | mQuickAdd->setText(""); |
1526 | todoModified (todo, KOGlobals::EVENTADDED ); | 1588 | todoModified (todo, KOGlobals::EVENTADDED ); |
1527 | updateView(); | 1589 | updateView(); |
1528 | } | ||
1529 | 1590 | ||
1591 | } | ||
1530 | void KOTodoView::keyPressEvent ( QKeyEvent * e ) | 1592 | void KOTodoView::keyPressEvent ( QKeyEvent * e ) |
1531 | { | 1593 | { |
1532 | // e->ignore(); | 1594 | // e->ignore(); |
1533 | //return; | 1595 | //return; |
1534 | //qDebug("KOTodoView::keyPressEvent "); | 1596 | //qDebug("KOTodoView::keyPressEvent "); |
1535 | switch ( e->key() ) { | 1597 | switch ( e->key() ) { |