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 @@
#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(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)
{
if ( pDlg )
pDlg->SetActive(sal_False);
......
......@@ -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::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)
{
if ( pDlg )
pDlg->SetActive(sal_False);
......
......@@ -78,6 +78,7 @@
#include "Window.hxx"
#include "DrawDocShell.hxx"
#include "framework/FrameworkHelper.hxx"
#include <svx/svdoashp.hxx>
namespace sd {
......@@ -152,8 +153,14 @@ void DrawViewShell::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)
{
// automatisches Auf/Zuklappen des FontWork-Dialog; erstmal deaktiviert
// if ( pDlg )
......
......@@ -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(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
{
......
......@@ -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(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
{
......
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