summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormerttumer <mert.tumer@collabora.com>2021-03-19 12:31:42 +0300
committerJan Holesovsky <kendy@collabora.com>2021-03-24 11:01:55 +0100
commitb08066fe16a74b779be63c6a7368e8f6225e4062 (patch)
tree8489e1b640fd6d7efc8bd781abad5178da0ea651
parent77ade963576999544edf6c5c7d474cd757eb32ab (diff)
Fix Line and Connectors enable interactive drawing
We add them directly for LOK case and have no functionality for interactive drawing. Noticed that in Writer we didnt even add them directly I also implemented that as well. Change-Id: If90bfc8d2cdf84f200bc7963ae4126ef789524ff Signed-off-by: merttumer <mert.tumer@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112703 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com>
-rw-r--r--sc/source/ui/view/tabvwsh2.cxx2
-rw-r--r--sd/source/ui/view/drviewse.cxx4
-rw-r--r--sw/source/uibase/uiview/viewdraw.cxx3
3 files changed, 9 insertions, 0 deletions
diff --git a/sc/source/ui/view/tabvwsh2.cxx b/sc/source/ui/view/tabvwsh2.cxx
index d2efc23d5559..dc48b24dc52c 100644
--- a/sc/source/ui/view/tabvwsh2.cxx
+++ b/sc/source/ui/view/tabvwsh2.cxx
@@ -230,6 +230,7 @@ void ScTabViewShell::ExecDraw(SfxRequest& rReq)
case SID_DRAW_ELLIPSE:
case SID_DRAW_MEASURELINE:
pTabView->SetDrawFuncPtr(new FuConstRectangle(*this, pWin, pView, pDoc, aNewReq));
+ bCreateDirectly = comphelper::LibreOfficeKit::isActive();
break;
case SID_DRAW_CAPTION:
@@ -330,6 +331,7 @@ void ScTabViewShell::ExecDraw(SfxRequest& rReq)
}
else
{
+ GetViewFrame()->GetDispatcher()->Execute(SID_OBJECT_SELECT, SfxCallMode::ASYNCHRON);
ScViewData& rViewData = GetViewData();
aInsertPos = rViewData.getLOKVisibleArea().Center();
if (comphelper::LibreOfficeKit::isCompatFlagSet(
diff --git a/sd/source/ui/view/drviewse.cxx b/sd/source/ui/view/drviewse.cxx
index e330d0416ce8..6aefeb33e77f 100644
--- a/sd/source/ui/view/drviewse.cxx
+++ b/sd/source/ui/view/drviewse.cxx
@@ -608,6 +608,10 @@ void DrawViewShell::FuPermanent(SfxRequest& rReq)
if(!(HasCurrentFunction() && ((rReq.GetModifier() & KEY_MOD1) || bCreateDirectly)))
return;
+ // disable interactive drawing for LOK
+ if (bCreateDirectly)
+ GetViewFrame()->GetDispatcher()->Execute(SID_OBJECT_SELECT, SfxCallMode::ASYNCHRON);
+
// get SdOptions
SdOptions* pOptions = SD_MOD()->GetSdOptions(GetDoc()->GetDocumentType());
sal_uInt32 nDefaultObjectSizeWidth(pOptions->GetDefaultObjectSizeWidth());
diff --git a/sw/source/uibase/uiview/viewdraw.cxx b/sw/source/uibase/uiview/viewdraw.cxx
index d5c2ff4284c7..507547b06666 100644
--- a/sw/source/uibase/uiview/viewdraw.cxx
+++ b/sw/source/uibase/uiview/viewdraw.cxx
@@ -266,6 +266,7 @@ void SwView::ExecDraw(SfxRequest& rReq)
case SID_DRAW_CAPTION:
case SID_DRAW_CAPTION_VERTICAL:
pFuncPtr.reset( new ConstRectangle(m_pWrtShell.get(), m_pEditWin, this) );
+ bCreateDirectly = comphelper::LibreOfficeKit::isActive();
m_nDrawSfxId = nSlotId;
m_sDrawCustom.clear();
break;
@@ -349,6 +350,8 @@ void SwView::ExecDraw(SfxRequest& rReq)
NoRotate();
if(rReq.GetModifier() == KEY_MOD1 || bCreateDirectly)
{
+ if (bCreateDirectly)
+ GetViewFrame()->GetDispatcher()->Execute(SID_OBJECT_SELECT, SfxCallMode::ASYNCHRON);
if(SID_OBJECT_SELECT == m_nDrawSfxId )
{
m_pWrtShell->GotoObj(true);