[Libreoffice-commits] .: sc/inc sc/qa sc/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Mon Nov 19 05:13:03 PST 2012


 sc/inc/dbdata.hxx                      |    1 -
 sc/qa/unit/subsequent_filters-test.cxx |    4 ++--
 sc/source/core/data/cell.cxx           |    4 ++--
 sc/source/core/data/documen3.cxx       |    2 +-
 sc/source/core/tool/dbdata.cxx         |   20 +-------------------
 sc/source/core/tool/rangeutl.cxx       |    2 +-
 sc/source/ui/dbgui/dbnamdlg.cxx        |    4 ++--
 sc/source/ui/docshell/arealink.cxx     |    4 ++--
 sc/source/ui/docshell/dbdocfun.cxx     |   12 ++++++------
 sc/source/ui/docshell/docsh4.cxx       |    2 +-
 sc/source/ui/docshell/docsh5.cxx       |    2 +-
 sc/source/ui/navipi/content.cxx        |    2 +-
 sc/source/ui/undo/undodat.cxx          |    4 ++--
 sc/source/ui/unoobj/datauno.cxx        |    4 ++--
 sc/source/ui/view/dbfunc.cxx           |    2 +-
 15 files changed, 25 insertions(+), 44 deletions(-)

New commits:
commit aafe2fcbcb754b2fff8d7c3bf1f61781df259b67
Author: Mathieu D <call.protected at gmail.com>
Date:   Mon Nov 19 14:08:27 2012 +0100

    database names are case insensitive, fdo#51309
    
    Change-Id: Iac9ac4e48115ea09aeffa11bbd8da399266aede9

diff --git a/sc/inc/dbdata.hxx b/sc/inc/dbdata.hxx
index d607b4e..5f7133f 100644
--- a/sc/inc/dbdata.hxx
+++ b/sc/inc/dbdata.hxx
@@ -185,7 +185,6 @@ public:
         const_iterator begin() const;
         const_iterator end() const;
         ScDBData* findByIndex(sal_uInt16 nIndex);
-        ScDBData* findByName(const ::rtl::OUString& rName);
         ScDBData* findByUpperName(const ::rtl::OUString& rName);
         bool insert(ScDBData* p);
         void erase(iterator itr);
diff --git a/sc/qa/unit/subsequent_filters-test.cxx b/sc/qa/unit/subsequent_filters-test.cxx
index fd49ed1..a72629a 100644
--- a/sc/qa/unit/subsequent_filters-test.cxx
+++ b/sc/qa/unit/subsequent_filters-test.cxx
@@ -958,11 +958,11 @@ void ScFiltersTest::testBugFixesODS()
 
     {
         // fdo#40426
-        ScDBData* pDBData = pDoc->GetDBCollection()->getNamedDBs().findByName("DBRange1");
+        ScDBData* pDBData = pDoc->GetDBCollection()->getNamedDBs().findByUpperName("DBRANGE1");
         CPPUNIT_ASSERT(pDBData);
         CPPUNIT_ASSERT(pDBData->HasHeader());
         // no header
-        pDBData = pDoc->GetDBCollection()->getNamedDBs().findByName("DBRange2");
+        pDBData = pDoc->GetDBCollection()->getNamedDBs().findByUpperName("DBRANGE2");
         CPPUNIT_ASSERT(pDBData);
         CPPUNIT_ASSERT(!pDBData->HasHeader());
     }
diff --git a/sc/source/core/data/cell.cxx b/sc/source/core/data/cell.cxx
index e27339e..4c0bd4b 100644
--- a/sc/source/core/data/cell.cxx
+++ b/sc/source/core/data/cell.cxx
@@ -203,7 +203,7 @@ void adjustDBRange(ScToken* pToken, ScDocument& rNewDoc, const ScDocument* pOldD
     ScDBData* pDBData = aOldNamedDBs.findByIndex(pToken->GetIndex());
     if (!pDBData)
         return; //invalid index
-    rtl::OUString aDBName = pDBData->GetName();
+    rtl::OUString aDBName = pDBData->GetUpperName();
 
     //search in new document
     ScDBCollection* pNewDBCollection = rNewDoc.GetDBCollection();
@@ -212,7 +212,7 @@ void adjustDBRange(ScToken* pToken, ScDocument& rNewDoc, const ScDocument* pOldD
         pNewDBCollection = new ScDBCollection(&rNewDoc);
     }
     ScDBCollection::NamedDBs& aNewNamedDBs = pNewDBCollection->getNamedDBs();
-    ScDBData* pNewDBData = aNewNamedDBs.findByName(aDBName);
+    ScDBData* pNewDBData = aNewNamedDBs.findByUpperName(aDBName);
     if (!pNewDBData)
     {
         pNewDBData = new ScDBData(*pDBData);
diff --git a/sc/source/core/data/documen3.cxx b/sc/source/core/data/documen3.cxx
index 600bf60..4c5c04a 100644
--- a/sc/source/core/data/documen3.cxx
+++ b/sc/source/core/data/documen3.cxx
@@ -250,7 +250,7 @@ void ScDocument::SetDBCollection( ScDBCollection* pNewDBCollection, bool bRemove
             bool bFound = false;
             if (pNewDBCollection)
             {
-                ScDBData* pNewData = pNewDBCollection->getNamedDBs().findByName(rOldData.GetName());
+                ScDBData* pNewData = pNewDBCollection->getNamedDBs().findByUpperName(rOldData.GetUpperName());
                 if (pNewData)
                 {
                     if (pNewData->HasAutoFilter())
diff --git a/sc/source/core/tool/dbdata.cxx b/sc/source/core/tool/dbdata.cxx
index 7b142cc..3290f18 100644
--- a/sc/source/core/tool/dbdata.cxx
+++ b/sc/source/core/tool/dbdata.cxx
@@ -53,7 +53,7 @@ using ::std::pair;
 
 bool ScDBData::less::operator() (const ScDBData& left, const ScDBData& right) const
 {
-    return ScGlobal::GetpTransliteration()->compareString(left.GetName(), right.GetName()) < 0;
+    return ScGlobal::GetpTransliteration()->compareString(left.GetUpperName(), right.GetUpperName()) < 0;
 }
 
 ScDBData::ScDBData( const ::rtl::OUString& rName,
@@ -643,17 +643,6 @@ public:
     }
 };
 
-class FindByName : public unary_function<ScDBData, bool>
-{
-    const ::rtl::OUString& mrName;
-public:
-    FindByName(const ::rtl::OUString& rName) : mrName(rName) {}
-    bool operator() (const ScDBData& r) const
-    {
-        return r.GetName() == mrName;
-    }
-};
-
 class FindByUpperName : public unary_function<ScDBData, bool>
 {
     const ::rtl::OUString& mrName;
@@ -700,13 +689,6 @@ ScDBData* ScDBCollection::NamedDBs::findByIndex(sal_uInt16 nIndex)
     return itr == maDBs.end() ? NULL : &(*itr);
 }
 
-ScDBData* ScDBCollection::NamedDBs::findByName(const ::rtl::OUString& rName)
-{
-    DBsType::iterator itr = find_if(
-        maDBs.begin(), maDBs.end(), FindByName(rName));
-    return itr == maDBs.end() ? NULL : &(*itr);
-}
-
 ScDBData* ScDBCollection::NamedDBs::findByUpperName(const ::rtl::OUString& rName)
 {
     DBsType::iterator itr = find_if(
diff --git a/sc/source/core/tool/rangeutl.cxx b/sc/source/core/tool/rangeutl.cxx
index 1001410..5b5c814 100644
--- a/sc/source/core/tool/rangeutl.cxx
+++ b/sc/source/core/tool/rangeutl.cxx
@@ -335,7 +335,7 @@ sal_Bool ScRangeUtil::MakeRangeFromName (
     else if( eScope==RUTL_DBASE )
     {
         ScDBCollection::NamedDBs& rDbNames = pDoc->GetDBCollection()->getNamedDBs();
-        ScDBData* pData = rDbNames.findByName(rName);
+        ScDBData* pData = rDbNames.findByUpperName(ScGlobal::pCharClass->uppercase(rName));
         if (pData)
         {
             pData->GetArea(nTab, nColStart, nRowStart, nColEnd, nRowEnd);
diff --git a/sc/source/ui/dbgui/dbnamdlg.cxx b/sc/source/ui/dbgui/dbnamdlg.cxx
index d380c59..ed8d981 100644
--- a/sc/source/ui/dbgui/dbnamdlg.cxx
+++ b/sc/source/ui/dbgui/dbnamdlg.cxx
@@ -380,7 +380,7 @@ void ScDbNameDlg::UpdateNames()
 void ScDbNameDlg::UpdateDBData( const String& rStrName )
 {
 
-    const ScDBData* pData = aLocalDbCol.getNamedDBs().findByName(rStrName);
+    const ScDBData* pData = aLocalDbCol.getNamedDBs().findByUpperName(ScGlobal::pCharClass->uppercase(rStrName));
 
     if ( pData )
     {
@@ -471,7 +471,7 @@ IMPL_LINK_NOARG(ScDbNameDlg, AddBtnHdl)
                 ScAddress aStart = theCurArea.aStart;
                 ScAddress aEnd   = theCurArea.aEnd;
 
-                ScDBData* pOldEntry = aLocalDbCol.getNamedDBs().findByName(aNewName);
+                ScDBData* pOldEntry = aLocalDbCol.getNamedDBs().findByUpperName(ScGlobal::pCharClass->uppercase(aNewName));
                 if (pOldEntry)
                 {
                     //  Bereich veraendern
diff --git a/sc/source/ui/docshell/arealink.cxx b/sc/source/ui/docshell/arealink.cxx
index 2c08572..2c11441 100644
--- a/sc/source/ui/docshell/arealink.cxx
+++ b/sc/source/ui/docshell/arealink.cxx
@@ -205,7 +205,7 @@ bool ScAreaLink::FindExtRange( ScRange& rRange, ScDocument* pSrcDoc, const Strin
     ScRangeName* pNames = pSrcDoc->GetRangeName();
     if (pNames)         // benannte Bereiche
     {
-        const ScRangeData* p = pNames->findByUpperName(ScGlobal::pCharClass->uppercase(rAreaName));
+        const ScRangeData* p = pNames->findByUpperName(rAreaName);
         if (p && p->IsValidReference(rRange))
             bFound = true;
     }
@@ -214,7 +214,7 @@ bool ScAreaLink::FindExtRange( ScRange& rRange, ScDocument* pSrcDoc, const Strin
         ScDBCollection* pDBColl = pSrcDoc->GetDBCollection();
         if (pDBColl)
         {
-            const ScDBData* pDB = pDBColl->getNamedDBs().findByName(rAreaName);
+            const ScDBData* pDB = pDBColl->getNamedDBs().findByUpperName(ScGlobal::pCharClass->uppercase(rAreaName));
             if (pDB)
             {
                 SCTAB nTab;
diff --git a/sc/source/ui/docshell/dbdocfun.cxx b/sc/source/ui/docshell/dbdocfun.cxx
index 07049a0..7e9115f 100644
--- a/sc/source/ui/docshell/dbdocfun.cxx
+++ b/sc/source/ui/docshell/dbdocfun.cxx
@@ -127,7 +127,7 @@ bool ScDBDocFunc::DeleteDBRange(const ::rtl::OUString& rName)
     bool bUndo = pDoc->IsUndoEnabled();
 
     ScDBCollection::NamedDBs& rDBs = pDocColl->getNamedDBs();
-    const ScDBData* p = rDBs.findByName(rName);
+    const ScDBData* p = rDBs.findByUpperName(ScGlobal::pCharClass->uppercase(rName));
     if (p)
     {
         ScDocShellModificator aModificator( rDocShell );
@@ -162,8 +162,8 @@ bool ScDBDocFunc::RenameDBRange( const String& rOld, const String& rNew )
     ScDBCollection* pDocColl = pDoc->GetDBCollection();
     bool bUndo = pDoc->IsUndoEnabled();
     ScDBCollection::NamedDBs& rDBs = pDocColl->getNamedDBs();
-    const ScDBData* pOld = rDBs.findByName(rOld);
-    const ScDBData* pNew = rDBs.findByName(rNew);
+    const ScDBData* pOld = rDBs.findByUpperName(ScGlobal::pCharClass->uppercase(rOld));
+    const ScDBData* pNew = rDBs.findByUpperName(ScGlobal::pCharClass->uppercase(rNew));
     if (pOld && !pNew)
     {
         ScDocShellModificator aModificator( rDocShell );
@@ -216,7 +216,7 @@ bool ScDBDocFunc::ModifyDBData( const ScDBData& rNewData )
         pData = pDoc->GetAnonymousDBData(nTab);
     }
     else
-        pData = pDocColl->getNamedDBs().findByName(rNewData.GetName());
+        pData = pDocColl->getNamedDBs().findByUpperName(rNewData.GetUpperName());
 
     if (pData)
     {
@@ -267,7 +267,7 @@ bool ScDBDocFunc::RepeatDB( const ::rtl::OUString& rDBName, bool bRecord, bool b
     {
         ScDBCollection* pColl = pDoc->GetDBCollection();
         if (pColl)
-            pDBData = pColl->getNamedDBs().findByName(rDBName);
+            pDBData = pColl->getNamedDBs().findByUpperName(ScGlobal::pCharClass->uppercase(rDBName));
     }
 
     if ( pDBData )
@@ -1525,7 +1525,7 @@ void ScDBDocFunc::UpdateImport( const String& rTarget, const svx::ODataAccessDes
 
     ScDocument* pDoc = rDocShell.GetDocument();
     ScDBCollection& rDBColl = *pDoc->GetDBCollection();
-    const ScDBData* pData = rDBColl.getNamedDBs().findByName(rTarget);
+    const ScDBData* pData = rDBColl.getNamedDBs().findByUpperName(ScGlobal::pCharClass->uppercase(rTarget));
     if (!pData)
     {
         InfoBox aInfoBox(rDocShell.GetActiveDialogParent(),
diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx
index babda0d..f55a204 100644
--- a/sc/source/ui/docshell/docsh4.cxx
+++ b/sc/source/ui/docshell/docsh4.cxx
@@ -207,7 +207,7 @@ void ScDocShell::Execute( SfxRequest& rReq )
                 if (bIsNewArea)
                 {
                     ScDBCollection* pDBColl = aDocument.GetDBCollection();
-                    if ( !pDBColl || !pDBColl->getNamedDBs().findByName(sTarget) )
+                    if ( !pDBColl || !pDBColl->getNamedDBs().findByUpperName(ScGlobal::pCharClass->uppercase(sTarget)) )
                     {
                         ScAddress aPos;
                         if ( aPos.Parse( sTarget, &aDocument, aDocument.GetAddressConvention() ) & SCA_VALID )
diff --git a/sc/source/ui/docshell/docsh5.cxx b/sc/source/ui/docshell/docsh5.cxx
index 5beb522..63ade6d 100644
--- a/sc/source/ui/docshell/docsh5.cxx
+++ b/sc/source/ui/docshell/docsh5.cxx
@@ -276,7 +276,7 @@ ScDBData* ScDocShell::GetDBData( const ScRange& rMarked, ScGetDBMode eMode, ScGe
                     ++nCount;
                     aNewName = aImport;
                     aNewName += String::CreateFromInt32( nCount );
-                    pDummy = rDBs.findByName(aNewName);
+                    pDummy = rDBs.findByUpperName(ScGlobal::pCharClass->uppercase(aNewName));
                 }
                 while (pDummy);
                 pNoNameData = new ScDBData( aNewName, nTab,
diff --git a/sc/source/ui/navipi/content.cxx b/sc/source/ui/navipi/content.cxx
index 14a2d47..ab42837 100644
--- a/sc/source/ui/navipi/content.cxx
+++ b/sc/source/ui/navipi/content.cxx
@@ -264,7 +264,7 @@ static String lcl_GetDBAreaRange( ScDocument* pDoc, const String& rDBName )
     if (pDoc)
     {
         ScDBCollection* pDbNames = pDoc->GetDBCollection();
-        const ScDBData* pData = pDbNames->getNamedDBs().findByName(rDBName);
+        const ScDBData* pData = pDbNames->getNamedDBs().findByUpperName(ScGlobal::pCharClass->uppercase(rDBName));
         if (pData)
         {
             ScRange aRange;
diff --git a/sc/source/ui/undo/undodat.cxx b/sc/source/ui/undo/undodat.cxx
index 62e10b8..199617c 100644
--- a/sc/source/ui/undo/undodat.cxx
+++ b/sc/source/ui/undo/undodat.cxx
@@ -1068,7 +1068,7 @@ void ScUndoAutoFilter::DoChange( bool bUndo )
     else
     {
         ScDBCollection* pColl = pDoc->GetDBCollection();
-        pDBData = pColl->getNamedDBs().findByName(aDBName);
+        pDBData = pColl->getNamedDBs().findByUpperName(ScGlobal::pCharClass->uppercase(aDBName));
     }
 
     if ( pDBData )
@@ -1812,7 +1812,7 @@ void ScUndoConsolidate::Undo()
         ScDBCollection* pColl = pDoc->GetDBCollection();
         if (pColl)
         {
-            ScDBData* pDocData = pColl->getNamedDBs().findByName(pUndoData->GetName());
+            ScDBData* pDocData = pColl->getNamedDBs().findByUpperName(pUndoData->GetUpperName());
             if (pDocData)
                 *pDocData = *pUndoData;
         }
diff --git a/sc/source/ui/unoobj/datauno.cxx b/sc/source/ui/unoobj/datauno.cxx
index cbff0b4..d902c97 100644
--- a/sc/source/ui/unoobj/datauno.cxx
+++ b/sc/source/ui/unoobj/datauno.cxx
@@ -1734,7 +1734,7 @@ ScDBData* ScDatabaseRangeObj::GetDBData_Impl() const
             ScDBCollection* pNames = pDocShell->GetDocument()->GetDBCollection();
             if (pNames)
             {
-                ScDBData* p = pNames->getNamedDBs().findByName(aName);
+                ScDBData* p = pNames->getNamedDBs().findByUpperName(ScGlobal::pCharClass->uppercase(aName));
                 if (p)
                     pRet = p;
             }
@@ -2441,7 +2441,7 @@ sal_Bool SAL_CALL ScDatabaseRangesObj::hasByName( const rtl::OUString& aName )
     {
         ScDBCollection* pNames = pDocShell->GetDocument()->GetDBCollection();
         if (pNames)
-            return pNames->getNamedDBs().findByName(aName) != NULL;
+            return pNames->getNamedDBs().findByUpperName(ScGlobal::pCharClass->uppercase(aName)) != NULL;
     }
     return false;
 }
diff --git a/sc/source/ui/view/dbfunc.cxx b/sc/source/ui/view/dbfunc.cxx
index 0416b42..ad4d102 100644
--- a/sc/source/ui/view/dbfunc.cxx
+++ b/sc/source/ui/view/dbfunc.cxx
@@ -65,7 +65,7 @@ void ScDBFunc::GotoDBArea( const ::rtl::OUString& rDBName )
 {
     ScDocument* pDoc = GetViewData()->GetDocument();
     ScDBCollection* pDBCol = pDoc->GetDBCollection();
-    ScDBData* pData = pDBCol->getNamedDBs().findByName(rDBName);
+    ScDBData* pData = pDBCol->getNamedDBs().findByUpperName(ScGlobal::pCharClass->uppercase(rDBName));
     if (pData)
     {
         SCTAB nTab = 0;


More information about the Libreoffice-commits mailing list