summaryrefslogtreecommitdiffabout
path: root/pwmanager
authorulf69 <ulf69>2004-10-29 01:27:31 (UTC)
committer ulf69 <ulf69>2004-10-29 01:27:31 (UTC)
commitf8dd437160acec2959c462dd43d87f2a0920c0b9 (patch) (unidiff)
treeddd271930f54adc1b7220d534f682f616efeb20a /pwmanager
parent1b8d173d880e8f681bca88220bdd806a95d3c2a0 (diff)
downloadkdepimpi-f8dd437160acec2959c462dd43d87f2a0920c0b9.zip
kdepimpi-f8dd437160acec2959c462dd43d87f2a0920c0b9.tar.gz
kdepimpi-f8dd437160acec2959c462dd43d87f2a0920c0b9.tar.bz2
enabling/disabling syncing of launcher
Diffstat (limited to 'pwmanager') (more/less context) (ignore whitespace changes)
-rw-r--r--pwmanager/pwmanager/pwmdoc.cpp10
-rw-r--r--pwmanager/pwmanager/pwmdoc.h20
2 files changed, 24 insertions, 6 deletions
diff --git a/pwmanager/pwmanager/pwmdoc.cpp b/pwmanager/pwmanager/pwmdoc.cpp
index fd17ce5..9043acc 100644
--- a/pwmanager/pwmanager/pwmdoc.cpp
+++ b/pwmanager/pwmanager/pwmdoc.cpp
@@ -3017,12 +3017,14 @@ PwMerror PwMDoc::syncronize(KSyncManager* manager, PwMDoc* syncLocal , PwMDoc* s
3017 PwMSyncItem* syncItemLocal; 3017 PwMSyncItem* syncItemLocal;
3018 PwMSyncItem* syncItemRemote; 3018 PwMSyncItem* syncItemRemote;
3019 3019
3020 QString mCurrentSyncName = manager->getCurrentSyncName(); 3020 QString mCurrentSyncName = manager->getCurrentSyncName();
3021 QString mCurrentSyncDevice = manager->getCurrentSyncDevice(); 3021 QString mCurrentSyncDevice = manager->getCurrentSyncDevice();
3022 3022
3023 bool mSyncLauncher = true;
3024
3023 bool fullDateRange = false; 3025 bool fullDateRange = false;
3024 int take; 3026 int take;
3025 // local->resetTempSyncStat(); 3027 // local->resetTempSyncStat();
3026 QDateTime mLastSync = QDateTime::currentDateTime(); 3028 QDateTime mLastSync = QDateTime::currentDateTime();
3027 QDateTime modifiedSync = mLastSync; 3029 QDateTime modifiedSync = mLastSync;
3028 3030
@@ -3117,20 +3119,16 @@ PwMerror PwMDoc::syncronize(KSyncManager* manager, PwMDoc* syncLocal , PwMDoc* s
3117 if ( inLocal != 0 ) { // maybe conflict - same uid in both files 3119 if ( inLocal != 0 ) { // maybe conflict - same uid in both files
3118 if ( (take = takePwMDataItem( inLocal, inRemote, mLastSync, mode, fullDateRange) ) ) { 3120 if ( (take = takePwMDataItem( inLocal, inRemote, mLastSync, mode, fullDateRange) ) ) {
3119 qDebug("take %d %s ", take, inLocal->desc.c_str()); 3121 qDebug("take %d %s ", take, inLocal->desc.c_str());
3120 if ( take == 3 ) 3122 if ( take == 3 )
3121 return e_syncError; 3123 return e_syncError;
3122 if ( take == 1 ) {// take local 3124 if ( take == 1 ) {// take local
3123 int oldlistpos = inRemote->listViewPos; 3125 inRemote->syncItem(*inLocal, mSyncLauncher);
3124 (*inRemote) = (*inLocal);
3125 inRemote->listViewPos = oldlistpos;
3126 ++changedRemote; 3126 ++changedRemote;
3127 } else { // take == 2 take remote 3127 } else { // take == 2 take remote
3128 int oldlistpos = inLocal->listViewPos; 3128 inLocal->syncItem(*inRemote, mSyncLauncher);
3129 (*inLocal) = (*inRemote);
3130 inLocal->listViewPos = oldlistpos;
3131 ++changedLocal; 3129 ++changedLocal;
3132 } 3130 }
3133 } 3131 }
3134 } else { // no conflict 3132 } else { // no conflict
3135 if ( inRemote->meta.update > mLastSync || mode == 5 ) { 3133 if ( inRemote->meta.update > mLastSync || mode == 5 ) {
3136 inRemote->meta.update = modifiedSync; 3134 inRemote->meta.update = modifiedSync;
diff --git a/pwmanager/pwmanager/pwmdoc.h b/pwmanager/pwmanager/pwmdoc.h
index e419c24..09923ab 100644
--- a/pwmanager/pwmanager/pwmdoc.h
+++ b/pwmanager/pwmanager/pwmdoc.h
@@ -221,12 +221,32 @@ struct PwMDataItem
221 if ( comment != a.comment ) return false; 221 if ( comment != a.comment ) return false;
222 if ( url != a.url ) return false; 222 if ( url != a.url ) return false;
223 if ( launcher != a.launcher ) return false; 223 if ( launcher != a.launcher ) return false;
224 //all other field will not be checked. 224 //all other field will not be checked.
225 return true; 225 return true;
226 } 226 }
227
228 //US ENH: this sync method actually copies all values from the parameter like the =operator
229 //does with two exceptions: listViewPos will not be changed, and the launcher only if required.
230 bool PwMDataItem::syncItem(const PwMDataItem &a, bool syncLauncher=true )
231 {
232 desc = a.desc;
233 name = a.name;
234 pw = a.pw;
235 comment = a.comment;
236 url = a.url;
237 if (syncLauncher == true)
238 launcher = a.launcher;
239 meta = a.meta;
240 binary = a.binary;
241 lockStat = a.lockStat;
242 rev = a.rev;
243
244 return true;
245 }
246
227}; 247};
228 248
229struct PwMCategoryItem 249struct PwMCategoryItem
230{ 250{
231 /** all PwMDataItems (all passwords) within this category */ 251 /** all PwMDataItems (all passwords) within this category */
232 vector<PwMDataItem>d; 252 vector<PwMDataItem>d;