summaryrefslogtreecommitdiff
path: root/cui/source/tabpages/tpshadow.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'cui/source/tabpages/tpshadow.cxx')
-rw-r--r--cui/source/tabpages/tpshadow.cxx36
1 files changed, 32 insertions, 4 deletions
diff --git a/cui/source/tabpages/tpshadow.cxx b/cui/source/tabpages/tpshadow.cxx
index 84179d24f7bb..d2b1dca3ce28 100644
--- a/cui/source/tabpages/tpshadow.cxx
+++ b/cui/source/tabpages/tpshadow.cxx
@@ -19,7 +19,6 @@
#include <sfx2/app.hxx>
#include <sfx2/module.hxx>
-#include <svx/colorbox.hxx>
#include <svx/dialogs.hrc>
#include "svx/xattr.hxx"
@@ -183,8 +182,17 @@ void SvxShadowTabPage::dispose()
SvxTabPage::dispose();
}
+void SvxShadowTabPage::Construct()
+{
+ m_pLbShadowColor->Fill( m_pColorList );
+}
+
+
void SvxShadowTabPage::ActivatePage( const SfxItemSet& rSet )
{
+ sal_Int32 nPos;
+ sal_Int32 nCount;
+
const SfxUInt16Item* pPageTypeItem = rSet.GetItem<SfxUInt16Item>(SID_PAGE_TYPE, false);
if (pPageTypeItem)
SetPageType((PageType) pPageTypeItem->GetValue());
@@ -212,6 +220,18 @@ void SvxShadowTabPage::ActivatePage( const SfxItemSet& rSet )
}
}
+ // aLbShadowColor
+ nPos = m_pLbShadowColor->GetSelectEntryPos();
+ m_pLbShadowColor->Clear();
+ m_pLbShadowColor->Fill( m_pColorList );
+ nCount = m_pLbShadowColor->GetEntryCount();
+ if( nCount == 0 )
+ ; // this case should not occur
+ else if( nCount <= nPos )
+ m_pLbShadowColor->SelectEntryPos( 0 );
+ else
+ m_pLbShadowColor->SelectEntryPos( nPos );
+
SfxItemSet rAttribs( rSet );
// rSet contains shadow attributes too, but we want
// to use it for updating rectangle attributes only,
@@ -315,6 +335,9 @@ bool SvxShadowTabPage::FillItemSet( SfxItemSet* rAttrs )
}
// ShadowColor
+ sal_Int32 nPos = m_pLbShadowColor->GetSelectEntryPos();
+ if( nPos != LISTBOX_ENTRY_NOTFOUND &&
+ m_pLbShadowColor->IsValueChangedFromSaved() )
{
XColorItem aItem(makeSdrShadowColorItem(m_pLbShadowColor->GetSelectEntryColor()));
pOld = GetOldItem( *rAttrs, SDRATTR_SHADOWCOLOR );
@@ -465,11 +488,11 @@ IMPL_LINK_NOARG(SvxShadowTabPage, ClickShadowHdl_Impl, Button*, void)
ModifyShadowHdl_Impl( *m_pMtrTransparent );
}
-IMPL_LINK_NOARG(SvxShadowTabPage, SelectShadowHdl_Impl, SvxColorListBox&, void)
+
+IMPL_LINK_NOARG(SvxShadowTabPage, SelectShadowHdl_Impl, ListBox&, void)
{
ModifyShadowHdl_Impl(*m_pMtrTransparent);
}
-
IMPL_LINK_NOARG(SvxShadowTabPage, ModifyShadowHdl_Impl, Edit&, void)
{
if( m_pTsbShowShadow->GetState() == TRISTATE_TRUE )
@@ -477,7 +500,11 @@ IMPL_LINK_NOARG(SvxShadowTabPage, ModifyShadowHdl_Impl, Edit&, void)
else
m_rXFSet.Put( XFillStyleItem( drawing::FillStyle_NONE ) );
- m_rXFSet.Put( XFillColorItem( OUString(), m_pLbShadowColor->GetSelectEntryColor() ) );
+ sal_Int32 nPos = m_pLbShadowColor->GetSelectEntryPos();
+ if( nPos != LISTBOX_ENTRY_NOTFOUND )
+ {
+ m_rXFSet.Put( XFillColorItem( OUString(), m_pLbShadowColor->GetSelectEntryColor() ) );
+ }
sal_uInt16 nVal = (sal_uInt16)m_pMtrTransparent->GetValue();
XFillTransparenceItem aItem( nVal );
m_rXFSet.Put( XFillTransparenceItem( aItem ) );
@@ -526,6 +553,7 @@ void SvxShadowTabPage::PageCreated(const SfxAllItemSet& aSet)
SetPageType((PageType) pPageTypeItem->GetValue());
if (pDlgTypeItem)
SetDlgType(pDlgTypeItem->GetValue());
+ Construct();
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */