|
|
91334d |
From 2f3f5298a09c82fba750b61b5fc091af66578772 Mon Sep 17 00:00:00 2001
|
|
|
91334d |
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
|
|
91334d |
Date: Fri, 11 Aug 2017 11:51:09 +0100
|
|
|
91334d |
Subject: [PATCH] add char highlighting (background) tab to graphics styles
|
|
|
91334d |
dialog
|
|
|
91334d |
|
|
|
91334d |
move the SvxBackgroundColorItem<->SvxBrushItem conversion
|
|
|
91334d |
|
|
|
91334d |
into the dialog itself
|
|
|
91334d |
|
|
|
91334d |
Change-Id: I83db9f02145a4927257dd5691f82dad1a11eaea6
|
|
|
91334d |
|
|
|
91334d |
improve scoping a little
|
|
|
91334d |
|
|
|
91334d |
Change-Id: Ie2e86852f7c4754070d3eb7e8981d674f04a6d80
|
|
|
91334d |
(cherry picked from commit a162b21c2b393534a9f6433c9b2b674aaaecf1a7)
|
|
|
91334d |
|
|
|
91334d |
Change-Id: I2cf3872116ae59051847d73612a2f4f8385d34d8
|
|
|
91334d |
---
|
|
|
91334d |
cui/source/inc/backgrnd.hxx | 1 +
|
|
|
91334d |
cui/source/tabpages/backgrnd.cxx | 104 +++++++++++++++++++++++-------
|
|
|
91334d |
include/svx/flagsdef.hxx | 11 ++--
|
|
|
91334d |
sd/source/ui/dlg/dlgchar.cxx | 2 +-
|
|
|
91334d |
sd/source/ui/dlg/tabtempl.cxx | 7 ++
|
|
|
91334d |
sd/source/ui/func/fuchar.cxx | 26 +-------
|
|
|
91334d |
sd/source/ui/inc/tabtempl.hxx | 1 +
|
|
|
91334d |
sd/uiconfig/simpress/ui/templatedialog.ui | 14 ++++
|
|
|
91334d |
8 files changed, 113 insertions(+), 53 deletions(-)
|
|
|
91334d |
|
|
|
91334d |
diff --git a/cui/source/inc/backgrnd.hxx b/cui/source/inc/backgrnd.hxx
|
|
|
91334d |
index d2663f3..cd7ab4f 100644
|
|
|
91334d |
--- a/cui/source/inc/backgrnd.hxx
|
|
|
91334d |
+++ b/cui/source/inc/backgrnd.hxx
|
|
|
91334d |
@@ -107,6 +107,7 @@ private:
|
|
|
91334d |
bool bIsGraphicValid : 1;
|
|
|
91334d |
bool bLinkOnly : 1;
|
|
|
91334d |
bool bHighlighting : 1;
|
|
|
91334d |
+ bool bCharBackColor : 1;
|
|
|
91334d |
bool m_bColorSelected : 1;
|
|
|
91334d |
Graphic aBgdGraphic;
|
|
|
91334d |
OUString aBgdGraphicPath;
|
|
|
91334d |
diff --git a/cui/source/tabpages/backgrnd.cxx b/cui/source/tabpages/backgrnd.cxx
|
|
|
91334d |
index 43d8fdd..83aa3c7 100644
|
|
|
91334d |
--- a/cui/source/tabpages/backgrnd.cxx
|
|
|
91334d |
+++ b/cui/source/tabpages/backgrnd.cxx
|
|
|
91334d |
@@ -38,6 +38,7 @@
|
|
|
91334d |
#include <editeng/eerdll.hxx>
|
|
|
91334d |
|
|
|
91334d |
#include <editeng/brushitem.hxx>
|
|
|
91334d |
+#include <editeng/colritem.hxx>
|
|
|
91334d |
#include "backgrnd.hxx"
|
|
|
91334d |
|
|
|
91334d |
#include <svx/xtable.hxx>
|
|
|
91334d |
@@ -330,6 +331,7 @@ SvxBackgroundTabPage::SvxBackgroundTabPage(vcl::Window* pParent, const SfxItemSe
|
|
|
91334d |
, bIsGraphicValid(false)
|
|
|
91334d |
, bLinkOnly(false)
|
|
|
91334d |
, bHighlighting(false)
|
|
|
91334d |
+ , bCharBackColor(false)
|
|
|
91334d |
, m_bColorSelected(false)
|
|
|
91334d |
, pPageImpl(new SvxBackgroundPage_Impl)
|
|
|
91334d |
, pImportDlg(nullptr)
|
|
|
91334d |
@@ -460,7 +462,7 @@ void SvxBackgroundTabPage::Reset( const SfxItemSet* rSet )
|
|
|
91334d |
|
|
|
91334d |
|
|
|
91334d |
// get and evaluate Input-BrushItem
|
|
|
91334d |
- const SvxBrushItem* pBgdAttr = nullptr;
|
|
|
91334d |
+ bool bBrushItemSet = false;
|
|
|
91334d |
sal_uInt16 nSlot = SID_ATTR_BRUSH;
|
|
|
91334d |
const SfxPoolItem* pItem;
|
|
|
91334d |
sal_uInt16 nDestValue = USHRT_MAX;
|
|
|
91334d |
@@ -488,20 +490,39 @@ void SvxBackgroundTabPage::Reset( const SfxItemSet* rSet )
|
|
|
91334d |
{
|
|
|
91334d |
nSlot = SID_ATTR_BRUSH_CHAR;
|
|
|
91334d |
}
|
|
|
91334d |
+ else if( bCharBackColor )
|
|
|
91334d |
+ {
|
|
|
91334d |
+ nSlot = SID_ATTR_CHAR_BACK_COLOR;
|
|
|
91334d |
+ }
|
|
|
91334d |
+
|
|
|
91334d |
//#111173# the destination item is missing when the parent style has been changed
|
|
|
91334d |
if(USHRT_MAX == nDestValue && m_pTblLBox->IsVisible())
|
|
|
91334d |
nDestValue = 0;
|
|
|
91334d |
- sal_uInt16 nWhich = GetWhich( nSlot );
|
|
|
91334d |
+ sal_uInt16 nWhich = GetWhich(nSlot);
|
|
|
91334d |
+ SvxBrushItem aBgdAttr(nWhich);
|
|
|
91334d |
|
|
|
91334d |
- if ( rSet->GetItemState( nWhich, false ) >= SfxItemState::DEFAULT )
|
|
|
91334d |
- pBgdAttr = static_cast<const SvxBrushItem*>(&( rSet->Get( nWhich ) ));
|
|
|
91334d |
+ if (rSet->GetItemState( nWhich, false ) >= SfxItemState::DEFAULT)
|
|
|
91334d |
+ {
|
|
|
91334d |
+ if (!bCharBackColor)
|
|
|
91334d |
+ aBgdAttr = static_cast<const SvxBrushItem&>(rSet->Get(nWhich));
|
|
|
91334d |
+ else
|
|
|
91334d |
+ {
|
|
|
91334d |
+ // EE_CHAR_BKGCOLOR is SvxBackgroundColorItem, but char background tabpage
|
|
|
91334d |
+ // can only work with SvxBrushItems
|
|
|
91334d |
+ // extract Color out of SvxBackColorItem
|
|
|
91334d |
+ Color aBackColor = static_cast<const SvxBackgroundColorItem&>(rSet->Get(nWhich)).GetValue();
|
|
|
91334d |
+ // make new SvxBrushItem with this Color
|
|
|
91334d |
+ aBgdAttr = SvxBrushItem(aBackColor, SID_ATTR_BRUSH_CHAR);
|
|
|
91334d |
+ }
|
|
|
91334d |
+ bBrushItemSet = true;
|
|
|
91334d |
+ }
|
|
|
91334d |
|
|
|
91334d |
m_pBtnTile->Check();
|
|
|
91334d |
|
|
|
91334d |
- if ( pBgdAttr )
|
|
|
91334d |
+ if (bBrushItemSet)
|
|
|
91334d |
{
|
|
|
91334d |
- FillControls_Impl(*pBgdAttr, aUserData);
|
|
|
91334d |
- aBgdColor = const_cast<SvxBrushItem*>(pBgdAttr)->GetColor();
|
|
|
91334d |
+ FillControls_Impl(aBgdAttr, aUserData);
|
|
|
91334d |
+ aBgdColor = const_cast<SvxBrushItem&>(aBgdAttr).GetColor();
|
|
|
91334d |
}
|
|
|
91334d |
else
|
|
|
91334d |
{
|
|
|
91334d |
@@ -536,22 +557,22 @@ void SvxBackgroundTabPage::Reset( const SfxItemSet* rSet )
|
|
|
91334d |
nWhich = GetWhich( SID_ATTR_BRUSH );
|
|
|
91334d |
if ( rSet->GetItemState( nWhich, false ) >= SfxItemState::DEFAULT )
|
|
|
91334d |
{
|
|
|
91334d |
- pBgdAttr = static_cast<const SvxBrushItem*>(&( rSet->Get( nWhich ) ));
|
|
|
91334d |
- pTableBck_Impl->pCellBrush = new SvxBrushItem(*pBgdAttr);
|
|
|
91334d |
+ aBgdAttr = static_cast<const SvxBrushItem&>(rSet->Get(nWhich));
|
|
|
91334d |
+ pTableBck_Impl->pCellBrush = new SvxBrushItem(aBgdAttr);
|
|
|
91334d |
}
|
|
|
91334d |
pTableBck_Impl->nCellWhich = nWhich;
|
|
|
91334d |
|
|
|
91334d |
if ( rSet->GetItemState( SID_ATTR_BRUSH_ROW, false ) >= SfxItemState::DEFAULT )
|
|
|
91334d |
{
|
|
|
91334d |
- pBgdAttr = static_cast<const SvxBrushItem*>(&( rSet->Get( SID_ATTR_BRUSH_ROW ) ));
|
|
|
91334d |
- pTableBck_Impl->pRowBrush = new SvxBrushItem(*pBgdAttr);
|
|
|
91334d |
+ aBgdAttr = static_cast<const SvxBrushItem&>(rSet->Get(SID_ATTR_BRUSH_ROW));
|
|
|
91334d |
+ pTableBck_Impl->pRowBrush = new SvxBrushItem(aBgdAttr);
|
|
|
91334d |
}
|
|
|
91334d |
pTableBck_Impl->nRowWhich = SID_ATTR_BRUSH_ROW;
|
|
|
91334d |
|
|
|
91334d |
if ( rSet->GetItemState( SID_ATTR_BRUSH_TABLE, false ) >= SfxItemState::DEFAULT )
|
|
|
91334d |
{
|
|
|
91334d |
- pBgdAttr = static_cast<const SvxBrushItem*>(&( rSet->Get( SID_ATTR_BRUSH_TABLE ) ));
|
|
|
91334d |
- pTableBck_Impl->pTableBrush = new SvxBrushItem(*pBgdAttr);
|
|
|
91334d |
+ aBgdAttr = static_cast<const SvxBrushItem&>(rSet->Get(SID_ATTR_BRUSH_TABLE));
|
|
|
91334d |
+ pTableBck_Impl->pTableBrush = new SvxBrushItem(aBgdAttr);
|
|
|
91334d |
}
|
|
|
91334d |
pTableBck_Impl->nTableWhich = SID_ATTR_BRUSH_TABLE;
|
|
|
91334d |
|
|
|
91334d |
@@ -563,8 +584,22 @@ void SvxBackgroundTabPage::Reset( const SfxItemSet* rSet )
|
|
|
91334d |
nWhich = GetWhich( SID_ATTR_BRUSH_CHAR );
|
|
|
91334d |
if ( rSet->GetItemState( nWhich, false ) >= SfxItemState::DEFAULT )
|
|
|
91334d |
{
|
|
|
91334d |
- pBgdAttr = static_cast<const SvxBrushItem*>(&( rSet->Get( nWhich ) ));
|
|
|
91334d |
- pHighlighting.reset(new SvxBrushItem(*pBgdAttr));
|
|
|
91334d |
+ aBgdAttr = static_cast<const SvxBrushItem&>(rSet->Get(nWhich));
|
|
|
91334d |
+ pHighlighting.reset(new SvxBrushItem(aBgdAttr));
|
|
|
91334d |
+ }
|
|
|
91334d |
+ }
|
|
|
91334d |
+ else if( bCharBackColor )
|
|
|
91334d |
+ {
|
|
|
91334d |
+ nWhich = GetWhich(SID_ATTR_CHAR_BACK_COLOR);
|
|
|
91334d |
+ if ( rSet->GetItemState( nWhich, false ) >= SfxItemState::DEFAULT )
|
|
|
91334d |
+ {
|
|
|
91334d |
+ // EE_CHAR_BKGCOLOR is SvxBackgroundColorItem, but char background tabpage
|
|
|
91334d |
+ // can only work with SvxBrushItems
|
|
|
91334d |
+ // extract Color out of SvxBackColorItem
|
|
|
91334d |
+ Color aBackColor = static_cast<const SvxBackgroundColorItem&>(rSet->Get(nWhich)).GetValue();
|
|
|
91334d |
+ // make new SvxBrushItem with this Color
|
|
|
91334d |
+ aBgdAttr = SvxBrushItem(aBackColor, SID_ATTR_BRUSH_CHAR);
|
|
|
91334d |
+ pHighlighting.reset(new SvxBrushItem(aBgdAttr));
|
|
|
91334d |
}
|
|
|
91334d |
}
|
|
|
91334d |
}
|
|
|
91334d |
@@ -645,6 +680,7 @@ bool SvxBackgroundTabPage::FillItemSet( SfxItemSet* rCoreSet )
|
|
|
91334d |
return FillItemSetWithWallpaperItem( *rCoreSet, SID_VIEW_FLD_PIC );
|
|
|
91334d |
|
|
|
91334d |
bool bModified = false;
|
|
|
91334d |
+ bool bCompareOldBrush = true;
|
|
|
91334d |
sal_uInt16 nSlot = SID_ATTR_BRUSH;
|
|
|
91334d |
|
|
|
91334d |
if ( m_pTblLBox->IsVisible() )
|
|
|
91334d |
@@ -666,15 +702,21 @@ bool SvxBackgroundTabPage::FillItemSet( SfxItemSet* rCoreSet )
|
|
|
91334d |
{
|
|
|
91334d |
nSlot = SID_ATTR_BRUSH_CHAR;
|
|
|
91334d |
}
|
|
|
91334d |
- sal_uInt16 nWhich = GetWhich( nSlot );
|
|
|
91334d |
+ else if( bCharBackColor )
|
|
|
91334d |
+ {
|
|
|
91334d |
+ nSlot = SID_ATTR_CHAR_BACK_COLOR;
|
|
|
91334d |
+ bCompareOldBrush = false;
|
|
|
91334d |
+ }
|
|
|
91334d |
|
|
|
91334d |
- const SfxPoolItem* pOld = GetOldItem( *rCoreSet, nSlot );
|
|
|
91334d |
- SfxItemState eOldItemState = rCoreSet->GetItemState(nSlot, false);
|
|
|
91334d |
- const SfxItemSet& rOldSet = GetItemSet();
|
|
|
91334d |
+ sal_uInt16 nWhich = GetWhich( nSlot );
|
|
|
91334d |
|
|
|
91334d |
- if ( pOld )
|
|
|
91334d |
+ const SfxPoolItem* pOld = GetOldItem(*rCoreSet, nSlot);
|
|
|
91334d |
+ if (pOld && bCompareOldBrush)
|
|
|
91334d |
{
|
|
|
91334d |
+ SfxItemState eOldItemState = rCoreSet->GetItemState(nSlot, false);
|
|
|
91334d |
+ const SfxItemSet& rOldSet = GetItemSet();
|
|
|
91334d |
const SvxBrushItem& rOldItem = static_cast<const SvxBrushItem&>(*pOld);
|
|
|
91334d |
+
|
|
|
91334d |
SvxGraphicPosition eOldPos = rOldItem.GetGraphicPos();
|
|
|
91334d |
const bool bIsBrush = ( drawing::FillStyle_SOLID == lcl_getFillStyle(m_pLbSelect) );
|
|
|
91334d |
|
|
|
91334d |
@@ -775,6 +817,22 @@ bool SvxBackgroundTabPage::FillItemSet( SfxItemSet* rCoreSet )
|
|
|
91334d |
bModified = ( bIsBrush || m_pBtnLink->IsChecked() || bIsGraphicValid );
|
|
|
91334d |
}
|
|
|
91334d |
}
|
|
|
91334d |
+ else if (pOld && SID_ATTR_CHAR_BACK_COLOR == nSlot)
|
|
|
91334d |
+ {
|
|
|
91334d |
+ SfxItemState eOldItemState = rCoreSet->GetItemState(nSlot, false);
|
|
|
91334d |
+ const SfxItemSet& rOldSet = GetItemSet();
|
|
|
91334d |
+ const SvxBackgroundColorItem& rOldItem = static_cast<const SvxBackgroundColorItem&>(*pOld);
|
|
|
91334d |
+
|
|
|
91334d |
+ // Brush-treatment:
|
|
|
91334d |
+ if ( rOldItem.GetValue() != aBgdColor ||
|
|
|
91334d |
+ (SfxItemState::DEFAULT >= eOldItemState && m_bColorSelected))
|
|
|
91334d |
+ {
|
|
|
91334d |
+ bModified = true;
|
|
|
91334d |
+ rCoreSet->Put(SvxBackgroundColorItem(aBgdColor, nWhich));
|
|
|
91334d |
+ }
|
|
|
91334d |
+ else if ( SfxItemState::DEFAULT == rOldSet.GetItemState( nWhich, false ) )
|
|
|
91334d |
+ rCoreSet->ClearItem( nWhich );
|
|
|
91334d |
+ }
|
|
|
91334d |
else if ( SID_ATTR_BRUSH_CHAR == nSlot && aBgdColor != Color( COL_WHITE ) )
|
|
|
91334d |
{
|
|
|
91334d |
rCoreSet->Put( SvxBrushItem( aBgdColor, nWhich ) );
|
|
|
91334d |
@@ -1527,10 +1585,12 @@ void SvxBackgroundTabPage::PageCreated(const SfxAllItemSet& aSet)
|
|
|
91334d |
{
|
|
|
91334d |
ShowSelector();
|
|
|
91334d |
}
|
|
|
91334d |
- if ( nFlags & SvxBackgroundTabFlags::SHOW_HIGHLIGHTING )
|
|
|
91334d |
+ if ((nFlags & SvxBackgroundTabFlags::SHOW_HIGHLIGHTING) ||
|
|
|
91334d |
+ (nFlags & SvxBackgroundTabFlags::SHOW_CHAR_BKGCOLOR))
|
|
|
91334d |
{
|
|
|
91334d |
m_pBackGroundColorLabelFT->SetText(CUI_RES(RID_SVXSTR_CHARNAME_HIGHLIGHTING));
|
|
|
91334d |
- bHighlighting = true;
|
|
|
91334d |
+ bHighlighting = bool(nFlags & SvxBackgroundTabFlags::SHOW_HIGHLIGHTING);
|
|
|
91334d |
+ bCharBackColor = bool(nFlags & SvxBackgroundTabFlags::SHOW_CHAR_BKGCOLOR);
|
|
|
91334d |
}
|
|
|
91334d |
}
|
|
|
91334d |
}
|
|
|
91334d |
diff --git a/include/svx/flagsdef.hxx b/include/svx/flagsdef.hxx
|
|
|
91334d |
index 0207a0e..30b1ff4 100644
|
|
|
91334d |
--- a/include/svx/flagsdef.hxx
|
|
|
91334d |
+++ b/include/svx/flagsdef.hxx
|
|
|
91334d |
@@ -39,14 +39,15 @@ namespace o3tl
|
|
|
91334d |
// flags for SvxBackgroundTabPage
|
|
|
91334d |
enum class SvxBackgroundTabFlags
|
|
|
91334d |
{
|
|
|
91334d |
- NONE = 0x00,
|
|
|
91334d |
- SHOW_SELECTOR = 0x01,
|
|
|
91334d |
- SHOW_TBLCTL = 0x08,
|
|
|
91334d |
- SHOW_HIGHLIGHTING = 0x10,
|
|
|
91334d |
+ NONE = 0x00,
|
|
|
91334d |
+ SHOW_SELECTOR = 0x01,
|
|
|
91334d |
+ SHOW_TBLCTL = 0x08,
|
|
|
91334d |
+ SHOW_HIGHLIGHTING = 0x10,
|
|
|
91334d |
+ SHOW_CHAR_BKGCOLOR = 0x20,
|
|
|
91334d |
};
|
|
|
91334d |
namespace o3tl
|
|
|
91334d |
{
|
|
|
91334d |
- template<> struct typed_flags<SvxBackgroundTabFlags> : is_typed_flags<SvxBackgroundTabFlags, 0x19> {};
|
|
|
91334d |
+ template<> struct typed_flags<SvxBackgroundTabFlags> : is_typed_flags<SvxBackgroundTabFlags, 0x39> {};
|
|
|
91334d |
}
|
|
|
91334d |
|
|
|
91334d |
// flags for SvxBorderTabPage
|
|
|
91334d |
diff --git a/sd/source/ui/dlg/dlgchar.cxx b/sd/source/ui/dlg/dlgchar.cxx
|
|
|
91334d |
index bcf4437..cb37af4 100644
|
|
|
91334d |
--- a/sd/source/ui/dlg/dlgchar.cxx
|
|
|
91334d |
+++ b/sd/source/ui/dlg/dlgchar.cxx
|
|
|
91334d |
@@ -65,7 +65,7 @@ void SdCharDlg::PageCreated( sal_uInt16 nId, SfxTabPage &rPage )
|
|
|
91334d |
}
|
|
|
91334d |
else if (nId == mnCharBackground)
|
|
|
91334d |
{
|
|
|
91334d |
- aSet.Put(SfxUInt32Item(SID_FLAG_TYPE,static_cast<sal_uInt32>(SvxBackgroundTabFlags::SHOW_HIGHLIGHTING)));
|
|
|
91334d |
+ aSet.Put(SfxUInt32Item(SID_FLAG_TYPE,static_cast<sal_uInt32>(SvxBackgroundTabFlags::SHOW_CHAR_BKGCOLOR)));
|
|
|
91334d |
rPage.PageCreated(aSet);
|
|
|
91334d |
}
|
|
|
91334d |
}
|
|
|
91334d |
diff --git a/sd/source/ui/dlg/tabtempl.cxx b/sd/source/ui/dlg/tabtempl.cxx
|
|
|
91334d |
index 17e962b..9042bf5 100644
|
|
|
91334d |
--- a/sd/source/ui/dlg/tabtempl.cxx
|
|
|
91334d |
+++ b/sd/source/ui/dlg/tabtempl.cxx
|
|
|
91334d |
@@ -71,6 +71,7 @@ SdTabTemplateDlg::SdTabTemplateDlg( vcl::Window* pParent,
|
|
|
91334d |
, m_nFontId(0)
|
|
|
91334d |
, m_nFontEffectId(0)
|
|
|
91334d |
, m_nIndentsId(0)
|
|
|
91334d |
+ , m_nBackgroundId(0)
|
|
|
91334d |
, m_nTextId(0)
|
|
|
91334d |
, m_nAnimationId(0)
|
|
|
91334d |
, m_nDimensionId(0)
|
|
|
91334d |
@@ -88,6 +89,7 @@ SdTabTemplateDlg::SdTabTemplateDlg( vcl::Window* pParent,
|
|
|
91334d |
m_nFontId = AddTabPage("font", RID_SVXPAGE_CHAR_NAME);
|
|
|
91334d |
m_nFontEffectId = AddTabPage("fonteffect", RID_SVXPAGE_CHAR_EFFECTS);
|
|
|
91334d |
m_nIndentsId = AddTabPage("indents", RID_SVXPAGE_STD_PARAGRAPH);
|
|
|
91334d |
+ m_nBackgroundId = AddTabPage("background", RID_SVXPAGE_BACKGROUND);
|
|
|
91334d |
m_nTextId = AddTabPage("text", RID_SVXPAGE_TEXTATTR);
|
|
|
91334d |
m_nAnimationId = AddTabPage("animation", RID_SVXPAGE_TEXTANIMATION);
|
|
|
91334d |
m_nDimensionId = AddTabPage("dimensioning", RID_SVXPAGE_MEASURE);
|
|
|
91334d |
@@ -149,6 +151,11 @@ void SdTabTemplateDlg::PageCreated( sal_uInt16 nId, SfxTabPage &rPage )
|
|
|
91334d |
{
|
|
|
91334d |
rPage.PageCreated(aSet);
|
|
|
91334d |
}
|
|
|
91334d |
+ else if (nId == m_nBackgroundId)
|
|
|
91334d |
+ {
|
|
|
91334d |
+ aSet.Put(SfxUInt32Item(SID_FLAG_TYPE,static_cast<sal_uInt32>(SvxBackgroundTabFlags::SHOW_CHAR_BKGCOLOR)));
|
|
|
91334d |
+ rPage.PageCreated(aSet);
|
|
|
91334d |
+ }
|
|
|
91334d |
else if (nId == m_nTextId)
|
|
|
91334d |
{
|
|
|
91334d |
rPage.PageCreated(aSet);
|
|
|
91334d |
diff --git a/sd/source/ui/func/fuchar.cxx b/sd/source/ui/func/fuchar.cxx
|
|
|
91334d |
index f5601b3..5ffcfa0 100644
|
|
|
91334d |
--- a/sd/source/ui/func/fuchar.cxx
|
|
|
91334d |
+++ b/sd/source/ui/func/fuchar.cxx
|
|
|
91334d |
@@ -68,33 +68,9 @@ void FuChar::DoExecute( SfxRequest& rReq )
|
|
|
91334d |
SfxItemSet aEditAttr( mpDoc->GetPool() );
|
|
|
91334d |
mpView->GetAttributes( aEditAttr );
|
|
|
91334d |
|
|
|
91334d |
- static const sal_uInt16 aRanges[] =
|
|
|
91334d |
- {
|
|
|
91334d |
- EE_ITEMS_START, EE_ITEMS_END,
|
|
|
91334d |
- SID_ATTR_BRUSH_CHAR, SID_ATTR_BRUSH_CHAR,
|
|
|
91334d |
- 0
|
|
|
91334d |
- };
|
|
|
91334d |
-
|
|
|
91334d |
- SfxItemSet aNewAttr( mpViewShell->GetPool(),
|
|
|
91334d |
- aRanges );
|
|
|
91334d |
+ SfxItemSet aNewAttr(mpViewShell->GetPool(), EE_ITEMS_START, EE_ITEMS_END);
|
|
|
91334d |
aNewAttr.Put( aEditAttr, false );
|
|
|
91334d |
|
|
|
91334d |
- // EE_CHAR_BKGCOLOR is SvxBackgroundColorItem, but char background tabpage
|
|
|
91334d |
- // can only work with SvxBrushItems (it requires major undertaking to have
|
|
|
91334d |
- // it support anything else). Do the following then:
|
|
|
91334d |
- const SfxPoolItem* pItem;
|
|
|
91334d |
- if ( aNewAttr.GetItemState( EE_CHAR_BKGCOLOR, true, &pItem ) == SfxItemState::SET )
|
|
|
91334d |
- {
|
|
|
91334d |
- // extract Color outta SvxBackColorItem
|
|
|
91334d |
- Color aBackColor = static_cast<const SvxBackgroundColorItem*>(pItem)->GetValue();
|
|
|
91334d |
- // make new SvxBrushItem with this Color
|
|
|
91334d |
- SvxBrushItem aBrushItem( aBackColor, SID_ATTR_BRUSH_CHAR );
|
|
|
91334d |
-
|
|
|
91334d |
- aNewAttr.ClearItem( EE_CHAR_BKGCOLOR );
|
|
|
91334d |
- // and stick it into the set
|
|
|
91334d |
- aNewAttr.Put( aBrushItem );
|
|
|
91334d |
- }
|
|
|
91334d |
-
|
|
|
91334d |
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
|
|
|
91334d |
ScopedVclPtr<SfxAbstractTabDialog> pDlg(pFact ? pFact->CreateSdTabCharDialog(mpViewShell->GetActiveWindow(), &aNewAttr, mpDoc->GetDocSh() ) : nullptr);
|
|
|
91334d |
sal_uInt16 nResult = RET_CANCEL;
|
|
|
91334d |
diff --git a/sd/source/ui/inc/tabtempl.hxx b/sd/source/ui/inc/tabtempl.hxx
|
|
|
91334d |
index d5c2f5e..bc00417 100644
|
|
|
91334d |
--- a/sd/source/ui/inc/tabtempl.hxx
|
|
|
91334d |
+++ b/sd/source/ui/inc/tabtempl.hxx
|
|
|
91334d |
@@ -50,6 +50,7 @@ private:
|
|
|
91334d |
sal_uInt16 m_nFontId;
|
|
|
91334d |
sal_uInt16 m_nFontEffectId;
|
|
|
91334d |
sal_uInt16 m_nIndentsId;
|
|
|
91334d |
+ sal_uInt16 m_nBackgroundId;
|
|
|
91334d |
sal_uInt16 m_nTextId;
|
|
|
91334d |
sal_uInt16 m_nAnimationId;
|
|
|
91334d |
sal_uInt16 m_nDimensionId;
|
|
|
91334d |
diff --git a/sd/uiconfig/simpress/ui/templatedialog.ui b/sd/uiconfig/simpress/ui/templatedialog.ui
|
|
|
91334d |
index 961a0bb..380f9f0 100644
|
|
|
91334d |
--- a/sd/uiconfig/simpress/ui/templatedialog.ui
|
|
|
91334d |
+++ b/sd/uiconfig/simpress/ui/templatedialog.ui
|
|
|
91334d |
@@ -204,6 +204,20 @@
|
|
|
91334d |
<placeholder/>
|
|
|
91334d |
</child>
|
|
|
91334d |
<child type="tab">
|
|
|
91334d |
+ <object class="GtkLabel" id="background">
|
|
|
91334d |
+ <property name="visible">True</property>
|
|
|
91334d |
+ <property name="can_focus">False</property>
|
|
|
91334d |
+ <property name="label" translatable="yes" context="templatedialog|background">Highlighting</property>
|
|
|
91334d |
+ </object>
|
|
|
91334d |
+ <packing>
|
|
|
91334d |
+ <property name="position">6</property>
|
|
|
91334d |
+ <property name="tab_fill">False</property>
|
|
|
91334d |
+ </packing>
|
|
|
91334d |
+ </child>
|
|
|
91334d |
+ <child>
|
|
|
91334d |
+ <placeholder/>
|
|
|
91334d |
+ </child>
|
|
|
91334d |
+ <child type="tab">
|
|
|
91334d |
<object class="GtkLabel" id="indents">
|
|
|
91334d |
<property name="visible">True</property>
|
|
|
91334d |
<property name="can_focus">False</property>
|
|
|
91334d |
--
|
|
|
91334d |
2.9.4
|
|
|
91334d |
|