summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--korganizer/calendarview.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index b0be340..dd4ea41 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -1813,109 +1813,111 @@ bool CalendarView::importQtopia( const QString &categories,
1813 { 1813 {
1814 // write back XML file 1814 // write back XML file
1815 1815
1816 } 1816 }
1817 setModified( true ); 1817 setModified( true );
1818 } 1818 }
1819 } else { 1819 } else {
1820 QString question = i18n("Sorry, the file loading\ncommand failed!\n\nNothing synced!\n") ; 1820 QString question = i18n("Sorry, the file loading\ncommand failed!\n\nNothing synced!\n") ;
1821 QMessageBox::information( 0, i18n("KO/Pi Sync - ERROR"), 1821 QMessageBox::information( 0, i18n("KO/Pi Sync - ERROR"),
1822 question, i18n("Ok")) ; 1822 question, i18n("Ok")) ;
1823 } 1823 }
1824 delete calendar; 1824 delete calendar;
1825 updateView(); 1825 updateView();
1826 return syncOK; 1826 return syncOK;
1827 1827
1828 1828
1829#endif 1829#endif
1830 1830
1831} 1831}
1832 1832
1833void CalendarView::setSyncEventsReadOnly() 1833void CalendarView::setSyncEventsReadOnly()
1834{ 1834{
1835 Event * ev; 1835 Event * ev;
1836 QPtrList<Event> eL = mCalendar->rawEvents(); 1836 QPtrList<Event> eL = mCalendar->rawEvents();
1837 ev = eL.first(); 1837 ev = eL.first();
1838 while ( ev ) { 1838 while ( ev ) {
1839 if ( ev->uid().left(15) == QString("last-syncEvent-") ) 1839 if ( ev->uid().left(15) == QString("last-syncEvent-") )
1840 ev->setReadOnly( true ); 1840 ev->setReadOnly( true );
1841 ev = eL.next(); 1841 ev = eL.next();
1842 } 1842 }
1843} 1843}
1844 1844
1845bool CalendarView::loadCalendars() 1845bool CalendarView::loadCalendars()
1846{ 1846{
1847 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; 1847 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars;
1848 KopiCalendarFile * cal = calendars.first(); 1848 KopiCalendarFile * cal = calendars.first();
1849 mCalendar->setDefaultCalendar( 1 ); 1849 mCalendar->setDefaultCalendar( 1 );
1850 openCalendar( MainWindow::defaultFileName(), false ); 1850 openCalendar( MainWindow::defaultFileName(), false );
1851 cal = calendars.next(); 1851 cal = calendars.next();
1852 while ( cal ) { 1852 while ( cal ) {
1853 addCalendar( cal ); 1853 addCalendar( cal );
1854 cal = calendars.next(); 1854 cal = calendars.next();
1855 } 1855 }
1856 restoreCalendarSettings(); 1856 restoreCalendarSettings();
1857 mCalendar->reInitAlarmSettings(); 1857 mCalendar->reInitAlarmSettings();
1858 setSyncEventsReadOnly(); 1858 setSyncEventsReadOnly();
1859 updateUnmanagedViews(); 1859 updateUnmanagedViews();
1860 updateView(); 1860 updateView();
1861 return true;
1861} 1862}
1862bool CalendarView::restoreCalendarSettings() 1863bool CalendarView::restoreCalendarSettings()
1863{ 1864{
1864 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; 1865 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars;
1865 KopiCalendarFile * cal = calendars.first(); 1866 KopiCalendarFile * cal = calendars.first();
1866 while ( cal ) { 1867 while ( cal ) {
1867 mCalendar->setCalendarEnabled( cal->mCalNumber,cal->isEnabled ); 1868 mCalendar->setCalendarEnabled( cal->mCalNumber,cal->isEnabled );
1868 mCalendar->setAlarmEnabled( cal->mCalNumber, cal->isAlarmEnabled ); 1869 mCalendar->setAlarmEnabled( cal->mCalNumber, cal->isAlarmEnabled );
1869 mCalendar->setReadOnly( cal->mCalNumber, cal->isReadOnly ); 1870 mCalendar->setReadOnly( cal->mCalNumber, cal->isReadOnly );
1870 if ( cal->isStandard ) 1871 if ( cal->isStandard )
1871 mCalendar->setDefaultCalendar( cal->mCalNumber ); 1872 mCalendar->setDefaultCalendar( cal->mCalNumber );
1872 cal = calendars.next(); 1873 cal = calendars.next();
1873 } 1874 }
1875 return true;
1874} 1876}
1875void CalendarView::addCalendarId( int id ) 1877void CalendarView::addCalendarId( int id )
1876{ 1878{
1877 KopiCalendarFile * cal = KOPrefs::instance()->getCalendar( id ); 1879 KopiCalendarFile * cal = KOPrefs::instance()->getCalendar( id );
1878 addCalendar( cal ); 1880 addCalendar( cal );
1879} 1881}
1880bool CalendarView::addCalendar( KopiCalendarFile * cal ) 1882bool CalendarView::addCalendar( KopiCalendarFile * cal )
1881{ 1883{
1882 cal->mErrorOnLoad = false; 1884 cal->mErrorOnLoad = false;
1883 if ( mCalendar->addCalendarFile( cal->mFileName, cal->mCalNumber )) { 1885 if ( mCalendar->addCalendarFile( cal->mFileName, cal->mCalNumber )) {
1884 cal->mLoadDt = QDateTime::currentDateTime(); 1886 cal->mLoadDt = QDateTime::currentDateTime();
1885 return true; 1887 return true;
1886 } 1888 }
1887 qDebug("KO: Error adding calendar file %1 ",cal->mFileName.latin1() ); 1889 qDebug("KO: Error adding calendar file %1 ",cal->mFileName.latin1() );
1888 KMessageBox::error(this,i18n("Error loading calendar file\n%1.").arg(cal->mFileName)); 1890 KMessageBox::error(this,i18n("Error loading calendar file\n%1.").arg(cal->mFileName));
1889 cal->mErrorOnLoad = true; 1891 cal->mErrorOnLoad = true;
1890 return false; 1892 return false;
1891} 1893}
1892bool CalendarView::openCalendar(QString filename, bool merge) 1894bool CalendarView::openCalendar(QString filename, bool merge)
1893{ 1895{
1894 1896
1895 if (filename.isEmpty()) { 1897 if (filename.isEmpty()) {
1896 return false; 1898 return false;
1897 } 1899 }
1898 1900
1899 if (!QFile::exists(filename)) { 1901 if (!QFile::exists(filename)) {
1900 KMessageBox::error(this,i18n("File does not exist:\n '%1'.").arg(filename)); 1902 KMessageBox::error(this,i18n("File does not exist:\n '%1'.").arg(filename));
1901 return false; 1903 return false;
1902 } 1904 }
1903 1905
1904 globalFlagBlockAgenda = 1; 1906 globalFlagBlockAgenda = 1;
1905 clearAllViews(); 1907 clearAllViews();
1906 if (!merge) { 1908 if (!merge) {
1907 mViewManager->setDocumentId( filename ); 1909 mViewManager->setDocumentId( filename );
1908 mCalendar->close(); 1910 mCalendar->close();
1909 } 1911 }
1910 mStorage->setFileName( filename ); 1912 mStorage->setFileName( filename );
1911 1913
1912 if ( mStorage->load() ) { 1914 if ( mStorage->load() ) {
1913 if ( merge ) ;//setModified( true ); 1915 if ( merge ) ;//setModified( true );
1914 else { 1916 else {
1915 //setModified( true ); 1917 //setModified( true );
1916 mViewManager->setDocumentId( filename ); 1918 mViewManager->setDocumentId( filename );
1917 mDialogManager->setDocumentId( filename ); 1919 mDialogManager->setDocumentId( filename );
1918 mTodoList->setDocumentId( filename ); 1920 mTodoList->setDocumentId( filename );
1919 } 1921 }
1920 globalFlagBlockAgenda = 2; 1922 globalFlagBlockAgenda = 2;
1921 // if ( getLastSyncEvent() ) 1923 // if ( getLastSyncEvent() )
@@ -2017,96 +2019,97 @@ bool CalendarView::checkFileVersion(QString fn)
2017{ 2019{
2018 QFileInfo finf ( fn ); 2020 QFileInfo finf ( fn );
2019 if ( !finf.exists() ) 2021 if ( !finf.exists() )
2020 return true; 2022 return true;
2021 QDateTime dt = finf.lastModified (); 2023 QDateTime dt = finf.lastModified ();
2022 //qDebug("loaded file version %s",loadedFileVersion.toString().latin1()); 2024 //qDebug("loaded file version %s",loadedFileVersion.toString().latin1());
2023 //qDebug("file on disk version %s",dt.toString().latin1()); 2025 //qDebug("file on disk version %s",dt.toString().latin1());
2024 if ( dt <= loadedFileVersion ) 2026 if ( dt <= loadedFileVersion )
2025 return true; 2027 return true;
2026 int km = KMessageBox::warningYesNoCancel(this, i18n("\nThe file\n%1\n on disk has changed!\nFile size: %2 bytes.\nLast modified: %3\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n").arg(fn).arg( QString::number( finf.size())).arg( KGlobal::locale()->formatDateTime(finf.lastModified (), true, true)) , 2028 int km = KMessageBox::warningYesNoCancel(this, i18n("\nThe file\n%1\n on disk has changed!\nFile size: %2 bytes.\nLast modified: %3\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n").arg(fn).arg( QString::number( finf.size())).arg( KGlobal::locale()->formatDateTime(finf.lastModified (), true, true)) ,
2027 i18n("KO/Pi Warning"),i18n("Overwrite"), 2029 i18n("KO/Pi Warning"),i18n("Overwrite"),
2028 i18n("Sync+save")); 2030 i18n("Sync+save"));
2029 2031
2030 if ( km == KMessageBox::Cancel ) 2032 if ( km == KMessageBox::Cancel )
2031 return false; 2033 return false;
2032 if ( km == KMessageBox::Yes ) 2034 if ( km == KMessageBox::Yes )
2033 return true; 2035 return true;
2034 2036
2035 setSyncDevice("deleteaftersync" ); 2037 setSyncDevice("deleteaftersync" );
2036 mSyncManager->mAskForPreferences = true; 2038 mSyncManager->mAskForPreferences = true;
2037 mSyncManager->mSyncAlgoPrefs = 3; 2039 mSyncManager->mSyncAlgoPrefs = 3;
2038 mSyncManager->mWriteBackFile = false; 2040 mSyncManager->mWriteBackFile = false;
2039 mSyncManager->mWriteBackExistingOnly = false; 2041 mSyncManager->mWriteBackExistingOnly = false;
2040 mSyncManager->mShowSyncSummary = false; 2042 mSyncManager->mShowSyncSummary = false;
2041 syncCalendar( fn, 3 ); 2043 syncCalendar( fn, 3 );
2042 Event * e = getLastSyncEvent(); 2044 Event * e = getLastSyncEvent();
2043 if ( e ) 2045 if ( e )
2044 mCalendar->deleteEvent( e ); 2046 mCalendar->deleteEvent( e );
2045 return true; 2047 return true;
2046} 2048}
2047bool CalendarView::saveCalendars() 2049bool CalendarView::saveCalendars()
2048{ 2050{
2049 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; 2051 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars;
2050 KopiCalendarFile * cal = calendars.first(); 2052 KopiCalendarFile * cal = calendars.first();
2051 mCalendar->setDefaultCalendar( 1 ); 2053 mCalendar->setDefaultCalendar( 1 );
2052 mCalendar->setDefaultCalendarEnabledOnly(); 2054 mCalendar->setDefaultCalendarEnabledOnly();
2053 saveCalendar( MainWindow::defaultFileName() ); 2055 saveCalendar( MainWindow::defaultFileName() );
2054 cal = calendars.next(); 2056 cal = calendars.next();
2055 while ( cal ) { 2057 while ( cal ) {
2056 if ( !cal->isReadOnly && !cal->mErrorOnLoad ) { 2058 if ( !cal->isReadOnly && !cal->mErrorOnLoad ) {
2057 mCalendar->setDefaultCalendar( cal->mCalNumber ); 2059 mCalendar->setDefaultCalendar( cal->mCalNumber );
2058 mCalendar->setDefaultCalendarEnabledOnly(); 2060 mCalendar->setDefaultCalendarEnabledOnly();
2059 if ( saveCalendar( cal->mFileName ) ) 2061 if ( saveCalendar( cal->mFileName ) )
2060 cal->mLoadDt = QDateTime::currentDateTime(); 2062 cal->mLoadDt = QDateTime::currentDateTime();
2061 } 2063 }
2062 cal = calendars.next(); 2064 cal = calendars.next();
2063 } 2065 }
2064 restoreCalendarSettings(); 2066 restoreCalendarSettings();
2067 return true;
2065} 2068}
2066bool CalendarView::saveCalendar( QString filename ) 2069bool CalendarView::saveCalendar( QString filename )
2067{ 2070{
2068 2071
2069 // Store back all unsaved data into calendar object 2072 // Store back all unsaved data into calendar object
2070 // qDebug("file %s %d ", filename.latin1() , mViewManager->currentView() ); 2073 // qDebug("file %s %d ", filename.latin1() , mViewManager->currentView() );
2071 if ( mViewManager->currentView() ) 2074 if ( mViewManager->currentView() )
2072 mViewManager->currentView()->flushView(); 2075 mViewManager->currentView()->flushView();
2073 2076
2074 2077
2075 QDateTime lfv = QDateTime::currentDateTime().addSecs( -2); 2078 QDateTime lfv = QDateTime::currentDateTime().addSecs( -2);
2076 mStorage->setSaveFormat( new ICalFormat() ); 2079 mStorage->setSaveFormat( new ICalFormat() );
2077 mStorage->setFileName( filename ); 2080 mStorage->setFileName( filename );
2078 bool success; 2081 bool success;
2079 success = mStorage->save(); 2082 success = mStorage->save();
2080 if ( !success ) { 2083 if ( !success ) {
2081 return false; 2084 return false;
2082 } 2085 }
2083 if ( filename == MainWindow::defaultFileName() ) { 2086 if ( filename == MainWindow::defaultFileName() ) {
2084 setLoadedFileVersion( lfv ); 2087 setLoadedFileVersion( lfv );
2085 watchSavedFile(); 2088 watchSavedFile();
2086 } 2089 }
2087 return true; 2090 return true;
2088} 2091}
2089 2092
2090void CalendarView::closeCalendar() 2093void CalendarView::closeCalendar()
2091{ 2094{
2092 2095
2093 // child windows no longer valid 2096 // child windows no longer valid
2094 clearAllViews(); 2097 clearAllViews();
2095 emit closingDown(); 2098 emit closingDown();
2096 2099
2097 mCalendar->close(); 2100 mCalendar->close();
2098 setModified(false); 2101 setModified(false);
2099 updateView(); 2102 updateView();
2100} 2103}
2101 2104
2102void CalendarView::archiveCalendar() 2105void CalendarView::archiveCalendar()
2103{ 2106{
2104 mDialogManager->showArchiveDialog(); 2107 mDialogManager->showArchiveDialog();
2105} 2108}
2106 2109
2107 2110
2108void CalendarView::readSettings() 2111void CalendarView::readSettings()
2109{ 2112{
2110 2113
2111 2114
2112 // mViewManager->showAgendaView(); 2115 // mViewManager->showAgendaView();