[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [KOffice/koffice/change-tracking] b72c8a3: Determine parent child
From:       Ganesh Paramasivam <ganesh () crystalfab ! com>
Date:       2011-01-18 11:30:51
Message-ID: 20110118113051.66EF6A6090 () git ! kde ! org
[Download RAW message or body]

commit b72c8a3d81a2832ec5dfe09b55436f16f0f6f6f8
branch koffice/change-tracking
Author: Ganesh Paramasivam <ganesh@crystalfab.com>
Date:   Tue Jan 18 17:00:24 2011 +0530

    Determine parent child relationships between change-id's based on the order in \
which the change meta-data in defined in the odt

diff --git a/libs/kotext/opendocument/KoTextLoader.cpp \
b/libs/kotext/opendocument/KoTextLoader.cpp index 53f7498..33e2a33 100644
--- a/libs/kotext/opendocument/KoTextLoader.cpp
+++ b/libs/kotext/opendocument/KoTextLoader.cpp
@@ -258,7 +258,13 @@ void KoTextLoader::Private::openChangeRegion(const KoXmlElement& \
element)  if (!changeId)
         return;
     if (!changeStack.empty() && (changeStack.top() != changeId)) {
-        changeTracker->setParent(changeId, changeStack.top());
+        //Parent child relationship is defined by the order in which the change \
meta-data is seen  +        //So check the changeId to set the parent-child \
relationship +        if (changeId > changeStack.top()) {
+            changeTracker->setParent(changeId, changeStack.top());
+        } else {
+            changeTracker->setParent(changeStack.top(), changeId);
+        }
     }
     changeStack.push(changeId);
     changeTransTable.insert(id, changeId);
@@ -1720,8 +1726,6 @@ KoDeleteChangeMarker * \
KoTextLoader::Private::insertDeleteChangeMarker(QTextCurs  KoDeleteChangeMarker \
*retMarker = NULL;  int changeId = changeTracker->getLoadedChangeId(id);
     if (changeId) {
-        if (changeStack.count() && (changeStack.top() != changeId))
-            changeTracker->setParent(changeId, changeStack.top());
         KoDeleteChangeMarker *deleteChangemarker = new \
KoDeleteChangeMarker(changeTracker);  deleteChangemarker->setChangeId(changeId);
         KoChangeTrackerElement *changeElement = \
changeTracker->elementById(changeId);


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic