sw/source/ui/dialog/ascfldlg.cxx   |    7 +-
 sw/source/ui/dialog/macassgn.cxx   |    5 -
 sw/source/ui/dialog/uiregionsw.cxx |   93 +++++++++++++++++--------------------
 3 files changed, 49 insertions(+), 56 deletions(-)

New commits:
commit 5b218d2c85859209267844398b254b8db6fb9a7e
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Thu Mar 10 10:43:24 2022 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Thu Mar 10 17:45:30 2022 +0100

    use SfxItemSet::GetItemIfSet in sw/.../ui/dialog
    
    Change-Id: I00d7f154fff6e21527ba1f97e8c31cf3c1e508cb
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131302
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/sw/source/ui/dialog/ascfldlg.cxx b/sw/source/ui/dialog/ascfldlg.cxx
index 20f76efc4f12..1de09d99824b 100644
--- a/sw/source/ui/dialog/ascfldlg.cxx
+++ b/sw/source/ui/dialog/ascfldlg.cxx
@@ -78,14 +78,13 @@ SwAsciiFilterDlg::SwAsciiFilterDlg( weld::Window* pParent, 
SwDocShell& rDocSh,
             aUserItem >>= m_sExtraData;
         }
 
-        const SfxPoolItem* pItem;
+        const SfxStringItem* pItem;
         OUString sAsciiOptions;
         if( rDocSh.GetMedium() != nullptr &&
             rDocSh.GetMedium()->GetItemSet() != nullptr &&
-            SfxItemState::SET == 
rDocSh.GetMedium()->GetItemSet()->GetItemState(
-                SID_FILE_FILTEROPTIONS, true, &pItem ))
+            (pItem = rDocSh.GetMedium()->GetItemSet()->GetItemIfSet( 
SID_FILE_FILTEROPTIONS )))
         {
-            sAsciiOptions = static_cast<const 
SfxStringItem*>(pItem)->GetValue();
+            sAsciiOptions = pItem->GetValue();
         }
 
         const OUString sFindNm = OUString::createFromAscii(
diff --git a/sw/source/ui/dialog/macassgn.cxx b/sw/source/ui/dialog/macassgn.cxx
index 4e68c8ab8e8e..e4591970a0d1 100644
--- a/sw/source/ui/dialog/macassgn.cxx
+++ b/sw/source/ui/dialog/macassgn.cxx
@@ -120,10 +120,9 @@ bool SwMacroAssignDlg::INetFormatDlg(weld::Window* 
pParent, SwWrtShell& rSh,
     if ( pMacroDlg && pMacroDlg->Execute() == RET_OK )
     {
         const SfxItemSet* pOutSet = pMacroDlg->GetOutputItemSet();
-        const SfxPoolItem* pItem;
-        if( SfxItemState::SET == pOutSet->GetItemState( RES_FRMMACRO, false, 
&pItem ))
+        if( const SvxMacroItem* pItem = pOutSet->GetItemIfSet( RES_FRMMACRO, 
false ))
         {
-            *rpINetItem = static_cast<const 
SvxMacroItem*>(pItem)->GetMacroTable();
+            rpINetItem.emplace(pItem->GetMacroTable());
             bRet = true;
         }
     }
diff --git a/sw/source/ui/dialog/uiregionsw.cxx 
b/sw/source/ui/dialog/uiregionsw.cxx
index 6e45abc1c697..68182fa018d5 100644
--- a/sw/source/ui/dialog/uiregionsw.cxx
+++ b/sw/source/ui/dialog/uiregionsw.cxx
@@ -1028,49 +1028,47 @@ IMPL_LINK_NOARG(SwEditRegionDlg, OptionsHdl, 
weld::Button&, void)
     if( !(pOutSet && pOutSet->Count()) )
         return;
 
-    const SfxPoolItem *pColItem, *pBrushItem,
-                      *pFootnoteItem, *pEndItem, *pBalanceItem,
-                      *pFrameDirItem, *pLRSpaceItem;
-    SfxItemState eColState = pOutSet->GetItemState(
-                            RES_COL, false, &pColItem );
-    SfxItemState eBrushState = pOutSet->GetItemState(
-                            RES_BACKGROUND, false, &pBrushItem );
-    SfxItemState eFootnoteState = pOutSet->GetItemState(
-                            RES_FTN_AT_TXTEND, false, &pFootnoteItem );
-    SfxItemState eEndState = pOutSet->GetItemState(
-                            RES_END_AT_TXTEND, false, &pEndItem );
-    SfxItemState eBalanceState = pOutSet->GetItemState(
-                            RES_COLUMNBALANCE, false, &pBalanceItem );
-    SfxItemState eFrameDirState = pOutSet->GetItemState(
-                            RES_FRAMEDIR, false, &pFrameDirItem );
-    SfxItemState eLRState = pOutSet->GetItemState(
-                            RES_LR_SPACE, false, &pLRSpaceItem);
-
-    if( !(SfxItemState::SET == eColState ||
-        SfxItemState::SET == eBrushState ||
-        SfxItemState::SET == eFootnoteState ||
-        SfxItemState::SET == eEndState ||
-        SfxItemState::SET == eBalanceState||
-        SfxItemState::SET == eFrameDirState||
-        SfxItemState::SET == eLRState))
+    const SwFormatCol* pColItem = pOutSet->GetItemIfSet(
+                            RES_COL, false );
+    const SvxBrushItem* pBrushItem = pOutSet->GetItemIfSet(
+                            RES_BACKGROUND, false );
+    const SwFormatFootnoteAtTextEnd* pFootnoteItem = pOutSet->GetItemIfSet(
+                            RES_FTN_AT_TXTEND, false );
+    const SwFormatEndAtTextEnd* pEndItem = pOutSet->GetItemIfSet(
+                            RES_END_AT_TXTEND, false );
+    const SwFormatNoBalancedColumns* pBalanceItem = pOutSet->GetItemIfSet(
+                            RES_COLUMNBALANCE, false );
+    const SvxFrameDirectionItem* pFrameDirItem = pOutSet->GetItemIfSet(
+                            RES_FRAMEDIR, false );
+    const SvxLRSpaceItem* pLRSpaceItem = pOutSet->GetItemIfSet(
+                            RES_LR_SPACE, false );
+
+    if( !(pColItem ||
+          pBrushItem ||
+          pFootnoteItem ||
+          pEndItem ||
+          pBalanceItem ||
+          pFrameDirItem ||
+          pLRSpaceItem) )
         return;
 
-    m_xTree->selected_foreach([&](weld::TreeIter& rEntry){
+    m_xTree->selected_foreach([&](weld::TreeIter& rEntry)
+    {
         SectRepr* pRepr = weld::fromId<SectRepr*>(m_xTree->get_id(rEntry));
-        if( SfxItemState::SET == eColState )
-            pRepr->GetCol() = *static_cast<const SwFormatCol*>(pColItem);
-        if( SfxItemState::SET == eBrushState )
-            
pRepr->GetBackground().reset(static_cast<SvxBrushItem*>(pBrushItem->Clone()));
-        if( SfxItemState::SET == eFootnoteState )
-            pRepr->GetFootnoteNtAtEnd() = *static_cast<const 
SwFormatFootnoteAtTextEnd*>(pFootnoteItem);
-        if( SfxItemState::SET == eEndState )
-            pRepr->GetEndNtAtEnd() = *static_cast<const 
SwFormatEndAtTextEnd*>(pEndItem);
-        if( SfxItemState::SET == eBalanceState )
-            pRepr->GetBalance().SetValue(static_cast<const 
SwFormatNoBalancedColumns*>(pBalanceItem)->GetValue());
-        if( SfxItemState::SET == eFrameDirState )
-            pRepr->GetFrameDir()->SetValue(static_cast<const 
SvxFrameDirectionItem*>(pFrameDirItem)->GetValue());
-        if( SfxItemState::SET == eLRState )
-            
pRepr->GetLRSpace().reset(static_cast<SvxLRSpaceItem*>(pLRSpaceItem->Clone()));
+        if (pColItem)
+            pRepr->GetCol() = *pColItem;
+        if (pBrushItem)
+            pRepr->GetBackground().reset(pBrushItem->Clone());
+        if (pFootnoteItem)
+            pRepr->GetFootnoteNtAtEnd() = *pFootnoteItem;
+        if (pEndItem)
+            pRepr->GetEndNtAtEnd() = *pEndItem;
+        if (pBalanceItem)
+            pRepr->GetBalance().SetValue(pBalanceItem->GetValue());
+        if (pFrameDirItem)
+            pRepr->GetFrameDir()->SetValue(pFrameDirItem->GetValue());
+        if (pLRSpaceItem)
+            pRepr->GetLRSpace().reset(pLRSpaceItem->Clone());
         return false;
     });
 }
@@ -1281,9 +1279,8 @@ IMPL_LINK( SwEditRegionDlg, DlgClosedHdl, 
sfx2::FileDialogHelper *, _pFileDlg, v
         {
             sFileName = pMedium->GetURLObject().GetMainURL( 
INetURLObject::DecodeMechanism::NONE );
             sFilterName = pMedium->GetFilter()->GetFilterName();
-            const SfxPoolItem* pItem;
-            if ( SfxItemState::SET == pMedium->GetItemSet()->GetItemState( 
SID_PASSWORD, false, &pItem ) )
-                sPassword = static_cast<const SfxStringItem*>(pItem 
)->GetValue();
+            if ( const SfxStringItem* pItem = 
pMedium->GetItemSet()->GetItemIfSet( SID_PASSWORD, false ) )
+                sPassword = pItem->GetValue();
             ::lcl_ReadSections(*pMedium, *m_xSubRegionED);
         }
     }
@@ -1413,11 +1410,10 @@ short SwInsertSectionTabDialog::Ok()
     if ( xRecorder.is() )
     {
         SfxRequest aRequest( pViewFrame, FN_INSERT_REGION);
-        const SfxPoolItem* pCol;
-        if(SfxItemState::SET == pOutputItemSet->GetItemState(RES_COL, false, 
&pCol))
+        if(const SwFormatCol* pCol = pOutputItemSet->GetItemIfSet(RES_COL, 
false))
         {
             aRequest.AppendItem(SfxUInt16Item(SID_ATTR_COLUMNS,
-                static_cast<const SwFormatCol*>(pCol)->GetColumns().size()));
+                pCol->GetColumns().size()));
         }
         aRequest.AppendItem(SfxStringItem( FN_PARAM_REGION_NAME,
                     m_pSectionData->GetSectionName()));
@@ -1729,9 +1725,8 @@ IMPL_LINK( SwInsertSectionTabPage, DlgClosedHdl, 
sfx2::FileDialogHelper *, _pFil
         {
             m_sFileName = pMedium->GetURLObject().GetMainURL( 
INetURLObject::DecodeMechanism::NONE );
             m_sFilterName = pMedium->GetFilter()->GetFilterName();
-            const SfxPoolItem* pItem;
-            if ( SfxItemState::SET == pMedium->GetItemSet()->GetItemState( 
SID_PASSWORD, false, &pItem ) )
-                m_sFilePasswd = static_cast<const 
SfxStringItem*>(pItem)->GetValue();
+            if ( const SfxStringItem* pItem = 
pMedium->GetItemSet()->GetItemIfSet( SID_PASSWORD, false ) )
+                m_sFilePasswd = pItem->GetValue();
             m_xFileNameED->set_text( INetURLObject::decode(
                 m_sFileName, INetURLObject::DecodeMechanism::Unambiguous ) );
             ::lcl_ReadSections(*pMedium, *m_xSubRegionED);

Reply via email to