-rw-r--r-- | korganizer/calendarview.cpp | 136 |
1 files changed, 48 insertions, 88 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index ea9607d..b56f1f9 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp | |||
@@ -700,19 +700,7 @@ void CalendarView::createPrinter() | |||
700 | 700 | ||
701 | void CalendarView::confSync() | 701 | void CalendarView::confSync() |
702 | { | 702 | { |
703 | static KSyncPrefsDialog* sp = 0; | 703 | //DELETE |
704 | if ( ! sp ) { | ||
705 | sp = new KSyncPrefsDialog( this, "syncprefs", true ); | ||
706 | } | ||
707 | sp->usrReadConfig(); | ||
708 | #ifndef DESKTOP_VERSION | ||
709 | sp->showMaximized(); | ||
710 | #else | ||
711 | sp->show(); | ||
712 | #endif | ||
713 | sp->exec(); | ||
714 | KOPrefs::instance()->mSyncProfileNames = sp->getSyncProfileNames(); | ||
715 | KOPrefs::instance()->mLocalMachineName = sp->getLocalMachineName (); | ||
716 | } | 704 | } |
717 | 705 | ||
718 | 706 | ||
@@ -877,7 +865,7 @@ Event* CalendarView::getLastSyncEvent() | |||
877 | lse = new Event(); | 865 | lse = new Event(); |
878 | lse->setUid( "last-syncEvent-"+mCurrentSyncDevice ); | 866 | lse->setUid( "last-syncEvent-"+mCurrentSyncDevice ); |
879 | QString sum = ""; | 867 | QString sum = ""; |
880 | if ( KOPrefs::instance()->mExternSyncProfiles.contains( mCurrentSyncDevice ) ) | 868 | if ( mSyncManager->mExternSyncProfiles.contains( mCurrentSyncDevice ) ) |
881 | sum = "E: "; | 869 | sum = "E: "; |
882 | lse->setSummary(sum+mCurrentSyncDevice + i18n(" - sync event")); | 870 | lse->setSummary(sum+mCurrentSyncDevice + i18n(" - sync event")); |
883 | lse->setDtStart( mLastCalendarSync ); | 871 | lse->setDtStart( mLastCalendarSync ); |
@@ -1119,7 +1107,7 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int | |||
1119 | local->deleteIncidence( inL ); | 1107 | local->deleteIncidence( inL ); |
1120 | ++deletedEventL; | 1108 | ++deletedEventL; |
1121 | } else { | 1109 | } else { |
1122 | if ( ! KOPrefs::instance()->mWriteBackExistingOnly ) { | 1110 | if ( ! mSyncManager->mWriteBackExistingOnly ) { |
1123 | inL->removeID(mCurrentSyncDevice ); | 1111 | inL->removeID(mCurrentSyncDevice ); |
1124 | ++addedEventR; | 1112 | ++addedEventR; |
1125 | //qDebug("remote added Incidence %s ", inL->summary().latin1()); | 1113 | //qDebug("remote added Incidence %s ", inL->summary().latin1()); |
@@ -1135,7 +1123,7 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int | |||
1135 | local->deleteIncidence( inL ); | 1123 | local->deleteIncidence( inL ); |
1136 | ++deletedEventL; | 1124 | ++deletedEventL; |
1137 | } else { | 1125 | } else { |
1138 | if ( ! KOPrefs::instance()->mWriteBackExistingOnly ) { | 1126 | if ( ! mSyncManager->mWriteBackExistingOnly ) { |
1139 | ++addedEventR; | 1127 | ++addedEventR; |
1140 | inL->setLastModified( modifiedCalendar ); | 1128 | inL->setLastModified( modifiedCalendar ); |
1141 | remote->addIncidence( inL->clone() ); | 1129 | remote->addIncidence( inL->clone() ); |
@@ -1147,12 +1135,12 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int | |||
1147 | inL = el.next(); | 1135 | inL = el.next(); |
1148 | } | 1136 | } |
1149 | int delFut = 0; | 1137 | int delFut = 0; |
1150 | if ( KOPrefs::instance()->mWriteBackInFuture ) { | 1138 | if ( mSyncManager->mWriteBackInFuture ) { |
1151 | er = remote->rawIncidences(); | 1139 | er = remote->rawIncidences(); |
1152 | inR = er.first(); | 1140 | inR = er.first(); |
1153 | QDateTime dt; | 1141 | QDateTime dt; |
1154 | QDateTime cur = QDateTime::currentDateTime().addDays( -7 ); | 1142 | QDateTime cur = QDateTime::currentDateTime().addDays( -7 ); |
1155 | QDateTime end = cur.addDays( (KOPrefs::instance()->mWriteBackInFuture +1 ) *7 ); | 1143 | QDateTime end = cur.addDays( (mSyncManager->mWriteBackInFuture +1 ) *7 ); |
1156 | while ( inR ) { | 1144 | while ( inR ) { |
1157 | if ( inR->type() == "Todo" ) { | 1145 | if ( inR->type() == "Todo" ) { |
1158 | Todo * t = (Todo*)inR; | 1146 | Todo * t = (Todo*)inR; |
@@ -1192,10 +1180,10 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int | |||
1192 | mes .sprintf( i18n("Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n"),addedEvent, addedEventR, changedLocal, changedRemote, deletedEventL, deletedEventR ); | 1180 | mes .sprintf( i18n("Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n"),addedEvent, addedEventR, changedLocal, changedRemote, deletedEventL, deletedEventR ); |
1193 | QString delmess; | 1181 | QString delmess; |
1194 | if ( delFut ) { | 1182 | if ( delFut ) { |
1195 | delmess.sprintf( i18n("%d items skipped on remote,\nbecause they are in the past or\nmore than %d weeks in the future.\n"),delFut, KOPrefs::instance()->mWriteBackInFuture ); | 1183 | delmess.sprintf( i18n("%d items skipped on remote,\nbecause they are in the past or\nmore than %d weeks in the future.\n"),delFut, mSyncManager->mWriteBackInFuture ); |
1196 | mes += delmess; | 1184 | mes += delmess; |
1197 | } | 1185 | } |
1198 | if ( KOPrefs::instance()->mShowSyncSummary ) { | 1186 | if ( mSyncManager->mShowSyncSummary ) { |
1199 | KMessageBox::information(this, mes, i18n("KO/Pi Synchronization") ); | 1187 | KMessageBox::information(this, mes, i18n("KO/Pi Synchronization") ); |
1200 | } | 1188 | } |
1201 | qDebug( mes ); | 1189 | qDebug( mes ); |
@@ -1225,7 +1213,7 @@ bool CalendarView::syncCalendar(QString filename, int mode) | |||
1225 | syncOK = synchronizeCalendar( mCalendar, calendar, mode ); | 1213 | syncOK = synchronizeCalendar( mCalendar, calendar, mode ); |
1226 | getEventViewerDialog()->setSyncMode( false ); | 1214 | getEventViewerDialog()->setSyncMode( false ); |
1227 | if ( syncOK ) { | 1215 | if ( syncOK ) { |
1228 | if ( KOPrefs::instance()->mWriteBackFile ) | 1216 | if ( mSyncManager->mWriteBackFile ) |
1229 | { | 1217 | { |
1230 | storage->setSaveFormat( new ICalFormat() ); | 1218 | storage->setSaveFormat( new ICalFormat() ); |
1231 | storage->save(); | 1219 | storage->save(); |
@@ -1241,14 +1229,12 @@ bool CalendarView::syncCalendar(QString filename, int mode) | |||
1241 | } | 1229 | } |
1242 | void CalendarView::syncPhone() | 1230 | void CalendarView::syncPhone() |
1243 | { | 1231 | { |
1244 | syncExternal( 1 ); | 1232 | //DELETE |
1245 | } | 1233 | } |
1246 | void CalendarView::syncExternal( int mode ) | 1234 | void CalendarView::syncExternal( int mode ) |
1247 | { | 1235 | { |
1248 | mGlobalSyncMode = SYNC_MODE_EXTERNAL; | 1236 | mGlobalSyncMode = SYNC_MODE_EXTERNAL; |
1249 | //mCurrentSyncDevice = "sharp-DTM"; | 1237 | |
1250 | if ( KOPrefs::instance()->mAskForPreferences ) | ||
1251 | edit_sync_options(); | ||
1252 | qApp->processEvents(); | 1238 | qApp->processEvents(); |
1253 | CalendarLocal* calendar = new CalendarLocal(); | 1239 | CalendarLocal* calendar = new CalendarLocal(); |
1254 | calendar->setTimeZoneId(KOPrefs::instance()->mTimeZoneId); | 1240 | calendar->setTimeZoneId(KOPrefs::instance()->mTimeZoneId); |
@@ -1265,20 +1251,20 @@ void CalendarView::syncExternal( int mode ) | |||
1265 | #endif | 1251 | #endif |
1266 | if ( mode == 1 ) { // phone | 1252 | if ( mode == 1 ) { // phone |
1267 | phoneFormat = new PhoneFormat (mCurrentSyncDevice, | 1253 | phoneFormat = new PhoneFormat (mCurrentSyncDevice, |
1268 | KOPrefs::instance()->mPhoneDevice, | 1254 | mSyncManager->mPhoneDevice, |
1269 | KOPrefs::instance()->mPhoneConnection, | 1255 | mSyncManager->mPhoneConnection, |
1270 | KOPrefs::instance()->mPhoneModel); | 1256 | mSyncManager->mPhoneModel); |
1271 | loadSuccess = phoneFormat->load( calendar,mCalendar); | 1257 | loadSuccess = phoneFormat->load( calendar,mCalendar); |
1272 | 1258 | ||
1273 | } else | 1259 | } else |
1274 | return; | 1260 | return; |
1275 | if ( loadSuccess ) { | 1261 | if ( loadSuccess ) { |
1276 | getEventViewerDialog()->setSyncMode( true ); | 1262 | getEventViewerDialog()->setSyncMode( true ); |
1277 | syncOK = synchronizeCalendar( mCalendar, calendar, KOPrefs::instance()->mSyncAlgoPrefs ); | 1263 | syncOK = synchronizeCalendar( mCalendar, calendar, mSyncManager->mSyncAlgoPrefs ); |
1278 | getEventViewerDialog()->setSyncMode( false ); | 1264 | getEventViewerDialog()->setSyncMode( false ); |
1279 | qApp->processEvents(); | 1265 | qApp->processEvents(); |
1280 | if ( syncOK ) { | 1266 | if ( syncOK ) { |
1281 | if ( KOPrefs::instance()->mWriteBackFile ) | 1267 | if ( mSyncManager->mWriteBackFile ) |
1282 | { | 1268 | { |
1283 | QPtrList<Incidence> iL = mCalendar->rawIncidences(); | 1269 | QPtrList<Incidence> iL = mCalendar->rawIncidences(); |
1284 | Incidence* inc = iL.first(); | 1270 | Incidence* inc = iL.first(); |
@@ -1329,7 +1315,7 @@ void CalendarView::syncExternal( int mode ) | |||
1329 | } | 1315 | } |
1330 | void CalendarView::syncSharp() | 1316 | void CalendarView::syncSharp() |
1331 | { | 1317 | { |
1332 | syncExternal( 0 ); | 1318 | //DELETE |
1333 | 1319 | ||
1334 | } | 1320 | } |
1335 | 1321 | ||
@@ -1517,7 +1503,7 @@ bool CalendarView::importQtopia( const QString &categories, | |||
1517 | #if 0 | 1503 | #if 0 |
1518 | mGlobalSyncMode = SYNC_MODE_QTOPIA; | 1504 | mGlobalSyncMode = SYNC_MODE_QTOPIA; |
1519 | mCurrentSyncDevice = "qtopia-XML"; | 1505 | mCurrentSyncDevice = "qtopia-XML"; |
1520 | if ( KOPrefs::instance()->mAskForPreferences ) | 1506 | if ( mSyncManager->mAskForPreferences ) |
1521 | edit_sync_options(); | 1507 | edit_sync_options(); |
1522 | qApp->processEvents(); | 1508 | qApp->processEvents(); |
1523 | CalendarLocal* calendar = new CalendarLocal(); | 1509 | CalendarLocal* calendar = new CalendarLocal(); |
@@ -1535,11 +1521,11 @@ bool CalendarView::importQtopia( const QString &categories, | |||
1535 | 1521 | ||
1536 | if ( loadOk ) { | 1522 | if ( loadOk ) { |
1537 | getEventViewerDialog()->setSyncMode( true ); | 1523 | getEventViewerDialog()->setSyncMode( true ); |
1538 | syncOK = synchronizeCalendar( mCalendar, calendar, KOPrefs::instance()->mSyncAlgoPrefs ); | 1524 | syncOK = synchronizeCalendar( mCalendar, calendar, mSyncManager->mSyncAlgoPrefs ); |
1539 | getEventViewerDialog()->setSyncMode( false ); | 1525 | getEventViewerDialog()->setSyncMode( false ); |
1540 | qApp->processEvents(); | 1526 | qApp->processEvents(); |
1541 | if ( syncOK ) { | 1527 | if ( syncOK ) { |
1542 | if ( KOPrefs::instance()->mWriteBackFile ) | 1528 | if ( mSyncManager->mWriteBackFile ) |
1543 | { | 1529 | { |
1544 | // write back XML file | 1530 | // write back XML file |
1545 | 1531 | ||
@@ -1683,11 +1669,11 @@ bool CalendarView::checkFileVersion(QString fn) | |||
1683 | return true; | 1669 | return true; |
1684 | 1670 | ||
1685 | setSyncDevice("deleteaftersync" ); | 1671 | setSyncDevice("deleteaftersync" ); |
1686 | KOPrefs::instance()->mAskForPreferences = true; | 1672 | mSyncManager->mAskForPreferences = true; |
1687 | KOPrefs::instance()->mSyncAlgoPrefs = 3; | 1673 | mSyncManager->mSyncAlgoPrefs = 3; |
1688 | KOPrefs::instance()->mWriteBackFile = false; | 1674 | mSyncManager->mWriteBackFile = false; |
1689 | KOPrefs::instance()->mWriteBackExistingOnly = false; | 1675 | mSyncManager->mWriteBackExistingOnly = false; |
1690 | KOPrefs::instance()->mShowSyncSummary = false; | 1676 | mSyncManager->mShowSyncSummary = false; |
1691 | syncCalendar( fn, 3 ); | 1677 | syncCalendar( fn, 3 ); |
1692 | Event * e = getLastSyncEvent(); | 1678 | Event * e = getLastSyncEvent(); |
1693 | mCalendar->deleteEvent ( e ); | 1679 | mCalendar->deleteEvent ( e ); |
@@ -2198,53 +2184,7 @@ void CalendarView::edit_options() | |||
2198 | } | 2184 | } |
2199 | void CalendarView::edit_sync_options() | 2185 | void CalendarView::edit_sync_options() |
2200 | { | 2186 | { |
2201 | //mDialogManager->showSyncOptions(); | 2187 | // DELETE |
2202 | //KOPrefs::instance()->mSyncAlgoPrefs | ||
2203 | QDialog dia( this, "dia", true ); | ||
2204 | dia.setCaption( i18n("Device: " ) +mCurrentSyncDevice ); | ||
2205 | QButtonGroup gr ( 1, Qt::Horizontal, i18n("Sync preferences"), &dia); | ||
2206 | QVBoxLayout lay ( &dia ); | ||
2207 | lay.setSpacing( 2 ); | ||
2208 | lay.setMargin( 3 ); | ||
2209 | lay.addWidget(&gr); | ||
2210 | QRadioButton loc ( i18n("Take local entry on conflict"), &gr ); | ||
2211 | QRadioButton rem ( i18n("Take remote entry on conflict"), &gr ); | ||
2212 | QRadioButton newest( i18n("Take newest entry on conflict"), &gr ); | ||
2213 | QRadioButton ask( i18n("Ask for every entry on conflict"), &gr ); | ||
2214 | QRadioButton f_loc( i18n("Force: Take local entry always"), &gr ); | ||
2215 | QRadioButton f_rem( i18n("Force: Take remote entry always"), &gr ); | ||
2216 | //QRadioButton both( i18n("Take both on conflict"), &gr ); | ||
2217 | QPushButton pb ( "OK", &dia); | ||
2218 | lay.addWidget( &pb ); | ||
2219 | connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) ); | ||
2220 | switch ( KOPrefs::instance()->mSyncAlgoPrefs ) { | ||
2221 | case 0: | ||
2222 | loc.setChecked( true); | ||
2223 | break; | ||
2224 | case 1: | ||
2225 | rem.setChecked( true ); | ||
2226 | break; | ||
2227 | case 2: | ||
2228 | newest.setChecked( true); | ||
2229 | break; | ||
2230 | case 3: | ||
2231 | ask.setChecked( true); | ||
2232 | break; | ||
2233 | case 4: | ||
2234 | f_loc.setChecked( true); | ||
2235 | break; | ||
2236 | case 5: | ||
2237 | f_rem.setChecked( true); | ||
2238 | break; | ||
2239 | case 6: | ||
2240 | // both.setChecked( true); | ||
2241 | break; | ||
2242 | default: | ||
2243 | break; | ||
2244 | } | ||
2245 | if ( dia.exec() ) { | ||
2246 | KOPrefs::instance()->mSyncAlgoPrefs = rem.isChecked()*1+newest.isChecked()*2+ ask.isChecked()*3+ f_loc.isChecked()*4+ f_rem.isChecked()*5;//+ both.isChecked()*6 ; | ||
2247 | } | ||
2248 | 2188 | ||
2249 | } | 2189 | } |
2250 | 2190 | ||
@@ -3768,6 +3708,26 @@ void CalendarView::keyPressEvent ( QKeyEvent *e) | |||
3768 | e->ignore(); | 3708 | e->ignore(); |
3769 | } | 3709 | } |
3770 | 3710 | ||
3771 | //#include "calendarview.moc" | ||
3772 | 3711 | ||
3773 | //#include "calendarviewbase.moc" | 3712 | bool CalendarView::sync(KSyncManager* manager, QString filename, int mode) |
3713 | { | ||
3714 | // mSyncManager = manager; | ||
3715 | mCurrentSyncDevice = mSyncManager->getCurrentSyncDevice(); | ||
3716 | mCurrentSyncName = mSyncManager->getCurrentSyncName(); | ||
3717 | return syncCalendar( filename, mode ); | ||
3718 | } | ||
3719 | bool CalendarView::syncExternal(KSyncManager* manager, QString resource) | ||
3720 | { | ||
3721 | //mSyncManager = manager; | ||
3722 | mCurrentSyncDevice = mSyncManager->getCurrentSyncDevice(); | ||
3723 | mCurrentSyncName = mSyncManager->getCurrentSyncName(); | ||
3724 | if ( resource == "sharp" ) | ||
3725 | syncExternal( 0 ); | ||
3726 | if ( resource == "phone" ) | ||
3727 | syncExternal( 1 ); | ||
3728 | // pending setmodified | ||
3729 | } | ||
3730 | void CalendarView::setSyncManager(KSyncManager* manager) | ||
3731 | { | ||
3732 | mSyncManager = manager; | ||
3733 | } | ||