[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [Calligra/words-change_tracking-ganeshp] 64e1961: Initial addition of
From: Ganesh Paramasivam <ganesh () crystalfab ! com>
Date: 2011-01-19 13:09:16
Message-ID: 20110119130916.24009A6090 () git ! kde ! org
[Download RAW message or body]
commit 64e196159b956a3e4fa529b04a0b3934cbc17531
branch words-change_tracking-ganeshp
Author: Ganesh Paramasivam <ganesh@crystalfab.com>
Date: Wed Jan 19 18:37:51 2011 +0530
Initial addition of capability to create duplicate change-ids in KoChangeTracker. \
i.e create a new change-id from an existing change-id which acts similar to a C++ \
reference variable
diff --git a/libs/kotext/changetracker/KoChangeTracker.cpp \
b/libs/kotext/changetracker/KoChangeTracker.cpp index 210b7c4..6925777 100644
--- a/libs/kotext/changetracker/KoChangeTracker.cpp
+++ b/libs/kotext/changetracker/KoChangeTracker.cpp
@@ -67,6 +67,7 @@ public:
~Private() { }
QMultiHash<int, int> children;
+ QMultiHash<int, int> duplicateIds;
QHash<int, int> parents;
QHash<int, KoChangeTrackerElement *> changes;
QHash<QString, int> loadedChanges;
@@ -258,6 +259,38 @@ int KoChangeTracker::parent(int changeId)
return d->parents.value(changeId);
}
+int KoChangeTracker::createDulicateChangeId(int existingChangeId)
+{
+ int duplicateChangeId = d->changeId;
+ d->changeId++;
+
+ d->duplicateIds.insert(existingChangeId, duplicateChangeId);
+
+ return duplicateChangeId;
+}
+
+bool KoChangeTracker::isDuplicateChangeId(int duplicateChangeId)
+{
+ bool isDuplicate = d->duplicateIds.values().contains(duplicateChangeId);
+ return isDuplicate;
+}
+
+bool KoChangeTracker::originalChangeId(int duplicateChangeId)
+{
+ int originalChangeId = 0;
+ QMultiHash<int, int>::const_iterator i = d->duplicateIds.constBegin();
+
+ while (i != d->duplicateIds.constEnd()) {
+ if (duplicateChangeId == i.value()) {
+ originalChangeId = i.key();
+ break;
+ }
+ ++i;
+ }
+
+ return originalChangeId;
+}
+
void KoChangeTracker::acceptRejectChange(int changeId, bool set)
{
if (set) {
diff --git a/libs/kotext/changetracker/KoChangeTracker.h \
b/libs/kotext/changetracker/KoChangeTracker.h index defb1f8..2785014 100644
--- a/libs/kotext/changetracker/KoChangeTracker.h
+++ b/libs/kotext/changetracker/KoChangeTracker.h
@@ -92,6 +92,10 @@ public:
void setParent(int child, int parent);
int parent(int changeId);
+ int createDulicateChangeId(int existingChangeId);
+ bool isDuplicateChangeId(int duplicateChangeId);
+ bool originalChangeId(int duplicateChangeId);
+
void acceptRejectChange(int changeId, bool set);
/// Load/save methods
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic