author | zautrix <zautrix> | 2005-02-07 13:03:38 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-02-07 13:03:38 (UTC) |
commit | 7de846e9f01ce27b622541493e6a02e26e37bf2c (patch) (unidiff) | |
tree | df59c7803b1e171b08d3c387f49b1239d1adc3b5 | |
parent | afc19166fcdc09d3d5b757a84abfeb0b2746f35f (diff) | |
download | kdepimpi-7de846e9f01ce27b622541493e6a02e26e37bf2c.zip kdepimpi-7de846e9f01ce27b622541493e6a02e26e37bf2c.tar.gz kdepimpi-7de846e9f01ce27b622541493e6a02e26e37bf2c.tar.bz2 |
fixxxx
-rw-r--r-- | korganizer/calendarview.cpp | 31 | ||||
-rw-r--r-- | korganizer/calendarview.h | 4 | ||||
-rw-r--r-- | korganizer/komonthview.cpp | 47 | ||||
-rw-r--r-- | korganizer/komonthview.h | 4 | ||||
-rw-r--r-- | korganizer/koviewmanager.cpp | 41 | ||||
-rw-r--r-- | korganizer/navigatorbar.cpp | 1 | ||||
-rw-r--r-- | libkdepim/categoryselectdialog.cpp | 3 |
7 files changed, 50 insertions, 81 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 77de94f..0fbaa9a 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp | |||
@@ -240,195 +240,176 @@ void CalendarView::init() | |||
240 | writeLocale(); | 240 | writeLocale(); |
241 | mViewManager = new KOViewManager( this ); | 241 | mViewManager = new KOViewManager( this ); |
242 | mDialogManager = new KODialogManager( this ); | 242 | mDialogManager = new KODialogManager( this ); |
243 | mEventViewerDialog = 0; | 243 | mEventViewerDialog = 0; |
244 | mModified = false; | 244 | mModified = false; |
245 | mReadOnly = false; | 245 | mReadOnly = false; |
246 | mSelectedIncidence = 0; | 246 | mSelectedIncidence = 0; |
247 | mCalPrinter = 0; | 247 | mCalPrinter = 0; |
248 | mFilters.setAutoDelete(true); | 248 | mFilters.setAutoDelete(true); |
249 | 249 | ||
250 | mCalendar->registerObserver( this ); | 250 | mCalendar->registerObserver( this ); |
251 | // TODO: Make sure that view is updated, when calendar is changed. | 251 | // TODO: Make sure that view is updated, when calendar is changed. |
252 | 252 | ||
253 | mStorage = new FileStorage( mCalendar ); | 253 | mStorage = new FileStorage( mCalendar ); |
254 | mNavigator = new DateNavigator( this, "datevav", mViewManager ); | 254 | mNavigator = new DateNavigator( this, "datevav", mViewManager ); |
255 | 255 | ||
256 | QBoxLayout *topLayout = (QBoxLayout*)layout(); | 256 | QBoxLayout *topLayout = (QBoxLayout*)layout(); |
257 | #ifndef KORG_NOSPLITTER | 257 | #ifndef KORG_NOSPLITTER |
258 | // create the main layout frames. | 258 | // create the main layout frames. |
259 | mPanner = new QSplitter(QSplitter::Horizontal,this,"CalendarView::Panner"); | 259 | mPanner = new QSplitter(QSplitter::Horizontal,this,"CalendarView::Panner"); |
260 | topLayout->addWidget(mPanner); | 260 | topLayout->addWidget(mPanner); |
261 | 261 | ||
262 | mLeftSplitter = new QSplitter(QSplitter::Vertical,mPanner, | 262 | mLeftSplitter = new QSplitter(QSplitter::Vertical,mPanner, |
263 | "CalendarView::LeftFrame"); | 263 | "CalendarView::LeftFrame"); |
264 | mPanner->setResizeMode(mLeftSplitter,QSplitter::KeepSize); | 264 | mPanner->setResizeMode(mLeftSplitter,QSplitter::KeepSize); |
265 | 265 | ||
266 | mDateNavigator = new KDateNavigator(mLeftSplitter, mCalendar, TRUE, | 266 | mDateNavigator = new KDateNavigator(mLeftSplitter, mCalendar, TRUE, |
267 | "CalendarView::DateNavigator", QDate::currentDate() ); | 267 | "CalendarView::DateNavigator", QDate::currentDate() ); |
268 | mLeftSplitter->setResizeMode(mDateNavigator,QSplitter::KeepSize); | 268 | mLeftSplitter->setResizeMode(mDateNavigator,QSplitter::KeepSize); |
269 | mTodoList = new KOTodoView(mCalendar, mLeftSplitter, "todolist_small2"); | 269 | mTodoList = new KOTodoView(mCalendar, mLeftSplitter, "todolist_small2"); |
270 | mTodoList->setNavigator( mNavigator ); | 270 | mTodoList->setNavigator( mNavigator ); |
271 | mFilterView = new KOFilterView(&mFilters,mLeftSplitter,"CalendarView::FilterView"); | 271 | mFilterView = new KOFilterView(&mFilters,mLeftSplitter,"CalendarView::FilterView"); |
272 | 272 | ||
273 | #ifdef KORG_NORESOURCEVIEW | 273 | #ifdef KORG_NORESOURCEVIEW |
274 | mResourceView = 0; | 274 | mResourceView = 0; |
275 | #else | 275 | #else |
276 | if ( mResourceManager ) { | 276 | if ( mResourceManager ) { |
277 | mResourceView = new ResourceView( mResourceManager, mLeftSplitter ); | 277 | mResourceView = new ResourceView( mResourceManager, mLeftSplitter ); |
278 | mResourceView->updateView(); | 278 | mResourceView->updateView(); |
279 | connect( mResourceView, SIGNAL( resourcesChanged() ), | 279 | connect( mResourceView, SIGNAL( resourcesChanged() ), |
280 | SLOT( updateView() ) ); | 280 | SLOT( updateView() ) ); |
281 | } else { | 281 | } else { |
282 | mResourceView = 0; | 282 | mResourceView = 0; |
283 | } | 283 | } |
284 | #endif | 284 | #endif |
285 | QWidget *rightBox = new QWidget( mPanner ); | 285 | QWidget *rightBox = new QWidget( mPanner ); |
286 | QBoxLayout *rightLayout = new QVBoxLayout( rightBox ); | 286 | QBoxLayout *rightLayout = new QVBoxLayout( rightBox ); |
287 | 287 | ||
288 | mNavigatorBar = new NavigatorBar( QDate::currentDate(), rightBox, "useBigPixmaps" ); | ||
289 | rightLayout->addWidget( mNavigatorBar ); | ||
290 | |||
291 | mRightFrame = new QWidgetStack( rightBox ); | 288 | mRightFrame = new QWidgetStack( rightBox ); |
292 | rightLayout->addWidget( mRightFrame, 1 ); | 289 | rightLayout->addWidget( mRightFrame, 1 ); |
293 | 290 | ||
294 | mLeftFrame = mLeftSplitter; | 291 | mLeftFrame = mLeftSplitter; |
295 | #else | 292 | #else |
296 | QWidget *mainBox = new QWidget( this ); | 293 | QWidget *mainBox = new QWidget( this ); |
297 | QWidget *leftFrame = new QWidget( mainBox ); | 294 | QWidget *leftFrame = new QWidget( mainBox ); |
298 | 295 | ||
299 | QBoxLayout * mainBoxLayout; | 296 | QBoxLayout * mainBoxLayout; |
300 | QBoxLayout * leftFrameLayout; | 297 | QBoxLayout * leftFrameLayout; |
301 | if ( KOPrefs::instance()->mVerticalScreen ) { | 298 | if ( KOPrefs::instance()->mVerticalScreen ) { |
302 | mainBoxLayout = new QVBoxLayout(mainBox); | 299 | mainBoxLayout = new QVBoxLayout(mainBox); |
303 | leftFrameLayout = new QHBoxLayout(leftFrame ); | 300 | leftFrameLayout = new QHBoxLayout(leftFrame ); |
304 | } else { | 301 | } else { |
305 | mainBoxLayout = new QHBoxLayout(mainBox); | 302 | mainBoxLayout = new QHBoxLayout(mainBox); |
306 | leftFrameLayout = new QVBoxLayout(leftFrame ); | 303 | leftFrameLayout = new QVBoxLayout(leftFrame ); |
307 | } | 304 | } |
308 | topLayout->addWidget( mainBox ); | 305 | topLayout->addWidget( mainBox ); |
309 | mainBoxLayout->addWidget (leftFrame); | 306 | mainBoxLayout->addWidget (leftFrame); |
310 | mDateNavigator = new KDateNavigator(leftFrame, mCalendar, TRUE, | 307 | mDateNavigator = new KDateNavigator(leftFrame, mCalendar, TRUE, |
311 | "CalendarView::DateNavigator", QDate::currentDate()); | 308 | "CalendarView::DateNavigator", QDate::currentDate()); |
312 | // mDateNavigator->blockSignals( true ); | 309 | // mDateNavigator->blockSignals( true ); |
313 | leftFrameLayout->addWidget( mDateNavigator ); | 310 | leftFrameLayout->addWidget( mDateNavigator ); |
314 | mFilterView = new KOFilterView(&mFilters,leftFrame,"CalendarView::FilterView"); | 311 | mFilterView = new KOFilterView(&mFilters,leftFrame,"CalendarView::FilterView"); |
315 | mTodoList = new KOTodoView(mCalendar, leftFrame, "todolistsmall"); | 312 | mTodoList = new KOTodoView(mCalendar, leftFrame, "todolistsmall"); |
316 | mTodoList->setNavigator( mNavigator ); | 313 | mTodoList->setNavigator( mNavigator ); |
317 | 314 | ||
318 | if ( QApplication::desktop()->width() < 480 ) { | 315 | if ( QApplication::desktop()->width() < 480 ) { |
319 | leftFrameLayout->addWidget(mFilterView); | 316 | leftFrameLayout->addWidget(mFilterView); |
320 | leftFrameLayout->addWidget(mTodoList, 2 ); | 317 | leftFrameLayout->addWidget(mTodoList, 2 ); |
321 | 318 | ||
322 | } else { | 319 | } else { |
323 | leftFrameLayout->addWidget(mTodoList,2 ); | 320 | leftFrameLayout->addWidget(mTodoList,2 ); |
324 | leftFrameLayout->addWidget(mFilterView ); | 321 | leftFrameLayout->addWidget(mFilterView ); |
325 | } | 322 | } |
326 | mFilterView->hide(); | 323 | mFilterView->hide(); |
327 | QWidget *rightBox = new QWidget( mainBox ); | 324 | QWidget *rightBox = new QWidget( mainBox ); |
328 | mainBoxLayout->addWidget ( rightBox, 10 ); | 325 | mainBoxLayout->addWidget ( rightBox, 10 ); |
329 | QBoxLayout *rightLayout = new QVBoxLayout( rightBox ); | 326 | QBoxLayout *rightLayout = new QVBoxLayout( rightBox ); |
330 | mNavigatorBar = new NavigatorBar( QDate::currentDate(), rightBox, "useBigPixmaps" ); | ||
331 | mRightFrame = new QWidgetStack( rightBox ); | 327 | mRightFrame = new QWidgetStack( rightBox ); |
332 | rightLayout->addWidget( mNavigatorBar ); | ||
333 | rightLayout->addWidget( mRightFrame, 10 ); | 328 | rightLayout->addWidget( mRightFrame, 10 ); |
334 | 329 | ||
335 | mLeftFrame = leftFrame; | 330 | mLeftFrame = leftFrame; |
336 | if ( KOPrefs::instance()->mVerticalScreen ) { | 331 | if ( KOPrefs::instance()->mVerticalScreen ) { |
337 | mTodoList->setFixedHeight( mDateNavigator->sizeHint().height() ); | 332 | mTodoList->setFixedHeight( mDateNavigator->sizeHint().height() ); |
338 | leftFrame->setFixedHeight( mDateNavigator->sizeHint().height() ); | 333 | leftFrame->setFixedHeight( mDateNavigator->sizeHint().height() ); |
339 | } else { | 334 | } else { |
340 | mTodoList->setFixedWidth( mDateNavigator->sizeHint().width() ); | 335 | mTodoList->setFixedWidth( mDateNavigator->sizeHint().width() ); |
341 | leftFrame->setFixedWidth( mDateNavigator->sizeHint().width() ); | 336 | leftFrame->setFixedWidth( mDateNavigator->sizeHint().width() ); |
342 | } | 337 | } |
343 | if ( !KOPrefs::instance()->mShowDateNavigator) | 338 | if ( !KOPrefs::instance()->mShowDateNavigator) |
344 | mDateNavigator->hide(); | 339 | mDateNavigator->hide(); |
345 | //qDebug("Calendarview Size %d %d ", width(), height()); | 340 | //qDebug("Calendarview Size %d %d ", width(), height()); |
346 | #endif | 341 | #endif |
347 | 342 | ||
348 | connect( mNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ), | 343 | connect( mNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ), |
349 | SLOT( showDates( const KCal::DateList & ) ) ); | 344 | SLOT( showDates( const KCal::DateList & ) ) ); |
350 | 345 | ||
351 | connect( mNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ), | 346 | connect( mNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ), |
352 | mDateNavigator, SLOT( selectDates( const KCal::DateList & ) ) ); | 347 | mDateNavigator, SLOT( selectDates( const KCal::DateList & ) ) ); |
353 | connect( mNavigatorBar, SIGNAL( goPrevYear() ), | ||
354 | mNavigator, SLOT( selectPreviousYear() ) ); | ||
355 | connect( mNavigatorBar, SIGNAL( goNextYear() ), | ||
356 | mNavigator, SLOT( selectNextYear() ) ); | ||
357 | connect( mNavigatorBar, SIGNAL( goPrevMonth() ), | ||
358 | mNavigator, SLOT( selectPreviousMonth() ) ); | ||
359 | connect( mNavigatorBar, SIGNAL( goNextMonth() ), | ||
360 | mNavigator, SLOT( selectNextMonth() ) ); | ||
361 | connect( mNavigatorBar, SIGNAL( selectWeek( int ) ), | ||
362 | mNavigator, SLOT( selectWeek( int ) ) ); | ||
363 | 348 | ||
364 | connect( mNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ), | ||
365 | mNavigatorBar, SLOT( selectDates( const KCal::DateList & ) ) ); | ||
366 | 349 | ||
367 | connect( mDateNavigator, SIGNAL( weekClicked( const QDate & ) ), | 350 | connect( mDateNavigator, SIGNAL( weekClicked( const QDate & ) ), |
368 | mNavigator, SLOT( selectWeek( const QDate & ) ) ); | 351 | mNavigator, SLOT( selectWeek( const QDate & ) ) ); |
369 | 352 | ||
370 | connect( mDateNavigator, SIGNAL( goPrevYear() ), | 353 | connect( mDateNavigator, SIGNAL( goPrevYear() ), |
371 | mNavigator, SLOT( selectPreviousYear() ) ); | 354 | mNavigator, SLOT( selectPreviousYear() ) ); |
372 | connect( mDateNavigator, SIGNAL( goNextYear() ), | 355 | connect( mDateNavigator, SIGNAL( goNextYear() ), |
373 | mNavigator, SLOT( selectNextYear() ) ); | 356 | mNavigator, SLOT( selectNextYear() ) ); |
374 | connect( mDateNavigator, SIGNAL( goPrevMonth() ), | 357 | connect( mDateNavigator, SIGNAL( goPrevMonth() ), |
375 | mNavigator, SLOT( selectPreviousMonth() ) ); | 358 | mNavigator, SLOT( selectPreviousMonth() ) ); |
376 | connect( mDateNavigator, SIGNAL( goNextMonth() ), | 359 | connect( mDateNavigator, SIGNAL( goNextMonth() ), |
377 | mNavigator, SLOT( selectNextMonth() ) ); | 360 | mNavigator, SLOT( selectNextMonth() ) ); |
378 | 361 | ||
379 | connect( mDateNavigator, SIGNAL( goPrevious() ), | 362 | connect( mDateNavigator, SIGNAL( goPrevious() ), |
380 | mNavigator, SLOT( selectPrevious() ) ); | 363 | mNavigator, SLOT( selectPrevious() ) ); |
381 | connect( mDateNavigator, SIGNAL( goNext() ), | 364 | connect( mDateNavigator, SIGNAL( goNext() ), |
382 | mNavigator, SLOT( selectNext() ) ); | 365 | mNavigator, SLOT( selectNext() ) ); |
383 | connect( mDateNavigator, SIGNAL( monthSelected ( int ) ), | 366 | connect( mDateNavigator, SIGNAL( monthSelected ( int ) ), |
384 | mNavigator, SLOT( slotMonthSelect( int ) ) ); | 367 | mNavigator, SLOT( slotMonthSelect( int ) ) ); |
385 | connect( mNavigatorBar, SIGNAL( monthSelected ( int ) ), | ||
386 | mNavigator, SLOT( slotMonthSelect( int ) ) ); | ||
387 | 368 | ||
388 | connect( mDateNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ), | 369 | connect( mDateNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ), |
389 | mNavigator, SLOT( selectDates( const KCal::DateList & ) ) ); | 370 | mNavigator, SLOT( selectDates( const KCal::DateList & ) ) ); |
390 | 371 | ||
391 | connect( mDateNavigator, SIGNAL( eventDropped( Event * ) ), | 372 | connect( mDateNavigator, SIGNAL( eventDropped( Event * ) ), |
392 | SLOT( eventAdded( Event *) ) ); | 373 | SLOT( eventAdded( Event *) ) ); |
393 | 374 | ||
394 | connect(mDateNavigator,SIGNAL(dayPassed(QDate)),SLOT(updateView())); | 375 | connect(mDateNavigator,SIGNAL(dayPassed(QDate)),SLOT(updateView())); |
395 | 376 | ||
396 | connect( this, SIGNAL( configChanged() ), | 377 | connect( this, SIGNAL( configChanged() ), |
397 | mDateNavigator, SLOT( updateConfig() ) ); | 378 | mDateNavigator, SLOT( updateConfig() ) ); |
398 | 379 | ||
399 | connect( mTodoList, SIGNAL( newTodoSignal() ), | 380 | connect( mTodoList, SIGNAL( newTodoSignal() ), |
400 | SLOT( newTodo() ) ); | 381 | SLOT( newTodo() ) ); |
401 | connect( mTodoList, SIGNAL( newSubTodoSignal( Todo *) ), | 382 | connect( mTodoList, SIGNAL( newSubTodoSignal( Todo *) ), |
402 | SLOT( newSubTodo( Todo * ) ) ); | 383 | SLOT( newSubTodo( Todo * ) ) ); |
403 | connect( mTodoList, SIGNAL( editTodoSignal( Todo * ) ), | 384 | connect( mTodoList, SIGNAL( editTodoSignal( Todo * ) ), |
404 | SLOT( editTodo( Todo * ) ) ); | 385 | SLOT( editTodo( Todo * ) ) ); |
405 | connect( mTodoList, SIGNAL( showTodoSignal( Todo * ) ), | 386 | connect( mTodoList, SIGNAL( showTodoSignal( Todo * ) ), |
406 | SLOT( showTodo( Todo *) ) ); | 387 | SLOT( showTodo( Todo *) ) ); |
407 | connect( mTodoList, SIGNAL( deleteTodoSignal( Todo *) ), | 388 | connect( mTodoList, SIGNAL( deleteTodoSignal( Todo *) ), |
408 | SLOT( deleteTodo( Todo *) ) ); | 389 | SLOT( deleteTodo( Todo *) ) ); |
409 | connect( this, SIGNAL( configChanged()), mTodoList, SLOT( updateConfig() ) ); | 390 | connect( this, SIGNAL( configChanged()), mTodoList, SLOT( updateConfig() ) ); |
410 | connect( mTodoList, SIGNAL( purgeCompletedSignal() ), | 391 | connect( mTodoList, SIGNAL( purgeCompletedSignal() ), |
411 | SLOT( purgeCompleted() ) ); | 392 | SLOT( purgeCompleted() ) ); |
412 | connect( mTodoList, SIGNAL( todoModifiedSignal( Todo *, int ) ), | 393 | connect( mTodoList, SIGNAL( todoModifiedSignal( Todo *, int ) ), |
413 | SIGNAL( todoModified( Todo *, int ) ) ); | 394 | SIGNAL( todoModified( Todo *, int ) ) ); |
414 | 395 | ||
415 | connect( mTodoList, SIGNAL( cloneTodoSignal( Incidence * ) ), | 396 | connect( mTodoList, SIGNAL( cloneTodoSignal( Incidence * ) ), |
416 | this, SLOT ( cloneIncidence( Incidence * ) ) ); | 397 | this, SLOT ( cloneIncidence( Incidence * ) ) ); |
417 | connect( mTodoList, SIGNAL( cancelTodoSignal( Incidence * ) ), | 398 | connect( mTodoList, SIGNAL( cancelTodoSignal( Incidence * ) ), |
418 | this, SLOT (cancelIncidence( Incidence * ) ) ); | 399 | this, SLOT (cancelIncidence( Incidence * ) ) ); |
419 | 400 | ||
420 | connect( mTodoList, SIGNAL( moveTodoSignal( Incidence * ) ), | 401 | connect( mTodoList, SIGNAL( moveTodoSignal( Incidence * ) ), |
421 | this, SLOT ( moveIncidence( Incidence * ) ) ); | 402 | this, SLOT ( moveIncidence( Incidence * ) ) ); |
422 | connect( mTodoList, SIGNAL( beamTodoSignal( Incidence * ) ), | 403 | connect( mTodoList, SIGNAL( beamTodoSignal( Incidence * ) ), |
423 | this, SLOT ( beamIncidence( Incidence * ) ) ); | 404 | this, SLOT ( beamIncidence( Incidence * ) ) ); |
424 | 405 | ||
425 | connect( mTodoList, SIGNAL( unparentTodoSignal( Todo * ) ), | 406 | connect( mTodoList, SIGNAL( unparentTodoSignal( Todo * ) ), |
426 | this, SLOT ( todo_unsub( Todo * ) ) ); | 407 | this, SLOT ( todo_unsub( Todo * ) ) ); |
427 | 408 | ||
428 | connect( mTodoList, SIGNAL( reparentTodoSignal( Todo *,Todo * ) ), | 409 | connect( mTodoList, SIGNAL( reparentTodoSignal( Todo *,Todo * ) ), |
429 | this, SLOT ( todo_resub( Todo *,Todo * ) ) ); | 410 | this, SLOT ( todo_resub( Todo *,Todo * ) ) ); |
430 | connect( this, SIGNAL( todoModified( Todo *, int )), mTodoList, | 411 | connect( this, SIGNAL( todoModified( Todo *, int )), mTodoList, |
431 | SLOT( updateTodo( Todo *, int ) ) ); | 412 | SLOT( updateTodo( Todo *, int ) ) ); |
432 | connect( this, SIGNAL( todoModified( Todo *, int )), this, | 413 | connect( this, SIGNAL( todoModified( Todo *, int )), this, |
433 | SLOT( changeTodoDisplay( Todo *, int ) ) ); | 414 | SLOT( changeTodoDisplay( Todo *, int ) ) ); |
434 | 415 | ||
@@ -3823,108 +3804,96 @@ bool CalendarView::removeCompletedSubTodos( Todo* t ) | |||
3823 | for (aTodo = subTodos.first(); aTodo; aTodo = subTodos.next()) { | 3804 | for (aTodo = subTodos.first(); aTodo; aTodo = subTodos.next()) { |
3824 | if (! removeCompletedSubTodos( (Todo*) aTodo )) | 3805 | if (! removeCompletedSubTodos( (Todo*) aTodo )) |
3825 | deleteTodo = false; | 3806 | deleteTodo = false; |
3826 | } | 3807 | } |
3827 | if ( deleteTodo ) { | 3808 | if ( deleteTodo ) { |
3828 | if ( t->isCompleted() ) { | 3809 | if ( t->isCompleted() ) { |
3829 | checkExternalId( t ); | 3810 | checkExternalId( t ); |
3830 | mCalendar->deleteTodo( t ); | 3811 | mCalendar->deleteTodo( t ); |
3831 | changeTodoDisplay( t,KOGlobals::EVENTDELETED ); | 3812 | changeTodoDisplay( t,KOGlobals::EVENTDELETED ); |
3832 | } | 3813 | } |
3833 | else | 3814 | else |
3834 | deleteTodo = false; | 3815 | deleteTodo = false; |
3835 | } | 3816 | } |
3836 | return deleteTodo; | 3817 | return deleteTodo; |
3837 | 3818 | ||
3838 | } | 3819 | } |
3839 | void CalendarView::purgeCompleted() | 3820 | void CalendarView::purgeCompleted() |
3840 | { | 3821 | { |
3841 | int result = KMessageBox::warningContinueCancel(this, | 3822 | int result = KMessageBox::warningContinueCancel(this, |
3842 | i18n("Delete all\ncompleted To-Dos?"),i18n("Purge To-Dos"),i18n("Purge")); | 3823 | i18n("Delete all\ncompleted To-Dos?"),i18n("Purge To-Dos"),i18n("Purge")); |
3843 | 3824 | ||
3844 | if (result == KMessageBox::Continue) { | 3825 | if (result == KMessageBox::Continue) { |
3845 | 3826 | ||
3846 | QPtrList<Todo> todoCal; | 3827 | QPtrList<Todo> todoCal; |
3847 | QPtrList<Todo> rootTodos; | 3828 | QPtrList<Todo> rootTodos; |
3848 | //QPtrList<Incidence> rel; | 3829 | //QPtrList<Incidence> rel; |
3849 | Todo *aTodo;//, *rTodo; | 3830 | Todo *aTodo;//, *rTodo; |
3850 | Incidence *rIncidence; | 3831 | Incidence *rIncidence; |
3851 | bool childDelete = false; | 3832 | bool childDelete = false; |
3852 | bool deletedOne = true; | 3833 | bool deletedOne = true; |
3853 | todoCal = calendar()->todos(); | 3834 | todoCal = calendar()->todos(); |
3854 | for (aTodo = todoCal.first(); aTodo; aTodo = todoCal.next()) { | 3835 | for (aTodo = todoCal.first(); aTodo; aTodo = todoCal.next()) { |
3855 | if ( !aTodo->relatedTo() ) | 3836 | if ( !aTodo->relatedTo() ) |
3856 | rootTodos.append( aTodo ); | 3837 | rootTodos.append( aTodo ); |
3857 | } | 3838 | } |
3858 | for (aTodo = rootTodos.first(); aTodo; aTodo = rootTodos.next()) { | 3839 | for (aTodo = rootTodos.first(); aTodo; aTodo = rootTodos.next()) { |
3859 | removeCompletedSubTodos( aTodo ); | 3840 | removeCompletedSubTodos( aTodo ); |
3860 | } | 3841 | } |
3861 | 3842 | ||
3862 | updateView(); | 3843 | updateView(); |
3863 | } | 3844 | } |
3864 | } | 3845 | } |
3865 | 3846 | ||
3866 | void CalendarView::slotCalendarChanged() | 3847 | void CalendarView::slotCalendarChanged() |
3867 | { | 3848 | { |
3868 | ; | 3849 | ; |
3869 | } | 3850 | } |
3870 | 3851 | ||
3871 | NavigatorBar *CalendarView::navigatorBar() | ||
3872 | { | ||
3873 | return mNavigatorBar; | ||
3874 | } | ||
3875 | void CalendarView::showNavigatorBar( bool b) | ||
3876 | { | ||
3877 | if ( b ) mNavigatorBar->show(); | ||
3878 | else mNavigatorBar->hide(); | ||
3879 | } | ||
3880 | |||
3881 | |||
3882 | |||
3883 | void CalendarView::keyPressEvent ( QKeyEvent *e) | 3852 | void CalendarView::keyPressEvent ( QKeyEvent *e) |
3884 | { | 3853 | { |
3885 | //qDebug(" alendarView::keyPressEvent "); | 3854 | //qDebug(" alendarView::keyPressEvent "); |
3886 | e->ignore(); | 3855 | e->ignore(); |
3887 | } | 3856 | } |
3888 | 3857 | ||
3889 | 3858 | ||
3890 | bool CalendarView::sync(KSyncManager* manager, QString filename, int mode) | 3859 | bool CalendarView::sync(KSyncManager* manager, QString filename, int mode) |
3891 | { | 3860 | { |
3892 | // mSyncManager = manager; | 3861 | // mSyncManager = manager; |
3893 | if ( filename == QDir::homeDirPath ()+"/.kdecalendardump.ics" ) { | 3862 | if ( filename == QDir::homeDirPath ()+"/.kdecalendardump.ics" ) { |
3894 | qDebug("KO: SyncKDE request detected!"); | 3863 | qDebug("KO: SyncKDE request detected!"); |
3895 | } | 3864 | } |
3896 | mCurrentSyncDevice = mSyncManager->getCurrentSyncDevice(); | 3865 | mCurrentSyncDevice = mSyncManager->getCurrentSyncDevice(); |
3897 | mCurrentSyncName = mSyncManager->getCurrentSyncName(); | 3866 | mCurrentSyncName = mSyncManager->getCurrentSyncName(); |
3898 | return syncCalendar( filename, mode ); | 3867 | return syncCalendar( filename, mode ); |
3899 | } | 3868 | } |
3900 | bool CalendarView::syncExternal(KSyncManager* manager, QString resource) | 3869 | bool CalendarView::syncExternal(KSyncManager* manager, QString resource) |
3901 | { | 3870 | { |
3902 | //mSyncManager = manager; | 3871 | //mSyncManager = manager; |
3903 | mCurrentSyncDevice = mSyncManager->getCurrentSyncDevice(); | 3872 | mCurrentSyncDevice = mSyncManager->getCurrentSyncDevice(); |
3904 | mCurrentSyncName = mSyncManager->getCurrentSyncName(); | 3873 | mCurrentSyncName = mSyncManager->getCurrentSyncName(); |
3905 | if ( resource == "sharp" ) | 3874 | if ( resource == "sharp" ) |
3906 | syncExternal( 0 ); | 3875 | syncExternal( 0 ); |
3907 | if ( resource == "phone" ) | 3876 | if ( resource == "phone" ) |
3908 | syncExternal( 1 ); | 3877 | syncExternal( 1 ); |
3909 | // pending setmodified | 3878 | // pending setmodified |
3910 | return true; | 3879 | return true; |
3911 | } | 3880 | } |
3912 | void CalendarView::setSyncManager(KSyncManager* manager) | 3881 | void CalendarView::setSyncManager(KSyncManager* manager) |
3913 | { | 3882 | { |
3914 | mSyncManager = manager; | 3883 | mSyncManager = manager; |
3915 | } | 3884 | } |
3916 | 3885 | ||
3917 | void CalendarView::removeSyncInfo( QString syncProfile) | 3886 | void CalendarView::removeSyncInfo( QString syncProfile) |
3918 | { | 3887 | { |
3919 | qDebug("KO: removeSyncInfo for profile %s ", syncProfile.latin1()); | 3888 | qDebug("KO: removeSyncInfo for profile %s ", syncProfile.latin1()); |
3920 | mCalendar->removeSyncInfo( syncProfile ); | 3889 | mCalendar->removeSyncInfo( syncProfile ); |
3921 | 3890 | ||
3922 | } | 3891 | } |
3923 | 3892 | ||
3924 | void CalendarView::undo_delete() | 3893 | void CalendarView::undo_delete() |
3925 | { | 3894 | { |
3926 | //qDebug("undo_delete() "); | 3895 | //qDebug("undo_delete() "); |
3927 | Incidence* undo = mCalendar->undoIncidence(); | 3896 | Incidence* undo = mCalendar->undoIncidence(); |
3928 | if ( !undo ) { | 3897 | if ( !undo ) { |
3929 | KMessageBox::sorry(this,i18n("There is nothing to undo!"), | 3898 | KMessageBox::sorry(this,i18n("There is nothing to undo!"), |
3930 | i18n("KO/Pi")); | 3899 | i18n("KO/Pi")); |
diff --git a/korganizer/calendarview.h b/korganizer/calendarview.h index 8d7ff36..731298d 100644 --- a/korganizer/calendarview.h +++ b/korganizer/calendarview.h | |||
@@ -12,216 +12,213 @@ | |||
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 | GNU General Public License for more details. | 14 | GNU General Public License for more details. |
15 | 15 | ||
16 | You should have received a copy of the GNU General Public License | 16 | You should have received a copy of the GNU General Public License |
17 | along with this program; if not, write to the Free Software | 17 | along with this program; if not, write to the Free Software |
18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
19 | 19 | ||
20 | As a special exception, permission is given to link this program | 20 | As a special exception, permission is given to link this program |
21 | with any edition of Qt, and distribute the resulting executable, | 21 | with any edition of Qt, and distribute the resulting executable, |
22 | without including the source code for Qt in the source distribution. | 22 | without including the source code for Qt in the source distribution. |
23 | */ | 23 | */ |
24 | #ifndef CALENDARVIEW_H | 24 | #ifndef CALENDARVIEW_H |
25 | #define CALENDARVIEW_H | 25 | #define CALENDARVIEW_H |
26 | 26 | ||
27 | #include <qframe.h> | 27 | #include <qframe.h> |
28 | #include <qlayout.h> | 28 | #include <qlayout.h> |
29 | #include <qwidget.h> | 29 | #include <qwidget.h> |
30 | #include <qptrlist.h> | 30 | #include <qptrlist.h> |
31 | #include <qvbox.h> | 31 | #include <qvbox.h> |
32 | #include <qmap.h> | 32 | #include <qmap.h> |
33 | #ifndef DESKTOP_VERSION | 33 | #ifndef DESKTOP_VERSION |
34 | #include <qtopia/ir.h> | 34 | #include <qtopia/ir.h> |
35 | #else | 35 | #else |
36 | #define Ir char | 36 | #define Ir char |
37 | #endif | 37 | #endif |
38 | #include <libkcal/calendar.h> | 38 | #include <libkcal/calendar.h> |
39 | #include <libkcal/scheduler.h> | 39 | #include <libkcal/scheduler.h> |
40 | #include <libkcal/calendarresources.h> | 40 | #include <libkcal/calendarresources.h> |
41 | #include <libkcal/resourcecalendar.h> | 41 | #include <libkcal/resourcecalendar.h> |
42 | 42 | ||
43 | #include <korganizer/calendarviewbase.h> | 43 | #include <korganizer/calendarviewbase.h> |
44 | 44 | ||
45 | #include <ksyncmanager.h> | 45 | #include <ksyncmanager.h> |
46 | 46 | ||
47 | class QWidgetStack; | 47 | class QWidgetStack; |
48 | class QSplitter; | 48 | class QSplitter; |
49 | 49 | ||
50 | class CalPrinter; | 50 | class CalPrinter; |
51 | class KOFilterView; | 51 | class KOFilterView; |
52 | class KOViewManager; | 52 | class KOViewManager; |
53 | class KODialogManager; | 53 | class KODialogManager; |
54 | class KOTodoView; | 54 | class KOTodoView; |
55 | class KDateNavigator; | 55 | class KDateNavigator; |
56 | class DateNavigator; | 56 | class DateNavigator; |
57 | class KOIncidenceEditor; | 57 | class KOIncidenceEditor; |
58 | class KDatePicker; | 58 | class KDatePicker; |
59 | class ResourceView; | 59 | class ResourceView; |
60 | class NavigatorBar; | ||
61 | class KOEventEditor; | 60 | class KOEventEditor; |
62 | class KOTodoEditor ; | 61 | class KOTodoEditor ; |
63 | class KOEventViewerDialog; | 62 | class KOEventViewerDialog; |
64 | class KOBeamPrefs; | 63 | class KOBeamPrefs; |
65 | class KSyncProfile; | 64 | class KSyncProfile; |
66 | class AlarmDialog; | 65 | class AlarmDialog; |
67 | class KCal::Attendee; | 66 | class KCal::Attendee; |
68 | 67 | ||
69 | namespace KCal { class FileStorage; } | 68 | namespace KCal { class FileStorage; } |
70 | 69 | ||
71 | using namespace KCal; | 70 | using namespace KCal; |
72 | 71 | ||
73 | /** | 72 | /** |
74 | This is the main calendar widget. It provides the different vies on t he | 73 | This is the main calendar widget. It provides the different vies on t he |
75 | calendar data as well as the date navigator. It also handles synchronisation | 74 | calendar data as well as the date navigator. It also handles synchronisation |
76 | of the different views and controls the different dialogs like preferences, | 75 | of the different views and controls the different dialogs like preferences, |
77 | event editor, search dialog etc. | 76 | event editor, search dialog etc. |
78 | 77 | ||
79 | @short main calendar view widget | 78 | @short main calendar view widget |
80 | @author Cornelius Schumacher | 79 | @author Cornelius Schumacher |
81 | */ | 80 | */ |
82 | class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Observer, public KSyncInterface | 81 | class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Observer, public KSyncInterface |
83 | { | 82 | { |
84 | Q_OBJECT | 83 | Q_OBJECT |
85 | public: | 84 | public: |
86 | /** | 85 | /** |
87 | Constructs a new calendar view widget. | 86 | Constructs a new calendar view widget. |
88 | 87 | ||
89 | @param calendar calendar document | 88 | @param calendar calendar document |
90 | @param parent parent window | 89 | @param parent parent window |
91 | @param name Qt internal widget object name | 90 | @param name Qt internal widget object name |
92 | */ | 91 | */ |
93 | CalendarView( CalendarResources *calendar, QWidget *parent = 0, | 92 | CalendarView( CalendarResources *calendar, QWidget *parent = 0, |
94 | const char *name = 0 ); | 93 | const char *name = 0 ); |
95 | CalendarView( Calendar *calendar, QWidget *parent = 0, | 94 | CalendarView( Calendar *calendar, QWidget *parent = 0, |
96 | const char *name = 0 ); | 95 | const char *name = 0 ); |
97 | virtual ~CalendarView(); | 96 | virtual ~CalendarView(); |
98 | 97 | ||
99 | Calendar *calendar() { return mCalendar; } | 98 | Calendar *calendar() { return mCalendar; } |
100 | 99 | ||
101 | KOViewManager *viewManager(); | 100 | KOViewManager *viewManager(); |
102 | KODialogManager *dialogManager(); | 101 | KODialogManager *dialogManager(); |
103 | 102 | ||
104 | QDate startDate(); | 103 | QDate startDate(); |
105 | QDate endDate(); | 104 | QDate endDate(); |
106 | 105 | ||
107 | QWidgetStack *viewStack(); | 106 | QWidgetStack *viewStack(); |
108 | QWidget *leftFrame(); | 107 | QWidget *leftFrame(); |
109 | NavigatorBar *navigatorBar(); | ||
110 | 108 | ||
111 | DateNavigator *dateNavigator(); | 109 | DateNavigator *dateNavigator(); |
112 | KDateNavigator *dateNavigatorWidget(); | 110 | KDateNavigator *dateNavigatorWidget(); |
113 | 111 | ||
114 | void addView(KOrg::BaseView *); | 112 | void addView(KOrg::BaseView *); |
115 | void showView(KOrg::BaseView *); | 113 | void showView(KOrg::BaseView *); |
116 | KOEventViewerDialog* getEventViewerDialog(); | 114 | KOEventViewerDialog* getEventViewerDialog(); |
117 | Incidence *currentSelection(); | 115 | Incidence *currentSelection(); |
118 | 116 | ||
119 | signals: | 117 | signals: |
120 | void save (); | 118 | void save (); |
121 | void saveStopTimer (); | 119 | void saveStopTimer (); |
122 | void tempDisableBR(bool); | 120 | void tempDisableBR(bool); |
123 | /** This todo has been modified */ | 121 | /** This todo has been modified */ |
124 | void todoModified(Todo *, int); | 122 | void todoModified(Todo *, int); |
125 | 123 | ||
126 | /** when change is made to options dialog, the topwidget will catch this | 124 | /** when change is made to options dialog, the topwidget will catch this |
127 | * and emit this signal which notifies all widgets which have registered | 125 | * and emit this signal which notifies all widgets which have registered |
128 | * for notification to update their settings. */ | 126 | * for notification to update their settings. */ |
129 | void configChanged(); | 127 | void configChanged(); |
130 | /** emitted when the topwidget is closing down, so that any attached | 128 | /** emitted when the topwidget is closing down, so that any attached |
131 | child windows can also close. */ | 129 | child windows can also close. */ |
132 | void closingDown(); | 130 | void closingDown(); |
133 | /** emitted right before we die */ | 131 | /** emitted right before we die */ |
134 | void closed(QWidget *); | 132 | void closed(QWidget *); |
135 | 133 | ||
136 | /** Emitted when state of modified flag changes */ | 134 | /** Emitted when state of modified flag changes */ |
137 | void modifiedChanged(bool); | 135 | void modifiedChanged(bool); |
138 | void signalmodified(); | 136 | void signalmodified(); |
139 | 137 | ||
140 | /** Emitted when state of read-only flag changes */ | 138 | /** Emitted when state of read-only flag changes */ |
141 | void readOnlyChanged(bool); | 139 | void readOnlyChanged(bool); |
142 | 140 | ||
143 | /** Emitted when the unit of navigation changes */ | 141 | /** Emitted when the unit of navigation changes */ |
144 | void changeNavStringPrev(const QString &); | 142 | void changeNavStringPrev(const QString &); |
145 | void changeNavStringNext(const QString &); | 143 | void changeNavStringNext(const QString &); |
146 | 144 | ||
147 | /** Emitted when state of events selection has changed and user is organizer*/ | 145 | /** Emitted when state of events selection has changed and user is organizer*/ |
148 | void organizerEventsSelected(bool); | 146 | void organizerEventsSelected(bool); |
149 | /** Emitted when state of events selection has changed and user is attendee*/ | 147 | /** Emitted when state of events selection has changed and user is attendee*/ |
150 | void groupEventsSelected(bool); | 148 | void groupEventsSelected(bool); |
151 | /** | 149 | /** |
152 | Emitted when an incidence gets selected. If the selection is cleared the | 150 | Emitted when an incidence gets selected. If the selection is cleared the |
153 | signal is emitted with 0 as argument. | 151 | signal is emitted with 0 as argument. |
154 | */ | 152 | */ |
155 | void incidenceSelected( Incidence * ); | 153 | void incidenceSelected( Incidence * ); |
156 | /** Emitted, when a todoitem is selected or deselected. */ | 154 | /** Emitted, when a todoitem is selected or deselected. */ |
157 | void todoSelected( bool ); | 155 | void todoSelected( bool ); |
158 | 156 | ||
159 | /** | 157 | /** |
160 | Emitted, when clipboard content changes. Parameter indicates if paste | 158 | Emitted, when clipboard content changes. Parameter indicates if paste |
161 | is possible or not. | 159 | is possible or not. |
162 | */ | 160 | */ |
163 | void pasteEnabled(bool); | 161 | void pasteEnabled(bool); |
164 | 162 | ||
165 | /** Emitted, when the number of incoming messages has changed. */ | 163 | /** Emitted, when the number of incoming messages has changed. */ |
166 | void numIncomingChanged(int); | 164 | void numIncomingChanged(int); |
167 | 165 | ||
168 | /** Emitted, when the number of outgoing messages has changed. */ | 166 | /** Emitted, when the number of outgoing messages has changed. */ |
169 | void numOutgoingChanged(int); | 167 | void numOutgoingChanged(int); |
170 | 168 | ||
171 | /** Send status message, which can e.g. be displayed in the status bar. */ | 169 | /** Send status message, which can e.g. be displayed in the status bar. */ |
172 | void statusMessage(const QString &); | 170 | void statusMessage(const QString &); |
173 | 171 | ||
174 | void calendarViewExpanded( bool ); | 172 | void calendarViewExpanded( bool ); |
175 | void updateSearchDialog(); | 173 | void updateSearchDialog(); |
176 | 174 | ||
177 | 175 | ||
178 | public slots: | 176 | public slots: |
179 | void showNavigatorBar(bool); | ||
180 | void showOpenError(); | 177 | void showOpenError(); |
181 | void watchSavedFile(); | 178 | void watchSavedFile(); |
182 | void recheckTimerAlarm(); | 179 | void recheckTimerAlarm(); |
183 | void checkNextTimerAlarm(); | 180 | void checkNextTimerAlarm(); |
184 | void addAlarm(const QDateTime &qdt, const QString ¬i ); | 181 | void addAlarm(const QDateTime &qdt, const QString ¬i ); |
185 | void addSuspendAlarm(const QDateTime &qdt, const QString ¬i ); | 182 | void addSuspendAlarm(const QDateTime &qdt, const QString ¬i ); |
186 | void removeAlarm(const QDateTime &qdt, const QString ¬i ); | 183 | void removeAlarm(const QDateTime &qdt, const QString ¬i ); |
187 | 184 | ||
188 | /** options dialog made a changed to the configuration. we catch this | 185 | /** options dialog made a changed to the configuration. we catch this |
189 | * and notify all widgets which need to update their configuration. */ | 186 | * and notify all widgets which need to update their configuration. */ |
190 | void updateConfig(); | 187 | void updateConfig(); |
191 | 188 | ||
192 | void insertBirthdays(const QString& uid, const QStringList& birthdayList, | 189 | void insertBirthdays(const QString& uid, const QStringList& birthdayList, |
193 | const QStringList& anniversaryList, const QStringList& realNameList, | 190 | const QStringList& anniversaryList, const QStringList& realNameList, |
194 | const QStringList& emailList, const QStringList& assembledNameList, | 191 | const QStringList& emailList, const QStringList& assembledNameList, |
195 | const QStringList& uidList); | 192 | const QStringList& uidList); |
196 | 193 | ||
197 | /** | 194 | /** |
198 | Load calendar from file \a filename. If \a merge is true, load | 195 | Load calendar from file \a filename. If \a merge is true, load |
199 | calendar into existing one, if it is false, clear calendar, before | 196 | calendar into existing one, if it is false, clear calendar, before |
200 | loading. Return true, if calendar could be successfully loaded. | 197 | loading. Return true, if calendar could be successfully loaded. |
201 | */ | 198 | */ |
202 | bool openCalendar(QString filename, bool merge=false); | 199 | bool openCalendar(QString filename, bool merge=false); |
203 | bool syncCalendar(QString filename,int mode = 0 ); | 200 | bool syncCalendar(QString filename,int mode = 0 ); |
204 | 201 | ||
205 | /** | 202 | /** |
206 | Save calendar data to file. Return true if calendar could be | 203 | Save calendar data to file. Return true if calendar could be |
207 | successfully saved. | 204 | successfully saved. |
208 | */ | 205 | */ |
209 | bool saveCalendar(QString filename); | 206 | bool saveCalendar(QString filename); |
210 | 207 | ||
211 | /** | 208 | /** |
212 | Close calendar. Clear calendar data and reset views to display an empty | 209 | Close calendar. Clear calendar data and reset views to display an empty |
213 | calendar. | 210 | calendar. |
214 | */ | 211 | */ |
215 | void closeCalendar(); | 212 | void closeCalendar(); |
216 | 213 | ||
217 | /** Archive old events of calendar */ | 214 | /** Archive old events of calendar */ |
218 | void archiveCalendar(); | 215 | void archiveCalendar(); |
219 | 216 | ||
220 | void showIncidence(); | 217 | void showIncidence(); |
221 | void editIncidence(); | 218 | void editIncidence(); |
222 | void editIncidenceDescription(); | 219 | void editIncidenceDescription(); |
223 | void deleteIncidence(); | 220 | void deleteIncidence(); |
224 | void cloneIncidence(); | 221 | void cloneIncidence(); |
225 | void moveIncidence(); | 222 | void moveIncidence(); |
226 | void beamIncidence(); | 223 | void beamIncidence(); |
227 | void toggleCancelIncidence(); | 224 | void toggleCancelIncidence(); |
@@ -488,97 +485,96 @@ class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Obser | |||
488 | void setBlockShowDates( bool b ) { mBlockShowDates = b ;} | 485 | void setBlockShowDates( bool b ) { mBlockShowDates = b ;} |
489 | protected: | 486 | protected: |
490 | void schedule(Scheduler::Method, Incidence *incidence = 0); | 487 | void schedule(Scheduler::Method, Incidence *incidence = 0); |
491 | 488 | ||
492 | // returns KMsgBox::OKCandel() | 489 | // returns KMsgBox::OKCandel() |
493 | int msgItemDelete(const QString name); | 490 | int msgItemDelete(const QString name); |
494 | void showEventEditor(); | 491 | void showEventEditor(); |
495 | void showTodoEditor(); | 492 | void showTodoEditor(); |
496 | void writeLocale(); | 493 | void writeLocale(); |
497 | Todo *selectedTodo(); | 494 | Todo *selectedTodo(); |
498 | 495 | ||
499 | private: | 496 | private: |
500 | bool mBlockShowDates; | 497 | bool mBlockShowDates; |
501 | KSyncManager* mSyncManager; | 498 | KSyncManager* mSyncManager; |
502 | AlarmDialog * mAlarmDialog; | 499 | AlarmDialog * mAlarmDialog; |
503 | QString mAlarmNotification; | 500 | QString mAlarmNotification; |
504 | QString mSuspendAlarmNotification; | 501 | QString mSuspendAlarmNotification; |
505 | QTimer* mSuspendTimer; | 502 | QTimer* mSuspendTimer; |
506 | QTimer* mAlarmTimer; | 503 | QTimer* mAlarmTimer; |
507 | QTimer* mRecheckAlarmTimer; | 504 | QTimer* mRecheckAlarmTimer; |
508 | void computeAlarm( QString ); | 505 | void computeAlarm( QString ); |
509 | void startAlarm( QString, QString ); | 506 | void startAlarm( QString, QString ); |
510 | void setSyncEventsReadOnly(); | 507 | void setSyncEventsReadOnly(); |
511 | 508 | ||
512 | QDateTime loadedFileVersion; | 509 | QDateTime loadedFileVersion; |
513 | void checkExternSyncEvent( QPtrList<Event> lastSync , Incidence* toDelete ); | 510 | void checkExternSyncEvent( QPtrList<Event> lastSync , Incidence* toDelete ); |
514 | void checkExternalId( Incidence * inc ); | 511 | void checkExternalId( Incidence * inc ); |
515 | int mGlobalSyncMode; | 512 | int mGlobalSyncMode; |
516 | QString mCurrentSyncDevice; | 513 | QString mCurrentSyncDevice; |
517 | QString mCurrentSyncName; | 514 | QString mCurrentSyncName; |
518 | KOBeamPrefs* beamDialog; | 515 | KOBeamPrefs* beamDialog; |
519 | void init(); | 516 | void init(); |
520 | int mDatePickerMode; | 517 | int mDatePickerMode; |
521 | bool mFlagEditDescription; | 518 | bool mFlagEditDescription; |
522 | QDateTime mLastCalendarSync; | 519 | QDateTime mLastCalendarSync; |
523 | void createPrinter(); | 520 | void createPrinter(); |
524 | 521 | ||
525 | void calendarModified( bool, Calendar * ); | 522 | void calendarModified( bool, Calendar * ); |
526 | 523 | ||
527 | CalPrinter *mCalPrinter; | 524 | CalPrinter *mCalPrinter; |
528 | 525 | ||
529 | QSplitter *mPanner; | 526 | QSplitter *mPanner; |
530 | QSplitter *mLeftSplitter; | 527 | QSplitter *mLeftSplitter; |
531 | QWidget *mLeftFrame; | 528 | QWidget *mLeftFrame; |
532 | QWidgetStack *mRightFrame; | 529 | QWidgetStack *mRightFrame; |
533 | 530 | ||
534 | KDatePicker* mDatePicker; | 531 | KDatePicker* mDatePicker; |
535 | QVBox* mDateFrame; | 532 | QVBox* mDateFrame; |
536 | NavigatorBar *mNavigatorBar; | ||
537 | 533 | ||
538 | KDateNavigator *mDateNavigator; // widget showing small month view. | 534 | KDateNavigator *mDateNavigator; // widget showing small month view. |
539 | 535 | ||
540 | KOFilterView *mFilterView; | 536 | KOFilterView *mFilterView; |
541 | 537 | ||
542 | ResourceView *mResourceView; | 538 | ResourceView *mResourceView; |
543 | 539 | ||
544 | // calendar object for this viewing instance | 540 | // calendar object for this viewing instance |
545 | Calendar *mCalendar; | 541 | Calendar *mCalendar; |
546 | 542 | ||
547 | CalendarResourceManager *mResourceManager; | 543 | CalendarResourceManager *mResourceManager; |
548 | 544 | ||
549 | FileStorage *mStorage; | 545 | FileStorage *mStorage; |
550 | 546 | ||
551 | DateNavigator *mNavigator; | 547 | DateNavigator *mNavigator; |
552 | 548 | ||
553 | KOViewManager *mViewManager; | 549 | KOViewManager *mViewManager; |
554 | KODialogManager *mDialogManager; | 550 | KODialogManager *mDialogManager; |
555 | 551 | ||
556 | // Calendar filters | 552 | // Calendar filters |
557 | QPtrList<CalFilter> mFilters; | 553 | QPtrList<CalFilter> mFilters; |
558 | 554 | ||
559 | // various housekeeping variables. | 555 | // various housekeeping variables. |
560 | bool mModified; // flag indicating if calendar is modified | 556 | bool mModified; // flag indicating if calendar is modified |
561 | bool mReadOnly; // flag indicating if calendar is read-only | 557 | bool mReadOnly; // flag indicating if calendar is read-only |
562 | QDate mSaveSingleDate; | 558 | QDate mSaveSingleDate; |
563 | 559 | ||
564 | Incidence *mSelectedIncidence; | 560 | Incidence *mSelectedIncidence; |
565 | Incidence *mMoveIncidence; | 561 | Incidence *mMoveIncidence; |
566 | QDate mMoveIncidenceOldDate; | 562 | QDate mMoveIncidenceOldDate; |
567 | KOTodoView *mTodoList; | 563 | KOTodoView *mTodoList; |
568 | KOEventEditor * mEventEditor; | 564 | KOEventEditor * mEventEditor; |
569 | KOTodoEditor * mTodoEditor; | 565 | KOTodoEditor * mTodoEditor; |
570 | KOEventViewerDialog * mEventViewerDialog; | 566 | KOEventViewerDialog * mEventViewerDialog; |
571 | void keyPressEvent ( QKeyEvent *e) ; | 567 | void keyPressEvent ( QKeyEvent *e) ; |
572 | //QMap<Incidence*,KOIncidenceEditor*> mDialogList; | 568 | //QMap<Incidence*,KOIncidenceEditor*> mDialogList; |
573 | }; | 569 | }; |
574 | 570 | ||
575 | 571 | ||
576 | class CalendarViewVisitor : public Incidence::Visitor | 572 | class CalendarViewVisitor : public Incidence::Visitor |
577 | { | 573 | { |
578 | public: | 574 | public: |
579 | CalendarViewVisitor() : mView( 0 ) {} | 575 | CalendarViewVisitor() : mView( 0 ) {} |
580 | 576 | ||
581 | bool act( Incidence *incidence, CalendarView *view ) | 577 | bool act( Incidence *incidence, CalendarView *view ) |
582 | { | 578 | { |
583 | mView = view; | 579 | mView = view; |
584 | return incidence->accept( *this ); | 580 | return incidence->accept( *this ); |
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp index 234375b..7ba0b2f 100644 --- a/korganizer/komonthview.cpp +++ b/korganizer/komonthview.cpp | |||
@@ -748,113 +748,116 @@ void MonthViewCell::cellClicked( QListBoxItem *item ) | |||
748 | static QListBoxItem * lastClicked = 0; | 748 | static QListBoxItem * lastClicked = 0; |
749 | if ( item == 0 ) { | 749 | if ( item == 0 ) { |
750 | QDateTime dt( date(), QTime( KOPrefs::instance()->mStartTime, 0 ) ); | 750 | QDateTime dt( date(), QTime( KOPrefs::instance()->mStartTime, 0 ) ); |
751 | emit newEventSignal( dt ); | 751 | emit newEventSignal( dt ); |
752 | return; | 752 | return; |
753 | } | 753 | } |
754 | /* | 754 | /* |
755 | if ( lastClicked ) | 755 | if ( lastClicked ) |
756 | if ( ! item ) { | 756 | if ( ! item ) { |
757 | if ( lastClicked->listBox() != item->listBox() ) | 757 | if ( lastClicked->listBox() != item->listBox() ) |
758 | lastClicked->listBox()->clearSelection(); | 758 | lastClicked->listBox()->clearSelection(); |
759 | } | 759 | } |
760 | */ | 760 | */ |
761 | 761 | ||
762 | mMonthView->setSelectedCell( this ); | 762 | mMonthView->setSelectedCell( this ); |
763 | if( KOPrefs::instance()->mEnableMonthScroll || KOPrefs::instance()->mMonthViewWeek ) enableScrollBars( true ); | 763 | if( KOPrefs::instance()->mEnableMonthScroll || KOPrefs::instance()->mMonthViewWeek ) enableScrollBars( true ); |
764 | select(); | 764 | select(); |
765 | } | 765 | } |
766 | 766 | ||
767 | void MonthViewCell::contextMenu( QListBoxItem *item ) | 767 | void MonthViewCell::contextMenu( QListBoxItem *item ) |
768 | { | 768 | { |
769 | if ( !item ) return; | 769 | if ( !item ) return; |
770 | 770 | ||
771 | MonthViewItem *eventItem = static_cast<MonthViewItem *>( item ); | 771 | MonthViewItem *eventItem = static_cast<MonthViewItem *>( item ); |
772 | Incidence *incidence = eventItem->incidence(); | 772 | Incidence *incidence = eventItem->incidence(); |
773 | if ( incidence ) mMonthView->showContextMenu( incidence ); | 773 | if ( incidence ) mMonthView->showContextMenu( incidence ); |
774 | } | 774 | } |
775 | 775 | ||
776 | void MonthViewCell::selection( QListBoxItem *item ) | 776 | void MonthViewCell::selection( QListBoxItem *item ) |
777 | { | 777 | { |
778 | if ( !item ) return; | 778 | if ( !item ) return; |
779 | 779 | ||
780 | mMonthView->setSelectedCell( this ); | 780 | mMonthView->setSelectedCell( this ); |
781 | } | 781 | } |
782 | 782 | ||
783 | 783 | ||
784 | // ******************************************************************************* | 784 | // ******************************************************************************* |
785 | // ******************************************************************************* | 785 | // ******************************************************************************* |
786 | // ******************************************************************************* | 786 | // ******************************************************************************* |
787 | 787 | ||
788 | 788 | ||
789 | KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name) | 789 | KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name) |
790 | : KOEventView( calendar, parent, name ), | 790 | : KOEventView( calendar, parent, name ), |
791 | mDaysPerWeek( 7 ), mNumWeeks( 6 ), mNumCells( mDaysPerWeek * mNumWeeks ), | 791 | mDaysPerWeek( 7 ), mNumWeeks( 6 ), mNumCells( mDaysPerWeek * mNumWeeks ), |
792 | mShortDayLabels( false ), mWidthLongDayLabel( 0 ), mSelectedCell( 0 ) | 792 | mShortDayLabels( false ), mWidthLongDayLabel( 0 ), mSelectedCell( 0 ) |
793 | { | 793 | { |
794 | skipResize = false; | 794 | skipResize = false; |
795 | clPending = true; | 795 | clPending = true; |
796 | mNavigatorBar = new NavigatorBar( QDate::currentDate(), this, "useBigPixmaps" ); | ||
796 | mWidStack = new QWidgetStack( this ); | 797 | mWidStack = new QWidgetStack( this ); |
797 | QHBoxLayout* hb = new QHBoxLayout( this ); | 798 | QVBoxLayout* hb = new QVBoxLayout( this ); |
798 | mMonthView = new QWidget( mWidStack ); | 799 | mMonthView = new QWidget( mWidStack ); |
799 | mWeekView = new QWidget( mWidStack ); | 800 | mWeekView = new QWidget( mWidStack ); |
800 | #if QT_VERSION >= 0x030000 | 801 | #if QT_VERSION >= 0x030000 |
801 | mWidStack->addWidget(mMonthView ); | 802 | mWidStack->addWidget(mMonthView ); |
802 | mWidStack->addWidget(mWeekView ); | 803 | mWidStack->addWidget(mWeekView ); |
803 | #else | 804 | #else |
804 | mWidStack->addWidget( mMonthView, 1 ); | 805 | mWidStack->addWidget( mMonthView, 1 ); |
805 | mWidStack->addWidget( mWeekView , 1 ); | 806 | mWidStack->addWidget( mWeekView , 1 ); |
806 | #endif | 807 | #endif |
808 | hb->addWidget( mNavigatorBar ); | ||
807 | hb->addWidget( mWidStack ); | 809 | hb->addWidget( mWidStack ); |
808 | mWeekStartsMonday = KGlobal::locale()->weekStartsMonday(); | 810 | mWeekStartsMonday = KGlobal::locale()->weekStartsMonday(); |
809 | mShowWeekView = KOPrefs::instance()->mMonthViewWeek; | 811 | mShowWeekView = KOPrefs::instance()->mMonthViewWeek; |
810 | if ( mShowWeekView ) | 812 | if ( mShowWeekView ) |
811 | mWeekStartsMonday = true; | 813 | mWeekStartsMonday = true; |
812 | updatePossible = false; | 814 | updatePossible = false; |
815 | //updatePossible = true; | ||
813 | mCells.setAutoDelete( true ); | 816 | mCells.setAutoDelete( true ); |
814 | mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ; | 817 | mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ; |
815 | mDayLabels.resize( mDaysPerWeek ); | 818 | mDayLabels.resize( mDaysPerWeek ); |
816 | mDayLabelsW.resize( mDaysPerWeek ); | 819 | mDayLabelsW.resize( mDaysPerWeek ); |
817 | QFont bfont = font(); | 820 | QFont bfont = font(); |
818 | if ( QApplication::desktop()->width() < 650 ) { | 821 | if ( QApplication::desktop()->width() < 650 ) { |
819 | bfont.setPointSize( bfont.pointSize() - 2 ); | 822 | bfont.setPointSize( bfont.pointSize() - 2 ); |
820 | } | 823 | } |
821 | bfont.setBold( true ); | 824 | bfont.setBold( true ); |
822 | int i; | 825 | int i; |
823 | 826 | ||
824 | for( i = 0; i < mDaysPerWeek; i++ ) { | 827 | for( i = 0; i < mDaysPerWeek; i++ ) { |
825 | QLabel *label = new QLabel( mMonthView ); | 828 | QLabel *label = new QLabel( mMonthView ); |
826 | label->setFont(bfont); | 829 | label->setFont(bfont); |
827 | label->setFrameStyle(QFrame::Panel|QFrame::Raised); | 830 | label->setFrameStyle(QFrame::Panel|QFrame::Raised); |
828 | label->setLineWidth(1); | 831 | label->setLineWidth(1); |
829 | label->setAlignment(AlignCenter); | 832 | label->setAlignment(AlignCenter); |
830 | mDayLabels.insert( i, label ); | 833 | mDayLabels.insert( i, label ); |
831 | label = new QLabel( mWeekView ); | 834 | label = new QLabel( mWeekView ); |
832 | label->setFont(bfont); | 835 | label->setFont(bfont); |
833 | label->setFrameStyle(QFrame::Panel|QFrame::Raised); | 836 | label->setFrameStyle(QFrame::Panel|QFrame::Raised); |
834 | label->setLineWidth(1); | 837 | label->setLineWidth(1); |
835 | label->setAlignment(AlignCenter); | 838 | label->setAlignment(AlignCenter); |
836 | mDayLabelsW.insert( i, label ); | 839 | mDayLabelsW.insert( i, label ); |
837 | } | 840 | } |
838 | 841 | ||
839 | bfont.setBold( false ); | 842 | bfont.setBold( false ); |
840 | mWeekLabels.resize( mNumWeeks+1 ); | 843 | mWeekLabels.resize( mNumWeeks+1 ); |
841 | mWeekLabelsW.resize( 2 ); | 844 | mWeekLabelsW.resize( 2 ); |
842 | for( i = 0; i < mNumWeeks+1; i++ ) { | 845 | for( i = 0; i < mNumWeeks+1; i++ ) { |
843 | KOWeekButton *label = new KOWeekButton( mMonthView ); | 846 | KOWeekButton *label = new KOWeekButton( mMonthView ); |
844 | label->setFocusPolicy(NoFocus); | 847 | label->setFocusPolicy(NoFocus); |
845 | label->setFont(bfont); | 848 | label->setFont(bfont); |
846 | connect( label, SIGNAL( selectWeekNum ( int )),this, SLOT( selectInternalWeekNum ( int )) ); | 849 | connect( label, SIGNAL( selectWeekNum ( int )),this, SLOT( selectInternalWeekNum ( int )) ); |
847 | label->setFlat(true); | 850 | label->setFlat(true); |
848 | QWhatsThis::add(label,i18n("Click on the week number to\nshow week zoomed")); | 851 | QWhatsThis::add(label,i18n("Click on the week number to\nshow week zoomed")); |
849 | //label->setFrameStyle(QFrame::Panel|QFrame::Raised); | 852 | //label->setFrameStyle(QFrame::Panel|QFrame::Raised); |
850 | //label->setLineWidth(1); | 853 | //label->setLineWidth(1); |
851 | //label->setAlignment(AlignCenter); | 854 | //label->setAlignment(AlignCenter); |
852 | mWeekLabels.insert( i, label ); | 855 | mWeekLabels.insert( i, label ); |
853 | } | 856 | } |
854 | mWeekLabels[mNumWeeks]->setText( i18n("W")); | 857 | mWeekLabels[mNumWeeks]->setText( i18n("W")); |
855 | QWhatsThis::add(mWeekLabels[mNumWeeks],i18n("Click on this to\nselect week number")); | 858 | QWhatsThis::add(mWeekLabels[mNumWeeks],i18n("Click on this to\nselect week number")); |
856 | 859 | ||
857 | for( i = 0; i < 1+1; i++ ) { | 860 | for( i = 0; i < 1+1; i++ ) { |
858 | KOWeekButton *label = new KOWeekButton( mWeekView ); | 861 | KOWeekButton *label = new KOWeekButton( mWeekView ); |
859 | label->setFocusPolicy(NoFocus); | 862 | label->setFocusPolicy(NoFocus); |
860 | label->setFont(bfont); | 863 | label->setFont(bfont); |
@@ -872,123 +875,126 @@ KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name) | |||
872 | int row, col; | 875 | int row, col; |
873 | mCells.resize( mNumCells ); | 876 | mCells.resize( mNumCells ); |
874 | for( row = 0; row < mNumWeeks; ++row ) { | 877 | for( row = 0; row < mNumWeeks; ++row ) { |
875 | for( col = 0; col < mDaysPerWeek; ++col ) { | 878 | for( col = 0; col < mDaysPerWeek; ++col ) { |
876 | MonthViewCell *cell = new MonthViewCell( this, mMonthView ); | 879 | MonthViewCell *cell = new MonthViewCell( this, mMonthView ); |
877 | mCells.insert( row * mDaysPerWeek + col, cell ); | 880 | mCells.insert( row * mDaysPerWeek + col, cell ); |
878 | 881 | ||
879 | connect( cell, SIGNAL( defaultAction( Incidence * ) ), | 882 | connect( cell, SIGNAL( defaultAction( Incidence * ) ), |
880 | SLOT( defaultAction( Incidence * ) ) ); | 883 | SLOT( defaultAction( Incidence * ) ) ); |
881 | connect( cell, SIGNAL( newEventSignal( QDateTime ) ), | 884 | connect( cell, SIGNAL( newEventSignal( QDateTime ) ), |
882 | SIGNAL( newEventSignal( QDateTime ) ) ); | 885 | SIGNAL( newEventSignal( QDateTime ) ) ); |
883 | connect( cell, SIGNAL( showDaySignal( QDate ) ), | 886 | connect( cell, SIGNAL( showDaySignal( QDate ) ), |
884 | SIGNAL( showDaySignal( QDate ) ) ); | 887 | SIGNAL( showDaySignal( QDate ) ) ); |
885 | } | 888 | } |
886 | } | 889 | } |
887 | mCellsW.resize( mDaysPerWeek ); | 890 | mCellsW.resize( mDaysPerWeek ); |
888 | for( col = 0; col < mDaysPerWeek; ++col ) { | 891 | for( col = 0; col < mDaysPerWeek; ++col ) { |
889 | MonthViewCell *cell = new MonthViewCell( this, mWeekView ); | 892 | MonthViewCell *cell = new MonthViewCell( this, mWeekView ); |
890 | mCellsW.insert( col, cell ); | 893 | mCellsW.insert( col, cell ); |
891 | 894 | ||
892 | connect( cell, SIGNAL( defaultAction( Incidence * ) ), | 895 | connect( cell, SIGNAL( defaultAction( Incidence * ) ), |
893 | SLOT( defaultAction( Incidence * ) ) ); | 896 | SLOT( defaultAction( Incidence * ) ) ); |
894 | connect( cell, SIGNAL( newEventSignal( QDateTime ) ), | 897 | connect( cell, SIGNAL( newEventSignal( QDateTime ) ), |
895 | SIGNAL( newEventSignal( QDateTime ) ) ); | 898 | SIGNAL( newEventSignal( QDateTime ) ) ); |
896 | connect( cell, SIGNAL( showDaySignal( QDate ) ), | 899 | connect( cell, SIGNAL( showDaySignal( QDate ) ), |
897 | SIGNAL( showDaySignal( QDate ) ) ); | 900 | SIGNAL( showDaySignal( QDate ) ) ); |
898 | cell->updateConfig(KOPrefs::instance()->mMonthViewUsesBigFont ); | 901 | cell->updateConfig(KOPrefs::instance()->mMonthViewUsesBigFont ); |
899 | } | 902 | } |
900 | 903 | ||
901 | //connect( mWeekLabels[mNumWeeks], SIGNAL( clicked() ), SLOT( switchView() ) ); | 904 | //connect( mWeekLabels[mNumWeeks], SIGNAL( clicked() ), SLOT( switchView() ) ); |
902 | mContextMenu = eventPopup(); | 905 | mContextMenu = eventPopup(); |
903 | // updateConfig(); //useless here... | 906 | // updateConfig(); //useless here... |
904 | // ... but we need mWidthLongDayLabel computed | 907 | // ... but we need mWidthLongDayLabel computed |
905 | QFontMetrics fontmetric(mDayLabels[0]->font()); | 908 | QFontMetrics fontmetric(mDayLabels[0]->font()); |
906 | mWidthLongDayLabel = 0; | 909 | mWidthLongDayLabel = 0; |
907 | for (int i = 0; i < 7; i++) { | 910 | for (int i = 0; i < 7; i++) { |
908 | int width = fontmetric.width(KOGlobals::self()->calendarSystem()->weekDayName(i+1)); | 911 | int width = fontmetric.width(KOGlobals::self()->calendarSystem()->weekDayName(i+1)); |
909 | if ( width > mWidthLongDayLabel ) mWidthLongDayLabel = width; | 912 | if ( width > mWidthLongDayLabel ) mWidthLongDayLabel = width; |
910 | } | 913 | } |
911 | 914 | ||
912 | //mWeekLabels[mNumWeeks]->setText( i18n("W")); | 915 | //mWeekLabels[mNumWeeks]->setText( i18n("W")); |
913 | 916 | ||
914 | if ( mShowWeekView ) | 917 | if ( mShowWeekView ) |
915 | mWidStack->raiseWidget( mWeekView ); | 918 | mWidStack->raiseWidget( mWeekView ); |
916 | else | 919 | else |
917 | mWidStack->raiseWidget( mMonthView ); | 920 | mWidStack->raiseWidget( mMonthView ); |
918 | 921 | ||
919 | emit incidenceSelected( 0 ); | 922 | emit incidenceSelected( 0 ); |
923 | #ifndef DESKTOP_VERSION | ||
924 | resize( QApplication::desktop()->size() ); | ||
925 | computeLayout(); | ||
926 | #endif | ||
920 | } | 927 | } |
921 | 928 | ||
922 | KOMonthView::~KOMonthView() | 929 | KOMonthView::~KOMonthView() |
923 | { | 930 | { |
924 | delete mContextMenu; | 931 | delete mContextMenu; |
925 | } | 932 | } |
926 | 933 | ||
927 | void KOMonthView::selectInternalWeekNum ( int n ) | 934 | void KOMonthView::selectInternalWeekNum ( int n ) |
928 | { | 935 | { |
929 | switchView(); | 936 | switchView(); |
930 | emit selectWeekNum ( n ); | 937 | emit selectWeekNum ( n ); |
931 | } | 938 | } |
932 | 939 | ||
933 | int KOMonthView::currentWeek() | 940 | int KOMonthView::currentWeek() |
934 | { | 941 | { |
935 | if ( mShowWeekView ) | 942 | if ( mShowWeekView ) |
936 | return mWeekLabelsW[0]->getWeekNum(); | 943 | return mWeekLabelsW[0]->getWeekNum(); |
937 | return mWeekLabels[0]->getWeekNum(); | 944 | return mWeekLabels[0]->getWeekNum(); |
938 | } | 945 | } |
939 | void KOMonthView::switchView() | 946 | void KOMonthView::switchView() |
940 | { | 947 | { |
941 | 948 | ||
942 | if ( selectedCell( ) ) | 949 | if ( selectedCell( ) ) |
943 | selectedCell()->deselect(); | 950 | selectedCell()->deselect(); |
944 | mShowWeekView = !mShowWeekView; | 951 | mShowWeekView = !mShowWeekView; |
945 | KOPrefs::instance()->mMonthViewWeek = mShowWeekView; | 952 | KOPrefs::instance()->mMonthViewWeek = mShowWeekView; |
946 | //emit showNavigator( !mShowWeekView ); | ||
947 | if ( clPending ) { | 953 | if ( clPending ) { |
948 | computeLayout(); | 954 | computeLayout(); |
949 | updateConfig(); | 955 | updateConfig(); |
950 | } | 956 | } |
951 | if ( mShowWeekView ) | 957 | if ( mShowWeekView ) |
952 | mWidStack->raiseWidget( mWeekView ); | 958 | mWidStack->raiseWidget( mWeekView ); |
953 | else | 959 | else |
954 | mWidStack->raiseWidget( mMonthView ); | 960 | mWidStack->raiseWidget( mMonthView ); |
955 | clPending = false; | 961 | clPending = false; |
956 | } | 962 | } |
957 | 963 | ||
958 | int KOMonthView::maxDatesHint() | 964 | int KOMonthView::maxDatesHint() |
959 | { | 965 | { |
960 | return mNumCells; | 966 | return mNumCells; |
961 | } | 967 | } |
962 | 968 | ||
963 | int KOMonthView::currentDateCount() | 969 | int KOMonthView::currentDateCount() |
964 | { | 970 | { |
965 | return mNumCells; | 971 | return mNumCells; |
966 | } | 972 | } |
967 | 973 | ||
968 | QPtrList<Incidence> KOMonthView::selectedIncidences() | 974 | QPtrList<Incidence> KOMonthView::selectedIncidences() |
969 | { | 975 | { |
970 | QPtrList<Incidence> selected; | 976 | QPtrList<Incidence> selected; |
971 | 977 | ||
972 | if ( mSelectedCell ) { | 978 | if ( mSelectedCell ) { |
973 | Incidence *incidence = mSelectedCell->selectedIncidence(); | 979 | Incidence *incidence = mSelectedCell->selectedIncidence(); |
974 | if ( incidence ) selected.append( incidence ); | 980 | if ( incidence ) selected.append( incidence ); |
975 | } | 981 | } |
976 | 982 | ||
977 | return selected; | 983 | return selected; |
978 | } | 984 | } |
979 | 985 | ||
980 | DateList KOMonthView::selectedDates() | 986 | DateList KOMonthView::selectedDates() |
981 | { | 987 | { |
982 | DateList selected; | 988 | DateList selected; |
983 | 989 | ||
984 | if ( mSelectedCell ) { | 990 | if ( mSelectedCell ) { |
985 | QDate qd = mSelectedCell->selectedIncidenceDate(); | 991 | QDate qd = mSelectedCell->selectedIncidenceDate(); |
986 | if ( qd.isValid() ) selected.append( qd ); | 992 | if ( qd.isValid() ) selected.append( qd ); |
987 | } | 993 | } |
988 | 994 | ||
989 | return selected; | 995 | return selected; |
990 | } | 996 | } |
991 | 997 | ||
992 | void KOMonthView::printPreview(CalPrinter *calPrinter, const QDate &fd, | 998 | void KOMonthView::printPreview(CalPrinter *calPrinter, const QDate &fd, |
993 | const QDate &td) | 999 | const QDate &td) |
994 | { | 1000 | { |
@@ -1215,341 +1221,336 @@ void KOMonthView::updateView() | |||
1215 | if ( st < 0 ) st = 0; | 1221 | if ( st < 0 ) st = 0; |
1216 | if ( end > timeSpan ) end = timeSpan; | 1222 | if ( end > timeSpan ) end = timeSpan; |
1217 | int iii; | 1223 | int iii; |
1218 | for ( iii = st;iii<= end;++iii) | 1224 | for ( iii = st;iii<= end;++iii) |
1219 | (*cells)[iii]->insertEvent( event ); | 1225 | (*cells)[iii]->insertEvent( event ); |
1220 | } | 1226 | } |
1221 | } | 1227 | } |
1222 | } | 1228 | } |
1223 | } | 1229 | } |
1224 | // insert due todos | 1230 | // insert due todos |
1225 | QPtrList<Todo> todos = calendar()->todos( ); | 1231 | QPtrList<Todo> todos = calendar()->todos( ); |
1226 | Todo *todo; | 1232 | Todo *todo; |
1227 | for(todo = todos.first(); todo; todo = todos.next()) { | 1233 | for(todo = todos.first(); todo; todo = todos.next()) { |
1228 | //insertTodo( todo ); | 1234 | //insertTodo( todo ); |
1229 | if ( todo->hasDueDate() ) { | 1235 | if ( todo->hasDueDate() ) { |
1230 | int day = mStartDate.daysTo( todo->dtDue().date() ); | 1236 | int day = mStartDate.daysTo( todo->dtDue().date() ); |
1231 | if ( day >= 0 && day < timeSpan + 1) { | 1237 | if ( day >= 0 && day < timeSpan + 1) { |
1232 | (*cells)[day]->insertTodo( todo ); | 1238 | (*cells)[day]->insertTodo( todo ); |
1233 | } | 1239 | } |
1234 | } | 1240 | } |
1235 | } | 1241 | } |
1236 | 1242 | ||
1237 | for( i = 0; i < timeSpan+1; ++i ) { | 1243 | for( i = 0; i < timeSpan+1; ++i ) { |
1238 | (*cells)[i]->finishUpdateCell(); | 1244 | (*cells)[i]->finishUpdateCell(); |
1239 | } | 1245 | } |
1240 | processSelectionChange(); | 1246 | processSelectionChange(); |
1241 | (*cells)[0]->setFocus(); | 1247 | (*cells)[0]->setFocus(); |
1242 | 1248 | ||
1243 | 1249 | ||
1244 | #else | 1250 | #else |
1245 | // old code | 1251 | // old code |
1246 | //qDebug("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ "); | 1252 | //qDebug("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ "); |
1247 | int i; | 1253 | int i; |
1248 | for( i = 0; i < (*cells).count(); ++i ) { | 1254 | for( i = 0; i < (*cells).count(); ++i ) { |
1249 | (*cells)[i]->updateCell(); | 1255 | (*cells)[i]->updateCell(); |
1250 | } | 1256 | } |
1251 | 1257 | ||
1252 | //qDebug("KOMonthView::updateView() "); | 1258 | //qDebug("KOMonthView::updateView() "); |
1253 | processSelectionChange(); | 1259 | processSelectionChange(); |
1254 | // qDebug("---------------------------------------------------------------------+ "); | 1260 | // qDebug("---------------------------------------------------------------------+ "); |
1255 | (*cells)[0]->setFocus(); | 1261 | (*cells)[0]->setFocus(); |
1256 | #endif | 1262 | #endif |
1257 | 1263 | ||
1258 | //qDebug("update time %d ", ti.elapsed()); | 1264 | //qDebug("update time %d ", ti.elapsed()); |
1259 | } | 1265 | } |
1260 | 1266 | ||
1261 | void KOMonthView::resizeEvent(QResizeEvent * e) | 1267 | void KOMonthView::resizeEvent(QResizeEvent * e) |
1262 | { | 1268 | { |
1263 | qDebug("KOMonthView::resizeEvent %d %d -- %d %d ", e->size().width(), e->size().height(), e->oldSize().width(), e->oldSize().height()); | 1269 | //qDebug("KOMonthView::resizeEvent %d %d -- %d %d ", e->size().width(), e->size().height(), e->oldSize().width(), e->oldSize().height()); |
1264 | if ( skipResize ) { | ||
1265 | skipResize = false; | ||
1266 | qDebug("skipResize "); | ||
1267 | return; | ||
1268 | } | ||
1269 | computeLayout(); | 1270 | computeLayout(); |
1270 | clPending = true; | 1271 | clPending = true; |
1271 | if ( mShowWeekView ) | 1272 | if ( mShowWeekView ) |
1272 | mCellsW[0]->setFocus(); | 1273 | mCellsW[0]->setFocus(); |
1273 | else | 1274 | else |
1274 | mCells[0]->setFocus(); | 1275 | mCells[0]->setFocus(); |
1275 | } | 1276 | } |
1276 | void KOMonthView::computeLayoutWeek() | 1277 | void KOMonthView::computeLayoutWeek() |
1277 | { | 1278 | { |
1278 | static int lastWid = 0; | 1279 | static int lastWid = 0; |
1279 | static int lastHei = 0; | 1280 | static int lastHei = 0; |
1280 | int daysToShow; | 1281 | int daysToShow; |
1281 | bool combinedSatSun = false; | 1282 | bool combinedSatSun = false; |
1282 | if (mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ) { | 1283 | if (mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ) { |
1283 | daysToShow = 6; | 1284 | daysToShow = 6; |
1284 | combinedSatSun = true; | 1285 | combinedSatSun = true; |
1285 | } | 1286 | } |
1286 | int tWid = topLevelWidget()->size().width(); | 1287 | int tWid = topLevelWidget()->size().width(); |
1287 | int tHei = topLevelWidget()->size().height(); | 1288 | int tHei = topLevelWidget()->size().height(); |
1288 | 1289 | ||
1289 | int wid = size().width();//e | 1290 | int wid = width();//e |
1290 | int hei = size().height()-1; | 1291 | int hei = height()-1-mNavigatorBar->height(); |
1291 | 1292 | ||
1292 | if ( ((wid *3)/2) < tWid && (( hei *3) /2) < tHei ) | 1293 | if ( ((wid *3)/2) < tWid && (( hei *3) /2) < tHei ) |
1293 | return; | 1294 | return; |
1294 | 1295 | ||
1295 | |||
1296 | if ( lastWid == width() && lastHei ==height() ) | 1296 | if ( lastWid == width() && lastHei ==height() ) |
1297 | return; | 1297 | return; |
1298 | lastWid =width(); | 1298 | lastWid =width(); |
1299 | lastHei = height(); | 1299 | lastHei = height(); |
1300 | 1300 | ||
1301 | 1301 | ||
1302 | if ( wid < hei ) | 1302 | if ( wid < hei ) |
1303 | daysToShow = 2; | 1303 | daysToShow = 2; |
1304 | else | 1304 | else |
1305 | daysToShow = 3; | 1305 | daysToShow = 3; |
1306 | mShowSatSunComp = true; | 1306 | mShowSatSunComp = true; |
1307 | combinedSatSun = true; | 1307 | combinedSatSun = true; |
1308 | 1308 | ||
1309 | qDebug("KOMonthView::computeLayout() WWW ------------------------------------ "); | 1309 | //qDebug("KOMonthView::computeLayout() WWW ------------------------------------ "); |
1310 | QFontMetrics fm ( mWeekLabels[0]->font() ); | 1310 | QFontMetrics fm ( mWeekLabels[0]->font() ); |
1311 | int weeklabelwid = fm.width( "888" ); | 1311 | int weeklabelwid = fm.width( "888" ); |
1312 | wid -= weeklabelwid; | 1312 | wid -= weeklabelwid; |
1313 | 1313 | ||
1314 | int colWid = wid / daysToShow; | 1314 | int colWid = wid / daysToShow; |
1315 | int lastCol = wid - ( colWid*6 ); | 1315 | int lastCol = wid - ( colWid*6 ); |
1316 | int dayLabelHei = mDayLabelsW[0]->sizeHint().height(); | 1316 | int dayLabelHei = mDayLabelsW[0]->sizeHint().height(); |
1317 | int cellHei = (hei - (5- daysToShow )*dayLabelHei) /(5- daysToShow ); | 1317 | int cellHei = (hei - (5- daysToShow )*dayLabelHei) /(5- daysToShow ); |
1318 | int colModulo = wid % daysToShow; | 1318 | int colModulo = wid % daysToShow; |
1319 | int rowModulo = (hei- (5- daysToShow )*dayLabelHei) % daysToShow-1; | 1319 | int rowModulo = (hei- (5- daysToShow )*dayLabelHei) % daysToShow-1; |
1320 | //qDebug("rowmod %d ", rowModulo); | 1320 | //qDebug("rowmod %d ", rowModulo); |
1321 | int i; | 1321 | int i; |
1322 | int x,y,w,h; | 1322 | int x,y,w,h; |
1323 | x= 0; | 1323 | x= 0; |
1324 | y= 0; | 1324 | y= 0; |
1325 | w = colWid; | 1325 | w = colWid; |
1326 | h = dayLabelHei ; | 1326 | h = dayLabelHei ; |
1327 | for ( i = 0; i < 7; i++) { | 1327 | for ( i = 0; i < 7; i++) { |
1328 | if ( i && !( i % daysToShow) && i < 6) { | 1328 | if ( i && !( i % daysToShow) && i < 6) { |
1329 | y += hei/(5-daysToShow); | 1329 | y += hei/(5-daysToShow); |
1330 | x = 0; | 1330 | x = 0; |
1331 | w = colWid; | 1331 | w = colWid; |
1332 | } | 1332 | } |
1333 | if ( ((i) % daysToShow) >= daysToShow-colModulo ) { | 1333 | if ( ((i) % daysToShow) >= daysToShow-colModulo ) { |
1334 | ++w; | 1334 | ++w; |
1335 | } | 1335 | } |
1336 | if ( i >= 5 ) { | 1336 | if ( i >= 5 ) { |
1337 | mDayLabelsW[i]->setGeometry( x+weeklabelwid,y,w/2+w%2,h); | 1337 | mDayLabelsW[i]->setGeometry( x+weeklabelwid,y,w/2+w%2,h); |
1338 | x -= (w/2 ); | 1338 | x -= (w/2 ); |
1339 | } | 1339 | } |
1340 | else | 1340 | else |
1341 | mDayLabelsW[i]->setGeometry( x+weeklabelwid,y,w,h); | 1341 | mDayLabelsW[i]->setGeometry( x+weeklabelwid,y,w,h); |
1342 | x += w; | 1342 | x += w; |
1343 | } | 1343 | } |
1344 | x= 0; | 1344 | x= 0; |
1345 | y= dayLabelHei; | 1345 | y= dayLabelHei; |
1346 | w = colWid; | 1346 | w = colWid; |
1347 | h = cellHei; | 1347 | h = cellHei; |
1348 | for ( i = 0; i < mCellsW.count(); ++i) { | 1348 | for ( i = 0; i < mCellsW.count(); ++i) { |
1349 | if ( i > 6 ) { | 1349 | if ( i > 6 ) { |
1350 | mCellsW[i]->hide(); | 1350 | mCellsW[i]->hide(); |
1351 | continue; | 1351 | continue; |
1352 | } | 1352 | } |
1353 | 1353 | ||
1354 | w = colWid; | 1354 | w = colWid; |
1355 | if ( ((i) % daysToShow) >= daysToShow-colModulo ) { | 1355 | if ( ((i) % daysToShow) >= daysToShow-colModulo ) { |
1356 | ++w; | 1356 | ++w; |
1357 | } | 1357 | } |
1358 | if ( i == (daysToShow-1-rowModulo)*7) | 1358 | if ( i == (daysToShow-1-rowModulo)*7) |
1359 | ++h; | 1359 | ++h; |
1360 | 1360 | ||
1361 | if ( i >= 5 ) { | 1361 | if ( i >= 5 ) { |
1362 | if ( i ==5 ) { | 1362 | if ( i ==5 ) { |
1363 | mCellsW[i]->setGeometry ( x+weeklabelwid,y,w,h/2 ); | 1363 | mCellsW[i]->setGeometry ( x+weeklabelwid,y,w,h/2 ); |
1364 | x -= w ;y += h/2; | 1364 | x -= w ;y += h/2; |
1365 | } else { | 1365 | } else { |
1366 | if ( ((i-1) % daysToShow) >= daysToShow-colModulo ) { | 1366 | if ( ((i-1) % daysToShow) >= daysToShow-colModulo ) { |
1367 | ++w; | 1367 | ++w; |
1368 | } | 1368 | } |
1369 | mCellsW[i]->setGeometry ( x+weeklabelwid,y,w,h-h/2 ); | 1369 | mCellsW[i]->setGeometry ( x+weeklabelwid,y,w,h-h/2 ); |
1370 | y -= h/2; | 1370 | y -= h/2; |
1371 | } | 1371 | } |
1372 | } else | 1372 | } else |
1373 | mCellsW[i]->setGeometry ( x+weeklabelwid,y,w,h ); | 1373 | mCellsW[i]->setGeometry ( x+weeklabelwid,y,w,h ); |
1374 | 1374 | ||
1375 | 1375 | ||
1376 | x += w; | 1376 | x += w; |
1377 | if ( x + w/2 > wid ) { | 1377 | if ( x + w/2 > wid ) { |
1378 | x = 0; | 1378 | x = 0; |
1379 | y += h+dayLabelHei ; | 1379 | y += h+dayLabelHei ; |
1380 | } | 1380 | } |
1381 | } | 1381 | } |
1382 | y= dayLabelHei; | 1382 | y= dayLabelHei; |
1383 | h = cellHei ; | 1383 | h = cellHei ; |
1384 | mWeekLabelsW[0]->setGeometry( 0,y,weeklabelwid,hei-dayLabelHei); | 1384 | mWeekLabelsW[0]->setGeometry( 0,y,weeklabelwid,hei-dayLabelHei); |
1385 | mWeekLabelsW[1]->setGeometry( 0,0,weeklabelwid,dayLabelHei); | 1385 | mWeekLabelsW[1]->setGeometry( 0,0,weeklabelwid,dayLabelHei); |
1386 | // qDebug("RRRRRRRRRRRRR %d %d old %d %d", e->size().width(),e->size().height() , e->oldSize().width(),e->oldSize().height()); | 1386 | // qDebug("RRRRRRRRRRRRR %d %d old %d %d", e->size().width(),e->size().height() , e->oldSize().width(),e->oldSize().height()); |
1387 | //qDebug("parent %d %d ", topLevelWidget()->size().width(), topLevelWidget()->size().height()); | 1387 | //qDebug("parent %d %d ", topLevelWidget()->size().width(), topLevelWidget()->size().height()); |
1388 | mShortDayLabels = mDayLabelsW[0]->width() < mWidthLongDayLabel ; | 1388 | mShortDayLabels = mDayLabelsW[0]->width() < mWidthLongDayLabel ; |
1389 | updateDayLabels(); | 1389 | updateDayLabels(); |
1390 | bool forceUpdate = !updatePossible; | 1390 | //bool forceUpdate = !updatePossible; |
1391 | updatePossible = true; | 1391 | updatePossible = true; |
1392 | //mWeekLabels[mNumWeeks]->setText( i18n("M")); | 1392 | //mWeekLabels[mNumWeeks]->setText( i18n("M")); |
1393 | if ( forceUpdate ) | 1393 | //if ( forceUpdate ) |
1394 | updateView(); | 1394 | // updateView(); |
1395 | } | 1395 | } |
1396 | void KOMonthView::computeLayout() | 1396 | void KOMonthView::computeLayout() |
1397 | { | 1397 | { |
1398 | 1398 | ||
1399 | 1399 | ||
1400 | static int lastWid = 0; | 1400 | static int lastWid = 0; |
1401 | static int lastHei = 0; | 1401 | static int lastHei = 0; |
1402 | 1402 | ||
1403 | if ( mShowWeekView ){ | 1403 | if ( mShowWeekView ){ |
1404 | computeLayoutWeek(); | 1404 | computeLayoutWeek(); |
1405 | return; | 1405 | return; |
1406 | } | 1406 | } |
1407 | int daysToShow = 7; | 1407 | int daysToShow = 7; |
1408 | bool combinedSatSun = false; | 1408 | bool combinedSatSun = false; |
1409 | if (mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ) { | 1409 | if (mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ) { |
1410 | daysToShow = 6; | 1410 | daysToShow = 6; |
1411 | combinedSatSun = true; | 1411 | combinedSatSun = true; |
1412 | } | 1412 | } |
1413 | int tWid = topLevelWidget()->size().width(); | 1413 | int tWid = topLevelWidget()->size().width(); |
1414 | int tHei = topLevelWidget()->size().height(); | 1414 | int tHei = topLevelWidget()->size().height(); |
1415 | 1415 | ||
1416 | int wid = size().width();//e | 1416 | int wid = width();//e |
1417 | int hei = size().height()-1; | 1417 | int hei = height()-1-mNavigatorBar->height(); |
1418 | 1418 | ||
1419 | if ( ((wid *3)/2) < tWid && (( hei *3) /2) < tHei ) | 1419 | if ( ((wid *3)/2) < tWid && (( hei *3) /2) < tHei ) { |
1420 | return; | 1420 | return; |
1421 | if ( lastWid == width() && lastHei ==height() ) | 1421 | } |
1422 | if ( lastWid == width() && lastHei == height() ){ | ||
1422 | return; | 1423 | return; |
1424 | } | ||
1425 | |||
1423 | lastWid =width(); | 1426 | lastWid =width(); |
1424 | lastHei = height(); | 1427 | lastHei = height(); |
1425 | qDebug("KOMonthView::computeLayout() MMM ------------------------------------ "); | 1428 | //qDebug("KOMonthView::computeLayout() MMM ------------------------------------ "); |
1426 | QFontMetrics fm ( mWeekLabels[0]->font() ); | 1429 | QFontMetrics fm ( mWeekLabels[0]->font() ); |
1427 | int weeklabelwid = fm.width( "888" ); | 1430 | int weeklabelwid = fm.width( "888" ); |
1428 | wid -= weeklabelwid; | 1431 | wid -= weeklabelwid; |
1429 | 1432 | ||
1430 | int colWid = wid / daysToShow; | 1433 | int colWid = wid / daysToShow; |
1431 | int lastCol = wid - ( colWid*6 ); | 1434 | int lastCol = wid - ( colWid*6 ); |
1432 | int dayLabelHei = mDayLabels[0]->sizeHint().height(); | 1435 | int dayLabelHei = mDayLabels[0]->sizeHint().height(); |
1433 | int cellHei = (hei - dayLabelHei) /6; | 1436 | int cellHei = (hei - dayLabelHei) /6; |
1434 | int colModulo = wid % daysToShow; | 1437 | int colModulo = wid % daysToShow; |
1435 | int rowModulo = (hei- dayLabelHei) % 6; | 1438 | int rowModulo = (hei- dayLabelHei) % 6; |
1436 | //qDebug("rowmod %d ", rowModulo); | 1439 | //qDebug("rowmod %d ", rowModulo); |
1437 | int i; | 1440 | int i; |
1438 | int x,y,w,h; | 1441 | int x,y,w,h; |
1439 | x= 0; | 1442 | x= 0; |
1440 | y= 0; | 1443 | y= 0; |
1441 | w = colWid; | 1444 | w = colWid; |
1442 | h = dayLabelHei ; | 1445 | h = dayLabelHei ; |
1443 | for ( i = 0; i < 7; i++) { | 1446 | for ( i = 0; i < 7; i++) { |
1444 | if ( i == daysToShow-colModulo ) | 1447 | if ( i == daysToShow-colModulo ) |
1445 | ++w; | 1448 | ++w; |
1446 | if ( combinedSatSun ) { | 1449 | if ( combinedSatSun ) { |
1447 | if ( i >= daysToShow-1 ) { | 1450 | if ( i >= daysToShow-1 ) { |
1448 | mDayLabels[i]->setGeometry( x+weeklabelwid,y,w/2,h); | 1451 | mDayLabels[i]->setGeometry( x+weeklabelwid,y,w/2,h); |
1449 | x -= w/2 ; | 1452 | x -= w/2 ; |
1450 | } | 1453 | } |
1451 | else | 1454 | else |
1452 | mDayLabels[i]->setGeometry( x+weeklabelwid,y,w,h); | 1455 | mDayLabels[i]->setGeometry( x+weeklabelwid,y,w,h); |
1453 | } else | 1456 | } else |
1454 | mDayLabels[i]->setGeometry( x+weeklabelwid,y,w,h); | 1457 | mDayLabels[i]->setGeometry( x+weeklabelwid,y,w,h); |
1455 | x += w; | 1458 | x += w; |
1456 | } | 1459 | } |
1457 | x= 0; | 1460 | x= 0; |
1458 | y= dayLabelHei; | 1461 | y= dayLabelHei; |
1459 | w = colWid; | 1462 | w = colWid; |
1460 | h = cellHei ; | 1463 | h = cellHei ; |
1461 | for ( i = 0; i < mCells.count(); ++i) { | 1464 | for ( i = 0; i < mCells.count(); ++i) { |
1462 | //qDebug("iii %d ", i); | 1465 | //qDebug("iii %d ", i); |
1463 | w = colWid; | 1466 | w = colWid; |
1464 | if ( ((i) % 7) >= 7-colModulo ) { | 1467 | if ( ((i) % 7) >= 7-colModulo ) { |
1465 | ++w; | 1468 | ++w; |
1466 | } | 1469 | } |
1467 | if ( i == (6-rowModulo)*7) | 1470 | if ( i == (6-rowModulo)*7) |
1468 | ++h; | 1471 | ++h; |
1469 | if ( combinedSatSun ) { | 1472 | if ( combinedSatSun ) { |
1470 | if ( (i)%7 >= daysToShow-1 ) { | 1473 | if ( (i)%7 >= daysToShow-1 ) { |
1471 | if ( (i)%7 == daysToShow-1 ) { | 1474 | if ( (i)%7 == daysToShow-1 ) { |
1472 | mCells[i]->setGeometry ( x+weeklabelwid,y,w,h/2 ); | 1475 | mCells[i]->setGeometry ( x+weeklabelwid,y,w,h/2 ); |
1473 | x -= w ;y += h/2; | 1476 | x -= w ;y += h/2; |
1474 | } else { | 1477 | } else { |
1475 | mCells[i]->setGeometry ( x+weeklabelwid,y,w,h-h/2 ); | 1478 | mCells[i]->setGeometry ( x+weeklabelwid,y,w,h-h/2 ); |
1476 | y -= h/2; | 1479 | y -= h/2; |
1477 | } | 1480 | } |
1478 | } else | 1481 | } else |
1479 | mCells[i]->setGeometry ( x+weeklabelwid,y,w,h ); | 1482 | mCells[i]->setGeometry ( x+weeklabelwid,y,w,h ); |
1480 | 1483 | ||
1481 | } | 1484 | } |
1482 | else | 1485 | else |
1483 | mCells[i]->setGeometry ( x+weeklabelwid,y,w,h ); | 1486 | mCells[i]->setGeometry ( x+weeklabelwid,y,w,h ); |
1484 | x += w; | 1487 | x += w; |
1485 | if ( x + w/2 > wid ) { | 1488 | if ( x + w/2 > wid ) { |
1486 | x = 0; | 1489 | x = 0; |
1487 | y += h; | 1490 | y += h; |
1488 | } | 1491 | } |
1489 | } | 1492 | } |
1490 | y= dayLabelHei; | 1493 | y= dayLabelHei; |
1491 | h = cellHei ; | 1494 | h = cellHei ; |
1492 | for ( i = 0; i < 6; i++) { | 1495 | for ( i = 0; i < 6; i++) { |
1493 | if ( i == (6-rowModulo)) | 1496 | if ( i == (6-rowModulo)) |
1494 | ++h; | 1497 | ++h; |
1495 | mWeekLabels[i]->setGeometry( 0,y,weeklabelwid,h); | 1498 | mWeekLabels[i]->setGeometry( 0,y,weeklabelwid,h); |
1496 | y += h; | 1499 | y += h; |
1497 | } | 1500 | } |
1498 | mWeekLabels[6]->setGeometry( 0,0,weeklabelwid,dayLabelHei); | 1501 | mWeekLabels[6]->setGeometry( 0,0,weeklabelwid,dayLabelHei); |
1499 | // qDebug("RRRRRRRRRRRRR %d %d old %d %d", e->size().width(),e->size().height() , e->oldSize().width(),e->oldSize().height()); | 1502 | // qDebug("RRRRRRRRRRRRR %d %d old %d %d", e->size().width(),e->size().height() , e->oldSize().width(),e->oldSize().height()); |
1500 | //qDebug("parent %d %d ", topLevelWidget()->size().width(), topLevelWidget()->size().height()); | 1503 | //qDebug("parent %d %d ", topLevelWidget()->size().width(), topLevelWidget()->size().height()); |
1501 | mShortDayLabels = mDayLabels[0]->width() < mWidthLongDayLabel ; | 1504 | mShortDayLabels = mDayLabels[0]->width() < mWidthLongDayLabel ; |
1502 | updateDayLabels(); | 1505 | updateDayLabels(); |
1503 | bool forceUpdate = !updatePossible; | 1506 | //bool forceUpdate = !updatePossible; |
1504 | updatePossible = true; | 1507 | updatePossible = true; |
1505 | //mWeekLabels[mNumWeeks]->setText( i18n("W")); | 1508 | //mWeekLabels[mNumWeeks]->setText( i18n("W")); |
1506 | if ( forceUpdate ) | ||
1507 | updateView(); | ||
1508 | } | 1509 | } |
1509 | 1510 | ||
1510 | void KOMonthView::showContextMenu( Incidence *incidence ) | 1511 | void KOMonthView::showContextMenu( Incidence *incidence ) |
1511 | { | 1512 | { |
1512 | mContextMenu->showIncidencePopup(incidence); | 1513 | mContextMenu->showIncidencePopup(incidence); |
1513 | /* | 1514 | /* |
1514 | if( incidence && incidence->type() == "Event" ) { | 1515 | if( incidence && incidence->type() == "Event" ) { |
1515 | Event *event = static_cast<Event *>(incidence); | 1516 | Event *event = static_cast<Event *>(incidence); |
1516 | mContextMenu->showEventPopup(event); | 1517 | mContextMenu->showEventPopup(event); |
1517 | } else { | 1518 | } else { |
1518 | kdDebug() << "MonthView::showContextMenu(): cast failed." << endl; | 1519 | kdDebug() << "MonthView::showContextMenu(): cast failed." << endl; |
1519 | } | 1520 | } |
1520 | */ | 1521 | */ |
1521 | } | 1522 | } |
1522 | MonthViewCell * KOMonthView::selectedCell( ) | 1523 | MonthViewCell * KOMonthView::selectedCell( ) |
1523 | { | 1524 | { |
1524 | return mSelectedCell; | 1525 | return mSelectedCell; |
1525 | } | 1526 | } |
1526 | void KOMonthView::setSelectedCell( MonthViewCell *cell ) | 1527 | void KOMonthView::setSelectedCell( MonthViewCell *cell ) |
1527 | { | 1528 | { |
1528 | // qDebug("KOMonthView::setSelectedCell "); | 1529 | // qDebug("KOMonthView::setSelectedCell "); |
1529 | if ( mSelectedCell && mSelectedCell != cell ) { | 1530 | if ( mSelectedCell && mSelectedCell != cell ) { |
1530 | MonthViewCell * mvc = mSelectedCell; | 1531 | MonthViewCell * mvc = mSelectedCell; |
1531 | mSelectedCell = cell; | 1532 | mSelectedCell = cell; |
1532 | mvc->deselect(); | 1533 | mvc->deselect(); |
1533 | } else | 1534 | } else |
1534 | mSelectedCell = cell; | 1535 | mSelectedCell = cell; |
1535 | // if ( mSelectedCell ) | 1536 | // if ( mSelectedCell ) |
1536 | // mSelectedCell->select(); | 1537 | // mSelectedCell->select(); |
1537 | if ( !mSelectedCell ) | 1538 | if ( !mSelectedCell ) |
1538 | emit incidenceSelected( 0 ); | 1539 | emit incidenceSelected( 0 ); |
1539 | else | 1540 | else |
1540 | emit incidenceSelected( mSelectedCell->selectedIncidence() ); | 1541 | emit incidenceSelected( mSelectedCell->selectedIncidence() ); |
1541 | } | 1542 | } |
1542 | 1543 | ||
1543 | void KOMonthView::processSelectionChange() | 1544 | void KOMonthView::processSelectionChange() |
1544 | { | 1545 | { |
1545 | QPtrList<Incidence> incidences = selectedIncidences(); | 1546 | QPtrList<Incidence> incidences = selectedIncidences(); |
1546 | if (incidences.count() > 0) { | 1547 | if (incidences.count() > 0) { |
1547 | emit incidenceSelected( incidences.first() ); | 1548 | emit incidenceSelected( incidences.first() ); |
1548 | } else { | 1549 | } else { |
1549 | emit incidenceSelected( 0 ); | 1550 | emit incidenceSelected( 0 ); |
1550 | } | 1551 | } |
1551 | } | 1552 | } |
1552 | 1553 | ||
1553 | void KOMonthView::clearSelection() | 1554 | void KOMonthView::clearSelection() |
1554 | { | 1555 | { |
1555 | if ( mSelectedCell ) { | 1556 | if ( mSelectedCell ) { |
diff --git a/korganizer/komonthview.h b/korganizer/komonthview.h index a29a1a8..bf861ef 100644 --- a/korganizer/komonthview.h +++ b/korganizer/komonthview.h | |||
@@ -1,86 +1,87 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of KOrganizer. | 2 | This file is part of KOrganizer. |
3 | Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> | 3 | Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> |
4 | 4 | ||
5 | This program is free software; you can redistribute it and/or modify | 5 | This program is free software; you can redistribute it and/or modify |
6 | it under the terms of the GNU General Public License as published by | 6 | it under the terms of the GNU General Public License as published by |
7 | the Free Software Foundation; either version 2 of the License, or | 7 | the Free Software Foundation; either version 2 of the License, or |
8 | (at your option) any later version. | 8 | (at your option) any later version. |
9 | 9 | ||
10 | This program is distributed in the hope that it will be useful, | 10 | This program is distributed in the hope that it will be useful, |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | GNU General Public License for more details. | 13 | GNU General Public License for more details. |
14 | 14 | ||
15 | You should have received a copy of the GNU General Public License | 15 | You should have received a copy of the GNU General Public License |
16 | along with this program; if not, write to the Free Software | 16 | along with this program; if not, write to the Free Software |
17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
18 | */ | 18 | */ |
19 | 19 | ||
20 | #ifndef _KOMONTHVIEW_H | 20 | #ifndef _KOMONTHVIEW_H |
21 | #define _KOMONTHVIEW_H | 21 | #define _KOMONTHVIEW_H |
22 | 22 | ||
23 | #include <qlabel.h> | 23 | #include <qlabel.h> |
24 | #include <qframe.h> | 24 | #include <qframe.h> |
25 | #include <qdatetime.h> | 25 | #include <qdatetime.h> |
26 | #include <qlistbox.h> | 26 | #include <qlistbox.h> |
27 | #include <qpoint.h> | 27 | #include <qpoint.h> |
28 | #include <qwidgetstack.h> | 28 | #include <qwidgetstack.h> |
29 | #include <qlayout.h> | 29 | #include <qlayout.h> |
30 | #include <qintdict.h> | 30 | #include <qintdict.h> |
31 | #include <qpushbutton.h> | 31 | #include <qpushbutton.h> |
32 | #include <qvaluelist.h> | 32 | #include <qvaluelist.h> |
33 | #include <qptrvector.h> | 33 | #include <qptrvector.h> |
34 | 34 | ||
35 | #include <libkcal/calendar.h> | 35 | #include <libkcal/calendar.h> |
36 | #include <libkcal/event.h> | 36 | #include <libkcal/event.h> |
37 | 37 | ||
38 | #include "koeventview.h" | 38 | #include "koeventview.h" |
39 | #include "navigatorbar.h" | ||
39 | 40 | ||
40 | #ifdef DESKTOP_VERSION | 41 | #ifdef DESKTOP_VERSION |
41 | class QToolTipGroup; | 42 | class QToolTipGroup; |
42 | #endif | 43 | #endif |
43 | 44 | ||
44 | class KNOWhatsThis; | 45 | class KNOWhatsThis; |
45 | class KOWeekButton : public QPushButton | 46 | class KOWeekButton : public QPushButton |
46 | { | 47 | { |
47 | Q_OBJECT | 48 | Q_OBJECT |
48 | public: | 49 | public: |
49 | KOWeekButton( QWidget *parent=0, const char *name=0 ) : | 50 | KOWeekButton( QWidget *parent=0, const char *name=0 ) : |
50 | QPushButton( parent, name) | 51 | QPushButton( parent, name) |
51 | { | 52 | { |
52 | connect( this, SIGNAL( clicked() ), | 53 | connect( this, SIGNAL( clicked() ), |
53 | SLOT( bottonClicked() )); | 54 | SLOT( bottonClicked() )); |
54 | mNumber = -1; | 55 | mNumber = -1; |
55 | } | 56 | } |
56 | void setWeekNum ( int num ) {mNumber = num; setText( QString::number ( num ));} | 57 | void setWeekNum ( int num ) {mNumber = num; setText( QString::number ( num ));} |
57 | int getWeekNum() { return mNumber;} | 58 | int getWeekNum() { return mNumber;} |
58 | signals: | 59 | signals: |
59 | void selectWeekNum ( int ); | 60 | void selectWeekNum ( int ); |
60 | private: | 61 | private: |
61 | int mNumber; | 62 | int mNumber; |
62 | private slots : | 63 | private slots : |
63 | void bottonClicked() { if ( mNumber > 0 ) emit selectWeekNum ( mNumber ); } | 64 | void bottonClicked() { if ( mNumber > 0 ) emit selectWeekNum ( mNumber ); } |
64 | }; | 65 | }; |
65 | 66 | ||
66 | class KNoScrollListBox: public QListBox | 67 | class KNoScrollListBox: public QListBox |
67 | { | 68 | { |
68 | Q_OBJECT | 69 | Q_OBJECT |
69 | public: | 70 | public: |
70 | KNoScrollListBox(QWidget *parent=0, const char *name=0); | 71 | KNoScrollListBox(QWidget *parent=0, const char *name=0); |
71 | ~KNoScrollListBox(); | 72 | ~KNoScrollListBox(); |
72 | QString getWhatsThisText(QPoint p) ; | 73 | QString getWhatsThisText(QPoint p) ; |
73 | 74 | ||
74 | signals: | 75 | signals: |
75 | void shiftDown(); | 76 | void shiftDown(); |
76 | void shiftUp(); | 77 | void shiftUp(); |
77 | void rightClick(); | 78 | void rightClick(); |
78 | 79 | ||
79 | protected slots: | 80 | protected slots: |
80 | void oneDown(); | 81 | void oneDown(); |
81 | void keyPressEvent(QKeyEvent *); | 82 | void keyPressEvent(QKeyEvent *); |
82 | void keyReleaseEvent(QKeyEvent *); | 83 | void keyReleaseEvent(QKeyEvent *); |
83 | void mousePressEvent(QMouseEvent *); | 84 | void mousePressEvent(QMouseEvent *); |
84 | 85 | ||
85 | private: | 86 | private: |
86 | KNOWhatsThis * mWT; | 87 | KNOWhatsThis * mWT; |
@@ -183,113 +184,114 @@ class MonthViewCell : public QWidget | |||
183 | bool mHoliday; | 184 | bool mHoliday; |
184 | QString mHolidayString; | 185 | QString mHolidayString; |
185 | 186 | ||
186 | //QLabel *mLabel; | 187 | //QLabel *mLabel; |
187 | QPushButton *mLabel; | 188 | QPushButton *mLabel; |
188 | QListBox *mItemList; | 189 | QListBox *mItemList; |
189 | #ifdef DESKTOP_VERSION | 190 | #ifdef DESKTOP_VERSION |
190 | static QToolTipGroup *mToolTipGroup; | 191 | static QToolTipGroup *mToolTipGroup; |
191 | #endif | 192 | #endif |
192 | QSize mLabelSize; | 193 | QSize mLabelSize; |
193 | QSize mLabelBigSize; | 194 | QSize mLabelBigSize; |
194 | QPalette mHolidayPalette; | 195 | QPalette mHolidayPalette; |
195 | QPalette mStandardPalette; | 196 | QPalette mStandardPalette; |
196 | QPalette mPrimaryPalette; | 197 | QPalette mPrimaryPalette; |
197 | QPalette mNonPrimaryPalette; | 198 | QPalette mNonPrimaryPalette; |
198 | void setMyPalette(); | 199 | void setMyPalette(); |
199 | QPalette getPalette (); | 200 | QPalette getPalette (); |
200 | void keyPressEvent ( QKeyEvent * ) ; | 201 | void keyPressEvent ( QKeyEvent * ) ; |
201 | 202 | ||
202 | }; | 203 | }; |
203 | 204 | ||
204 | 205 | ||
205 | class KOMonthView: public KOEventView | 206 | class KOMonthView: public KOEventView |
206 | { | 207 | { |
207 | Q_OBJECT | 208 | Q_OBJECT |
208 | public: | 209 | public: |
209 | KOMonthView(Calendar *cal, QWidget *parent = 0, const char *name = 0 ); | 210 | KOMonthView(Calendar *cal, QWidget *parent = 0, const char *name = 0 ); |
210 | ~KOMonthView(); | 211 | ~KOMonthView(); |
211 | 212 | ||
212 | /** Returns maximum number of days supported by the komonthview */ | 213 | /** Returns maximum number of days supported by the komonthview */ |
213 | virtual int maxDatesHint(); | 214 | virtual int maxDatesHint(); |
214 | 215 | ||
215 | /** Returns number of currently shown dates. */ | 216 | /** Returns number of currently shown dates. */ |
216 | virtual int currentDateCount(); | 217 | virtual int currentDateCount(); |
217 | 218 | ||
218 | /** returns the currently selected events */ | 219 | /** returns the currently selected events */ |
219 | virtual QPtrList<Incidence> selectedIncidences(); | 220 | virtual QPtrList<Incidence> selectedIncidences(); |
220 | 221 | ||
221 | /** returns dates of the currently selected events */ | 222 | /** returns dates of the currently selected events */ |
222 | virtual DateList selectedDates(); | 223 | virtual DateList selectedDates(); |
223 | 224 | ||
224 | virtual void printPreview(CalPrinter *calPrinter, | 225 | virtual void printPreview(CalPrinter *calPrinter, |
225 | const QDate &, const QDate &); | 226 | const QDate &, const QDate &); |
226 | bool isMonthView() { return true; } | 227 | bool isMonthView() { return true; } |
227 | bool isUpdatePossible() { return updatePossible; } | 228 | bool isUpdatePossible() { return updatePossible; } |
228 | 229 | ||
229 | MonthViewCell * selectedCell(); | 230 | MonthViewCell * selectedCell(); |
230 | bool skipResize; | 231 | bool skipResize; |
232 | NavigatorBar* navigatorBar() { return mNavigatorBar ;} | ||
231 | public slots: | 233 | public slots: |
232 | virtual void updateView(); | 234 | virtual void updateView(); |
233 | virtual void updateConfig(); | 235 | virtual void updateConfig(); |
234 | virtual void showDates(const QDate &start, const QDate &end); | 236 | virtual void showDates(const QDate &start, const QDate &end); |
235 | virtual void showEvents(QPtrList<Event> eventList); | 237 | virtual void showEvents(QPtrList<Event> eventList); |
236 | 238 | ||
237 | void changeEventDisplay(Event *, int); | 239 | void changeEventDisplay(Event *, int); |
238 | 240 | ||
239 | void clearSelection(); | 241 | void clearSelection(); |
240 | 242 | ||
241 | void showContextMenu( Incidence * ); | 243 | void showContextMenu( Incidence * ); |
242 | 244 | ||
243 | void setSelectedCell( MonthViewCell * ); | 245 | void setSelectedCell( MonthViewCell * ); |
244 | 246 | ||
245 | protected slots: | 247 | protected slots: |
246 | void selectInternalWeekNum ( int ); | 248 | void selectInternalWeekNum ( int ); |
247 | void switchView(); | 249 | void switchView(); |
248 | void processSelectionChange(); | 250 | void processSelectionChange(); |
249 | signals: | 251 | signals: |
250 | void nextMonth(); | 252 | void nextMonth(); |
251 | void prevMonth(); | 253 | void prevMonth(); |
252 | void showNavigator( bool ); | ||
253 | void selectWeekNum ( int ); | 254 | void selectWeekNum ( int ); |
254 | void showDaySignal( QDate ); | 255 | void showDaySignal( QDate ); |
255 | protected: | 256 | protected: |
256 | void resizeEvent(QResizeEvent *); | 257 | void resizeEvent(QResizeEvent *); |
257 | void viewChanged(); | 258 | void viewChanged(); |
258 | void updateDayLabels(); | 259 | void updateDayLabels(); |
259 | 260 | ||
260 | private: | 261 | private: |
262 | NavigatorBar* mNavigatorBar; | ||
261 | int currentWeek(); | 263 | int currentWeek(); |
262 | bool clPending; | 264 | bool clPending; |
263 | QWidgetStack * mWidStack; | 265 | QWidgetStack * mWidStack; |
264 | QWidget* mMonthView; | 266 | QWidget* mMonthView; |
265 | QWidget* mWeekView; | 267 | QWidget* mWeekView; |
266 | bool mShowWeekView; | 268 | bool mShowWeekView; |
267 | bool updatePossible; | 269 | bool updatePossible; |
268 | int mDaysPerWeek; | 270 | int mDaysPerWeek; |
269 | int mNumWeeks; | 271 | int mNumWeeks; |
270 | int mNumCells; | 272 | int mNumCells; |
271 | bool mWeekStartsMonday; | 273 | bool mWeekStartsMonday; |
272 | bool mShowSatSunComp; | 274 | bool mShowSatSunComp; |
273 | void computeLayout(); | 275 | void computeLayout(); |
274 | void computeLayoutWeek(); | 276 | void computeLayoutWeek(); |
275 | 277 | ||
276 | QPtrVector<MonthViewCell> mCells; | 278 | QPtrVector<MonthViewCell> mCells; |
277 | QPtrVector<QLabel> mDayLabels; | 279 | QPtrVector<QLabel> mDayLabels; |
278 | QPtrVector<KOWeekButton> mWeekLabels; | 280 | QPtrVector<KOWeekButton> mWeekLabels; |
279 | QPtrVector<MonthViewCell> mCellsW; | 281 | QPtrVector<MonthViewCell> mCellsW; |
280 | QPtrVector<QLabel> mDayLabelsW; | 282 | QPtrVector<QLabel> mDayLabelsW; |
281 | QPtrVector<KOWeekButton> mWeekLabelsW; | 283 | QPtrVector<KOWeekButton> mWeekLabelsW; |
282 | 284 | ||
283 | bool mShortDayLabels; | 285 | bool mShortDayLabels; |
284 | int mWidthLongDayLabel; | 286 | int mWidthLongDayLabel; |
285 | 287 | ||
286 | QDate mStartDate; | 288 | QDate mStartDate; |
287 | 289 | ||
288 | MonthViewCell *mSelectedCell; | 290 | MonthViewCell *mSelectedCell; |
289 | 291 | ||
290 | KOEventPopupMenu *mContextMenu; | 292 | KOEventPopupMenu *mContextMenu; |
291 | void keyPressEvent ( QKeyEvent * ) ; | 293 | void keyPressEvent ( QKeyEvent * ) ; |
292 | 294 | ||
293 | }; | 295 | }; |
294 | 296 | ||
295 | #endif | 297 | #endif |
diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp index ba15f7f..b551e2a 100644 --- a/korganizer/koviewmanager.cpp +++ b/korganizer/koviewmanager.cpp | |||
@@ -156,135 +156,120 @@ void KOViewManager::showDateView( int view, QDate date) | |||
156 | 156 | ||
157 | 157 | ||
158 | void KOViewManager::writeSettings(KConfig *config) | 158 | void KOViewManager::writeSettings(KConfig *config) |
159 | { | 159 | { |
160 | config->setGroup("General"); | 160 | config->setGroup("General"); |
161 | 161 | ||
162 | QString view; | 162 | QString view; |
163 | if (mCurrentView == mWhatsNextView) view = "WhatsNext"; | 163 | if (mCurrentView == mWhatsNextView) view = "WhatsNext"; |
164 | else if (mCurrentView == mMonthView) view = "Month"; | 164 | else if (mCurrentView == mMonthView) view = "Month"; |
165 | else if (mCurrentView == mListView) view = "List"; | 165 | else if (mCurrentView == mListView) view = "List"; |
166 | else if (mCurrentView == mJournalView) view = "Journal"; | 166 | else if (mCurrentView == mJournalView) view = "Journal"; |
167 | else if (mCurrentView == mTimeSpanView) view = "TimeSpan"; | 167 | else if (mCurrentView == mTimeSpanView) view = "TimeSpan"; |
168 | else if (mCurrentView == mTodoView) view = "Todo"; | 168 | else if (mCurrentView == mTodoView) view = "Todo"; |
169 | else view = "Agenda"; | 169 | else view = "Agenda"; |
170 | 170 | ||
171 | config->writeEntry("Current View",view); | 171 | config->writeEntry("Current View",view); |
172 | 172 | ||
173 | if (mAgendaView) { | 173 | if (mAgendaView) { |
174 | mAgendaView->writeSettings(config); | 174 | mAgendaView->writeSettings(config); |
175 | } | 175 | } |
176 | if (mTimeSpanView) { | 176 | if (mTimeSpanView) { |
177 | mTimeSpanView->writeSettings(config); | 177 | mTimeSpanView->writeSettings(config); |
178 | } | 178 | } |
179 | if (mListView) { | 179 | if (mListView) { |
180 | mListView->writeSettings(config); | 180 | mListView->writeSettings(config); |
181 | } | 181 | } |
182 | if (mTodoView) { | 182 | if (mTodoView) { |
183 | mTodoView->saveLayout(config,"Todo View"); | 183 | mTodoView->saveLayout(config,"Todo View"); |
184 | } | 184 | } |
185 | } | 185 | } |
186 | 186 | ||
187 | void KOViewManager::showView(KOrg::BaseView *view, bool fullScreen ) | 187 | void KOViewManager::showView(KOrg::BaseView *view, bool fullScreen ) |
188 | { | 188 | { |
189 | 189 | ||
190 | //mFlagShowNextxDays = false; | 190 | //mFlagShowNextxDays = false; |
191 | //if(view == mCurrentView) return; | 191 | //if(view == mCurrentView) return; |
192 | if ( view == 0 ) { | 192 | if ( view == 0 ) { |
193 | view = mCurrentView; | 193 | view = mCurrentView; |
194 | if ( view == 0 ) | 194 | if ( view == 0 ) |
195 | return; | 195 | return; |
196 | } | 196 | } |
197 | bool full = fullScreen; | 197 | bool full = fullScreen; |
198 | if(view == mCurrentView && view != mWhatsNextView ) { | 198 | if(view == mCurrentView && view != mWhatsNextView ) { |
199 | if ( mCurrentAgendaView < 0 ) | 199 | if ( mCurrentAgendaView < 0 ) |
200 | return; | 200 | return; |
201 | full = mMainView->leftFrame()->isVisible(); | 201 | full = mMainView->leftFrame()->isVisible(); |
202 | } else { | 202 | } else { |
203 | if ( view == mMonthView && mMonthView) | 203 | if ( view == mMonthView && mMonthView) |
204 | mMonthView->skipResize = true ; | 204 | ;//mMonthView->skipResize = true ; |
205 | mCurrentView = view; | 205 | mCurrentView = view; |
206 | // bool full = fullScreen; | 206 | // bool full = fullScreen; |
207 | bool isFull = !mMainView->leftFrame()->isVisible(); | 207 | bool isFull = !mMainView->leftFrame()->isVisible(); |
208 | if ( isFull && KOPrefs::instance()->mViewChangeHoldFullscreen ) | 208 | if ( isFull && KOPrefs::instance()->mViewChangeHoldFullscreen ) |
209 | full = true; | 209 | full = true; |
210 | if ( !isFull && KOPrefs::instance()->mViewChangeHoldNonFullscreen ) | 210 | if ( !isFull && KOPrefs::instance()->mViewChangeHoldNonFullscreen ) |
211 | full = false; | 211 | full = false; |
212 | } | 212 | } |
213 | if ( mAgendaView ) mAgendaView->deleteSelectedDateTime(); | 213 | if ( mAgendaView ) mAgendaView->deleteSelectedDateTime(); |
214 | //raiseCurrentView( full ); | 214 | //raiseCurrentView( full ); |
215 | mMainView->processIncidenceSelection( 0 ); | 215 | mMainView->processIncidenceSelection( 0 ); |
216 | //mMainView->updateView(); | 216 | //mMainView->updateView(); |
217 | raiseCurrentView( full, true ); | 217 | raiseCurrentView( full, true ); |
218 | mMainView->adaptNavigationUnits(); | 218 | mMainView->adaptNavigationUnits(); |
219 | } | 219 | } |
220 | 220 | ||
221 | void KOViewManager::raiseCurrentView( bool fullScreen, bool callUpdateView ) | 221 | void KOViewManager::raiseCurrentView( bool fullScreen, bool callUpdateView ) |
222 | { | 222 | { |
223 | mCurrentAgendaView = 0; | 223 | mCurrentAgendaView = 0; |
224 | int wid = mMainView->width() ; | ||
225 | int hei = mMainView->height(); | ||
226 | if ( mCurrentView == mMonthView ) { | ||
227 | if ( true /* !KOPrefs::instance()->mMonthViewWeek*/ ) { | ||
228 | mMainView->navigatorBar()->show(); | ||
229 | hei -= mMainView->navigatorBar()->sizeHint().height(); | ||
230 | } | ||
231 | //mMainView->navigatorBar()->hide(); | ||
232 | } else { | ||
233 | mMainView->navigatorBar()->hide(); | ||
234 | } | ||
235 | if ( fullScreen ) { | 224 | if ( fullScreen ) { |
236 | mMainView->leftFrame()->hide(); | 225 | mMainView->leftFrame()->hide(); |
237 | } else { | 226 | } else { |
238 | mMainView->leftFrame()->show(); | 227 | mMainView->leftFrame()->show(); |
239 | if ( KOPrefs::instance()->mVerticalScreen ) | ||
240 | hei -= mMainView->leftFrame()->height(); | ||
241 | else | ||
242 | wid -= mMainView->leftFrame()->width(); | ||
243 | } | 228 | } |
244 | emit signalFullScreen( !fullScreen ); | 229 | emit signalFullScreen( !fullScreen ); |
245 | if ( callUpdateView ) | 230 | if ( callUpdateView ) |
246 | mMainView->updateView(); | 231 | mMainView->updateView(); |
247 | 232 | ||
248 | if ( globalFlagBlockAgenda == 5 ) { | 233 | if ( globalFlagBlockAgenda == 5 ) { |
249 | globalFlagBlockAgenda = 4; | 234 | globalFlagBlockAgenda = 4; |
250 | globalFlagBlockAgendaItemPaint = 1; | 235 | globalFlagBlockAgendaItemPaint = 1; |
251 | } | 236 | } |
252 | mMainView->viewStack()->raiseWidget(mCurrentView); | 237 | mMainView->viewStack()->raiseWidget(mCurrentView); |
253 | if ( globalFlagBlockAgenda == 4 ) { | 238 | if ( globalFlagBlockAgenda == 4 ) { |
254 | if ( mCurrentView == mAgendaView ) { | 239 | if ( mCurrentView == mAgendaView ) { |
255 | //globalFlagBlockAgenda =1 ; | 240 | //globalFlagBlockAgenda =1 ; |
256 | if ( KOPrefs::instance()->mSetTimeToDayStartAt ) | 241 | if ( KOPrefs::instance()->mSetTimeToDayStartAt ) |
257 | mAgendaView->setStartHour( KOPrefs::instance()->mDayBegins ); | 242 | mAgendaView->setStartHour( KOPrefs::instance()->mDayBegins ); |
258 | else if ( KOPrefs::instance()->mCenterOnCurrentTime ) | 243 | else if ( KOPrefs::instance()->mCenterOnCurrentTime ) |
259 | mAgendaView->setStartHour( QTime::currentTime ().hour() ); | 244 | mAgendaView->setStartHour( QTime::currentTime ().hour() ); |
260 | qApp->processEvents(); | 245 | qApp->processEvents(); |
261 | //qDebug("qApp->processEvents() "); | 246 | //qDebug("qApp->processEvents() "); |
262 | globalFlagBlockAgenda = 0; | 247 | globalFlagBlockAgenda = 0; |
263 | mAgendaView->repaintAgenda(); | 248 | mAgendaView->repaintAgenda(); |
264 | 249 | ||
265 | } | 250 | } |
266 | globalFlagBlockAgenda = 0; | 251 | globalFlagBlockAgenda = 0; |
267 | } | 252 | } |
268 | emit signalAgendaView( mCurrentView == mAgendaView ); | 253 | emit signalAgendaView( mCurrentView == mAgendaView ); |
269 | //qDebug("raiseCurrentView ende "); | 254 | //qDebug("raiseCurrentView ende "); |
270 | 255 | ||
271 | } | 256 | } |
272 | 257 | ||
273 | void KOViewManager::updateView() | 258 | void KOViewManager::updateView() |
274 | { | 259 | { |
275 | // qDebug("KOViewManager::updateView() "); | 260 | // qDebug("KOViewManager::updateView() "); |
276 | // if we are updating mTodoView, we get endless recursion | 261 | // if we are updating mTodoView, we get endless recursion |
277 | if ( mTodoView == mCurrentView ) | 262 | if ( mTodoView == mCurrentView ) |
278 | return; | 263 | return; |
279 | if ( mCurrentView ) mCurrentView->updateView(); | 264 | if ( mCurrentView ) mCurrentView->updateView(); |
280 | 265 | ||
281 | } | 266 | } |
282 | 267 | ||
283 | void KOViewManager::updateView(const QDate &start, const QDate &end) | 268 | void KOViewManager::updateView(const QDate &start, const QDate &end) |
284 | { | 269 | { |
285 | // kdDebug() << "KOViewManager::updateView()" << endl; | 270 | // kdDebug() << "KOViewManager::updateView()" << endl; |
286 | 271 | ||
287 | if (mCurrentView) mCurrentView->showDates(start, end); | 272 | if (mCurrentView) mCurrentView->showDates(start, end); |
288 | 273 | ||
289 | if (mTodoView && mTodoView == mCurrentView ) mTodoView->updateView(); | 274 | if (mTodoView && mTodoView == mCurrentView ) mTodoView->updateView(); |
290 | } | 275 | } |
@@ -482,101 +467,117 @@ void KOViewManager::showNextXView() | |||
482 | if ( mCurrentAgendaView != 3 ) | 467 | if ( mCurrentAgendaView != 3 ) |
483 | mCurrentAgendaView = -1; | 468 | mCurrentAgendaView = -1; |
484 | showAgendaView(KOPrefs::instance()->mFullViewMonth); | 469 | showAgendaView(KOPrefs::instance()->mFullViewMonth); |
485 | globalFlagBlockAgenda = 2; | 470 | globalFlagBlockAgenda = 2; |
486 | mMainView->dateNavigator()->selectDates( QDate::currentDate(), | 471 | mMainView->dateNavigator()->selectDates( QDate::currentDate(), |
487 | KOPrefs::instance()->mNextXDays ); | 472 | KOPrefs::instance()->mNextXDays ); |
488 | mFlagShowNextxDays = true; | 473 | mFlagShowNextxDays = true; |
489 | mCurrentAgendaView = 3 ; | 474 | mCurrentAgendaView = 3 ; |
490 | } | 475 | } |
491 | bool KOViewManager::showsNextDays() | 476 | bool KOViewManager::showsNextDays() |
492 | { | 477 | { |
493 | return mFlagShowNextxDays; | 478 | return mFlagShowNextxDays; |
494 | } | 479 | } |
495 | void KOViewManager::showMonthView() | 480 | void KOViewManager::showMonthView() |
496 | { | 481 | { |
497 | if (!mMonthView) { | 482 | if (!mMonthView) { |
498 | mMonthView = new KOMonthView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::MonthView"); | 483 | mMonthView = new KOMonthView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::MonthView"); |
499 | 484 | ||
500 | addView(mMonthView); | 485 | addView(mMonthView); |
501 | // mMonthView->show(); | 486 | // mMonthView->show(); |
502 | // SIGNALS/SLOTS FOR MONTH VIEW | 487 | // SIGNALS/SLOTS FOR MONTH VIEW |
503 | connect(mMonthView, SIGNAL(newEventSignal(QDateTime)), | 488 | connect(mMonthView, SIGNAL(newEventSignal(QDateTime)), |
504 | mMainView, SLOT(newEvent(QDateTime))); | 489 | mMainView, SLOT(newEvent(QDateTime))); |
505 | 490 | ||
506 | connect(mMonthView, SIGNAL(showIncidenceSignal(Incidence *)), | 491 | connect(mMonthView, SIGNAL(showIncidenceSignal(Incidence *)), |
507 | mMainView, SLOT(showIncidence(Incidence *))); | 492 | mMainView, SLOT(showIncidence(Incidence *))); |
508 | connect(mMonthView, SIGNAL(editIncidenceSignal(Incidence *)), | 493 | connect(mMonthView, SIGNAL(editIncidenceSignal(Incidence *)), |
509 | mMainView, SLOT(editIncidence(Incidence *))); | 494 | mMainView, SLOT(editIncidence(Incidence *))); |
510 | connect(mMonthView, SIGNAL(deleteIncidenceSignal(Incidence *)), | 495 | connect(mMonthView, SIGNAL(deleteIncidenceSignal(Incidence *)), |
511 | mMainView, SLOT(deleteIncidence(Incidence *))); | 496 | mMainView, SLOT(deleteIncidence(Incidence *))); |
512 | 497 | ||
513 | connect( mMonthView, SIGNAL( incidenceSelected( Incidence * ) ), | 498 | connect( mMonthView, SIGNAL( incidenceSelected( Incidence * ) ), |
514 | mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); | 499 | mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); |
515 | connect( mMonthView, SIGNAL( cloneIncidenceSignal( Incidence * ) ), | 500 | connect( mMonthView, SIGNAL( cloneIncidenceSignal( Incidence * ) ), |
516 | mMainView, SLOT ( cloneIncidence( Incidence * ) ) ); | 501 | mMainView, SLOT ( cloneIncidence( Incidence * ) ) ); |
517 | connect( mMonthView, SIGNAL( cancelIncidenceSignal( Incidence * ) ), | 502 | connect( mMonthView, SIGNAL( cancelIncidenceSignal( Incidence * ) ), |
518 | mMainView, SLOT ( cancelIncidence( Incidence * ) ) ); | 503 | mMainView, SLOT ( cancelIncidence( Incidence * ) ) ); |
519 | 504 | ||
520 | connect( mMonthView, SIGNAL( moveIncidenceSignal( Incidence * ) ), | 505 | connect( mMonthView, SIGNAL( moveIncidenceSignal( Incidence * ) ), |
521 | mMainView, SLOT ( moveIncidence( Incidence * ) ) ); | 506 | mMainView, SLOT ( moveIncidence( Incidence * ) ) ); |
522 | connect( mMonthView, SIGNAL( beamIncidenceSignal( Incidence * ) ), | 507 | connect( mMonthView, SIGNAL( beamIncidenceSignal( Incidence * ) ), |
523 | mMainView, SLOT ( beamIncidence( Incidence * ) ) ); | 508 | mMainView, SLOT ( beamIncidence( Incidence * ) ) ); |
524 | connect( mMonthView, SIGNAL( selectWeekNum( int ) ), | 509 | connect( mMonthView, SIGNAL( selectWeekNum( int ) ), |
525 | mMainView->dateNavigator(), SLOT ( selectWeek( int ) ) ); | 510 | mMainView->dateNavigator(), SLOT ( selectWeek( int ) ) ); |
526 | connect( mMonthView, SIGNAL( showDaySignal( QDate ) ), | 511 | connect( mMonthView, SIGNAL( showDaySignal( QDate ) ), |
527 | mMainView, SLOT ( showDay( QDate ) ) ); | 512 | mMainView, SLOT ( showDay( QDate ) ) ); |
528 | connect(mMainView, SIGNAL(configChanged()), mMonthView, SLOT(updateConfig())); | 513 | connect(mMainView, SIGNAL(configChanged()), mMonthView, SLOT(updateConfig())); |
529 | connect( mMonthView, SIGNAL(nextMonth() ), | 514 | connect( mMonthView, SIGNAL(nextMonth() ), |
530 | mMainView->navigatorBar(), SIGNAL(goNextMonth() ) ); | 515 | mMonthView->navigatorBar(), SIGNAL(goNextMonth() ) ); |
531 | connect( mMonthView, SIGNAL(prevMonth() ), | 516 | connect( mMonthView, SIGNAL(prevMonth() ), |
532 | mMainView->navigatorBar(), SIGNAL(goPrevMonth() ) ); | 517 | mMonthView->navigatorBar(), SIGNAL(goPrevMonth() ) ); |
533 | connect( mMonthView, SIGNAL( showNavigator(bool) ), | 518 | connect( mMonthView->navigatorBar(), SIGNAL( goPrevYear() ), |
534 | mMainView, SLOT ( showNavigatorBar(bool) ) ); | 519 | mMainView->dateNavigator(), SLOT( selectPreviousYear() ) ); |
520 | connect( mMonthView->navigatorBar(), SIGNAL( goNextYear() ), | ||
521 | mMainView->dateNavigator(), SLOT( selectNextYear() ) ); | ||
522 | connect( mMonthView->navigatorBar(), SIGNAL( goPrevMonth() ), | ||
523 | mMainView->dateNavigator(), SLOT( selectPreviousMonth() ) ); | ||
524 | connect( mMonthView->navigatorBar(), SIGNAL( goNextMonth() ), | ||
525 | mMainView->dateNavigator(), SLOT( selectNextMonth() ) ); | ||
526 | connect( mMonthView->navigatorBar(), SIGNAL( selectWeek( int ) ), | ||
527 | mMainView->dateNavigator(), SLOT( selectWeek( int ) ) ); | ||
528 | |||
529 | connect( mMainView->dateNavigator(), SIGNAL( datesSelected( const KCal::DateList & ) ), | ||
530 | mMonthView->navigatorBar(), SLOT( selectDates( const KCal::DateList & ) ) ); | ||
531 | |||
532 | |||
533 | connect( mMonthView->navigatorBar(), SIGNAL( monthSelected ( int ) ), | ||
534 | mMainView->dateNavigator(), SLOT( slotMonthSelect( int ) ) ); | ||
535 | |||
535 | } | 536 | } |
536 | 537 | ||
537 | globalFlagBlockAgenda = 1; | 538 | globalFlagBlockAgenda = 1; |
538 | //mFlagShowNextxDays = false; | 539 | //mFlagShowNextxDays = false; |
539 | // if(mMonthView == mCurrentView) return; | 540 | // if(mMonthView == mCurrentView) return; |
540 | if ( KOPrefs::instance()->mMonthViewWeek ) | 541 | if ( KOPrefs::instance()->mMonthViewWeek ) |
541 | mMainView->dateNavigator()->selectWeek(); | 542 | mMainView->dateNavigator()->selectWeek(); |
542 | else | 543 | else |
543 | mMainView->dateNavigator()->selectMonth(); | 544 | mMainView->dateNavigator()->selectMonth(); |
544 | 545 | ||
545 | showView(mMonthView, true ); | 546 | showView(mMonthView, true ); |
546 | 547 | ||
547 | } | 548 | } |
548 | 549 | ||
549 | void KOViewManager::showTodoView() | 550 | void KOViewManager::showTodoView() |
550 | { | 551 | { |
551 | //mFlagShowNextxDays = false; | 552 | //mFlagShowNextxDays = false; |
552 | if ( !mTodoView ) { | 553 | if ( !mTodoView ) { |
553 | mTodoView = new KOTodoView( mMainView->calendar(), mMainView->viewStack(), | 554 | mTodoView = new KOTodoView( mMainView->calendar(), mMainView->viewStack(), |
554 | "KOViewManager::TodoView" ); | 555 | "KOViewManager::TodoView" ); |
555 | 556 | ||
556 | addView( mTodoView ); | 557 | addView( mTodoView ); |
557 | // QPEApplication::setStylusOperation( mTodoView, QPEApplication::RightOnHold ); | 558 | // QPEApplication::setStylusOperation( mTodoView, QPEApplication::RightOnHold ); |
558 | 559 | ||
559 | // SIGNALS/SLOTS FOR TODO VIEW | 560 | // SIGNALS/SLOTS FOR TODO VIEW |
560 | connect( mTodoView, SIGNAL( newTodoSignal() ), | 561 | connect( mTodoView, SIGNAL( newTodoSignal() ), |
561 | mMainView, SLOT( newTodo() ) ); | 562 | mMainView, SLOT( newTodo() ) ); |
562 | connect( mTodoView, SIGNAL( newSubTodoSignal( Todo * ) ), | 563 | connect( mTodoView, SIGNAL( newSubTodoSignal( Todo * ) ), |
563 | mMainView, SLOT( newSubTodo( Todo *) ) ); | 564 | mMainView, SLOT( newSubTodo( Todo *) ) ); |
564 | connect( mTodoView, SIGNAL( showTodoSignal( Todo *) ), | 565 | connect( mTodoView, SIGNAL( showTodoSignal( Todo *) ), |
565 | mMainView, SLOT( showTodo( Todo * ) ) ); | 566 | mMainView, SLOT( showTodo( Todo * ) ) ); |
566 | connect( mTodoView, SIGNAL( editTodoSignal( Todo * ) ), | 567 | connect( mTodoView, SIGNAL( editTodoSignal( Todo * ) ), |
567 | mMainView, SLOT( editTodo( Todo * ) ) ); | 568 | mMainView, SLOT( editTodo( Todo * ) ) ); |
568 | connect( mTodoView, SIGNAL( deleteTodoSignal( Todo * ) ), | 569 | connect( mTodoView, SIGNAL( deleteTodoSignal( Todo * ) ), |
569 | mMainView, SLOT( deleteTodo( Todo * ) ) ); | 570 | mMainView, SLOT( deleteTodo( Todo * ) ) ); |
570 | connect( mTodoView, SIGNAL( purgeCompletedSignal() ), | 571 | connect( mTodoView, SIGNAL( purgeCompletedSignal() ), |
571 | mMainView, SLOT( purgeCompleted() ) ); | 572 | mMainView, SLOT( purgeCompleted() ) ); |
572 | 573 | ||
573 | connect( mTodoView, SIGNAL( incidenceSelected( Incidence * ) ), | 574 | connect( mTodoView, SIGNAL( incidenceSelected( Incidence * ) ), |
574 | mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); | 575 | mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); |
575 | 576 | ||
576 | connect( mMainView, SIGNAL( configChanged() ), mTodoView, | 577 | connect( mMainView, SIGNAL( configChanged() ), mTodoView, |
577 | SLOT( updateConfig() ) ); | 578 | SLOT( updateConfig() ) ); |
578 | connect( mMainView, SIGNAL( todoModified( Todo *, int )), mTodoView, | 579 | connect( mMainView, SIGNAL( todoModified( Todo *, int )), mTodoView, |
579 | SLOT( updateTodo( Todo *, int ) ) ); | 580 | SLOT( updateTodo( Todo *, int ) ) ); |
580 | connect( mTodoView, SIGNAL( todoModifiedSignal( Todo *, int ) ), | 581 | connect( mTodoView, SIGNAL( todoModifiedSignal( Todo *, int ) ), |
581 | mMainView, SIGNAL ( todoModified( Todo *, int ) ) ); | 582 | mMainView, SIGNAL ( todoModified( Todo *, int ) ) ); |
582 | connect( mTodoView, SIGNAL( cloneTodoSignal( Incidence * ) ), | 583 | connect( mTodoView, SIGNAL( cloneTodoSignal( Incidence * ) ), |
diff --git a/korganizer/navigatorbar.cpp b/korganizer/navigatorbar.cpp index 657f98d..f05e6f6 100644 --- a/korganizer/navigatorbar.cpp +++ b/korganizer/navigatorbar.cpp | |||
@@ -109,93 +109,94 @@ NavigatorBar::NavigatorBar( const QDate & date, QWidget *parent, const char *nam | |||
109 | // Set minimum width to width of widest month name label | 109 | // Set minimum width to width of widest month name label |
110 | int i; | 110 | int i; |
111 | int maxwidth = 0; | 111 | int maxwidth = 0; |
112 | QFontMetrics fm ( mSelectMonth->font() ); | 112 | QFontMetrics fm ( mSelectMonth->font() ); |
113 | int width = fm.width("September '00" ); | 113 | int width = fm.width("September '00" ); |
114 | // for( i = 1; i <= KOGlobals::self()->calendarSystem()->monthsInYear(date); | 114 | // for( i = 1; i <= KOGlobals::self()->calendarSystem()->monthsInYear(date); |
115 | // ++i ) { | 115 | // ++i ) { |
116 | // //int width = fm.width( KOGlobals::self()->calendarSystem()->monthName(i, | 116 | // //int width = fm.width( KOGlobals::self()->calendarSystem()->monthName(i, |
117 | // // KOGlobals::self()->calendarSystem()->year(date) ) + " 2000" ); | 117 | // // KOGlobals::self()->calendarSystem()->year(date) ) + " 2000" ); |
118 | // int width = fm.width("September 2000" ); | 118 | // int width = fm.width("September 2000" ); |
119 | // if ( width > maxwidth ) maxwidth = width; | 119 | // if ( width > maxwidth ) maxwidth = width; |
120 | // } | 120 | // } |
121 | maxwidth = width+2; | 121 | maxwidth = width+2; |
122 | int size = fm.height()+2; | 122 | int size = fm.height()+2; |
123 | if ( QApplication::desktop()->width() >= 480 ) { | 123 | if ( QApplication::desktop()->width() >= 480 ) { |
124 | size += 6; | 124 | size += 6; |
125 | maxwidth+= 6; | 125 | maxwidth+= 6; |
126 | } | 126 | } |
127 | 127 | ||
128 | mSelectMonth->setFixedWidth( maxwidth ); | 128 | mSelectMonth->setFixedWidth( maxwidth ); |
129 | mSelectMonth->setFixedHeight( size ); | 129 | mSelectMonth->setFixedHeight( size ); |
130 | mPrevYear->setFixedHeight( size ); | 130 | mPrevYear->setFixedHeight( size ); |
131 | mPrevMonth->setFixedHeight( size ); | 131 | mPrevMonth->setFixedHeight( size ); |
132 | mNextMonth->setFixedHeight( size ); | 132 | mNextMonth->setFixedHeight( size ); |
133 | mNextYear->setFixedHeight ( size ); | 133 | mNextYear->setFixedHeight ( size ); |
134 | // set up control frame layout | 134 | // set up control frame layout |
135 | QBoxLayout *ctrlLayout = new QHBoxLayout( mCtrlFrame, 1 ); | 135 | QBoxLayout *ctrlLayout = new QHBoxLayout( mCtrlFrame, 1 ); |
136 | ctrlLayout->addWidget( mPrevYear, 3 ); | 136 | ctrlLayout->addWidget( mPrevYear, 3 ); |
137 | ctrlLayout->addWidget( mPrevMonth, 3 ); | 137 | ctrlLayout->addWidget( mPrevMonth, 3 ); |
138 | //ctrlLayout->addStretch( 1 ); | 138 | //ctrlLayout->addStretch( 1 ); |
139 | // ctrlLayout->addSpacing( 1 ); | 139 | // ctrlLayout->addSpacing( 1 ); |
140 | // ctrlLayout->addWidget( mDateLabel ); | 140 | // ctrlLayout->addWidget( mDateLabel ); |
141 | ctrlLayout->addWidget( mSelectMonth ); | 141 | ctrlLayout->addWidget( mSelectMonth ); |
142 | // ctrlLayout->addSpacing( 1 ); | 142 | // ctrlLayout->addSpacing( 1 ); |
143 | // ctrlLayout->addStretch( 1 ); | 143 | // ctrlLayout->addStretch( 1 ); |
144 | ctrlLayout->addWidget( mNextMonth, 3 ); | 144 | ctrlLayout->addWidget( mNextMonth, 3 ); |
145 | ctrlLayout->addWidget( mNextYear, 3 ); | 145 | ctrlLayout->addWidget( mNextYear, 3 ); |
146 | 146 | ||
147 | connect( mPrevYear, SIGNAL( clicked() ), SIGNAL( goPrevYear() ) ); | 147 | connect( mPrevYear, SIGNAL( clicked() ), SIGNAL( goPrevYear() ) ); |
148 | connect( mPrevMonth, SIGNAL( clicked() ), SIGNAL( goPrevMonth() ) ); | 148 | connect( mPrevMonth, SIGNAL( clicked() ), SIGNAL( goPrevMonth() ) ); |
149 | connect( mNextMonth, SIGNAL( clicked() ), SIGNAL( goNextMonth() ) ); | 149 | connect( mNextMonth, SIGNAL( clicked() ), SIGNAL( goNextMonth() ) ); |
150 | connect( mNextYear, SIGNAL( clicked() ), SIGNAL( goNextYear() ) ); | 150 | connect( mNextYear, SIGNAL( clicked() ), SIGNAL( goNextYear() ) ); |
151 | connect( mSelectMonth, SIGNAL( clicked() ),SLOT( selectMonth() ) ); | 151 | connect( mSelectMonth, SIGNAL( clicked() ),SLOT( selectMonth() ) ); |
152 | mPrevYear->setFocusPolicy(NoFocus); | 152 | mPrevYear->setFocusPolicy(NoFocus); |
153 | mPrevMonth->setFocusPolicy(NoFocus); | 153 | mPrevMonth->setFocusPolicy(NoFocus); |
154 | mNextMonth->setFocusPolicy(NoFocus); | 154 | mNextMonth->setFocusPolicy(NoFocus); |
155 | mNextYear->setFocusPolicy(NoFocus); | 155 | mNextYear->setFocusPolicy(NoFocus); |
156 | mSelectMonth->setFocusPolicy(NoFocus); | 156 | mSelectMonth->setFocusPolicy(NoFocus); |
157 | setSizePolicy( QSizePolicy ( QSizePolicy::Expanding ,QSizePolicy::Fixed ) ); | ||
157 | 158 | ||
158 | } | 159 | } |
159 | 160 | ||
160 | NavigatorBar::~NavigatorBar() | 161 | NavigatorBar::~NavigatorBar() |
161 | { | 162 | { |
162 | } | 163 | } |
163 | 164 | ||
164 | void NavigatorBar::selectMonth() | 165 | void NavigatorBar::selectMonth() |
165 | { | 166 | { |
166 | 167 | ||
167 | int month; | 168 | int month; |
168 | KPopupFrame* popup = new KPopupFrame(this); | 169 | KPopupFrame* popup = new KPopupFrame(this); |
169 | int size = 12; | 170 | int size = 12; |
170 | if ( QApplication::desktop()->width() >= 480 ) | 171 | if ( QApplication::desktop()->width() >= 480 ) |
171 | size = 18; | 172 | size = 18; |
172 | KDateInternalMonthPicker* picker = new KDateInternalMonthPicker(size, popup); | 173 | KDateInternalMonthPicker* picker = new KDateInternalMonthPicker(size, popup); |
173 | // ----- | 174 | // ----- |
174 | picker->resize(picker->sizeHint()); | 175 | picker->resize(picker->sizeHint()); |
175 | popup->setMainWidget(picker); | 176 | popup->setMainWidget(picker); |
176 | picker->setFocus(); | 177 | picker->setFocus(); |
177 | connect(picker, SIGNAL(closeMe(int)), popup, SLOT(close(int))); | 178 | connect(picker, SIGNAL(closeMe(int)), popup, SLOT(close(int))); |
178 | if(popup->exec(mSelectMonth->mapToGlobal(QPoint(0, mSelectMonth->height())))) | 179 | if(popup->exec(mSelectMonth->mapToGlobal(QPoint(0, mSelectMonth->height())))) |
179 | { | 180 | { |
180 | month = picker->getResult(); | 181 | month = picker->getResult(); |
181 | emit monthSelected ( month ); | 182 | emit monthSelected ( month ); |
182 | } else { | 183 | } else { |
183 | KNotifyClient::beep(); | 184 | KNotifyClient::beep(); |
184 | } | 185 | } |
185 | delete popup; | 186 | delete popup; |
186 | } | 187 | } |
187 | void NavigatorBar::selectDates( const KCal::DateList &dateList ) | 188 | void NavigatorBar::selectDates( const KCal::DateList &dateList ) |
188 | { | 189 | { |
189 | if (dateList.count() > 0) { | 190 | if (dateList.count() > 0) { |
190 | QDate date = dateList.first(); | 191 | QDate date = dateList.first(); |
191 | 192 | ||
192 | const KCalendarSystem *calSys = KOGlobals::self()->calendarSystem(); | 193 | const KCalendarSystem *calSys = KOGlobals::self()->calendarSystem(); |
193 | 194 | ||
194 | // compute the label at the top of the navigator | 195 | // compute the label at the top of the navigator |
195 | QString dtstr = i18n(calSys->monthName( date )) + " '" + | 196 | QString dtstr = i18n(calSys->monthName( date )) + " '" + |
196 | QString::number( calSys->year( date ) ).right(2); | 197 | QString::number( calSys->year( date ) ).right(2); |
197 | 198 | ||
198 | mSelectMonth->setText( dtstr ); | 199 | mSelectMonth->setText( dtstr ); |
199 | } | 200 | } |
200 | } | 201 | } |
201 | 202 | ||
diff --git a/libkdepim/categoryselectdialog.cpp b/libkdepim/categoryselectdialog.cpp index 8b2bc4e..8038934 100644 --- a/libkdepim/categoryselectdialog.cpp +++ b/libkdepim/categoryselectdialog.cpp | |||
@@ -97,124 +97,123 @@ void CategorySelectDialog::setSelected(const QStringList &selList) | |||
97 | if ( ! found ) | 97 | if ( ! found ) |
98 | setColorItem( item ); | 98 | setColorItem( item ); |
99 | found = true; | 99 | found = true; |
100 | break; | 100 | break; |
101 | } | 101 | } |
102 | item = (QCheckListItem *)item->nextSibling(); | 102 | item = (QCheckListItem *)item->nextSibling(); |
103 | } | 103 | } |
104 | // if ( ! found ) { | 104 | // if ( ! found ) { |
105 | 105 | ||
106 | //emit updateCategoriesGlobal(); | 106 | //emit updateCategoriesGlobal(); |
107 | // QMessageBox::information( this, "KO/E: Information!", | 107 | // QMessageBox::information( this, "KO/E: Information!", |
108 | // "Categories found, which were not\n" | 108 | // "Categories found, which were not\n" |
109 | // "in list of categories!\n" | 109 | // "in list of categories!\n" |
110 | // "message", | 110 | // "message", |
111 | // "OK", "", 0, | 111 | // "OK", "", 0, |
112 | // 0, 1 ); | 112 | // 0, 1 ); |
113 | // setSelected(selList); | 113 | // setSelected(selList); |
114 | // return; | 114 | // return; |
115 | // } | 115 | // } |
116 | } | 116 | } |
117 | } | 117 | } |
118 | 118 | ||
119 | QStringList CategorySelectDialog::selectedCategories() const | 119 | QStringList CategorySelectDialog::selectedCategories() const |
120 | { | 120 | { |
121 | return mCategoryList; | 121 | return mCategoryList; |
122 | } | 122 | } |
123 | void CategorySelectDialog::setColorEnabled() | 123 | void CategorySelectDialog::setColorEnabled() |
124 | { | 124 | { |
125 | mColorEnabled = true; | 125 | mColorEnabled = true; |
126 | mSetColorCat->show(); | 126 | mSetColorCat->show(); |
127 | } | 127 | } |
128 | void CategorySelectDialog::setColorCat() | 128 | void CategorySelectDialog::setColorCat() |
129 | { | 129 | { |
130 | QCheckListItem * newColorItem = (QCheckListItem * )mCategories->currentItem (); | 130 | QCheckListItem * newColorItem = (QCheckListItem * )mCategories->currentItem (); |
131 | if ( !newColorItem ) { | 131 | if ( !newColorItem ) { |
132 | KMessageBox::error(this,i18n("There is no current item.")); | 132 | KMessageBox::error(this,i18n("There is no current item.")); |
133 | return; | 133 | return; |
134 | } | 134 | } |
135 | if ( !newColorItem->isOn() ) | 135 | if ( !newColorItem->isOn() ) |
136 | newColorItem->setOn( true ); | 136 | newColorItem->setOn( true ); |
137 | setColorItem( newColorItem ); | 137 | setColorItem( newColorItem ); |
138 | 138 | ||
139 | } | 139 | } |
140 | void CategorySelectDialog::clicked ( QListViewItem * it ) | 140 | void CategorySelectDialog::clicked ( QListViewItem * it ) |
141 | { | 141 | { |
142 | if ( ! it ) | 142 | if ( ! it ) |
143 | return; | 143 | return; |
144 | QCheckListItem *i = (QCheckListItem *) it; | 144 | QCheckListItem *i = (QCheckListItem *) it; |
145 | qDebug("click %d ", i->isOn()); | ||
146 | if ( !i->isOn() && i==mColorItem) { | 145 | if ( !i->isOn() && i==mColorItem) { |
147 | setColorItem( 0); | 146 | setColorItem( 0); |
148 | QCheckListItem *item = (QCheckListItem *)mCategories->firstChild(); | 147 | QCheckListItem *item = (QCheckListItem *)mCategories->firstChild(); |
149 | while (item) { | 148 | while (item) { |
150 | if (item->isOn()) { | 149 | if (item->isOn()) { |
151 | setColorItem( item ); | 150 | setColorItem( item ); |
152 | break; | 151 | break; |
153 | } | 152 | } |
154 | item = (QCheckListItem *)item->nextSibling(); | 153 | item = (QCheckListItem *)item->nextSibling(); |
155 | } | 154 | } |
156 | } else if ( i->isOn() && !mColorItem) { | 155 | } else if ( i->isOn() && !mColorItem) { |
157 | setColorItem( i); | 156 | setColorItem( i); |
158 | } | 157 | } |
159 | } | 158 | } |
160 | void CategorySelectDialog::setColorItem( QCheckListItem * newColorItem ) | 159 | void CategorySelectDialog::setColorItem( QCheckListItem * newColorItem ) |
161 | { | 160 | { |
162 | if ( !mColorEnabled ) | 161 | if ( !mColorEnabled ) |
163 | return; | 162 | return; |
164 | if ( mColorItem == newColorItem) | 163 | if ( mColorItem == newColorItem) |
165 | return; | 164 | return; |
166 | if ( mColorItem ) { | 165 | if ( mColorItem ) { |
167 | mColorItem->setPixmap ( 0, QPixmap() ); | 166 | mColorItem->setPixmap ( 0, QPixmap() ); |
168 | mColorItem = 0; | 167 | mColorItem = 0; |
169 | } | 168 | } |
170 | if ( newColorItem ) { | 169 | if ( newColorItem ) { |
171 | QPixmap pix (newColorItem->height()/2, newColorItem->height()/2 ); | 170 | QPixmap pix (newColorItem->height()/2, newColorItem->height()/2 ); |
172 | pix.fill(Qt::blue ); | 171 | pix.fill(Qt::red ); |
173 | newColorItem->setPixmap ( 0, pix ); | 172 | newColorItem->setPixmap ( 0, pix ); |
174 | mColorItem = newColorItem; | 173 | mColorItem = newColorItem; |
175 | } | 174 | } |
176 | } | 175 | } |
177 | void CategorySelectDialog::slotApply() | 176 | void CategorySelectDialog::slotApply() |
178 | { | 177 | { |
179 | QStringList categories; | 178 | QStringList categories; |
180 | QCheckListItem *item = (QCheckListItem *)mCategories->firstChild(); | 179 | QCheckListItem *item = (QCheckListItem *)mCategories->firstChild(); |
181 | QString colcat; | 180 | QString colcat; |
182 | while (item) { | 181 | while (item) { |
183 | if (item->isOn()) { | 182 | if (item->isOn()) { |
184 | if ( item == mColorItem) | 183 | if ( item == mColorItem) |
185 | colcat = item->text(); | 184 | colcat = item->text(); |
186 | else | 185 | else |
187 | categories.append(item->text()); | 186 | categories.append(item->text()); |
188 | } | 187 | } |
189 | item = (QCheckListItem *)item->nextSibling(); | 188 | item = (QCheckListItem *)item->nextSibling(); |
190 | } | 189 | } |
191 | categories.sort(); | 190 | categories.sort(); |
192 | if ( ! colcat.isEmpty() ) | 191 | if ( ! colcat.isEmpty() ) |
193 | categories.prepend( colcat ); | 192 | categories.prepend( colcat ); |
194 | QString categoriesStr = categories.join(","); | 193 | QString categoriesStr = categories.join(","); |
195 | 194 | ||
196 | mCategoryList = categories; | 195 | mCategoryList = categories; |
197 | 196 | ||
198 | emit categoriesSelected(categories); | 197 | emit categoriesSelected(categories); |
199 | emit categoriesSelected(categoriesStr); | 198 | emit categoriesSelected(categoriesStr); |
200 | } | 199 | } |
201 | void CategorySelectDialog::accept() | 200 | void CategorySelectDialog::accept() |
202 | { | 201 | { |
203 | slotOk(); | 202 | slotOk(); |
204 | } | 203 | } |
205 | 204 | ||
206 | void CategorySelectDialog::slotOk() | 205 | void CategorySelectDialog::slotOk() |
207 | { | 206 | { |
208 | slotApply(); | 207 | slotApply(); |
209 | QDialog::accept(); | 208 | QDialog::accept(); |
210 | } | 209 | } |
211 | 210 | ||
212 | void CategorySelectDialog::clear() | 211 | void CategorySelectDialog::clear() |
213 | { | 212 | { |
214 | QCheckListItem *item = (QCheckListItem *)mCategories->firstChild(); | 213 | QCheckListItem *item = (QCheckListItem *)mCategories->firstChild(); |
215 | while (item) { | 214 | while (item) { |
216 | item->setOn(false); | 215 | item->setOn(false); |
217 | item = (QCheckListItem *)item->nextSibling(); | 216 | item = (QCheckListItem *)item->nextSibling(); |
218 | } | 217 | } |
219 | } | 218 | } |
220 | 219 | ||