summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2015-03-26 14:22:55 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-03-30 09:23:53 +0200
commit741599f3e56c2ae6656377cdac6bc19512513876 (patch)
tree6c985c4640c9d3c24c61f1303e9223c9f356c0d7 /svx
parent986c685e9f324abe8d0f722aa5310477686cde59 (diff)
SdrMarkView tiled rendering: partially disable SdrTableObj graphic selection
If one or more cells are selected in an Impress table, then the shape already provides its own text selection, don't overwrite it with the generic graphic selection in this case. Change-Id: I4f84a220df6cd9d225ed67d6f70ba2df6eff38af
Diffstat (limited to 'svx')
-rw-r--r--svx/source/svdraw/selectioncontroller.cxx5
-rw-r--r--svx/source/svdraw/svdmrkv.cxx11
2 files changed, 16 insertions, 0 deletions
diff --git a/svx/source/svdraw/selectioncontroller.cxx b/svx/source/svdraw/selectioncontroller.cxx
index 800d694c1686..a2ff8758b009 100644
--- a/svx/source/svdraw/selectioncontroller.cxx
+++ b/svx/source/svdraw/selectioncontroller.cxx
@@ -100,6 +100,11 @@ bool SelectionController::ApplyFormatPaintBrush( SfxItemSet& /*rFormatSet*/, boo
return false;
}
+bool SelectionController::hasSelectedCells() const
+{
+ return false;
+}
+
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx
index 66a2a323b2bf..28629e55cf50 100644
--- a/svx/source/svdraw/svdmrkv.cxx
+++ b/svx/source/svdraw/svdmrkv.cxx
@@ -703,6 +703,17 @@ void SdrMarkView::SetMarkHandles()
{
return;
}
+
+ if (bTiledRendering && pMarkedObj->GetObjIdentifier() == OBJ_TABLE)
+ {
+ rtl::Reference<sdr::SelectionController> xController = static_cast<SdrView*>(this)->getSelectionController();
+ if (xController.is() && xController->hasSelectedCells())
+ {
+ // The table shape has selected cells, which provide text selection already -> no graphic selection.
+ GetModel()->libreOfficeKitCallback(LOK_CALLBACK_GRAPHIC_SELECTION, "EMPTY");
+ return;
+ }
+ }
}
Rectangle aRect(GetMarkedObjRect());