summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorPranav Kant <pranavk@collabora.co.uk>2017-02-03 17:00:51 +0530
committerAndras Timar <andras.timar@collabora.com>2017-02-18 00:53:14 +0100
commitcff06958fbd04f546d2448b2b6f54c6f66e6f06a (patch)
treeffb6211dd5b7e9154afe1a2853fdcdb113401cdd /sw
parent3ce4cb99c71849c0e1366f655077b25d820baaf3 (diff)
lok: comments: emit add callback after layout finishes
Change-Id: Ie6eba244dd5eb78813185f8c7aceed841d05d48b Reviewed-on: https://gerrit.libreoffice.org/33877 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: pranavk <pranavk@collabora.co.uk> (cherry picked from commit 5596b3f86f753b7ae0a262ccea84c6a61bdc9ca2)
Diffstat (limited to 'sw')
-rw-r--r--sw/inc/SidebarWin.hxx1
-rw-r--r--sw/inc/postithelper.hxx2
-rw-r--r--sw/source/uibase/docvw/PostItMgr.cxx27
3 files changed, 19 insertions, 11 deletions
diff --git a/sw/inc/SidebarWin.hxx b/sw/inc/SidebarWin.hxx
index 4d114b8dfd58..de109fb4b5c4 100644
--- a/sw/inc/SidebarWin.hxx
+++ b/sw/inc/SidebarWin.hxx
@@ -84,6 +84,7 @@ class SwSidebarWin : public vcl::Window
inline const SwRect& GetAnchorRect() { return mAnchorRect; }
inline const std::vector<basegfx::B2DRange>& GetAnnotationTextRanges() { return maAnnotationTextRanges; }
SwEditWin& EditWin();
+ inline SwSidebarItem& GetSidebarItem() { return mrSidebarItem; }
inline OutlinerView* GetOutlinerView() { return mpOutlinerView;}
bool HasScrollbar() const;
diff --git a/sw/inc/postithelper.hxx b/sw/inc/postithelper.hxx
index 0c9fe92da682..73d3cfe7a172 100644
--- a/sw/inc/postithelper.hxx
+++ b/sw/inc/postithelper.hxx
@@ -92,6 +92,7 @@ public:
VclPtr<sw::sidebarwindows::SwSidebarWin> pPostIt;
bool bShow;
bool bFocus;
+ bool bPendingLayout;
SwPostItHelper::SwLayoutStatus mLayoutStatus;
SwLayoutInfo maLayoutInfo;
@@ -100,6 +101,7 @@ public:
: pPostIt(nullptr)
, bShow(true)
, bFocus(aFocus)
+ , bPendingLayout(false)
, mLayoutStatus( SwPostItHelper::INVISIBLE )
, maLayoutInfo()
{
diff --git a/sw/source/uibase/docvw/PostItMgr.cxx b/sw/source/uibase/docvw/PostItMgr.cxx
index 80332abad12f..3c87288e1bc3 100644
--- a/sw/source/uibase/docvw/PostItMgr.cxx
+++ b/sw/source/uibase/docvw/PostItMgr.cxx
@@ -357,17 +357,9 @@ void SwPostItMgr::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
if (bEmpty && !mvPostItFields.empty())
PrepareView(true);
- // If LOK has disabled tiled annotations, emit annotation callbacks
- if (comphelper::LibreOfficeKit::isActive() && !comphelper::LibreOfficeKit::isTiledAnnotations())
- {
- CalcRects();
- Show();
-
- if (pItem && pItem->pPostIt)
- {
- lcl_CommentNotification(mpView, CommentNotificationType::Add, pItem, 0);
- }
- }
+ // True until the layout of this post it finishes
+ if (pItem)
+ pItem->bPendingLayout = true;
}
else
{
@@ -875,6 +867,19 @@ void SwPostItMgr::LayoutPostIts()
pPage->bScrollbar = false;
bUpdate = (bOldScrollbar != pPage->bScrollbar) || bUpdate;
}
+
+ for(SwSidebarWin_iterator i = aVisiblePostItList.begin(); i != aVisiblePostItList.end() ; ++i)
+ {
+ if (comphelper::LibreOfficeKit::isActive() && !comphelper::LibreOfficeKit::isTiledAnnotations())
+ {
+ if ((*i)->GetSidebarItem().bPendingLayout)
+ lcl_CommentNotification(mpView, CommentNotificationType::Add, &(*i)->GetSidebarItem(), 0);
+ }
+
+ // Layout for this post it finished now
+ (*i)->GetSidebarItem().bPendingLayout = false;
+ }
+
aVisiblePostItList.clear();
}
else