-rw-r--r-- | pwmanager/pwmanager/pwm.cpp | 6 | ||||
-rw-r--r-- | pwmanager/pwmanager/pwm.h | 3 | ||||
-rw-r--r-- | pwmanager/pwmanager/pwmdoc.cpp | 5 | ||||
-rw-r--r-- | pwmanager/pwmanager/pwmdoc.h | 1 |
4 files changed, 13 insertions, 2 deletions
diff --git a/pwmanager/pwmanager/pwm.cpp b/pwmanager/pwmanager/pwm.cpp index 2b8f2fa..6ae6e28 100644 --- a/pwmanager/pwmanager/pwm.cpp +++ b/pwmanager/pwmanager/pwm.cpp | |||
@@ -1435,38 +1435,44 @@ void PwM::createAboutData_slot() | |||
1435 | "Matt Scifo - mscifo@o1.com\n" | 1435 | "Matt Scifo - mscifo@o1.com\n" |
1436 | "Elias Probst - elias.probst@gmx.de\n" | 1436 | "Elias Probst - elias.probst@gmx.de\n" |
1437 | "George Staikos - staikos@kde.org\n" | 1437 | "George Staikos - staikos@kde.org\n" |
1438 | "Matthew Palmer - mjp16@uow.edu.au\n" | 1438 | "Matthew Palmer - mjp16@uow.edu.au\n" |
1439 | "Olivier Sessink - gpasman@nl.linux.org\n" | 1439 | "Olivier Sessink - gpasman@nl.linux.org\n" |
1440 | "The libgcrypt developers -\nBlowfish and SHA1 algorithms\nftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/\n" | 1440 | "The libgcrypt developers -\nBlowfish and SHA1 algorithms\nftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/\n" |
1441 | "Troy Engel - tengel@sonic.net\n" | 1441 | "Troy Engel - tengel@sonic.net\n" |
1442 | "Wickey - wickey@gmx.at\n" | 1442 | "Wickey - wickey@gmx.at\n" |
1443 | "Ian MacGregor - original documentation author.\n" | 1443 | "Ian MacGregor - original documentation author.\n" |
1444 | ); | 1444 | ); |
1445 | } | 1445 | } |
1446 | 1446 | ||
1447 | 1447 | ||
1448 | //this are the overwritten callbackmethods from the syncinterface | 1448 | //this are the overwritten callbackmethods from the syncinterface |
1449 | bool PwM::sync(KSyncManager* manager, QString filename, int mode) | 1449 | bool PwM::sync(KSyncManager* manager, QString filename, int mode) |
1450 | { | 1450 | { |
1451 | PWM_ASSERT(curDoc()); | 1451 | PWM_ASSERT(curDoc()); |
1452 | 1452 | ||
1453 | bool ret = curDoc()->sync(manager, filename, mode); | 1453 | bool ret = curDoc()->sync(manager, filename, mode); |
1454 | 1454 | ||
1455 | qDebug("PwM::sync save now: ret=%i", ret); | 1455 | qDebug("PwM::sync save now: ret=%i", ret); |
1456 | 1456 | ||
1457 | if (ret == true) { | 1457 | if (ret == true) { |
1458 | //US BUG: what can we call here to update the view of the current doc? | 1458 | //US BUG: what can we call here to update the view of the current doc? |
1459 | //mViewManager->refreshView(); | 1459 | //mViewManager->refreshView(); |
1460 | 1460 | ||
1461 | //US curDoc()->sync sets the dirtyFlag in case the sync was successfull. | 1461 | //US curDoc()->sync sets the dirtyFlag in case the sync was successfull. |
1462 | save(); | 1462 | save(); |
1463 | } | 1463 | } |
1464 | 1464 | ||
1465 | return ret; | 1465 | return ret; |
1466 | } | 1466 | } |
1467 | |||
1468 | void PwM::removeSyncInfo( QString syncProfile) | ||
1469 | { | ||
1470 | qDebug("PWM::not implemented: removeSyncInfo for profile %s ", syncProfile.latin1()); | ||
1471 | } | ||
1472 | |||
1467 | #endif | 1473 | #endif |
1468 | 1474 | ||
1469 | 1475 | ||
1470 | #ifndef PWM_EMBEDDED | 1476 | #ifndef PWM_EMBEDDED |
1471 | #include "pwm.moc" | 1477 | #include "pwm.moc" |
1472 | #endif | 1478 | #endif |
diff --git a/pwmanager/pwmanager/pwm.h b/pwmanager/pwmanager/pwm.h index 5822d59..fb34bca 100644 --- a/pwmanager/pwmanager/pwm.h +++ b/pwmanager/pwmanager/pwm.h | |||
@@ -248,50 +248,51 @@ protected: | |||
248 | */ | 248 | */ |
249 | bool virgin; | 249 | bool virgin; |
250 | /** "file" popup-menu */ | 250 | /** "file" popup-menu */ |
251 | KPopupMenu *filePopup; | 251 | KPopupMenu *filePopup; |
252 | 252 | ||
253 | /** "manage" popup-menu */ | 253 | /** "manage" popup-menu */ |
254 | KPopupMenu *managePopup; | 254 | KPopupMenu *managePopup; |
255 | #ifdef CONFIG_KEYCARD | 255 | #ifdef CONFIG_KEYCARD |
256 | /** "chipcard" popup-menu */ | 256 | /** "chipcard" popup-menu */ |
257 | KPopupMenu *chipcardPopup; | 257 | KPopupMenu *chipcardPopup; |
258 | #endif // CONFIG_KEYCARD | 258 | #endif // CONFIG_KEYCARD |
259 | /** "view" popup-menu */ | 259 | /** "view" popup-menu */ |
260 | KPopupMenu *viewPopup; | 260 | KPopupMenu *viewPopup; |
261 | /** "options" popup-menu */ | 261 | /** "options" popup-menu */ |
262 | KPopupMenu *optionsPopup; | 262 | KPopupMenu *optionsPopup; |
263 | /** "help" popup-menu */ | 263 | /** "help" popup-menu */ |
264 | KPopupMenu *helpPopup; | 264 | KPopupMenu *helpPopup; |
265 | /** "export" popup-menu */ | 265 | /** "export" popup-menu */ |
266 | KPopupMenu *exportPopup; | 266 | KPopupMenu *exportPopup; |
267 | /** "import" popup-menu */ | 267 | /** "import" popup-menu */ |
268 | KPopupMenu *importPopup; | 268 | KPopupMenu *importPopup; |
269 | /** force quit this window? */ | 269 | /** force quit this window? */ |
270 | bool forceQuit; | 270 | bool forceQuit; |
271 | /** force minimize this window to the tray */ | 271 | /** force minimize this window to the tray */ |
272 | bool forceMinimizeToTray; | 272 | bool forceMinimizeToTray; |
273 | 273 | ||
274 | 274 | ||
275 | 275 | ||
276 | 276 | ||
277 | private: | 277 | private: |
278 | #ifdef PWM_EMBEDDED | 278 | #ifdef PWM_EMBEDDED |
279 | //this are the overwritten callbackmethods from the syncinterface | 279 | //this are the overwritten callbackmethods from the syncinterface |
280 | virtual bool sync(KSyncManager* manager, QString filename, int mode); | 280 | virtual bool sync(KSyncManager* manager, QString filename, int mode); |
281 | virtual void removeSyncInfo( QString syncProfile); | ||
281 | 282 | ||
282 | // LR ******************************* | 283 | // LR ******************************* |
283 | // sync stuff! | 284 | // sync stuff! |
284 | QPopupMenu *syncPopup; | 285 | QPopupMenu *syncPopup; |
285 | KSyncManager* syncManager; | 286 | KSyncManager* syncManager; |
286 | #endif | 287 | #endif |
287 | 288 | ||
288 | 289 | ||
289 | 290 | ||
290 | 291 | ||
291 | 292 | ||
292 | 293 | ||
293 | 294 | ||
294 | 295 | ||
295 | }; | 296 | }; |
296 | 297 | ||
297 | #endif | 298 | #endif |
diff --git a/pwmanager/pwmanager/pwmdoc.cpp b/pwmanager/pwmanager/pwmdoc.cpp index cf8690f..fd17ce5 100644 --- a/pwmanager/pwmanager/pwmdoc.cpp +++ b/pwmanager/pwmanager/pwmdoc.cpp | |||
@@ -3275,65 +3275,68 @@ int PwMDoc::takePwMDataItem( PwMDataItem* local, PwMDataItem* remote, QDateTime | |||
3275 | return 1; | 3275 | return 1; |
3276 | else | 3276 | else |
3277 | return 2; | 3277 | return 2; |
3278 | break; | 3278 | break; |
3279 | case SYNC_PREF_ASK: | 3279 | case SYNC_PREF_ASK: |
3280 | //qDebug("lsy %s --- lo %s --- re %s ", lastSync.toString().latin1(), localMod.toString().latin1(), remoteMod.toString().latin1() ); | 3280 | //qDebug("lsy %s --- lo %s --- re %s ", lastSync.toString().latin1(), localMod.toString().latin1(), remoteMod.toString().latin1() ); |
3281 | if ( lastSync > remoteMod ) | 3281 | if ( lastSync > remoteMod ) |
3282 | return 1; | 3282 | return 1; |
3283 | if ( lastSync > localMod ) | 3283 | if ( lastSync > localMod ) |
3284 | return 2; | 3284 | return 2; |
3285 | localIsNew = localMod >= remoteMod; | 3285 | localIsNew = localMod >= remoteMod; |
3286 | //qDebug("conflict! ************************************** "); | 3286 | //qDebug("conflict! ************************************** "); |
3287 | { | 3287 | { |
3288 | PwMDataItemChooser acd ( *local,*remote, localIsNew , 0/*this*/ ); | 3288 | PwMDataItemChooser acd ( *local,*remote, localIsNew , 0/*this*/ ); |
3289 | result = acd.executeD(localIsNew); | 3289 | result = acd.executeD(localIsNew); |
3290 | return result; | 3290 | return result; |
3291 | } | 3291 | } |
3292 | break; | 3292 | break; |
3293 | case SYNC_PREF_FORCE_LOCAL: | 3293 | case SYNC_PREF_FORCE_LOCAL: |
3294 | return 1; | 3294 | return 1; |
3295 | break; | 3295 | break; |
3296 | case SYNC_PREF_FORCE_REMOTE: | 3296 | case SYNC_PREF_FORCE_REMOTE: |
3297 | return 2; | 3297 | return 2; |
3298 | break; | 3298 | break; |
3299 | 3299 | ||
3300 | default: | 3300 | default: |
3301 | // SYNC_PREF_TAKE_BOTH not implemented | 3301 | // SYNC_PREF_TAKE_BOTH not implemented |
3302 | break; | 3302 | break; |
3303 | } | 3303 | } |
3304 | return 0; | 3304 | return 0; |
3305 | } | 3305 | } |
3306 | 3306 | ||
3307 | 3307 | void PwMDoc::removeSyncInfo( QString syncProfile) | |
3308 | { | ||
3309 | qDebug("PwMDoc::not implemented: removeSyncInfo for profile %s ", syncProfile.latin1()); | ||
3310 | } | ||
3308 | 3311 | ||
3309 | 3312 | ||
3310 | //this are the overwritten callbackmethods from the syncinterface | 3313 | //this are the overwritten callbackmethods from the syncinterface |
3311 | bool PwMDoc::sync(KSyncManager* manager, QString filename, int mode) | 3314 | bool PwMDoc::sync(KSyncManager* manager, QString filename, int mode) |
3312 | { | 3315 | { |
3313 | QString mCurrentSyncDevice = manager->getCurrentSyncDevice(); | 3316 | QString mCurrentSyncDevice = manager->getCurrentSyncDevice(); |
3314 | 3317 | ||
3315 | //1) unlock local file first if necessary (ask for password) | 3318 | //1) unlock local file first if necessary (ask for password) |
3316 | if (this->isDeepLocked()) { | 3319 | if (this->isDeepLocked()) { |
3317 | PwMerror ret = this->deepLock(false); | 3320 | PwMerror ret = this->deepLock(false); |
3318 | if (ret != e_success) | 3321 | if (ret != e_success) |
3319 | return false; | 3322 | return false; |
3320 | } | 3323 | } |
3321 | 3324 | ||
3322 | //2) construct and open a new doc on the stack(automatic cleanup of remote file). | 3325 | //2) construct and open a new doc on the stack(automatic cleanup of remote file). |
3323 | PwMDoc syncTarget(this, "synctarget"); | 3326 | PwMDoc syncTarget(this, "synctarget"); |
3324 | PwMDoc* pSyncTarget = &syncTarget; | 3327 | PwMDoc* pSyncTarget = &syncTarget; |
3325 | 3328 | ||
3326 | 3329 | ||
3327 | PwMerror err = pSyncTarget->openDoc(&filename, 1 /*== open with all entries locked*/); | 3330 | PwMerror err = pSyncTarget->openDoc(&filename, 1 /*== open with all entries locked*/); |
3328 | 3331 | ||
3329 | if (err == e_alreadyOpen) { | 3332 | if (err == e_alreadyOpen) { |
3330 | PwMDocList::listItem li; | 3333 | PwMDocList::listItem li; |
3331 | if (getOpenDocList()->find(filename.latin1(), &li)) | 3334 | if (getOpenDocList()->find(filename.latin1(), &li)) |
3332 | pSyncTarget = li.doc; | 3335 | pSyncTarget = li.doc; |
3333 | else { | 3336 | else { |
3334 | qDebug("PwmDoc::sync: sync failed. Error %i while opening file %s",err, filename.latin1()); | 3337 | qDebug("PwmDoc::sync: sync failed. Error %i while opening file %s",err, filename.latin1()); |
3335 | return false; | 3338 | return false; |
3336 | } | 3339 | } |
3337 | } | 3340 | } |
3338 | else if (err != e_success) { | 3341 | else if (err != e_success) { |
3339 | qDebug("PwmDoc::sync: sync failed. Error %i while opening file %s",err, filename.latin1()); | 3342 | qDebug("PwmDoc::sync: sync failed. Error %i while opening file %s",err, filename.latin1()); |
diff --git a/pwmanager/pwmanager/pwmdoc.h b/pwmanager/pwmanager/pwmdoc.h index 55e3231..e419c24 100644 --- a/pwmanager/pwmanager/pwmdoc.h +++ b/pwmanager/pwmanager/pwmdoc.h | |||
@@ -733,56 +733,57 @@ protected: | |||
733 | /** unset a document status flag */ | 733 | /** unset a document status flag */ |
734 | void unsetDocStatFlag(unsigned int statFlag) | 734 | void unsetDocStatFlag(unsigned int statFlag) |
735 | { curDocStat &= ~statFlag; } | 735 | { curDocStat &= ~statFlag; } |
736 | /** get a document status flag */ | 736 | /** get a document status flag */ |
737 | bool getDocStatFlag(unsigned int statFlag) const | 737 | bool getDocStatFlag(unsigned int statFlag) const |
738 | { return (curDocStat & statFlag); } | 738 | { return (curDocStat & statFlag); } |
739 | /** set the "currentPassword" */ | 739 | /** set the "currentPassword" */ |
740 | void setCurrentPw(const QString &pw) | 740 | void setCurrentPw(const QString &pw) |
741 | { | 741 | { |
742 | currentPw = pw; | 742 | currentPw = pw; |
743 | setDocStatFlag(DOC_STAT_DISK_DIRTY); | 743 | setDocStatFlag(DOC_STAT_DISK_DIRTY); |
744 | } | 744 | } |
745 | /** make a backup-copy of the given file */ | 745 | /** make a backup-copy of the given file */ |
746 | bool backupFile(const QString &filePath); | 746 | bool backupFile(const QString &filePath); |
747 | /** copy a file from src to dst */ | 747 | /** copy a file from src to dst */ |
748 | bool copyFile(const QString &src, const QString &dst); | 748 | bool copyFile(const QString &src, const QString &dst); |
749 | 749 | ||
750 | 750 | ||
751 | public: | 751 | public: |
752 | #ifdef PWM_EMBEDDED | 752 | #ifdef PWM_EMBEDDED |
753 | //US ENH: this is the magic function that syncronizes the local doc with the remote doc. | 753 | //US ENH: this is the magic function that syncronizes the local doc with the remote doc. |
754 | PwMerror syncronize(KSyncManager* manager, PwMDoc* syncLocal, PwMDoc* syncRemote, int mode ); | 754 | PwMerror syncronize(KSyncManager* manager, PwMDoc* syncLocal, PwMDoc* syncRemote, int mode ); |
755 | 755 | ||
756 | //takePwMDataItem returns the following values | 756 | //takePwMDataItem returns the following values |
757 | // 0 equal | 757 | // 0 equal |
758 | // 1 take local | 758 | // 1 take local |
759 | // 2 take remote | 759 | // 2 take remote |
760 | // 3 cancel | 760 | // 3 cancel |
761 | int takePwMDataItem( PwMDataItem* local, PwMDataItem* remote, QDateTime lastSync, int mode , bool full ); | 761 | int takePwMDataItem( PwMDataItem* local, PwMDataItem* remote, QDateTime lastSync, int mode , bool full ); |
762 | 762 | ||
763 | //the following methods are the overwritten callbackmethods from the syncinterface | 763 | //the following methods are the overwritten callbackmethods from the syncinterface |
764 | virtual bool sync(KSyncManager* manager, QString filename, int mode); | 764 | virtual bool sync(KSyncManager* manager, QString filename, int mode); |
765 | virtual void removeSyncInfo( QString syncProfile); | ||
765 | 766 | ||
766 | #endif | 767 | #endif |
767 | private: | 768 | private: |
768 | //US ENH: helpermethods to access the sync data for a certain syncname. | 769 | //US ENH: helpermethods to access the sync data for a certain syncname. |
769 | // It returns the syncdatas index | 770 | // It returns the syncdatas index |
770 | bool findSyncData(const QString &syncname, unsigned int *index); | 771 | bool findSyncData(const QString &syncname, unsigned int *index); |
771 | 772 | ||
772 | /** add new syncdataentry */ | 773 | /** add new syncdataentry */ |
773 | PwMerror addSyncDataEntry(PwMSyncItem *d, bool dontFlagDirty = false); | 774 | PwMerror addSyncDataEntry(PwMSyncItem *d, bool dontFlagDirty = false); |
774 | 775 | ||
775 | /** returns a pointer to the syncdata */ | 776 | /** returns a pointer to the syncdata */ |
776 | PwMSyncItem* getSyncDataEntry(unsigned int index) | 777 | PwMSyncItem* getSyncDataEntry(unsigned int index) |
777 | { return &(dti.syncDta[index]); } | 778 | { return &(dti.syncDta[index]); } |
778 | 779 | ||
779 | /** delete entry */ | 780 | /** delete entry */ |
780 | bool delSyncDataEntry(unsigned int index, bool dontFlagDirty = false); | 781 | bool delSyncDataEntry(unsigned int index, bool dontFlagDirty = false); |
781 | 782 | ||
782 | PwMDataItem* findEntryByID(const QString &uid, unsigned int *category, unsigned int *index); | 783 | PwMDataItem* findEntryByID(const QString &uid, unsigned int *category, unsigned int *index); |
783 | 784 | ||
784 | QStringList getIDEntryList(); | 785 | QStringList getIDEntryList(); |
785 | 786 | ||
786 | }; | 787 | }; |
787 | 788 | ||
788 | #endif | 789 | #endif |