diff options
author | Eike Rathke <erack@redhat.com> | 2017-06-20 23:56:44 +0200 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2017-07-11 19:07:10 +0200 |
commit | 1096d1c237a2c4fc7497dd073d0f62bb01ffe925 (patch) | |
tree | 55a8fb36fd4d47b81fee19b0d6940190488b7f7d | |
parent | 4e461f61ac739c6b9ff38c247095ea69b9fb4e21 (diff) |
Resolves: tdf#105740 select without selecting.. tdf#101588 b0rk
The initial color, if determined, must result in being selected. Differentiate
between pre-selected and user-selected.
Regression of
commit 429be969b39867d6d9f36978c9ac15b601e78ba6
Date: Mon Dec 12 21:24:20 2016 +0100
Change-Id: I928af131d03c61a8e474e5cd356aea8b766112fa
(cherry picked from commit aee66aa85e75f67135e5c6079a281e18402d261a)
Reviewed-on: https://gerrit.libreoffice.org/39026
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
-rw-r--r-- | cui/source/inc/backgrnd.hxx | 1 | ||||
-rw-r--r-- | cui/source/tabpages/backgrnd.cxx | 12 |
2 files changed, 7 insertions, 6 deletions
diff --git a/cui/source/inc/backgrnd.hxx b/cui/source/inc/backgrnd.hxx index 18ec128078f7..d2663f3cd27e 100644 --- a/cui/source/inc/backgrnd.hxx +++ b/cui/source/inc/backgrnd.hxx @@ -107,6 +107,7 @@ private: bool bIsGraphicValid : 1; bool bLinkOnly : 1; bool bHighlighting : 1; + bool m_bColorSelected : 1; Graphic aBgdGraphic; OUString aBgdGraphicPath; OUString aBgdGraphicFilter; diff --git a/cui/source/tabpages/backgrnd.cxx b/cui/source/tabpages/backgrnd.cxx index 6f5d72bab35a..43d8fdd2eddb 100644 --- a/cui/source/tabpages/backgrnd.cxx +++ b/cui/source/tabpages/backgrnd.cxx @@ -330,6 +330,7 @@ SvxBackgroundTabPage::SvxBackgroundTabPage(vcl::Window* pParent, const SfxItemSe , bIsGraphicValid(false) , bLinkOnly(false) , bHighlighting(false) + , m_bColorSelected(false) , pPageImpl(new SvxBackgroundPage_Impl) , pImportDlg(nullptr) , pTableBck_Impl(nullptr) @@ -448,6 +449,8 @@ void SvxBackgroundTabPage::Reset( const SfxItemSet* rSet ) return; } + m_bColorSelected = false; + // condition of the preview button is persistent due to UserData OUString aUserData = GetUserData(); m_pBtnPreview->Check( !aUserData.isEmpty() && '1' == aUserData[0] ); @@ -684,7 +687,7 @@ bool SvxBackgroundTabPage::FillItemSet( SfxItemSet* rCoreSet ) { // Brush-treatment: if ( rOldItem.GetColor() != aBgdColor || - (SfxItemState::DEFAULT >= eOldItemState && !m_pBackgroundColorSet->IsNoSelection())) + (SfxItemState::DEFAULT >= eOldItemState && m_bColorSelected)) { bModified = true; rCoreSet->Put( SvxBrushItem( aBgdColor, nWhich ) ); @@ -1138,6 +1141,7 @@ IMPL_LINK_NOARG(SvxBackgroundTabPage, BackgroundColorHdl_Impl, ValueSet*, void) sal_uInt16 nItemId = m_pBackgroundColorSet->GetSelectItemId(); Color aColor = nItemId ? ( m_pBackgroundColorSet->GetItemColor( nItemId ) ) : Color( COL_TRANSPARENT ); aBgdColor = aColor; + m_bColorSelected = true; m_pPreviewWin1->NotifyChange( aBgdColor ); } @@ -1423,13 +1427,9 @@ void SvxBackgroundTabPage::FillControls_Impl( const SvxBrushItem& rBgdAttr, } else { - bool bNoSelection = m_pBackgroundColorSet->IsNoSelection(); m_pBackgroundColorSet->SelectItem( nCol ); - m_pBackgroundColorSet->SaveValue(); - // The actual selection is user set, not what we preset. - if (bNoSelection) - m_pBackgroundColorSet->SetNoSelection(); } + m_pBackgroundColorSet->SaveValue(); m_pPreviewWin1->NotifyChange( aBgdColor ); |