diff options
author | Armin Le Grand <alg@apache.org> | 2013-04-09 11:22:48 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-06-17 09:27:40 +0100 |
commit | 0994eb59a1bd1a993c7b6650570454ecad6077b0 (patch) | |
tree | 38243e899a1fb58c4e9db54dc883a46c7bbb055c /sw | |
parent | 881b79dc21560bbdb6bf0e9b50061d1507e5e165 (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.cxx | 34 | ||||
-rw-r--r-- | sw/source/ui/shells/drwtxtsh.cxx | 39 |
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 { |