summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2015-06-25 14:45:37 +0200
committerEike Rathke <erack@redhat.com>2015-06-25 15:00:28 +0200
commite8e333aa176d613d074b7730d7de4efacfad9bc9 (patch)
tree80c3963f7bbfe4632d5b62977265992444c5c988 /sc
parent3fc8cf504fab9a45c1f9a0dd4ff09949dfbec981 (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.cxx21
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();