summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--pwmanager/pwmanager/pwmdoc.cpp22
-rw-r--r--pwmanager/pwmanager/pwmdoc.h4
2 files changed, 25 insertions, 1 deletions
diff --git a/pwmanager/pwmanager/pwmdoc.cpp b/pwmanager/pwmanager/pwmdoc.cpp
index ddbf4f2..17cb74a 100644
--- a/pwmanager/pwmanager/pwmdoc.cpp
+++ b/pwmanager/pwmanager/pwmdoc.cpp
@@ -3309,7 +3309,27 @@ int PwMDoc::takePwMDataItem( PwMDataItem* local, PwMDataItem* remote, QDateTime
void PwMDoc::removeSyncInfo( QString syncProfile)
{
- qDebug("PwMDoc::not implemented: removeSyncInfo for profile %s ", syncProfile.latin1());
+ bool res, found;
+ unsigned int count, i;
+ if ( syncProfile.isEmpty() ) {
+ count = numSyncDataEntries();
+ for (i = count; count > 0; count-- ) {
+ res = delSyncDataEntry(i-1, false);
+ if (res == false) {
+ qDebug("PwMDoc::removeSyncInfo: could not remove syncprofile");
+ }
+ }
+ } else {
+ found = findSyncData(syncProfile, &count);
+ if (found == true)
+ {
+ res = delSyncDataEntry(count, false);
+ if (res == false) {
+ qDebug("PwMDoc::removeSyncInfo: could not remove %s", syncProfile.latin1());
+
+ }
+ }
+ }
}
diff --git a/pwmanager/pwmanager/pwmdoc.h b/pwmanager/pwmanager/pwmdoc.h
index ef81dfc..138dd3d 100644
--- a/pwmanager/pwmanager/pwmdoc.h
+++ b/pwmanager/pwmanager/pwmdoc.h
@@ -814,6 +814,10 @@ protected:
/** delete entry */
bool delSyncDataEntry(unsigned int index, bool dontFlagDirty = false);
+ /** returns number of categories */
+ unsigned int numSyncDataEntries()
+ { return dti.syncDta.size(); }
+
PwMDataItem* findEntryByID(const QString &uid, unsigned int *category, unsigned int *index);
QStringList getIDEntryList();