[Libreoffice-commits] core.git: Branch 'libreoffice-5-0' - 2 commits - sc/inc sc/Library_scfilt.mk sc/source

Eike Rathke erack at redhat.com
Wed Jun 24 08:31:42 PDT 2015


 sc/Library_scfilt.mk                         |    2 
 sc/inc/dbdata.hxx                            |    4 
 sc/source/core/tool/dbdata.cxx               |    7 +
 sc/source/filter/inc/tablebuffer.hxx         |    7 +
 sc/source/filter/inc/tablecolumnsbuffer.hxx  |   96 +++++++++++++++++++
 sc/source/filter/inc/tablecolumnscontext.hxx |   68 +++++++++++++
 sc/source/filter/oox/tablebuffer.cxx         |    1 
 sc/source/filter/oox/tablecolumnsbuffer.cxx  |  133 +++++++++++++++++++++++++++
 sc/source/filter/oox/tablecolumnscontext.cxx |   94 +++++++++++++++++++
 sc/source/filter/oox/tablefragment.cxx       |   11 +-
 10 files changed, 419 insertions(+), 4 deletions(-)

New commits:
commit 8ab43aed6070c8492b313b54b5c9eb0dbca0751f
Author: Eike Rathke <erack at redhat.com>
Date:   Wed Jun 24 16:19:36 2015 +0200

    TableRef: read <table><tableColumns><tableColumn> from OOXML
    
    Change-Id: I46c57a14fd94738e51e65c482c903c2debe868b8
    (cherry picked from commit 9a4881a15ca463a3fbbaee55ace2123bfdf1b132)

diff --git a/sc/Library_scfilt.mk b/sc/Library_scfilt.mk
index fab1700..64cf36b 100644
--- a/sc/Library_scfilt.mk
+++ b/sc/Library_scfilt.mk
@@ -207,6 +207,8 @@ $(eval $(call gb_Library_add_exception_objects,scfilt,\
 	sc/source/filter/oox/stylesbuffer \
 	sc/source/filter/oox/stylesfragment \
 	sc/source/filter/oox/tablebuffer \
+	sc/source/filter/oox/tablecolumnsbuffer \
+	sc/source/filter/oox/tablecolumnscontext \
 	sc/source/filter/oox/tablefragment \
 	sc/source/filter/oox/themebuffer \
 	sc/source/filter/oox/unitconverter \
diff --git a/sc/source/filter/inc/tablebuffer.hxx b/sc/source/filter/inc/tablebuffer.hxx
index abc0a49..2bc2cfe 100644
--- a/sc/source/filter/inc/tablebuffer.hxx
+++ b/sc/source/filter/inc/tablebuffer.hxx
@@ -22,6 +22,7 @@
 
 #include <com/sun/star/table/CellRangeAddress.hpp>
 #include "autofilterbuffer.hxx"
+#include "tablecolumnsbuffer.hxx"
 #include "workbookhelper.hxx"
 
 namespace oox {
@@ -52,10 +53,13 @@ public:
     void                importTable( SequenceInputStream& rStrm, sal_Int16 nSheet );
     /** Creates a new auto filter and stores it internally. */
     inline AutoFilter&  createAutoFilter() { return maAutoFilters.createAutoFilter(); }
+    /** Creates a new tableColumns handler and stores it internally. */
+    inline TableColumns&  createTableColumns() { return maTableColumns.createTableColumns(); }
 
     /** Creates a database range from this tables. */
     void                finalizeImport();
     void                applyAutoFilters();
+    void                applyTableColumns();
 
     /** Returns the unique table identifier. */
     inline sal_Int32    getTableId() const { return maModel.mnId; }
@@ -80,6 +84,7 @@ public:
 private:
     TableModel          maModel;
     AutoFilterBuffer    maAutoFilters;      /// Filter settings for this table.
+    TableColumnsBuffer  maTableColumns;     /// Column names of this table.
     OUString     maDBRangeName;      /// Name of the databae range in the Calc document.
     ::com::sun::star::table::CellRangeAddress
                         maDestRange;        /// Validated range of the table in the worksheet.
@@ -100,6 +105,8 @@ public:
     void                finalizeImport();
     /** Applies autofilters from created database range ( requires finalizeImport to have run before being called */
     void                applyAutoFilters();
+    /** Applies columns names from created database range ( requires finalizeImport to have run before being called */
+    void                applyTableColumns();
     /** Returns a table by its identifier. */
     TableRef            getTable( sal_Int32 nTableId ) const;
     /** Returns a table by its display name. */
diff --git a/sc/source/filter/inc/tablecolumnsbuffer.hxx b/sc/source/filter/inc/tablecolumnsbuffer.hxx
new file mode 100644
index 0000000..dc8e427f
--- /dev/null
+++ b/sc/source/filter/inc/tablecolumnsbuffer.hxx
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_SC_SOURCE_FILTER_INC_TABLECOLUMNSBUFFER_HXX
+#define INCLUDED_SC_SOURCE_FILTER_INC_TABLECOLUMNSBUFFER_HXX
+
+#include <oox/helper/refvector.hxx>
+#include "workbookhelper.hxx"
+
+namespace oox {
+namespace xls {
+
+/** A column in a table (database range).
+ */
+class TableColumn : public WorkbookHelper
+{
+public:
+    explicit            TableColumn( const WorkbookHelper& rHelper );
+
+    /** Imports table column settings from the tableColumn element. */
+    void                importTableColumn( const AttributeList& rAttribs );
+    /** Imports table column settings from the TABLECOLUMN (?) record. */
+    void                importTableColumn( SequenceInputStream& rStrm );
+
+private:
+    OUString            maName;
+    sal_Int32           mnId;
+    sal_Int32           mnDataDxfId;
+};
+
+class TableColumns : public WorkbookHelper
+{
+public:
+    explicit            TableColumns( const WorkbookHelper& rHelper );
+
+    /** Imports settings from the tableColumns element. */
+    void                importTableColumns( const AttributeList& rAttribs );
+    /** Imports settings from the TABLECOLUMNS (?) record. */
+    void                importTableColumns( SequenceInputStream& rStrm );
+
+    /** Creates a new table column and stores it internally. */
+    TableColumn&        createTableColumn();
+
+    /** Applies the columns to the passed database range descriptor. */
+    bool                finalizeImport( const ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XDatabaseRange >& rxDatabaseRange );
+
+private:
+    typedef RefVector< TableColumn > TableColumnVector;
+
+    TableColumnVector   maTableColumnVector;
+    sal_Int32           mnCount;
+};
+
+class TableColumnsBuffer : public WorkbookHelper
+{
+public:
+    explicit            TableColumnsBuffer( const WorkbookHelper& rHelper );
+
+    /** Creates a new table columns object and stores it internally. */
+    TableColumns&       createTableColumns();
+
+    /** Applies the table columns to the passed database range object.
+        @return  True = this buffer contains valid table column settings. */
+    bool                finalizeImport( const ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XDatabaseRange >& rxDatabaseRange );
+
+private:
+    /** Returns the table columns object used. */
+    TableColumns*       getActiveTableColumns();
+
+private:
+    typedef RefVector< TableColumns > TableColumnsVector;
+    TableColumnsVector  maTableColumnsVector;
+};
+
+} // namespace xls
+} // namespace oox
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/filter/inc/tablecolumnscontext.hxx b/sc/source/filter/inc/tablecolumnscontext.hxx
new file mode 100644
index 0000000..513af5e
--- /dev/null
+++ b/sc/source/filter/inc/tablecolumnscontext.hxx
@@ -0,0 +1,68 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_SC_SOURCE_FILTER_INC_TABLECOLUMNSCONTEXT_HXX
+#define INCLUDED_SC_SOURCE_FILTER_INC_TABLECOLUMNSCONTEXT_HXX
+
+#include "excelhandlers.hxx"
+
+namespace oox {
+namespace xls {
+
+class TableColumn;
+class TableColumns;
+
+class TableColumnContext : public WorksheetContextBase
+{
+public:
+    explicit            TableColumnContext( WorksheetContextBase& rParent, TableColumn& rTableColumn );
+
+protected:
+    virtual ::oox::core::ContextHandlerRef onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs ) SAL_OVERRIDE;
+    virtual void        onStartElement( const AttributeList& rAttribs ) SAL_OVERRIDE;
+
+    virtual ::oox::core::ContextHandlerRef onCreateRecordContext( sal_Int32 nRecId, SequenceInputStream& rStrm ) SAL_OVERRIDE;
+    virtual void        onStartRecord( SequenceInputStream& rStrm ) SAL_OVERRIDE;
+
+private:
+    TableColumn&        mrTableColumn;
+};
+
+class TableColumnsContext : public WorksheetContextBase
+{
+public:
+    explicit            TableColumnsContext( WorksheetFragmentBase& rFragment, TableColumns& rTableColumns );
+
+protected:
+    virtual ::oox::core::ContextHandlerRef onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs ) SAL_OVERRIDE;
+    virtual void        onStartElement( const AttributeList& rAttribs ) SAL_OVERRIDE;
+
+    virtual ::oox::core::ContextHandlerRef onCreateRecordContext( sal_Int32 nRecId, SequenceInputStream& rStrm ) SAL_OVERRIDE;
+    virtual void        onStartRecord( SequenceInputStream& rStrm ) SAL_OVERRIDE;
+
+private:
+    TableColumns&       mrTableColumns;
+};
+
+} // namespace xls
+} // namespace oox
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/filter/oox/tablebuffer.cxx b/sc/source/filter/oox/tablebuffer.cxx
index 65aaf64..b1fddcc 100644
--- a/sc/source/filter/oox/tablebuffer.cxx
+++ b/sc/source/filter/oox/tablebuffer.cxx
@@ -46,6 +46,7 @@ TableModel::TableModel() :
 Table::Table( const WorkbookHelper& rHelper ) :
     WorkbookHelper( rHelper ),
     maAutoFilters( rHelper ),
+    maTableColumns( rHelper ),
     mnTokenIndex( -1 )
 {
 }
diff --git a/sc/source/filter/oox/tablecolumnsbuffer.cxx b/sc/source/filter/oox/tablecolumnsbuffer.cxx
new file mode 100644
index 0000000..5879fc3
--- /dev/null
+++ b/sc/source/filter/oox/tablecolumnsbuffer.cxx
@@ -0,0 +1,133 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#include "tablecolumnsbuffer.hxx"
+
+#include <com/sun/star/sheet/XDatabaseRange.hpp>
+#include <rtl/ustrbuf.hxx>
+#include <osl/diagnose.h>
+#include <oox/helper/attributelist.hxx>
+#include <oox/helper/containerhelper.hxx>
+#include <oox/helper/propertyset.hxx>
+#include <oox/token/properties.hxx>
+#include "addressconverter.hxx"
+#include "biffinputstream.hxx"
+#include "defnamesbuffer.hxx"
+
+namespace oox {
+namespace xls {
+
+using namespace ::com::sun::star::sheet;
+using namespace ::com::sun::star::table;
+using namespace ::com::sun::star::uno;
+
+TableColumn::TableColumn( const WorkbookHelper& rHelper ) :
+    WorkbookHelper( rHelper ),
+    mnId( -1 ),
+    mnDataDxfId( -1 )
+{
+}
+
+void TableColumn::importTableColumn( const AttributeList& rAttribs )
+{
+    mnId = rAttribs.getInteger( XML_id, -1 );
+    maName = rAttribs.getString( XML_name, OUString() );
+    mnDataDxfId = rAttribs.getInteger( XML_dataDxfId, -1 );
+}
+
+void TableColumn::importTableColumn( SequenceInputStream& /*rStrm*/ )
+{
+    /* XXX not implemented */
+}
+
+TableColumns::TableColumns( const WorkbookHelper& rHelper ) :
+    WorkbookHelper( rHelper ),
+    mnCount(0)
+{
+}
+
+void TableColumns::importTableColumns( const AttributeList& rAttribs )
+{
+    mnCount = rAttribs.getInteger( XML_count, 0 );
+}
+
+void TableColumns::importTableColumns( SequenceInputStream& /*rStrm*/ )
+{
+    /* XXX not implemented */
+}
+
+TableColumn& TableColumns::createTableColumn()
+{
+    TableColumnVector::value_type xTableColumn( new TableColumn( *this ) );
+    maTableColumnVector.push_back( xTableColumn );
+    return *xTableColumn;
+}
+
+bool TableColumns::finalizeImport( const Reference< XDatabaseRange >& rxDatabaseRange )
+{
+    SAL_WARN_IF( static_cast<size_t>(mnCount) != maTableColumnVector.size(), "sc.filter",
+            "TableColumns::finalizeImport - count attribute doesn't match number of tableColumn elements");
+    if( rxDatabaseRange.is() )
+    {
+        /* TODO: implementation */
+        return true;
+    }
+    return false;
+}
+
+TableColumnsBuffer::TableColumnsBuffer( const WorkbookHelper& rHelper ) :
+    WorkbookHelper( rHelper )
+{
+}
+
+TableColumns& TableColumnsBuffer::createTableColumns()
+{
+    TableColumnsVector::value_type xTableColumns( new TableColumns( *this ) );
+    maTableColumnsVector.push_back( xTableColumns );
+    return *xTableColumns;
+}
+
+bool TableColumnsBuffer::finalizeImport( const Reference< XDatabaseRange >& rxDatabaseRange )
+{
+    TableColumns* pTableColumns = getActiveTableColumns();
+    if( pTableColumns && rxDatabaseRange.is() ) try
+    {
+        pTableColumns->finalizeImport( rxDatabaseRange );
+        // return true to indicate available table columns
+        return true;
+    }
+    catch( Exception& )
+    {
+    }
+    return false;
+}
+
+TableColumns* TableColumnsBuffer::getActiveTableColumns()
+{
+    // not more than one table columns descriptor per table
+    SAL_WARN_IF( maTableColumnsVector.size() > 1, "sc.filter",
+            "TableColumnsBuffer::getActiveTableColumns - too many table columns" );
+    // stick to the last imported table columns
+    return maTableColumnsVector.empty() ? 0 : maTableColumnsVector.back().get();
+}
+
+} // namespace xls
+} // namespace oox
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/filter/oox/tablecolumnscontext.cxx b/sc/source/filter/oox/tablecolumnscontext.cxx
new file mode 100644
index 0000000..8ad4ea2
--- /dev/null
+++ b/sc/source/filter/oox/tablecolumnscontext.cxx
@@ -0,0 +1,94 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#include "tablecolumnscontext.hxx"
+
+#include "tablecolumnsbuffer.hxx"
+#include "biffinputstream.hxx"
+
+namespace oox {
+namespace xls {
+
+using ::oox::core::ContextHandlerRef;
+
+TableColumnContext::TableColumnContext( WorksheetContextBase& rParent, TableColumn& rTableColumn ) :
+    WorksheetContextBase( rParent ),
+    mrTableColumn( rTableColumn )
+{
+}
+
+ContextHandlerRef TableColumnContext::onCreateContext( sal_Int32 /*nElement*/, const AttributeList& /*rAttribs*/ )
+{
+    /* no known child elements */
+    return 0;
+}
+
+void TableColumnContext::onStartElement( const AttributeList& rAttribs )
+{
+    mrTableColumn.importTableColumn( rAttribs );
+}
+
+ContextHandlerRef TableColumnContext::onCreateRecordContext( sal_Int32 /*nRecId*/, SequenceInputStream& /*rStrm*/ )
+{
+    /* no known child elements */
+    return 0;
+}
+
+void TableColumnContext::onStartRecord( SequenceInputStream& rStrm )
+{
+    mrTableColumn.importTableColumn( rStrm );
+}
+
+TableColumnsContext::TableColumnsContext( WorksheetFragmentBase& rFragment, TableColumns& rTableColumns ) :
+    WorksheetContextBase( rFragment ),
+    mrTableColumns( rTableColumns )
+{
+}
+
+ContextHandlerRef TableColumnsContext::onCreateContext( sal_Int32 nElement, const AttributeList& /*rAttribs*/ )
+{
+    if( (getCurrentElement() == XLS_TOKEN( tableColumns )) && (nElement == XLS_TOKEN( tableColumn )) )
+        return new TableColumnContext( *this, mrTableColumns.createTableColumn() );
+    return 0;
+}
+
+void TableColumnsContext::onStartElement( const AttributeList& rAttribs )
+{
+    mrTableColumns.importTableColumns( rAttribs );
+}
+
+ContextHandlerRef TableColumnsContext::onCreateRecordContext( sal_Int32 /*nRecId*/, SequenceInputStream& /*rStrm*/ )
+{
+    /* XXX not implemented */
+#if 0
+    if( (getCurrentElement() == BIFF12_ID_TABLECOLUMNS) && (nRecId == BIFF12_ID_TABLECOLUMN) )
+        return new TableColumnContext( *this, mrTableColumns.createTableColumn() );
+#endif
+    return 0;
+}
+
+void TableColumnsContext::onStartRecord( SequenceInputStream& rStrm )
+{
+    mrTableColumns.importTableColumns( rStrm );
+}
+
+} // namespace xls
+} // namespace oox
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/filter/oox/tablefragment.cxx b/sc/source/filter/oox/tablefragment.cxx
index 52039c7..b8f5d7d 100644
--- a/sc/source/filter/oox/tablefragment.cxx
+++ b/sc/source/filter/oox/tablefragment.cxx
@@ -21,6 +21,8 @@
 
 #include "autofilterbuffer.hxx"
 #include "autofiltercontext.hxx"
+#include "tablecolumnsbuffer.hxx"
+#include "tablecolumnscontext.hxx"
 #include "tablebuffer.hxx"
 
 namespace oox {
@@ -46,8 +48,13 @@ ContextHandlerRef TableFragment::onCreateContext( sal_Int32 nElement, const Attr
             }
         break;
         case XLS_TOKEN( table ):
-            if( nElement == XLS_TOKEN( autoFilter ) )
-                return new AutoFilterContext( *this, mrTable.createAutoFilter() );
+            switch (nElement)
+            {
+                case XLS_TOKEN( autoFilter ):
+                    return new AutoFilterContext( *this, mrTable.createAutoFilter() );
+                case XLS_TOKEN( tableColumns ):
+                    return new TableColumnsContext( *this, mrTable.createTableColumns() );
+            }
         break;
     }
     return 0;
commit f2b1fb11278a01cd57fb1b469b890cebede1e5fd
Author: Eike Rathke <erack at redhat.com>
Date:   Tue Jun 23 22:43:07 2015 +0200

    TableRef: add ScDBData::maTableColumnNames
    
    Change-Id: Ifb95f76f518646e32d1df45a77f146ad3a255087
    (cherry picked from commit 6055eb2ca4c3c58f2e510b92bcf57c669bd56e3f)

diff --git a/sc/inc/dbdata.hxx b/sc/inc/dbdata.hxx
index 66b0532..c1d41f9 100644
--- a/sc/inc/dbdata.hxx
+++ b/sc/inc/dbdata.hxx
@@ -68,6 +68,8 @@ private:
     bool            bAutoFilter;        ///< AutoFilter? (not saved)
     bool            bModified;          ///< is set/cleared for/by(?) UpdateReference
 
+    ::std::vector< OUString > maTableColumnNames;   ///< names of table columns
+
     using ScRefreshTimer::operator==;
 
 public:
@@ -108,6 +110,8 @@ public:
     void        SetKeepFmt(bool bSet)           { bKeepFmt = bSet; }
     bool        IsStripData() const             { return bStripData; }
     void        SetStripData(bool bSet)         { bStripData = bSet; }
+    const ::std::vector< OUString >& GetTableColumnNames() { return maTableColumnNames; }
+    void        SetTableColumnNames( const ::std::vector< OUString >& rNames ) { maTableColumnNames = rNames; }
 
     OUString GetSourceString() const;
     OUString GetOperations() const;
diff --git a/sc/source/core/tool/dbdata.cxx b/sc/source/core/tool/dbdata.cxx
index 56b0bc8..34c2f69 100644
--- a/sc/source/core/tool/dbdata.cxx
+++ b/sc/source/core/tool/dbdata.cxx
@@ -102,7 +102,8 @@ ScDBData::ScDBData( const ScDBData& rData ) :
     bDBSelection        (rData.bDBSelection),
     nIndex              (rData.nIndex),
     bAutoFilter         (rData.bAutoFilter),
-    bModified           (rData.bModified)
+    bModified           (rData.bModified),
+    maTableColumnNames  (rData.maTableColumnNames)
 {
 }
 
@@ -130,7 +131,8 @@ ScDBData::ScDBData( const OUString& rName, const ScDBData& rData ) :
     bDBSelection        (rData.bDBSelection),
     nIndex              (rData.nIndex),
     bAutoFilter         (rData.bAutoFilter),
-    bModified           (rData.bModified)
+    bModified           (rData.bModified),
+    maTableColumnNames  (rData.maTableColumnNames)
 {
     aUpper = ScGlobal::pCharClass->uppercase(aUpper);
 }
@@ -160,6 +162,7 @@ ScDBData& ScDBData::operator= (const ScDBData& rData)
     bDBSelection        = rData.bDBSelection;
     nIndex              = rData.nIndex;
     bAutoFilter         = rData.bAutoFilter;
+    maTableColumnNames  = rData.maTableColumnNames;
 
     return *this;
 }


More information about the Libreoffice-commits mailing list