summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp21
-rw-r--r--korganizer/mainwindow.cpp12
2 files changed, 21 insertions, 12 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 3ab4bb4..a76f2ed 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -371,5 +371,5 @@ void CalendarView::init()
mViewerCallerIsSearchDialog = false;
mBlockShowDates = false;
-
+ mConflictingEvent = 0;
mDatePickerMode = 0;
mCurrentSyncDevice = "";
@@ -2794,7 +2794,8 @@ void CalendarView::checkConflictForEvent()
return;
if ( ! mConflictingEvent ) return;
+ Event * conflictingEvent = mConflictingEvent;
+ mConflictingEvent = 0;
QDateTime current = QDateTime::currentDateTime();
- if ( ! mConflictingEvent->matchTime( &current, 0 ) ) {
- mConflictingEvent = 0;
+ if ( ! conflictingEvent->matchTime( &current, 0 ) ) {
return;
}
@@ -2814,5 +2815,5 @@ void CalendarView::checkConflictForEvent()
skip = !test->matchTime( &current, 0 );
if ( !skip && !test->doesFloat() ) {
- if ( mConflictingEvent->isOverlapping ( test, &retVal, &current ) ) {
+ if ( conflictingEvent->isOverlapping ( test, &retVal, &current ) ) {
if ( ! found ) {
conflict = retVal;
@@ -2831,5 +2832,5 @@ void CalendarView::checkConflictForEvent()
topLevelWidget()->setCaption( i18n("KO/Pi") );
if ( found ) {
- QString mess = i18n("The event\n%1\nconflicts with event\n%2\nat date\n%3.\n").arg(KGlobal::formatMessage ( mConflictingEvent->summary(),0 ) ).arg( KGlobal::formatMessage ( cE->summary(),0 )).arg(KGlobal::locale()->formatDate(conflict.date()) ) ;
+ QString mess = i18n("The event\n%1\nconflicts with event\n%2\nat date\n%3.\n").arg(KGlobal::formatMessage ( conflictingEvent->summary(),0 ) ).arg( KGlobal::formatMessage ( cE->summary(),0 )).arg(KGlobal::locale()->formatDate(conflict.date()) ) ;
qApp->processEvents();
int km = KMessageBox::warningContinueCancel(this,mess,
@@ -2843,8 +2844,7 @@ void CalendarView::checkConflictForEvent()
int hour = conflict.time().hour();
mViewManager->agendaView()->setStartHour( hour );
- topLevelWidget()->setCaption( i18n("Conflict %1 <-> %2"). arg( mConflictingEvent->summary().left( 20 ) ).arg( cE->summary().left( 20 ) ) );
+ topLevelWidget()->setCaption( i18n("Conflict %1 <-> %2"). arg( conflictingEvent->summary().left( 20 ) ).arg( cE->summary().left( 20 ) ) );
} else
topLevelWidget()->setCaption( i18n("No conflict found") );
- mConflictingEvent = 0;
return;
@@ -4093,10 +4093,11 @@ void CalendarView::openAddressbook()
void CalendarView::setModified(bool modified)
{
+ //qDebug("CalendarView::setModified %d ", modified);
if ( modified )
emit signalmodified();
- if (mModified != modified) {
- mModified = modified;
+ mModified = modified;
+ if ( mModified )
emit modifiedChanged(mModified);
- }
+
}
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 279955f..77d0ac8 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -1915,4 +1915,8 @@ void MainWindow::slotModifiedChanged( bool )
int msec;
+ if ( mCalendarModifiedFlag ) {
+ //qDebug(" MainWindow timer is running ");
+ return;
+ }
// we store the changes after 1 minute,
// and for safety reasons after 10 minutes again
@@ -1976,6 +1980,7 @@ void MainWindow::save()
return;
}
- if ( mSyncManager->blockSave() )
+ if ( mSyncManager->blockSave() ) {
return;
+ }
mSyncManager->setBlockSave(true);
if ( mView->checkAllFileVersions() ) {
@@ -2002,6 +2007,9 @@ void MainWindow::save()
else
qDebug(savemes);
- } else
+ } else {
setCaption(i18n("Saving cancelled!"));
+ mCalendarModifiedFlag = false;
+ slotModifiedChanged( true );
+ }
mSyncManager->setBlockSave( false );
}