summaryrefslogtreecommitdiffabout
path: root/korganizer/kotodoview.cpp
Unidiff
Diffstat (limited to 'korganizer/kotodoview.cpp') (more/less context) (show whitespace changes)
-rw-r--r--korganizer/kotodoview.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp
index da46eca..ca5eadd 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -36,48 +36,49 @@
36#include <libkcal/icaldrag.h> 36#include <libkcal/icaldrag.h>
37#include <libkcal/vcaldrag.h> 37#include <libkcal/vcaldrag.h>
38#include <libkcal/calfilter.h> 38#include <libkcal/calfilter.h>
39#include <libkcal/dndfactory.h> 39#include <libkcal/dndfactory.h>
40#include <libkcal/calendarresources.h> 40#include <libkcal/calendarresources.h>
41#include <libkcal/resourcecalendar.h> 41#include <libkcal/resourcecalendar.h>
42#include <kresources/resourceselectdialog.h> 42#include <kresources/resourceselectdialog.h>
43#ifndef DESKTOP_VERSION 43#ifndef DESKTOP_VERSION
44#include <qpe/qpeapplication.h> 44#include <qpe/qpeapplication.h>
45#else 45#else
46#include <qapplication.h> 46#include <qapplication.h>
47#endif 47#endif
48#ifndef KORG_NOPRINTER 48#ifndef KORG_NOPRINTER
49#include "calprinter.h" 49#include "calprinter.h"
50#endif 50#endif
51#include "docprefs.h" 51#include "docprefs.h"
52 52
53#include "kotodoview.h" 53#include "kotodoview.h"
54using namespace KOrg; 54using namespace KOrg;
55 55
56KOTodoListView::KOTodoListView(Calendar *calendar,QWidget *parent, 56KOTodoListView::KOTodoListView(Calendar *calendar,QWidget *parent,
57 const char *name) : 57 const char *name) :
58 KListView(parent,name) 58 KListView(parent,name)
59{ 59{
60 mName = QString ( name );
60 mCalendar = calendar; 61 mCalendar = calendar;
61#ifndef DESKTOP_VERSION 62#ifndef DESKTOP_VERSION
62 QPEApplication::setStylusOperation(viewport(), QPEApplication::RightOnHold ); 63 QPEApplication::setStylusOperation(viewport(), QPEApplication::RightOnHold );
63#endif 64#endif
64 mOldCurrent = 0; 65 mOldCurrent = 0;
65 mMousePressed = false; 66 mMousePressed = false;
66 67
67 setAcceptDrops(true); 68 setAcceptDrops(true);
68 viewport()->setAcceptDrops(true); 69 viewport()->setAcceptDrops(true);
69 int size = 16; 70 int size = 16;
70 if (qApp->desktop()->width() < 300 ) 71 if (qApp->desktop()->width() < 300 )
71 size = 12; 72 size = 12;
72 setTreeStepSize( size + 6 ); 73 setTreeStepSize( size + 6 );
73 74
74} 75}
75 76
76void KOTodoListView::contentsDragEnterEvent(QDragEnterEvent *e) 77void KOTodoListView::contentsDragEnterEvent(QDragEnterEvent *e)
77{ 78{
78#ifndef KORG_NODND 79#ifndef KORG_NODND
79// kdDebug() << "KOTodoListView::contentsDragEnterEvent" << endl; 80// kdDebug() << "KOTodoListView::contentsDragEnterEvent" << endl;
80 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) && 81 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) &&
81 !QTextDrag::canDecode( e ) ) { 82 !QTextDrag::canDecode( e ) ) {
82 e->ignore(); 83 e->ignore();
83 return; 84 return;
@@ -243,54 +244,58 @@ void KOTodoListView::keyPressEvent ( QKeyEvent * e )
243 244
244 QListViewItem* cn; 245 QListViewItem* cn;
245 if ( e->key() == Qt::Key_Return || e->key() == Qt::Key_Enter ) { 246 if ( e->key() == Qt::Key_Return || e->key() == Qt::Key_Enter ) {
246 cn = currentItem(); 247 cn = currentItem();
247 if ( cn ) { 248 if ( cn ) {
248 KOTodoViewItem* ci = (KOTodoViewItem*)( cn ); 249 KOTodoViewItem* ci = (KOTodoViewItem*)( cn );
249 if ( ci ){ 250 if ( ci ){
250 if ( e->state() == ShiftButton ) 251 if ( e->state() == ShiftButton )
251 ci->setOn( false ); 252 ci->setOn( false );
252 else 253 else
253 ci->setOn( true ); 254 ci->setOn( true );
254 cn = cn->nextSibling(); 255 cn = cn->nextSibling();
255 if ( cn ) { 256 if ( cn ) {
256 setCurrentItem ( cn ); 257 setCurrentItem ( cn );
257 ensureItemVisible ( cn ); 258 ensureItemVisible ( cn );
258 } 259 }
259 260
260 } 261 }
261 } 262 }
262 263
263 return; 264 return;
264 } 265 }
265 266
266 // qDebug("KOTodoListView::keyPressEvent "); 267 // qDebug("KOTodoListView::keyPressEvent ");
267 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton || ( height() > 150 && width() > 200 ) ) { 268 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton || mName != "todolistsmall" ) {
268 switch ( e->key() ) { 269 switch ( e->key() ) {
269 case Qt::Key_Down: 270 case Qt::Key_Down:
270 case Qt::Key_Up: 271 case Qt::Key_Up:
271 QListView::keyPressEvent ( e ); 272 QListView::keyPressEvent ( e );
272 break; 273 break;
274 case Qt::Key_Left:
275 case Qt::Key_Right:
276 QListView::keyPressEvent ( e );
277 break;
273 default: 278 default:
274 e->ignore(); 279 e->ignore();
275 break; 280 break;
276 } 281 }
277 return; 282 return;
278 } 283 }
279 e->ignore(); 284 e->ignore();
280} 285}
281void KOTodoListView::contentsMouseReleaseEvent(QMouseEvent *e) 286void KOTodoListView::contentsMouseReleaseEvent(QMouseEvent *e)
282{ 287{
283 QListView::contentsMouseReleaseEvent(e); 288 QListView::contentsMouseReleaseEvent(e);
284 mMousePressed = false; 289 mMousePressed = false;
285} 290}
286 291
287void KOTodoListView::contentsMouseDoubleClickEvent(QMouseEvent *e) 292void KOTodoListView::contentsMouseDoubleClickEvent(QMouseEvent *e)
288{ 293{
289 if (!e) return; 294 if (!e) return;
290 295
291 QPoint vp = contentsToViewport(e->pos()); 296 QPoint vp = contentsToViewport(e->pos());
292 297
293 QListViewItem *item = itemAt(vp); 298 QListViewItem *item = itemAt(vp);
294 299
295 emit double_Clicked(item); 300 emit double_Clicked(item);
296 if (!item) return; 301 if (!item) return;
@@ -311,49 +316,49 @@ void KOQuickTodo::focusInEvent(QFocusEvent *ev)
311 if ( text()==i18n("Click to add a new Todo") ) 316 if ( text()==i18n("Click to add a new Todo") )
312 setText(""); 317 setText("");
313 QLineEdit::focusInEvent(ev); 318 QLineEdit::focusInEvent(ev);
314} 319}
315 320
316void KOQuickTodo::focusOutEvent(QFocusEvent *ev) 321void KOQuickTodo::focusOutEvent(QFocusEvent *ev)
317{ 322{
318 setText(i18n("Click to add a new Todo")); 323 setText(i18n("Click to add a new Todo"));
319 QLineEdit::focusOutEvent(ev); 324 QLineEdit::focusOutEvent(ev);
320} 325}
321 326
322///////////////////////////////////////////////////////////////////////////// 327/////////////////////////////////////////////////////////////////////////////
323 328
324KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) : 329KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) :
325 KOrg::BaseView(calendar,parent,name) 330 KOrg::BaseView(calendar,parent,name)
326{ 331{
327 QBoxLayout *topLayout = new QVBoxLayout(this); 332 QBoxLayout *topLayout = new QVBoxLayout(this);
328 mName = QString ( name ); 333 mName = QString ( name );
329 mBlockUpdate = false; 334 mBlockUpdate = false;
330 mQuickAdd = new KOQuickTodo(this); 335 mQuickAdd = new KOQuickTodo(this);
331 topLayout->addWidget(mQuickAdd); 336 topLayout->addWidget(mQuickAdd);
332 337
333 if ( !KOPrefs::instance()->mEnableQuickTodo ) mQuickAdd->hide(); 338 if ( !KOPrefs::instance()->mEnableQuickTodo ) mQuickAdd->hide();
334 339
335 mTodoListView = new KOTodoListView(calendar,this); 340 mTodoListView = new KOTodoListView(calendar,this, name );
336 topLayout->addWidget(mTodoListView); 341 topLayout->addWidget(mTodoListView);
337 //mTodoListView->header()->setMaximumHeight(30); 342 //mTodoListView->header()->setMaximumHeight(30);
338 mTodoListView->setRootIsDecorated(true); 343 mTodoListView->setRootIsDecorated(true);
339 mTodoListView->setAllColumnsShowFocus(true); 344 mTodoListView->setAllColumnsShowFocus(true);
340 345
341 mTodoListView->setShowSortIndicator(true); 346 mTodoListView->setShowSortIndicator(true);
342 347
343 mTodoListView->addColumn(i18n("Todo")); 348 mTodoListView->addColumn(i18n("Todo"));
344 mTodoListView->addColumn(i18n("Prio")); 349 mTodoListView->addColumn(i18n("Prio"));
345 mTodoListView->setColumnAlignment(1,AlignHCenter); 350 mTodoListView->setColumnAlignment(1,AlignHCenter);
346 mTodoListView->addColumn(i18n("Complete")); 351 mTodoListView->addColumn(i18n("Complete"));
347 mTodoListView->setColumnAlignment(2,AlignHCenter); 352 mTodoListView->setColumnAlignment(2,AlignHCenter);
348 mTodoListView->addColumn(i18n("Due Date")); 353 mTodoListView->addColumn(i18n("Due Date"));
349 mTodoListView->setColumnAlignment(3,AlignLeft); 354 mTodoListView->setColumnAlignment(3,AlignLeft);
350 mTodoListView->addColumn(i18n("Due Time")); 355 mTodoListView->addColumn(i18n("Due Time"));
351 mTodoListView->setColumnAlignment(4,AlignHCenter); 356 mTodoListView->setColumnAlignment(4,AlignHCenter);
352 mTodoListView->addColumn(i18n("Cancelled")); 357 mTodoListView->addColumn(i18n("Cancelled"));
353 mTodoListView->addColumn(i18n("Categories")); 358 mTodoListView->addColumn(i18n("Categories"));
354#if 0 359#if 0
355 mTodoListView->addColumn(i18n("Sort Id")); 360 mTodoListView->addColumn(i18n("Sort Id"));
356 mTodoListView->setColumnAlignment(4,AlignHCenter); 361 mTodoListView->setColumnAlignment(4,AlignHCenter);
357#endif 362#endif
358 363
359 mTodoListView->setMinimumHeight( 60 ); 364 mTodoListView->setMinimumHeight( 60 );
@@ -950,63 +955,61 @@ void KOTodoView::toggleCompleted()
950void KOTodoView::addQuickTodo() 955void KOTodoView::addQuickTodo()
951{ 956{
952 Todo *todo = new Todo(); 957 Todo *todo = new Todo();
953 todo->setSummary(mQuickAdd->text()); 958 todo->setSummary(mQuickAdd->text());
954 todo->setOrganizer(KOPrefs::instance()->email()); 959 todo->setOrganizer(KOPrefs::instance()->email());
955 CalFilter * cf = mCalendar->filter(); 960 CalFilter * cf = mCalendar->filter();
956 if ( cf ) { 961 if ( cf ) {
957 if ( cf->isEnabled()&& cf->showCategories()) { 962 if ( cf->isEnabled()&& cf->showCategories()) {
958 todo->setCategories(cf->categoryList()); 963 todo->setCategories(cf->categoryList());
959 } 964 }
960 if ( cf->isEnabled() ) 965 if ( cf->isEnabled() )
961 todo->setSecrecy( cf->getSecrecy()); 966 todo->setSecrecy( cf->getSecrecy());
962 } 967 }
963 mCalendar->addTodo(todo); 968 mCalendar->addTodo(todo);
964 mQuickAdd->setText(""); 969 mQuickAdd->setText("");
965 todoModified (todo, KOGlobals::EVENTADDED ); 970 todoModified (todo, KOGlobals::EVENTADDED );
966 updateView(); 971 updateView();
967} 972}
968void KOTodoView::keyPressEvent ( QKeyEvent * e ) 973void KOTodoView::keyPressEvent ( QKeyEvent * e )
969{ 974{
970 // e->ignore(); 975 // e->ignore();
971 //return; 976 //return;
972 switch ( e->key() ) { 977 switch ( e->key() ) {
973 case Qt::Key_Down: 978 case Qt::Key_Down:
974 QWidget::keyPressEvent ( e );
975 break;
976
977 case Qt::Key_Up: 979 case Qt::Key_Up:
978 QWidget::keyPressEvent ( e ); 980 QWidget::keyPressEvent ( e );
979 break; 981 break;
982
980 case Qt::Key_Q: 983 case Qt::Key_Q:
981 toggleQuickTodo(); 984 toggleQuickTodo();
982 break; 985 break;
983 986
984 default: 987 default:
985 e->ignore(); 988 e->ignore();
986 } 989 }
987 990
988 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton || ( height() > 150 && width() > 200 ) ) { 991 if ( true ) {
989 if ( e->key() == Qt::Key_I ) { 992 if ( e->key() == Qt::Key_I ) {
990 KOTodoViewItem*cn = (KOTodoViewItem*)mTodoListView->currentItem(); 993 KOTodoViewItem*cn = (KOTodoViewItem*)mTodoListView->currentItem();
991 if ( cn ) { 994 if ( cn ) {
992 mActiveItem = cn; 995 mActiveItem = cn;
993 KOTodoViewItem* ci = (KOTodoViewItem*)( cn ); 996 KOTodoViewItem* ci = (KOTodoViewItem*)( cn );
994 if ( ci ){ 997 if ( ci ){
995 showTodo(); 998 showTodo();
996 cn = (KOTodoViewItem*)cn->itemBelow(); 999 cn = (KOTodoViewItem*)cn->itemBelow();
997 if ( cn ) { 1000 if ( cn ) {
998 mTodoListView->setCurrentItem ( cn ); 1001 mTodoListView->setCurrentItem ( cn );
999 mTodoListView->ensureItemVisible ( cn ); 1002 mTodoListView->ensureItemVisible ( cn );
1000 } 1003 }
1001 1004
1002 } 1005 }
1003 } 1006 }
1004 e->accept(); 1007 e->accept();
1005 1008
1006 } 1009 }
1007 1010
1008 } 1011 }
1009 1012
1010} 1013}
1011void KOTodoView::updateTodo( Todo * t, int type ) 1014void KOTodoView::updateTodo( Todo * t, int type )
1012{ 1015{