-rw-r--r-- | korganizer/calendarview.cpp | 17 | ||||
-rw-r--r-- | korganizer/calendarview.h | 1 | ||||
-rw-r--r-- | korganizer/mainwindow.cpp | 3 |
3 files changed, 18 insertions, 3 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 3635cfa..eaea040 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp | |||
@@ -1516,3 +1516,3 @@ bool CalendarView::openCalendar(QString filename, bool merge) | |||
1516 | updateView(); | 1516 | updateView(); |
1517 | if ( filename != MainWindow::defaultFileName() ) | 1517 | if ( filename != MainWindow::defaultFileName() ) |
1518 | saveCalendar( MainWindow::defaultFileName() ); | 1518 | saveCalendar( MainWindow::defaultFileName() ); |
@@ -1547,2 +1547,15 @@ bool CalendarView::checkFileChanged(QString fn) | |||
1547 | } | 1547 | } |
1548 | void CalendarView::watchSavedFile() | ||
1549 | { | ||
1550 | QFileInfo finf ( MainWindow::defaultFileName()); | ||
1551 | if ( !finf.exists() ) | ||
1552 | return; | ||
1553 | QDateTime dt = finf.lastModified (); | ||
1554 | if ( dt < loadedFileVersion ) { | ||
1555 | QTimer::singleShot( 1000 , this, SLOT ( watchSavedFile() ) ); | ||
1556 | return; | ||
1557 | } | ||
1558 | loadedFileVersion = dt; | ||
1559 | } | ||
1560 | |||
1548 | bool CalendarView::checkFileVersion(QString fn) | 1561 | bool CalendarView::checkFileVersion(QString fn) |
@@ -1557,3 +1570,3 @@ bool CalendarView::checkFileVersion(QString fn) | |||
1557 | return true; | 1570 | return true; |
1558 | int km = KMessageBox::warningYesNoCancel(this, i18n("\nThe file on disk has changed!\nFile size: %1 bytes.\nLast modified: %2\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n").arg( QString::number( finf.size())).arg( KGlobal::locale()->formatDateTime(finf.lastModified (), true, false)) , | 1571 | int km = KMessageBox::warningYesNoCancel(this, i18n("\nThe file on disk has changed!\nFile size: %1 bytes.\nLast modified: %2\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n").arg( QString::number( finf.size())).arg( KGlobal::locale()->formatDateTime(finf.lastModified (), true, true)) , |
1559 | i18n("KO/Pi Warning"),i18n("Overwrite"), | 1572 | i18n("KO/Pi Warning"),i18n("Overwrite"), |
diff --git a/korganizer/calendarview.h b/korganizer/calendarview.h index a3315ad..355bb84 100644 --- a/korganizer/calendarview.h +++ b/korganizer/calendarview.h | |||
@@ -174,2 +174,3 @@ class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Obser | |||
174 | public slots: | 174 | public slots: |
175 | void watchSavedFile(); | ||
175 | void recheckTimerAlarm(); | 176 | void recheckTimerAlarm(); |
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index 1c4a186..6315c64 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp | |||
@@ -1410,2 +1410,3 @@ void MainWindow::save() | |||
1410 | qDebug("KO: Start saving data to file!"); | 1410 | qDebug("KO: Start saving data to file!"); |
1411 | mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1)); | ||
1411 | mView->saveCalendar( defaultFileName() ); | 1412 | mView->saveCalendar( defaultFileName() ); |
@@ -1413,3 +1414,3 @@ void MainWindow::save() | |||
1413 | int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() ); | 1414 | int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() ); |
1414 | mView->setLoadedFileVersion(QDateTime::currentDateTime()); | 1415 | mView->watchSavedFile(); |
1415 | qDebug("KO: Needed %d ms for saving.",msNeeded ); | 1416 | qDebug("KO: Needed %d ms for saving.",msNeeded ); |