summaryrefslogtreecommitdiffabout
path: root/korganizer
authorzautrix <zautrix>2005-01-31 11:47:44 (UTC)
committer zautrix <zautrix>2005-01-31 11:47:44 (UTC)
commit0ee7cc932ca9c973b086f847a38d29531a815712 (patch) (unidiff)
treec16662cdcfffb31d517ff700aa6dcd13f2f8c643 /korganizer
parent3e0b1c7cd48903b6886e081210cd83b7441b48ac (diff)
downloadkdepimpi-0ee7cc932ca9c973b086f847a38d29531a815712.zip
kdepimpi-0ee7cc932ca9c973b086f847a38d29531a815712.tar.gz
kdepimpi-0ee7cc932ca9c973b086f847a38d29531a815712.tar.bz2
many fixes
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp1
-rw-r--r--korganizer/komonthview.cpp1
-rw-r--r--korganizer/kotodoview.cpp17
-rw-r--r--korganizer/kotodoview.h2
-rw-r--r--korganizer/koviewmanager.cpp13
-rw-r--r--korganizer/koviewmanager.h2
6 files changed, 28 insertions, 8 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index db33017..cca73f2 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -2131,65 +2131,64 @@ void CalendarView::changeIncidenceDisplay(Incidence *which, int action)
2131 mCalendar->checkAlarmForIncidence( 0, true ); 2131 mCalendar->checkAlarmForIncidence( 0, true );
2132 if ( mEventViewerDialog ) 2132 if ( mEventViewerDialog )
2133 mEventViewerDialog->hide(); 2133 mEventViewerDialog->hide();
2134 } 2134 }
2135 else 2135 else
2136 mCalendar->checkAlarmForIncidence( which , false ); 2136 mCalendar->checkAlarmForIncidence( which , false );
2137} 2137}
2138 2138
2139// most of the changeEventDisplays() right now just call the view's 2139// most of the changeEventDisplays() right now just call the view's
2140// total update mode, but they SHOULD be recoded to be more refresh-efficient. 2140// total update mode, but they SHOULD be recoded to be more refresh-efficient.
2141void CalendarView::changeEventDisplay(Event *which, int action) 2141void CalendarView::changeEventDisplay(Event *which, int action)
2142{ 2142{
2143 // kdDebug() << "CalendarView::changeEventDisplay" << endl; 2143 // kdDebug() << "CalendarView::changeEventDisplay" << endl;
2144 changeIncidenceDisplay((Incidence *)which, action); 2144 changeIncidenceDisplay((Incidence *)which, action);
2145 mDateNavigator->updateView(); 2145 mDateNavigator->updateView();
2146 //mDialogManager->updateSearchDialog(); 2146 //mDialogManager->updateSearchDialog();
2147 2147
2148 if (which) { 2148 if (which) {
2149 // If there is an event view visible update the display 2149 // If there is an event view visible update the display
2150 mViewManager->currentView()->changeEventDisplay(which,action); 2150 mViewManager->currentView()->changeEventDisplay(which,action);
2151 // TODO: check, if update needed 2151 // TODO: check, if update needed
2152 // if (which->getTodoStatus()) { 2152 // if (which->getTodoStatus()) {
2153 mTodoList->updateView(); 2153 mTodoList->updateView();
2154 // } 2154 // }
2155 } else { 2155 } else {
2156 mViewManager->currentView()->updateView(); 2156 mViewManager->currentView()->updateView();
2157 } 2157 }
2158} 2158}
2159 2159
2160 2160
2161void CalendarView::updateTodoViews() 2161void CalendarView::updateTodoViews()
2162{ 2162{
2163
2164 mTodoList->updateView(); 2163 mTodoList->updateView();
2165 mViewManager->currentView()->updateView(); 2164 mViewManager->currentView()->updateView();
2166 2165
2167} 2166}
2168 2167
2169 2168
2170void CalendarView::updateView(const QDate &start, const QDate &end) 2169void CalendarView::updateView(const QDate &start, const QDate &end)
2171{ 2170{
2172 mTodoList->updateView(); 2171 mTodoList->updateView();
2173 mViewManager->updateView(start, end); 2172 mViewManager->updateView(start, end);
2174 //mDateNavigator->updateView(); 2173 //mDateNavigator->updateView();
2175} 2174}
2176 2175
2177void CalendarView::updateView() 2176void CalendarView::updateView()
2178{ 2177{
2179 DateList tmpList = mNavigator->selectedDates(); 2178 DateList tmpList = mNavigator->selectedDates();
2180 2179
2181 if ( KOPrefs::instance()->mHideNonStartedTodos ) 2180 if ( KOPrefs::instance()->mHideNonStartedTodos )
2182 mTodoList->updateView(); 2181 mTodoList->updateView();
2183 // We assume that the navigator only selects consecutive days. 2182 // We assume that the navigator only selects consecutive days.
2184 updateView( tmpList.first(), tmpList.last() ); 2183 updateView( tmpList.first(), tmpList.last() );
2185} 2184}
2186 2185
2187void CalendarView::updateUnmanagedViews() 2186void CalendarView::updateUnmanagedViews()
2188{ 2187{
2189 mDateNavigator->updateDayMatrix(); 2188 mDateNavigator->updateDayMatrix();
2190} 2189}
2191 2190
2192int CalendarView::msgItemDelete(const QString name) 2191int CalendarView::msgItemDelete(const QString name)
2193{ 2192{
2194 return KMessageBox::warningContinueCancel(this,name +"\n\n"+ 2193 return KMessageBox::warningContinueCancel(this,name +"\n\n"+
2195 i18n("This item will be\npermanently deleted."), 2194 i18n("This item will be\npermanently deleted."),
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp
index 4cefb26..770a42b 100644
--- a/korganizer/komonthview.cpp
+++ b/korganizer/komonthview.cpp
@@ -944,64 +944,65 @@ void KOMonthView::showDates(const QDate &start, const QDate &)
944void KOMonthView::showEvents(QPtrList<Event>) 944void KOMonthView::showEvents(QPtrList<Event>)
945{ 945{
946 qDebug("KOMonthView::selectEvents is not implemented yet. "); 946 qDebug("KOMonthView::selectEvents is not implemented yet. ");
947} 947}
948 948
949void KOMonthView::changeEventDisplay(Event *, int) 949void KOMonthView::changeEventDisplay(Event *, int)
950{ 950{
951 // this should be re-written to be much more efficient, but this 951 // this should be re-written to be much more efficient, but this
952 // quick-and-dirty-hack gets the job done for right now. 952 // quick-and-dirty-hack gets the job done for right now.
953 updateView(); 953 updateView();
954} 954}
955 955
956void KOMonthView::updateView() 956void KOMonthView::updateView()
957{ 957{
958 958
959 if ( !updatePossible ) 959 if ( !updatePossible )
960 return; 960 return;
961 //qDebug("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ "); 961 //qDebug("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ");
962 int i; 962 int i;
963 for( i = 0; i < mCells.count(); ++i ) { 963 for( i = 0; i < mCells.count(); ++i ) {
964 mCells[i]->updateCell(); 964 mCells[i]->updateCell();
965 } 965 }
966 966
967 //qDebug("KOMonthView::updateView() "); 967 //qDebug("KOMonthView::updateView() ");
968 processSelectionChange(); 968 processSelectionChange();
969 // qDebug("---------------------------------------------------------------------+ "); 969 // qDebug("---------------------------------------------------------------------+ ");
970 mCells[0]->setFocus(); 970 mCells[0]->setFocus();
971} 971}
972 972
973void KOMonthView::resizeEvent(QResizeEvent * e) 973void KOMonthView::resizeEvent(QResizeEvent * e)
974{ 974{
975 computeLayout(); 975 computeLayout();
976 mCells[0]->setFocus();
976} 977}
977void KOMonthView::computeLayout() 978void KOMonthView::computeLayout()
978{ 979{
979 // select the appropriate heading string size. E.g. "Wednesday" or "Wed". 980 // select the appropriate heading string size. E.g. "Wednesday" or "Wed".
980 // note this only changes the text if the requested size crosses the 981 // note this only changes the text if the requested size crosses the
981 // threshold between big enough to support the full name and not big 982 // threshold between big enough to support the full name and not big
982 // enough. 983 // enough.
983 984
984 int daysToShow = 7; 985 int daysToShow = 7;
985 bool combinedSatSun = false; 986 bool combinedSatSun = false;
986 if (mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ) { 987 if (mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ) {
987 daysToShow = 6; 988 daysToShow = 6;
988 combinedSatSun = true; 989 combinedSatSun = true;
989 } 990 }
990 int tWid = topLevelWidget()->size().width(); 991 int tWid = topLevelWidget()->size().width();
991 int tHei = topLevelWidget()->size().height(); 992 int tHei = topLevelWidget()->size().height();
992 993
993 int wid = size().width();//e 994 int wid = size().width();//e
994 int hei = size().height()-1; 995 int hei = size().height()-1;
995 996
996 if ( ((wid *3)/2) < tWid && (( hei *3) /2) < tHei ) 997 if ( ((wid *3)/2) < tWid && (( hei *3) /2) < tHei )
997 return; 998 return;
998 //qDebug("KOMonthView::computeLayout()------------------------------------ "); 999 //qDebug("KOMonthView::computeLayout()------------------------------------ ");
999 QFontMetrics fm ( mWeekLabels[0]->font() ); 1000 QFontMetrics fm ( mWeekLabels[0]->font() );
1000 int weeklabelwid = fm.width( "888" ); 1001 int weeklabelwid = fm.width( "888" );
1001 wid -= weeklabelwid; 1002 wid -= weeklabelwid;
1002 1003
1003 int colWid = wid / daysToShow; 1004 int colWid = wid / daysToShow;
1004 int lastCol = wid - ( colWid*6 ); 1005 int lastCol = wid - ( colWid*6 );
1005 int dayLabelHei = mDayLabels[0]->sizeHint().height(); 1006 int dayLabelHei = mDayLabels[0]->sizeHint().height();
1006 int cellHei = (hei - dayLabelHei) /6; 1007 int cellHei = (hei - dayLabelHei) /6;
1007 int colModulo = wid % daysToShow; 1008 int colModulo = wid % daysToShow;
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp
index 8d8fc2a..82437d8 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -305,64 +305,65 @@ void KOTodoListView::contentsMouseDoubleClickEvent(QMouseEvent *e)
305 emit double_Clicked(item); 305 emit double_Clicked(item);
306 if (!item) return; 306 if (!item) return;
307 307
308 emit doubleClicked(item,vp,0); 308 emit doubleClicked(item,vp,0);
309} 309}
310 310
311///////////////////////////////////////////////////////////////////////////// 311/////////////////////////////////////////////////////////////////////////////
312 312
313KOQuickTodo::KOQuickTodo(QWidget *parent) : 313KOQuickTodo::KOQuickTodo(QWidget *parent) :
314 QLineEdit(parent) 314 QLineEdit(parent)
315{ 315{
316 setText(i18n("Click to add a new Todo")); 316 setText(i18n("Click to add a new Todo"));
317} 317}
318 318
319void KOQuickTodo::focusInEvent(QFocusEvent *ev) 319void KOQuickTodo::focusInEvent(QFocusEvent *ev)
320{ 320{
321 if ( text()==i18n("Click to add a new Todo") ) 321 if ( text()==i18n("Click to add a new Todo") )
322 setText(""); 322 setText("");
323 QLineEdit::focusInEvent(ev); 323 QLineEdit::focusInEvent(ev);
324} 324}
325 325
326void KOQuickTodo::focusOutEvent(QFocusEvent *ev) 326void KOQuickTodo::focusOutEvent(QFocusEvent *ev)
327{ 327{
328 setText(i18n("Click to add a new Todo")); 328 setText(i18n("Click to add a new Todo"));
329 QLineEdit::focusOutEvent(ev); 329 QLineEdit::focusOutEvent(ev);
330} 330}
331 331
332///////////////////////////////////////////////////////////////////////////// 332/////////////////////////////////////////////////////////////////////////////
333 333
334KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) : 334KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) :
335 KOrg::BaseView(calendar,parent,name) 335 KOrg::BaseView(calendar,parent,name)
336{ 336{
337 mPendingUpdateBeforeRepaint = false;
337 isFlatDisplay = false; 338 isFlatDisplay = false;
338 mNavigator = 0; 339 mNavigator = 0;
339 QBoxLayout *topLayout = new QVBoxLayout(this); 340 QBoxLayout *topLayout = new QVBoxLayout(this);
340 mName = QString ( name ); 341 mName = QString ( name );
341 mBlockUpdate = false; 342 mBlockUpdate = false;
342 mQuickAdd = new KOQuickTodo(this); 343 mQuickAdd = new KOQuickTodo(this);
343 topLayout->addWidget(mQuickAdd); 344 topLayout->addWidget(mQuickAdd);
344 345
345 if ( !KOPrefs::instance()->mEnableQuickTodo ) mQuickAdd->hide(); 346 if ( !KOPrefs::instance()->mEnableQuickTodo ) mQuickAdd->hide();
346 347
347 mTodoListView = new KOTodoListView(calendar,this, name ); 348 mTodoListView = new KOTodoListView(calendar,this, name );
348 topLayout->addWidget(mTodoListView); 349 topLayout->addWidget(mTodoListView);
349 //mTodoListView->header()->setMaximumHeight(30); 350 //mTodoListView->header()->setMaximumHeight(30);
350 mTodoListView->setRootIsDecorated(true); 351 mTodoListView->setRootIsDecorated(true);
351 mTodoListView->setAllColumnsShowFocus(true); 352 mTodoListView->setAllColumnsShowFocus(true);
352 353
353 mTodoListView->setShowSortIndicator(true); 354 mTodoListView->setShowSortIndicator(true);
354 355
355 mTodoListView->addColumn(i18n("Todo")); 356 mTodoListView->addColumn(i18n("Todo"));
356 mTodoListView->addColumn(i18n("Prio")); 357 mTodoListView->addColumn(i18n("Prio"));
357 mTodoListView->setColumnAlignment(1,AlignHCenter); 358 mTodoListView->setColumnAlignment(1,AlignHCenter);
358 mTodoListView->addColumn(i18n("Complete")); 359 mTodoListView->addColumn(i18n("Complete"));
359 mTodoListView->setColumnAlignment(2,AlignCenter); 360 mTodoListView->setColumnAlignment(2,AlignCenter);
360 361
361 mTodoListView->addColumn(i18n("Due Date")); 362 mTodoListView->addColumn(i18n("Due Date"));
362 mTodoListView->setColumnAlignment(3,AlignLeft); 363 mTodoListView->setColumnAlignment(3,AlignLeft);
363 mTodoListView->addColumn(i18n("Due Time")); 364 mTodoListView->addColumn(i18n("Due Time"));
364 mTodoListView->setColumnAlignment(4,AlignHCenter); 365 mTodoListView->setColumnAlignment(4,AlignHCenter);
365 366
366 mTodoListView->addColumn(i18n("Start Date")); 367 mTodoListView->addColumn(i18n("Start Date"));
367 mTodoListView->setColumnAlignment(5,AlignLeft); 368 mTodoListView->setColumnAlignment(5,AlignLeft);
368 mTodoListView->addColumn(i18n("Start Time")); 369 mTodoListView->addColumn(i18n("Start Time"));
@@ -504,72 +505,84 @@ KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) :
504#if 0 505#if 0
505 connect(mTodoListView,SIGNAL(selectionChanged(QListViewItem *)), 506 connect(mTodoListView,SIGNAL(selectionChanged(QListViewItem *)),
506 SLOT(selectionChanged(QListViewItem *))); 507 SLOT(selectionChanged(QListViewItem *)));
507 connect(mTodoListView,SIGNAL(clicked(QListViewItem *)), 508 connect(mTodoListView,SIGNAL(clicked(QListViewItem *)),
508 SLOT(selectionChanged(QListViewItem *))); 509 SLOT(selectionChanged(QListViewItem *)));
509 connect(mTodoListView,SIGNAL(pressed(QListViewItem *)), 510 connect(mTodoListView,SIGNAL(pressed(QListViewItem *)),
510 SLOT(selectionChanged(QListViewItem *))); 511 SLOT(selectionChanged(QListViewItem *)));
511#endif 512#endif
512 513
513 connect( mTodoListView, SIGNAL(reparentTodoSignal( Todo *,Todo * ) ), SIGNAL(reparentTodoSignal( Todo *,Todo * ) )); 514 connect( mTodoListView, SIGNAL(reparentTodoSignal( Todo *,Todo * ) ), SIGNAL(reparentTodoSignal( Todo *,Todo * ) ));
514 connect( mTodoListView, SIGNAL(unparentTodoSignal(Todo *) ), SIGNAL(unparentTodoSignal(Todo *) )); 515 connect( mTodoListView, SIGNAL(unparentTodoSignal(Todo *) ), SIGNAL(unparentTodoSignal(Todo *) ));
515 connect( mTodoListView, SIGNAL( deleteTodo(Todo *) ), SIGNAL(deleteTodoSignal(Todo *) )); 516 connect( mTodoListView, SIGNAL( deleteTodo(Todo *) ), SIGNAL(deleteTodoSignal(Todo *) ));
516 517
517 connect( mTodoListView, SIGNAL(selectionChanged() ), 518 connect( mTodoListView, SIGNAL(selectionChanged() ),
518 SLOT( processSelectionChange() ) ); 519 SLOT( processSelectionChange() ) );
519 connect( mQuickAdd, SIGNAL( returnPressed () ), 520 connect( mQuickAdd, SIGNAL( returnPressed () ),
520 SLOT( addQuickTodo() ) ); 521 SLOT( addQuickTodo() ) );
521 522
522} 523}
523 524
524KOTodoView::~KOTodoView() 525KOTodoView::~KOTodoView()
525{ 526{
526 delete mDocPrefs; 527 delete mDocPrefs;
527} 528}
528 529
529void KOTodoView::jumpToDate () 530void KOTodoView::jumpToDate ()
530{ 531{
531 // if (mActiveItem) { 532 // if (mActiveItem) {
532// mActiveItem->todo()); 533// mActiveItem->todo());
533// if ( mActiveItem->todo()->hasDueDate() ) 534// if ( mActiveItem->todo()->hasDueDate() )
534// emit mActiveItem->todo()jumpToTime( mTodo->dtDue().date() ); 535// emit mActiveItem->todo()jumpToTime( mTodo->dtDue().date() );
535} 536}
536 537void KOTodoView::paintEvent(QPaintEvent * pevent)
538{
539 if ( mPendingUpdateBeforeRepaint ) {
540 updateView();
541 mPendingUpdateBeforeRepaint = false;
542 }
543 KOrg::BaseView::paintEvent( pevent);
544}
545 bool mPendingUpdateBeforeRepaint;
537void KOTodoView::updateView() 546void KOTodoView::updateView()
538{ 547{
539 pendingSubtodo = 0; 548 pendingSubtodo = 0;
540 if ( mBlockUpdate ) { 549 if ( mBlockUpdate ) {
541 //qDebug("blocked ");
542 return; 550 return;
543 } 551 }
552 if ( !isVisible() ) {
553 mPendingUpdateBeforeRepaint = true;
554 return;
555 }
556 //qDebug("KOTodoView::updateView() %x", this);
544 if ( isFlatDisplay ) { 557 if ( isFlatDisplay ) {
545 setAllFlat(); 558 setAllFlat();
546 return; 559 return;
547 } 560 }
548 //qDebug("update "); 561 //qDebug("update ");
549// kdDebug() << "KOTodoView::updateView()" << endl; 562// kdDebug() << "KOTodoView::updateView()" << endl;
550 QFont fo = KOPrefs::instance()->mTodoViewFont; 563 QFont fo = KOPrefs::instance()->mTodoViewFont;
551 mTodoListView->clear(); 564 mTodoListView->clear();
552 if ( mName == "todolistsmall" ) { 565 if ( mName == "todolistsmall" ) {
553 if ( KOPrefs::instance()->mTodoViewUsesSmallFont ) { 566 if ( KOPrefs::instance()->mTodoViewUsesSmallFont ) {
554 int ps = fo.pointSize() -2; 567 int ps = fo.pointSize() -2;
555 if ( ps > 12 ) 568 if ( ps > 12 )
556 ps -= 2; 569 ps -= 2;
557 fo.setPointSize( ps ); 570 fo.setPointSize( ps );
558 } 571 }
559 } 572 }
560 573
561 mTodoListView->setFont( fo ); 574 mTodoListView->setFont( fo );
562 // QFontMetrics fm ( KOPrefs::instance()->mTodoViewFont ); 575 // QFontMetrics fm ( KOPrefs::instance()->mTodoViewFont );
563 //mTodoListView->header()->setMaximumHeight(fm.height()); 576 //mTodoListView->header()->setMaximumHeight(fm.height());
564 QPtrList<Todo> todoList = calendar()->todos(); 577 QPtrList<Todo> todoList = calendar()->todos();
565 578
566/* 579/*
567 kdDebug() << "KOTodoView::updateView(): Todo List:" << endl; 580 kdDebug() << "KOTodoView::updateView(): Todo List:" << endl;
568 Event *t; 581 Event *t;
569 for(t = todoList.first(); t; t = todoList.next()) { 582 for(t = todoList.first(); t; t = todoList.next()) {
570 kdDebug() << " " << t->getSummary() << endl; 583 kdDebug() << " " << t->getSummary() << endl;
571 584
572 if (t->getRelatedTo()) { 585 if (t->getRelatedTo()) {
573 kdDebug() << " (related to " << t->getRelatedTo()->getSummary() << ")" << endl; 586 kdDebug() << " (related to " << t->getRelatedTo()->getSummary() << ")" << endl;
574 } 587 }
575 588
diff --git a/korganizer/kotodoview.h b/korganizer/kotodoview.h
index 68e29bb..16bc133 100644
--- a/korganizer/kotodoview.h
+++ b/korganizer/kotodoview.h
@@ -184,64 +184,66 @@ class KOTodoView : public KOrg::BaseView
184 void newSubTodoSignal(Todo *); 184 void newSubTodoSignal(Todo *);
185 void unparentTodoSignal(Todo *); 185 void unparentTodoSignal(Todo *);
186 void reparentTodoSignal( Todo *,Todo * ); 186 void reparentTodoSignal( Todo *,Todo * );
187 void showTodoSignal(Todo *); 187 void showTodoSignal(Todo *);
188 188
189 void editTodoSignal(Todo *); 189 void editTodoSignal(Todo *);
190 void deleteTodoSignal(Todo *); 190 void deleteTodoSignal(Todo *);
191 void todoModifiedSignal (Todo *, int); 191 void todoModifiedSignal (Todo *, int);
192 192
193 void isModified(bool); 193 void isModified(bool);
194 void cloneTodoSignal( Incidence * ); 194 void cloneTodoSignal( Incidence * );
195 void cancelTodoSignal( Incidence * ); 195 void cancelTodoSignal( Incidence * );
196 void moveTodoSignal( Incidence * ); 196 void moveTodoSignal( Incidence * );
197 void beamTodoSignal( Incidence * ); 197 void beamTodoSignal( Incidence * );
198 void purgeCompletedSignal(); 198 void purgeCompletedSignal();
199 199
200 protected slots: 200 protected slots:
201 void processSelectionChange(); 201 void processSelectionChange();
202 void addQuickTodo(); 202 void addQuickTodo();
203 void setTodoModified( Todo* ); 203 void setTodoModified( Todo* );
204 void todoModified(Todo *, int ); 204 void todoModified(Todo *, int );
205 205
206 private: 206 private:
207 /* 207 /*
208 * the TodoEditor approach is rather unscaling in the long 208 * the TodoEditor approach is rather unscaling in the long
209 * run. 209 * run.
210 * Korganizer keeps it in memory and we need to update 210 * Korganizer keeps it in memory and we need to update
211 * 1. make KOTodoViewItem a QObject again? 211 * 1. make KOTodoViewItem a QObject again?
212 * 2. add a public method for setting one todo modified? 212 * 2. add a public method for setting one todo modified?
213 * 3. add a private method for setting a todo modified + friend here? 213 * 3. add a private method for setting a todo modified + friend here?
214 * -- zecke 2002-07-08 214 * -- zecke 2002-07-08
215 */ 215 */
216 void paintEvent(QPaintEvent * pevent);
217 bool mPendingUpdateBeforeRepaint;
216 friend class KOTodoViewItem; 218 friend class KOTodoViewItem;
217 QMap<Todo *,KOTodoViewItem *>::ConstIterator insertTodoItem(Todo *todo); 219 QMap<Todo *,KOTodoViewItem *>::ConstIterator insertTodoItem(Todo *todo);
218 void restoreItemState( QListViewItem * ); 220 void restoreItemState( QListViewItem * );
219 221
220 bool checkTodo( Todo * ); 222 bool checkTodo( Todo * );
221 bool isFlatDisplay; 223 bool isFlatDisplay;
222 void setOpen( QListViewItem*, bool setOpen); 224 void setOpen( QListViewItem*, bool setOpen);
223 KOTodoListView *mTodoListView; 225 KOTodoListView *mTodoListView;
224 QPopupMenu *mItemPopupMenu; 226 QPopupMenu *mItemPopupMenu;
225 QPopupMenu *mPopupMenu; 227 QPopupMenu *mPopupMenu;
226 QPopupMenu *mPriorityPopupMenu; 228 QPopupMenu *mPriorityPopupMenu;
227 QPopupMenu *mPercentageCompletedPopupMenu; 229 QPopupMenu *mPercentageCompletedPopupMenu;
228 QPopupMenu *mCategoryPopupMenu; 230 QPopupMenu *mCategoryPopupMenu;
229 231
230 QMap<int, int> mPercentage; 232 QMap<int, int> mPercentage;
231 QMap<int, int> mPriority; 233 QMap<int, int> mPriority;
232 QMap<int, QString> mCategory; 234 QMap<int, QString> mCategory;
233 KOTodoViewItem *mActiveItem; 235 KOTodoViewItem *mActiveItem;
234 236
235 QMap<Todo *,KOTodoViewItem *> mTodoMap; 237 QMap<Todo *,KOTodoViewItem *> mTodoMap;
236 QString mName; 238 QString mName;
237 239
238 DocPrefs *mDocPrefs; 240 DocPrefs *mDocPrefs;
239 QString mCurrentDoc; 241 QString mCurrentDoc;
240 KOQuickTodo *mQuickAdd; 242 KOQuickTodo *mQuickAdd;
241 bool mBlockUpdate; 243 bool mBlockUpdate;
242 void keyPressEvent ( QKeyEvent * ) ; 244 void keyPressEvent ( QKeyEvent * ) ;
243 KOTodoViewItem * pendingSubtodo; 245 KOTodoViewItem * pendingSubtodo;
244 DateNavigator* mNavigator; 246 DateNavigator* mNavigator;
245}; 247};
246 248
247#endif 249#endif
diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp
index 35774d6..2cd8792 100644
--- a/korganizer/koviewmanager.cpp
+++ b/korganizer/koviewmanager.cpp
@@ -175,133 +175,136 @@ void KOViewManager::writeSettings(KConfig *config)
175 if (mTodoView) { 175 if (mTodoView) {
176 mTodoView->saveLayout(config,"Todo View"); 176 mTodoView->saveLayout(config,"Todo View");
177 } 177 }
178} 178}
179 179
180void KOViewManager::showView(KOrg::BaseView *view, bool fullScreen ) 180void KOViewManager::showView(KOrg::BaseView *view, bool fullScreen )
181{ 181{
182 182
183 //mFlagShowNextxDays = false; 183 //mFlagShowNextxDays = false;
184 //if(view == mCurrentView) return; 184 //if(view == mCurrentView) return;
185 if ( view == 0 ) { 185 if ( view == 0 ) {
186 view = mCurrentView; 186 view = mCurrentView;
187 if ( view == 0 ) 187 if ( view == 0 )
188 return; 188 return;
189 } 189 }
190 bool full = fullScreen; 190 bool full = fullScreen;
191 if(view == mCurrentView && view != mWhatsNextView ) { 191 if(view == mCurrentView && view != mWhatsNextView ) {
192 if ( mCurrentAgendaView < 0 ) 192 if ( mCurrentAgendaView < 0 )
193 return; 193 return;
194 full = mMainView->leftFrame()->isVisible(); 194 full = mMainView->leftFrame()->isVisible();
195 } else { 195 } else {
196 mCurrentView = view; 196 mCurrentView = view;
197 // bool full = fullScreen; 197 // bool full = fullScreen;
198 bool isFull = !mMainView->leftFrame()->isVisible(); 198 bool isFull = !mMainView->leftFrame()->isVisible();
199 if ( isFull && KOPrefs::instance()->mViewChangeHoldFullscreen ) 199 if ( isFull && KOPrefs::instance()->mViewChangeHoldFullscreen )
200 full = true; 200 full = true;
201 if ( !isFull && KOPrefs::instance()->mViewChangeHoldNonFullscreen ) 201 if ( !isFull && KOPrefs::instance()->mViewChangeHoldNonFullscreen )
202 full = false; 202 full = false;
203 } 203 }
204 if ( mAgendaView ) mAgendaView->deleteSelectedDateTime(); 204 if ( mAgendaView ) mAgendaView->deleteSelectedDateTime();
205 //raiseCurrentView( full ); 205 //raiseCurrentView( full );
206 mMainView->processIncidenceSelection( 0 ); 206 mMainView->processIncidenceSelection( 0 );
207 mMainView->updateView(); 207 //mMainView->updateView();
208 raiseCurrentView( full ); 208 raiseCurrentView( full, true );
209 mMainView->adaptNavigationUnits(); 209 mMainView->adaptNavigationUnits();
210} 210}
211 211
212void KOViewManager::raiseCurrentView( bool fullScreen ) 212void KOViewManager::raiseCurrentView( bool fullScreen, bool callUpdateView )
213{ 213{
214 mCurrentAgendaView = 0; 214 mCurrentAgendaView = 0;
215 int wid = mMainView->width() ; 215 int wid = mMainView->width() ;
216 int hei = mMainView->height(); 216 int hei = mMainView->height();
217 if ( mCurrentView == mMonthView ) { 217 if ( mCurrentView == mMonthView ) {
218 mMainView->navigatorBar()->show(); 218 mMainView->navigatorBar()->show();
219 hei -= mMainView->navigatorBar()->sizeHint().height(); 219 hei -= mMainView->navigatorBar()->sizeHint().height();
220 //mMainView->navigatorBar()->hide(); 220 //mMainView->navigatorBar()->hide();
221 } else { 221 } else {
222 mMainView->navigatorBar()->hide(); 222 mMainView->navigatorBar()->hide();
223 } 223 }
224 if ( fullScreen ) { 224 if ( fullScreen ) {
225 mMainView->leftFrame()->hide(); 225 mMainView->leftFrame()->hide();
226 } else { 226 } else {
227 mMainView->leftFrame()->show(); 227 mMainView->leftFrame()->show();
228 if ( KOPrefs::instance()->mVerticalScreen ) 228 if ( KOPrefs::instance()->mVerticalScreen )
229 hei -= mMainView->leftFrame()->height(); 229 hei -= mMainView->leftFrame()->height();
230 else 230 else
231 wid -= mMainView->leftFrame()->width(); 231 wid -= mMainView->leftFrame()->width();
232 } 232 }
233 emit signalFullScreen( !fullScreen ); 233 emit signalFullScreen( !fullScreen );
234 if ( callUpdateView )
235 mMainView->updateView();
236
234 if ( globalFlagBlockAgenda == 5 ) { 237 if ( globalFlagBlockAgenda == 5 ) {
235 globalFlagBlockAgenda = 4; 238 globalFlagBlockAgenda = 4;
236 globalFlagBlockAgendaItemPaint = 1; 239 globalFlagBlockAgendaItemPaint = 1;
237 } 240 }
238 mMainView->viewStack()->raiseWidget(mCurrentView); 241 mMainView->viewStack()->raiseWidget(mCurrentView);
239 if ( globalFlagBlockAgenda == 4 ) { 242 if ( globalFlagBlockAgenda == 4 ) {
240 if ( mCurrentView == mAgendaView ) { 243 if ( mCurrentView == mAgendaView ) {
241 //globalFlagBlockAgenda =1 ; 244 //globalFlagBlockAgenda =1 ;
242 if ( KOPrefs::instance()->mSetTimeToDayStartAt ) 245 if ( KOPrefs::instance()->mSetTimeToDayStartAt )
243 mAgendaView->setStartHour( KOPrefs::instance()->mDayBegins ); 246 mAgendaView->setStartHour( KOPrefs::instance()->mDayBegins );
244 else if ( KOPrefs::instance()->mCenterOnCurrentTime ) 247 else if ( KOPrefs::instance()->mCenterOnCurrentTime )
245 mAgendaView->setStartHour( QTime::currentTime ().hour() ); 248 mAgendaView->setStartHour( QTime::currentTime ().hour() );
246 qApp->processEvents(); 249 qApp->processEvents();
247 //qDebug("qApp->processEvents() "); 250 //qDebug("qApp->processEvents() ");
248 globalFlagBlockAgenda = 0; 251 globalFlagBlockAgenda = 0;
249 mAgendaView->repaintAgenda(); 252 mAgendaView->repaintAgenda();
250 253
251 } 254 }
252 globalFlagBlockAgenda = 0; 255 globalFlagBlockAgenda = 0;
253 } 256 }
254 emit signalAgendaView( mCurrentView == mAgendaView ); 257 emit signalAgendaView( mCurrentView == mAgendaView );
255 //qDebug("raiseCurrentView ende "); 258 //qDebug("raiseCurrentView ende ");
256 259
257} 260}
258 261
259void KOViewManager::updateView() 262void KOViewManager::updateView()
260{ 263{
261 // qDebug("KOViewManager::updateView() "); 264 // qDebug("KOViewManager::updateView() ");
262 // if we are updating mTodoView, we get endless recursion 265 // if we are updating mTodoView, we get endless recursion
263 if ( mTodoView == mCurrentView ) 266 if ( mTodoView == mCurrentView )
264 return; 267 return;
265 if ( mCurrentView ) mCurrentView->updateView(); 268 if ( mCurrentView ) mCurrentView->updateView();
266 269
267} 270}
268 271
269void KOViewManager::updateView(const QDate &start, const QDate &end) 272void KOViewManager::updateView(const QDate &start, const QDate &end)
270{ 273{
271 // kdDebug() << "KOViewManager::updateView()" << endl; 274 // kdDebug() << "KOViewManager::updateView()" << endl;
272 275
273 if (mCurrentView) mCurrentView->showDates(start, end); 276 if (mCurrentView) mCurrentView->showDates(start, end);
274 277
275 if (mTodoView) mTodoView->updateView(); 278 if (mTodoView && mTodoView == mCurrentView ) mTodoView->updateView();
276} 279}
277 280
278 281
279void KOViewManager::updateWNview() 282void KOViewManager::updateWNview()
280{ 283{
281 if ( mCurrentView == mWhatsNextView && mWhatsNextView ) 284 if ( mCurrentView == mWhatsNextView && mWhatsNextView )
282 mWhatsNextView->updateView(); 285 mWhatsNextView->updateView();
283 286
284} 287}
285void KOViewManager::showWhatsNextView() 288void KOViewManager::showWhatsNextView()
286{ 289{
287 if (!mWhatsNextView) { 290 if (!mWhatsNextView) {
288 mWhatsNextView = new KOWhatsNextView(mMainView->calendar(),mMainView->viewStack(), 291 mWhatsNextView = new KOWhatsNextView(mMainView->calendar(),mMainView->viewStack(),
289 "KOViewManager::WhatsNextView"); 292 "KOViewManager::WhatsNextView");
290 mWhatsNextView->setEventViewer( mMainView->getEventViewerDialog()); 293 mWhatsNextView->setEventViewer( mMainView->getEventViewerDialog());
291 connect(mMainView, SIGNAL(configChanged()), mWhatsNextView, SLOT(updateConfig())); 294 connect(mMainView, SIGNAL(configChanged()), mWhatsNextView, SLOT(updateConfig()));
292 addView(mWhatsNextView); 295 addView(mWhatsNextView);
293 connect(this, SIGNAL( printWNV() ), 296 connect(this, SIGNAL( printWNV() ),
294 mWhatsNextView, SLOT( printMe() ) ); 297 mWhatsNextView, SLOT( printMe() ) );
295 } 298 }
296 globalFlagBlockAgenda = 1; 299 globalFlagBlockAgenda = 1;
297 showView(mWhatsNextView, true ); 300 showView(mWhatsNextView, true );
298 //mWhatsNextView->updateView(); 301 //mWhatsNextView->updateView();
299 302
300} 303}
301 304
302void KOViewManager::showListView() 305void KOViewManager::showListView()
303{ 306{
304 if (!mListView) { 307 if (!mListView) {
305 mListView = new KOListView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::ListView"); 308 mListView = new KOListView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::ListView");
306 addView(mListView); 309 addView(mListView);
307 310
@@ -491,65 +494,67 @@ void KOViewManager::showMonthView()
491 mMainView, SLOT(showIncidence(Incidence *))); 494 mMainView, SLOT(showIncidence(Incidence *)));
492 connect(mMonthView, SIGNAL(editIncidenceSignal(Incidence *)), 495 connect(mMonthView, SIGNAL(editIncidenceSignal(Incidence *)),
493 mMainView, SLOT(editIncidence(Incidence *))); 496 mMainView, SLOT(editIncidence(Incidence *)));
494 connect(mMonthView, SIGNAL(deleteIncidenceSignal(Incidence *)), 497 connect(mMonthView, SIGNAL(deleteIncidenceSignal(Incidence *)),
495 mMainView, SLOT(deleteIncidence(Incidence *))); 498 mMainView, SLOT(deleteIncidence(Incidence *)));
496 499
497 connect( mMonthView, SIGNAL( incidenceSelected( Incidence * ) ), 500 connect( mMonthView, SIGNAL( incidenceSelected( Incidence * ) ),
498 mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); 501 mMainView, SLOT( processMainViewSelection( Incidence * ) ) );
499 connect( mMonthView, SIGNAL( cloneIncidenceSignal( Incidence * ) ), 502 connect( mMonthView, SIGNAL( cloneIncidenceSignal( Incidence * ) ),
500 mMainView, SLOT ( cloneIncidence( Incidence * ) ) ); 503 mMainView, SLOT ( cloneIncidence( Incidence * ) ) );
501 connect( mMonthView, SIGNAL( cancelIncidenceSignal( Incidence * ) ), 504 connect( mMonthView, SIGNAL( cancelIncidenceSignal( Incidence * ) ),
502 mMainView, SLOT ( cancelIncidence( Incidence * ) ) ); 505 mMainView, SLOT ( cancelIncidence( Incidence * ) ) );
503 506
504 connect( mMonthView, SIGNAL( moveIncidenceSignal( Incidence * ) ), 507 connect( mMonthView, SIGNAL( moveIncidenceSignal( Incidence * ) ),
505 mMainView, SLOT ( moveIncidence( Incidence * ) ) ); 508 mMainView, SLOT ( moveIncidence( Incidence * ) ) );
506 connect( mMonthView, SIGNAL( beamIncidenceSignal( Incidence * ) ), 509 connect( mMonthView, SIGNAL( beamIncidenceSignal( Incidence * ) ),
507 mMainView, SLOT ( beamIncidence( Incidence * ) ) ); 510 mMainView, SLOT ( beamIncidence( Incidence * ) ) );
508 connect( mMonthView, SIGNAL( selectWeekNum( int ) ), 511 connect( mMonthView, SIGNAL( selectWeekNum( int ) ),
509 mMainView, SLOT ( selectWeekNum( int ) ) ); 512 mMainView, SLOT ( selectWeekNum( int ) ) );
510 connect( mMonthView, SIGNAL( showDaySignal( QDate ) ), 513 connect( mMonthView, SIGNAL( showDaySignal( QDate ) ),
511 mMainView, SLOT ( showDay( QDate ) ) ); 514 mMainView, SLOT ( showDay( QDate ) ) );
512 connect(mMainView, SIGNAL(configChanged()), mMonthView, SLOT(updateConfig())); 515 connect(mMainView, SIGNAL(configChanged()), mMonthView, SLOT(updateConfig()));
513 connect( mMonthView, SIGNAL(nextMonth() ), 516 connect( mMonthView, SIGNAL(nextMonth() ),
514 mMainView->navigatorBar(), SIGNAL(goNextMonth() ) ); 517 mMainView->navigatorBar(), SIGNAL(goNextMonth() ) );
515 connect( mMonthView, SIGNAL(prevMonth() ), 518 connect( mMonthView, SIGNAL(prevMonth() ),
516 mMainView->navigatorBar(), SIGNAL(goPrevMonth() ) ); 519 mMainView->navigatorBar(), SIGNAL(goPrevMonth() ) );
517 mMonthView->updateConfig(); 520 mMonthView->updateConfig();
518 } 521 }
519 522
520 globalFlagBlockAgenda = 1; 523 globalFlagBlockAgenda = 1;
521 //mFlagShowNextxDays = false; 524 //mFlagShowNextxDays = false;
522 // if(mMonthView == mCurrentView) return; 525 // if(mMonthView == mCurrentView) return;
526 mMainView->dateNavigator()->blockSignals( true );
523 mMainView->dateNavigator()->selectMonth(); 527 mMainView->dateNavigator()->selectMonth();
528 mMainView->dateNavigator()->blockSignals( false);
524 // DateList tmpList = mMainView->dateNavigator()->selectedDates( ); 529 // DateList tmpList = mMainView->dateNavigator()->selectedDates( );
525 //mMonthView->showDates(tmpList.first(), tmpList.last()); 530 //mMonthView->showDates(tmpList.first(), tmpList.last());
526 531
527 showView(mMonthView, true ); 532 showView(mMonthView, true );
528 533
529} 534}
530 535
531void KOViewManager::showTodoView() 536void KOViewManager::showTodoView()
532{ 537{
533 //mFlagShowNextxDays = false; 538 //mFlagShowNextxDays = false;
534 if ( !mTodoView ) { 539 if ( !mTodoView ) {
535 mTodoView = new KOTodoView( mMainView->calendar(), mMainView->viewStack(), 540 mTodoView = new KOTodoView( mMainView->calendar(), mMainView->viewStack(),
536 "KOViewManager::TodoView" ); 541 "KOViewManager::TodoView" );
537 542
538 addView( mTodoView ); 543 addView( mTodoView );
539 // QPEApplication::setStylusOperation( mTodoView, QPEApplication::RightOnHold ); 544 // QPEApplication::setStylusOperation( mTodoView, QPEApplication::RightOnHold );
540 545
541 // SIGNALS/SLOTS FOR TODO VIEW 546 // SIGNALS/SLOTS FOR TODO VIEW
542 connect( mTodoView, SIGNAL( newTodoSignal() ), 547 connect( mTodoView, SIGNAL( newTodoSignal() ),
543 mMainView, SLOT( newTodo() ) ); 548 mMainView, SLOT( newTodo() ) );
544 connect( mTodoView, SIGNAL( newSubTodoSignal( Todo * ) ), 549 connect( mTodoView, SIGNAL( newSubTodoSignal( Todo * ) ),
545 mMainView, SLOT( newSubTodo( Todo *) ) ); 550 mMainView, SLOT( newSubTodo( Todo *) ) );
546 connect( mTodoView, SIGNAL( showTodoSignal( Todo *) ), 551 connect( mTodoView, SIGNAL( showTodoSignal( Todo *) ),
547 mMainView, SLOT( showTodo( Todo * ) ) ); 552 mMainView, SLOT( showTodo( Todo * ) ) );
548 connect( mTodoView, SIGNAL( editTodoSignal( Todo * ) ), 553 connect( mTodoView, SIGNAL( editTodoSignal( Todo * ) ),
549 mMainView, SLOT( editTodo( Todo * ) ) ); 554 mMainView, SLOT( editTodo( Todo * ) ) );
550 connect( mTodoView, SIGNAL( deleteTodoSignal( Todo * ) ), 555 connect( mTodoView, SIGNAL( deleteTodoSignal( Todo * ) ),
551 mMainView, SLOT( deleteTodo( Todo * ) ) ); 556 mMainView, SLOT( deleteTodo( Todo * ) ) );
552 connect( mTodoView, SIGNAL( purgeCompletedSignal() ), 557 connect( mTodoView, SIGNAL( purgeCompletedSignal() ),
553 mMainView, SLOT( purgeCompleted() ) ); 558 mMainView, SLOT( purgeCompleted() ) );
554 559
555 connect( mTodoView, SIGNAL( incidenceSelected( Incidence * ) ), 560 connect( mTodoView, SIGNAL( incidenceSelected( Incidence * ) ),
diff --git a/korganizer/koviewmanager.h b/korganizer/koviewmanager.h
index 137eb2d..66ab138 100644
--- a/korganizer/koviewmanager.h
+++ b/korganizer/koviewmanager.h
@@ -39,65 +39,65 @@ class KOWhatsNextView;
39class KOJournalView; 39class KOJournalView;
40 40
41using namespace KCal; 41using namespace KCal;
42 42
43/** 43/**
44 This class manages the views of the calendar. It owns the objects and handles 44 This class manages the views of the calendar. It owns the objects and handles
45 creation and selection. 45 creation and selection.
46*/ 46*/
47class KOViewManager : public QObject 47class KOViewManager : public QObject
48{ 48{
49 Q_OBJECT 49 Q_OBJECT
50 public: 50 public:
51 KOViewManager( CalendarView * ); 51 KOViewManager( CalendarView * );
52 virtual ~KOViewManager(); 52 virtual ~KOViewManager();
53 53
54 /** changes the view to be the currently selected view */ 54 /** changes the view to be the currently selected view */
55 void showView(KOrg::BaseView *, bool fullScreen = false ); 55 void showView(KOrg::BaseView *, bool fullScreen = false );
56 void updateWNview(); 56 void updateWNview();
57 void readSettings(KConfig *config); 57 void readSettings(KConfig *config);
58 void writeSettings(KConfig *config); 58 void writeSettings(KConfig *config);
59 bool showsNextDays(); 59 bool showsNextDays();
60 /** Read which view was shown last from config file */ 60 /** Read which view was shown last from config file */
61 void readCurrentView(KConfig *); 61 void readCurrentView(KConfig *);
62 /** Write which view is currently shown to config file */ 62 /** Write which view is currently shown to config file */
63 void writeCurrentView(KConfig *); 63 void writeCurrentView(KConfig *);
64 64
65 KOrg::BaseView *currentView(); 65 KOrg::BaseView *currentView();
66 66
67 void setDocumentId( const QString & ); 67 void setDocumentId( const QString & );
68 68
69 void updateView( const QDate &start, const QDate &end ); 69 void updateView( const QDate &start, const QDate &end );
70 70
71 void raiseCurrentView( bool fullScreen = false ); 71 void raiseCurrentView( bool fullScreen = false , bool updateView = false);
72 72
73 void addView(KOrg::BaseView *); 73 void addView(KOrg::BaseView *);
74 74
75 Incidence *currentSelection(); 75 Incidence *currentSelection();
76 QDate currentSelectionDate(); 76 QDate currentSelectionDate();
77 77
78 KOAgendaView *agendaView() const { return mAgendaView; } 78 KOAgendaView *agendaView() const { return mAgendaView; }
79 79
80 signals: 80 signals:
81 void printWNV(); 81 void printWNV();
82 void signalFullScreen( bool ); 82 void signalFullScreen( bool );
83 void signalAgendaView( bool ); 83 void signalAgendaView( bool );
84 public slots: 84 public slots:
85 void showDateView( int, QDate ); 85 void showDateView( int, QDate );
86 void updateView(); 86 void updateView();
87 void showWhatsNextView(); 87 void showWhatsNextView();
88 void showListView(); 88 void showListView();
89 void showAgendaView( bool fullScreen = false ); 89 void showAgendaView( bool fullScreen = false );
90 void showDayView(); 90 void showDayView();
91 void showWorkWeekView(); 91 void showWorkWeekView();
92 void showWeekView(); 92 void showWeekView();
93 void showNextXView(); 93 void showNextXView();
94 void showMonthView(); 94 void showMonthView();
95 void showTodoView(); 95 void showTodoView();
96 void showJournalView(); 96 void showJournalView();
97 void showTimeSpanView(); 97 void showTimeSpanView();
98 98
99 private: 99 private:
100 CalendarView *mMainView; 100 CalendarView *mMainView;
101 101
102 int mCurrentAgendaView; 102 int mCurrentAgendaView;
103 KOAgendaView *mAgendaView; 103 KOAgendaView *mAgendaView;