diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-03-26 14:22:55 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-03-30 09:23:53 +0200 |
commit | 741599f3e56c2ae6656377cdac6bc19512513876 (patch) | |
tree | 6c985c4640c9d3c24c61f1303e9223c9f356c0d7 /svx | |
parent | 986c685e9f324abe8d0f722aa5310477686cde59 (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.cxx | 5 | ||||
-rw-r--r-- | svx/source/svdraw/svdmrkv.cxx | 11 |
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()); |