-rw-r--r-- | korganizer/calendarview.cpp | 14 | ||||
-rw-r--r-- | korganizer/kolistview.cpp | 4 | ||||
-rw-r--r-- | korganizer/koprefs.cpp | 3 | ||||
-rw-r--r-- | korganizer/koprefs.h | 1 | ||||
-rw-r--r-- | korganizer/searchdialog.cpp | 4 |
5 files changed, 24 insertions, 2 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 4b3f806..558fc55 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp | |||
@@ -2574,192 +2574,201 @@ void CalendarView::updateConfig() | |||
2574 | mCalendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); | 2574 | mCalendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); |
2575 | // To make the "fill window" configurations work | 2575 | // To make the "fill window" configurations work |
2576 | //mViewManager->raiseCurrentView(); | 2576 | //mViewManager->raiseCurrentView(); |
2577 | } | 2577 | } |
2578 | 2578 | ||
2579 | 2579 | ||
2580 | void CalendarView::eventChanged(Event *event) | 2580 | void CalendarView::eventChanged(Event *event) |
2581 | { | 2581 | { |
2582 | changeEventDisplay(event,KOGlobals::EVENTEDITED); | 2582 | changeEventDisplay(event,KOGlobals::EVENTEDITED); |
2583 | //updateUnmanagedViews(); | 2583 | //updateUnmanagedViews(); |
2584 | } | 2584 | } |
2585 | 2585 | ||
2586 | void CalendarView::eventAdded(Event *event) | 2586 | void CalendarView::eventAdded(Event *event) |
2587 | { | 2587 | { |
2588 | changeEventDisplay(event,KOGlobals::EVENTADDED); | 2588 | changeEventDisplay(event,KOGlobals::EVENTADDED); |
2589 | } | 2589 | } |
2590 | 2590 | ||
2591 | void CalendarView::eventToBeDeleted(Event *) | 2591 | void CalendarView::eventToBeDeleted(Event *) |
2592 | { | 2592 | { |
2593 | kdDebug() << "CalendarView::eventToBeDeleted(): to be implemented" << endl; | 2593 | kdDebug() << "CalendarView::eventToBeDeleted(): to be implemented" << endl; |
2594 | } | 2594 | } |
2595 | 2595 | ||
2596 | void CalendarView::eventDeleted() | 2596 | void CalendarView::eventDeleted() |
2597 | { | 2597 | { |
2598 | changeEventDisplay(0,KOGlobals::EVENTDELETED); | 2598 | changeEventDisplay(0,KOGlobals::EVENTDELETED); |
2599 | } | 2599 | } |
2600 | void CalendarView::changeTodoDisplay(Todo *which, int action) | 2600 | void CalendarView::changeTodoDisplay(Todo *which, int action) |
2601 | { | 2601 | { |
2602 | changeIncidenceDisplay((Incidence *)which, action); | 2602 | changeIncidenceDisplay((Incidence *)which, action); |
2603 | mDateNavigator->updateView(); //LR | 2603 | mDateNavigator->updateView(); //LR |
2604 | //mDialogManager->updateSearchDialog(); | 2604 | //mDialogManager->updateSearchDialog(); |
2605 | 2605 | ||
2606 | if (which) { | 2606 | if (which) { |
2607 | mViewManager->updateWNview(); | 2607 | mViewManager->updateWNview(); |
2608 | //mTodoList->updateView(); | 2608 | //mTodoList->updateView(); |
2609 | } | 2609 | } |
2610 | 2610 | ||
2611 | } | 2611 | } |
2612 | 2612 | ||
2613 | void CalendarView::changeIncidenceDisplay(Incidence *which, int action) | 2613 | void CalendarView::changeIncidenceDisplay(Incidence *which, int action) |
2614 | { | 2614 | { |
2615 | updateUnmanagedViews(); | 2615 | updateUnmanagedViews(); |
2616 | //qDebug(" CalendarView::changeIncidenceDisplay++++++++++++++++++++++++++ %d %d ",which, action ); | 2616 | //qDebug(" CalendarView::changeIncidenceDisplay++++++++++++++++++++++++++ %d %d ",which, action ); |
2617 | if ( action == KOGlobals::EVENTDELETED ) { //delete | 2617 | if ( action == KOGlobals::EVENTDELETED ) { //delete |
2618 | mCalendar->checkAlarmForIncidence( 0, true ); | 2618 | mCalendar->checkAlarmForIncidence( 0, true ); |
2619 | if ( mEventViewerDialog ) | 2619 | if ( mEventViewerDialog ) |
2620 | mEventViewerDialog->hide(); | 2620 | mEventViewerDialog->hide(); |
2621 | } | 2621 | } |
2622 | else | 2622 | else |
2623 | mCalendar->checkAlarmForIncidence( which , false ); | 2623 | mCalendar->checkAlarmForIncidence( which , false ); |
2624 | } | 2624 | } |
2625 | 2625 | ||
2626 | // most of the changeEventDisplays() right now just call the view's | 2626 | // most of the changeEventDisplays() right now just call the view's |
2627 | // total update mode, but they SHOULD be recoded to be more refresh-efficient. | 2627 | // total update mode, but they SHOULD be recoded to be more refresh-efficient. |
2628 | void CalendarView::changeEventDisplay(Event *which, int action) | 2628 | void CalendarView::changeEventDisplay(Event *which, int action) |
2629 | { | 2629 | { |
2630 | // kdDebug() << "CalendarView::changeEventDisplay" << endl; | 2630 | // kdDebug() << "CalendarView::changeEventDisplay" << endl; |
2631 | changeIncidenceDisplay((Incidence *)which, action); | 2631 | changeIncidenceDisplay((Incidence *)which, action); |
2632 | mDateNavigator->updateView(); | 2632 | mDateNavigator->updateView(); |
2633 | //mDialogManager->updateSearchDialog(); | 2633 | //mDialogManager->updateSearchDialog(); |
2634 | 2634 | ||
2635 | if (which) { | 2635 | if (which) { |
2636 | // If there is an event view visible update the display | 2636 | // If there is an event view visible update the display |
2637 | mViewManager->currentView()->changeEventDisplay(which,action); | 2637 | mViewManager->currentView()->changeEventDisplay(which,action); |
2638 | // TODO: check, if update needed | 2638 | // TODO: check, if update needed |
2639 | // if (which->getTodoStatus()) { | 2639 | // if (which->getTodoStatus()) { |
2640 | mTodoList->updateView(); | 2640 | mTodoList->updateView(); |
2641 | // } | 2641 | // } |
2642 | } else { | 2642 | } else { |
2643 | mViewManager->currentView()->updateView(); | 2643 | mViewManager->currentView()->updateView(); |
2644 | } | 2644 | } |
2645 | } | 2645 | } |
2646 | 2646 | ||
2647 | 2647 | ||
2648 | void CalendarView::updateTodoViews() | 2648 | void CalendarView::updateTodoViews() |
2649 | { | 2649 | { |
2650 | mTodoList->updateView(); | 2650 | mTodoList->updateView(); |
2651 | mViewManager->currentView()->updateView(); | 2651 | mViewManager->currentView()->updateView(); |
2652 | 2652 | ||
2653 | } | 2653 | } |
2654 | 2654 | ||
2655 | 2655 | ||
2656 | 2656 | ||
2657 | void CalendarView::clearAllViews() | 2657 | void CalendarView::clearAllViews() |
2658 | { | 2658 | { |
2659 | mTodoList->clearList(); | 2659 | mTodoList->clearList(); |
2660 | mViewManager->clearAllViews(); | 2660 | mViewManager->clearAllViews(); |
2661 | SearchDialog * sd = mDialogManager->getSearchDialog(); | 2661 | SearchDialog * sd = mDialogManager->getSearchDialog(); |
2662 | if ( sd ) { | 2662 | if ( sd ) { |
2663 | KOListView* kol = sd->listview(); | 2663 | KOListView* kol = sd->listview(); |
2664 | if ( kol ) | 2664 | if ( kol ) |
2665 | kol->clearList(); | 2665 | kol->clearList(); |
2666 | } | 2666 | } |
2667 | } | 2667 | } |
2668 | void CalendarView::updateView() | 2668 | void CalendarView::updateView() |
2669 | { | 2669 | { |
2670 | static bool clearallviews = false; | ||
2671 | if ( KOPrefs::instance()->mGlobalUpdateDisabled ) { | ||
2672 | if ( clearallviews ) { | ||
2673 | clearAllViews(); | ||
2674 | clearallviews = false; | ||
2675 | } | ||
2676 | return; | ||
2677 | } | ||
2678 | clearallviews = true; | ||
2670 | DateList tmpList = mNavigator->selectedDates(); | 2679 | DateList tmpList = mNavigator->selectedDates(); |
2671 | 2680 | ||
2672 | if ( KOPrefs::instance()->mHideNonStartedTodos ) | 2681 | if ( KOPrefs::instance()->mHideNonStartedTodos ) |
2673 | mTodoList->updateView(); | 2682 | mTodoList->updateView(); |
2674 | // We assume that the navigator only selects consecutive days. | 2683 | // We assume that the navigator only selects consecutive days. |
2675 | updateView( tmpList.first(), tmpList.last() ); | 2684 | updateView( tmpList.first(), tmpList.last() ); |
2676 | } | 2685 | } |
2677 | 2686 | ||
2678 | void CalendarView::updateUnmanagedViews() | 2687 | void CalendarView::updateUnmanagedViews() |
2679 | { | 2688 | { |
2680 | mDateNavigator->updateDayMatrix(); | 2689 | mDateNavigator->updateDayMatrix(); |
2681 | } | 2690 | } |
2682 | 2691 | ||
2683 | int CalendarView::msgItemDelete(const QString name) | 2692 | int CalendarView::msgItemDelete(const QString name) |
2684 | { | 2693 | { |
2685 | return KMessageBox::warningContinueCancel(this,name +"\n\n"+ | 2694 | return KMessageBox::warningContinueCancel(this,name +"\n\n"+ |
2686 | i18n("This item will be\npermanently deleted."), | 2695 | i18n("This item will be\npermanently deleted."), |
2687 | i18n("KO/Pi Confirmation"),i18n("Delete")); | 2696 | i18n("KO/Pi Confirmation"),i18n("Delete")); |
2688 | } | 2697 | } |
2689 | 2698 | ||
2690 | 2699 | ||
2691 | void CalendarView::edit_cut() | 2700 | void CalendarView::edit_cut() |
2692 | { | 2701 | { |
2693 | Event *anEvent=0; | 2702 | Event *anEvent=0; |
2694 | 2703 | ||
2695 | Incidence *incidence = mViewManager->currentView()->selectedIncidences().first(); | 2704 | Incidence *incidence = mViewManager->currentView()->selectedIncidences().first(); |
2696 | 2705 | ||
2697 | if (mViewManager->currentView()->isEventView()) { | 2706 | if (mViewManager->currentView()->isEventView()) { |
2698 | if ( incidence && incidence->typeID() == eventID ) { | 2707 | if ( incidence && incidence->typeID() == eventID ) { |
2699 | anEvent = static_cast<Event *>(incidence); | 2708 | anEvent = static_cast<Event *>(incidence); |
2700 | } | 2709 | } |
2701 | } | 2710 | } |
2702 | 2711 | ||
2703 | if (!anEvent) { | 2712 | if (!anEvent) { |
2704 | KNotifyClient::beep(); | 2713 | KNotifyClient::beep(); |
2705 | return; | 2714 | return; |
2706 | } | 2715 | } |
2707 | DndFactory factory( mCalendar ); | 2716 | DndFactory factory( mCalendar ); |
2708 | factory.cutIncidence(anEvent); | 2717 | factory.cutIncidence(anEvent); |
2709 | changeEventDisplay(anEvent, KOGlobals::EVENTDELETED); | 2718 | changeEventDisplay(anEvent, KOGlobals::EVENTDELETED); |
2710 | } | 2719 | } |
2711 | 2720 | ||
2712 | void CalendarView::edit_copy() | 2721 | void CalendarView::edit_copy() |
2713 | { | 2722 | { |
2714 | Event *anEvent=0; | 2723 | Event *anEvent=0; |
2715 | 2724 | ||
2716 | Incidence *incidence = mViewManager->currentView()->selectedIncidences().first(); | 2725 | Incidence *incidence = mViewManager->currentView()->selectedIncidences().first(); |
2717 | 2726 | ||
2718 | if (mViewManager->currentView()->isEventView()) { | 2727 | if (mViewManager->currentView()->isEventView()) { |
2719 | if ( incidence && incidence->typeID() == eventID ) { | 2728 | if ( incidence && incidence->typeID() == eventID ) { |
2720 | anEvent = static_cast<Event *>(incidence); | 2729 | anEvent = static_cast<Event *>(incidence); |
2721 | } | 2730 | } |
2722 | } | 2731 | } |
2723 | 2732 | ||
2724 | if (!anEvent) { | 2733 | if (!anEvent) { |
2725 | KNotifyClient::beep(); | 2734 | KNotifyClient::beep(); |
2726 | return; | 2735 | return; |
2727 | } | 2736 | } |
2728 | DndFactory factory( mCalendar ); | 2737 | DndFactory factory( mCalendar ); |
2729 | factory.copyIncidence(anEvent); | 2738 | factory.copyIncidence(anEvent); |
2730 | } | 2739 | } |
2731 | 2740 | ||
2732 | void CalendarView::edit_paste() | 2741 | void CalendarView::edit_paste() |
2733 | { | 2742 | { |
2734 | QDate date = mNavigator->selectedDates().first(); | 2743 | QDate date = mNavigator->selectedDates().first(); |
2735 | 2744 | ||
2736 | DndFactory factory( mCalendar ); | 2745 | DndFactory factory( mCalendar ); |
2737 | Event *pastedEvent = (Event *)factory.pasteIncidence( date ); | 2746 | Event *pastedEvent = (Event *)factory.pasteIncidence( date ); |
2738 | 2747 | ||
2739 | changeEventDisplay( pastedEvent, KOGlobals::EVENTADDED ); | 2748 | changeEventDisplay( pastedEvent, KOGlobals::EVENTADDED ); |
2740 | } | 2749 | } |
2741 | void CalendarView::edit_global_options() | 2750 | void CalendarView::edit_global_options() |
2742 | { | 2751 | { |
2743 | QString tz = KPimGlobalPrefs::instance()->mTimeZoneId; | 2752 | QString tz = KPimGlobalPrefs::instance()->mTimeZoneId; |
2744 | emit save(); | 2753 | emit save(); |
2745 | emit saveStopTimer(); | 2754 | emit saveStopTimer(); |
2746 | mDialogManager->showGlobalOptionsDialog(); | 2755 | mDialogManager->showGlobalOptionsDialog(); |
2747 | if ( tz != KPimGlobalPrefs::instance()->mTimeZoneId) { | 2756 | if ( tz != KPimGlobalPrefs::instance()->mTimeZoneId) { |
2748 | emit saveStopTimer(); | 2757 | emit saveStopTimer(); |
2749 | if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(this, i18n("The timezone has changed!\nShould the calendar be reloaded\nto shift the time of the events?\nPlease read Menu: Help->FAQ:\n\"How do I change the timezone?\"\nas well!"), | 2758 | if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(this, i18n("The timezone has changed!\nShould the calendar be reloaded\nto shift the time of the events?\nPlease read Menu: Help->FAQ:\n\"How do I change the timezone?\"\nas well!"), |
2750 | i18n("Timezone settings"),i18n("Reload"))) { | 2759 | i18n("Timezone settings"),i18n("Reload"))) { |
2751 | qDebug("KO: TZ reload cancelled "); | 2760 | qDebug("KO: TZ reload cancelled "); |
2752 | mCalendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); | 2761 | mCalendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); |
2753 | return; | 2762 | return; |
2754 | } | 2763 | } |
2755 | qDebug("KO: Timezone change "); | 2764 | qDebug("KO: Timezone change "); |
2756 | loadCalendars(); | 2765 | loadCalendars(); |
2757 | setModified(true); | 2766 | setModified(true); |
2758 | } | 2767 | } |
2759 | else | 2768 | else |
2760 | qDebug("KO: No tz change "); | 2769 | qDebug("KO: No tz change "); |
2761 | } | 2770 | } |
2762 | void CalendarView::edit_options() | 2771 | void CalendarView::edit_options() |
2763 | { | 2772 | { |
2764 | mDialogManager->showOptionsDialog(); | 2773 | mDialogManager->showOptionsDialog(); |
2765 | } | 2774 | } |
@@ -4318,192 +4327,197 @@ void CalendarView::toggleExpand() | |||
4318 | globalFlagBlockAgenda = 1; | 4327 | globalFlagBlockAgenda = 1; |
4319 | emit calendarViewExpanded( !mLeftFrame->isHidden() ); | 4328 | emit calendarViewExpanded( !mLeftFrame->isHidden() ); |
4320 | globalFlagBlockAgenda = 5; | 4329 | globalFlagBlockAgenda = 5; |
4321 | mViewManager->raiseCurrentView( !mLeftFrame->isHidden() ); | 4330 | mViewManager->raiseCurrentView( !mLeftFrame->isHidden() ); |
4322 | //mViewManager->showView( 0, true ); | 4331 | //mViewManager->showView( 0, true ); |
4323 | } | 4332 | } |
4324 | 4333 | ||
4325 | void CalendarView::calendarModified( bool modified, Calendar * ) | 4334 | void CalendarView::calendarModified( bool modified, Calendar * ) |
4326 | { | 4335 | { |
4327 | setModified( modified ); | 4336 | setModified( modified ); |
4328 | } | 4337 | } |
4329 | 4338 | ||
4330 | Todo *CalendarView::selectedTodo() | 4339 | Todo *CalendarView::selectedTodo() |
4331 | { | 4340 | { |
4332 | Incidence *incidence = currentSelection(); | 4341 | Incidence *incidence = currentSelection(); |
4333 | if ( incidence && incidence->typeID() == todoID ) { | 4342 | if ( incidence && incidence->typeID() == todoID ) { |
4334 | return static_cast<Todo *>( incidence ); | 4343 | return static_cast<Todo *>( incidence ); |
4335 | } | 4344 | } |
4336 | 4345 | ||
4337 | incidence = mTodoList->selectedIncidences().first(); | 4346 | incidence = mTodoList->selectedIncidences().first(); |
4338 | if ( incidence && incidence->typeID() == todoID ) { | 4347 | if ( incidence && incidence->typeID() == todoID ) { |
4339 | return static_cast<Todo *>( incidence ); | 4348 | return static_cast<Todo *>( incidence ); |
4340 | } | 4349 | } |
4341 | 4350 | ||
4342 | return 0; | 4351 | return 0; |
4343 | } | 4352 | } |
4344 | 4353 | ||
4345 | void CalendarView::showIncidence() | 4354 | void CalendarView::showIncidence() |
4346 | { | 4355 | { |
4347 | mViewerCallerIsSearchDialog = false; | 4356 | mViewerCallerIsSearchDialog = false; |
4348 | Incidence *incidence = currentSelection(); | 4357 | Incidence *incidence = currentSelection(); |
4349 | if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); | 4358 | if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); |
4350 | if ( incidence ) { | 4359 | if ( incidence ) { |
4351 | ShowIncidenceVisitor v; | 4360 | ShowIncidenceVisitor v; |
4352 | v.act( incidence, this ); | 4361 | v.act( incidence, this ); |
4353 | } | 4362 | } |
4354 | } | 4363 | } |
4355 | void CalendarView::editIncidenceDescription() | 4364 | void CalendarView::editIncidenceDescription() |
4356 | { | 4365 | { |
4357 | mFlagEditDescription = true; | 4366 | mFlagEditDescription = true; |
4358 | editIncidence(); | 4367 | editIncidence(); |
4359 | mFlagEditDescription = false; | 4368 | mFlagEditDescription = false; |
4360 | } | 4369 | } |
4361 | void CalendarView::editIncidence() | 4370 | void CalendarView::editIncidence() |
4362 | { | 4371 | { |
4363 | // qDebug("editIncidence() "); | 4372 | // qDebug("editIncidence() "); |
4364 | Incidence *incidence = currentSelection(); | 4373 | Incidence *incidence = currentSelection(); |
4365 | if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); | 4374 | if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); |
4366 | if ( incidence ) { | 4375 | if ( incidence ) { |
4367 | EditIncidenceVisitor v; | 4376 | EditIncidenceVisitor v; |
4368 | v.act( incidence, this ); | 4377 | v.act( incidence, this ); |
4369 | } | 4378 | } |
4370 | } | 4379 | } |
4371 | 4380 | ||
4372 | void CalendarView::deleteIncidence() | 4381 | void CalendarView::deleteIncidence() |
4373 | { | 4382 | { |
4374 | Incidence *incidence = currentSelection(); | 4383 | Incidence *incidence = currentSelection(); |
4375 | if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); | 4384 | if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); |
4376 | if ( incidence ) { | 4385 | if ( incidence ) { |
4377 | deleteIncidence(incidence); | 4386 | deleteIncidence(incidence); |
4378 | } | 4387 | } |
4379 | } | 4388 | } |
4380 | void CalendarView::showIncidence(QString uid) | 4389 | void CalendarView::showIncidence(QString uid) |
4381 | { | 4390 | { |
4382 | Incidence *inc = mCalendar->incidence( uid ); | 4391 | Incidence *inc = mCalendar->incidence( uid ); |
4383 | if ( inc ) | 4392 | if ( inc ) |
4384 | showIncidence( inc ); | 4393 | showIncidence( inc ); |
4385 | } | 4394 | } |
4386 | void CalendarView::showIncidence(Incidence *incidence) | 4395 | void CalendarView::showIncidence(Incidence *incidence) |
4387 | { | 4396 | { |
4388 | mViewerCallerIsSearchDialog = false; | 4397 | mViewerCallerIsSearchDialog = false; |
4389 | //qDebug("%x %x ",sender (), mDialogManager->getSearchDialog() ); | 4398 | //qDebug("%x %x ",sender (), mDialogManager->getSearchDialog() ); |
4390 | if ( sender() && mDialogManager->getSearchDialog() ) { | 4399 | if ( sender() && mDialogManager->getSearchDialog() ) { |
4391 | if ( sender () == mDialogManager->getSearchDialog()->listview() ) { | 4400 | if ( sender () == mDialogManager->getSearchDialog()->listview() ) { |
4392 | mViewerCallerIsSearchDialog = true; | 4401 | mViewerCallerIsSearchDialog = true; |
4393 | } | 4402 | } |
4394 | } | 4403 | } |
4395 | if ( incidence ) { | 4404 | if ( incidence ) { |
4396 | ShowIncidenceVisitor v; | 4405 | ShowIncidenceVisitor v; |
4397 | v.act( incidence, this ); | 4406 | v.act( incidence, this ); |
4398 | } | 4407 | } |
4399 | } | 4408 | } |
4400 | 4409 | ||
4401 | void CalendarView::editIncidence(Incidence *incidence) | 4410 | void CalendarView::editIncidence(Incidence *incidence) |
4402 | { | 4411 | { |
4403 | if ( incidence ) { | 4412 | if ( incidence ) { |
4404 | 4413 | ||
4405 | EditIncidenceVisitor v; | 4414 | EditIncidenceVisitor v; |
4406 | v.act( incidence, this ); | 4415 | v.act( incidence, this ); |
4407 | 4416 | ||
4408 | } | 4417 | } |
4409 | } | 4418 | } |
4410 | 4419 | ||
4411 | void CalendarView::deleteIncidence(Incidence *incidence) | 4420 | void CalendarView::deleteIncidence(Incidence *incidence) |
4412 | { | 4421 | { |
4413 | //qDebug(" CalendarView::deleteIncidence "); | 4422 | //qDebug(" CalendarView::deleteIncidence "); |
4423 | if ( incidence == 0 ) { | ||
4424 | updateView(); | ||
4425 | emit updateSearchDialog(); | ||
4426 | return; | ||
4427 | } | ||
4414 | if ( incidence ) { | 4428 | if ( incidence ) { |
4415 | DeleteIncidenceVisitor v; | 4429 | DeleteIncidenceVisitor v; |
4416 | v.act( incidence, this ); | 4430 | v.act( incidence, this ); |
4417 | } | 4431 | } |
4418 | } | 4432 | } |
4419 | 4433 | ||
4420 | 4434 | ||
4421 | void CalendarView::lookForOutgoingMessages() | 4435 | void CalendarView::lookForOutgoingMessages() |
4422 | { | 4436 | { |
4423 | OutgoingDialog *ogd = mDialogManager->outgoingDialog(); | 4437 | OutgoingDialog *ogd = mDialogManager->outgoingDialog(); |
4424 | ogd->loadMessages(); | 4438 | ogd->loadMessages(); |
4425 | } | 4439 | } |
4426 | 4440 | ||
4427 | void CalendarView::lookForIncomingMessages() | 4441 | void CalendarView::lookForIncomingMessages() |
4428 | { | 4442 | { |
4429 | IncomingDialog *icd = mDialogManager->incomingDialog(); | 4443 | IncomingDialog *icd = mDialogManager->incomingDialog(); |
4430 | icd->retrieve(); | 4444 | icd->retrieve(); |
4431 | } | 4445 | } |
4432 | 4446 | ||
4433 | bool CalendarView::removeCompletedSubTodos( Todo* t ) | 4447 | bool CalendarView::removeCompletedSubTodos( Todo* t ) |
4434 | { | 4448 | { |
4435 | bool deleteTodo = true; | 4449 | bool deleteTodo = true; |
4436 | QPtrList<Incidence> subTodos; | 4450 | QPtrList<Incidence> subTodos; |
4437 | Incidence *aTodo; | 4451 | Incidence *aTodo; |
4438 | subTodos = t->relations(); | 4452 | subTodos = t->relations(); |
4439 | for (aTodo = subTodos.first(); aTodo; aTodo = subTodos.next()) { | 4453 | for (aTodo = subTodos.first(); aTodo; aTodo = subTodos.next()) { |
4440 | if (! removeCompletedSubTodos( (Todo*) aTodo )) | 4454 | if (! removeCompletedSubTodos( (Todo*) aTodo )) |
4441 | deleteTodo = false; | 4455 | deleteTodo = false; |
4442 | } | 4456 | } |
4443 | if ( deleteTodo ) { | 4457 | if ( deleteTodo ) { |
4444 | if ( t->isCompleted() && !t->doesRecur()) { | 4458 | if ( t->isCompleted() && !t->doesRecur()) { |
4445 | checkExternalId( t ); | 4459 | checkExternalId( t ); |
4446 | mCalendar->deleteTodo( t ); | 4460 | mCalendar->deleteTodo( t ); |
4447 | changeTodoDisplay( t,KOGlobals::EVENTDELETED ); | 4461 | changeTodoDisplay( t,KOGlobals::EVENTDELETED ); |
4448 | } | 4462 | } |
4449 | else | 4463 | else |
4450 | deleteTodo = false; | 4464 | deleteTodo = false; |
4451 | } | 4465 | } |
4452 | return deleteTodo; | 4466 | return deleteTodo; |
4453 | 4467 | ||
4454 | } | 4468 | } |
4455 | void CalendarView::purgeCompleted() | 4469 | void CalendarView::purgeCompleted() |
4456 | { | 4470 | { |
4457 | int result = KMessageBox::warningContinueCancel(this, | 4471 | int result = KMessageBox::warningContinueCancel(this, |
4458 | i18n("Delete all completed todos?\n(Completed recurring todos\nwill not be deleted!)"),i18n("Purge Todos"),i18n("Purge")); | 4472 | i18n("Delete all completed todos?\n(Completed recurring todos\nwill not be deleted!)"),i18n("Purge Todos"),i18n("Purge")); |
4459 | 4473 | ||
4460 | if (result == KMessageBox::Continue) { | 4474 | if (result == KMessageBox::Continue) { |
4461 | 4475 | ||
4462 | QPtrList<Todo> todoCal; | 4476 | QPtrList<Todo> todoCal; |
4463 | QPtrList<Todo> rootTodos; | 4477 | QPtrList<Todo> rootTodos; |
4464 | //QPtrList<Incidence> rel; | 4478 | //QPtrList<Incidence> rel; |
4465 | Todo *aTodo; | 4479 | Todo *aTodo; |
4466 | todoCal = calendar()->todos(); | 4480 | todoCal = calendar()->todos(); |
4467 | for (aTodo = todoCal.first(); aTodo; aTodo = todoCal.next()) { | 4481 | for (aTodo = todoCal.first(); aTodo; aTodo = todoCal.next()) { |
4468 | if ( !aTodo->relatedTo() ) | 4482 | if ( !aTodo->relatedTo() ) |
4469 | rootTodos.append( aTodo ); | 4483 | rootTodos.append( aTodo ); |
4470 | } | 4484 | } |
4471 | for (aTodo = rootTodos.first(); aTodo; aTodo = rootTodos.next()) { | 4485 | for (aTodo = rootTodos.first(); aTodo; aTodo = rootTodos.next()) { |
4472 | removeCompletedSubTodos( aTodo ); | 4486 | removeCompletedSubTodos( aTodo ); |
4473 | } | 4487 | } |
4474 | 4488 | ||
4475 | updateView(); | 4489 | updateView(); |
4476 | } | 4490 | } |
4477 | } | 4491 | } |
4478 | 4492 | ||
4479 | void CalendarView::slotCalendarChanged() | 4493 | void CalendarView::slotCalendarChanged() |
4480 | { | 4494 | { |
4481 | ; | 4495 | ; |
4482 | } | 4496 | } |
4483 | 4497 | ||
4484 | void CalendarView::keyPressEvent ( QKeyEvent *e) | 4498 | void CalendarView::keyPressEvent ( QKeyEvent *e) |
4485 | { | 4499 | { |
4486 | //qDebug(" alendarView::keyPressEvent "); | 4500 | //qDebug(" alendarView::keyPressEvent "); |
4487 | e->ignore(); | 4501 | e->ignore(); |
4488 | } | 4502 | } |
4489 | 4503 | ||
4490 | 4504 | ||
4491 | bool CalendarView::sync(KSyncManager* manager, QString filename, int mode) | 4505 | bool CalendarView::sync(KSyncManager* manager, QString filename, int mode) |
4492 | { | 4506 | { |
4493 | 4507 | ||
4494 | if ( manager != mSyncManager) | 4508 | if ( manager != mSyncManager) |
4495 | qDebug("KO: Internal error-1. SyncManager mismatch "); | 4509 | qDebug("KO: Internal error-1. SyncManager mismatch "); |
4496 | if ( filename == QDir::homeDirPath ()+"/.kdecalendardump.ics" ) { | 4510 | if ( filename == QDir::homeDirPath ()+"/.kdecalendardump.ics" ) { |
4497 | qDebug("KO: SyncKDE request detected!"); | 4511 | qDebug("KO: SyncKDE request detected!"); |
4498 | } | 4512 | } |
4499 | mCurrentSyncDevice = mSyncManager->getCurrentSyncDevice(); | 4513 | mCurrentSyncDevice = mSyncManager->getCurrentSyncDevice(); |
4500 | mCurrentSyncName = mSyncManager->getCurrentSyncName(); | 4514 | mCurrentSyncName = mSyncManager->getCurrentSyncName(); |
4501 | return syncCalendar( filename, mode ); | 4515 | return syncCalendar( filename, mode ); |
4502 | } | 4516 | } |
4503 | bool CalendarView::syncExternal(KSyncManager* manager, QString resource) | 4517 | bool CalendarView::syncExternal(KSyncManager* manager, QString resource) |
4504 | { | 4518 | { |
4505 | //mSyncManager = manager; | 4519 | //mSyncManager = manager; |
4506 | if ( manager != mSyncManager) | 4520 | if ( manager != mSyncManager) |
4507 | qDebug("KO: Internal error-2. SyncManager mismatch "); | 4521 | qDebug("KO: Internal error-2. SyncManager mismatch "); |
4508 | mCurrentSyncDevice = mSyncManager->getCurrentSyncDevice(); | 4522 | mCurrentSyncDevice = mSyncManager->getCurrentSyncDevice(); |
4509 | mCurrentSyncName = mSyncManager->getCurrentSyncName(); | 4523 | mCurrentSyncName = mSyncManager->getCurrentSyncName(); |
diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp index 25e599d..5690bdb 100644 --- a/korganizer/kolistview.cpp +++ b/korganizer/kolistview.cpp | |||
@@ -772,205 +772,207 @@ void KOListView::writeToFile( bool iCal ) | |||
772 | } | 772 | } |
773 | } else { | 773 | } else { |
774 | if ( fn.right( 4 ).lower() == ".ics" ) { | 774 | if ( fn.right( 4 ).lower() == ".ics" ) { |
775 | fn = fn.left( fn.length() -3) + "vcs"; | 775 | fn = fn.left( fn.length() -3) + "vcs"; |
776 | } | 776 | } |
777 | } | 777 | } |
778 | fn = KFileDialog::getSaveFileName( fn, i18n("Save filename"), this ); | 778 | fn = KFileDialog::getSaveFileName( fn, i18n("Save filename"), this ); |
779 | 779 | ||
780 | if ( fn == "" ) | 780 | if ( fn == "" ) |
781 | return; | 781 | return; |
782 | QFileInfo info; | 782 | QFileInfo info; |
783 | info.setFile( fn ); | 783 | info.setFile( fn ); |
784 | QString mes; | 784 | QString mes; |
785 | bool createbup = true; | 785 | bool createbup = true; |
786 | if ( info. exists() ) { | 786 | if ( info. exists() ) { |
787 | mes = i18n("File already exists!\nOld file from:\n%1\nOverwrite?\n").arg (KGlobal::locale()->formatDateTime(info.lastModified (), true, false ) ); | 787 | mes = i18n("File already exists!\nOld file from:\n%1\nOverwrite?\n").arg (KGlobal::locale()->formatDateTime(info.lastModified (), true, false ) ); |
788 | int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes, | 788 | int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes, |
789 | i18n("Overwrite!"), i18n("Cancel"), 0, | 789 | i18n("Overwrite!"), i18n("Cancel"), 0, |
790 | 0, 1 ); | 790 | 0, 1 ); |
791 | if ( result != 0 ) { | 791 | if ( result != 0 ) { |
792 | createbup = false; | 792 | createbup = false; |
793 | } | 793 | } |
794 | } | 794 | } |
795 | if ( createbup ) { | 795 | if ( createbup ) { |
796 | CalendarLocal cal; | 796 | CalendarLocal cal; |
797 | cal.setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); | 797 | cal.setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); |
798 | Incidence *incidence = delSel.first(); | 798 | Incidence *incidence = delSel.first(); |
799 | while ( incidence ) { | 799 | while ( incidence ) { |
800 | cal.addIncidence( incidence->clone() ); | 800 | cal.addIncidence( incidence->clone() ); |
801 | incidence = delSel.next(); | 801 | incidence = delSel.next(); |
802 | } | 802 | } |
803 | if ( iCal ) { | 803 | if ( iCal ) { |
804 | ICalFormat format; | 804 | ICalFormat format; |
805 | format.save( &cal, fn ); | 805 | format.save( &cal, fn ); |
806 | } else { | 806 | } else { |
807 | 807 | ||
808 | VCalFormat format; | 808 | VCalFormat format; |
809 | format.save( &cal, fn ); | 809 | format.save( &cal, fn ); |
810 | } | 810 | } |
811 | mes = i18n("KO/Pi:Saved %1").arg(fn ); | 811 | mes = i18n("KO/Pi:Saved %1").arg(fn ); |
812 | KOPrefs::instance()->mLastSaveFile = fn; | 812 | KOPrefs::instance()->mLastSaveFile = fn; |
813 | topLevelWidget()->setCaption(mes); | 813 | topLevelWidget()->setCaption(mes); |
814 | } | 814 | } |
815 | } | 815 | } |
816 | QTimer::singleShot( 1, this, SLOT ( resetFocus() ) ); | 816 | QTimer::singleShot( 1, this, SLOT ( resetFocus() ) ); |
817 | } | 817 | } |
818 | void KOListView::hideAll() | 818 | void KOListView::hideAll() |
819 | { | 819 | { |
820 | QPtrList<QListViewItem> delSel ; | 820 | QPtrList<QListViewItem> delSel ; |
821 | QListViewItem *item = mListView->firstChild (); | 821 | QListViewItem *item = mListView->firstChild (); |
822 | while ( item ) { | 822 | while ( item ) { |
823 | if ( item->isSelected() ) { | 823 | if ( item->isSelected() ) { |
824 | delSel.append(item); | 824 | delSel.append(item); |
825 | } | 825 | } |
826 | item = item->nextSibling(); | 826 | item = item->nextSibling(); |
827 | } | 827 | } |
828 | item = delSel.first() ; | 828 | item = delSel.first() ; |
829 | while ( item ) { | 829 | while ( item ) { |
830 | QListViewItem * del = item; | 830 | QListViewItem * del = item; |
831 | item = delSel.next(); | 831 | item = delSel.next(); |
832 | delete del; | 832 | delete del; |
833 | } | 833 | } |
834 | } | 834 | } |
835 | void KOListView::printList() | 835 | void KOListView::printList() |
836 | { | 836 | { |
837 | mListView->printList(); | 837 | mListView->printList(); |
838 | } | 838 | } |
839 | void KOListView::deleteAll() | 839 | void KOListView::deleteAll() |
840 | { | 840 | { |
841 | QPtrList<Incidence> delSel = getSelectedIncidences(); // all inc allowed;; | 841 | QPtrList<Incidence> delSel = getSelectedIncidences(); // all inc allowed;; |
842 | if ( delSel.count() ) { | 842 | if ( delSel.count() ) { |
843 | int icount = delSel.count(); | 843 | int icount = delSel.count(); |
844 | Incidence *incidence = delSel.first(); | 844 | Incidence *incidence = delSel.first(); |
845 | Incidence *toDelete; | 845 | Incidence *toDelete; |
846 | KOPrefs *p = KOPrefs::instance(); | 846 | KOPrefs *p = KOPrefs::instance(); |
847 | bool confirm = p->mConfirm; | 847 | bool confirm = p->mConfirm; |
848 | QString mess; | 848 | QString mess; |
849 | mess = mess.sprintf( i18n("You have %d item(s) selected.\n"), icount ); | 849 | mess = mess.sprintf( i18n("You have %d item(s) selected.\n"), icount ); |
850 | if ( KMessageBox::Continue == KMessageBox::warningContinueCancel(this, mess + i18n("All selected items will be\npermanently deleted.\n(Deleting items will take\nsome time on a PDA)\n"), i18n("KO/Pi Confirmation"),i18n("Delete")) ) { | 850 | if ( KMessageBox::Continue == KMessageBox::warningContinueCancel(this, mess + i18n("All selected items will be\npermanently deleted.\n(Deleting items will take\nsome time on a PDA)\n"), i18n("KO/Pi Confirmation"),i18n("Delete")) ) { |
851 | p->mConfirm = false; | 851 | p->mConfirm = false; |
852 | int delCounter = 0; | 852 | int delCounter = 0; |
853 | QDialog dia ( this, "p-dialog", true ); | 853 | QDialog dia ( this, "p-dialog", true ); |
854 | QLabel lab (i18n("Close dialog to abort deletion!"), &dia ); | 854 | QLabel lab (i18n("Close dialog to abort deletion!"), &dia ); |
855 | QVBoxLayout lay( &dia ); | 855 | QVBoxLayout lay( &dia ); |
856 | lay.setMargin(7); | 856 | lay.setMargin(7); |
857 | lay.setSpacing(7); | 857 | lay.setSpacing(7); |
858 | lay.addWidget( &lab); | 858 | lay.addWidget( &lab); |
859 | QProgressBar bar( icount, &dia ); | 859 | QProgressBar bar( icount, &dia ); |
860 | lay.addWidget( &bar); | 860 | lay.addWidget( &bar); |
861 | int w = 220; | 861 | int w = 220; |
862 | int h = 50; | 862 | int h = 50; |
863 | int dw = QApplication::desktop()->width(); | 863 | int dw = QApplication::desktop()->width(); |
864 | int dh = QApplication::desktop()->height(); | 864 | int dh = QApplication::desktop()->height(); |
865 | dia.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); | 865 | dia.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); |
866 | //dia.resize( 240,50 ); | 866 | //dia.resize( 240,50 ); |
867 | dia.show(); | 867 | dia.show(); |
868 | 868 | KOPrefs::instance()->mGlobalUpdateDisabled = true; | |
869 | while ( incidence ) { | 869 | while ( incidence ) { |
870 | bar.setProgress( delCounter ); | 870 | bar.setProgress( delCounter ); |
871 | mess = mess.sprintf( i18n("Deleting item %d ..."), ++delCounter ); | 871 | mess = mess.sprintf( i18n("Deleting item %d ..."), ++delCounter ); |
872 | dia.setCaption( mess ); | 872 | dia.setCaption( mess ); |
873 | qApp->processEvents(); | 873 | qApp->processEvents(); |
874 | toDelete = (incidence); | 874 | toDelete = (incidence); |
875 | incidence = delSel.next(); | 875 | incidence = delSel.next(); |
876 | emit deleteIncidenceSignal(toDelete ); | 876 | emit deleteIncidenceSignal(toDelete ); |
877 | if ( dia.result() != 0 ) | 877 | if ( dia.result() != 0 ) |
878 | break; | 878 | break; |
879 | 879 | ||
880 | } | 880 | } |
881 | KOPrefs::instance()->mGlobalUpdateDisabled = false; | ||
882 | emit deleteIncidenceSignal( 0 ); | ||
881 | mess = mess.sprintf( i18n("%d items remaining in list."), count() ); | 883 | mess = mess.sprintf( i18n("%d items remaining in list."), count() ); |
882 | topLevelWidget ()->setCaption( mess ); | 884 | topLevelWidget ()->setCaption( mess ); |
883 | p->mConfirm = confirm; | 885 | p->mConfirm = confirm; |
884 | } | 886 | } |
885 | } | 887 | } |
886 | 888 | ||
887 | 889 | ||
888 | } | 890 | } |
889 | int KOListView::maxDatesHint() | 891 | int KOListView::maxDatesHint() |
890 | { | 892 | { |
891 | return 0; | 893 | return 0; |
892 | } | 894 | } |
893 | 895 | ||
894 | int KOListView::currentDateCount() | 896 | int KOListView::currentDateCount() |
895 | { | 897 | { |
896 | return 0; | 898 | return 0; |
897 | } | 899 | } |
898 | 900 | ||
899 | QPtrList<Incidence> KOListView::selectedIncidences() | 901 | QPtrList<Incidence> KOListView::selectedIncidences() |
900 | { | 902 | { |
901 | QPtrList<Incidence> eventList; | 903 | QPtrList<Incidence> eventList; |
902 | QListViewItem *item = mListView->firstChild (); | 904 | QListViewItem *item = mListView->firstChild (); |
903 | while ( item ) { | 905 | while ( item ) { |
904 | if ( item->isSelected() ) { | 906 | if ( item->isSelected() ) { |
905 | eventList.append(((KOListViewItem *)item)->data()); | 907 | eventList.append(((KOListViewItem *)item)->data()); |
906 | } | 908 | } |
907 | 909 | ||
908 | item = item->nextSibling(); | 910 | item = item->nextSibling(); |
909 | } | 911 | } |
910 | 912 | ||
911 | // // QListViewItem *item = mListView->selectedItem(); | 913 | // // QListViewItem *item = mListView->selectedItem(); |
912 | //if (item) eventList.append(((KOListViewItem *)item)->data()); | 914 | //if (item) eventList.append(((KOListViewItem *)item)->data()); |
913 | 915 | ||
914 | return eventList; | 916 | return eventList; |
915 | } | 917 | } |
916 | 918 | ||
917 | DateList KOListView::selectedDates() | 919 | DateList KOListView::selectedDates() |
918 | { | 920 | { |
919 | DateList eventList; | 921 | DateList eventList; |
920 | return eventList; | 922 | return eventList; |
921 | } | 923 | } |
922 | 924 | ||
923 | void KOListView::showDates(bool show) | 925 | void KOListView::showDates(bool show) |
924 | { | 926 | { |
925 | // Shouldn't we set it to a value greater 0? When showDates is called with | 927 | // Shouldn't we set it to a value greater 0? When showDates is called with |
926 | // show == true at first, then the columnwidths are set to zero. | 928 | // show == true at first, then the columnwidths are set to zero. |
927 | static int oldColWidth1 = 0; | 929 | static int oldColWidth1 = 0; |
928 | static int oldColWidth3 = 0; | 930 | static int oldColWidth3 = 0; |
929 | 931 | ||
930 | if (!show) { | 932 | if (!show) { |
931 | oldColWidth1 = mListView->columnWidth(1); | 933 | oldColWidth1 = mListView->columnWidth(1); |
932 | oldColWidth3 = mListView->columnWidth(3); | 934 | oldColWidth3 = mListView->columnWidth(3); |
933 | mListView->setColumnWidth(1, 0); | 935 | mListView->setColumnWidth(1, 0); |
934 | mListView->setColumnWidth(3, 0); | 936 | mListView->setColumnWidth(3, 0); |
935 | } else { | 937 | } else { |
936 | mListView->setColumnWidth(1, oldColWidth1); | 938 | mListView->setColumnWidth(1, oldColWidth1); |
937 | mListView->setColumnWidth(3, oldColWidth3); | 939 | mListView->setColumnWidth(3, oldColWidth3); |
938 | } | 940 | } |
939 | mListView->repaint(); | 941 | mListView->repaint(); |
940 | } | 942 | } |
941 | 943 | ||
942 | void KOListView::printPreview(CalPrinter *calPrinter, const QDate &fd, | 944 | void KOListView::printPreview(CalPrinter *calPrinter, const QDate &fd, |
943 | const QDate &td) | 945 | const QDate &td) |
944 | { | 946 | { |
945 | #ifndef KORG_NOPRINTER | 947 | #ifndef KORG_NOPRINTER |
946 | calPrinter->preview(CalPrinter::Day, fd, td); | 948 | calPrinter->preview(CalPrinter::Day, fd, td); |
947 | #endif | 949 | #endif |
948 | } | 950 | } |
949 | 951 | ||
950 | void KOListView::showDates() | 952 | void KOListView::showDates() |
951 | { | 953 | { |
952 | showDates(true); | 954 | showDates(true); |
953 | } | 955 | } |
954 | 956 | ||
955 | void KOListView::hideDates() | 957 | void KOListView::hideDates() |
956 | { | 958 | { |
957 | showDates(false); | 959 | showDates(false); |
958 | } | 960 | } |
959 | 961 | ||
960 | void KOListView::resetFocus() | 962 | void KOListView::resetFocus() |
961 | { | 963 | { |
962 | topLevelWidget()->setActiveWindow(); | 964 | topLevelWidget()->setActiveWindow(); |
963 | topLevelWidget()->raise(); | 965 | topLevelWidget()->raise(); |
964 | mListView->setFocus(); | 966 | mListView->setFocus(); |
965 | } | 967 | } |
966 | void KOListView::updateView() | 968 | void KOListView::updateView() |
967 | { | 969 | { |
968 | mListView->setFocus(); | 970 | mListView->setFocus(); |
969 | if ( mListView->firstChild () ) | 971 | if ( mListView->firstChild () ) |
970 | mListView->setCurrentItem( mListView->firstChild () ); | 972 | mListView->setCurrentItem( mListView->firstChild () ); |
971 | } | 973 | } |
972 | void KOListView::updateConfig() | 974 | void KOListView::updateConfig() |
973 | { | 975 | { |
974 | 976 | ||
975 | mListView->setFont ( KOPrefs::instance()->mListViewFont ); | 977 | mListView->setFont ( KOPrefs::instance()->mListViewFont ); |
976 | updateView(); | 978 | updateView(); |
diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp index 138028d..a63297e 100644 --- a/korganizer/koprefs.cpp +++ b/korganizer/koprefs.cpp | |||
@@ -1,151 +1,152 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of KOrganizer. | 2 | This file is part of KOrganizer. |
3 | Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> | 3 | Copyright (c) 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 | As a special exception, permission is given to link this program | 19 | As a special exception, permission is given to link this program |
20 | with any edition of Qt, and distribute the resulting executable, | 20 | with any edition of Qt, and distribute the resulting executable, |
21 | without including the source code for Qt in the source distribution. | 21 | without including the source code for Qt in the source distribution. |
22 | */ | 22 | */ |
23 | 23 | ||
24 | #include <time.h> | 24 | #include <time.h> |
25 | #ifndef _WIN32_ | 25 | #ifndef _WIN32_ |
26 | #include <unistd.h> | 26 | #include <unistd.h> |
27 | #endif | 27 | #endif |
28 | #include <qdir.h> | 28 | #include <qdir.h> |
29 | #include <qtextstream.h> | 29 | #include <qtextstream.h> |
30 | #include <qtextcodec.h> | 30 | #include <qtextcodec.h> |
31 | #include <qstring.h> | 31 | #include <qstring.h> |
32 | #include <qregexp.h> | 32 | #include <qregexp.h> |
33 | #include <qfont.h> | 33 | #include <qfont.h> |
34 | #include <qcolor.h> | 34 | #include <qcolor.h> |
35 | #include <qstringlist.h> | 35 | #include <qstringlist.h> |
36 | #include <stdlib.h> | 36 | #include <stdlib.h> |
37 | 37 | ||
38 | #include <kglobal.h> | 38 | #include <kglobal.h> |
39 | #include <kglobalsettings.h> | 39 | #include <kglobalsettings.h> |
40 | #include <kconfig.h> | 40 | #include <kconfig.h> |
41 | #include <klocale.h> | 41 | #include <klocale.h> |
42 | #include <kdebug.h> | 42 | #include <kdebug.h> |
43 | #include <kemailsettings.h> | 43 | #include <kemailsettings.h> |
44 | #include <kstaticdeleter.h> | 44 | #include <kstaticdeleter.h> |
45 | #include <libkdepim/kpimglobalprefs.h> | 45 | #include <libkdepim/kpimglobalprefs.h> |
46 | 46 | ||
47 | #include "koprefs.h" | 47 | #include "koprefs.h" |
48 | #include "mainwindow.h" | 48 | #include "mainwindow.h" |
49 | 49 | ||
50 | KOPrefs *KOPrefs::mInstance = 0; | 50 | KOPrefs *KOPrefs::mInstance = 0; |
51 | static KStaticDeleter<KOPrefs> insd; | 51 | static KStaticDeleter<KOPrefs> insd; |
52 | 52 | ||
53 | KOPrefs::KOPrefs() : | 53 | KOPrefs::KOPrefs() : |
54 | KPimPrefs("korganizerrc") | 54 | KPimPrefs("korganizerrc") |
55 | { | 55 | { |
56 | mGlobalUpdateDisabled = false; | ||
56 | mCategoryColors.setAutoDelete(true); | 57 | mCategoryColors.setAutoDelete(true); |
57 | fillMailDefaults(); | 58 | fillMailDefaults(); |
58 | mDefaultCategoryColor = QColor(175,210,255);//196,196,196); | 59 | mDefaultCategoryColor = QColor(175,210,255);//196,196,196); |
59 | QColor defaultHolidayColor = QColor(255,0,0); | 60 | QColor defaultHolidayColor = QColor(255,0,0); |
60 | QColor defaultHighlightColor = QColor(129,112,255);//64,64,255); | 61 | QColor defaultHighlightColor = QColor(129,112,255);//64,64,255); |
61 | QColor defaultAgendaBgColor = QColor(239,241,169);//128,128,128); | 62 | QColor defaultAgendaBgColor = QColor(239,241,169);//128,128,128); |
62 | QColor defaultWorkingHoursColor = QColor(170,223,150);//160,160,160); | 63 | QColor defaultWorkingHoursColor = QColor(170,223,150);//160,160,160); |
63 | QColor defaultTodoDueTodayColor = QColor(255,220,100); | 64 | QColor defaultTodoDueTodayColor = QColor(255,220,100); |
64 | QColor defaultTodoOverdueColor = QColor(255,153,125); | 65 | QColor defaultTodoOverdueColor = QColor(255,153,125); |
65 | QColor defaultTodoRunColor = QColor(99,194,30); | 66 | QColor defaultTodoRunColor = QColor(99,194,30); |
66 | KPrefs::setCurrentGroup("General"); | 67 | KPrefs::setCurrentGroup("General"); |
67 | addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false); | 68 | addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false); |
68 | addItemBool("ShowIconNewTodo",&mShowIconNewTodo,true); | 69 | addItemBool("ShowIconNewTodo",&mShowIconNewTodo,true); |
69 | addItemBool("ShowIconNewEvent",&mShowIconNewEvent,true); | 70 | addItemBool("ShowIconNewEvent",&mShowIconNewEvent,true); |
70 | addItemBool("ShowIconSearch",&mShowIconSearch,true); | 71 | addItemBool("ShowIconSearch",&mShowIconSearch,true); |
71 | addItemBool("ShowIconList",&mShowIconList,true); | 72 | addItemBool("ShowIconList",&mShowIconList,true); |
72 | addItemBool("ShowIconDay1",&mShowIconDay1,true); | 73 | addItemBool("ShowIconDay1",&mShowIconDay1,true); |
73 | addItemBool("ShowIconDay5",&mShowIconDay5,true); | 74 | addItemBool("ShowIconDay5",&mShowIconDay5,true); |
74 | addItemBool("ShowIconDay6",&mShowIconDay6,true); | 75 | addItemBool("ShowIconDay6",&mShowIconDay6,true); |
75 | addItemBool("ShowIconDay7",&mShowIconDay7,true); | 76 | addItemBool("ShowIconDay7",&mShowIconDay7,true); |
76 | addItemBool("ShowIconMonth",&mShowIconMonth,true); | 77 | addItemBool("ShowIconMonth",&mShowIconMonth,true); |
77 | addItemBool("ShowIconTodoview",&mShowIconTodoview,true); | 78 | addItemBool("ShowIconTodoview",&mShowIconTodoview,true); |
78 | addItemBool("ShowIconBackFast",&mShowIconBackFast,true); | 79 | addItemBool("ShowIconBackFast",&mShowIconBackFast,true); |
79 | addItemBool("ShowIconBack",&mShowIconBack,true); | 80 | addItemBool("ShowIconBack",&mShowIconBack,true); |
80 | addItemBool("ShowIconToday",&mShowIconToday,true); | 81 | addItemBool("ShowIconToday",&mShowIconToday,true); |
81 | addItemBool("ShowIconForward",&mShowIconForward,true); | 82 | addItemBool("ShowIconForward",&mShowIconForward,true); |
82 | addItemBool("ShowIconForwardFast",&mShowIconForwardFast,true); | 83 | addItemBool("ShowIconForwardFast",&mShowIconForwardFast,true); |
83 | addItemBool("ShowIconWhatsThis",&mShowIconWhatsThis,true); | 84 | addItemBool("ShowIconWhatsThis",&mShowIconWhatsThis,true); |
84 | addItemBool("ShowIconWeekNum",&mShowIconWeekNum,true); | 85 | addItemBool("ShowIconWeekNum",&mShowIconWeekNum,true); |
85 | addItemBool("ShowIconNextDays",&mShowIconNextDays,true); | 86 | addItemBool("ShowIconNextDays",&mShowIconNextDays,true); |
86 | addItemBool("ShowIconNext",&mShowIconNext,true); | 87 | addItemBool("ShowIconNext",&mShowIconNext,true); |
87 | addItemBool("ShowIconJournal",&mShowIconJournal,true); | 88 | addItemBool("ShowIconJournal",&mShowIconJournal,true); |
88 | addItemBool("ShowIconStretch",&mShowIconStretch,true); | 89 | addItemBool("ShowIconStretch",&mShowIconStretch,true); |
89 | addItemBool("ShowIconFilter",&mShowIconFilter,false); | 90 | addItemBool("ShowIconFilter",&mShowIconFilter,false); |
90 | addItemBool("ShowIconOnetoolbar",&mShowIconOnetoolbar,true); | 91 | addItemBool("ShowIconOnetoolbar",&mShowIconOnetoolbar,true); |
91 | 92 | ||
92 | bool addIcons = false; | 93 | bool addIcons = false; |
93 | #ifdef DESKTOP_VERSION | 94 | #ifdef DESKTOP_VERSION |
94 | addIcons = true; | 95 | addIcons = true; |
95 | #endif | 96 | #endif |
96 | addItemBool("ShowIconNavigator",&mShowIconNavigator,addIcons); | 97 | addItemBool("ShowIconNavigator",&mShowIconNavigator,addIcons); |
97 | addItemBool("ShowIconAllday",&mShowIconAllday,addIcons); | 98 | addItemBool("ShowIconAllday",&mShowIconAllday,addIcons); |
98 | addItemBool("ShowIconFilterview",&mShowIconFilterview,addIcons); | 99 | addItemBool("ShowIconFilterview",&mShowIconFilterview,addIcons); |
99 | addItemBool("ShowIconToggleFull",&mShowIconToggleFull,addIcons); | 100 | addItemBool("ShowIconToggleFull",&mShowIconToggleFull,addIcons); |
100 | 101 | ||
101 | addItemInt("LastLoadedLanguage",&mOldLanguage,0); | 102 | addItemInt("LastLoadedLanguage",&mOldLanguage,0); |
102 | 103 | ||
103 | addItemBool("AskForQuit",&mAskForQuit,false); | 104 | addItemBool("AskForQuit",&mAskForQuit,false); |
104 | 105 | ||
105 | #ifndef DESKTOP_VERSION | 106 | #ifndef DESKTOP_VERSION |
106 | addItemBool("ShowFullMenu",&mShowFullMenu,false); | 107 | addItemBool("ShowFullMenu",&mShowFullMenu,false); |
107 | #else | 108 | #else |
108 | addItemBool("ShowFullMenu",&mShowFullMenu,true); | 109 | addItemBool("ShowFullMenu",&mShowFullMenu,true); |
109 | #endif | 110 | #endif |
110 | addItemBool("ToolBarHor",&mToolBarHor, true ); | 111 | addItemBool("ToolBarHor",&mToolBarHor, true ); |
111 | addItemBool("ToolBarUp",&mToolBarUp, false ); | 112 | addItemBool("ToolBarUp",&mToolBarUp, false ); |
112 | addItemBool("ToolBarHorV",&mToolBarHorV, true ); | 113 | addItemBool("ToolBarHorV",&mToolBarHorV, true ); |
113 | addItemBool("ToolBarUpV",&mToolBarUpV, false ); | 114 | addItemBool("ToolBarUpV",&mToolBarUpV, false ); |
114 | addItemBool("ToolBarHorN",&mToolBarHorN, true ); | 115 | addItemBool("ToolBarHorN",&mToolBarHorN, true ); |
115 | addItemBool("ToolBarUpN",&mToolBarUpN, false ); | 116 | addItemBool("ToolBarUpN",&mToolBarUpN, false ); |
116 | addItemBool("ToolBarHorF",&mToolBarHorF, true ); | 117 | addItemBool("ToolBarHorF",&mToolBarHorF, true ); |
117 | addItemBool("ToolBarUpF",&mToolBarUpF, false ); | 118 | addItemBool("ToolBarUpF",&mToolBarUpF, false ); |
118 | addItemBool("ToolBarMiniIcons",&mToolBarMiniIcons, false ); | 119 | addItemBool("ToolBarMiniIcons",&mToolBarMiniIcons, false ); |
119 | addItemInt("Whats Next Days",&mWhatsNextDays,3); | 120 | addItemInt("Whats Next Days",&mWhatsNextDays,3); |
120 | addItemInt("Whats Next Prios",&mWhatsNextPrios,1); | 121 | addItemInt("Whats Next Prios",&mWhatsNextPrios,1); |
121 | 122 | ||
122 | addItemBool("ShowTodoInAgenda",&mShowTodoInAgenda,true); | 123 | addItemBool("ShowTodoInAgenda",&mShowTodoInAgenda,true); |
123 | addItemBool("ShowCompletedTodoInAgenda",&mShowCompletedTodoInAgenda,true); | 124 | addItemBool("ShowCompletedTodoInAgenda",&mShowCompletedTodoInAgenda,true); |
124 | addItemBool("ShowTimeInAgenda",&mShowTimeInAgenda,true); | 125 | addItemBool("ShowTimeInAgenda",&mShowTimeInAgenda,true); |
125 | addItemBool("HideNonStartedTodos",&mHideNonStartedTodos,false); | 126 | addItemBool("HideNonStartedTodos",&mHideNonStartedTodos,false); |
126 | addItemBool("ShowCompletedTodo",&mShowCompletedTodo,true); | 127 | addItemBool("ShowCompletedTodo",&mShowCompletedTodo,true); |
127 | addItemInt("AllDay Size",&mAllDaySize,28); | 128 | addItemInt("AllDay Size",&mAllDaySize,28); |
128 | QString defAlarm = KGlobal::iconLoader()->iconPath()+"koalarm.wav"; | 129 | QString defAlarm = KGlobal::iconLoader()->iconPath()+"koalarm.wav"; |
129 | addItemString("DefaultAlarmFile",&mDefaultAlarmFile,defAlarm ); | 130 | addItemString("DefaultAlarmFile",&mDefaultAlarmFile,defAlarm ); |
130 | 131 | ||
131 | addItemStringList("LocationDefaults",&mLocationDefaults ); | 132 | addItemStringList("LocationDefaults",&mLocationDefaults ); |
132 | addItemStringList("EventSummary User",&mEventSummaryUser); | 133 | addItemStringList("EventSummary User",&mEventSummaryUser); |
133 | addItemStringList("TodoSummary User",&mTodoSummaryUser); | 134 | addItemStringList("TodoSummary User",&mTodoSummaryUser); |
134 | addItemStringList("JournalSummary User",&mJournalSummaryUser); | 135 | addItemStringList("JournalSummary User",&mJournalSummaryUser); |
135 | 136 | ||
136 | addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false); | 137 | addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false); |
137 | addItemBool("Enable Project View",&mEnableProjectView,false); | 138 | addItemBool("Enable Project View",&mEnableProjectView,false); |
138 | addItemBool("Auto Save",&mAutoSave,false); | 139 | addItemBool("Auto Save",&mAutoSave,false); |
139 | addItemInt("Auto Save Interval",&mAutoSaveInterval,3); | 140 | addItemInt("Auto Save Interval",&mAutoSaveInterval,3); |
140 | addItemBool("Confirm Deletes",&mConfirm,true); | 141 | addItemBool("Confirm Deletes",&mConfirm,true); |
141 | addItemString("Archive File",&mArchiveFile); | 142 | addItemString("Archive File",&mArchiveFile); |
142 | addItemString("Html Export File",&mHtmlExportFile, | 143 | addItemString("Html Export File",&mHtmlExportFile, |
143 | QDir::homeDirPath() + "/" + i18n("Default export file", "calendar.html")); | 144 | QDir::homeDirPath() + "/" + i18n("Default export file", "calendar.html")); |
144 | addItemBool("Html With Save",&mHtmlWithSave,false); | 145 | addItemBool("Html With Save",&mHtmlWithSave,false); |
145 | 146 | ||
146 | KPrefs::setCurrentGroup("Personal Settings"); | 147 | KPrefs::setCurrentGroup("Personal Settings"); |
147 | 148 | ||
148 | addItemInt("Mail Client",&mMailClient,MailClientKMail); | 149 | addItemInt("Mail Client",&mMailClient,MailClientKMail); |
149 | addItemBool("Use Control Center Email",&mEmailControlCenter,false); | 150 | addItemBool("Use Control Center Email",&mEmailControlCenter,false); |
150 | addItemBool("Bcc",&mBcc,false); | 151 | addItemBool("Bcc",&mBcc,false); |
151 | 152 | ||
@@ -226,193 +227,193 @@ KOPrefs::KOPrefs() : | |||
226 | addItemColor("AppColor1",&mAppColor1,QColor( 130,170,255 )); | 227 | addItemColor("AppColor1",&mAppColor1,QColor( 130,170,255 )); |
227 | addItemColor("AppColor2",&mAppColor2,QColor( 174,216,255 )); | 228 | addItemColor("AppColor2",&mAppColor2,QColor( 174,216,255 )); |
228 | addItemBool("UseAppColors",&mUseAppColors,false); | 229 | addItemBool("UseAppColors",&mUseAppColors,false); |
229 | 230 | ||
230 | 231 | ||
231 | 232 | ||
232 | KPrefs::setCurrentGroup("Views"); | 233 | KPrefs::setCurrentGroup("Views"); |
233 | addItemBool("Block Popup Menu",&mBlockPopupMenu,false); | 234 | addItemBool("Block Popup Menu",&mBlockPopupMenu,false); |
234 | addItemBool("Show Date Navigator",&mShowDateNavigator,true); | 235 | addItemBool("Show Date Navigator",&mShowDateNavigator,true); |
235 | addItemInt("Hour Size",&mHourSize,8); | 236 | addItemInt("Hour Size",&mHourSize,8); |
236 | addItemBool("Show Daily Recurrences",&mDailyRecur,true); | 237 | addItemBool("Show Daily Recurrences",&mDailyRecur,true); |
237 | addItemBool("Show Weekly Recurrences",&mWeeklyRecur,true); | 238 | addItemBool("Show Weekly Recurrences",&mWeeklyRecur,true); |
238 | addItemBool("Show Month Daily Recurrences",&mMonthDailyRecur,true); | 239 | addItemBool("Show Month Daily Recurrences",&mMonthDailyRecur,true); |
239 | addItemBool("Show Month Weekly Recurrences",&mMonthWeeklyRecur,true); | 240 | addItemBool("Show Month Weekly Recurrences",&mMonthWeeklyRecur,true); |
240 | addItemBool("ShowShortMonthName",&mMonthShowShort,false); | 241 | addItemBool("ShowShortMonthName",&mMonthShowShort,false); |
241 | addItemBool("ShowIconsInMonthCell",&mMonthShowIcons,true); | 242 | addItemBool("ShowIconsInMonthCell",&mMonthShowIcons,true); |
242 | addItemBool("ShowTimesInMonthCell",&mMonthShowTimes,true); | 243 | addItemBool("ShowTimesInMonthCell",&mMonthShowTimes,true); |
243 | #ifdef DESKTOP_VERION | 244 | #ifdef DESKTOP_VERION |
244 | addItemBool("Enable ToolTips",&mEnableToolTips,true); | 245 | addItemBool("Enable ToolTips",&mEnableToolTips,true); |
245 | #else | 246 | #else |
246 | addItemBool("Enable ToolTips",&mEnableToolTips,false); | 247 | addItemBool("Enable ToolTips",&mEnableToolTips,false); |
247 | #endif | 248 | #endif |
248 | addItemBool("Enable MonthView ScrollBars",&mEnableMonthScroll,false); | 249 | addItemBool("Enable MonthView ScrollBars",&mEnableMonthScroll,false); |
249 | addItemBool("Marcus Bains shows seconds",&mMarcusBainsShowSeconds,false); | 250 | addItemBool("Marcus Bains shows seconds",&mMarcusBainsShowSeconds,false); |
250 | addItemBool("Show Marcus Bains",&mMarcusBainsEnabled,true); | 251 | addItemBool("Show Marcus Bains",&mMarcusBainsEnabled,true); |
251 | addItemBool("EditOnDoubleClick",&mEditOnDoubleClick,true); | 252 | addItemBool("EditOnDoubleClick",&mEditOnDoubleClick,true); |
252 | addItemBool("ViewChangeHoldFullscreen",&mViewChangeHoldFullscreen,true); | 253 | addItemBool("ViewChangeHoldFullscreen",&mViewChangeHoldFullscreen,true); |
253 | addItemBool("ViewChangeHoldNonFullscreen",&mViewChangeHoldNonFullscreen,false); | 254 | addItemBool("ViewChangeHoldNonFullscreen",&mViewChangeHoldNonFullscreen,false); |
254 | addItemBool("CenterOnCurrentTime",&mCenterOnCurrentTime,false); | 255 | addItemBool("CenterOnCurrentTime",&mCenterOnCurrentTime,false); |
255 | addItemBool("SetTimeToDayStartAt",&mSetTimeToDayStartAt,true); | 256 | addItemBool("SetTimeToDayStartAt",&mSetTimeToDayStartAt,true); |
256 | addItemBool("HighlightCurrentDay",&mHighlightCurrentDay,true); | 257 | addItemBool("HighlightCurrentDay",&mHighlightCurrentDay,true); |
257 | addItemBool("WNViewShowsParents",&mWNViewShowsParents,true);; | 258 | addItemBool("WNViewShowsParents",&mWNViewShowsParents,true);; |
258 | addItemBool("WNViewShowsPast",&mWNViewShowsPast,true); | 259 | addItemBool("WNViewShowsPast",&mWNViewShowsPast,true); |
259 | addItemBool("WNViewShowLocation",&mWNViewShowLocation,false); | 260 | addItemBool("WNViewShowLocation",&mWNViewShowLocation,false); |
260 | addItemBool("UseHighlightLightColor",&mUseHighlightLightColor,false); | 261 | addItemBool("UseHighlightLightColor",&mUseHighlightLightColor,false); |
261 | addItemBool("ListViewMonthTimespan",&mListViewMonthTimespan,true); | 262 | addItemBool("ListViewMonthTimespan",&mListViewMonthTimespan,true); |
262 | addItemBool("TodoViewUsesCatColors",&mTodoViewUsesCatColors,false); | 263 | addItemBool("TodoViewUsesCatColors",&mTodoViewUsesCatColors,false); |
263 | addItemBool("TodoViewShowsPercentage",&mTodoViewShowsPercentage,false); | 264 | addItemBool("TodoViewShowsPercentage",&mTodoViewShowsPercentage,false); |
264 | addItemBool("TodoViewUsesSmallFont",&mTodoViewUsesSmallFont,true); | 265 | addItemBool("TodoViewUsesSmallFont",&mTodoViewUsesSmallFont,true); |
265 | addItemBool("MonthViewUsesBigFont",&mMonthViewUsesBigFont,true); | 266 | addItemBool("MonthViewUsesBigFont",&mMonthViewUsesBigFont,true); |
266 | addItemBool("TodoViewUsesForegroundColor",&mTodoViewUsesForegroundColor,false); | 267 | addItemBool("TodoViewUsesForegroundColor",&mTodoViewUsesForegroundColor,false); |
267 | addItemBool("MonthViewUsesForegroundColor",&mMonthViewUsesForegroundColor,false); | 268 | addItemBool("MonthViewUsesForegroundColor",&mMonthViewUsesForegroundColor,false); |
268 | #ifdef DESKTOP_VERSION | 269 | #ifdef DESKTOP_VERSION |
269 | addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,true); | 270 | addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,true); |
270 | #else | 271 | #else |
271 | addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,false); | 272 | addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,false); |
272 | #endif | 273 | #endif |
273 | addItemInt("Day Begins",&mDayBegins,7); | 274 | addItemInt("Day Begins",&mDayBegins,7); |
274 | addItemInt("Working Hours Start",&mWorkingHoursStart,8); | 275 | addItemInt("Working Hours Start",&mWorkingHoursStart,8); |
275 | addItemInt("Working Hours End",&mWorkingHoursEnd,17); | 276 | addItemInt("Working Hours End",&mWorkingHoursEnd,17); |
276 | addItemBool("Exclude Holidays",&mExcludeHolidays,true); | 277 | addItemBool("Exclude Holidays",&mExcludeHolidays,true); |
277 | addItemBool("Exclude Saturdays",&mExcludeSaturdays,true); | 278 | addItemBool("Exclude Saturdays",&mExcludeSaturdays,true); |
278 | 279 | ||
279 | addItemBool("Month View Uses Category Color",&mMonthViewUsesCategoryColor,false); | 280 | addItemBool("Month View Uses Category Color",&mMonthViewUsesCategoryColor,false); |
280 | addItemBool("Full View Month",&mFullViewMonth,true); | 281 | addItemBool("Full View Month",&mFullViewMonth,true); |
281 | addItemBool("Full View Todo",&mFullViewTodo,true); | 282 | addItemBool("Full View Todo",&mFullViewTodo,true); |
282 | addItemBool("Quick Todo",&mEnableQuickTodo,false); | 283 | addItemBool("Quick Todo",&mEnableQuickTodo,false); |
283 | 284 | ||
284 | addItemInt("Next X Days",&mNextXDays,3); | 285 | addItemInt("Next X Days",&mNextXDays,3); |
285 | 286 | ||
286 | KPrefs::setCurrentGroup("Printer"); | 287 | KPrefs::setCurrentGroup("Printer"); |
287 | 288 | ||
288 | KPrefs::setCurrentGroup("Layout"); | 289 | KPrefs::setCurrentGroup("Layout"); |
289 | 290 | ||
290 | addItemBool("CompactDialogs",&mCompactDialogs,false); | 291 | addItemBool("CompactDialogs",&mCompactDialogs,false); |
291 | addItemBool("VerticalScreen",&mVerticalScreen,true); | 292 | addItemBool("VerticalScreen",&mVerticalScreen,true); |
292 | 293 | ||
293 | KPrefs::setCurrentGroup("KOrganizer Plugins"); | 294 | KPrefs::setCurrentGroup("KOrganizer Plugins"); |
294 | 295 | ||
295 | addItemStringList("SelectedPlugins",&mSelectedPlugins,"holidays"); | 296 | addItemStringList("SelectedPlugins",&mSelectedPlugins,"holidays"); |
296 | 297 | ||
297 | KPrefs::setCurrentGroup("Group Scheduling"); | 298 | KPrefs::setCurrentGroup("Group Scheduling"); |
298 | 299 | ||
299 | addItemInt("IMIPScheduler",&mIMIPScheduler,IMIPKMail); | 300 | addItemInt("IMIPScheduler",&mIMIPScheduler,IMIPKMail); |
300 | addItemInt("IMIPSend",&mIMIPSend,IMIPdirectsend); | 301 | addItemInt("IMIPSend",&mIMIPSend,IMIPdirectsend); |
301 | addItemStringList("AdditionalMails",&mAdditionalMails,""); | 302 | addItemStringList("AdditionalMails",&mAdditionalMails,""); |
302 | addItemInt("IMIP auto refresh",&mIMIPAutoRefresh,neverAuto); | 303 | addItemInt("IMIP auto refresh",&mIMIPAutoRefresh,neverAuto); |
303 | addItemInt("IMIP auto insert request",&mIMIPAutoInsertRequest,neverAuto); | 304 | addItemInt("IMIP auto insert request",&mIMIPAutoInsertRequest,neverAuto); |
304 | addItemInt("IMIP auto insert reply",&mIMIPAutoInsertReply,neverAuto); | 305 | addItemInt("IMIP auto insert reply",&mIMIPAutoInsertReply,neverAuto); |
305 | addItemInt("IMIP auto FreeBusy",&mIMIPAutoFreeBusy,neverAuto); | 306 | addItemInt("IMIP auto FreeBusy",&mIMIPAutoFreeBusy,neverAuto); |
306 | addItemInt("IMIP auto save FreeBusy",&mIMIPAutoFreeBusyReply,neverAuto); | 307 | addItemInt("IMIP auto save FreeBusy",&mIMIPAutoFreeBusyReply,neverAuto); |
307 | 308 | ||
308 | KPrefs::setCurrentGroup( "Editors" ); | 309 | KPrefs::setCurrentGroup( "Editors" ); |
309 | 310 | ||
310 | addItemStringList( "EventTemplates", &mEventTemplates ); | 311 | addItemStringList( "EventTemplates", &mEventTemplates ); |
311 | addItemStringList( "TodoTemplates", &mTodoTemplates ); | 312 | addItemStringList( "TodoTemplates", &mTodoTemplates ); |
312 | 313 | ||
313 | addItemInt("DestinationPolicy",&mDestination,standardDestination); | 314 | addItemInt("DestinationPolicy",&mDestination,standardDestination); |
314 | 315 | ||
315 | KPrefs::setCurrentGroup( "ViewOptions" ); | 316 | KPrefs::setCurrentGroup( "ViewOptions" ); |
316 | addItemBool("EVshowDetails",&mEVshowDetails,true); | 317 | addItemBool("EVshowDetails",&mEVshowDetails,true); |
317 | addItemBool("EVshowCreated",&mEVshowCreated,true); | 318 | addItemBool("EVshowCreated",&mEVshowCreated,true); |
318 | addItemBool("EVshowChanged",&mEVshowChanged,true); | 319 | addItemBool("EVshowChanged",&mEVshowChanged,true); |
319 | addItemBool("WTshowDetails",&mWTshowDetails,false); | 320 | addItemBool("WTshowDetails",&mWTshowDetails,false); |
320 | addItemBool("WTshowCreated",&mWTshowCreated,false); | 321 | addItemBool("WTshowCreated",&mWTshowCreated,false); |
321 | addItemBool("WTshowChanged",&mWTshowChanged,false); | 322 | addItemBool("WTshowChanged",&mWTshowChanged,false); |
322 | mCalendars.setAutoDelete( true ); | 323 | mCalendars.setAutoDelete( true ); |
323 | } | 324 | } |
324 | 325 | ||
325 | 326 | ||
326 | KOPrefs::~KOPrefs() | 327 | KOPrefs::~KOPrefs() |
327 | { | 328 | { |
328 | if (mInstance == this) | 329 | if (mInstance == this) |
329 | mInstance = insd.setObject(0); | 330 | mInstance = insd.setObject(0); |
330 | mCalendars.setAutoDelete( true ); | 331 | mCalendars.setAutoDelete( true ); |
331 | mCalendars.clear(); | 332 | mCalendars.clear(); |
332 | //qDebug("KOPrefs::~KOPrefs() "); | 333 | //qDebug("KOPrefs::~KOPrefs() "); |
333 | } | 334 | } |
334 | 335 | ||
335 | 336 | ||
336 | KOPrefs *KOPrefs::instance() | 337 | KOPrefs *KOPrefs::instance() |
337 | { | 338 | { |
338 | if (!mInstance) { | 339 | if (!mInstance) { |
339 | mInstance = insd.setObject(new KOPrefs()); | 340 | mInstance = insd.setObject(new KOPrefs()); |
340 | mInstance->readConfig(); | 341 | mInstance->readConfig(); |
341 | } | 342 | } |
342 | 343 | ||
343 | return mInstance; | 344 | return mInstance; |
344 | } | 345 | } |
345 | 346 | ||
346 | void KOPrefs::usrSetDefaults() | 347 | void KOPrefs::usrSetDefaults() |
347 | { | 348 | { |
348 | 349 | ||
349 | } | 350 | } |
350 | 351 | ||
351 | void KOPrefs::fillMailDefaults() | 352 | void KOPrefs::fillMailDefaults() |
352 | { | 353 | { |
353 | if (mName.isEmpty()) mName = i18n("Anonymous"); | 354 | if (mName.isEmpty()) mName = i18n("Anonymous"); |
354 | if (mEmail.isEmpty()) mEmail = i18n("nobody@nowhere"); | 355 | if (mEmail.isEmpty()) mEmail = i18n("nobody@nowhere"); |
355 | } | 356 | } |
356 | 357 | ||
357 | void KOPrefs::setTimeZoneIdDefault() | 358 | void KOPrefs::setTimeZoneIdDefault() |
358 | { | 359 | { |
359 | ; | 360 | ; |
360 | } | 361 | } |
361 | 362 | ||
362 | void KOPrefs::setAllDefaults() | 363 | void KOPrefs::setAllDefaults() |
363 | { | 364 | { |
364 | setCategoryDefaults(); | 365 | setCategoryDefaults(); |
365 | mEventSummaryUser = getDefaultList() ; | 366 | mEventSummaryUser = getDefaultList() ; |
366 | mTodoSummaryUser = getDefaultList() ; | 367 | mTodoSummaryUser = getDefaultList() ; |
367 | mJournalSummaryUser = getDefaultList() ; | 368 | mJournalSummaryUser = getDefaultList() ; |
368 | mLocationDefaults = getLocationDefaultList(); | 369 | mLocationDefaults = getLocationDefaultList(); |
369 | } | 370 | } |
370 | 371 | ||
371 | void KOPrefs::setCategoryDefaults() | 372 | void KOPrefs::setCategoryDefaults() |
372 | { | 373 | { |
373 | mCustomCategories.clear(); | 374 | mCustomCategories.clear(); |
374 | mCustomCategories = getDefaultList(); | 375 | mCustomCategories = getDefaultList(); |
375 | 376 | ||
376 | QStringList::Iterator it; | 377 | QStringList::Iterator it; |
377 | for (it = mCustomCategories.begin();it != mCustomCategories.end();++it ) { | 378 | for (it = mCustomCategories.begin();it != mCustomCategories.end();++it ) { |
378 | setCategoryColor(*it,mDefaultCategoryColor); | 379 | setCategoryColor(*it,mDefaultCategoryColor); |
379 | } | 380 | } |
380 | } | 381 | } |
381 | QStringList KOPrefs::getLocationDefaultList() | 382 | QStringList KOPrefs::getLocationDefaultList() |
382 | { | 383 | { |
383 | QStringList retval ; | 384 | QStringList retval ; |
384 | retval << i18n("Home") << i18n("Office") << i18n("Library") << i18n("School") << i18n("Doctor") << i18n("Beach") | 385 | retval << i18n("Home") << i18n("Office") << i18n("Library") << i18n("School") << i18n("Doctor") << i18n("Beach") |
385 | << i18n("University") << i18n("Restaurant") << i18n("Bar") << i18n("Conference room") | 386 | << i18n("University") << i18n("Restaurant") << i18n("Bar") << i18n("Conference room") |
386 | << i18n("Cinema") << i18n("Lake") << i18n("Kindergarten") | 387 | << i18n("Cinema") << i18n("Lake") << i18n("Kindergarten") |
387 | << i18n("Germany") << i18n("Sweden") << i18n("Forest") << i18n("Desert") << i18n("Kitchen") ; | 388 | << i18n("Germany") << i18n("Sweden") << i18n("Forest") << i18n("Desert") << i18n("Kitchen") ; |
388 | // << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") | 389 | // << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") |
389 | 390 | ||
390 | retval.sort(); | 391 | retval.sort(); |
391 | return retval; | 392 | return retval; |
392 | } | 393 | } |
393 | QStringList KOPrefs::getDefaultList() | 394 | QStringList KOPrefs::getDefaultList() |
394 | { | 395 | { |
395 | QStringList retval ; | 396 | QStringList retval ; |
396 | retval << i18n("Anniversary") << i18n("Appointment") << i18n("Birthday") << i18n("Business") << i18n("Customer") | 397 | retval << i18n("Anniversary") << i18n("Appointment") << i18n("Birthday") << i18n("Business") << i18n("Customer") |
397 | << i18n("Break") | 398 | << i18n("Break") |
398 | << i18n("Family") << i18n("Favorites") << i18n("Fishing") << i18n("Gifts") | 399 | << i18n("Family") << i18n("Favorites") << i18n("Fishing") << i18n("Gifts") |
399 | << i18n("Holiday") << i18n("Holiday Cards")<< i18n("Hot Contacts") | 400 | << i18n("Holiday") << i18n("Holiday Cards")<< i18n("Hot Contacts") |
400 | << i18n("Meeting") << i18n("Miscellaneous") << i18n("Partner") << i18n("Personal") | 401 | << i18n("Meeting") << i18n("Miscellaneous") << i18n("Partner") << i18n("Personal") |
401 | << i18n("PHB") << i18n("Phone Calls") << i18n("Shopping") | 402 | << i18n("PHB") << i18n("Phone Calls") << i18n("Shopping") |
402 | << i18n("Sports") << i18n("Talk") << i18n("Travel") << i18n("TV") | 403 | << i18n("Sports") << i18n("Talk") << i18n("Travel") << i18n("TV") |
403 | << i18n("Vacation") ; | 404 | << i18n("Vacation") ; |
404 | retval.sort(); | 405 | retval.sort(); |
405 | //qDebug("cat %s ", retval.join("-").latin1()); | 406 | //qDebug("cat %s ", retval.join("-").latin1()); |
406 | return retval; | 407 | return retval; |
407 | } | 408 | } |
408 | // << i18n("Business Travel") << i18n("Education") << i18n("Hiking") << i18n("Hunting") << i18n("Recurring") << i18n("Personal Travel") << i18n("Speach") << i18n("Festival") << i18n("Competition")<< i18n("Party")<< i18n("Projects")<< i18n("Kids") << i18n("Special Occasion")<< i18n("Breakfast")<< i18n("Dinner") << i18n("Lunch")<< i18n("University")<< i18n("School")<< i18n("Flight")<< i18n("Key Customer") << i18n("VIP") << i18n("SyncEvent") << i18n("Cinema") | 409 | // << i18n("Business Travel") << i18n("Education") << i18n("Hiking") << i18n("Hunting") << i18n("Recurring") << i18n("Personal Travel") << i18n("Speach") << i18n("Festival") << i18n("Competition")<< i18n("Party")<< i18n("Projects")<< i18n("Kids") << i18n("Special Occasion")<< i18n("Breakfast")<< i18n("Dinner") << i18n("Lunch")<< i18n("University")<< i18n("School")<< i18n("Flight")<< i18n("Key Customer") << i18n("VIP") << i18n("SyncEvent") << i18n("Cinema") |
409 | void KOPrefs::usrReadConfig() | 410 | void KOPrefs::usrReadConfig() |
410 | { | 411 | { |
411 | config()->setGroup("General"); | 412 | config()->setGroup("General"); |
412 | 413 | ||
413 | //qDebug("KOPrefs::usrReadConfig() "); | 414 | //qDebug("KOPrefs::usrReadConfig() "); |
414 | mCustomCategories = config()->readListEntry("Custom Categories"); | 415 | mCustomCategories = config()->readListEntry("Custom Categories"); |
415 | mOldLoadedLanguage = mOldLanguage ; | 416 | mOldLoadedLanguage = mOldLanguage ; |
416 | mOldLanguage = KPimGlobalPrefs::instance()->mPreferredLanguage; | 417 | mOldLanguage = KPimGlobalPrefs::instance()->mPreferredLanguage; |
417 | if (mLocationDefaults.isEmpty()) { | 418 | if (mLocationDefaults.isEmpty()) { |
418 | mLocationDefaults = getLocationDefaultList(); | 419 | mLocationDefaults = getLocationDefaultList(); |
diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h index 0779e27..392360d 100644 --- a/korganizer/koprefs.h +++ b/korganizer/koprefs.h | |||
@@ -252,111 +252,112 @@ class KOPrefs : public KPimPrefs | |||
252 | bool mToolBarUpF; | 252 | bool mToolBarUpF; |
253 | bool mToolBarMiniIcons; | 253 | bool mToolBarMiniIcons; |
254 | 254 | ||
255 | bool mAskForQuit; | 255 | bool mAskForQuit; |
256 | bool mUsePassWd; | 256 | bool mUsePassWd; |
257 | bool mShowSyncEvents; | 257 | bool mShowSyncEvents; |
258 | bool mShowTodoInAgenda; | 258 | bool mShowTodoInAgenda; |
259 | bool mShowCompletedTodoInAgenda; | 259 | bool mShowCompletedTodoInAgenda; |
260 | bool mShowTimeInAgenda; | 260 | bool mShowTimeInAgenda; |
261 | bool mHideNonStartedTodos; | 261 | bool mHideNonStartedTodos; |
262 | 262 | ||
263 | bool mBlockPopupMenu; | 263 | bool mBlockPopupMenu; |
264 | 264 | ||
265 | int mLastSyncTime; | 265 | int mLastSyncTime; |
266 | void setCategoryColor(QString cat,const QColor & color); | 266 | void setCategoryColor(QString cat,const QColor & color); |
267 | QColor *categoryColor(QString cat); | 267 | QColor *categoryColor(QString cat); |
268 | 268 | ||
269 | QString mArchiveFile; | 269 | QString mArchiveFile; |
270 | QString mHtmlExportFile; | 270 | QString mHtmlExportFile; |
271 | bool mHtmlWithSave; | 271 | bool mHtmlWithSave; |
272 | 272 | ||
273 | QStringList mSelectedPlugins; | 273 | QStringList mSelectedPlugins; |
274 | 274 | ||
275 | QString mLastImportFile; | 275 | QString mLastImportFile; |
276 | QString mLastVcalFile; | 276 | QString mLastVcalFile; |
277 | QString mLastSaveFile; | 277 | QString mLastSaveFile; |
278 | QString mLastLoadFile; | 278 | QString mLastLoadFile; |
279 | 279 | ||
280 | 280 | ||
281 | QString mDefaultAlarmFile; | 281 | QString mDefaultAlarmFile; |
282 | int mIMIPScheduler; | 282 | int mIMIPScheduler; |
283 | int mIMIPSend; | 283 | int mIMIPSend; |
284 | QStringList mAdditionalMails; | 284 | QStringList mAdditionalMails; |
285 | int mIMIPAutoRefresh; | 285 | int mIMIPAutoRefresh; |
286 | int mIMIPAutoInsertReply; | 286 | int mIMIPAutoInsertReply; |
287 | int mIMIPAutoInsertRequest; | 287 | int mIMIPAutoInsertRequest; |
288 | int mIMIPAutoFreeBusy; | 288 | int mIMIPAutoFreeBusy; |
289 | int mIMIPAutoFreeBusyReply; | 289 | int mIMIPAutoFreeBusyReply; |
290 | 290 | ||
291 | QStringList mTodoTemplates; | 291 | QStringList mTodoTemplates; |
292 | QStringList mEventTemplates; | 292 | QStringList mEventTemplates; |
293 | 293 | ||
294 | int mDestination; | 294 | int mDestination; |
295 | 295 | ||
296 | 296 | ||
297 | bool mEditOnDoubleClick; | 297 | bool mEditOnDoubleClick; |
298 | bool mViewChangeHoldFullscreen; | 298 | bool mViewChangeHoldFullscreen; |
299 | bool mViewChangeHoldNonFullscreen; | 299 | bool mViewChangeHoldNonFullscreen; |
300 | bool mCenterOnCurrentTime; | 300 | bool mCenterOnCurrentTime; |
301 | bool mSetTimeToDayStartAt; | 301 | bool mSetTimeToDayStartAt; |
302 | bool mHighlightCurrentDay; | 302 | bool mHighlightCurrentDay; |
303 | bool mUseHighlightLightColor; | 303 | bool mUseHighlightLightColor; |
304 | bool mListViewMonthTimespan; | 304 | bool mListViewMonthTimespan; |
305 | bool mWNViewShowsParents; | 305 | bool mWNViewShowsParents; |
306 | bool mWNViewShowsPast; | 306 | bool mWNViewShowsPast; |
307 | bool mWNViewShowLocation; | 307 | bool mWNViewShowLocation; |
308 | bool mTodoViewShowsPercentage; | 308 | bool mTodoViewShowsPercentage; |
309 | bool mTodoViewUsesCatColors; | 309 | bool mTodoViewUsesCatColors; |
310 | bool mMonthViewUsesBigFont; | 310 | bool mMonthViewUsesBigFont; |
311 | bool mTodoViewUsesSmallFont; | 311 | bool mTodoViewUsesSmallFont; |
312 | bool mTodoViewUsesForegroundColor; | 312 | bool mTodoViewUsesForegroundColor; |
313 | bool mMonthViewUsesForegroundColor; | 313 | bool mMonthViewUsesForegroundColor; |
314 | 314 | ||
315 | bool mHightlightDateTimeEdit; | 315 | bool mHightlightDateTimeEdit; |
316 | bool mShortDateInViewer; | 316 | bool mShortDateInViewer; |
317 | 317 | ||
318 | bool mShowDateNavigator; | 318 | bool mShowDateNavigator; |
319 | 319 | ||
320 | QStringList mLocationDefaults; | 320 | QStringList mLocationDefaults; |
321 | QStringList mEventSummaryUser; | 321 | QStringList mEventSummaryUser; |
322 | QStringList mTodoSummaryUser; | 322 | QStringList mTodoSummaryUser; |
323 | QStringList mJournalSummaryUser; | 323 | QStringList mJournalSummaryUser; |
324 | 324 | ||
325 | bool mUseInternalAlarmNotification; | 325 | bool mUseInternalAlarmNotification; |
326 | int mAlarmPlayBeeps; | 326 | int mAlarmPlayBeeps; |
327 | int mAlarmSuspendTime; | 327 | int mAlarmSuspendTime; |
328 | int mAlarmSuspendCount; | 328 | int mAlarmSuspendCount; |
329 | int mAlarmBeepInterval; | 329 | int mAlarmBeepInterval; |
330 | int mOldLanguage; | 330 | int mOldLanguage; |
331 | int mOldLoadedLanguage; | 331 | int mOldLoadedLanguage; |
332 | 332 | ||
333 | 333 | ||
334 | QString mActiveSyncPort; | 334 | QString mActiveSyncPort; |
335 | QString mActiveSyncIP; | 335 | QString mActiveSyncIP; |
336 | 336 | ||
337 | // settings for eventviewer | 337 | // settings for eventviewer |
338 | bool mEVshowDetails; | 338 | bool mEVshowDetails; |
339 | bool mEVshowCreated; | 339 | bool mEVshowCreated; |
340 | bool mEVshowChanged; | 340 | bool mEVshowChanged; |
341 | bool mWTshowDetails; | 341 | bool mWTshowDetails; |
342 | bool mWTshowCreated; | 342 | bool mWTshowCreated; |
343 | bool mWTshowChanged; | 343 | bool mWTshowChanged; |
344 | 344 | ||
345 | int mCurrentDisplayedView; | 345 | int mCurrentDisplayedView; |
346 | QPtrList<KopiCalendarFile> mCalendars; | 346 | QPtrList<KopiCalendarFile> mCalendars; |
347 | int mNextAvailableCalendar; | 347 | int mNextAvailableCalendar; |
348 | bool mGlobalUpdateDisabled; | ||
348 | 349 | ||
349 | private: | 350 | private: |
350 | QDict<QColor> mCategoryColors; | 351 | QDict<QColor> mCategoryColors; |
351 | QArray<KopiCalendarFile*> mDefCalColors; | 352 | QArray<KopiCalendarFile*> mDefCalColors; |
352 | QColor mDefaultCategoryColor; | 353 | QColor mDefaultCategoryColor; |
353 | 354 | ||
354 | QFont mDefaultTimeBarFont; | 355 | QFont mDefaultTimeBarFont; |
355 | QFont mDefaultViewFont; | 356 | QFont mDefaultViewFont; |
356 | QFont mDefaultMonthViewFont; | 357 | QFont mDefaultMonthViewFont; |
357 | 358 | ||
358 | QString mName; | 359 | QString mName; |
359 | QString mEmail; | 360 | QString mEmail; |
360 | }; | 361 | }; |
361 | 362 | ||
362 | #endif | 363 | #endif |
diff --git a/korganizer/searchdialog.cpp b/korganizer/searchdialog.cpp index 2e32ac2..9cfdc35 100644 --- a/korganizer/searchdialog.cpp +++ b/korganizer/searchdialog.cpp | |||
@@ -161,192 +161,196 @@ SearchDialog::~SearchDialog() | |||
161 | } | 161 | } |
162 | void SearchDialog::slot_add( bool b ) | 162 | void SearchDialog::slot_add( bool b ) |
163 | { | 163 | { |
164 | if ( b ) { | 164 | if ( b ) { |
165 | if ( mSubItems->isOn() ) mSubItems->toggle(); | 165 | if ( mSubItems->isOn() ) mSubItems->toggle(); |
166 | if ( mRefineItems->isOn() ) mRefineItems->toggle(); | 166 | if ( mRefineItems->isOn() ) mRefineItems->toggle(); |
167 | setCaption( i18n("Matching items will be added to list")); | 167 | setCaption( i18n("Matching items will be added to list")); |
168 | } else | 168 | } else |
169 | setCaption( i18n("List will be cleared before search")); | 169 | setCaption( i18n("List will be cleared before search")); |
170 | } | 170 | } |
171 | void SearchDialog::slot_sub( bool b) | 171 | void SearchDialog::slot_sub( bool b) |
172 | { | 172 | { |
173 | if ( b ) { | 173 | if ( b ) { |
174 | if ( mRefineItems->isOn() ) mRefineItems->toggle(); | 174 | if ( mRefineItems->isOn() ) mRefineItems->toggle(); |
175 | if ( mAddItems->isOn() ) mAddItems->toggle(); | 175 | if ( mAddItems->isOn() ) mAddItems->toggle(); |
176 | setCaption( i18n("Matching items will be removed from list")); | 176 | setCaption( i18n("Matching items will be removed from list")); |
177 | } else | 177 | } else |
178 | setCaption( i18n("List will be cleared before search")); | 178 | setCaption( i18n("List will be cleared before search")); |
179 | } | 179 | } |
180 | void SearchDialog::slot_refine( bool b) | 180 | void SearchDialog::slot_refine( bool b) |
181 | { | 181 | { |
182 | if ( b ) { | 182 | if ( b ) { |
183 | if ( mSubItems->isOn() ) mSubItems->toggle(); | 183 | if ( mSubItems->isOn() ) mSubItems->toggle(); |
184 | if ( mAddItems->isOn() ) mAddItems->toggle(); | 184 | if ( mAddItems->isOn() ) mAddItems->toggle(); |
185 | setCaption( i18n("Search on displayed list only")); | 185 | setCaption( i18n("Search on displayed list only")); |
186 | } else | 186 | } else |
187 | setCaption( i18n("List will be cleared before search")); | 187 | setCaption( i18n("List will be cleared before search")); |
188 | } | 188 | } |
189 | void SearchDialog::toggleCheckboxes() | 189 | void SearchDialog::toggleCheckboxes() |
190 | { | 190 | { |
191 | if ( incidenceGroup->isVisible() ) { | 191 | if ( incidenceGroup->isVisible() ) { |
192 | incidenceGroup->hide() ; | 192 | incidenceGroup->hide() ; |
193 | subjectGroup->hide() ; | 193 | subjectGroup->hide() ; |
194 | attendeeGroup->hide() ; | 194 | attendeeGroup->hide() ; |
195 | } else { | 195 | } else { |
196 | incidenceGroup->show() ; | 196 | incidenceGroup->show() ; |
197 | subjectGroup->show() ; | 197 | subjectGroup->show() ; |
198 | attendeeGroup->show() ; | 198 | attendeeGroup->show() ; |
199 | } | 199 | } |
200 | } | 200 | } |
201 | void SearchDialog::raiseAndSelect() | 201 | void SearchDialog::raiseAndSelect() |
202 | { | 202 | { |
203 | 203 | ||
204 | static int currentState = 0; | 204 | static int currentState = 0; |
205 | 205 | ||
206 | if ( !mSearchJournal->isChecked() && !mSearchTodo->isChecked() && !mSearchEvent->isChecked() ) | 206 | if ( !mSearchJournal->isChecked() && !mSearchTodo->isChecked() && !mSearchEvent->isChecked() ) |
207 | currentState = 0; | 207 | currentState = 0; |
208 | int newState = 0; | 208 | int newState = 0; |
209 | if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) { | 209 | if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) { |
210 | newState = VIEW_J_VIEW; | 210 | newState = VIEW_J_VIEW; |
211 | } | 211 | } |
212 | else if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) { | 212 | else if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) { |
213 | newState = VIEW_T_VIEW; | 213 | newState = VIEW_T_VIEW; |
214 | } | 214 | } |
215 | else { | 215 | else { |
216 | newState = VIEW_A_VIEW; | 216 | newState = VIEW_A_VIEW; |
217 | } | 217 | } |
218 | if ( newState != currentState ) { | 218 | if ( newState != currentState ) { |
219 | if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) { | 219 | if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) { |
220 | if ( ! mSearchJournal->isChecked() ) { | 220 | if ( ! mSearchJournal->isChecked() ) { |
221 | mSearchJournal->setChecked( true ); | 221 | mSearchJournal->setChecked( true ); |
222 | mSearchTodo->setChecked( false ); | 222 | mSearchTodo->setChecked( false ); |
223 | mSearchEvent->setChecked( false ); | 223 | mSearchEvent->setChecked( false ); |
224 | mSummaryCheck->setChecked( true ); | 224 | mSummaryCheck->setChecked( true ); |
225 | mDescriptionCheck->setChecked( true ); | 225 | mDescriptionCheck->setChecked( true ); |
226 | 226 | ||
227 | } | 227 | } |
228 | } | 228 | } |
229 | else if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) { | 229 | else if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) { |
230 | if ( ! mSearchTodo->isChecked() ) { | 230 | if ( ! mSearchTodo->isChecked() ) { |
231 | mSearchTodo->setChecked( true ); | 231 | mSearchTodo->setChecked( true ); |
232 | mSearchJournal->setChecked( false ); | 232 | mSearchJournal->setChecked( false ); |
233 | mSearchEvent->setChecked( false ); | 233 | mSearchEvent->setChecked( false ); |
234 | } | 234 | } |
235 | } | 235 | } |
236 | else { | 236 | else { |
237 | if ( ! mSearchEvent->isChecked() ) { | 237 | if ( ! mSearchEvent->isChecked() ) { |
238 | mSearchEvent->setChecked( true ); | 238 | mSearchEvent->setChecked( true ); |
239 | mSearchJournal->setChecked( false ); | 239 | mSearchJournal->setChecked( false ); |
240 | mSearchTodo->setChecked( false ); | 240 | mSearchTodo->setChecked( false ); |
241 | } | 241 | } |
242 | } | 242 | } |
243 | } | 243 | } |
244 | currentState = newState; | 244 | currentState = newState; |
245 | raise(); | 245 | raise(); |
246 | } | 246 | } |
247 | void SearchDialog::setFocusToList() | 247 | void SearchDialog::setFocusToList() |
248 | { | 248 | { |
249 | listView->resetFocus(); | 249 | listView->resetFocus(); |
250 | } | 250 | } |
251 | void SearchDialog::accept() | 251 | void SearchDialog::accept() |
252 | { | 252 | { |
253 | doSearch(); | 253 | doSearch(); |
254 | } | 254 | } |
255 | void SearchDialog::updateList() | 255 | void SearchDialog::updateList() |
256 | { | 256 | { |
257 | if ( KOPrefs::instance()->mGlobalUpdateDisabled ) { | ||
258 | listView->clear(); | ||
259 | return; | ||
260 | } | ||
257 | //listView->updateList(); | 261 | //listView->updateList(); |
258 | if ( isVisible() ) { | 262 | if ( isVisible() ) { |
259 | updateView(); | 263 | updateView(); |
260 | //qDebug("SearchDialog::updated "); | 264 | //qDebug("SearchDialog::updated "); |
261 | } | 265 | } |
262 | else { | 266 | else { |
263 | listView->clear(); | 267 | listView->clear(); |
264 | //qDebug("SearchDialog::cleared "); | 268 | //qDebug("SearchDialog::cleared "); |
265 | 269 | ||
266 | } | 270 | } |
267 | } | 271 | } |
268 | void SearchDialog::searchTextChanged( const QString &_text ) | 272 | void SearchDialog::searchTextChanged( const QString &_text ) |
269 | { | 273 | { |
270 | #if 0 | 274 | #if 0 |
271 | enableButton( KDialogBase::User1, !_text.isEmpty() ); | 275 | enableButton( KDialogBase::User1, !_text.isEmpty() ); |
272 | #endif | 276 | #endif |
273 | } | 277 | } |
274 | 278 | ||
275 | void SearchDialog::doSearch() | 279 | void SearchDialog::doSearch() |
276 | { | 280 | { |
277 | QRegExp re; | 281 | QRegExp re; |
278 | re.setWildcard(true); // most people understand these better. | 282 | re.setWildcard(true); // most people understand these better. |
279 | re.setCaseSensitive(false); | 283 | re.setCaseSensitive(false); |
280 | QString st = searchEdit->text(); | 284 | QString st = searchEdit->text(); |
281 | if ( st.right(1) != "*") | 285 | if ( st.right(1) != "*") |
282 | st += "*"; | 286 | st += "*"; |
283 | re.setPattern(st); | 287 | re.setPattern(st); |
284 | if (!mSearchEvent->isChecked() && !mSearchTodo->isChecked() && !mSearchJournal->isChecked() ) { | 288 | if (!mSearchEvent->isChecked() && !mSearchTodo->isChecked() && !mSearchJournal->isChecked() ) { |
285 | KMessageBox::sorry(this, | 289 | KMessageBox::sorry(this, |
286 | i18n("Please select at least one\nof the types to search for:\n\nEvents\nTodos\nJournals")); | 290 | i18n("Please select at least one\nof the types to search for:\n\nEvents\nTodos\nJournals")); |
287 | return; | 291 | return; |
288 | } | 292 | } |
289 | if (!re.isValid() ) { | 293 | if (!re.isValid() ) { |
290 | KMessageBox::sorry(this, | 294 | KMessageBox::sorry(this, |
291 | i18n("Invalid search expression,\ncannot perform " | 295 | i18n("Invalid search expression,\ncannot perform " |
292 | "the search.\nPlease enter a search expression\n" | 296 | "the search.\nPlease enter a search expression\n" |
293 | "using the wildcard characters\n '*' and '?'" | 297 | "using the wildcard characters\n '*' and '?'" |
294 | "where needed.")); | 298 | "where needed.")); |
295 | return; | 299 | return; |
296 | } | 300 | } |
297 | search(re); | 301 | search(re); |
298 | listView->setStartDate( mStartDate->date() ); | 302 | listView->setStartDate( mStartDate->date() ); |
299 | listView->showEvents(mMatchedEvents); | 303 | listView->showEvents(mMatchedEvents); |
300 | listView->addTodos(mMatchedTodos); | 304 | listView->addTodos(mMatchedTodos); |
301 | listView->addJournals(mMatchedJournals); | 305 | listView->addJournals(mMatchedJournals); |
302 | if (mMatchedEvents.count() + mMatchedJournals.count() + mMatchedTodos.count() == 0) { | 306 | if (mMatchedEvents.count() + mMatchedJournals.count() + mMatchedTodos.count() == 0) { |
303 | setCaption(i18n("No items found. Use '*' and '?' where needed.")); | 307 | setCaption(i18n("No items found. Use '*' and '?' where needed.")); |
304 | } else { | 308 | } else { |
305 | QString mess; | 309 | QString mess; |
306 | mess = mess.sprintf( i18n("%d item(s) found."), mMatchedEvents.count()+ mMatchedJournals.count() + mMatchedTodos.count() ); | 310 | mess = mess.sprintf( i18n("%d item(s) found."), mMatchedEvents.count()+ mMatchedJournals.count() + mMatchedTodos.count() ); |
307 | setCaption( i18n("KO/Pi Find: ") + mess); | 311 | setCaption( i18n("KO/Pi Find: ") + mess); |
308 | 312 | ||
309 | } | 313 | } |
310 | searchEdit->setFocus(); | 314 | searchEdit->setFocus(); |
311 | } | 315 | } |
312 | void SearchDialog::updateConfig() | 316 | void SearchDialog::updateConfig() |
313 | { | 317 | { |
314 | listView->updateConfig(); | 318 | listView->updateConfig(); |
315 | } | 319 | } |
316 | void SearchDialog::updateView() | 320 | void SearchDialog::updateView() |
317 | { | 321 | { |
318 | //qDebug("SearchDialog::updateView() %d ", isVisible()); | 322 | //qDebug("SearchDialog::updateView() %d ", isVisible()); |
319 | QRegExp re; | 323 | QRegExp re; |
320 | re.setWildcard(true); // most people understand these better. | 324 | re.setWildcard(true); // most people understand these better. |
321 | re.setCaseSensitive(false); | 325 | re.setCaseSensitive(false); |
322 | QString st = searchEdit->text(); | 326 | QString st = searchEdit->text(); |
323 | if ( st.right(1) != "*") | 327 | if ( st.right(1) != "*") |
324 | st += "*"; | 328 | st += "*"; |
325 | re.setPattern(st); | 329 | re.setPattern(st); |
326 | mMatchedEvents.clear(); | 330 | mMatchedEvents.clear(); |
327 | mMatchedTodos.clear(); | 331 | mMatchedTodos.clear(); |
328 | mMatchedJournals.clear(); | 332 | mMatchedJournals.clear(); |
329 | if (re.isValid()) { | 333 | if (re.isValid()) { |
330 | search(re); | 334 | search(re); |
331 | } | 335 | } |
332 | listView->setStartDate( mStartDate->date() ); | 336 | listView->setStartDate( mStartDate->date() ); |
333 | listView->showEvents(mMatchedEvents); | 337 | listView->showEvents(mMatchedEvents); |
334 | listView->addTodos(mMatchedTodos); | 338 | listView->addTodos(mMatchedTodos); |
335 | listView->addJournals(mMatchedJournals); | 339 | listView->addJournals(mMatchedJournals); |
336 | } | 340 | } |
337 | 341 | ||
338 | void SearchDialog::search(const QRegExp &re) | 342 | void SearchDialog::search(const QRegExp &re) |
339 | { | 343 | { |
340 | QPtrList<Event> events; | 344 | QPtrList<Event> events; |
341 | if ( !mAddItems->isChecked() && !mSubItems->isChecked() ) { | 345 | if ( !mAddItems->isChecked() && !mSubItems->isChecked() ) { |
342 | if ( mRefineItems->isChecked() ) events = mMatchedEvents; | 346 | if ( mRefineItems->isChecked() ) events = mMatchedEvents; |
343 | mMatchedEvents.clear(); | 347 | mMatchedEvents.clear(); |
344 | } | 348 | } |
345 | if ( mSearchEvent->isChecked() ) { | 349 | if ( mSearchEvent->isChecked() ) { |
346 | if ( !mRefineItems->isChecked() ) | 350 | if ( !mRefineItems->isChecked() ) |
347 | events = mCalendar->events( mStartDate->date(), | 351 | events = mCalendar->events( mStartDate->date(), |
348 | mEndDate->date(), | 352 | mEndDate->date(), |
349 | false /*mInclusiveCheck->isChecked()*/ ); | 353 | false /*mInclusiveCheck->isChecked()*/ ); |
350 | 354 | ||
351 | 355 | ||
352 | Event *ev; | 356 | Event *ev; |