summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (show 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
@@ -2151,25 +2151,24 @@ void CalendarView::changeEventDisplay(Event *which, int 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}
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp
index 4cefb26..770a42b 100644
--- a/korganizer/komonthview.cpp
+++ b/korganizer/komonthview.cpp
@@ -964,24 +964,25 @@ void KOMonthView::updateView()
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;
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp
index 8d8fc2a..82437d8 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -325,24 +325,25 @@ void KOQuickTodo::focusInEvent(QFocusEvent *ev)
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);
@@ -524,32 +525,44 @@ KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) :
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 )
diff --git a/korganizer/kotodoview.h b/korganizer/kotodoview.h
index 68e29bb..16bc133 100644
--- a/korganizer/kotodoview.h
+++ b/korganizer/kotodoview.h
@@ -204,24 +204,26 @@ class KOTodoView : public KOrg::BaseView
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;
diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp
index 35774d6..2cd8792 100644
--- a/korganizer/koviewmanager.cpp
+++ b/korganizer/koviewmanager.cpp
@@ -195,51 +195,54 @@ void KOViewManager::showView(KOrg::BaseView *view, bool fullScreen )
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() );
@@ -263,25 +266,25 @@ void KOViewManager::updateView()
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) {
@@ -511,25 +514,27 @@ void KOViewManager::showMonthView()
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(),
diff --git a/korganizer/koviewmanager.h b/korganizer/koviewmanager.h
index 137eb2d..66ab138 100644
--- a/korganizer/koviewmanager.h
+++ b/korganizer/koviewmanager.h
@@ -59,25 +59,25 @@ class KOViewManager : public QObject
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 );