diff options
author | Eike Rathke <erack@redhat.com> | 2015-09-01 17:05:13 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2015-09-01 18:10:44 +0200 |
commit | b0d6a8ea09148fce6f6c806086835a86eb8ff03d (patch) | |
tree | 79f2865b3019a275256128cf1ec46d545717c305 /sc | |
parent | d38e4b2ee73ad38881465f9f97eb8d8397ee98ff (diff) |
TableRef: reuse TableColumnNameSearch in RefreshTableColumnNames()
Change-Id: I354698d6959aeb9ce022ecc420f2e10b0155c184
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/core/tool/dbdata.cxx | 50 |
1 files changed, 21 insertions, 29 deletions
diff --git a/sc/source/core/tool/dbdata.cxx b/sc/source/core/tool/dbdata.cxx index 46b9b2f34e3b..adc401a1a4a5 100644 --- a/sc/source/core/tool/dbdata.cxx +++ b/sc/source/core/tool/dbdata.cxx @@ -622,6 +622,25 @@ void ScDBData::AdjustTableColumnNames( UpdateRefMode eUpdateRefMode, SCCOL nDx, aNewNames.swap( maTableColumnNames); } +namespace { +class TableColumnNameSearch : public unary_function<ScDBData, bool> +{ +public: + explicit TableColumnNameSearch( const OUString& rSearchName ) : + maSearchName( rSearchName ) + { + } + + bool operator()( const OUString& rName ) const + { + return ScGlobal::GetpTransliteration()->isEqual( maSearchName, rName); + } + +private: + OUString maSearchName; +}; +} + void ScDBData::RefreshTableColumnNames( ScDocument* pDoc ) { if (!HasHeader()) @@ -659,17 +678,9 @@ void ScDBData::RefreshTableColumnNames( ScDocument* pDoc ) { if (aNewNames[i].isEmpty()) { - bool bCopy = true; const OUString& rStr = maTableColumnNames[i]; - for (size_t j=0; j < n; ++j) - { - if (ScGlobal::GetpTransliteration()->isEqual( aNewNames[j], rStr)) - { - bCopy = false; - break; // for - } - } - if (bCopy) + auto it( ::std::find_if( aNewNames.begin(), aNewNames.end(), TableColumnNameSearch( rStr))); + if (it == aNewNames.end()) aNewNames[i] = rStr; } } @@ -678,25 +689,6 @@ void ScDBData::RefreshTableColumnNames( ScDocument* pDoc ) aNewNames.swap( maTableColumnNames); } -namespace { -class TableColumnNameSearch : public unary_function<ScDBData, bool> -{ -public: - explicit TableColumnNameSearch( const OUString& rSearchName ) : - maSearchName( rSearchName ) - { - } - - bool operator()( const OUString& rName ) const - { - return ScGlobal::GetpTransliteration()->isEqual( maSearchName, rName); - } - -private: - OUString maSearchName; -}; -} - sal_Int32 ScDBData::GetColumnNameOffset( const OUString& rName ) const { if (maTableColumnNames.empty()) |