-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 @@ -2658,24 +2658,33 @@ void CalendarView::clearAllViews() { mTodoList->clearList(); mViewManager->clearAllViews(); SearchDialog * sd = mDialogManager->getSearchDialog(); if ( sd ) { KOListView* kol = sd->listview(); if ( kol ) kol->clearList(); } } void CalendarView::updateView() { + static bool clearallviews = false; + if ( KOPrefs::instance()->mGlobalUpdateDisabled ) { + if ( clearallviews ) { + clearAllViews(); + clearallviews = false; + } + return; + } + clearallviews = true; DateList tmpList = mNavigator->selectedDates(); if ( KOPrefs::instance()->mHideNonStartedTodos ) mTodoList->updateView(); // We assume that the navigator only selects consecutive days. updateView( tmpList.first(), tmpList.last() ); } void CalendarView::updateUnmanagedViews() { mDateNavigator->updateDayMatrix(); } @@ -4402,24 +4411,29 @@ void CalendarView::editIncidence(Incidence *incidence) { if ( incidence ) { EditIncidenceVisitor v; v.act( incidence, this ); } } void CalendarView::deleteIncidence(Incidence *incidence) { //qDebug(" CalendarView::deleteIncidence "); + if ( incidence == 0 ) { + updateView(); + emit updateSearchDialog(); + return; + } if ( incidence ) { DeleteIncidenceVisitor v; v.act( incidence, this ); } } void CalendarView::lookForOutgoingMessages() { OutgoingDialog *ogd = mDialogManager->outgoingDialog(); ogd->loadMessages(); } diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp index 25e599d..5690bdb 100644 --- a/korganizer/kolistview.cpp +++ b/korganizer/kolistview.cpp @@ -856,37 +856,39 @@ void KOListView::deleteAll() lay.setMargin(7); lay.setSpacing(7); lay.addWidget( &lab); QProgressBar bar( icount, &dia ); lay.addWidget( &bar); int w = 220; int h = 50; int dw = QApplication::desktop()->width(); int dh = QApplication::desktop()->height(); dia.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); //dia.resize( 240,50 ); dia.show(); - + KOPrefs::instance()->mGlobalUpdateDisabled = true; while ( incidence ) { bar.setProgress( delCounter ); mess = mess.sprintf( i18n("Deleting item %d ..."), ++delCounter ); dia.setCaption( mess ); qApp->processEvents(); toDelete = (incidence); incidence = delSel.next(); emit deleteIncidenceSignal(toDelete ); if ( dia.result() != 0 ) break; } + KOPrefs::instance()->mGlobalUpdateDisabled = false; + emit deleteIncidenceSignal( 0 ); mess = mess.sprintf( i18n("%d items remaining in list."), count() ); topLevelWidget ()->setCaption( mess ); p->mConfirm = confirm; } } } int KOListView::maxDatesHint() { return 0; } diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp index 138028d..a63297e 100644 --- a/korganizer/koprefs.cpp +++ b/korganizer/koprefs.cpp @@ -44,24 +44,25 @@ #include <kstaticdeleter.h> #include <libkdepim/kpimglobalprefs.h> #include "koprefs.h" #include "mainwindow.h" KOPrefs *KOPrefs::mInstance = 0; static KStaticDeleter<KOPrefs> insd; KOPrefs::KOPrefs() : KPimPrefs("korganizerrc") { + mGlobalUpdateDisabled = false; mCategoryColors.setAutoDelete(true); fillMailDefaults(); mDefaultCategoryColor = QColor(175,210,255);//196,196,196); QColor defaultHolidayColor = QColor(255,0,0); QColor defaultHighlightColor = QColor(129,112,255);//64,64,255); QColor defaultAgendaBgColor = QColor(239,241,169);//128,128,128); QColor defaultWorkingHoursColor = QColor(170,223,150);//160,160,160); QColor defaultTodoDueTodayColor = QColor(255,220,100); QColor defaultTodoOverdueColor = QColor(255,153,125); QColor defaultTodoRunColor = QColor(99,194,30); KPrefs::setCurrentGroup("General"); addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false); @@ -310,25 +311,25 @@ KOPrefs::KOPrefs() : addItemStringList( "EventTemplates", &mEventTemplates ); addItemStringList( "TodoTemplates", &mTodoTemplates ); addItemInt("DestinationPolicy",&mDestination,standardDestination); KPrefs::setCurrentGroup( "ViewOptions" ); addItemBool("EVshowDetails",&mEVshowDetails,true); addItemBool("EVshowCreated",&mEVshowCreated,true); addItemBool("EVshowChanged",&mEVshowChanged,true); addItemBool("WTshowDetails",&mWTshowDetails,false); addItemBool("WTshowCreated",&mWTshowCreated,false); addItemBool("WTshowChanged",&mWTshowChanged,false); - mCalendars.setAutoDelete( true ); + mCalendars.setAutoDelete( true ); } KOPrefs::~KOPrefs() { if (mInstance == this) mInstance = insd.setObject(0); mCalendars.setAutoDelete( true ); mCalendars.clear(); //qDebug("KOPrefs::~KOPrefs() "); } diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h index 0779e27..392360d 100644 --- a/korganizer/koprefs.h +++ b/korganizer/koprefs.h @@ -336,24 +336,25 @@ class KOPrefs : public KPimPrefs // settings for eventviewer bool mEVshowDetails; bool mEVshowCreated; bool mEVshowChanged; bool mWTshowDetails; bool mWTshowCreated; bool mWTshowChanged; int mCurrentDisplayedView; QPtrList<KopiCalendarFile> mCalendars; int mNextAvailableCalendar; + bool mGlobalUpdateDisabled; private: QDict<QColor> mCategoryColors; QArray<KopiCalendarFile*> mDefCalColors; QColor mDefaultCategoryColor; QFont mDefaultTimeBarFont; QFont mDefaultViewFont; QFont mDefaultMonthViewFont; QString mName; QString mEmail; diff --git a/korganizer/searchdialog.cpp b/korganizer/searchdialog.cpp index 2e32ac2..9cfdc35 100644 --- a/korganizer/searchdialog.cpp +++ b/korganizer/searchdialog.cpp @@ -245,24 +245,28 @@ void SearchDialog::raiseAndSelect() raise(); } void SearchDialog::setFocusToList() { listView->resetFocus(); } void SearchDialog::accept() { doSearch(); } void SearchDialog::updateList() { + if ( KOPrefs::instance()->mGlobalUpdateDisabled ) { + listView->clear(); + return; + } //listView->updateList(); if ( isVisible() ) { updateView(); //qDebug("SearchDialog::updated "); } else { listView->clear(); //qDebug("SearchDialog::cleared "); } } void SearchDialog::searchTextChanged( const QString &_text ) |