Changeset 1675

Show
Ignore:
Timestamp:
02/04/07 15:55:45 (22 months ago)
Author:
mjahn
Message:

apply fix based one XMPM changes against OpenSync? kdepim plugin 0570-fix_anchors_usage.patch
Only update anchors at end of successful sync Use individual anchors per objtype

Location:
plugins/kdepim
Files:
7 modified

Legend:

Unmodified
Added
Removed
  • plugins/kdepim

  • plugins/kdepim/src/kaddrbook.cpp

    r1620 r1675  
    8080 
    8181        //Detection mechanismn if this is the first sync 
    82         if (!osync_anchor_compare(member, "synced", "true")) { 
    83                 osync_trace(TRACE_INTERNAL, "Setting slow-sync"); 
     82        if (!osync_anchor_compare(member, "contact", "true")) { 
     83                osync_trace(TRACE_INTERNAL, "Setting slow-sync contact"); 
    8484                osync_member_set_slow_sync(member, "contact", TRUE); 
    85                 osync_anchor_update(member, "synced", "true"); 
    8685        } 
    8786 
  • plugins/kdepim/src/kcal.cpp

    r1620 r1675  
    3737bool KCalDataSource::connect(OSyncContext *ctx) 
    3838{ 
    39  
    4039        DCOPClient *dcopc = KApplication::kApplication()->dcopClient(); 
    4140        if (!dcopc) { 
     
    6766        calendar->load(); 
    6867#endif 
     68 
     69        //Detection mechanismn if this is the first sync 
     70        if (osync_member_objtype_enabled(member, "event") 
     71            && !osync_anchor_compare(member, "event", "true")) { 
     72                osync_trace(TRACE_INTERNAL, "Setting slow-sync for event"); 
     73                osync_member_set_slow_sync(member, "event", TRUE); 
     74        } 
     75 
     76        if (osync_member_objtype_enabled(member, "todo") 
     77            && !osync_anchor_compare(member, "todo", "true")) { 
     78                osync_trace(TRACE_INTERNAL, "Setting slow-sync for todo"); 
     79                osync_member_set_slow_sync(member, "todo", TRUE); 
     80        } 
     81 
    6982        osync_debug("kcal", 3, "Calendar: %d events", calendar->events().size()); 
    7083 
     
    7588bool KCalDataSource::disconnect(OSyncContext *) 
    7689{ 
    77  
    7890        /* Save the changes */ 
    7991        calendar->save(); 
  • plugins/kdepim/src/kdepim_impl.cpp

    r1620 r1675  
    166166                } 
    167167 
     168 
     169                virtual void sync_done(OSyncContext *ctx) 
     170                { 
     171                        if (mKaddrbook && mKaddrbook->connected) 
     172                        { 
     173                                osync_anchor_update(mMember, "contact", "true"); 
     174                        } 
     175 
     176                        if (mKcal && mKcal->connected && 
     177                                 osync_member_objtype_enabled(mMember, "event")) 
     178                        { 
     179                                osync_anchor_update(mMember, "event", "true"); 
     180                        } 
     181 
     182                        if (mKcal && mKcal->connected && 
     183                                 osync_member_objtype_enabled(mMember, "todo")) 
     184                        { 
     185                                osync_anchor_update(mMember, "todo", "true"); 
     186                        } 
     187 
     188                        if (mKnotes && mKnotes->connected) 
     189                        { 
     190                                osync_anchor_update(mMember, "note", "true"); 
     191                        } 
     192 
     193                        osync_context_report_success(ctx); 
     194                } 
     195 
    168196                virtual void get_changeinfo(OSyncContext *ctx) 
    169197                { 
  • plugins/kdepim/src/kdepim_sync.cpp

    r1620 r1675  
    103103} 
    104104 
     105static void kde_sync_done(OSyncContext *ctx) 
     106{ 
     107        KdePluginImplementationBase *impl_object = impl_object_for_context(ctx); 
     108 
     109        osync_debug("kde", 3, "%s()",__FUNCTION__); 
     110 
     111        impl_object->sync_done(ctx); 
     112} 
     113 
    105114static osync_bool kde_vcard_commit_change(OSyncContext *ctx, OSyncChange *change) 
    106115{ 
     
    191200                info->functions.finalize = kde_finalize; 
    192201                info->functions.get_changeinfo = kde_get_changeinfo; 
     202                info->functions.sync_done = kde_sync_done; 
    193203 
    194204                osync_plugin_accept_objtype(info, "contact"); 
  • plugins/kdepim/src/knotes.cpp

    r1656 r1675  
    8080        kn_iface = new KNotesIface_stub("knotes", "KNotesIface"); 
    8181 
     82        if (!osync_anchor_compare(member, "note", "true")) { 
     83                osync_trace(TRACE_INTERNAL, "Setting slow-sync for note"); 
     84                osync_member_set_slow_sync(member, "note", TRUE); 
     85        } 
     86 
    8287        connected = true; 
    8388        osync_trace(TRACE_EXIT, "%s", __func__); 
  • plugins/kdepim/src/osyncbase.h

    r1620 r1675  
    1919 
    2020                virtual void get_changeinfo(OSyncContext *ctx) = 0; 
     21 
     22                virtual void sync_done(OSyncContext *ctx) = 0; 
    2123 
    2224                virtual bool vcard_access(OSyncContext *ctx, OSyncChange *chg) = 0;