Kaydet (Commit) 0994eb59 authored tarafından Armin Le Grand's avatar Armin Le Grand Kaydeden (comit) Caolán McNamara

Resolves: #i121538# Disable FontWork dialog entries (slots)...

when CustomShapes are selected to avoid unwanted FontWork editing on these
shapes

(cherry picked from commit c73f0e91)

Conflicts:
	sw/source/ui/shells/drawsh.cxx
	sw/source/ui/shells/drwtxtsh.cxx

Change-Id: I6b702512c48e7b2376874b2e8184563d12d5c6e8
üst 881b79dc
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,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"
...@@ -49,8 +49,14 @@ void ScDrawShell::GetFormTextState(SfxItemSet& rSet) ...@@ -49,8 +49,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(false); pDlg->SetActive(false);
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,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"
...@@ -236,8 +236,14 @@ void ScDrawTextObjectBar::GetFormTextState(SfxItemSet& rSet) ...@@ -236,8 +236,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(false); pDlg->SetActive(false);
......
...@@ -54,6 +54,7 @@ ...@@ -54,6 +54,7 @@
#include "DrawDocShell.hxx" #include "DrawDocShell.hxx"
#include "sdabstdlg.hxx" #include "sdabstdlg.hxx"
#include "framework/FrameworkHelper.hxx" #include "framework/FrameworkHelper.hxx"
#include <svx/svdoashp.hxx>
namespace sd { namespace sd {
...@@ -122,8 +123,14 @@ void DrawViewShell::GetFormTextState(SfxItemSet& rSet) ...@@ -122,8 +123,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)
{ {
// automatic open/close the FontWork-Dialog; first deactivate it // automatic open/close the FontWork-Dialog; first deactivate it
......
...@@ -42,9 +42,9 @@ ...@@ -42,9 +42,9 @@
#include <comphelper/processfactory.hxx> #include <comphelper/processfactory.hxx>
#include <com/sun/star/ui/dialogs/XSLTFilterDialog.hpp> #include <com/sun/star/ui/dialogs/XSLTFilterDialog.hpp>
#include <svx/svdoashp.hxx>
#include <svx/xtable.hxx> #include <svx/xtable.hxx>
#include <sfx2/sidebar/EnumContext.hxx> #include <sfx2/sidebar/EnumContext.hxx>
#include <svx/svdoashp.hxx>
#include "swundo.hxx" #include "swundo.hxx"
#include "wrtsh.hxx" #include "wrtsh.hxx"
...@@ -442,19 +442,27 @@ void SwDrawShell::GetFormTextState(SfxItemSet& rSet) ...@@ -442,19 +442,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 ||
!pTextObj ||
!pTextObj->HasText() ||
dynamic_cast< const SdrObjCustomShape* >(pObj)); // #121538# no FontWork for CustomShapes
if(bDeactivate)
{ {
#define XATTR_ANZ 12 rSet.DisableItem(XATTR_FORMTXTSTYLE);
static const sal_uInt16 nXAttr[ XATTR_ANZ ] = rSet.DisableItem(XATTR_FORMTXTADJUST);
{ rSet.DisableItem(XATTR_FORMTXTDISTANCE);
XATTR_FORMTXTSTYLE, XATTR_FORMTXTADJUST, XATTR_FORMTXTDISTANCE, rSet.DisableItem(XATTR_FORMTXTSTART);
XATTR_FORMTXTSTART, XATTR_FORMTXTMIRROR, XATTR_FORMTXTSTDFORM, rSet.DisableItem(XATTR_FORMTXTMIRROR);
XATTR_FORMTXTHIDEFORM, XATTR_FORMTXTOUTLINE, XATTR_FORMTXTSHADOW, rSet.DisableItem(XATTR_FORMTXTSTDFORM);
XATTR_FORMTXTSHDWCOLOR, XATTR_FORMTXTSHDWXVAL, XATTR_FORMTXTSHDWYVAL rSet.DisableItem(XATTR_FORMTXTHIDEFORM);
}; rSet.DisableItem(XATTR_FORMTXTOUTLINE);
for( sal_uInt16 i = 0; i < XATTR_ANZ; ) rSet.DisableItem(XATTR_FORMTXTSHADOW);
rSet.DisableItem( nXAttr[ i++ ] ); rSet.DisableItem(XATTR_FORMTXTSHDWCOLOR);
rSet.DisableItem(XATTR_FORMTXTSHDWXVAL);
rSet.DisableItem(XATTR_FORMTXTSHDWYVAL);
} }
else else
{ {
......
...@@ -68,13 +68,11 @@ ...@@ -68,13 +68,11 @@
#include <uitool.hxx> #include <uitool.hxx>
#include <wview.hxx> #include <wview.hxx>
#include <swmodule.hxx> #include <swmodule.hxx>
#include <svx/xtable.hxx>
#include <svx/svxdlg.hxx>
#include <svx/dialogs.hrc> #include <svx/dialogs.hrc>
#include <svx/svdoashp.hxx>
#include <svx/svxdlg.hxx>
#include <svx/xtable.hxx>
#include <cppuhelper/bootstrap.hxx> #include <cppuhelper/bootstrap.hxx>
#include "swabstdlg.hxx" #include "swabstdlg.hxx"
#include "misc.hrc" #include "misc.hrc"
...@@ -267,18 +265,27 @@ void SwDrawTextShell::GetFormTextState(SfxItemSet& rSet) ...@@ -267,18 +265,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 ||
!pTextObj ||
!pTextObj->HasText() ||
dynamic_cast< const SdrObjCustomShape* >(pObj)); // #121538# no FontWork for CustomShapes
if (bDeactivate)
{ {
#define XATTR_ANZ 12 rSet.DisableItem(XATTR_FORMTXTSTYLE);
static const sal_uInt16 nXAttr[ XATTR_ANZ ] = rSet.DisableItem(XATTR_FORMTXTADJUST);
{ XATTR_FORMTXTSTYLE, XATTR_FORMTXTADJUST, XATTR_FORMTXTDISTANCE, rSet.DisableItem(XATTR_FORMTXTDISTANCE);
XATTR_FORMTXTSTART, XATTR_FORMTXTMIRROR, XATTR_FORMTXTSTDFORM, rSet.DisableItem(XATTR_FORMTXTSTART);
XATTR_FORMTXTHIDEFORM, XATTR_FORMTXTOUTLINE, XATTR_FORMTXTSHADOW, rSet.DisableItem(XATTR_FORMTXTMIRROR);
XATTR_FORMTXTSHDWCOLOR, XATTR_FORMTXTSHDWXVAL, XATTR_FORMTXTSHDWYVAL rSet.DisableItem(XATTR_FORMTXTSTDFORM);
}; rSet.DisableItem(XATTR_FORMTXTHIDEFORM);
for( sal_uInt16 i = 0; i < XATTR_ANZ; ) rSet.DisableItem(XATTR_FORMTXTOUTLINE);
rSet.DisableItem( nXAttr[ i++ ] ); 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