Kaydet (Commit) c73f0e91 authored tarafından Armin Le Grand's avatar Armin Le Grand

i121538 Disable FontWork dialog entries (slots) when CustomShapes are selected…

i121538 Disable FontWork dialog entries (slots) when CustomShapes are selected to avoid unwanted FontWork editing on these shapes
üst d7fa73b2
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
#include <svx/xdef.hxx> #include <svx/xdef.hxx>
#include <sfx2/objsh.hxx> #include <sfx2/objsh.hxx>
#include <sfx2/viewfrm.hxx> #include <sfx2/viewfrm.hxx>
#include <svx/svdoashp.hxx>
#include "drawsh.hxx" #include "drawsh.hxx"
#include "drawview.hxx" #include "drawview.hxx"
#include "viewdata.hxx" #include "viewdata.hxx"
...@@ -60,8 +60,14 @@ void ScDrawShell::GetFormTextState(SfxItemSet& rSet) ...@@ -60,8 +60,14 @@ void ScDrawShell::GetFormTextState(SfxItemSet& rSet)
if ( rMarkList.GetMarkCount() == 1 ) if ( rMarkList.GetMarkCount() == 1 )
pObj = rMarkList.GetMark(0)->GetMarkedSdrObj(); pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
if ( pObj == NULL || !pObj->ISA(SdrTextObj) || const SdrTextObj* pTextObj = dynamic_cast< const SdrTextObj* >(pObj);
!((SdrTextObj*) pObj)->HasText() ) const bool bDeactivate(
!pObj ||
!pTextObj ||
!pTextObj->HasText() ||
dynamic_cast< const SdrObjCustomShape* >(pObj)); // #121538# no FontWork for CustomShapes
if(bDeactivate)
{ {
if ( pDlg ) if ( pDlg )
pDlg->SetActive(sal_False); pDlg->SetActive(sal_False);
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
#include <sfx2/request.hxx> #include <sfx2/request.hxx>
#include <sot/formats.hxx> #include <sot/formats.hxx>
#include <svl/whiter.hxx> #include <svl/whiter.hxx>
#include <svx/svdoashp.hxx>
#include "sc.hrc" #include "sc.hrc"
#include "drtxtob.hxx" #include "drtxtob.hxx"
#include "viewdata.hxx" #include "viewdata.hxx"
...@@ -242,8 +242,14 @@ void ScDrawTextObjectBar::GetFormTextState(SfxItemSet& rSet) ...@@ -242,8 +242,14 @@ void ScDrawTextObjectBar::GetFormTextState(SfxItemSet& rSet)
if ( rMarkList.GetMarkCount() == 1 ) if ( rMarkList.GetMarkCount() == 1 )
pObj = rMarkList.GetMark(0)->GetMarkedSdrObj(); pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
if ( pObj == NULL || !pObj->ISA(SdrTextObj) || const SdrTextObj* pTextObj = dynamic_cast< const SdrTextObj* >(pObj);
!((SdrTextObj*) pObj)->HasText() ) const bool bDeactivate(
!pObj ||
!pTextObj ||
!pTextObj->HasText() ||
dynamic_cast< const SdrObjCustomShape* >(pObj)); // #121538# no FontWork for CustomShapes
if(bDeactivate)
{ {
if ( pDlg ) if ( pDlg )
pDlg->SetActive(sal_False); pDlg->SetActive(sal_False);
......
...@@ -78,6 +78,7 @@ ...@@ -78,6 +78,7 @@
#include "Window.hxx" #include "Window.hxx"
#include "DrawDocShell.hxx" #include "DrawDocShell.hxx"
#include "framework/FrameworkHelper.hxx" #include "framework/FrameworkHelper.hxx"
#include <svx/svdoashp.hxx>
namespace sd { namespace sd {
...@@ -152,8 +153,14 @@ void DrawViewShell::GetFormTextState(SfxItemSet& rSet) ...@@ -152,8 +153,14 @@ void DrawViewShell::GetFormTextState(SfxItemSet& rSet)
if ( rMarkList.GetMarkCount() == 1 ) if ( rMarkList.GetMarkCount() == 1 )
pObj = rMarkList.GetMark(0)->GetMarkedSdrObj(); pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
if ( pObj == NULL || !pObj->ISA(SdrTextObj) || const SdrTextObj* pTextObj = dynamic_cast< const SdrTextObj* >(pObj);
!((SdrTextObj*) pObj)->HasText() ) 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 // automatisches Auf/Zuklappen des FontWork-Dialog; erstmal deaktiviert
// if ( pDlg ) // if ( pDlg )
......
...@@ -50,6 +50,7 @@ ...@@ -50,6 +50,7 @@
#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp> #include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
#include <svx/xtable.hxx> #include <svx/xtable.hxx>
#include <svx/svdoashp.hxx>
#include "swundo.hxx" #include "swundo.hxx"
#include "wrtsh.hxx" #include "wrtsh.hxx"
...@@ -465,19 +466,27 @@ void SwDrawShell::GetFormTextState(SfxItemSet& rSet) ...@@ -465,19 +466,27 @@ void SwDrawShell::GetFormTextState(SfxItemSet& rSet)
if ( rMarkList.GetMarkCount() == 1 ) if ( rMarkList.GetMarkCount() == 1 )
pObj = rMarkList.GetMark(0)->GetMarkedSdrObj(); pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
if ( pObj == NULL || !pObj->ISA(SdrTextObj) || const SdrTextObj* pTextObj = dynamic_cast< const SdrTextObj* >(pObj);
!((SdrTextObj*) pObj)->HasText() ) const bool bDeactivate(
{ !pObj ||
#define XATTR_ANZ 12 !pTextObj ||
static const sal_uInt16 nXAttr[ XATTR_ANZ ] = !pTextObj->HasText() ||
dynamic_cast< const SdrObjCustomShape* >(pObj)); // #121538# no FontWork for CustomShapes
if(bDeactivate)
{ {
XATTR_FORMTXTSTYLE, XATTR_FORMTXTADJUST, XATTR_FORMTXTDISTANCE, rSet.DisableItem(XATTR_FORMTXTSTYLE);
XATTR_FORMTXTSTART, XATTR_FORMTXTMIRROR, XATTR_FORMTXTSTDFORM, rSet.DisableItem(XATTR_FORMTXTADJUST);
XATTR_FORMTXTHIDEFORM, XATTR_FORMTXTOUTLINE, XATTR_FORMTXTSHADOW, rSet.DisableItem(XATTR_FORMTXTDISTANCE);
XATTR_FORMTXTSHDWCOLOR, XATTR_FORMTXTSHDWXVAL, XATTR_FORMTXTSHDWYVAL rSet.DisableItem(XATTR_FORMTXTSTART);
}; rSet.DisableItem(XATTR_FORMTXTMIRROR);
for( sal_uInt16 i = 0; i < XATTR_ANZ; ) rSet.DisableItem(XATTR_FORMTXTSTDFORM);
rSet.DisableItem( nXAttr[ i++ ] ); 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 else
{ {
......
...@@ -79,16 +79,13 @@ ...@@ -79,16 +79,13 @@
#include <uitool.hxx> #include <uitool.hxx>
#include <wview.hxx> #include <wview.hxx>
#include <swmodule.hxx> #include <swmodule.hxx>
#include <svx/xtable.hxx> #include <svx/xtable.hxx>
#include <svx/svxdlg.hxx> #include <svx/svxdlg.hxx>
#include <svx/dialogs.hrc> #include <svx/dialogs.hrc>
#include <svx/svxdlg.hxx> #include <svx/svxdlg.hxx>
#include <svx/dialogs.hrc> #include <svx/dialogs.hrc>
#include <svx/svdoashp.hxx>
#include <cppuhelper/bootstrap.hxx> #include <cppuhelper/bootstrap.hxx>
#include "swabstdlg.hxx" //CHINA001 #include "swabstdlg.hxx" //CHINA001
#include "misc.hrc" #include "misc.hrc"
...@@ -353,18 +350,27 @@ void SwDrawTextShell::GetFormTextState(SfxItemSet& rSet) ...@@ -353,18 +350,27 @@ void SwDrawTextShell::GetFormTextState(SfxItemSet& rSet)
if ( rMarkList.GetMarkCount() == 1 ) if ( rMarkList.GetMarkCount() == 1 )
pObj = rMarkList.GetMark(0)->GetMarkedSdrObj(); pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
if ( pObj == NULL || !pObj->ISA(SdrTextObj) || const SdrTextObj* pTextObj = dynamic_cast< const SdrTextObj* >(pObj);
!((SdrTextObj*) pObj)->HasText() ) const bool bDeactivate(
{ !pObj ||
#define XATTR_ANZ 12 !pTextObj ||
static const sal_uInt16 nXAttr[ XATTR_ANZ ] = !pTextObj->HasText() ||
{ XATTR_FORMTXTSTYLE, XATTR_FORMTXTADJUST, XATTR_FORMTXTDISTANCE, dynamic_cast< const SdrObjCustomShape* >(pObj)); // #121538# no FontWork for CustomShapes
XATTR_FORMTXTSTART, XATTR_FORMTXTMIRROR, XATTR_FORMTXTSTDFORM,
XATTR_FORMTXTHIDEFORM, XATTR_FORMTXTOUTLINE, XATTR_FORMTXTSHADOW, if (bDeactivate)
XATTR_FORMTXTSHDWCOLOR, XATTR_FORMTXTSHDWXVAL, XATTR_FORMTXTSHDWYVAL {
}; rSet.DisableItem(XATTR_FORMTXTSTYLE);
for( sal_uInt16 i = 0; i < XATTR_ANZ; ) rSet.DisableItem(XATTR_FORMTXTADJUST);
rSet.DisableItem( nXAttr[ i++ ] ); 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 else
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment