diff options
author | Eike Rathke <erack@redhat.com> | 2015-06-25 14:45:37 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2015-06-25 15:00:28 +0200 |
commit | e8e333aa176d613d074b7730d7de4efacfad9bc9 (patch) | |
tree | 80c3963f7bbfe4632d5b62977265992444c5c988 /sc | |
parent | 3fc8cf504fab9a45c1f9a0dd4ff09949dfbec981 (diff) |
TableRef: search table column names case insensitive
Change-Id: I753a4511aa2c1e37b83094189902ce7031d68c04
(cherry picked from commit cd3486798496545271baa2cb5d7beb6f0a99dcca)
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/core/tool/dbdata.cxx | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/sc/source/core/tool/dbdata.cxx b/sc/source/core/tool/dbdata.cxx index ef39e8ba7b67..113fa5f0a06e 100644 --- a/sc/source/core/tool/dbdata.cxx +++ b/sc/source/core/tool/dbdata.cxx @@ -603,10 +603,29 @@ 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; +}; +} + sal_Int32 ScDBData::GetColumnNameOffset( const OUString& rName ) const { ::std::vector<OUString>::const_iterator it( - ::std::find( maTableColumnNames.begin(), maTableColumnNames.end(), rName)); + ::std::find_if( maTableColumnNames.begin(), maTableColumnNames.end(), TableColumnNameSearch( rName))); if (it != maTableColumnNames.end()) return it - maTableColumnNames.begin(); |