diff options
author | Ivo Hinkelmann <ihi@openoffice.org> | 2007-11-21 15:06:36 +0000 |
---|---|---|
committer | Ivo Hinkelmann <ihi@openoffice.org> | 2007-11-21 15:06:36 +0000 |
commit | 7408980c49bb025c6df35b844abff2e0cfb88c88 (patch) | |
tree | e7be605d53c9f56cf6384aa0b97dbe5e5797f9dd /dbaccess/source/ui/misc/RtfReader.cxx | |
parent | 774a6a78358c2a1e807ce326456dbcb300fc67ad (diff) |
INTEGRATION: CWS dba24c (1.23.40); FILE MERGED
2007/11/12 15:48:17 oj 1.23.40.5: #i80917# reverse changes
2007/10/15 10:48:06 oj 1.23.40.4: #i80916# #i80917# special handling for table formats which doesn't have a header definition
2007/10/12 12:54:30 oj 1.23.40.3: #i80917# append first line as first data row
2007/10/12 12:31:12 oj 1.23.40.2: #i80917# append first line as first data row
2007/10/12 12:27:14 oj 1.23.40.1: #i80917# append first line as first data row
Diffstat (limited to 'dbaccess/source/ui/misc/RtfReader.cxx')
-rw-r--r-- | dbaccess/source/ui/misc/RtfReader.cxx | 42 |
1 files changed, 30 insertions, 12 deletions
diff --git a/dbaccess/source/ui/misc/RtfReader.cxx b/dbaccess/source/ui/misc/RtfReader.cxx index 120969ad546a..bc782d1c5388 100644 --- a/dbaccess/source/ui/misc/RtfReader.cxx +++ b/dbaccess/source/ui/misc/RtfReader.cxx @@ -4,9 +4,9 @@ * * $RCSfile: RtfReader.cxx,v $ * - * $Revision: 1.23 $ + * $Revision: 1.24 $ * - * last change: $Author: rt $ $Date: 2007-07-06 08:33:29 $ + * last change: $Author: ihi $ $Date: 2007-11-21 16:06:36 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -142,6 +142,7 @@ ORTFReader::ORTFReader( SvStream& rIn, ,ODatabaseExport(_rxConnection,_rxNumberF,_rM,pList,_pInfoMap) { DBG_CTOR(ORTFReader,NULL); + m_bAppendFirstLine = false; } // --------------------------------------------------------------------------- ORTFReader::ORTFReader(SvStream& rIn, @@ -156,6 +157,7 @@ ORTFReader::ORTFReader(SvStream& rIn, ,ODatabaseExport(nRows,_rColumnPositions,_rxNumberF,_rM,pList,_pInfoMap,_bAutoIncrementEnabled) { DBG_CTOR(ORTFReader,NULL); + m_bAppendFirstLine = false; } // --------------------------------------------------------------------------- ORTFReader::~ORTFReader() @@ -217,18 +219,30 @@ void ORTFReader::NextToken( int nToken ) m_nDefToken = (rtl_TextEncoding)nTokenValue; break; case RTF_TROWD: - if(!m_xTable.is()) // erste Zeile als Header verwenden - m_bError = !CreateTable(nToken); - else { - try + sal_uInt32 nTell = rInput.Tell(); // verndert vielleicht die Position des Streams + bool bInsertRow = true; + if ( !m_xTable.is() ) // erste Zeile als Header verwenden { - m_pUpdateHelper->moveToInsertRow(); // sonst neue Zeile anh"angen + m_bError = !CreateTable(nToken); + bInsertRow = m_bAppendFirstLine; + if ( m_bAppendFirstLine ) + { + rInput.Seek(nTell); + bInsertRow = true; + } } - catch(SQLException& e) - // UpdateFehlerbehandlung + if ( bInsertRow && !m_bError) { - showErrorDialog(e); + try + { + m_pUpdateHelper->moveToInsertRow(); // sonst neue Zeile anh"angen + } + catch(SQLException& e) + // UpdateFehlerbehandlung + { + showErrorDialog(e); + } } } break; @@ -350,7 +364,7 @@ sal_Bool ORTFReader::CreateTable(int nToken) { aColumnName.EraseLeadingChars(); aColumnName.EraseTrailingChars(); - if (!aColumnName.Len()) + if (!aColumnName.Len() || m_bAppendFirstLine ) aColumnName = String(ModuleRes(STR_COLUMN_NAME)); CreateDefaultColumn(aColumnName); @@ -380,8 +394,12 @@ sal_Bool ORTFReader::CreateTable(int nToken) sal_Bool bOk = !m_vDestVector.empty(); if(bOk) { - if(aColumnName.Len()) + if ( aColumnName.Len() ) + { + if ( m_bAppendFirstLine ) + aColumnName = String(ModuleRes(STR_COLUMN_NAME)); CreateDefaultColumn(aColumnName); + } m_bInTbl = sal_False; m_bFoundTable = sal_True; |