[Libreoffice-commits] .: sc/source

Markus Mohrhard mmohrhard at kemper.freedesktop.org
Sun Jul 29 22:53:00 PDT 2012


 sc/source/core/data/documen2.cxx |  134 +++++++++++++++++++--------------------
 1 file changed, 66 insertions(+), 68 deletions(-)

New commits:
commit 7c4e057b14c1d7325890297730e6cf710c128bf0
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Sat Jul 28 12:14:09 2012 +0200

    small code cleanup
    
    Change-Id: I2340015e70f5ce3d6f85266fcd12fa26129864e8

diff --git a/sc/source/core/data/documen2.cxx b/sc/source/core/data/documen2.cxx
index 1a49d63..526655b 100644
--- a/sc/source/core/data/documen2.cxx
+++ b/sc/source/core/data/documen2.cxx
@@ -396,11 +396,8 @@ ScDocument::~ScDocument()
     delete pBASM;       // BroadcastAreaSlotMachine
     pBASM = NULL;
 
-    if (pUnoBroadcaster)
-    {
-        delete pUnoBroadcaster;     // broadcasted nochmal SFX_HINT_DYING
-        pUnoBroadcaster = NULL;
-    }
+    delete pUnoBroadcaster;     // broadcasted nochmal SFX_HINT_DYING
+    pUnoBroadcaster = NULL;
 
     delete pUnoRefUndoList;
     delete pUnoListenerCalls;
@@ -702,70 +699,72 @@ bool ScDocument::GetDataStart( SCTAB nTab, SCCOL& rStartCol, SCROW& rStartRow )
 
 bool ScDocument::MoveTab( SCTAB nOldPos, SCTAB nNewPos, ScProgress* pProgress )
 {
-    if (nOldPos == nNewPos) return false;
-    bool bValid = false;
+    if (nOldPos == nNewPos)
+        return false;
+
     SCTAB nTabCount = static_cast<SCTAB>(maTabs.size());
+    if(nTabCount < 2)
+        return false;
+
+    bool bValid = false;
     if (VALIDTAB(nOldPos) && nOldPos < nTabCount )
     {
         if (maTabs[nOldPos])
         {
-            if (nTabCount > 1)
-            {
-                bool bOldAutoCalc = GetAutoCalc();
-                SetAutoCalc( false );   // Mehrfachberechnungen vermeiden
-                SetNoListening( true );
-                if (nNewPos == SC_TAB_APPEND || nNewPos >= nTabCount)
-                    nNewPos = nTabCount-1;
-
-                //  Referenz-Updaterei
-                //! mit UpdateReference zusammenfassen!
-
-                SCsTAB nDz = ((SCsTAB)nNewPos) - (SCsTAB)nOldPos;
-                ScRange aSourceRange( 0,0,nOldPos, MAXCOL,MAXROW,nOldPos );
-                if (pRangeName)
-                    pRangeName->UpdateTabRef(nOldPos, 3, nNewPos);
-                pDBCollection->UpdateMoveTab( nOldPos, nNewPos );
-                xColNameRanges->UpdateReference( URM_REORDER, this, aSourceRange, 0,0,nDz );
-                xRowNameRanges->UpdateReference( URM_REORDER, this, aSourceRange, 0,0,nDz );
-                if (pDPCollection)
-                    pDPCollection->UpdateReference( URM_REORDER, aSourceRange, 0,0,nDz );
-                if (pDetOpList)
-                    pDetOpList->UpdateReference( this, URM_REORDER, aSourceRange, 0,0,nDz );
-                UpdateChartRef( URM_REORDER,
-                                    0,0,nOldPos, MAXCOL,MAXROW,nOldPos, 0,0,nDz );
-                UpdateRefAreaLinks( URM_REORDER, aSourceRange, 0,0,nDz );
-                if ( pValidationList )
-                    pValidationList->UpdateMoveTab( nOldPos, nNewPos );
-                if ( pUnoBroadcaster )
-                    pUnoBroadcaster->Broadcast( ScUpdateRefHint( URM_REORDER,
-                                    aSourceRange, 0,0,nDz ) );
-
-                ScTable* pSaveTab = maTabs[nOldPos];
-                maTabs.erase(maTabs.begin()+nOldPos);
-                maTabs.insert(maTabs.begin()+nNewPos, pSaveTab);
-                TableContainer::iterator it = maTabs.begin();
-                for (SCTAB i = 0; i < nTabCount; i++)
-                    if (maTabs[i])
-                        maTabs[i]->UpdateMoveTab( nOldPos, nNewPos, i, pProgress );
-                it = maTabs.begin();
-                for (; it != maTabs.end(); ++it)
-                    if (*it)
-                        (*it)->UpdateCompile();
-                SetNoListening( false );
-                it = maTabs.begin();
-                for (; it != maTabs.end(); ++it)
-                    if (*it)
-                        (*it)->StartAllListeners();
-                // sheet names of references may not be valid until sheet is moved
-                pChartListenerCollection->UpdateScheduledSeriesRanges();
-                SetDirty();
-                SetAutoCalc( bOldAutoCalc );
-
-                if (pDrawLayer)
-                    DrawMovePage( static_cast<sal_uInt16>(nOldPos), static_cast<sal_uInt16>(nNewPos) );
-
-                bValid = true;
-            }
+            bool bOldAutoCalc = GetAutoCalc();
+            SetAutoCalc( false );   // Mehrfachberechnungen vermeiden
+            SetNoListening( true );
+            if (nNewPos == SC_TAB_APPEND || nNewPos >= nTabCount)
+                nNewPos = nTabCount-1;
+
+            //  Referenz-Updaterei
+            //! mit UpdateReference zusammenfassen!
+
+            SCsTAB nDz = ((SCsTAB)nNewPos) - (SCsTAB)nOldPos;
+            ScRange aSourceRange( 0,0,nOldPos, MAXCOL,MAXROW,nOldPos );
+            if (pRangeName)
+                pRangeName->UpdateTabRef(nOldPos, 3, nNewPos);
+            pDBCollection->UpdateMoveTab( nOldPos, nNewPos );
+            xColNameRanges->UpdateReference( URM_REORDER, this, aSourceRange, 0,0,nDz );
+            xRowNameRanges->UpdateReference( URM_REORDER, this, aSourceRange, 0,0,nDz );
+            if (pDPCollection)
+                pDPCollection->UpdateReference( URM_REORDER, aSourceRange, 0,0,nDz );
+            if (pDetOpList)
+                pDetOpList->UpdateReference( this, URM_REORDER, aSourceRange, 0,0,nDz );
+            UpdateChartRef( URM_REORDER,
+                    0,0,nOldPos, MAXCOL,MAXROW,nOldPos, 0,0,nDz );
+            UpdateRefAreaLinks( URM_REORDER, aSourceRange, 0,0,nDz );
+            if ( pValidationList )
+                pValidationList->UpdateMoveTab( nOldPos, nNewPos );
+            if ( pUnoBroadcaster )
+                pUnoBroadcaster->Broadcast( ScUpdateRefHint( URM_REORDER,
+                            aSourceRange, 0,0,nDz ) );
+
+            ScTable* pSaveTab = maTabs[nOldPos];
+            maTabs.erase(maTabs.begin()+nOldPos);
+            maTabs.insert(maTabs.begin()+nNewPos, pSaveTab);
+            TableContainer::iterator it = maTabs.begin();
+            for (SCTAB i = 0; i < nTabCount; i++)
+                if (maTabs[i])
+                    maTabs[i]->UpdateMoveTab( nOldPos, nNewPos, i, pProgress );
+            it = maTabs.begin();
+            for (; it != maTabs.end(); ++it)
+                if (*it)
+                    (*it)->UpdateCompile();
+            SetNoListening( false );
+            it = maTabs.begin();
+            for (; it != maTabs.end(); ++it)
+                if (*it)
+                    (*it)->StartAllListeners();
+            // sheet names of references may not be valid until sheet is moved
+            pChartListenerCollection->UpdateScheduledSeriesRanges();
+            SetDirty();
+            SetAutoCalc( bOldAutoCalc );
+
+            if (pDrawLayer)
+                DrawMovePage( static_cast<sal_uInt16>(nOldPos), static_cast<sal_uInt16>(nNewPos) );
+
+            bValid = true;
         }
     }
     return bValid;
@@ -788,9 +787,9 @@ bool ScDocument::CopyTab( SCTAB nOldPos, SCTAB nNewPos, const ScMarkData* pOnlyM
 
     bool bValid;
     if (bPrefix)
-        bValid = ( ValidNewTabName(aName) );
+        bValid = ValidNewTabName(aName);
     else
-        bValid = ( !GetTable( aName, nDummy ) );
+        bValid = !GetTable( aName, nDummy );
 
     bool bOldAutoCalc = GetAutoCalc();
     SetAutoCalc( false );   // Mehrfachberechnungen vermeiden
@@ -858,8 +857,7 @@ bool ScDocument::CopyTab( SCTAB nOldPos, SCTAB nNewPos, const ScMarkData* pOnlyM
                                         maTabs[nNewPos], pOnlyMarked );
         maTabs[nNewPos]->SetTabBgColor(maTabs[nOldPos]->GetTabBgColor());
 
-        SCsTAB nDz;
-        nDz = ((short)nNewPos) - (short)nOldPos;
+        SCsTAB nDz = (static_cast<SCsTAB>(nNewPos)) - static_cast<SCsTAB>(nOldPos);
         maTabs[nNewPos]->UpdateReference(URM_COPY, 0, 0, nNewPos , MAXCOL, MAXROW,
                                         nNewPos, 0, 0, nDz, NULL);
 


More information about the Libreoffice-commits mailing list