summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjoern Michaelsen <bjoern.michaelsen@canonical.com>2011-07-24 19:22:58 +0200
committerBjoern Michaelsen <bjoern.michaelsen@canonical.com>2011-07-24 19:22:58 +0200
commit478c04b447a51563b60478518c55e829379328c9 (patch)
tree32aa0c38dcd2aadb28332f257b5d1e261e7a5a5a
parent437225b84734243b1fb0ff048126d6b291eded0c (diff)
parent8dca87b15321b7081031730475b9577fc8f8e25c (diff)
Merge branch 'master' into feature/gnumake4feature/gnumake4
-rw-r--r--sc/Library_scui.mk2
-rw-r--r--sc/Library_vbaobj.mk2
-rw-r--r--sc/qa/unit/data/ods/named-ranges-global.odsbin0 -> 7925 bytes
-rw-r--r--sc/qa/unit/filters-test.cxx26
-rw-r--r--sc/source/core/tool/interpr3.cxx2
-rw-r--r--sc/source/filter/html/htmlpars.cxx131
-rw-r--r--sc/source/filter/inc/htmlpars.hxx2
-rw-r--r--sc/source/ui/src/popup.src1
8 files changed, 88 insertions, 78 deletions
diff --git a/sc/Library_scui.mk b/sc/Library_scui.mk
index f2e4056dc..a7f8fb3d9 100644
--- a/sc/Library_scui.mk
+++ b/sc/Library_scui.mk
@@ -119,7 +119,7 @@ $(eval $(call gb_Library_add_linked_libs,scui,\
advapi32 \
kernel32 \
msvcrt \
- oldnames \
+ $(gb_Library_win32_OLDNAMES) \
user32 \
uwinapi \
))
diff --git a/sc/Library_vbaobj.mk b/sc/Library_vbaobj.mk
index eb66b6919..7fe3d3803 100644
--- a/sc/Library_vbaobj.mk
+++ b/sc/Library_vbaobj.mk
@@ -152,7 +152,7 @@ $(eval $(call gb_Library_add_linked_libs,vbaobj,\
advapi32 \
kernel32 \
msvcrt \
- oldnames \
+ $(gb_Library_win32_OLDNAMES) \
user32 \
uwinapi \
))
diff --git a/sc/qa/unit/data/ods/named-ranges-global.ods b/sc/qa/unit/data/ods/named-ranges-global.ods
new file mode 100644
index 000000000..9d23d3209
--- /dev/null
+++ b/sc/qa/unit/data/ods/named-ranges-global.ods
Binary files differ
diff --git a/sc/qa/unit/filters-test.cxx b/sc/qa/unit/filters-test.cxx
index 58189b0c3..2753999f3 100644
--- a/sc/qa/unit/filters-test.cxx
+++ b/sc/qa/unit/filters-test.cxx
@@ -73,17 +73,20 @@ public:
virtual void tearDown();
void recursiveScan(const rtl::OUString &rFilter, const rtl::OUString &rURL, const rtl::OUString &rUserData, int nExpected);
- bool load(const rtl::OUString &rFilter, const rtl::OUString &rURL, const rtl::OUString &rUserData);
+ ScDocShellRef load(const rtl::OUString &rFilter, const rtl::OUString &rURL, const rtl::OUString &rUserData);
/**
* Ensure CVEs remain unbroken
*/
void testCVEs();
+ void testODSs();
+
CPPUNIT_TEST_SUITE(FiltersTest);
#if !defined(__OpenBSD__)
CPPUNIT_TEST(testCVEs);
#endif
+ CPPUNIT_TEST(testODSs);
CPPUNIT_TEST_SUITE_END();
private:
@@ -93,7 +96,7 @@ private:
::rtl::OUString m_aSrcRoot;
};
-bool FiltersTest::load(const rtl::OUString &rFilter, const rtl::OUString &rURL,
+ScDocShellRef FiltersTest::load(const rtl::OUString &rFilter, const rtl::OUString &rURL,
const rtl::OUString &rUserData)
{
SfxFilter aFilter(
@@ -104,7 +107,11 @@ bool FiltersTest::load(const rtl::OUString &rFilter, const rtl::OUString &rURL,
ScDocShellRef xDocShRef = new ScDocShell;
SfxMedium aSrcMed(rURL, STREAM_STD_READ, true);
aSrcMed.SetFilter(&aFilter);
- return xDocShRef->DoLoad(&aSrcMed);
+ if (!xDocShRef->DoLoad(&aSrcMed))
+ // load failed.
+ xDocShRef.Clear();
+
+ return xDocShRef;
}
void FiltersTest::recursiveScan(const rtl::OUString &rFilter, const rtl::OUString &rURL, const rtl::OUString &rUserData, int nExpected)
@@ -140,7 +147,7 @@ void FiltersTest::recursiveScan(const rtl::OUString &rFilter, const rtl::OUStrin
fprintf(stderr, "loading %s\n", aRes.getStr());
}
sal_uInt32 nStartTime = osl_getGlobalTimer();
- bool bRes = load(rFilter, sURL, rUserData);
+ bool bRes = load(rFilter, sURL, rUserData).Is();
sal_uInt32 nEndTime = osl_getGlobalTimer();
if (nExpected == indeterminate)
{
@@ -179,6 +186,17 @@ void FiltersTest::testCVEs()
}
+void FiltersTest::testODSs()
+{
+#if 0
+// TODO: loading of ods still fails. I need to look into this.
+ ScDocShellRef xDocSh = load(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("calc8")),
+ m_aSrcRoot + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/clone/calc/sc/qa/unit/data/ods/named-ranges-global.ods")), rtl::OUString());
+
+ CPPUNIT_ASSERT_MESSAGE("Failed to load named-ranges-global.ods.", xDocSh.Is());
+#endif
+}
+
FiltersTest::FiltersTest()
: m_aSrcRoot(RTL_CONSTASCII_USTRINGPARAM("file://"))
{
diff --git a/sc/source/core/tool/interpr3.cxx b/sc/source/core/tool/interpr3.cxx
index c631b15ad..62d670d65 100644
--- a/sc/source/core/tool/interpr3.cxx
+++ b/sc/source/core/tool/interpr3.cxx
@@ -2094,7 +2094,7 @@ void ScInterpreter::ScTInv()
return;
double fDF = ::rtl::math::approxFloor(GetDouble());
double fP = GetDouble();
- if (fDF < 1.0 || fDF >= 1.0E5 || fP <= 0.0 || fP > 1.0 )
+ if (fDF < 1.0 || fDF > 1.0E10 || fP <= 0.0 || fP > 1.0 )
{
PushIllegalArgument();
return;
diff --git a/sc/source/filter/html/htmlpars.cxx b/sc/source/filter/html/htmlpars.cxx
index f91dc7568..410578241 100644
--- a/sc/source/filter/html/htmlpars.cxx
+++ b/sc/source/filter/html/htmlpars.cxx
@@ -850,28 +850,27 @@ void ScHTMLLayoutParser::TableDataOn( ImportInfo* pInfo )
}
bInCell = sal_True;
sal_Bool bHorJustifyCenterTH = (pInfo->nToken == HTML_TABLEHEADER_ON);
- const HTMLOptions* pOptions = ((HTMLParser*)pInfo->pParser)->GetOptions();
- sal_uInt16 nArrLen = pOptions->Count();
- for ( sal_uInt16 i = 0; i < nArrLen; i++ )
+ const HTMLOptions& rOptions = static_cast<HTMLParser*>(pInfo->pParser)->GetOptions();
+ for (size_t i = 0, n = rOptions.size(); i < n; ++i)
{
- const HTMLOption* pOption = (*pOptions)[i];
- switch( pOption->GetToken() )
+ const HTMLOption& rOption = rOptions[i];
+ switch( rOption.GetToken() )
{
case HTML_O_COLSPAN:
{
- pActEntry->nColOverlap = ( SCCOL ) pOption->GetString().ToInt32();
+ pActEntry->nColOverlap = ( SCCOL ) rOption.GetString().ToInt32();
}
break;
case HTML_O_ROWSPAN:
{
- pActEntry->nRowOverlap = ( SCROW ) pOption->GetString().ToInt32();
+ pActEntry->nRowOverlap = ( SCROW ) rOption.GetString().ToInt32();
}
break;
case HTML_O_ALIGN:
{
bHorJustifyCenterTH = false;
SvxCellHorJustify eVal;
- const String& rOptVal = pOption->GetString();
+ const String& rOptVal = rOption.GetString();
if ( rOptVal.CompareIgnoreCaseToAscii( OOO_STRING_SVTOOLS_HTML_AL_right ) == COMPARE_EQUAL )
eVal = SVX_HOR_JUSTIFY_RIGHT;
else if ( rOptVal.CompareIgnoreCaseToAscii( OOO_STRING_SVTOOLS_HTML_AL_center ) == COMPARE_EQUAL )
@@ -887,7 +886,7 @@ void ScHTMLLayoutParser::TableDataOn( ImportInfo* pInfo )
case HTML_O_VALIGN:
{
SvxCellVerJustify eVal;
- const String& rOptVal = pOption->GetString();
+ const String& rOptVal = rOption.GetString();
if ( rOptVal.CompareIgnoreCaseToAscii( OOO_STRING_SVTOOLS_HTML_VA_top ) == COMPARE_EQUAL )
eVal = SVX_VER_JUSTIFY_TOP;
else if ( rOptVal.CompareIgnoreCaseToAscii( OOO_STRING_SVTOOLS_HTML_VA_middle ) == COMPARE_EQUAL )
@@ -901,25 +900,25 @@ void ScHTMLLayoutParser::TableDataOn( ImportInfo* pInfo )
break;
case HTML_O_WIDTH:
{
- pActEntry->nWidth = GetWidthPixel( pOption );
+ pActEntry->nWidth = GetWidthPixel( rOption );
}
break;
case HTML_O_BGCOLOR:
{
Color aColor;
- pOption->GetColor( aColor );
+ rOption.GetColor( aColor );
pActEntry->aItemSet.Put(
SvxBrushItem( aColor, ATTR_BACKGROUND ) );
}
break;
case HTML_O_SDVAL:
{
- pActEntry->pValStr = new String( pOption->GetString() );
+ pActEntry->pValStr = new String( rOption.GetString() );
}
break;
case HTML_O_SDNUM:
{
- pActEntry->pNumStr = new String( pOption->GetString() );
+ pActEntry->pNumStr = new String( rOption.GetString() );
}
break;
}
@@ -977,23 +976,22 @@ void ScHTMLLayoutParser::TableOn( ImportInfo* pInfo )
nLastWidth = nTableWidth;
if ( pInfo->nToken == HTML_TABLE_ON )
{ // es kann auch TD oder TH sein, wenn es vorher kein TABLE gab
- const HTMLOptions* pOptions = ((HTMLParser*)pInfo->pParser)->GetOptions();
- sal_uInt16 nArrLen = pOptions->Count();
- for ( sal_uInt16 i = 0; i < nArrLen; i++ )
+ const HTMLOptions& rOptions = static_cast<HTMLParser*>(pInfo->pParser)->GetOptions();
+ for (size_t i = 0, n = rOptions.size(); i < n; ++i)
{
- const HTMLOption* pOption = (*pOptions)[i];
- switch( pOption->GetToken() )
+ const HTMLOption& rOption = rOptions[i];
+ switch( rOption.GetToken() )
{
case HTML_O_WIDTH:
{ // Prozent: von Dokumentbreite bzw. aeusserer Zelle
- nTableWidth = GetWidthPixel( pOption );
+ nTableWidth = GetWidthPixel( rOption );
}
break;
case HTML_O_BORDER:
// Border is: ((pOption->GetString().Len() == 0) || (pOption->GetNumber() != 0));
break;
case HTML_O_ID:
- aTabName.Assign( pOption->GetString() );
+ aTabName.Assign( rOption.GetString() );
break;
}
}
@@ -1037,23 +1035,22 @@ void ScHTMLLayoutParser::TableOn( ImportInfo* pInfo )
nTableWidth = 0;
if ( pInfo->nToken == HTML_TABLE_ON )
{ // es kann auch TD oder TH sein, wenn es vorher kein TABLE gab
- const HTMLOptions* pOptions = ((HTMLParser*)pInfo->pParser)->GetOptions();
- sal_uInt16 nArrLen = pOptions->Count();
- for ( sal_uInt16 i = 0; i < nArrLen; i++ )
+ const HTMLOptions& rOptions = static_cast<HTMLParser*>(pInfo->pParser)->GetOptions();
+ for (size_t i = 0, n = rOptions.size(); i < n; ++i)
{
- const HTMLOption* pOption = (*pOptions)[i];
- switch( pOption->GetToken() )
+ const HTMLOption& rOption = rOptions[i];
+ switch( rOption.GetToken() )
{
case HTML_O_WIDTH:
{ // Prozent: von Dokumentbreite bzw. aeusserer Zelle
- nTableWidth = GetWidthPixel( pOption );
+ nTableWidth = GetWidthPixel( rOption );
}
break;
case HTML_O_BORDER:
//BorderOn is: ((pOption->GetString().Len() == 0) || (pOption->GetNumber() != 0));
break;
case HTML_O_ID:
- aTabName.Assign( pOption->GetString() );
+ aTabName.Assign( rOption.GetString() );
break;
}
}
@@ -1235,16 +1232,15 @@ void ScHTMLLayoutParser::Image( ImportInfo* pInfo )
{
ScHTMLImage* pImage = new ScHTMLImage;
pActEntry->maImageList.push_back( pImage );
- const HTMLOptions* pOptions = ((HTMLParser*)pInfo->pParser)->GetOptions();
- sal_uInt16 nArrLen = pOptions->Count();
- for ( sal_uInt16 i = 0; i < nArrLen; i++ )
+ const HTMLOptions& rOptions = static_cast<HTMLParser*>(pInfo->pParser)->GetOptions();
+ for (size_t i = 0, n = rOptions.size(); i < n; ++i)
{
- const HTMLOption* pOption = (*pOptions)[i];
- switch( pOption->GetToken() )
+ const HTMLOption& rOption = rOptions[i];
+ switch( rOption.GetToken() )
{
case HTML_O_SRC:
{
- pImage->aURL = INetURLObject::GetAbsURL( aBaseURL, pOption->GetString() );
+ pImage->aURL = INetURLObject::GetAbsURL( aBaseURL, rOption.GetString() );
}
break;
case HTML_O_ALT:
@@ -1253,28 +1249,28 @@ void ScHTMLLayoutParser::Image( ImportInfo* pInfo )
{ // ALT text only if not any image loaded
if ( pActEntry->aAltText.Len() )
pActEntry->aAltText.AppendAscii( "; " );
- pActEntry->aAltText += pOption->GetString();
+ pActEntry->aAltText += rOption.GetString();
}
}
break;
case HTML_O_WIDTH:
{
- pImage->aSize.Width() = (long)pOption->GetNumber();
+ pImage->aSize.Width() = (long)rOption.GetNumber();
}
break;
case HTML_O_HEIGHT:
{
- pImage->aSize.Height() = (long)pOption->GetNumber();
+ pImage->aSize.Height() = (long)rOption.GetNumber();
}
break;
case HTML_O_HSPACE:
{
- pImage->aSpace.X() = (long)pOption->GetNumber();
+ pImage->aSpace.X() = (long)rOption.GetNumber();
}
break;
case HTML_O_VSPACE:
{
- pImage->aSpace.Y() = (long)pOption->GetNumber();
+ pImage->aSpace.Y() = (long)rOption.GetNumber();
}
break;
}
@@ -1328,16 +1324,15 @@ void ScHTMLLayoutParser::Image( ImportInfo* pInfo )
void ScHTMLLayoutParser::ColOn( ImportInfo* pInfo )
{
- const HTMLOptions* pOptions = ((HTMLParser*)pInfo->pParser)->GetOptions();
- sal_uInt16 nArrLen = pOptions->Count();
- for ( sal_uInt16 i = 0; i < nArrLen; i++ )
+ const HTMLOptions& rOptions = static_cast<HTMLParser*>(pInfo->pParser)->GetOptions();
+ for (size_t i = 0, n = rOptions.size(); i < n; ++i)
{
- const HTMLOption* pOption = (*pOptions)[i];
- switch( pOption->GetToken() )
+ const HTMLOption& rOption = rOptions[i];
+ switch( rOption.GetToken() )
{
case HTML_O_WIDTH:
{
- sal_uInt16 nVal = GetWidthPixel( pOption );
+ sal_uInt16 nVal = GetWidthPixel( rOption );
MakeCol( pLocalColOffset, nColOffset, nVal, 0, 0 );
nColOffset = nColOffset + nVal;
}
@@ -1347,13 +1342,13 @@ void ScHTMLLayoutParser::ColOn( ImportInfo* pInfo )
}
-sal_uInt16 ScHTMLLayoutParser::GetWidthPixel( const HTMLOption* pOption )
+sal_uInt16 ScHTMLLayoutParser::GetWidthPixel( const HTMLOption& rOption )
{
- const String& rOptVal = pOption->GetString();
+ const String& rOptVal = rOption.GetString();
if ( rOptVal.Search('%') != STRING_NOTFOUND )
{ // Prozent
sal_uInt16 nW = (nTableWidth ? nTableWidth : (sal_uInt16) aPageSize.Width());
- return (sal_uInt16)((pOption->GetNumber() * nW) / 100);
+ return (sal_uInt16)((rOption.GetNumber() * nW) / 100);
}
else
{
@@ -1363,23 +1358,22 @@ sal_uInt16 ScHTMLLayoutParser::GetWidthPixel( const HTMLOption* pOption )
return 0;
}
else
- return (sal_uInt16)pOption->GetNumber(); // Pixel
+ return (sal_uInt16)rOption.GetNumber(); // Pixel
}
}
void ScHTMLLayoutParser::AnchorOn( ImportInfo* pInfo )
{
- const HTMLOptions* pOptions = ((HTMLParser*)pInfo->pParser)->GetOptions();
- sal_uInt16 nArrLen = pOptions->Count();
- for ( sal_uInt16 i = 0; i < nArrLen; i++ )
+ const HTMLOptions& rOptions = static_cast<HTMLParser*>(pInfo->pParser)->GetOptions();
+ for (size_t i = 0, n = rOptions.size(); i < n; ++i)
{
- const HTMLOption* pOption = (*pOptions)[i];
- switch( pOption->GetToken() )
+ const HTMLOption& rOption = rOptions[i];
+ switch( rOption.GetToken() )
{
case HTML_O_NAME:
{
- pActEntry->pName = new String( pOption->GetString() );
+ pActEntry->pName = new String( rOption.GetString() );
}
break;
}
@@ -1400,16 +1394,15 @@ void ScHTMLLayoutParser::FontOn( ImportInfo* pInfo )
{
if ( IsAtBeginningOfText( pInfo ) )
{ // nur am Anfang des Textes, gilt dann fuer gesamte Zelle
- const HTMLOptions* pOptions = ((HTMLParser*)pInfo->pParser)->GetOptions();
- sal_uInt16 nArrLen = pOptions->Count();
- for ( sal_uInt16 i = 0; i < nArrLen; i++ )
+ const HTMLOptions& rOptions = static_cast<HTMLParser*>(pInfo->pParser)->GetOptions();
+ for (size_t i = 0, n = rOptions.size(); i < n; ++i)
{
- const HTMLOption* pOption = (*pOptions)[i];
- switch( pOption->GetToken() )
+ const HTMLOption& rOption = rOptions[i];
+ switch( rOption.GetToken() )
{
case HTML_O_FACE :
{
- const String& rFace = pOption->GetString();
+ const String& rFace = rOption.GetString();
String aFontName;
xub_StrLen nPos = 0;
while( nPos != STRING_NOTFOUND )
@@ -1428,7 +1421,7 @@ void ScHTMLLayoutParser::FontOn( ImportInfo* pInfo )
break;
case HTML_O_SIZE :
{
- sal_uInt16 nSize = (sal_uInt16) pOption->GetNumber();
+ sal_uInt16 nSize = (sal_uInt16) rOption.GetNumber();
if ( nSize == 0 )
nSize = 1;
else if ( nSize > SC_HTML_FONTSIZES )
@@ -1440,7 +1433,7 @@ void ScHTMLLayoutParser::FontOn( ImportInfo* pInfo )
case HTML_O_COLOR :
{
Color aColor;
- pOption->GetColor( aColor );
+ rOption.GetColor( aColor );
pActEntry->aItemSet.Put( SvxColorItem( aColor, ATTR_FONT_COLOR ) );
}
break;
@@ -1457,7 +1450,7 @@ void ScHTMLLayoutParser::ProcToken( ImportInfo* pInfo )
{
case HTML_META:
{
- HTMLParser* pParser = (HTMLParser*) pInfo->pParser;
+ HTMLParser* pParser = static_cast<HTMLParser*>(pInfo->pParser);
uno::Reference<document::XDocumentPropertiesSupplier> xDPS(
mpDoc->GetDocumentShell()->GetModel(), uno::UNO_QUERY_THROW);
pParser->ParseMetaOptions(
@@ -1639,8 +1632,8 @@ class ScHTMLOptionIterator
private:
const HTMLOptions* mpOptions; /// The options array.
const HTMLOption* mpCurrOption; /// Current option.
- sal_uInt16 mnCount; /// Size of the options array.
- sal_uInt16 mnIndex; /// Next option to return.
+ size_t mnCount; /// Size of the options array.
+ size_t mnIndex; /// Next option to return.
public:
explicit ScHTMLOptionIterator( const ImportInfo& rInfo );
@@ -1661,17 +1654,17 @@ ScHTMLOptionIterator::ScHTMLOptionIterator( const ImportInfo& rInfo ) :
{
const HTMLParser* pParser = static_cast< const HTMLParser* >( rInfo.pParser );
if( pParser )
- mpOptions = pParser->GetOptions();
+ mpOptions = &pParser->GetOptions();
if( mpOptions )
- mnCount = mpOptions->Count();
+ mnCount = mpOptions->size();
if( mnCount )
- mpCurrOption = mpOptions->GetObject( 0 );
+ mpCurrOption = &mpOptions->front();
}
ScHTMLOptionIterator& ScHTMLOptionIterator::operator++()
{
if( mnIndex < mnCount ) ++mnIndex;
- mpCurrOption = (mnIndex < mnCount) ? mpOptions->GetObject( mnIndex ) : 0;
+ mpCurrOption = (mnIndex < mnCount) ? &(*mpOptions)[mnIndex] : 0;
return *this;
}
diff --git a/sc/source/filter/inc/htmlpars.hxx b/sc/source/filter/inc/htmlpars.hxx
index 117f0e5c2..c1ab90ea3 100644
--- a/sc/source/filter/inc/htmlpars.hxx
+++ b/sc/source/filter/inc/htmlpars.hxx
@@ -179,7 +179,7 @@ private:
void SetWidths();
void Adjust();
- sal_uInt16 GetWidthPixel( const HTMLOption* );
+ sal_uInt16 GetWidthPixel( const HTMLOption& );
sal_Bool IsAtBeginningOfText( ImportInfo* );
void TableOn( ImportInfo* );
diff --git a/sc/source/ui/src/popup.src b/sc/source/ui/src/popup.src
index 38038897d..b56a5fd58 100644
--- a/sc/source/ui/src/popup.src
+++ b/sc/source/ui/src/popup.src
@@ -381,7 +381,6 @@ Menu RID_POPUP_EDIT
};
};
};
- Text [ en-US ] = "St~yle";
};
//------------------------------
MenuItem { Separator = TRUE ; };