diff options
author | Rishabh Kumar <kris.kr296@gmail.com> | 2016-08-23 04:07:24 +0530 |
---|---|---|
committer | Katarina Behrens <Katarina.Behrens@cib.de> | 2016-08-26 12:12:14 +0000 |
commit | 2c2f0eaf6ae6f8b0e235e848b25959301d0941bd (patch) | |
tree | e452900ddf4d7b90c5c938df7a83ab001fd51a63 /cui | |
parent | c73592e38a075242bc90c5cb2119f163defdad25 (diff) |
[GSoC] Remove popup confirmation dialog in fill style tabs
Enable users to apply custom values without adding it to the preset list
Change-Id: Ida00c6eeb06e717a8aed30f4d230ab616c5b03dd
Reviewed-on: https://gerrit.libreoffice.org/28333
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Yousuf Philips <philipz85@hotmail.com>
Tested-by: Yousuf Philips <philipz85@hotmail.com>
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
Diffstat (limited to 'cui')
-rw-r--r-- | cui/source/inc/cuitabarea.hxx | 6 | ||||
-rw-r--r-- | cui/source/tabpages/tpcolor.cxx | 39 | ||||
-rw-r--r-- | cui/source/tabpages/tpgradnt.cxx | 95 | ||||
-rw-r--r-- | cui/source/tabpages/tphatch.cxx | 76 | ||||
-rw-r--r-- | cui/source/tabpages/tppattern.cxx | 50 |
5 files changed, 26 insertions, 240 deletions
diff --git a/cui/source/inc/cuitabarea.hxx b/cui/source/inc/cuitabarea.hxx index 0d65c261e691..ed510c092f99 100644 --- a/cui/source/inc/cuitabarea.hxx +++ b/cui/source/inc/cuitabarea.hxx @@ -413,7 +413,6 @@ private: DECL_LINK_TYPED( ModifiedSliderHdl_Impl, Slider*, void ); void ModifiedHdl_Impl(void*); - long CheckChanges_Impl(); void SetControlState_Impl( css::awt::GradientStyle eXGS ); sal_Int32 SearchGradientList(const OUString& rGradientName); @@ -496,7 +495,6 @@ private: DECL_LINK_TYPED( ClickRenameHdl_Impl, SvxPresetListBox*, void ); DECL_LINK_TYPED( ClickDeleteHdl_Impl, SvxPresetListBox*, void ); - long CheckChanges_Impl(); sal_Int32 SearchHatchList(const OUString& rHatchName); public: @@ -667,8 +665,6 @@ private: DECL_LINK_TYPED( ClickRenameHdl_Impl, SvxPresetListBox*, void ); DECL_LINK_TYPED( ClickDeleteHdl_Impl, SvxPresetListBox*, void ); - long CheckChanges_Impl(); - public: SvxPatternTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs ); virtual ~SvxPatternTabPage(); @@ -799,8 +795,6 @@ private: static sal_Int32 SearchColorList(OUString const & aColorName); DECL_LINK_TYPED( ModifiedHdl_Impl, Edit&, void ); - long CheckChanges_Impl(); - void UpdateModified(); css::uno::Reference< css::uno::XComponentContext > m_context; public: diff --git a/cui/source/tabpages/tpcolor.cxx b/cui/source/tabpages/tpcolor.cxx index 9571073ccfa4..696379c76564 100644 --- a/cui/source/tabpages/tpcolor.cxx +++ b/cui/source/tabpages/tpcolor.cxx @@ -303,9 +303,6 @@ void SvxColorTabPage::ActivatePage( const SfxItemSet& ) DeactivateRC SvxColorTabPage::DeactivatePage( SfxItemSet* _pSet ) { - if ( CheckChanges_Impl() == -1L ) - return DeactivateRC::KeepPage; - if( _pSet ) FillItemSet( _pSet ); @@ -313,42 +310,6 @@ DeactivateRC SvxColorTabPage::DeactivatePage( SfxItemSet* _pSet ) } -long SvxColorTabPage::CheckChanges_Impl() -{ - if( ColorToPercent_Impl( aCurrentColor.GetRed() ) != ColorToPercent_Impl( aPreviousColor.GetRed() ) || - ColorToPercent_Impl( aCurrentColor.GetGreen() ) != ColorToPercent_Impl( aPreviousColor.GetGreen() ) || - ColorToPercent_Impl( aCurrentColor.GetBlue() ) != ColorToPercent_Impl( aPreviousColor.GetBlue() ) ) - { - ResMgr& rMgr = CUI_MGR(); - Image aWarningBoxImage = WarningBox::GetStandardImage(); - ScopedVclPtrInstance<SvxMessDialog> aMessDlg( GetParentDialog(), - SVX_RESSTR( RID_SVXSTR_COLOR ), - ResId( RID_SVXSTR_ASK_CHANGE_COLOR, rMgr ), - &aWarningBoxImage ); - aMessDlg->SetButtonText( SvxMessDialogButton::N1, - ResId( RID_SVXSTR_CHANGE, rMgr ) ); - aMessDlg->SetButtonText( SvxMessDialogButton::N2, - ResId( RID_SVXSTR_ADD, rMgr ) ); - aMessDlg->DisableButton( SvxMessDialogButton::N1 ); - - short nRet = aMessDlg->Execute(); - - switch( nRet ) - { - case RET_BTN_2: - { - ClickAddHdl_Impl( nullptr ); - } - break; - - case RET_CANCEL: - break; - } - } - return 0; -} - - bool SvxColorTabPage::FillItemSet( SfxItemSet* rSet ) { if( ( nDlgType != 0 ) || diff --git a/cui/source/tabpages/tpgradnt.cxx b/cui/source/tabpages/tpgradnt.cxx index bb62b55fe29c..12cc67df15ad 100644 --- a/cui/source/tabpages/tpgradnt.cxx +++ b/cui/source/tabpages/tpgradnt.cxx @@ -254,9 +254,6 @@ void SvxGradientTabPage::ActivatePage( const SfxItemSet& ) DeactivateRC SvxGradientTabPage::DeactivatePage( SfxItemSet* _pSet ) { - if( CheckChanges_Impl() == -1L ) - return DeactivateRC::KeepPage; - if( _pSet ) FillItemSet( _pSet ); @@ -264,94 +261,28 @@ DeactivateRC SvxGradientTabPage::DeactivatePage( SfxItemSet* _pSet ) } -long SvxGradientTabPage::CheckChanges_Impl() -{ - // is used here in order to NOT lose changes - XGradient aTmpGradient( m_pLbColorFrom->GetSelectEntryColor(), - m_pLbColorTo->GetSelectEntryColor(), - (css::awt::GradientStyle) m_pLbGradientType->GetSelectEntryPos(), - static_cast<long>(m_pMtrAngle->GetValue() * 10), // should be changed in resource - (sal_uInt16) m_pMtrCenterX->GetValue(), - (sal_uInt16) m_pMtrCenterY->GetValue(), - (sal_uInt16) m_pMtrBorder->GetValue(), - (sal_uInt16) m_pMtrColorFrom->GetValue(), - (sal_uInt16) m_pMtrColorTo->GetValue() ); - - size_t nPos = m_pGradientLB->GetSelectItemPos(); - if( nPos != VALUESET_ITEM_NOTFOUND ) - { - XGradient aGradient = m_pGradientList->GetGradient(nPos)->GetGradient(); - - if( !( aTmpGradient == aGradient ) ) - { - ResMgr& rMgr = CUI_MGR(); - Image aWarningBoxImage = WarningBox::GetStandardImage(); - ScopedVclPtrInstance<SvxMessDialog> aMessDlg( GetParentDialog(), - SVX_RESSTR( RID_SVXSTR_GRADIENT ), - CUI_RESSTR( RID_SVXSTR_ASK_CHANGE_GRADIENT ), - &aWarningBoxImage ); - assert(aMessDlg && "Dialog creation failed!"); - aMessDlg->SetButtonText( SvxMessDialogButton::N1, - OUString( ResId( RID_SVXSTR_CHANGE, rMgr ) ) ); - aMessDlg->SetButtonText( SvxMessDialogButton::N2, - OUString( ResId( RID_SVXSTR_ADD, rMgr ) ) ); - - short nRet = aMessDlg->Execute(); - - switch( nRet ) - { - case RET_BTN_1: - { - ClickModifyHdl_Impl( nullptr ); - } - break; - - case RET_BTN_2: - { - ClickAddHdl_Impl( nullptr ); - } - break; - - case RET_CANCEL: - break; - } - } - } - nPos = m_pGradientLB->GetSelectItemPos(); - if( nPos != VALUESET_ITEM_NOTFOUND ) - { - *m_pPos = static_cast<sal_Int32>(nPos); - } - return 0L; -} - - bool SvxGradientTabPage::FillItemSet( SfxItemSet* rSet ) { if( m_nDlgType == 0 && *m_pPageType == PageType::Gradient && !*m_pbAreaTP ) { - // CheckChanges(); <-- duplicate inquiry ? - std::unique_ptr<XGradient> pXGradient; + pXGradient.reset(new XGradient( m_pLbColorFrom->GetSelectEntryColor(), + m_pLbColorTo->GetSelectEntryColor(), + (css::awt::GradientStyle) m_pLbGradientType->GetSelectEntryPos(), + static_cast<long>(m_pMtrAngle->GetValue() * 10), // should be changed in resource + (sal_uInt16) m_pMtrCenterX->GetValue(), + (sal_uInt16) m_pMtrCenterY->GetValue(), + (sal_uInt16) m_pMtrBorder->GetValue(), + (sal_uInt16) m_pMtrColorFrom->GetValue(), + (sal_uInt16) m_pMtrColorTo->GetValue() )); + OUString aString; size_t nPos = m_pGradientLB->GetSelectItemPos(); if( nPos != VALUESET_ITEM_NOTFOUND ) { - pXGradient.reset(new XGradient(m_pGradientList->GetGradient(nPos)->GetGradient())); - aString = m_pGradientLB->GetItemText( m_pGradientLB->GetSelectItemId() ); - } - else - // gradient was passed (unidentified) - { - pXGradient.reset(new XGradient( m_pLbColorFrom->GetSelectEntryColor(), - m_pLbColorTo->GetSelectEntryColor(), - (css::awt::GradientStyle) m_pLbGradientType->GetSelectEntryPos(), - static_cast<long>(m_pMtrAngle->GetValue() * 10), // should be changed in resource - (sal_uInt16) m_pMtrCenterX->GetValue(), - (sal_uInt16) m_pMtrCenterY->GetValue(), - (sal_uInt16) m_pMtrBorder->GetValue(), - (sal_uInt16) m_pMtrColorFrom->GetValue(), - (sal_uInt16) m_pMtrColorTo->GetValue() )); + XGradient aTmpGradient = m_pGradientList->GetGradient( static_cast<sal_uInt16>(nPos) )->GetGradient(); + if( *pXGradient == aTmpGradient ) + aString = m_pGradientLB->GetItemText( m_pGradientLB->GetSelectItemId() ); } sal_uInt16 nValue = 0; diff --git a/cui/source/tabpages/tphatch.cxx b/cui/source/tabpages/tphatch.cxx index a536aafb27d3..32abc8ed0ad9 100644 --- a/cui/source/tabpages/tphatch.cxx +++ b/cui/source/tabpages/tphatch.cxx @@ -255,9 +255,6 @@ void SvxHatchTabPage::ActivatePage( const SfxItemSet& rSet ) DeactivateRC SvxHatchTabPage::DeactivatePage( SfxItemSet* _pSet ) { - if ( CheckChanges_Impl() == -1L ) - return DeactivateRC::KeepPage; - if( _pSet ) FillItemSet( _pSet ); @@ -265,53 +262,6 @@ DeactivateRC SvxHatchTabPage::DeactivatePage( SfxItemSet* _pSet ) } -long SvxHatchTabPage::CheckChanges_Impl() -{ - if( m_pMtrDistance->IsValueChangedFromSaved() || - m_pMtrAngle->IsValueChangedFromSaved() || - m_pLbLineType->IsValueChangedFromSaved() || - m_pLbLineColor->IsValueChangedFromSaved() || - m_pHatchLB->IsValueChangedFromSaved() ) - { - ResMgr& rMgr = CUI_MGR(); - Image aWarningBoxImage = WarningBox::GetStandardImage(); - ScopedVclPtrInstance<SvxMessDialog> aMessDlg( GetParentDialog(), - SVX_RESSTR( RID_SVXSTR_HATCH ), - CUI_RESSTR( RID_SVXSTR_ASK_CHANGE_HATCH ), - &aWarningBoxImage ); - assert(aMessDlg && "Dialog creation failed!"); - aMessDlg->SetButtonText( SvxMessDialogButton::N1, - OUString( ResId( RID_SVXSTR_CHANGE, rMgr ) ) ); - aMessDlg->SetButtonText( SvxMessDialogButton::N2, - OUString( ResId( RID_SVXSTR_ADD, rMgr ) ) ); - - short nRet = aMessDlg->Execute(); - - switch( nRet ) - { - case RET_BTN_1: - { - ClickModifyHdl_Impl( nullptr ); - } - break; - - case RET_BTN_2: - { - ClickAddHdl_Impl( nullptr ); - } - break; - - case RET_CANCEL: - break; - } - } - - size_t nPos = m_pHatchLB->GetSelectItemPos(); - if( nPos != VALUESET_ITEM_NOTFOUND ) - *m_pPos = static_cast<sal_Int32>(nPos); - return 0L; -} - sal_Int32 SvxHatchTabPage::SearchHatchList(const OUString& rHatchName) { long nCount = m_pHatchingList->Count(); @@ -335,24 +285,22 @@ bool SvxHatchTabPage::FillItemSet( SfxItemSet* rSet ) { if( *m_pPageType == PageType::Hatch ) { - // CheckChanges(); <-- duplicate inquiry ? - std::unique_ptr<XHatch> pXHatch; + pXHatch.reset(new XHatch( m_pLbLineColor->GetSelectEntryColor(), + (css::drawing::HatchStyle) m_pLbLineType->GetSelectEntryPos(), + GetCoreValue( *m_pMtrDistance, m_ePoolUnit ), + static_cast<long>(m_pMtrAngle->GetValue() * 10) )); + OUString aString; - size_t nPos = m_pHatchLB->GetSelectItemPos(); - if( nPos != VALUESET_ITEM_NOTFOUND ) - { - pXHatch.reset(new XHatch(m_pHatchingList->GetHatch(nPos)->GetHatch())); - aString = m_pHatchLB->GetItemText( m_pHatchLB->GetSelectItemId() ); - } - // gradient has been (unidentifiedly) passed - else + if( !( m_pMtrDistance->IsValueChangedFromSaved() || + m_pMtrAngle->IsValueChangedFromSaved() || + m_pLbLineType->IsValueChangedFromSaved() || + m_pLbLineColor->IsValueChangedFromSaved() || + m_pHatchLB->IsValueChangedFromSaved() ) ) { - pXHatch.reset(new XHatch( m_pLbLineColor->GetSelectEntryColor(), - (css::drawing::HatchStyle) m_pLbLineType->GetSelectEntryPos(), - GetCoreValue( *m_pMtrDistance, m_ePoolUnit ), - static_cast<long>(m_pMtrAngle->GetValue() * 10) )); + aString = m_pHatchLB->GetItemText( m_pHatchLB->GetSelectItemId() );; } + assert( pXHatch && "XHatch couldn't be created" ); rSet->Put( XFillStyleItem( drawing::FillStyle_HATCH ) ); rSet->Put( XFillHatchItem( aString, *pXHatch ) ); diff --git a/cui/source/tabpages/tppattern.cxx b/cui/source/tabpages/tppattern.cxx index f76b04a7231c..1f0b9d841c94 100644 --- a/cui/source/tabpages/tppattern.cxx +++ b/cui/source/tabpages/tppattern.cxx @@ -245,9 +245,6 @@ void SvxPatternTabPage::ActivatePage( const SfxItemSet& ) DeactivateRC SvxPatternTabPage::DeactivatePage( SfxItemSet* _pSet) { - if ( CheckChanges_Impl() == -1L ) - return DeactivateRC::KeepPage; - if( _pSet ) FillItemSet( _pSet ); @@ -263,7 +260,7 @@ bool SvxPatternTabPage::FillItemSet( SfxItemSet* _rOutAttrs ) { _rOutAttrs->Put(XFillStyleItem(drawing::FillStyle_BITMAP)); size_t nPos = m_pPatternLB->GetSelectItemPos(); - if(VALUESET_ITEM_NOTFOUND != nPos) + if( !m_bPtrnChanged && VALUESET_ITEM_NOTFOUND != nPos) { const XBitmapEntry* pXBitmapEntry = m_pPatternList->GetBitmap(nPos); const OUString aString( m_pPatternLB->GetItemText( m_pPatternLB->GetSelectItemId() ) ); @@ -423,51 +420,6 @@ IMPL_LINK_NOARG_TYPED(SvxPatternTabPage, ChangePatternHdl_Impl, ValueSet*, void) } -long SvxPatternTabPage::CheckChanges_Impl() -{ - size_t nPos = m_pPatternLB->GetSelectItemPos(); - if( nPos != VALUESET_ITEM_NOTFOUND ) - { - if( m_bPtrnChanged ) - { - ResMgr& rMgr = CUI_MGR(); - Image aWarningBoxImage = WarningBox::GetStandardImage(); - ScopedVclPtrInstance<SvxMessDialog> aMessDlg( GetParentDialog(), - SVX_RES( RID_SVXSTR_PATTERN ), - CUI_RES( RID_SVXSTR_ASK_CHANGE_PATTERN ), - &aWarningBoxImage ); - assert(aMessDlg && "Dialog creation failed!"); - aMessDlg->SetButtonText( SvxMessDialogButton::N1, ResId( RID_SVXSTR_CHANGE, rMgr ) ); - aMessDlg->SetButtonText( SvxMessDialogButton::N2, ResId( RID_SVXSTR_ADD, rMgr ) ); - - short nRet = aMessDlg->Execute(); - - switch( nRet ) - { - case RET_BTN_1: - { - ClickModifyHdl_Impl( nullptr ); - } - break; - - case RET_BTN_2: - { - ClickAddHdl_Impl( nullptr ); - } - break; - - case RET_CANCEL: - break; - } - } - } - nPos = m_pPatternLB->GetSelectItemPos(); - if( nPos != VALUESET_ITEM_NOTFOUND ) - *m_pPos = static_cast<sal_Int32>(nPos); - return 0L; -} - - IMPL_LINK_NOARG_TYPED(SvxPatternTabPage, ClickAddHdl_Impl, Button*, void) { |