sc/source/ui/inc/navipi.hxx      |    5 ++---
 sc/source/ui/navipi/navcitem.cxx |    2 +-
 sc/source/ui/navipi/navipi.cxx   |   36 ++++++++++++++++++------------------
 3 files changed, 21 insertions(+), 22 deletions(-)

New commits:
commit 78ee3d4821904449a13de5451e0c1455a432e614
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Tue Apr 29 23:15:59 2025 +0200
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Wed Apr 30 13:56:41 2025 +0200

    ScNavigatorDlg: simplify a bit
    
    not need to have pViewData member
    
    Change-Id: Ia697f80421ffbbec36514c60a04087a55383d349
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184801
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/sc/source/ui/inc/navipi.hxx b/sc/source/ui/inc/navipi.hxx
index eed18028ec67..12c46f67a82a 100644
--- a/sc/source/ui/inc/navipi.hxx
+++ b/sc/source/ui/inc/navipi.hxx
@@ -112,7 +112,6 @@ private:
     OUString        aStrActiveWin;
 
     std::optional<ScArea> moMarkArea;
-    ScViewData*     pViewData;
 
     NavListMode     eListMode;
     sal_uInt16      nDropMode;
@@ -130,7 +129,7 @@ private:
     DECL_LINK(ToolBoxDropdownClickHdl, const OUString&, void);
     DECL_LINK(MenuSelectHdl, const OUString&, void);
     DECL_STATIC_LINK(ScNavigatorDlg, FormatRowOutputHdl, sal_Int64, OUString);
-    DECL_LINK(ParseRowInputHdl, const OUString&, std::optional<int>);
+    DECL_STATIC_LINK(ScNavigatorDlg, ParseRowInputHdl, const OUString&, 
std::optional<int>);
 
     void    UpdateButtons();
     void    SetCurrentCell( SCCOL nCol, SCROW Row );
@@ -144,7 +143,7 @@ private:
 
     SAL_RET_MAYBENULL static ScTabViewShell*  GetTabViewShell();
     static ScNavigatorSettings* GetNavigatorSettings();
-    ScViewData*             GetViewData();
+    static ScViewData* GetViewData();
 
     void    UpdateSheetLimits();
 
diff --git a/sc/source/ui/navipi/navcitem.cxx b/sc/source/ui/navipi/navcitem.cxx
index 871fbd445e9b..c77864e92b51 100644
--- a/sc/source/ui/navipi/navcitem.cxx
+++ b/sc/source/ui/navipi/navcitem.cxx
@@ -42,7 +42,7 @@ void ScNavigatorControllerItem::StateChangedAtToolBoxControl( 
sal_uInt16 /* nSID
         case SID_CURRENTCELL:
             if ( pItem )
             {
-                ScViewData* pViewData = rNavigatorDlg.GetViewData();
+                ScViewData* pViewData = ScNavigatorDlg::GetViewData();
                 const SfxStringItem* pCellPosItem = dynamic_cast<const 
SfxStringItem*>( pItem );
 
                 OSL_ENSURE( pCellPosItem, "SfxStringItem expected!" );
diff --git a/sc/source/ui/navipi/navipi.cxx b/sc/source/ui/navipi/navipi.cxx
index dd3727ac8fc6..b228745a3f9f 100644
--- a/sc/source/ui/navipi/navipi.cxx
+++ b/sc/source/ui/navipi/navipi.cxx
@@ -107,7 +107,7 @@ namespace
     }
 }
 
-IMPL_LINK(ScNavigatorDlg, ParseRowInputHdl, const OUString&, rStrCol, 
std::optional<int>)
+IMPL_STATIC_LINK(ScNavigatorDlg, ParseRowInputHdl, const OUString&, rStrCol, 
std::optional<int>)
 {
     SCCOL nCol(0);
 
@@ -328,7 +328,6 @@ ScNavigatorDlg::ScNavigatorDlg(SfxBindings* pB, 
weld::Widget* pParent, SfxNaviga
     , m_xNavigatorDlg(pNavigatorDlg)
     , aContentIdle("ScNavigatorDlg aContentIdle")
     , aStrActiveWin(ScResId(SCSTR_ACTIVEWIN))
-    , pViewData(nullptr )
     , eListMode(NAV_LMODE_NONE)
     , nDropMode(SC_DROPMODE_URL)
     , nCurCol(0)
@@ -574,8 +573,8 @@ void ScNavigatorDlg::SetCurrentCell( SCCOL nColNo, SCROW 
nRowNo )
     OUString aAddr(aScAddress.Format(ScRefFlags::ADDR_ABS));
 
     bool bUnmark = false;
-    if ( GetViewData() )
-        bUnmark = !pViewData->GetMarkData().IsCellMarked( nColNo, nRowNo );
+    if (ScViewData* pData = GetViewData())
+        bUnmark = !pData->GetMarkData().IsCellMarked( nColNo, nRowNo );
 
     SfxStringItem   aPosItem( SID_CURRENTCELL, aAddr );
     SfxBoolItem     aUnmarkItem( FN_PARAM_1, bUnmark );     // cancel selection
@@ -609,9 +608,11 @@ void ScNavigatorDlg::SetCurrentTable( SCTAB nTabNo )
 
 void ScNavigatorDlg::SetCurrentTableStr( std::u16string_view rName )
 {
-    if (!GetViewData()) return;
+    ScViewData* pData = GetViewData();
+    if(!pData)
+        return;
 
-    ScDocument& rDoc = pViewData->GetDocument();
+    ScDocument& rDoc = pData->GetDocument();
     SCTAB nCount = rDoc.GetTableCount();
     OUString aTabName;
     SCTAB nLastSheet = 0;
@@ -703,16 +704,15 @@ ScNavigatorSettings* 
ScNavigatorDlg::GetNavigatorSettings()
 ScViewData* ScNavigatorDlg::GetViewData()
 {
     ScTabViewShell* pViewSh = GetTabViewShell();
-    pViewData = pViewSh ? &pViewSh->GetViewData() : nullptr;
-    return pViewData;
+    return pViewSh ? &pViewSh->GetViewData() : nullptr;
 }
 
 void ScNavigatorDlg::UpdateColumn( const SCCOL* pCol )
 {
     if ( pCol )
         nCurCol = *pCol;
-    else if ( GetViewData() )
-        nCurCol = pViewData->GetCurX() + 1;
+    else if ( ScViewData* pData = GetViewData() )
+        nCurCol = pData->GetCurX() + 1;
 
     m_xEdCol->set_value(nCurCol);
 }
@@ -721,8 +721,8 @@ void ScNavigatorDlg::UpdateRow( const SCROW* pRow )
 {
     if ( pRow )
         nCurRow = *pRow;
-    else if ( GetViewData() )
-        nCurRow = pViewData->GetCurY() + 1;
+    else if ( ScViewData* pData = GetViewData() )
+        nCurRow = pData->GetCurY() + 1;
 
     m_xEdRow->set_value(nCurRow);
 }
@@ -731,8 +731,8 @@ void ScNavigatorDlg::UpdateTable( const SCTAB* pTab )
 {
     if ( pTab )
         nCurTab = *pTab;
-    else if ( GetViewData() )
-        nCurTab = pViewData->GetTabNo();
+    else if ( ScViewData* pData = GetViewData() )
+        nCurTab = pData->GetTabNo();
 }
 
 void ScNavigatorDlg::UpdateAll()
@@ -901,9 +901,9 @@ void ScNavigatorDlg::StartOfDataArea()
 {
     //  pMarkArea evaluate ???
 
-    if ( GetViewData() )
+    if (ScViewData* pData = GetViewData())
     {
-        ScMarkData& rMark = pViewData->GetMarkData();
+        ScMarkData& rMark = pData->GetMarkData();
         const ScRange& aMarkRange = rMark.GetMarkArea();
 
         SCCOL nCol = aMarkRange.aStart.Col();
@@ -918,9 +918,9 @@ void ScNavigatorDlg::EndOfDataArea()
 {
     //  pMarkArea evaluate ???
 
-    if ( GetViewData() )
+    if (ScViewData* pData = GetViewData())
     {
-        ScMarkData& rMark = pViewData->GetMarkData();
+        ScMarkData& rMark = pData->GetMarkData();
         const ScRange& aMarkRange = rMark.GetMarkArea();
 
         SCCOL nCol = aMarkRange.aEnd.Col();

Reply via email to