summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorArmin Le Grand <alg@apache.org>2013-04-09 11:22:48 +0000
committerCaolán McNamara <caolanm@redhat.com>2013-06-17 09:27:40 +0100
commit0994eb59a1bd1a993c7b6650570454ecad6077b0 (patch)
tree38243e899a1fb58c4e9db54dc883a46c7bbb055c /sw
parent881b79dc21560bbdb6bf0e9b50061d1507e5e165 (diff)
Resolves: #i121538# Disable FontWork dialog entries (slots)...
when CustomShapes are selected to avoid unwanted FontWork editing on these shapes (cherry picked from commit c73f0e910fcf3a940c24a639dba9b4ced2057399) Conflicts: sw/source/ui/shells/drawsh.cxx sw/source/ui/shells/drwtxtsh.cxx Change-Id: I6b702512c48e7b2376874b2e8184563d12d5c6e8
Diffstat (limited to 'sw')
-rw-r--r--sw/source/ui/shells/drawsh.cxx34
-rw-r--r--sw/source/ui/shells/drwtxtsh.cxx39
2 files changed, 44 insertions, 29 deletions
diff --git a/sw/source/ui/shells/drawsh.cxx b/sw/source/ui/shells/drawsh.cxx
index a7627c61ba52..4694ec22972f 100644
--- a/sw/source/ui/shells/drawsh.cxx
+++ b/sw/source/ui/shells/drawsh.cxx
@@ -42,9 +42,9 @@
#include <comphelper/processfactory.hxx>
#include <com/sun/star/ui/dialogs/XSLTFilterDialog.hpp>
+#include <svx/svdoashp.hxx>
#include <svx/xtable.hxx>
#include <sfx2/sidebar/EnumContext.hxx>
-#include <svx/svdoashp.hxx>
#include "swundo.hxx"
#include "wrtsh.hxx"
@@ -442,19 +442,27 @@ void SwDrawShell::GetFormTextState(SfxItemSet& rSet)
if ( rMarkList.GetMarkCount() == 1 )
pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
- if ( pObj == NULL || !pObj->ISA(SdrTextObj) ||
- !((SdrTextObj*) pObj)->HasText() )
+ const SdrTextObj* pTextObj = dynamic_cast< const SdrTextObj* >(pObj);
+ const bool bDeactivate(
+ !pObj ||
+ !pTextObj ||
+ !pTextObj->HasText() ||
+ dynamic_cast< const SdrObjCustomShape* >(pObj)); // #121538# no FontWork for CustomShapes
+
+ if(bDeactivate)
{
-#define XATTR_ANZ 12
- static const sal_uInt16 nXAttr[ XATTR_ANZ ] =
- {
- XATTR_FORMTXTSTYLE, XATTR_FORMTXTADJUST, XATTR_FORMTXTDISTANCE,
- XATTR_FORMTXTSTART, XATTR_FORMTXTMIRROR, XATTR_FORMTXTSTDFORM,
- XATTR_FORMTXTHIDEFORM, XATTR_FORMTXTOUTLINE, XATTR_FORMTXTSHADOW,
- XATTR_FORMTXTSHDWCOLOR, XATTR_FORMTXTSHDWXVAL, XATTR_FORMTXTSHDWYVAL
- };
- for( sal_uInt16 i = 0; i < XATTR_ANZ; )
- rSet.DisableItem( nXAttr[ i++ ] );
+ rSet.DisableItem(XATTR_FORMTXTSTYLE);
+ rSet.DisableItem(XATTR_FORMTXTADJUST);
+ rSet.DisableItem(XATTR_FORMTXTDISTANCE);
+ rSet.DisableItem(XATTR_FORMTXTSTART);
+ rSet.DisableItem(XATTR_FORMTXTMIRROR);
+ rSet.DisableItem(XATTR_FORMTXTSTDFORM);
+ rSet.DisableItem(XATTR_FORMTXTHIDEFORM);
+ rSet.DisableItem(XATTR_FORMTXTOUTLINE);
+ rSet.DisableItem(XATTR_FORMTXTSHADOW);
+ rSet.DisableItem(XATTR_FORMTXTSHDWCOLOR);
+ rSet.DisableItem(XATTR_FORMTXTSHDWXVAL);
+ rSet.DisableItem(XATTR_FORMTXTSHDWYVAL);
}
else
{
diff --git a/sw/source/ui/shells/drwtxtsh.cxx b/sw/source/ui/shells/drwtxtsh.cxx
index 505d7875da62..f0c40462df47 100644
--- a/sw/source/ui/shells/drwtxtsh.cxx
+++ b/sw/source/ui/shells/drwtxtsh.cxx
@@ -68,13 +68,11 @@
#include <uitool.hxx>
#include <wview.hxx>
#include <swmodule.hxx>
-
-#include <svx/xtable.hxx>
-#include <svx/svxdlg.hxx>
#include <svx/dialogs.hrc>
-
+#include <svx/svdoashp.hxx>
+#include <svx/svxdlg.hxx>
+#include <svx/xtable.hxx>
#include <cppuhelper/bootstrap.hxx>
-
#include "swabstdlg.hxx"
#include "misc.hrc"
@@ -267,18 +265,27 @@ void SwDrawTextShell::GetFormTextState(SfxItemSet& rSet)
if ( rMarkList.GetMarkCount() == 1 )
pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
- if ( pObj == NULL || !pObj->ISA(SdrTextObj) ||
- !((SdrTextObj*) pObj)->HasText() )
+ const SdrTextObj* pTextObj = dynamic_cast< const SdrTextObj* >(pObj);
+ const bool bDeactivate(
+ !pObj ||
+ !pTextObj ||
+ !pTextObj->HasText() ||
+ dynamic_cast< const SdrObjCustomShape* >(pObj)); // #121538# no FontWork for CustomShapes
+
+ if (bDeactivate)
{
-#define XATTR_ANZ 12
- static const sal_uInt16 nXAttr[ XATTR_ANZ ] =
- { XATTR_FORMTXTSTYLE, XATTR_FORMTXTADJUST, XATTR_FORMTXTDISTANCE,
- XATTR_FORMTXTSTART, XATTR_FORMTXTMIRROR, XATTR_FORMTXTSTDFORM,
- XATTR_FORMTXTHIDEFORM, XATTR_FORMTXTOUTLINE, XATTR_FORMTXTSHADOW,
- XATTR_FORMTXTSHDWCOLOR, XATTR_FORMTXTSHDWXVAL, XATTR_FORMTXTSHDWYVAL
- };
- for( sal_uInt16 i = 0; i < XATTR_ANZ; )
- rSet.DisableItem( nXAttr[ i++ ] );
+ rSet.DisableItem(XATTR_FORMTXTSTYLE);
+ rSet.DisableItem(XATTR_FORMTXTADJUST);
+ rSet.DisableItem(XATTR_FORMTXTDISTANCE);
+ rSet.DisableItem(XATTR_FORMTXTSTART);
+ rSet.DisableItem(XATTR_FORMTXTMIRROR);
+ rSet.DisableItem(XATTR_FORMTXTSTDFORM);
+ rSet.DisableItem(XATTR_FORMTXTHIDEFORM);
+ rSet.DisableItem(XATTR_FORMTXTOUTLINE);
+ rSet.DisableItem(XATTR_FORMTXTSHADOW);
+ rSet.DisableItem(XATTR_FORMTXTSHDWCOLOR);
+ rSet.DisableItem(XATTR_FORMTXTSHDWXVAL);
+ rSet.DisableItem(XATTR_FORMTXTSHDWYVAL);
}
else
{