Author: alg Date: Tue Apr 9 12:22:48 2013 New Revision: 1465991 URL: http://svn.apache.org/r1465991 Log: i121538 Disable FontWork dialog entries (slots) when CustomShapes are selected to avoid unwanted FontWork editing on these shapes
Modified: openoffice/trunk/main/sc/source/ui/drawfunc/drawsh4.cxx openoffice/trunk/main/sc/source/ui/drawfunc/drtxtob2.cxx openoffice/trunk/main/sd/source/ui/view/drviews6.cxx openoffice/trunk/main/sw/source/ui/shells/drawsh.cxx openoffice/trunk/main/sw/source/ui/shells/drwtxtsh.cxx Modified: openoffice/trunk/main/sc/source/ui/drawfunc/drawsh4.cxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sc/source/ui/drawfunc/drawsh4.cxx?rev=1465991&r1=1465990&r2=1465991&view=diff ============================================================================== --- openoffice/trunk/main/sc/source/ui/drawfunc/drawsh4.cxx (original) +++ openoffice/trunk/main/sc/source/ui/drawfunc/drawsh4.cxx Tue Apr 9 12:22:48 2013 @@ -35,7 +35,7 @@ #include <svx/xdef.hxx> #include <sfx2/objsh.hxx> #include <sfx2/viewfrm.hxx> - +#include <svx/svdoashp.hxx> #include "drawsh.hxx" #include "drawview.hxx" #include "viewdata.hxx" @@ -60,8 +60,14 @@ void ScDrawShell::GetFormTextState(SfxIt 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) { if ( pDlg ) pDlg->SetActive(sal_False); Modified: openoffice/trunk/main/sc/source/ui/drawfunc/drtxtob2.cxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sc/source/ui/drawfunc/drtxtob2.cxx?rev=1465991&r1=1465990&r2=1465991&view=diff ============================================================================== --- openoffice/trunk/main/sc/source/ui/drawfunc/drtxtob2.cxx (original) +++ openoffice/trunk/main/sc/source/ui/drawfunc/drtxtob2.cxx Tue Apr 9 12:22:48 2013 @@ -39,7 +39,7 @@ #include <sfx2/request.hxx> #include <sot/formats.hxx> #include <svl/whiter.hxx> - +#include <svx/svdoashp.hxx> #include "sc.hrc" #include "drtxtob.hxx" #include "viewdata.hxx" @@ -242,8 +242,14 @@ void ScDrawTextObjectBar::GetFormTextSta 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) { if ( pDlg ) pDlg->SetActive(sal_False); Modified: openoffice/trunk/main/sd/source/ui/view/drviews6.cxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sd/source/ui/view/drviews6.cxx?rev=1465991&r1=1465990&r2=1465991&view=diff ============================================================================== --- openoffice/trunk/main/sd/source/ui/view/drviews6.cxx (original) +++ openoffice/trunk/main/sd/source/ui/view/drviews6.cxx Tue Apr 9 12:22:48 2013 @@ -78,6 +78,7 @@ #include "Window.hxx" #include "DrawDocShell.hxx" #include "framework/FrameworkHelper.hxx" +#include <svx/svdoashp.hxx> namespace sd { @@ -152,25 +153,31 @@ void DrawViewShell::GetFormTextState(Sfx 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) { // automatisches Auf/Zuklappen des FontWork-Dialog; erstmal deaktiviert // if ( pDlg ) // pDlg->SetActive(sal_False); - 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); + 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 { Modified: openoffice/trunk/main/sw/source/ui/shells/drawsh.cxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/ui/shells/drawsh.cxx?rev=1465991&r1=1465990&r2=1465991&view=diff ============================================================================== --- openoffice/trunk/main/sw/source/ui/shells/drawsh.cxx (original) +++ openoffice/trunk/main/sw/source/ui/shells/drawsh.cxx Tue Apr 9 12:22:48 2013 @@ -50,6 +50,7 @@ #include <com/sun/star/ui/dialogs/XExecutableDialog.hpp> #include <svx/xtable.hxx> +#include <svx/svdoashp.hxx> #include "swundo.hxx" #include "wrtsh.hxx" @@ -465,19 +466,27 @@ void SwDrawShell::GetFormTextState(SfxIt 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 { Modified: openoffice/trunk/main/sw/source/ui/shells/drwtxtsh.cxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/ui/shells/drwtxtsh.cxx?rev=1465991&r1=1465990&r2=1465991&view=diff ============================================================================== --- openoffice/trunk/main/sw/source/ui/shells/drwtxtsh.cxx (original) +++ openoffice/trunk/main/sw/source/ui/shells/drwtxtsh.cxx Tue Apr 9 12:22:48 2013 @@ -79,16 +79,13 @@ #include <uitool.hxx> #include <wview.hxx> #include <swmodule.hxx> - #include <svx/xtable.hxx> #include <svx/svxdlg.hxx> #include <svx/dialogs.hrc> - #include <svx/svxdlg.hxx> #include <svx/dialogs.hrc> - +#include <svx/svdoashp.hxx> #include <cppuhelper/bootstrap.hxx> - #include "swabstdlg.hxx" //CHINA001 #include "misc.hrc" @@ -353,18 +350,27 @@ void SwDrawTextShell::GetFormTextState(S if ( rMarkList.GetMarkCount() == 1 ) pObj = rMarkList.GetMark(0)->GetMarkedSdrObj(); - if ( pObj == NULL || !pObj->ISA(SdrTextObj) || - !((SdrTextObj*) pObj)->HasText() ) - { -#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++ ] ); + 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) + { + 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 {