summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndras Timar <andras.timar@collabora.com>2024-04-18 14:41:17 +0200
committerCaolán McNamara <caolan.mcnamara@collabora.com>2024-04-19 16:03:59 +0200
commit9f04d96ba8c851cbbdb4e74b2435f9f5135fb09e (patch)
tree06c17d5391a869963fb6d462cbbcd4a346bd502f
parent46ab144819ea7ee93dcf5441c57977a973cff389 (diff)
Revert "LOK: send inner text boundry information of shapes/textbox on change"
This reverts commit 42547334938118511d1052678cbd612160db1b5c. Reason of revert: we reverted the online part earlier, because we found it risky in the stable branch. Change-Id: I2ec20a3c035956bbec126932b7c15e5331f950ec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166251 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
-rw-r--r--desktop/source/lib/init.cxx1
-rw-r--r--include/LibreOfficeKit/LibreOfficeKitEnums.h9
-rw-r--r--include/svx/svdmrkv.hxx2
-rw-r--r--libreofficekit/source/gtk/lokdocview.cxx1
-rw-r--r--svx/source/svdraw/svdedxv.cxx10
-rw-r--r--svx/source/svdraw/svdmrkv.cxx56
6 files changed, 18 insertions, 61 deletions
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index 32523ab22784..ea3159ae80f6 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -1852,7 +1852,6 @@ void CallbackFlushHandler::queue(const int type, CallbackData& aCallbackData)
case LOK_CALLBACK_A11Y_FOCUSED_CELL_CHANGED:
case LOK_CALLBACK_COLOR_PALETTES:
case LOK_CALLBACK_TOOLTIP:
- case LOK_CALLBACK_SHAPE_INNER_TEXT:
{
if (removeAll(type))
SAL_INFO("lok", "Removed dups of [" << type << "]: [" << aCallbackData.getPayload() << "].");
diff --git a/include/LibreOfficeKit/LibreOfficeKitEnums.h b/include/LibreOfficeKit/LibreOfficeKitEnums.h
index 80bb82dc32c7..a894bd473ad9 100644
--- a/include/LibreOfficeKit/LibreOfficeKitEnums.h
+++ b/include/LibreOfficeKit/LibreOfficeKitEnums.h
@@ -1045,13 +1045,6 @@ typedef enum
*/
LOK_CALLBACK_TOOLTIP = 71,
- /**
- * Used for sending the rectangle for text inside a shape/textbox
- *
- * Payload contains the rectangle details
- */
- LOK_CALLBACK_SHAPE_INNER_TEXT = 72,
-
}
LibreOfficeKitCallbackType;
@@ -1224,8 +1217,6 @@ static inline const char* lokCallbackTypeToString(int nType)
return "LOK_CALLBACK_CORE_LOG";
case LOK_CALLBACK_TOOLTIP:
return "LOK_CALLBACK_TOOLTIP";
- case LOK_CALLBACK_SHAPE_INNER_TEXT:
- return "LOK_CALLBACK_SHAPE_INNER_TEXT";
}
assert(!"Unknown LibreOfficeKitCallbackType type.");
diff --git a/include/svx/svdmrkv.hxx b/include/svx/svdmrkv.hxx
index 6421b51b0dba..162581fc5def 100644
--- a/include/svx/svdmrkv.hxx
+++ b/include/svx/svdmrkv.hxx
@@ -150,7 +150,6 @@ private:
void UndirtyMrkPnt() const;
void SetMarkHandlesForLOKit(tools::Rectangle const & rRect, const SfxViewShell* pOtherShell);
- OString CreateInnerTextRectString() const;
bool dumpGluePointsToJSON(boost::property_tree::ptree& rTree);
protected:
@@ -247,7 +246,6 @@ public:
/// whether all x coordinates in use are negated or not
void SetNegativeX(bool bOn) { mbNegativeX = bOn; }
bool IsNegativeX() const { return mbNegativeX; }
- void SetInnerTextAreaForLOKit() const;
// migrate selections
diff --git a/libreofficekit/source/gtk/lokdocview.cxx b/libreofficekit/source/gtk/lokdocview.cxx
index 60c3435ac28d..f025cf99a140 100644
--- a/libreofficekit/source/gtk/lokdocview.cxx
+++ b/libreofficekit/source/gtk/lokdocview.cxx
@@ -1498,7 +1498,6 @@ callback (gpointer pData)
case LOK_CALLBACK_A11Y_SELECTION_CHANGED:
case LOK_CALLBACK_CORE_LOG:
case LOK_CALLBACK_TOOLTIP:
- case LOK_CALLBACK_SHAPE_INNER_TEXT:
{
// TODO: Implement me
break;
diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx
index 083f0f1e932b..42be2aff97fb 100644
--- a/svx/source/svdraw/svdedxv.cxx
+++ b/svx/source/svdraw/svdedxv.cxx
@@ -1972,10 +1972,7 @@ bool SdrObjEditView::KeyInput(const KeyEvent& rKEvt, vcl::Window* pWin)
if (mpModel)
{
if (mpTextEditOutliner && mpTextEditOutliner->IsModified())
- {
mpModel->SetChanged();
- SetInnerTextAreaForLOKit();
- }
}
/* Start chaining processing */
@@ -2167,10 +2164,7 @@ bool SdrObjEditView::Command(const CommandEvent& rCEvt, vcl::Window* pWin)
// It could execute CommandEventId::ExtTextInput, while SdrObjEditView::KeyInput
// isn't called
if (mpTextEditOutliner && mpTextEditOutliner->IsModified())
- {
mpModel->SetChanged();
- SetInnerTextAreaForLOKit();
- }
}
return true;
}
@@ -2434,10 +2428,8 @@ bool SdrObjEditView::SetAttributes(const SfxItemSet& rSet, bool bReplaceAll)
mpTextEditOutlinerView->SetAttribs(rSet);
Outliner* pTEOutliner = mpTextEditOutlinerView->GetOutliner();
- if (mpModel && pTEOutliner && pTEOutliner->IsModified()) {
+ if (mpModel && pTEOutliner && pTEOutliner->IsModified())
mpModel->SetChanged();
- SetInnerTextAreaForLOKit();
- }
ImpMakeTextCursorAreaVisible();
}
diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx
index 0636dc28ed64..139f9e8ae2a7 100644
--- a/svx/source/svdraw/svdmrkv.cxx
+++ b/svx/source/svdraw/svdmrkv.cxx
@@ -791,42 +791,6 @@ namespace
};
}
-OString SdrMarkView::CreateInnerTextRectString() const
-{
- if (!mpMarkedObj)
- return OString();
-
- SdrPageView* pPageView = GetSdrPageView();
- const sdr::contact::ViewObjectContact& rVOC = mpMarkedObj->GetViewContact().GetViewObjectContact(
- pPageView->GetPageWindow(0)->GetObjectContact());
-
- sdr::contact::DisplayInfo aDisplayInfo;
- TextBoundsExtractor aTextBoundsExtractor(rVOC.GetObjectContact().getViewInformation2D());
- basegfx::B2DRange aRange = aTextBoundsExtractor.getTextBounds(rVOC, aDisplayInfo);
- if (!aRange.isEmpty()) {
- tools::Rectangle rect(aRange.getMinX(), aRange.getMinY(), aRange.getMaxX(), aRange.getMaxY());
- tools::Rectangle aRangeTWIP = o3tl::convert(rect, o3tl::Length::mm100, o3tl::Length::twip);
- OString innerTextInfo = "\"innerTextRect\":[" +
- OString::number(aRangeTWIP.getX()) + "," +
- OString::number(aRangeTWIP.getY()) + "," +
- OString::number(aRangeTWIP.GetWidth()) + "," +
- OString::number(aRangeTWIP.GetHeight()) + "]";
- return innerTextInfo;
- }
-
- return OString();
-}
-
-void SdrMarkView::SetInnerTextAreaForLOKit() const
-{
- if (!comphelper::LibreOfficeKit::isActive())
- return;
- SfxViewShell* pViewShell = GetSfxViewShell();
- OString sRectString = CreateInnerTextRectString();
- if (pViewShell && !sRectString.isEmpty())
- pViewShell->libreOfficeKitViewCallback(LOK_CALLBACK_SHAPE_INNER_TEXT, sRectString.getStr());
-}
-
void SdrMarkView::SetMarkHandlesForLOKit(tools::Rectangle const & rRect, const SfxViewShell* pOtherShell)
{
SfxViewShell* pViewShell = GetSfxViewShell();
@@ -925,9 +889,23 @@ void SdrMarkView::SetMarkHandlesForLOKit(tools::Rectangle const & rRect, const S
if (mpMarkedObj && !pOtherShell)
{
- OString innerTextInfo = CreateInnerTextRectString();
- if (!innerTextInfo.isEmpty())
- aExtraInfo.append("," + innerTextInfo);
+ const sdr::contact::ViewObjectContact& rVOC = mpMarkedObj->GetViewContact().GetViewObjectContact(
+ pPageView->GetPageWindow(0)->GetObjectContact());
+
+ sdr::contact::DisplayInfo aDisplayInfo;
+ TextBoundsExtractor aTextBoundsExtractor(rVOC.GetObjectContact().getViewInformation2D());
+ basegfx::B2DRange aRange = aTextBoundsExtractor.getTextBounds(rVOC, aDisplayInfo);
+ if (!aRange.isEmpty()) {
+ tools::Rectangle rect(aRange.getMinX(), aRange.getMinY(), aRange.getMaxX(), aRange.getMaxY());
+ tools::Rectangle aRangeTWIP = o3tl::convert(rect, o3tl::Length::mm100, o3tl::Length::twip);
+ OString innerTextInfo = ",\"innerTextRect\":[" +
+ OString::number(aRangeTWIP.getX()) + "," +
+ OString::number(aRangeTWIP.getY()) + "," +
+ OString::number(aRangeTWIP.GetWidth()) + "," +
+ OString::number(aRangeTWIP.GetHeight()) + "]";
+
+ aExtraInfo.append(innerTextInfo);
+ }
}
// In core, the gridOffset is calculated based on the LogicRect's TopLeft coordinate