[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sw/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Thu Nov 8 20:39:30 UTC 2018
sw/source/core/doc/docredln.cxx | 4 +-
sw/source/uibase/uno/unotxdoc.cxx | 69 ++++++++++++++++++++++----------------
2 files changed, 44 insertions(+), 29 deletions(-)
New commits:
commit c99e885565f9d741a659e7e18c22d092ed90b9de
Author: Ashod Nakashian <ashod.nakashian at collabora.co.uk>
AuthorDate: Thu Nov 8 11:02:26 2018 -0500
Commit: Michael Meeks <michael.meeks at collabora.com>
CommitDate: Thu Nov 8 20:38:04 2018 +0000
LOK: don't emit redline comments
Change tracking can be quite numerous. Showing the
markers (and their comments" as comment-boxes is
sensible where there is limited change in a doc.
However with extensively modified doc, this becomes
overwhelming both in terms of browser load and
editing performance. As such, we disable them
as they don't add much value. The user can still
access them from the Track Changes > Manage menu.
Use a rather nasty env. var hack to propagate this
setting from WSD for now.
Change-Id: I3f964816b4a10f565012b273added8a8413cd309
Signed-off-by: Michael Meeks <michael.meeks at collabora.com>
diff --git a/sw/source/core/doc/docredln.cxx b/sw/source/core/doc/docredln.cxx
index 1b407f46e6d9..497ad1c2dc53 100644
--- a/sw/source/core/doc/docredln.cxx
+++ b/sw/source/core/doc/docredln.cxx
@@ -357,7 +357,9 @@ void lcl_LOKInvalidateStartEndFrames(SwShellCursor& rCursor)
/// Emits LOK notification about one addition / removal of a redline item.
void SwRedlineTable::LOKRedlineNotification(RedlineNotification nType, SwRangeRedline* pRedline)
{
- if (!comphelper::LibreOfficeKit::isActive())
+ // Disable since usability is very low beyond some small number of changes.
+ static bool bDisableRedlineComments = getenv("DISABLE_REDLINE") != nullptr;
+ if (!comphelper::LibreOfficeKit::isActive() || bDisableRedlineComments)
return;
boost::property_tree::ptree aRedline;
diff --git a/sw/source/uibase/uno/unotxdoc.cxx b/sw/source/uibase/uno/unotxdoc.cxx
index 6f6ba735d753..2620335d2ee2 100644
--- a/sw/source/uibase/uno/unotxdoc.cxx
+++ b/sw/source/uibase/uno/unotxdoc.cxx
@@ -3278,40 +3278,53 @@ Pointer SwXTextDocument::getPointer()
OUString SwXTextDocument::getTrackedChanges()
{
- const SwRedlineTable& rRedlineTable = pDocShell->GetDoc()->getIDocumentRedlineAccess().GetRedlineTable();
boost::property_tree::ptree aTrackedChanges;
- for (SwRedlineTable::size_type i = 0; i < rRedlineTable.size(); ++i)
- {
- boost::property_tree::ptree aTrackedChange;
- aTrackedChange.put("index", rRedlineTable[i]->GetId());
- aTrackedChange.put("author", rRedlineTable[i]->GetAuthorString(1).toUtf8().getStr());
- aTrackedChange.put("type", nsRedlineType_t::SwRedlineTypeToOUString(rRedlineTable[i]->GetRedlineData().GetType()).toUtf8().getStr());
- aTrackedChange.put("comment", rRedlineTable[i]->GetRedlineData().GetComment().toUtf8().getStr());
- aTrackedChange.put("description", rRedlineTable[i]->GetDescr().toUtf8().getStr());
- OUString sDateTime = utl::toISO8601(rRedlineTable[i]->GetRedlineData().GetTimeStamp().GetUNODateTime());
- aTrackedChange.put("dateTime", sDateTime.toUtf8().getStr());
-
- SwContentNode* pContentNd = rRedlineTable[i]->GetContentNode();
- SwView* pView = dynamic_cast<SwView*>(SfxViewShell::Current());
- if (pView && pContentNd)
+
+ // Disable since usability is very low beyond some small number of changes.
+ static bool bDisableRedlineComments = getenv("DISABLE_REDLINE") != nullptr;
+ if (!bDisableRedlineComments)
+ {
+ const SwRedlineTable& rRedlineTable
+ = pDocShell->GetDoc()->getIDocumentRedlineAccess().GetRedlineTable();
+ for (SwRedlineTable::size_type i = 0; i < rRedlineTable.size(); ++i)
{
- SwShellCursor aCursor(pView->GetWrtShell(), *(rRedlineTable[i]->Start()));
- aCursor.SetMark();
- aCursor.GetMark()->nNode = *pContentNd;
- aCursor.GetMark()->nContent.Assign(pContentNd, rRedlineTable[i]->End()->nContent.GetIndex());
+ boost::property_tree::ptree aTrackedChange;
+ aTrackedChange.put("index", rRedlineTable[i]->GetId());
+ aTrackedChange.put("author", rRedlineTable[i]->GetAuthorString(1).toUtf8().getStr());
+ aTrackedChange.put("type", nsRedlineType_t::SwRedlineTypeToOUString(
+ rRedlineTable[i]->GetRedlineData().GetType())
+ .toUtf8()
+ .getStr());
+ aTrackedChange.put("comment",
+ rRedlineTable[i]->GetRedlineData().GetComment().toUtf8().getStr());
+ aTrackedChange.put("description", rRedlineTable[i]->GetDescr().toUtf8().getStr());
+ OUString sDateTime = utl::toISO8601(
+ rRedlineTable[i]->GetRedlineData().GetTimeStamp().GetUNODateTime());
+ aTrackedChange.put("dateTime", sDateTime.toUtf8().getStr());
+
+ SwContentNode* pContentNd = rRedlineTable[i]->GetContentNode();
+ SwView* pView = dynamic_cast<SwView*>(SfxViewShell::Current());
+ if (pView && pContentNd)
+ {
+ SwShellCursor aCursor(pView->GetWrtShell(), *(rRedlineTable[i]->Start()));
+ aCursor.SetMark();
+ aCursor.GetMark()->nNode = *pContentNd;
+ aCursor.GetMark()->nContent.Assign(pContentNd,
+ rRedlineTable[i]->End()->nContent.GetIndex());
- aCursor.FillRects();
+ aCursor.FillRects();
- SwRects* pRects(&aCursor);
- std::vector<OString> aRects;
- for(SwRect& rNextRect : *pRects)
- aRects.push_back(rNextRect.SVRect().toString());
+ SwRects* pRects(&aCursor);
+ std::vector<OString> aRects;
+ for (SwRect& rNextRect : *pRects)
+ aRects.push_back(rNextRect.SVRect().toString());
- const OString sRects = comphelper::string::join("; ", aRects);
- aTrackedChange.put("textRange", sRects.getStr());
- }
+ const OString sRects = comphelper::string::join("; ", aRects);
+ aTrackedChange.put("textRange", sRects.getStr());
+ }
- aTrackedChanges.push_back(std::make_pair("", aTrackedChange));
+ aTrackedChanges.push_back(std::make_pair("", aTrackedChange));
+ }
}
boost::property_tree::ptree aTree;
More information about the Libreoffice-commits
mailing list