-rw-r--r-- | korganizer/calendarview.cpp | 19 | ||||
-rw-r--r-- | korganizer/calendarview.h | 1 | ||||
-rw-r--r-- | korganizer/koagendaview.cpp | 7 | ||||
-rw-r--r-- | korganizer/koagendaview.h | 1 | ||||
-rw-r--r-- | korganizer/kojournalview.cpp | 4 | ||||
-rw-r--r-- | korganizer/kojournalview.h | 1 | ||||
-rw-r--r-- | korganizer/kolistview.cpp | 4 | ||||
-rw-r--r-- | korganizer/kolistview.h | 1 | ||||
-rw-r--r-- | korganizer/komonthview.cpp | 10 | ||||
-rw-r--r-- | korganizer/komonthview.h | 1 | ||||
-rw-r--r-- | korganizer/koviewmanager.cpp | 13 | ||||
-rw-r--r-- | korganizer/koviewmanager.h | 1 | ||||
-rw-r--r-- | korganizer/kowhatsnextview.cpp | 5 | ||||
-rw-r--r-- | korganizer/kowhatsnextview.h | 1 | ||||
-rw-r--r-- | korganizer/mainwindow.cpp | 1 |
15 files changed, 67 insertions, 3 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 608b73b..e13d0be 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp @@ -1135,24 +1135,25 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int int deletedEventL = 0; int changedLocal = 0; int changedRemote = 0; int filteredIN = 0; int filteredOUT = 0; //QPtrList<Event> el = local->rawEvents(); Event* eventR; QString uid; int take; Event* eventL; Event* eventRSync; Event* eventLSync; + clearAllViews(); QPtrList<Event> eventRSyncSharp = remote->getExternLastSyncEvents(); QPtrList<Event> eventLSyncSharp = local->getExternLastSyncEvents(); bool fullDateRange = false; local->resetTempSyncStat(); mLastCalendarSync = QDateTime::currentDateTime(); if ( mSyncManager->syncWithDesktop() ) { remote->resetPilotStat(1); if ( KSyncManager::mRequestedSyncEvent.isValid() ) { mLastCalendarSync = KSyncManager::mRequestedSyncEvent; qDebug("KO: using extern time for calendar sync: %s ", mLastCalendarSync.toString().latin1() ); } else { qDebug("KSyncManager::mRequestedSyncEvent has invalid datatime "); @@ -1827,26 +1828,26 @@ bool CalendarView::openCalendar(QString filename, bool merge) { if (filename.isEmpty()) { return false; } if (!QFile::exists(filename)) { KMessageBox::error(this,i18n("File does not exist:\n '%1'.").arg(filename)); return false; } globalFlagBlockAgenda = 1; + clearAllViews(); if (!merge) { - mTodoList->clearList(); mViewManager->setDocumentId( filename ); mCalendar->close(); } mStorage->setFileName( filename ); if ( mStorage->load() ) { if ( merge ) ;//setModified( true ); else { //setModified( true ); mViewManager->setDocumentId( filename ); mDialogManager->setDocumentId( filename ); mTodoList->setDocumentId( filename ); @@ -1939,25 +1940,26 @@ bool CalendarView::checkFileVersion(QString fn) return false; if ( km == KMessageBox::Yes ) return true; setSyncDevice("deleteaftersync" ); mSyncManager->mAskForPreferences = true; mSyncManager->mSyncAlgoPrefs = 3; mSyncManager->mWriteBackFile = false; mSyncManager->mWriteBackExistingOnly = false; mSyncManager->mShowSyncSummary = false; syncCalendar( fn, 3 ); Event * e = getLastSyncEvent(); - mCalendar->deleteEvent ( e ); + if ( e ) + deleteEvent ( e ); updateView(); return true; } bool CalendarView::saveCalendar( QString filename ) { // Store back all unsaved data into calendar object // qDebug("file %s %d ", filename.latin1() , mViewManager->currentView() ); if ( mViewManager->currentView() ) mViewManager->currentView()->flushView(); @@ -1972,24 +1974,25 @@ bool CalendarView::saveCalendar( QString filename ) } if ( filename == MainWindow::defaultFileName() ) { setLoadedFileVersion( lfv ); watchSavedFile(); } return true; } void CalendarView::closeCalendar() { // child windows no longer valid + clearAllViews(); emit closingDown(); mCalendar->close(); setModified(false); updateView(); } void CalendarView::archiveCalendar() { mDialogManager->showArchiveDialog(); } @@ -2423,24 +2426,35 @@ void CalendarView::updateTodoViews() mViewManager->currentView()->updateView(); } void CalendarView::updateView(const QDate &start, const QDate &end) { mTodoList->updateView(); mViewManager->updateView(start, end); //mDateNavigator->updateView(); } +void CalendarView::clearAllViews() +{ + mTodoList->clearList(); + mViewManager->clearAllViews(); + SearchDialog * sd = mDialogManager->getSearchDialog(); + if ( sd ) { + KOListView* kol = sd->listview(); + if ( kol ) + kol->clearList(); + } +} void CalendarView::updateView() { 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() { @@ -3934,24 +3948,25 @@ void CalendarView::takeOverEvent() incidence->setOrganizer(KOPrefs::instance()->email()); incidence->recreate(); incidence->setReadOnly(false); updateView(); } void CalendarView::takeOverCalendar() { // TODO: Create Calendar::allIncidences() function and use it here + clearAllViews(); QPtrList<Event> events = mCalendar->events(); for(uint i=0; i<events.count(); ++i) { events.at(i)->setOrganizer(KOPrefs::instance()->email()); events.at(i)->recreate(); events.at(i)->setReadOnly(false); } QPtrList<Todo> todos = mCalendar->todos(); for(uint i=0; i<todos.count(); ++i) { todos.at(i)->setOrganizer(KOPrefs::instance()->email()); todos.at(i)->recreate(); todos.at(i)->setReadOnly(false); diff --git a/korganizer/calendarview.h b/korganizer/calendarview.h index 084b6db..4600090 100644 --- a/korganizer/calendarview.h +++ b/korganizer/calendarview.h @@ -322,24 +322,25 @@ class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Obser void eventAdded(Event *); void eventChanged(Event *); void eventToBeDeleted(Event *); void eventDeleted(); void todoAdded(Todo *); void todoChanged(Todo *); void todoToBeDeleted(Todo *); void todoDeleted(); void updateView(const QDate &start, const QDate &end); void updateView(); + void clearAllViews(); /** Full update of visible todo views */ void updateTodoViews(); void updateUnmanagedViews(); /** cut the current appointment to the clipboard */ void edit_cut(); /** copy the current appointment(s) to the clipboard */ void edit_copy(); diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp index fd9bf29..1320a2e 100644 --- a/korganizer/koagendaview.cpp +++ b/korganizer/koagendaview.cpp @@ -1322,24 +1322,31 @@ void KOAgendaView::repaintAgenda() mAllDayAgenda->viewport()->repaint( false ); mAgenda->finishUpdate(); mAllDayAgenda->finishUpdate(); } void KOAgendaView::clearView() { // kdDebug() << "ClearView" << endl; mAllDayAgenda->clear(); mAgenda->clear(); } +void KOAgendaView::clearList() +{ + // kdDebug() << "ClearView" << endl; + clearView(); + mAllDayAgenda->hideUnused(); + mAgenda->hideUnused(); +} void KOAgendaView::printPreview(CalPrinter *calPrinter, const QDate &fd, const QDate &td) { #ifndef KORG_NOPRINTER if (fd == td) calPrinter->preview(CalPrinter::Day, fd, td); else calPrinter->preview(CalPrinter::Week, fd, td); #endif } diff --git a/korganizer/koagendaview.h b/korganizer/koagendaview.h index c6e6602..cc953fc 100644 --- a/korganizer/koagendaview.h +++ b/korganizer/koagendaview.h @@ -157,24 +157,25 @@ class KOAgendaView : public KOEventView { /** Returns number of currently shown dates. */ virtual int currentDateCount(); /** returns the currently selected events */ virtual QPtrList<Incidence> selectedIncidences(); /** returns the currently selected events */ virtual DateList selectedDates(); /** Remove all events from view */ void clearView(); + void clearList(); KOAgenda *agenda() { return mAgenda;} virtual void printPreview(CalPrinter *calPrinter, const QDate &, const QDate &); /** start-datetime of selection */ QDateTime selectionStart() {return mTimeSpanBegin;} /** end-datetime of selection */ QDateTime selectionEnd() {return mTimeSpanEnd;} /** returns true if selection is for whole day */ bool selectedIsAllDay() {return mTimeSpanInAllDay;} /** make selected start/end invalid */ void deleteSelectedDateTime(); diff --git a/korganizer/kojournalview.cpp b/korganizer/kojournalview.cpp index 6e6a939..bc16037 100644 --- a/korganizer/kojournalview.cpp +++ b/korganizer/kojournalview.cpp @@ -69,24 +69,28 @@ void KOJournalView::updateConfig() mEntry->setFont ( KOPrefs::instance()->mJornalViewFont ); } void KOJournalView::updateView() { mEntry->setFont ( KOPrefs::instance()->mJornalViewFont ); } void KOJournalView::flushView() { mEntry->flushEntry(); } +void KOJournalView::clearList() +{ + mEntry->clear(); +} void KOJournalView::showDates(const QDate &start, const QDate &) { // kdDebug() << "KOJournalView::selectDates()" << endl; mEntry->setDate(start); Journal *j = calendar()->journal(start); if (j) mEntry->setJournal(j); else mEntry->clear(); // emit incidenceSelected( 0 ); } diff --git a/korganizer/kojournalview.h b/korganizer/kojournalview.h index 1c0be82..445f940 100644 --- a/korganizer/kojournalview.h +++ b/korganizer/kojournalview.h @@ -34,24 +34,25 @@ class JournalEntry; * @author Cornelius Schumacher <schumacher@kde.org> * @see KOBaseView */ class KOJournalView : public KOrg::BaseView { Q_OBJECT public: KOJournalView(Calendar *calendar, QWidget *parent = 0, const char *name = 0); ~KOJournalView(); virtual int currentDateCount(); + void clearList(); virtual QPtrList<Incidence> selectedIncidences(); DateList selectedDates() {DateList q; return q;}; signals: void deleteJournal(Journal *); public slots: void updateView(); void flushView(); void updateConfig(); void showDates( const QDate &start, const QDate &end ); void showEvents(QPtrList<Event> eventList); diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp index 5f32e79..bc52281 100644 --- a/korganizer/kolistview.cpp +++ b/korganizer/kolistview.cpp @@ -354,24 +354,28 @@ QString KOListView::getWhatsThisText(QPoint p) KOPrefs::instance()->mWTshowCreated, KOPrefs::instance()->mWTshowChanged); return i18n("That is the list view" ); } void KOListView::updateList() { // qDebug(" KOListView::updateList() "); } +void KOListView::clearList() +{ + clear (); +} void KOListView::addCat( ) { setCategories( false ); } void KOListView::setCat() { setCategories( true ); } void KOListView::setAlarm() { KOAlarmPrefs kap( this); if ( !kap.exec() ) diff --git a/korganizer/kolistview.h b/korganizer/kolistview.h index dee69f6..f4d6879 100644 --- a/korganizer/kolistview.h +++ b/korganizer/kolistview.h @@ -248,24 +248,25 @@ class KOListView : public KOEventView virtual DateList selectedDates(); void showDates(bool show); Incidence* currentItem(); void addTodos(QPtrList<Todo> eventList); void addJournals(QPtrList<Journal> eventList); virtual void printPreview(CalPrinter *calPrinter, const QDate &, const QDate &); void readSettings(KConfig *config, QString setting = "KOListView Layout"); void writeSettings(KConfig *config, QString setting = "KOListView Layout"); void updateList(); + void clearList(); void setStartDate(const QDate &start); int count(); QString getWhatsThisText(QPoint p); signals: void signalNewEvent(); void beamIncidenceList(QPtrList<Incidence>); public slots: void resetFocus(); virtual void updateView(); virtual void showDates(const QDate &start, const QDate &end); virtual void showEvents(QPtrList<Event> eventList); diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp index 8ee1363..678cab6 100644 --- a/korganizer/komonthview.cpp +++ b/korganizer/komonthview.cpp @@ -1406,24 +1406,34 @@ void KOMonthView::updateDayLabels() if ( i > 4 && mShowSatSunComp && mWidthLongDayLabel > (*mDayLabelsT)[i]->width() ) show = true; (*mDayLabelsT)[i]->setText(KOGlobals::self()->calendarSystem()->weekDayName(i+1,show)); } else { if (i==0) (*mDayLabelsT)[i]->setText(KOGlobals::self()->calendarSystem()->weekDayName(7,mShortDayLabelsM)); else (*mDayLabelsT)[i]->setText(KOGlobals::self()->calendarSystem()->weekDayName(i,mShortDayLabelsM)); } } } +void KOMonthView::clearList() +{ + unsigned int i; + for( i = 0; i < mCells.size(); ++i ) { + mCells[i]->clear(); + } + for( i = 0; i < mCellsW.size(); ++i ) { + mCellsW[i]->clear(); + } +} void KOMonthView::showDates(const QDate &start, const QDate &) { // kdDebug() << "KOMonthView::showDates(): " << start.toString() << endl; QPtrVector<MonthViewCell> *cells; QPtrVector<QLabel> *dayLabels; QPtrVector<KOWeekButton> *weekLabels; int weekNum = 6; mStartDate = start; if ( mShowWeekView ) { weekNum = 1; cells = &mCellsW; diff --git a/korganizer/komonthview.h b/korganizer/komonthview.h index de5c014..65b5e77 100644 --- a/korganizer/komonthview.h +++ b/korganizer/komonthview.h @@ -247,24 +247,25 @@ class KOMonthView: public KOEventView /** returns dates of the currently selected events */ virtual DateList selectedDates(); virtual void printPreview(CalPrinter *calPrinter, const QDate &, const QDate &); bool isMonthView() { return !mShowWeekView; } bool isUpdatePossible() { return updatePossible; } MonthViewCell * selectedCell(); bool skipResize; NavigatorBar* navigatorBar() { return mNavigatorBar ;} + void clearList(); public slots: void nextCell(); void prevCell(); virtual void updateView(); virtual void updateConfig(); virtual void showDates(const QDate &start, const QDate &end); virtual void showEvents(QPtrList<Event> eventList); void changeEventDisplay(Event *, int); void clearSelection(); diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp index fb4de37..5d9af6d 100644 --- a/korganizer/koviewmanager.cpp +++ b/korganizer/koviewmanager.cpp @@ -349,24 +349,36 @@ void KOViewManager::raiseCurrentView( bool fullScreen, bool callUpdateView ) //qDebug("qApp->processEvents() "); globalFlagBlockAgenda = 0; mAgendaView->repaintAgenda(); } globalFlagBlockAgenda = 0; } emit signalAgendaView( mCurrentView == mAgendaView ); //qDebug("raiseCurrentView ende "); } +void KOViewManager::clearAllViews() +{ + + if ( mTodoView ) mTodoView->clearList(); + if ( mListView ) mListView->clearList(); + + if ( mAgendaView ) mAgendaView->clearList(); + if ( mMonthView ) mMonthView->clearList(); + if ( mWhatsNextView ) mWhatsNextView->clearList(); + if ( mJournalView ) mJournalView->clearList(); + +} void KOViewManager::updateView() { // qDebug("KOViewManager::updateView() "); // if we are updating mTodoView, we get endless recursion if ( mTodoView == mCurrentView ) return; if ( mCurrentView ) mCurrentView->updateView(); } void KOViewManager::updateView(const QDate &start, const QDate &end) { @@ -823,16 +835,15 @@ QDate KOViewManager::currentSelectionDate() void KOViewManager::addView(KOrg::BaseView *view) { #if QT_VERSION >= 0x030000 mMainView->viewStack()->addWidget( view ); #else mMainView->viewStack()->addWidget( view, 1 ); #endif } void KOViewManager::setDocumentId( const QString &id ) { if (mTodoView) { - mTodoView->clearList(); mTodoView->setDocumentId( id ); } } diff --git a/korganizer/koviewmanager.h b/korganizer/koviewmanager.h index 8dc03e0..838583b 100644 --- a/korganizer/koviewmanager.h +++ b/korganizer/koviewmanager.h @@ -58,24 +58,25 @@ class KOViewManager : public QObject void writeSettings(KConfig *config); bool showsNextDays(); /** Read which view was shown last from config file */ void readCurrentView(KConfig *); /** Write which view is currently shown to config file */ void writeCurrentView(KConfig *); KOrg::BaseView *currentView(); void setDocumentId( const QString & ); void updateView( const QDate &start, const QDate &end ); + void clearAllViews(); void raiseCurrentView( bool fullScreen = false , bool updateView = false); void addView(KOrg::BaseView *); Incidence *currentSelection(); QDate currentSelectionDate(); KOAgendaView *agendaView() const { return mAgendaView; } signals: void printWNV(); diff --git a/korganizer/kowhatsnextview.cpp b/korganizer/kowhatsnextview.cpp index 65d8ac3..62d7ede 100644 --- a/korganizer/kowhatsnextview.cpp +++ b/korganizer/kowhatsnextview.cpp @@ -130,24 +130,29 @@ KOWhatsNextView::~KOWhatsNextView() } int KOWhatsNextView::maxDatesHint() { return 0; } int KOWhatsNextView::currentDateCount() { return 0; } +void KOWhatsNextView::clearList() +{ + mTimer->stop(); + mView->setText(" "); +} QPtrList<Incidence> KOWhatsNextView::selectedIncidences() { QPtrList<Incidence> eventList; return eventList; } void KOWhatsNextView::printMe() { #ifdef DESKTOP_VERSION mView->printMe(); #endif diff --git a/korganizer/kowhatsnextview.h b/korganizer/kowhatsnextview.h index d6727ac..93574ef 100644 --- a/korganizer/kowhatsnextview.h +++ b/korganizer/kowhatsnextview.h @@ -50,24 +50,25 @@ class WhatsNextTextBrowser : public QTextBrowser { class KOWhatsNextView : public KOrg::BaseView { Q_OBJECT public: KOWhatsNextView(Calendar *calendar, QWidget *parent = 0, const char *name = 0); ~KOWhatsNextView(); virtual int maxDatesHint(); virtual int currentDateCount(); void setEventViewer(KOEventViewerDialog* v ); virtual QPtrList<Incidence> selectedIncidences(); + void clearList(); DateList selectedDates() {DateList q; return q;} virtual void printPreview(CalPrinter *calPrinter, const QDate &, const QDate &); public slots: virtual void updateView(); void printMe(); virtual void showDates(const QDate &start, const QDate &end); virtual void showEvents(QPtrList<Event> eventList); void updateConfig(); diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index 63053a5..d959a7a 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp @@ -1661,24 +1661,25 @@ void MainWindow::enableIncidenceActions( bool enabled ) mEditAction->setEnabled( enabled ); mDeleteAction->setEnabled( enabled ); mCloneAction->setEnabled( enabled ); mMoveAction->setEnabled( enabled ); mBeamAction->setEnabled( enabled ); mCancelAction->setEnabled( enabled ); } void MainWindow::importOL() { #ifdef _OL_IMPORT_ + mView->clearAllViews(); KOImportOLdialog *id = new KOImportOLdialog("Import from OL - select folder!" , mView->calendar(),this ); id->exec(); delete id; mView->updateView(); #endif } void MainWindow::importBday() { int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), i18n("When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n"), i18n("Import!"), i18n("Cancel"), 0, 0, 1 ); |