summaryrefslogtreecommitdiffabout
path: root/korganizer
authorzautrix <zautrix>2005-02-01 00:07:00 (UTC)
committer zautrix <zautrix>2005-02-01 00:07:00 (UTC)
commit74c59cea6db3e3a1c0a5922f7fa12ada24f4672b (patch) (unidiff)
tree8fe561a0aa3eca8c1949209c95c286adcd03a9c3 /korganizer
parentfce3fd8accec495a2deda6fe3cd55375fac46432 (diff)
downloadkdepimpi-74c59cea6db3e3a1c0a5922f7fa12ada24f4672b.zip
kdepimpi-74c59cea6db3e3a1c0a5922f7fa12ada24f4672b.tar.gz
kdepimpi-74c59cea6db3e3a1c0a5922f7fa12ada24f4672b.tar.bz2
VINklumpen
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/kotodoview.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp
index 99402c4..da8b4bc 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -29,410 +29,410 @@
29#include <kdebug.h> 29#include <kdebug.h>
30#include "koprefs.h" 30#include "koprefs.h"
31#include <klocale.h> 31#include <klocale.h>
32#include <kglobal.h> 32#include <kglobal.h>
33#include <kiconloader.h> 33#include <kiconloader.h>
34#include <kmessagebox.h> 34#include <kmessagebox.h>
35 35
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 mName = QString ( name );
61 mCalendar = calendar; 61 mCalendar = calendar;
62#ifndef DESKTOP_VERSION 62#ifndef DESKTOP_VERSION
63 QPEApplication::setStylusOperation(viewport(), QPEApplication::RightOnHold ); 63 QPEApplication::setStylusOperation(viewport(), QPEApplication::RightOnHold );
64#endif 64#endif
65 mOldCurrent = 0; 65 mOldCurrent = 0;
66 mMousePressed = false; 66 mMousePressed = false;
67 67
68 setAcceptDrops(true); 68 setAcceptDrops(true);
69 viewport()->setAcceptDrops(true); 69 viewport()->setAcceptDrops(true);
70 int size = 16; 70 int size = 16;
71 if (qApp->desktop()->width() < 300 ) 71 if (qApp->desktop()->width() < 300 )
72 size = 12; 72 size = 12;
73 setTreeStepSize( size + 6 ); 73 setTreeStepSize( size + 6 );
74 74
75} 75}
76 76
77void KOTodoListView::contentsDragEnterEvent(QDragEnterEvent *e) 77void KOTodoListView::contentsDragEnterEvent(QDragEnterEvent *e)
78{ 78{
79#ifndef KORG_NODND 79#ifndef KORG_NODND
80// kdDebug() << "KOTodoListView::contentsDragEnterEvent" << endl; 80// kdDebug() << "KOTodoListView::contentsDragEnterEvent" << endl;
81 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) && 81 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) &&
82 !QTextDrag::canDecode( e ) ) { 82 !QTextDrag::canDecode( e ) ) {
83 e->ignore(); 83 e->ignore();
84 return; 84 return;
85 } 85 }
86 86
87 mOldCurrent = currentItem(); 87 mOldCurrent = currentItem();
88#endif 88#endif
89} 89}
90 90
91 91
92void KOTodoListView::contentsDragMoveEvent(QDragMoveEvent *e) 92void KOTodoListView::contentsDragMoveEvent(QDragMoveEvent *e)
93{ 93{
94#ifndef KORG_NODND 94#ifndef KORG_NODND
95// kdDebug() << "KOTodoListView::contentsDragMoveEvent" << endl; 95// kdDebug() << "KOTodoListView::contentsDragMoveEvent" << endl;
96 96
97 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) && 97 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) &&
98 !QTextDrag::canDecode( e ) ) { 98 !QTextDrag::canDecode( e ) ) {
99 e->ignore(); 99 e->ignore();
100 return; 100 return;
101 } 101 }
102 102
103 e->accept(); 103 e->accept();
104#endif 104#endif
105} 105}
106 106
107void KOTodoListView::contentsDragLeaveEvent(QDragLeaveEvent *) 107void KOTodoListView::contentsDragLeaveEvent(QDragLeaveEvent *)
108{ 108{
109#ifndef KORG_NODND 109#ifndef KORG_NODND
110// kdDebug() << "KOTodoListView::contentsDragLeaveEvent" << endl; 110// kdDebug() << "KOTodoListView::contentsDragLeaveEvent" << endl;
111 111
112 setCurrentItem(mOldCurrent); 112 setCurrentItem(mOldCurrent);
113 setSelected(mOldCurrent,true); 113 setSelected(mOldCurrent,true);
114#endif 114#endif
115} 115}
116 116
117void KOTodoListView::contentsDropEvent(QDropEvent *e) 117void KOTodoListView::contentsDropEvent(QDropEvent *e)
118{ 118{
119#ifndef KORG_NODND 119#ifndef KORG_NODND
120// kdDebug() << "KOTodoListView::contentsDropEvent" << endl; 120// kdDebug() << "KOTodoListView::contentsDropEvent" << endl;
121 121
122 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) && 122 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) &&
123 !QTextDrag::canDecode( e ) ) { 123 !QTextDrag::canDecode( e ) ) {
124 e->ignore(); 124 e->ignore();
125 return; 125 return;
126 } 126 }
127 127
128 DndFactory factory( mCalendar ); 128 DndFactory factory( mCalendar );
129 Todo *todo = factory.createDropTodo(e); 129 Todo *todo = factory.createDropTodo(e);
130 130
131 if (todo) { 131 if (todo) {
132 e->acceptAction(); 132 e->acceptAction();
133 133
134 KOTodoViewItem *destination = 134 KOTodoViewItem *destination =
135 (KOTodoViewItem *)itemAt(contentsToViewport(e->pos())); 135 (KOTodoViewItem *)itemAt(contentsToViewport(e->pos()));
136 Todo *destinationEvent = 0; 136 Todo *destinationEvent = 0;
137 if (destination) destinationEvent = destination->todo(); 137 if (destination) destinationEvent = destination->todo();
138 138
139 Todo *existingTodo = mCalendar->todo(todo->uid()); 139 Todo *existingTodo = mCalendar->todo(todo->uid());
140 140
141 if(existingTodo) { 141 if(existingTodo) {
142 Incidence *to = destinationEvent; 142 Incidence *to = destinationEvent;
143 while(to) { 143 while(to) {
144 if (to->uid() == todo->uid()) { 144 if (to->uid() == todo->uid()) {
145 KMessageBox::sorry(this, 145 KMessageBox::sorry(this,
146 i18n("Cannot move To-Do to itself\nor a child of itself"), 146 i18n("Cannot move To-Do to itself\nor a child of itself"),
147 i18n("Drop To-Do")); 147 i18n("Drop To-Do"));
148 delete todo; 148 delete todo;
149 return; 149 return;
150 } 150 }
151 to = to->relatedTo(); 151 to = to->relatedTo();
152 } 152 }
153 internalDrop = true; 153 internalDrop = true;
154 if ( destinationEvent ) 154 if ( destinationEvent )
155 reparentTodoSignal( destinationEvent, existingTodo ); 155 reparentTodoSignal( destinationEvent, existingTodo );
156 else 156 else
157 unparentTodoSignal(existingTodo); 157 unparentTodoSignal(existingTodo);
158 delete todo; 158 delete todo;
159 } else { 159 } else {
160 mCalendar->addTodo(todo); 160 mCalendar->addTodo(todo);
161 emit todoDropped(todo, KOGlobals::EVENTADDED); 161 emit todoDropped(todo, KOGlobals::EVENTADDED);
162 if ( destinationEvent ) 162 if ( destinationEvent )
163 reparentTodoSignal( destinationEvent, todo ); 163 reparentTodoSignal( destinationEvent, todo );
164 } 164 }
165 } 165 }
166 else { 166 else {
167 QString text; 167 QString text;
168 if (QTextDrag::decode(e,text)) { 168 if (QTextDrag::decode(e,text)) {
169 //QListViewItem *qlvi = itemAt( contentsToViewport(e->pos()) ); 169 //QListViewItem *qlvi = itemAt( contentsToViewport(e->pos()) );
170 KOTodoViewItem *todoi = static_cast<KOTodoViewItem *>(itemAt( contentsToViewport(e->pos()) )); 170 KOTodoViewItem *todoi = static_cast<KOTodoViewItem *>(itemAt( contentsToViewport(e->pos()) ));
171 qDebug("Dropped : " + text); 171 qDebug("Dropped : " + text);
172 QStringList emails = QStringList::split(",",text); 172 QStringList emails = QStringList::split(",",text);
173 for(QStringList::ConstIterator it = emails.begin();it!=emails.end();++it) { 173 for(QStringList::ConstIterator it = emails.begin();it!=emails.end();++it) {
174 int pos = (*it).find("<"); 174 int pos = (*it).find("<");
175 QString name = (*it).left(pos); 175 QString name = (*it).left(pos);
176 QString email = (*it).mid(pos); 176 QString email = (*it).mid(pos);
177 if (!email.isEmpty() && todoi) { 177 if (!email.isEmpty() && todoi) {
178 todoi->todo()->addAttendee(new Attendee(name,email)); 178 todoi->todo()->addAttendee(new Attendee(name,email));
179 } 179 }
180 } 180 }
181 } 181 }
182 else { 182 else {
183 qDebug("KOTodoListView::contentsDropEvent(): Todo from drop not decodable "); 183 qDebug("KOTodoListView::contentsDropEvent(): Todo from drop not decodable ");
184 e->ignore(); 184 e->ignore();
185 } 185 }
186 } 186 }
187#endif 187#endif
188} 188}
189 189
190void KOTodoListView::contentsMousePressEvent(QMouseEvent* e) 190void KOTodoListView::contentsMousePressEvent(QMouseEvent* e)
191{ 191{
192#ifndef KORG_NODND 192#ifndef KORG_NODND
193 QPoint p(contentsToViewport(e->pos())); 193 QPoint p(contentsToViewport(e->pos()));
194 QListViewItem *i = itemAt(p); 194 QListViewItem *i = itemAt(p);
195 mMousePressed = false; 195 mMousePressed = false;
196 if (i) { 196 if (i) {
197 // if the user clicked into the root decoration of the item, don't 197 // if the user clicked into the root decoration of the item, don't
198 // try to start a drag! 198 // try to start a drag!
199 if (p.x() > header()->sectionPos(header()->mapToIndex(0)) + 199 if (p.x() > header()->sectionPos(header()->mapToIndex(0)) +
200 treeStepSize() * (i->depth() + (rootIsDecorated() ? 1 : 0)) + 200 treeStepSize() * (i->depth() + (rootIsDecorated() ? 1 : 0)) +
201 itemMargin() || 201 itemMargin() ||
202 p.x() < header()->sectionPos(header()->mapToIndex(0))) { 202 p.x() < header()->sectionPos(header()->mapToIndex(0))) {
203 if (e->button()==Qt::LeftButton) { 203 if (e->button()==Qt::LeftButton) {
204 mPressPos = e->pos(); 204 mPressPos = e->pos();
205 mMousePressed = true; 205 mMousePressed = true;
206 } 206 }
207 } 207 }
208 } 208 }
209#endif 209#endif
210 QListView::contentsMousePressEvent(e); 210 QListView::contentsMousePressEvent(e);
211} 211}
212void KOTodoListView::paintEvent(QPaintEvent* e) 212void KOTodoListView::paintEvent(QPaintEvent* e)
213{ 213{
214 emit paintNeeded(); 214 emit paintNeeded();
215 QListView::paintEvent( e); 215 QListView::paintEvent( e);
216} 216}
217void KOTodoListView::contentsMouseMoveEvent(QMouseEvent* e) 217void KOTodoListView::contentsMouseMoveEvent(QMouseEvent* e)
218{ 218{
219 219
220#ifndef KORG_NODND 220#ifndef KORG_NODND
221 QListView::contentsMouseMoveEvent(e); 221 //QListView::contentsMouseMoveEvent(e);
222 if (mMousePressed && (mPressPos - e->pos()).manhattanLength() > 222 if (mMousePressed && (mPressPos - e->pos()).manhattanLength() >
223 QApplication::startDragDistance()) { 223 QApplication::startDragDistance()*3) {
224 mMousePressed = false; 224 mMousePressed = false;
225 QListViewItem *item = itemAt(contentsToViewport(mPressPos)); 225 QListViewItem *item = itemAt(contentsToViewport(mPressPos));
226 if (item) { 226 if (item) {
227 DndFactory factory( mCalendar ); 227 DndFactory factory( mCalendar );
228 ICalDrag *vd = factory.createDrag( 228 ICalDrag *vd = factory.createDrag(
229 ((KOTodoViewItem *)item)->todo(),viewport()); 229 ((KOTodoViewItem *)item)->todo(),viewport());
230 internalDrop = false; 230 internalDrop = false;
231 // we cannot do any senseful here, because the DnD is still broken in Qt 231 // we cannot do any senseful here, because the DnD is still broken in Qt
232 if (vd->drag()) { 232 if (vd->drag()) {
233 if ( !internalDrop ) { 233 if ( !internalDrop ) {
234 //emit deleteTodo( ((KOTodoViewItem *)item)->todo() ); 234 //emit deleteTodo( ((KOTodoViewItem *)item)->todo() );
235 qDebug("Dnd: External move: Delete drag source "); 235 qDebug("Dnd: External move: Delete drag source ");
236 } else 236 } else
237 qDebug("Dnd: Internal move "); 237 qDebug("Dnd: Internal move ");
238 238
239 } else { 239 } else {
240 if ( !internalDrop ) { 240 if ( !internalDrop ) {
241 qDebug("Dnd: External Copy"); 241 qDebug("Dnd: External Copy");
242 } else 242 } else
243 qDebug("DnD: Internal copy: Copy pending"); 243 qDebug("DnD: Internal copy: Copy pending");
244 } 244 }
245 } 245 }
246 } 246 }
247#endif 247#endif
248} 248}
249void KOTodoListView::keyPressEvent ( QKeyEvent * e ) 249void KOTodoListView::keyPressEvent ( QKeyEvent * e )
250{ 250{
251 251
252 QListViewItem* cn; 252 QListViewItem* cn;
253 if ( e->key() == Qt::Key_Return || e->key() == Qt::Key_Enter ) { 253 if ( e->key() == Qt::Key_Return || e->key() == Qt::Key_Enter ) {
254 cn = currentItem(); 254 cn = currentItem();
255 if ( cn ) { 255 if ( cn ) {
256 KOTodoViewItem* ci = (KOTodoViewItem*)( cn ); 256 KOTodoViewItem* ci = (KOTodoViewItem*)( cn );
257 if ( ci ){ 257 if ( ci ){
258 if ( e->state() == ShiftButton ) 258 if ( e->state() == ShiftButton )
259 ci->setOn( false ); 259 ci->setOn( false );
260 else 260 else
261 ci->setOn( true ); 261 ci->setOn( true );
262 cn = cn->itemBelow(); 262 cn = cn->itemBelow();
263 if ( cn ) { 263 if ( cn ) {
264 setCurrentItem ( cn ); 264 setCurrentItem ( cn );
265 ensureItemVisible ( cn ); 265 ensureItemVisible ( cn );
266 } 266 }
267 267
268 } 268 }
269 } 269 }
270 270
271 return; 271 return;
272 } 272 }
273 273
274 // qDebug("KOTodoListView::keyPressEvent "); 274 // qDebug("KOTodoListView::keyPressEvent ");
275 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton || mName != "todolistsmall" ) { 275 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton || mName != "todolistsmall" ) {
276 switch ( e->key() ) { 276 switch ( e->key() ) {
277 case Qt::Key_Down: 277 case Qt::Key_Down:
278 case Qt::Key_Up: 278 case Qt::Key_Up:
279 QListView::keyPressEvent ( e ); 279 QListView::keyPressEvent ( e );
280 break; 280 break;
281 case Qt::Key_Left: 281 case Qt::Key_Left:
282 case Qt::Key_Right: 282 case Qt::Key_Right:
283 QListView::keyPressEvent ( e ); 283 QListView::keyPressEvent ( e );
284 e->accept(); 284 e->accept();
285 return; 285 return;
286 break; 286 break;
287 default: 287 default:
288 e->ignore(); 288 e->ignore();
289 break; 289 break;
290 } 290 }
291 return; 291 return;
292 } 292 }
293 e->ignore(); 293 e->ignore();
294} 294}
295void KOTodoListView::contentsMouseReleaseEvent(QMouseEvent *e) 295void KOTodoListView::contentsMouseReleaseEvent(QMouseEvent *e)
296{ 296{
297 QListView::contentsMouseReleaseEvent(e); 297 QListView::contentsMouseReleaseEvent(e);
298 mMousePressed = false; 298 mMousePressed = false;
299} 299}
300 300
301void KOTodoListView::contentsMouseDoubleClickEvent(QMouseEvent *e) 301void KOTodoListView::contentsMouseDoubleClickEvent(QMouseEvent *e)
302{ 302{
303 if (!e) return; 303 if (!e) return;
304 304
305 QPoint vp = contentsToViewport(e->pos()); 305 QPoint vp = contentsToViewport(e->pos());
306 306
307 QListViewItem *item = itemAt(vp); 307 QListViewItem *item = itemAt(vp);
308 308
309 emit double_Clicked(item); 309 emit double_Clicked(item);
310 if (!item) return; 310 if (!item) return;
311 311
312 emit doubleClicked(item,vp,0); 312 emit doubleClicked(item,vp,0);
313} 313}
314 314
315///////////////////////////////////////////////////////////////////////////// 315/////////////////////////////////////////////////////////////////////////////
316 316
317KOQuickTodo::KOQuickTodo(QWidget *parent) : 317KOQuickTodo::KOQuickTodo(QWidget *parent) :
318 QLineEdit(parent) 318 QLineEdit(parent)
319{ 319{
320 setText(i18n("Click to add a new Todo")); 320 setText(i18n("Click to add a new Todo"));
321} 321}
322 322
323void KOQuickTodo::focusInEvent(QFocusEvent *ev) 323void KOQuickTodo::focusInEvent(QFocusEvent *ev)
324{ 324{
325 if ( text()==i18n("Click to add a new Todo") ) 325 if ( text()==i18n("Click to add a new Todo") )
326 setText(""); 326 setText("");
327 QLineEdit::focusInEvent(ev); 327 QLineEdit::focusInEvent(ev);
328} 328}
329 329
330void KOQuickTodo::focusOutEvent(QFocusEvent *ev) 330void KOQuickTodo::focusOutEvent(QFocusEvent *ev)
331{ 331{
332 setText(i18n("Click to add a new Todo")); 332 setText(i18n("Click to add a new Todo"));
333 QLineEdit::focusOutEvent(ev); 333 QLineEdit::focusOutEvent(ev);
334} 334}
335 335
336///////////////////////////////////////////////////////////////////////////// 336/////////////////////////////////////////////////////////////////////////////
337 337
338KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) : 338KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) :
339 KOrg::BaseView(calendar,parent,name) 339 KOrg::BaseView(calendar,parent,name)
340{ 340{
341 mPendingUpdateBeforeRepaint = false; 341 mPendingUpdateBeforeRepaint = false;
342 isFlatDisplay = false; 342 isFlatDisplay = false;
343 mNavigator = 0; 343 mNavigator = 0;
344 QBoxLayout *topLayout = new QVBoxLayout(this); 344 QBoxLayout *topLayout = new QVBoxLayout(this);
345 mName = QString ( name ); 345 mName = QString ( name );
346 mBlockUpdate = false; 346 mBlockUpdate = false;
347 mQuickAdd = new KOQuickTodo(this); 347 mQuickAdd = new KOQuickTodo(this);
348 topLayout->addWidget(mQuickAdd); 348 topLayout->addWidget(mQuickAdd);
349 349
350 if ( !KOPrefs::instance()->mEnableQuickTodo ) mQuickAdd->hide(); 350 if ( !KOPrefs::instance()->mEnableQuickTodo ) mQuickAdd->hide();
351 351
352 mTodoListView = new KOTodoListView(calendar,this, name ); 352 mTodoListView = new KOTodoListView(calendar,this, name );
353 topLayout->addWidget(mTodoListView); 353 topLayout->addWidget(mTodoListView);
354 //mTodoListView->header()->setMaximumHeight(30); 354 //mTodoListView->header()->setMaximumHeight(30);
355 mTodoListView->setRootIsDecorated(true); 355 mTodoListView->setRootIsDecorated(true);
356 mTodoListView->setAllColumnsShowFocus(true); 356 mTodoListView->setAllColumnsShowFocus(true);
357 357
358 mTodoListView->setShowSortIndicator(true); 358 mTodoListView->setShowSortIndicator(true);
359 359
360 mTodoListView->addColumn(i18n("Todo")); 360 mTodoListView->addColumn(i18n("Todo"));
361 mTodoListView->addColumn(i18n("Prio")); 361 mTodoListView->addColumn(i18n("Prio"));
362 mTodoListView->setColumnAlignment(1,AlignHCenter); 362 mTodoListView->setColumnAlignment(1,AlignHCenter);
363 mTodoListView->addColumn(i18n("Complete")); 363 mTodoListView->addColumn(i18n("Complete"));
364 mTodoListView->setColumnAlignment(2,AlignCenter); 364 mTodoListView->setColumnAlignment(2,AlignCenter);
365 365
366 mTodoListView->addColumn(i18n("Due Date")); 366 mTodoListView->addColumn(i18n("Due Date"));
367 mTodoListView->setColumnAlignment(3,AlignLeft); 367 mTodoListView->setColumnAlignment(3,AlignLeft);
368 mTodoListView->addColumn(i18n("Due Time")); 368 mTodoListView->addColumn(i18n("Due Time"));
369 mTodoListView->setColumnAlignment(4,AlignHCenter); 369 mTodoListView->setColumnAlignment(4,AlignHCenter);
370 370
371 mTodoListView->addColumn(i18n("Start Date")); 371 mTodoListView->addColumn(i18n("Start Date"));
372 mTodoListView->setColumnAlignment(5,AlignLeft); 372 mTodoListView->setColumnAlignment(5,AlignLeft);
373 mTodoListView->addColumn(i18n("Start Time")); 373 mTodoListView->addColumn(i18n("Start Time"));
374 mTodoListView->setColumnAlignment(6,AlignHCenter); 374 mTodoListView->setColumnAlignment(6,AlignHCenter);
375 375
376 mTodoListView->addColumn(i18n("Cancelled")); 376 mTodoListView->addColumn(i18n("Cancelled"));
377 mTodoListView->addColumn(i18n("Categories")); 377 mTodoListView->addColumn(i18n("Categories"));
378#if 0 378#if 0
379 mTodoListView->addColumn(i18n("Sort Id")); 379 mTodoListView->addColumn(i18n("Sort Id"));
380 mTodoListView->setColumnAlignment(4,AlignHCenter); 380 mTodoListView->setColumnAlignment(4,AlignHCenter);
381#endif 381#endif
382 382
383 mTodoListView->setMinimumHeight( 60 ); 383 mTodoListView->setMinimumHeight( 60 );
384 mTodoListView->setItemsRenameable( true ); 384 mTodoListView->setItemsRenameable( true );
385 mTodoListView->setRenameable( 0 ); 385 mTodoListView->setRenameable( 0 );
386 mTodoListView->setColumnWidth( 0, 120 ); 386 mTodoListView->setColumnWidth( 0, 120 );
387 mTodoListView->setColumnWidthMode(0, QListView::Manual); 387 mTodoListView->setColumnWidthMode(0, QListView::Manual);
388 mTodoListView->setColumnWidthMode(1, QListView::Manual); 388 mTodoListView->setColumnWidthMode(1, QListView::Manual);
389 mTodoListView->setColumnWidthMode(2, QListView::Manual); 389 mTodoListView->setColumnWidthMode(2, QListView::Manual);
390 mTodoListView->setColumnWidthMode(3, QListView::Manual); 390 mTodoListView->setColumnWidthMode(3, QListView::Manual);
391 mTodoListView->setColumnWidthMode(4, QListView::Manual); 391 mTodoListView->setColumnWidthMode(4, QListView::Manual);
392 mTodoListView->setColumnWidthMode(5, QListView::Manual); 392 mTodoListView->setColumnWidthMode(5, QListView::Manual);
393 mTodoListView->setColumnWidthMode(6, QListView::Manual); 393 mTodoListView->setColumnWidthMode(6, QListView::Manual);
394 mTodoListView->setColumnWidthMode(7, QListView::Manual); 394 mTodoListView->setColumnWidthMode(7, QListView::Manual);
395 mTodoListView->setColumnWidthMode(8, QListView::Manual); 395 mTodoListView->setColumnWidthMode(8, QListView::Manual);
396 396
397 397
398 mPriorityPopupMenu = new QPopupMenu(this); 398 mPriorityPopupMenu = new QPopupMenu(this);
399 for (int i = 1; i <= 5; i++) { 399 for (int i = 1; i <= 5; i++) {
400 QString label = QString ("%1").arg (i); 400 QString label = QString ("%1").arg (i);
401 mPriority[mPriorityPopupMenu->insertItem (label)] = i; 401 mPriority[mPriorityPopupMenu->insertItem (label)] = i;
402 } 402 }
403 connect (mPriorityPopupMenu, SIGNAL(activated (int)), SLOT (setNewPriority(int))); 403 connect (mPriorityPopupMenu, SIGNAL(activated (int)), SLOT (setNewPriority(int)));
404 404
405 mPercentageCompletedPopupMenu = new QPopupMenu(this); 405 mPercentageCompletedPopupMenu = new QPopupMenu(this);
406 for (int i = 0; i <= 100; i+=20) { 406 for (int i = 0; i <= 100; i+=20) {
407 QString label = QString ("%1 %").arg (i); 407 QString label = QString ("%1 %").arg (i);
408 mPercentage[mPercentageCompletedPopupMenu->insertItem (label)] = i; 408 mPercentage[mPercentageCompletedPopupMenu->insertItem (label)] = i;
409 } 409 }
410 connect (mPercentageCompletedPopupMenu, SIGNAL (activated (int)), SLOT (setNewPercentage (int))); 410 connect (mPercentageCompletedPopupMenu, SIGNAL (activated (int)), SLOT (setNewPercentage (int)));
411 411
412 412
413 413
414 mItemPopupMenu = new QPopupMenu(this); 414 mItemPopupMenu = new QPopupMenu(this);
415 mItemPopupMenu->insertItem(i18n("Show..."), this, 415 mItemPopupMenu->insertItem(i18n("Show..."), this,
416 SLOT (showTodo())); 416 SLOT (showTodo()));
417 mItemPopupMenu->insertItem(i18n("Edit..."), this, 417 mItemPopupMenu->insertItem(i18n("Edit..."), this,
418 SLOT (editTodo())); 418 SLOT (editTodo()));
419 mItemPopupMenu->insertItem( i18n("Delete"), this, 419 mItemPopupMenu->insertItem( i18n("Delete"), this,
420 SLOT (deleteTodo())); 420 SLOT (deleteTodo()));
421 mItemPopupMenu->insertItem( i18n("Clone..."), this, 421 mItemPopupMenu->insertItem( i18n("Clone..."), this,
422 SLOT (cloneTodo())); 422 SLOT (cloneTodo()));
423 mItemPopupMenu->insertItem( i18n("Move..."), this, 423 mItemPopupMenu->insertItem( i18n("Move..."), this,
424 SLOT (moveTodo())); 424 SLOT (moveTodo()));
425 mItemPopupMenu->insertItem( i18n("Beam..."), this, 425 mItemPopupMenu->insertItem( i18n("Beam..."), this,
426 SLOT (beamTodo())); 426 SLOT (beamTodo()));
427 mItemPopupMenu->insertItem( i18n("Toggle Cancel"), this, 427 mItemPopupMenu->insertItem( i18n("Toggle Cancel"), this,
428 SLOT (cancelTodo())); 428 SLOT (cancelTodo()));
429 mItemPopupMenu->insertSeparator(); 429 mItemPopupMenu->insertSeparator();
430 430
431 mItemPopupMenu->insertItem( i18n("New Todo..."), this, 431 mItemPopupMenu->insertItem( i18n("New Todo..."), this,
432 SLOT (newTodo())); 432 SLOT (newTodo()));
433 mItemPopupMenu->insertItem(i18n("New Sub-Todo..."), this, 433 mItemPopupMenu->insertItem(i18n("New Sub-Todo..."), this,
434 SLOT (newSubTodo())); 434 SLOT (newSubTodo()));
435 mItemPopupMenu->insertItem(i18n("Unparent Todo"), this, 435 mItemPopupMenu->insertItem(i18n("Unparent Todo"), this,
436 SLOT (unparentTodo()),0,21); 436 SLOT (unparentTodo()),0,21);
437 mItemPopupMenu->insertItem(i18n("Reparent Todo"), this, 437 mItemPopupMenu->insertItem(i18n("Reparent Todo"), this,
438 SLOT (reparentTodo()),0,22); 438 SLOT (reparentTodo()),0,22);