summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormerttumer <mert.tumer@collabora.com>2021-03-19 12:31:42 +0300
committerMert Tumer <mert.tumer@collabora.com>2021-04-20 04:32:00 +0200
commitc853d446a7cd8a8436cb5f43bbf81a723bd86c99 (patch)
treed8b20564933ba6a4036dc2d7e89b7a26e1bff7c5
parentda7dcf0037b374a8cecdbd2af27748d94a316a79 (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> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114025 Tested-by: Jenkins
-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 f213c5b822ef..652482ec5d6f 100644
--- a/sc/source/ui/view/tabvwsh2.cxx
+++ b/sc/source/ui/view/tabvwsh2.cxx
@@ -231,6 +231,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:
@@ -332,6 +333,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 b833b1d3b719..2247294cfaba 100644
--- a/sd/source/ui/view/drviewse.cxx
+++ b/sd/source/ui/view/drviewse.cxx
@@ -605,6 +605,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 80024ccf6ac4..b676999f6448 100644
--- a/sw/source/uibase/uiview/viewdraw.cxx
+++ b/sw/source/uibase/uiview/viewdraw.cxx
@@ -260,6 +260,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;
@@ -341,6 +342,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);