diff options
Diffstat (limited to 'sw/source/ui/table/tabledlg.cxx')
-rw-r--r-- | sw/source/ui/table/tabledlg.cxx | 343 |
1 files changed, 170 insertions, 173 deletions
diff --git a/sw/source/ui/table/tabledlg.cxx b/sw/source/ui/table/tabledlg.cxx index 3a27bb61b007..daedfffe46f1 100644 --- a/sw/source/ui/table/tabledlg.cxx +++ b/sw/source/ui/table/tabledlg.cxx @@ -31,7 +31,6 @@ #include <fmtpdsc.hxx> #include <fmtlsplt.hxx> -#include <svtools/htmlcfg.hxx> #include <fmtrowsplt.hxx> #include <sfx2/htmlmode.hxx> #include <sfx2/sfxdlg.hxx> @@ -56,6 +55,8 @@ #include <cmdid.h> #include <svx/dialogs.hrc> #include <svx/flagsdef.hxx> +#include <osl/diagnose.h> +#include <officecfg/Office/Common.hxx> #include <com/sun/star/text/HoriOrientation.hpp> #include <com/sun/star/text/VertOrientation.hpp> @@ -64,12 +65,12 @@ using namespace ::com::sun::star; SwFormatTablePage::SwFormatTablePage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rSet) : SfxTabPage(pPage, pController, "modules/swriter/ui/formattablepage.ui", "FormatTablePage", &rSet) - , pTableData(nullptr) - , nSaveWidth(0) - , nMinTableWidth(MINLAY) - , bModified(false) - , bFull(false) - , bHtmlMode(false) + , m_pTableData(nullptr) + , m_nSaveWidth(0) + , m_nMinTableWidth(MINLAY) + , m_bModified(false) + , m_bFull(false) + , m_bHtmlMode(false) , m_xNameED(m_xBuilder->weld_entry("name")) , m_xWidthFT(m_xBuilder->weld_label("widthft")) , m_xWidthMF(new SwPercentField(m_xBuilder->weld_metric_spin_button("widthmf", FieldUnit::CM))) @@ -107,12 +108,11 @@ SwFormatTablePage::SwFormatTablePage(weld::Container* pPage, weld::DialogControl SetExchangeSupport(); - const SfxPoolItem* pItem; - if(SfxItemState::SET == rSet.GetItemState(SID_HTML_MODE, false, &pItem)) - bHtmlMode = 0 != (static_cast<const SfxUInt16Item*>(pItem)->GetValue() & HTMLMODE_ON); + if(const SfxUInt16Item* pModeItem = rSet.GetItemIfSet(SID_HTML_MODE, false)) + m_bHtmlMode = 0 != (pModeItem->GetValue() & HTMLMODE_ON); - bool bCTL = SW_MOD()->GetCTLOptions().IsCTLFontEnabled(); - m_xProperties->set_visible(!bHtmlMode && bCTL); + bool bCTL = SvtCTLOptions::IsCTLFontEnabled(); + m_xProperties->set_visible(!m_bHtmlMode && bCTL); Init(); } @@ -127,7 +127,7 @@ void SwFormatTablePage::Init() m_xRightMF->SetMetricFieldMin(-999999); //handler - Link<weld::ToggleButton&,void> aLk2 = LINK( this, SwFormatTablePage, AutoClickHdl ); + Link<weld::Toggleable&,void> aLk2 = LINK( this, SwFormatTablePage, AutoClickHdl ); m_xFullBtn->connect_toggled( aLk2 ); m_xFreeBtn->connect_toggled( aLk2 ); m_xLeftBtn->connect_toggled( aLk2 ); @@ -145,9 +145,9 @@ void SwFormatTablePage::Init() m_xRelWidthCB->connect_toggled(LINK( this, SwFormatTablePage, RelWidthClickHdl )); } -IMPL_LINK( SwFormatTablePage, RelWidthClickHdl, weld::ToggleButton&, rBtn, void ) +IMPL_LINK( SwFormatTablePage, RelWidthClickHdl, weld::Toggleable&, rBtn, void ) { - OSL_ENSURE(pTableData, "table data not available?"); + OSL_ENSURE(m_pTableData, "table data not available?"); bool bIsChecked = rBtn.get_active(); sal_Int64 nLeft = m_xLeftMF->DenormalizePercent(m_xLeftMF->get_value(FieldUnit::TWIP)); sal_Int64 nRight = m_xRightMF->DenormalizePercent(m_xRightMF->get_value(FieldUnit::TWIP)); @@ -157,9 +157,9 @@ IMPL_LINK( SwFormatTablePage, RelWidthClickHdl, weld::ToggleButton&, rBtn, void if (bIsChecked) { - m_xWidthMF->SetRefValue(pTableData->GetSpace()); - m_xLeftMF->SetRefValue(pTableData->GetSpace()); - m_xRightMF->SetRefValue(pTableData->GetSpace()); + m_xWidthMF->SetRefValue(m_pTableData->GetSpace()); + m_xLeftMF->SetRefValue(m_pTableData->GetSpace()); + m_xRightMF->SetRefValue(m_pTableData->GetSpace()); m_xLeftMF->SetMetricFieldMin(0); //will be overwritten by the Percentfield m_xRightMF->SetMetricFieldMin(0); //ditto m_xLeftMF->SetMetricFieldMax(99); @@ -176,10 +176,10 @@ IMPL_LINK( SwFormatTablePage, RelWidthClickHdl, weld::ToggleButton&, rBtn, void m_xRightMF->set_sensitive(bEnable); m_xRightFT->set_sensitive(bEnable); } - bModified = true; + m_bModified = true; } -IMPL_LINK_NOARG(SwFormatTablePage, AutoClickHdl, weld::ToggleButton&, void) +IMPL_LINK_NOARG(SwFormatTablePage, AutoClickHdl, weld::Toggleable&, void) { bool bRestore = true, bLeftEnable = false, @@ -190,9 +190,9 @@ IMPL_LINK_NOARG(SwFormatTablePage, AutoClickHdl, weld::ToggleButton&, void) { m_xLeftMF->set_value(0); m_xRightMF->set_value(0); - nSaveWidth = static_cast<SwTwips>(m_xWidthMF->DenormalizePercent(m_xWidthMF->get_value(FieldUnit::TWIP))); - m_xWidthMF->set_value(m_xWidthMF->NormalizePercent(pTableData->GetSpace()), FieldUnit::TWIP); - bFull = true; + m_nSaveWidth = static_cast<SwTwips>(m_xWidthMF->DenormalizePercent(m_xWidthMF->get_value(FieldUnit::TWIP))); + m_xWidthMF->set_value(m_xWidthMF->NormalizePercent(m_pTableData->GetSpace()), FieldUnit::TWIP); + m_bFull = true; bRestore = false; } else if (m_xLeftBtn->get_active()) @@ -232,15 +232,15 @@ IMPL_LINK_NOARG(SwFormatTablePage, AutoClickHdl, weld::ToggleButton&, void) m_xRelWidthCB->set_sensitive(bWidthEnable); } - if(bFull && bRestore) + if(m_bFull && bRestore) { //After being switched on automatic, the width was pinned //in order to restore the width while switching back to. - bFull = false; - m_xWidthMF->set_value(m_xWidthMF->NormalizePercent(nSaveWidth ), FieldUnit::TWIP ); + m_bFull = false; + m_xWidthMF->set_value(m_xWidthMF->NormalizePercent(m_nSaveWidth ), FieldUnit::TWIP ); } ModifyHdl(*m_xWidthMF->get()); - bModified = true; + m_bModified = true; } void SwFormatTablePage::RightModify() @@ -279,7 +279,7 @@ void SwFormatTablePage::ModifyHdl(const weld::MetricSpinButton& rEdit, bool bAl { if( nCurWidth < MINLAY ) nCurWidth = MINLAY; - nDiff = nRight + nLeft + nCurWidth - pTableData->GetSpace() ; + nDiff = nRight + nLeft + nCurWidth - m_pTableData->GetSpace() ; //right aligned: only change the left margin if (m_xRightBtn->get_active()) nLeft -= nDiff; @@ -301,7 +301,7 @@ void SwFormatTablePage::ModifyHdl(const weld::MetricSpinButton& rEdit, bool bAl { nRight += nLeft - nDiff; nLeft = 0; - nCurWidth = pTableData->GetSpace(); + nCurWidth = m_pTableData->GetSpace(); } } } @@ -330,10 +330,10 @@ void SwFormatTablePage::ModifyHdl(const weld::MetricSpinButton& rEdit, bool bAl if (&rEdit == m_xRightMF->get()) { - if( nRight + nLeft > pTableData->GetSpace() - MINLAY ) - nRight = pTableData->GetSpace() -nLeft - MINLAY; + if( nRight + nLeft > m_pTableData->GetSpace() - MINLAY ) + nRight = m_pTableData->GetSpace() -nLeft - MINLAY; - nCurWidth = pTableData->GetSpace() - nLeft - nRight; + nCurWidth = m_pTableData->GetSpace() - nLeft - nRight; } if (&rEdit == m_xLeftMF->get()) { @@ -342,22 +342,22 @@ void SwFormatTablePage::ModifyHdl(const weld::MetricSpinButton& rEdit, bool bAl bool bCenter = m_xCenterBtn->get_active(); if( bCenter ) nRight = nLeft; - if(nRight + nLeft > pTableData->GetSpace() - MINLAY ) + if(nRight + nLeft > m_pTableData->GetSpace() - MINLAY ) { - nLeft = bCenter ? (pTableData->GetSpace() - MINLAY) /2 : - (pTableData->GetSpace() - MINLAY) - nRight; - nRight = bCenter ? (pTableData->GetSpace() - MINLAY) /2 : nRight; + nLeft = bCenter ? (m_pTableData->GetSpace() - MINLAY) /2 : + (m_pTableData->GetSpace() - MINLAY) - nRight; + nRight = bCenter ? (m_pTableData->GetSpace() - MINLAY) /2 : nRight; } - nCurWidth = pTableData->GetSpace() - nLeft - nRight; + nCurWidth = m_pTableData->GetSpace() - nLeft - nRight; } else { //Upon changes on the left side the right margin will be changed at first, //thereafter the width. - nDiff = nRight + nLeft + nCurWidth - pTableData->GetSpace() ; + nDiff = nRight + nLeft + nCurWidth - m_pTableData->GetSpace() ; nRight -= nDiff; - nCurWidth = pTableData->GetSpace() - nLeft - nRight; + nCurWidth = m_pTableData->GetSpace() - nLeft - nRight; } } @@ -377,7 +377,7 @@ void SwFormatTablePage::ModifyHdl(const weld::MetricSpinButton& rEdit, bool bAl ModifyHdl(rEdit, true); } - bModified = true; + m_bModified = true; } std::unique_ptr<SfxTabPage> SwFormatTablePage::Create(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet* rAttrSet) @@ -399,7 +399,7 @@ bool SwFormatTablePage::FillItemSet( SfxItemSet* rCoreSet ) else if (m_xBottomMF->has_focus()) ModifyHdl(*m_xBottomMF); - if (bModified) + if (m_bModified) { if (m_xBottomMF->get_value_changed_from_saved() || m_xTopMF->get_value_changed_from_saved() ) @@ -414,7 +414,7 @@ bool SwFormatTablePage::FillItemSet( SfxItemSet* rCoreSet ) if (m_xNameED->get_value_changed_from_saved()) { rCoreSet->Put(SfxStringItem(FN_PARAM_TABLE_NAME, m_xNameED->get_text())); - bModified = true; + m_bModified = true; } if (m_xTextDirectionLB->get_visible()) @@ -423,19 +423,18 @@ bool SwFormatTablePage::FillItemSet( SfxItemSet* rCoreSet ) { SvxFrameDirection nDirection = m_xTextDirectionLB->get_active_id(); rCoreSet->Put(SvxFrameDirectionItem(nDirection, RES_FRAMEDIR)); - bModified = true; + m_bModified = true; } } - return bModified; + return m_bModified; } void SwFormatTablePage::Reset( const SfxItemSet* ) { const SfxItemSet& rSet = GetItemSet(); - const SfxPoolItem* pItem; - if(bHtmlMode) + if(m_bHtmlMode) { m_xNameED->set_sensitive(false); m_xTopFT->hide(); @@ -454,7 +453,7 @@ void SwFormatTablePage::Reset( const SfxItemSet* ) m_xLeftMF->SetMetricFieldRange(m_nOrigLeftMin, m_nOrigLeftMax); m_xRightMF->SetMetricFieldRange(m_nOrigRightMin, m_nOrigRightMax); - FieldUnit aMetric = ::GetDfltMetric(bHtmlMode); + FieldUnit aMetric = ::GetDfltMetric(m_bHtmlMode); m_xWidthMF->SetMetric(aMetric); m_xRightMF->SetMetric(aMetric); m_xLeftMF->SetMetric(aMetric); @@ -462,51 +461,51 @@ void SwFormatTablePage::Reset( const SfxItemSet* ) SetFieldUnit(*m_xBottomMF, aMetric); //Name - if(SfxItemState::SET == rSet.GetItemState( FN_PARAM_TABLE_NAME, false, &pItem )) + if(const SfxStringItem* pNameItem = rSet.GetItemIfSet( FN_PARAM_TABLE_NAME, false )) { - m_xNameED->set_text(static_cast<const SfxStringItem*>(pItem)->GetValue()); + m_xNameED->set_text(pNameItem->GetValue()); m_xNameED->save_value(); } - if(SfxItemState::SET == rSet.GetItemState( FN_TABLE_REP, false, &pItem )) + if(const SwPtrItem* pRepItem = rSet.GetItemIfSet( FN_TABLE_REP, false )) { - pTableData = static_cast<SwTableRep*>(static_cast<const SwPtrItem*>( pItem)->GetValue()); + m_pTableData = static_cast<SwTableRep*>( pRepItem->GetValue()); if (!m_xOrigTableData) - m_xOrigTableData.reset(new SwTableRep(*pTableData)); + m_xOrigTableData.reset(new SwTableRep(*m_pTableData)); else // tdf#134925 and tdf#134913, reset back to the original data seen on dialog creation - *pTableData = *m_xOrigTableData; + *m_pTableData = *m_xOrigTableData; - nMinTableWidth = pTableData->GetColCount() * MINLAY; + m_nMinTableWidth = m_pTableData->GetColCount() * MINLAY; - if(pTableData->GetWidthPercent()) + if(m_pTableData->GetWidthPercent()) { m_xRelWidthCB->set_active(true); RelWidthClickHdl(*m_xRelWidthCB); - m_xWidthMF->set_value(pTableData->GetWidthPercent(), FieldUnit::PERCENT); + m_xWidthMF->set_value(m_pTableData->GetWidthPercent(), FieldUnit::PERCENT); m_xWidthMF->save_value(); - nSaveWidth = static_cast< SwTwips >(m_xWidthMF->get_value(FieldUnit::PERCENT)); + m_nSaveWidth = static_cast< SwTwips >(m_xWidthMF->get_value(FieldUnit::PERCENT)); } else { m_xWidthMF->set_value(m_xWidthMF->NormalizePercent( - pTableData->GetWidth()), FieldUnit::TWIP); + m_pTableData->GetWidth()), FieldUnit::TWIP); m_xWidthMF->save_value(); - nSaveWidth = pTableData->GetWidth(); - nMinTableWidth = std::min( nSaveWidth, nMinTableWidth ); + m_nSaveWidth = m_pTableData->GetWidth(); + m_nMinTableWidth = std::min( m_nSaveWidth, m_nMinTableWidth ); } - m_xWidthMF->SetRefValue(pTableData->GetSpace()); + m_xWidthMF->SetRefValue(m_pTableData->GetSpace()); m_xLeftMF->set_value(m_xLeftMF->NormalizePercent( - pTableData->GetLeftSpace()), FieldUnit::TWIP); + m_pTableData->GetLeftSpace()), FieldUnit::TWIP); m_xRightMF->set_value(m_xRightMF->NormalizePercent( - pTableData->GetRightSpace()), FieldUnit::TWIP); + m_pTableData->GetRightSpace()), FieldUnit::TWIP); m_xLeftMF->save_value(); m_xRightMF->save_value(); bool bSetRight = false, bSetLeft = false; - switch( pTableData->GetAlign() ) + switch( m_pTableData->GetAlign() ) { case text::HoriOrientation::NONE: m_xFreeBtn->set_active(true); @@ -561,52 +560,52 @@ void SwFormatTablePage::Reset( const SfxItemSet* ) } //Margins - if(SfxItemState::SET == rSet.GetItemState( RES_UL_SPACE, false,&pItem )) + if(const SvxULSpaceItem* pSpaceItem = rSet.GetItemIfSet( RES_UL_SPACE, false )) { m_xTopMF->set_value(m_xTopMF->normalize( - static_cast<const SvxULSpaceItem*>(pItem)->GetUpper()), FieldUnit::TWIP); + pSpaceItem->GetUpper()), FieldUnit::TWIP); m_xBottomMF->set_value(m_xBottomMF->normalize( - static_cast<const SvxULSpaceItem*>(pItem)->GetLower()), FieldUnit::TWIP); + pSpaceItem->GetLower()), FieldUnit::TWIP); m_xTopMF->save_value(); m_xBottomMF->save_value(); } //Text direction - if( SfxItemState::SET == rSet.GetItemState( RES_FRAMEDIR, true, &pItem ) ) + if( const SvxFrameDirectionItem* pDirectionItem = rSet.GetItemIfSet( RES_FRAMEDIR ) ) { - SvxFrameDirection nVal = static_cast<const SvxFrameDirectionItem*>(pItem)->GetValue(); + SvxFrameDirection nVal = pDirectionItem->GetValue(); m_xTextDirectionLB->set_active_id(nVal); m_xTextDirectionLB->save_value(); } - m_xWidthMF->set_max( 2*m_xWidthMF->NormalizePercent( pTableData->GetSpace() ), FieldUnit::TWIP ); - m_xRightMF->set_max( m_xRightMF->NormalizePercent( pTableData->GetSpace() ), FieldUnit::TWIP ); - m_xLeftMF->set_max( m_xLeftMF->NormalizePercent( pTableData->GetSpace() ), FieldUnit::TWIP ); - m_xWidthMF->set_min( m_xWidthMF->NormalizePercent( nMinTableWidth ), FieldUnit::TWIP ); + m_xWidthMF->set_max( 2*m_xWidthMF->NormalizePercent( m_pTableData->GetSpace() ), FieldUnit::TWIP ); + m_xRightMF->set_max( m_xRightMF->NormalizePercent( m_pTableData->GetSpace() ), FieldUnit::TWIP ); + m_xLeftMF->set_max( m_xLeftMF->NormalizePercent( m_pTableData->GetSpace() ), FieldUnit::TWIP ); + m_xWidthMF->set_min( m_xWidthMF->NormalizePercent( m_nMinTableWidth ), FieldUnit::TWIP ); } void SwFormatTablePage::ActivatePage( const SfxItemSet& rSet ) { - OSL_ENSURE(pTableData, "table data not available?"); + OSL_ENSURE(m_pTableData, "table data not available?"); if(SfxItemState::SET != rSet.GetItemState( FN_TABLE_REP )) return; - SwTwips nCurWidth = text::HoriOrientation::FULL != pTableData->GetAlign() ? - pTableData->GetWidth() : - pTableData->GetSpace(); - if(pTableData->GetWidthPercent() != 0 || + SwTwips nCurWidth = text::HoriOrientation::FULL != m_pTableData->GetAlign() ? + m_pTableData->GetWidth() : + m_pTableData->GetSpace(); + if(m_pTableData->GetWidthPercent() != 0 || nCurWidth == m_xWidthMF->DenormalizePercent(m_xWidthMF->get_value(FieldUnit::TWIP))) return; m_xWidthMF->set_value(m_xWidthMF->NormalizePercent( nCurWidth), FieldUnit::TWIP); m_xWidthMF->save_value(); - nSaveWidth = nCurWidth; + m_nSaveWidth = nCurWidth; m_xLeftMF->set_value(m_xLeftMF->NormalizePercent( - pTableData->GetLeftSpace()), FieldUnit::TWIP); + m_pTableData->GetLeftSpace()), FieldUnit::TWIP); m_xLeftMF->save_value(); m_xRightMF->set_value(m_xRightMF->NormalizePercent( - pTableData->GetRightSpace()), FieldUnit::TWIP); + m_pTableData->GetRightSpace()), FieldUnit::TWIP); m_xRightMF->save_value(); } @@ -626,7 +625,7 @@ DeactivateRC SwFormatTablePage::DeactivatePage( SfxItemSet* _pSet ) if(_pSet) { FillItemSet(_pSet); - if(bModified) + if(m_bModified) { SwTwips lLeft = static_cast< SwTwips >(m_xLeftMF->DenormalizePercent(m_xLeftMF->get_value(FieldUnit::TWIP))); SwTwips lRight = static_cast< SwTwips >(m_xRightMF->DenormalizePercent(m_xRightMF->get_value(FieldUnit::TWIP))); @@ -634,55 +633,55 @@ DeactivateRC SwFormatTablePage::DeactivatePage( SfxItemSet* _pSet ) if( m_xLeftMF->get_value_changed_from_saved() || m_xRightMF->get_value_changed_from_saved() ) { - pTableData->SetWidthChanged(); - pTableData->SetLeftSpace( lLeft); - pTableData->SetRightSpace( lRight); + m_pTableData->SetWidthChanged(); + m_pTableData->SetLeftSpace( lLeft); + m_pTableData->SetRightSpace( lRight); } SwTwips lWidth; if (m_xRelWidthCB->get_active() && m_xRelWidthCB->get_sensitive()) { - lWidth = pTableData->GetSpace() - lRight - lLeft; + lWidth = m_pTableData->GetSpace() - lRight - lLeft; const sal_uInt16 nPercentWidth = m_xWidthMF->get_value(FieldUnit::PERCENT); - if(pTableData->GetWidthPercent() != nPercentWidth) + if(m_pTableData->GetWidthPercent() != nPercentWidth) { - pTableData->SetWidthPercent(nPercentWidth); - pTableData->SetWidthChanged(); + m_pTableData->SetWidthPercent(nPercentWidth); + m_pTableData->SetWidthChanged(); } } else { - pTableData->SetWidthPercent(0); + m_pTableData->SetWidthPercent(0); lWidth = static_cast<SwTwips>(m_xWidthMF->DenormalizePercent(m_xWidthMF->get_value(FieldUnit::TWIP))); } - pTableData->SetWidth(lWidth); + m_pTableData->SetWidth(lWidth); SwTwips nColSum = 0; - for( sal_uInt16 i = 0; i < pTableData->GetColCount(); i++) + for( sal_uInt16 i = 0; i < m_pTableData->GetColCount(); i++) { - nColSum += pTableData->GetColumns()[i].nWidth; + nColSum += m_pTableData->GetColumns()[i].nWidth; } - if(nColSum != pTableData->GetWidth()) + if(nColSum != m_pTableData->GetWidth()) { SwTwips nMinWidth = std::min( tools::Long(MINLAY), - static_cast<tools::Long>(pTableData->GetWidth() / - pTableData->GetColCount() - 1)); - SwTwips nDiff = nColSum - pTableData->GetWidth(); - while ( std::abs(nDiff) > pTableData->GetColCount() + 1 ) + static_cast<tools::Long>(m_pTableData->GetWidth() / + m_pTableData->GetColCount() - 1)); + SwTwips nDiff = nColSum - m_pTableData->GetWidth(); + while ( std::abs(nDiff) > m_pTableData->GetColCount() + 1 ) { - SwTwips nSub = nDiff / pTableData->GetColCount(); - for( sal_uInt16 i = 0; i < pTableData->GetColCount(); i++) + SwTwips nSub = nDiff / m_pTableData->GetColCount(); + for( sal_uInt16 i = 0; i < m_pTableData->GetColCount(); i++) { - if(pTableData->GetColumns()[i].nWidth - nMinWidth > nSub) + if(m_pTableData->GetColumns()[i].nWidth - nMinWidth > nSub) { - pTableData->GetColumns()[i].nWidth -= nSub; + m_pTableData->GetColumns()[i].nWidth -= nSub; nDiff -= nSub; } else { - nDiff -= pTableData->GetColumns()[i].nWidth - nMinWidth; - pTableData->GetColumns()[i].nWidth = nMinWidth; + nDiff -= m_pTableData->GetColumns()[i].nWidth - nMinWidth; + m_pTableData->GetColumns()[i].nWidth = nMinWidth; } } @@ -705,20 +704,20 @@ DeactivateRC SwFormatTablePage::DeactivatePage( SfxItemSet* _pSet ) nAlign = text::HoriOrientation::FULL; lWidth = lAutoWidth; } - if(nAlign != pTableData->GetAlign()) + if(nAlign != m_pTableData->GetAlign()) { - pTableData->SetWidthChanged(); - pTableData->SetAlign(nAlign); + m_pTableData->SetWidthChanged(); + m_pTableData->SetAlign(nAlign); } - if(pTableData->GetWidth() != lWidth ) + if(m_pTableData->GetWidth() != lWidth ) { - pTableData->SetWidthChanged(); - pTableData->SetWidth( - nAlign == text::HoriOrientation::FULL ? pTableData->GetSpace() : lWidth ); + m_pTableData->SetWidthChanged(); + m_pTableData->SetWidth( + nAlign == text::HoriOrientation::FULL ? m_pTableData->GetSpace() : lWidth ); } - if(pTableData->HasWidthChanged()) - _pSet->Put(SwPtrItem(FN_TABLE_REP, pTableData)); + if(m_pTableData->HasWidthChanged()) + _pSet->Put(SwPtrItem(FN_TABLE_REP, m_pTableData)); } } return DeactivateRC::LeavePage; @@ -741,14 +740,12 @@ SwTableColumnPage::SwTableColumnPage(weld::Container* pPage, weld::DialogControl m_xBuilder->weld_metric_spin_button("width2", FieldUnit::CM), m_xBuilder->weld_metric_spin_button("width3", FieldUnit::CM), m_xBuilder->weld_metric_spin_button("width4", FieldUnit::CM), - m_xBuilder->weld_metric_spin_button("width5", FieldUnit::CM), - m_xBuilder->weld_metric_spin_button("width6", FieldUnit::CM) } + m_xBuilder->weld_metric_spin_button("width5", FieldUnit::CM)} , m_aTextArr { m_xBuilder->weld_label("1"), m_xBuilder->weld_label("2"), m_xBuilder->weld_label("3"), m_xBuilder->weld_label("4"), - m_xBuilder->weld_label("5"), - m_xBuilder->weld_label("6") } + m_xBuilder->weld_label("5")} , m_xModifyTableCB(m_xBuilder->weld_check_button("adaptwidth")) , m_xProportionalCB(m_xBuilder->weld_check_button("adaptcolumns")) , m_xSpaceFT(m_xBuilder->weld_label("spaceft")) @@ -764,9 +761,8 @@ SwTableColumnPage::SwTableColumnPage(weld::Container* pPage, weld::DialogControl // all the pages that currently exist and the rest to come after this one m_pSizeHdlEvent = Application::PostUserEvent(LINK(this, SwTableColumnPage, SizeHdl)); - const SfxPoolItem* pItem; - Init(SfxItemState::SET == GetItemSet().GetItemState(SID_HTML_MODE, false, &pItem) - && static_cast<const SfxUInt16Item*>(pItem)->GetValue() & HTMLMODE_ON); + const SfxUInt16Item* pModeItem = GetItemSet().GetItemIfSet(SID_HTML_MODE, false); + Init(pModeItem && pModeItem->GetValue() & HTMLMODE_ON); } IMPL_LINK_NOARG(SwTableColumnPage, SizeHdl, void*, void) @@ -790,6 +786,13 @@ IMPL_LINK_NOARG(SwTableColumnPage, SizeHdl, void*, void) break; } } + + // tdf#143142 m_nMetFields has been updated and we need to re-check whether to show right button or not. + if (m_nNoOfVisibleCols > m_nMetFields) + { + m_xUpBtn->set_sensitive(true); + } + } SwTableColumnPage::~SwTableColumnPage() @@ -810,10 +813,9 @@ void SwTableColumnPage::Reset( const SfxItemSet* ) { const SfxItemSet& rSet = GetItemSet(); - const SfxPoolItem* pItem; - if(SfxItemState::SET == rSet.GetItemState( FN_TABLE_REP, false, &pItem )) + if(const SwPtrItem* pRepItem = rSet.GetItemIfSet( FN_TABLE_REP, false )) { - m_pTableData = static_cast<SwTableRep*>(static_cast<const SwPtrItem*>( pItem)->GetValue()); + m_pTableData = static_cast<SwTableRep*>( pRepItem->GetValue()); if (!m_xOrigTableData) m_xOrigTableData.reset(new SwTableRep(*m_pTableData)); else // tdf#134925 and tdf#134913, reset back to the original data seen on dialog creation @@ -872,7 +874,7 @@ void SwTableColumnPage::Init(bool bWeb) m_xUpBtn->connect_clicked(aClickLk); m_xDownBtn->connect_clicked(aClickLk); - Link<weld::ToggleButton&,void> aToggleLk = LINK(this, SwTableColumnPage, ModeHdl); + Link<weld::Toggleable&,void> aToggleLk = LINK(this, SwTableColumnPage, ModeHdl); m_xModifyTableCB->connect_toggled(aToggleLk); m_xProportionalCB->connect_toggled(aToggleLk); } @@ -915,7 +917,7 @@ IMPL_LINK(SwTableColumnPage, ValueChangedHdl, weld::MetricSpinButton&, rEdit, vo ModifyHdl(&rEdit); } -IMPL_LINK(SwTableColumnPage, ModeHdl, weld::ToggleButton&, rBox, void) +IMPL_LINK(SwTableColumnPage, ModeHdl, weld::Toggleable&, rBox, void) { const bool bCheck = rBox.get_active(); if (&rBox == m_xProportionalCB.get()) @@ -1215,7 +1217,7 @@ void SwTableColumnPage::SetVisibleWidth(sal_uInt16 nPos, SwTwips nNewWidth) SwTableTabDlg::SwTableTabDlg(weld::Window* pParent, const SfxItemSet* pItemSet, SwWrtShell* pSh) : SfxTabDialogController(pParent, "modules/swriter/ui/tableproperties.ui", "TablePropertiesDialog", pItemSet) - , pShell(pSh) + , m_pShell(pSh) { SfxAbstractDialogFactory* pFact = SfxAbstractDialogFactory::Create(); AddTabPage("table", &SwFormatTablePage::Create, nullptr); @@ -1225,7 +1227,7 @@ SwTableTabDlg::SwTableTabDlg(weld::Window* pParent, const SfxItemSet* pItemSet, AddTabPage("borders", pFact->GetTabPageCreatorFunc(RID_SVXPAGE_BORDER), nullptr); } -void SwTableTabDlg::PageCreated(const OString& rId, SfxTabPage& rPage) +void SwTableTabDlg::PageCreated(const OUString& rId, SfxTabPage& rPage) { SfxAllItemSet aSet(*(GetInputSetImpl()->GetPool())); if (rId == "background") @@ -1241,8 +1243,8 @@ void SwTableTabDlg::PageCreated(const OString& rId, SfxTabPage& rPage) } else if (rId == "textflow") { - static_cast<SwTextFlowPage&>(rPage).SetShell(pShell); - const FrameTypeFlags eType = pShell->GetFrameType(nullptr,true); + static_cast<SwTextFlowPage&>(rPage).SetShell(m_pShell); + const FrameTypeFlags eType = m_pShell->GetFrameType(nullptr,true); if( !(FrameTypeFlags::BODY & eType) ) static_cast<SwTextFlowPage&>(rPage).DisablePageBreak(); } @@ -1250,9 +1252,9 @@ void SwTableTabDlg::PageCreated(const OString& rId, SfxTabPage& rPage) SwTextFlowPage::SwTextFlowPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rSet) : SfxTabPage(pPage, pController, "modules/swriter/ui/tabletextflowpage.ui", "TableTextFlowPage", &rSet) - , pShell(nullptr) - , bPageBreak(true) - , bHtmlMode(false) + , m_pShell(nullptr) + , m_bPageBreak(true) + , m_bHtmlMode(false) , m_xPgBrkCB(m_xBuilder->weld_check_button("break")) , m_xPgBrkRB(m_xBuilder->weld_radio_button("page")) , m_xColBrkRB(m_xBuilder->weld_radio_button("column")) @@ -1288,9 +1290,8 @@ SwTextFlowPage::SwTextFlowPage(weld::Container* pPage, weld::DialogController* p LINK(this, SwTextFlowPage, SplitHdl_Impl)); m_xHeadLineCB->connect_toggled(LINK(this, SwTextFlowPage, HeadLineCBClickHdl)); - const SfxPoolItem *pItem; - if(SfxItemState::SET == rSet.GetItemState( SID_HTML_MODE, false,&pItem ) - && static_cast<const SfxUInt16Item*>(pItem)->GetValue() & HTMLMODE_ON) + const SfxUInt16Item *pModeItem = rSet.GetItemIfSet( SID_HTML_MODE, false ); + if(pModeItem && pModeItem->GetValue() & HTMLMODE_ON) { m_xKeepCB->hide(); m_xSplitCB->hide(); @@ -1348,7 +1349,7 @@ bool SwTextFlowPage::FillItemSet( SfxItemSet* rSet ) { sPage = m_xPageCollLB->get_active_text(); } - sal_uInt16 nPgNum = static_cast<sal_uInt16>(m_xPageNoNF->get_value()); + sal_uInt16 nPgNum = o3tl::narrowing<sal_uInt16>(m_xPageNoNF->get_value()); bool const usePageNo(bState && m_xPageNoCB->get_active()); std::optional<sal_uInt16> const oPageNum( usePageNo ? nPgNum : std::optional<sal_Int16>()); @@ -1356,7 +1357,7 @@ bool SwTextFlowPage::FillItemSet( SfxItemSet* rSet ) || (pDesc->GetPageDesc()->GetName() != sPage) || (pDesc->GetNumOffset() != oPageNum)) { - SwFormatPageDesc aFormat( pShell->FindPageDescByName( sPage, true ) ); + SwFormatPageDesc aFormat( m_pShell->FindPageDescByName( sPage, true ) ); aFormat.SetNumOffset(oPageNum); bModified |= nullptr != rSet->Put( aFormat ); bPageItemPut = bState; @@ -1426,17 +1427,15 @@ bool SwTextFlowPage::FillItemSet( SfxItemSet* rSet ) void SwTextFlowPage::Reset( const SfxItemSet* rSet ) { - const SfxPoolItem* pItem; - SvxHtmlOptions& rHtmlOpt = SvxHtmlOptions::Get(); - bool bFlowAllowed = !bHtmlMode || rHtmlOpt.IsPrintLayoutExtension(); + bool bFlowAllowed = !m_bHtmlMode || officecfg::Office::Common::Filter::HTML::Export::PrintLayout::get(); if(bFlowAllowed) { //Inserting of the existing page templates in the list box - const size_t nCount = pShell->GetPageDescCnt(); + const size_t nCount = m_pShell->GetPageDescCnt(); for( size_t i = 0; i < nCount; ++i) { - const SwPageDesc &rPageDesc = pShell->GetPageDesc(i); + const SwPageDesc &rPageDesc = m_pShell->GetPageDesc(i); m_xPageCollLB->append_text(rPageDesc.GetName()); } @@ -1448,14 +1447,14 @@ void SwTextFlowPage::Reset( const SfxItemSet* rSet ) m_xPageCollLB->append_text(aFormatName); } - if(SfxItemState::SET == rSet->GetItemState( RES_KEEP, false, &pItem )) + if(const SvxFormatKeepItem* pKeepItem = rSet->GetItemIfSet( RES_KEEP, false )) { - m_xKeepCB->set_active( static_cast<const SvxFormatKeepItem*>(pItem)->GetValue() ); + m_xKeepCB->set_active( pKeepItem->GetValue() ); m_xKeepCB->save_state(); } - if(SfxItemState::SET == rSet->GetItemState( RES_LAYOUT_SPLIT, false, &pItem )) + if(const SwFormatLayoutSplit* pSplitItem = rSet->GetItemIfSet( RES_LAYOUT_SPLIT, false )) { - m_xSplitCB->set_active( static_cast<const SwFormatLayoutSplit*>(pItem)->GetValue() ); + m_xSplitCB->set_active( pSplitItem->GetValue() ); } else m_xSplitCB->set_active(true); @@ -1463,22 +1462,22 @@ void SwTextFlowPage::Reset( const SfxItemSet* rSet ) m_xSplitCB->save_state(); SplitHdl_Impl(*m_xSplitCB); - if(SfxItemState::SET == rSet->GetItemState( RES_ROW_SPLIT, false, &pItem )) + if(const SwFormatRowSplit* pSplitItem = rSet->GetItemIfSet( RES_ROW_SPLIT, false )) { - m_xSplitRowCB->set_active( static_cast<const SwFormatRowSplit*>(pItem)->GetValue() ); + m_xSplitRowCB->set_active( pSplitItem->GetValue() ); } else m_xSplitRowCB->set_state(TRISTATE_INDET); m_xSplitRowCB->save_state(); - if(bPageBreak) + if(m_bPageBreak) { - if(SfxItemState::SET == rSet->GetItemState( RES_PAGEDESC, false, &pItem )) + if(const SwFormatPageDesc* pPageDescItem = rSet->GetItemIfSet( RES_PAGEDESC, false )) { OUString sPageDesc; - const SwPageDesc* pDesc = static_cast<const SwFormatPageDesc*>(pItem)->GetPageDesc(); + const SwPageDesc* pDesc = pPageDescItem->GetPageDesc(); - ::std::optional<sal_uInt16> oNumOffset = static_cast<const SwFormatPageDesc*>(pItem)->GetNumOffset(); + ::std::optional<sal_uInt16> oNumOffset = pPageDescItem->GetNumOffset(); if (oNumOffset) { m_xPageNoCB->set_active(true); @@ -1517,9 +1516,8 @@ void SwTextFlowPage::Reset( const SfxItemSet* rSet ) } } - if(SfxItemState::SET == rSet->GetItemState( RES_BREAK, false, &pItem )) + if(const SvxFormatBreakItem* pPageBreak = rSet->GetItemIfSet( RES_BREAK, false )) { - const SvxFormatBreakItem* pPageBreak = static_cast<const SvxFormatBreakItem*>(pItem); SvxBreak eBreak = pPageBreak->GetBreak(); if ( eBreak != SvxBreak::NONE ) @@ -1580,9 +1578,9 @@ void SwTextFlowPage::Reset( const SfxItemSet* rSet ) m_xPageCollLB->set_sensitive(false); } - if(SfxItemState::SET == rSet->GetItemState( FN_PARAM_TABLE_HEADLINE, false, &pItem )) + if(const SfxUInt16Item* pHeadlineItem = rSet->GetItemIfSet( FN_PARAM_TABLE_HEADLINE, false )) { - sal_uInt16 nRep = static_cast<const SfxUInt16Item*>(pItem)->GetValue(); + sal_uInt16 nRep = pHeadlineItem->GetValue(); m_xHeadLineCB->set_active(nRep > 0); m_xHeadLineCB->save_state(); m_xRepeatHeaderNF->set_value(nRep); @@ -1591,14 +1589,13 @@ void SwTextFlowPage::Reset( const SfxItemSet* rSet ) } if ( rSet->GetItemState(FN_TABLE_BOX_TEXTORIENTATION) > SfxItemState::DEFAULT ) { - SvxFrameDirection nDirection = - static_cast<const SvxFrameDirectionItem&>(rSet->Get(FN_TABLE_BOX_TEXTORIENTATION)).GetValue(); + SvxFrameDirection nDirection = rSet->Get(FN_TABLE_BOX_TEXTORIENTATION).GetValue(); m_xTextDirectionLB->set_active_id(OUString::number(static_cast<sal_uInt32>(nDirection))); } if ( rSet->GetItemState(FN_TABLE_SET_VERT_ALIGN) > SfxItemState::DEFAULT ) { - sal_uInt16 nVert = static_cast<const SfxUInt16Item&>(rSet->Get(FN_TABLE_SET_VERT_ALIGN)).GetValue(); + sal_uInt16 nVert = rSet->Get(FN_TABLE_SET_VERT_ALIGN).GetValue(); sal_uInt16 nPos = 0; switch(nVert) { @@ -1626,16 +1623,16 @@ void SwTextFlowPage::Reset( const SfxItemSet* rSet ) void SwTextFlowPage::SetShell(SwWrtShell* pSh) { - pShell = pSh; - bHtmlMode = 0 != (::GetHtmlMode(pShell->GetView().GetDocShell()) & HTMLMODE_ON); - if(bHtmlMode) + m_pShell = pSh; + m_bHtmlMode = 0 != (::GetHtmlMode(m_pShell->GetView().GetDocShell()) & HTMLMODE_ON); + if(m_bHtmlMode) { m_xPageNoNF->set_sensitive(false); m_xPageNoCB->set_sensitive(false); } } -IMPL_LINK_NOARG(SwTextFlowPage, PageBreakHdl_Impl, weld::ToggleButton&, void) +IMPL_LINK_NOARG(SwTextFlowPage, PageBreakHdl_Impl, weld::Toggleable&, void) { if (m_xPgBrkCB->get_active()) { @@ -1650,7 +1647,7 @@ IMPL_LINK_NOARG(SwTextFlowPage, PageBreakHdl_Impl, weld::ToggleButton&, void) bool bEnable = m_xPageCollCB->get_active() && m_xPageCollLB->get_count(); m_xPageCollLB->set_sensitive(bEnable); - if (!bHtmlMode) + if (!m_bHtmlMode) { m_xPageNoCB->set_sensitive(bEnable); m_xPageNoNF->set_sensitive(bEnable && m_xPageNoCB->get_active()); @@ -1671,7 +1668,7 @@ IMPL_LINK_NOARG(SwTextFlowPage, PageBreakHdl_Impl, weld::ToggleButton&, void) } } -IMPL_LINK_NOARG(SwTextFlowPage, ApplyCollClickHdl_Impl, weld::ToggleButton&, void) +IMPL_LINK_NOARG(SwTextFlowPage, ApplyCollClickHdl_Impl, weld::Toggleable&, void) { bool bEnable = false; if (m_xPageCollCB->get_active() && m_xPageCollLB->get_count()) @@ -1684,14 +1681,14 @@ IMPL_LINK_NOARG(SwTextFlowPage, ApplyCollClickHdl_Impl, weld::ToggleButton&, voi m_xPageCollLB->set_active(-1); } m_xPageCollLB->set_sensitive(bEnable); - if (!bHtmlMode) + if (!m_bHtmlMode) { m_xPageNoCB->set_sensitive(bEnable); m_xPageNoNF->set_sensitive(bEnable && m_xPageNoCB->get_active()); } } -IMPL_LINK_NOARG(SwTextFlowPage, PageBreakPosHdl_Impl, weld::ToggleButton&, void) +IMPL_LINK_NOARG(SwTextFlowPage, PageBreakPosHdl_Impl, weld::Toggleable&, void) { if (!m_xPgBrkCB->get_active()) return; @@ -1703,7 +1700,7 @@ IMPL_LINK_NOARG(SwTextFlowPage, PageBreakPosHdl_Impl, weld::ToggleButton&, void) bool bEnable = m_xPageCollCB->get_active() && m_xPageCollLB->get_count(); m_xPageCollLB->set_sensitive(bEnable); - if (!bHtmlMode) + if (!m_bHtmlMode) { m_xPageNoCB->set_sensitive(bEnable); m_xPageNoNF->set_sensitive(bEnable && m_xPageNoCB->get_active()); @@ -1719,7 +1716,7 @@ IMPL_LINK_NOARG(SwTextFlowPage, PageBreakPosHdl_Impl, weld::ToggleButton&, void) } } -IMPL_LINK_NOARG(SwTextFlowPage, PageBreakTypeHdl_Impl, weld::ToggleButton&, void) +IMPL_LINK_NOARG(SwTextFlowPage, PageBreakTypeHdl_Impl, weld::Toggleable&, void) { if (m_xColBrkRB->get_active() || m_xPgBrkAfterRB->get_active()) { @@ -1733,24 +1730,24 @@ IMPL_LINK_NOARG(SwTextFlowPage, PageBreakTypeHdl_Impl, weld::ToggleButton&, void PageBreakPosHdl_Impl(*m_xPgBrkBeforeRB); } -IMPL_LINK_NOARG(SwTextFlowPage, PageNoClickHdl_Impl, weld::ToggleButton&, void) +IMPL_LINK_NOARG(SwTextFlowPage, PageNoClickHdl_Impl, weld::Toggleable&, void) { m_xPageNoNF->set_sensitive(m_xPageNoCB->get_active()); } -IMPL_LINK(SwTextFlowPage, SplitHdl_Impl, weld::ToggleButton&, rBox, void) +IMPL_LINK(SwTextFlowPage, SplitHdl_Impl, weld::Toggleable&, rBox, void) { m_xSplitRowCB->set_sensitive(rBox.get_active()); } -IMPL_LINK_NOARG(SwTextFlowPage, HeadLineCBClickHdl, weld::ToggleButton&, void) +IMPL_LINK_NOARG(SwTextFlowPage, HeadLineCBClickHdl, weld::Toggleable&, void) { m_xRepeatHeaderCombo->set_sensitive(m_xHeadLineCB->get_active()); } void SwTextFlowPage::DisablePageBreak() { - bPageBreak = false; + m_bPageBreak = false; m_xPgBrkCB->set_sensitive(false); m_xPgBrkRB->set_sensitive(false); m_xColBrkRB->set_sensitive(false); |