[Libreoffice-commits] .: 8 commits - sc/inc sc/qa sc/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Tue Jan 15 10:10:19 PST 2013


 sc/inc/colorscale.hxx                          |    9 ++++++++
 sc/inc/fillinfo.hxx                            |    1 
 sc/qa/unit/data/contentCSV/matrix3.csv         |    6 +++++
 sc/qa/unit/data/ods/matrix.ods                 |binary
 sc/qa/unit/subsequent_filters-test.cxx         |   14 +++++++++---
 sc/source/core/data/colorscale.cxx             |   12 ++++++++--
 sc/source/filter/excel/xecontent.cxx           |    2 +
 sc/source/filter/oox/condformatbuffer.cxx      |    2 +
 sc/source/filter/xml/xmlcondformat.cxx         |   13 ++++++++++-
 sc/source/filter/xml/xmlexprt.cxx              |    2 +
 sc/source/filter/xml/xmlimprt.cxx              |    1 
 sc/source/filter/xml/xmlimprt.hxx              |    3 +-
 sc/source/ui/condformat/condformatdlgentry.cxx |   28 +++++++++++++++++++------
 sc/source/ui/inc/condformatdlgentry.hxx        |   17 +--------------
 sc/source/ui/src/condformatdlg.src             |    2 -
 sc/source/ui/view/output2.cxx                  |    4 ++-
 16 files changed, 86 insertions(+), 30 deletions(-)

New commits:
commit 279b6f39cf4a13667dd8bcbe8766f900593633c9
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Tue Jan 15 17:36:18 2013 +0100

    the first icon in an icon set should be the negative one
    
    Change-Id: Ica3c48739c0f8597a72ea4d2346e406f147586a9

diff --git a/sc/source/core/data/colorscale.cxx b/sc/source/core/data/colorscale.cxx
index a402c7f..3d36b4d 100644
--- a/sc/source/core/data/colorscale.cxx
+++ b/sc/source/core/data/colorscale.cxx
@@ -1105,7 +1105,7 @@ sal_Int32 a5Quarters[] = {
 };
 
 sal_Int32 a3Symbols1[] = {
-    BMP_ICON_SET_SYMBOLS1_CHECK, BMP_ICON_SET_SYMBOLS1_EXCLAMATION_MARK, BMP_ICON_SET_SYMBOLS1_CROSS
+    BMP_ICON_SET_SYMBOLS1_CROSS, BMP_ICON_SET_SYMBOLS1_EXCLAMATION_MARK, BMP_ICON_SET_SYMBOLS1_CHECK
 };
 
 sal_Int32 a3Signs[] = {
commit 3e13802770cd77071063af9946af2f189a83aa8b
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Tue Jan 15 17:22:42 2013 +0100

    also support showing the icons in reverse order
    
    Change-Id: I919895589025ea360448b742e5ec6d6de4ca964c

diff --git a/sc/inc/colorscale.hxx b/sc/inc/colorscale.hxx
index 8311de3..b63c721 100644
--- a/sc/inc/colorscale.hxx
+++ b/sc/inc/colorscale.hxx
@@ -313,10 +313,15 @@ struct ScIconSetFormatData
 {
     ScIconSetType eIconSetType;
     bool mbShowValue;
+    /**
+     * Specifies whether the icons should be shown in reverse order
+     */
+    bool mbReverse;
     boost::ptr_vector<ScColorScaleEntry> maEntries;
 
     ScIconSetFormatData():
-        mbShowValue(true) {}
+        mbShowValue(true),
+        mbReverse(false) {}
 };
 
 class SC_DLLPUBLIC ScIconSetFormat : public ScColorFormat
diff --git a/sc/source/core/data/colorscale.cxx b/sc/source/core/data/colorscale.cxx
index 27be283..a402c7f 100644
--- a/sc/source/core/data/colorscale.cxx
+++ b/sc/source/core/data/colorscale.cxx
@@ -907,7 +907,13 @@ ScIconSetInfo* ScIconSetFormat::GetIconSetInfo(const ScAddress& rAddr) const
     if(nVal > nValMax)
         ++nIndex;
 
-    pInfo->nIconIndex = nIndex;
+    if(mpFormatData->mbReverse)
+    {
+        sal_Int32 nMaxIndex = mpFormatData->maEntries.size() - 1;
+        pInfo->nIconIndex = nMaxIndex - nIndex;
+    }
+    else
+        pInfo->nIconIndex = nIndex;
     pInfo->eIconSetType = mpFormatData->eIconSetType;
     pInfo->mbShowValue = mpFormatData->mbShowValue;
     return pInfo;
diff --git a/sc/source/filter/excel/xecontent.cxx b/sc/source/filter/excel/xecontent.cxx
index 06eda0e..0120a38 100644
--- a/sc/source/filter/excel/xecontent.cxx
+++ b/sc/source/filter/excel/xecontent.cxx
@@ -1363,6 +1363,7 @@ void XclExpIconSet::SaveXml( XclExpXmlStream& rStrm )
     rWorksheet->startElement( XML_iconSet,
             XML_iconSet, pIconSetName,
             XML_showValue, mrFormat.GetIconSetData()->mbShowValue ? NULL : "0",
+            XML_reverse, mrFormat.GetIconSetData()->mbReverse ? "1" : NULL,
             FSEND );
 
     maCfvoList.SaveXml( rStrm );
diff --git a/sc/source/filter/oox/condformatbuffer.cxx b/sc/source/filter/oox/condformatbuffer.cxx
index 22add85..0fd094e 100644
--- a/sc/source/filter/oox/condformatbuffer.cxx
+++ b/sc/source/filter/oox/condformatbuffer.cxx
@@ -335,6 +335,7 @@ void IconSetRule::importAttribs( const AttributeList& rAttribs )
 {
     maIconSetType = rAttribs.getString( XML_iconSet, rtl::OUString("3TrafficLights1") );
     mpFormatData->mbShowValue = rAttribs.getBool( XML_showValue, true );
+    mpFormatData->mbReverse = rAttribs.getBool( XML_reverse, false );
 }
 
 void IconSetRule::SetData( ScIconSetFormat* pFormat, ScDocument* pDoc, const ScAddress& rPos )
commit af1db964b82c6f1583a7e851656f765a222b14c1
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Tue Jan 15 16:49:08 2013 +0100

    support to hide the value in icon sets also for OOXML
    
    Change-Id: I506b9e14166576ceced880e5032d492e83b7a52d

diff --git a/sc/source/filter/excel/xecontent.cxx b/sc/source/filter/excel/xecontent.cxx
index a58f1b0..06eda0e 100644
--- a/sc/source/filter/excel/xecontent.cxx
+++ b/sc/source/filter/excel/xecontent.cxx
@@ -1362,6 +1362,7 @@ void XclExpIconSet::SaveXml( XclExpXmlStream& rStrm )
     const char* pIconSetName = getIconSetName(mrFormat.GetIconSetData()->eIconSetType);
     rWorksheet->startElement( XML_iconSet,
             XML_iconSet, pIconSetName,
+            XML_showValue, mrFormat.GetIconSetData()->mbShowValue ? NULL : "0",
             FSEND );
 
     maCfvoList.SaveXml( rStrm );
diff --git a/sc/source/filter/oox/condformatbuffer.cxx b/sc/source/filter/oox/condformatbuffer.cxx
index 604b97f..22add85 100644
--- a/sc/source/filter/oox/condformatbuffer.cxx
+++ b/sc/source/filter/oox/condformatbuffer.cxx
@@ -334,6 +334,7 @@ void IconSetRule::importCfvo( const AttributeList& rAttribs )
 void IconSetRule::importAttribs( const AttributeList& rAttribs )
 {
     maIconSetType = rAttribs.getString( XML_iconSet, rtl::OUString("3TrafficLights1") );
+    mpFormatData->mbShowValue = rAttribs.getBool( XML_showValue, true );
 }
 
 void IconSetRule::SetData( ScIconSetFormat* pFormat, ScDocument* pDoc, const ScAddress& rPos )
commit 50f8fcbcc388243f821c52d75bb516858abe688d
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Tue Jan 15 16:32:45 2013 +0100

    support to hide the cell value when using icon sets
    
    Change-Id: I1ed002758a3c073f950cec2b2222cfc0d3684df7

diff --git a/sc/inc/colorscale.hxx b/sc/inc/colorscale.hxx
index e7b611b..8311de3 100644
--- a/sc/inc/colorscale.hxx
+++ b/sc/inc/colorscale.hxx
@@ -312,7 +312,11 @@ private:
 struct ScIconSetFormatData
 {
     ScIconSetType eIconSetType;
+    bool mbShowValue;
     boost::ptr_vector<ScColorScaleEntry> maEntries;
+
+    ScIconSetFormatData():
+        mbShowValue(true) {}
 };
 
 class SC_DLLPUBLIC ScIconSetFormat : public ScColorFormat
diff --git a/sc/inc/fillinfo.hxx b/sc/inc/fillinfo.hxx
index 23d0f9b..e3fdb6e 100644
--- a/sc/inc/fillinfo.hxx
+++ b/sc/inc/fillinfo.hxx
@@ -87,6 +87,7 @@ struct ScIconSetInfo
 {
     sal_Int32 nIconIndex;
     ScIconSetType eIconSetType;
+    bool mbShowValue;
 };
 
 struct CellInfo
diff --git a/sc/source/core/data/colorscale.cxx b/sc/source/core/data/colorscale.cxx
index f5d23c1..27be283 100644
--- a/sc/source/core/data/colorscale.cxx
+++ b/sc/source/core/data/colorscale.cxx
@@ -909,6 +909,7 @@ ScIconSetInfo* ScIconSetFormat::GetIconSetInfo(const ScAddress& rAddr) const
 
     pInfo->nIconIndex = nIndex;
     pInfo->eIconSetType = mpFormatData->eIconSetType;
+    pInfo->mbShowValue = mpFormatData->mbShowValue;
     return pInfo;
 }
 
diff --git a/sc/source/filter/xml/xmlcondformat.cxx b/sc/source/filter/xml/xmlcondformat.cxx
index 8b97a78..e3f3903 100644
--- a/sc/source/filter/xml/xmlcondformat.cxx
+++ b/sc/source/filter/xml/xmlcondformat.cxx
@@ -310,7 +310,7 @@ ScXMLIconSetFormatContext::ScXMLIconSetFormatContext(ScXMLImport& rImport, sal_u
                         ScConditionalFormat* pFormat):
     SvXMLImportContext( rImport, nPrfx, rLName )
 {
-    rtl::OUString aIconSetType;
+    rtl::OUString aIconSetType, sShowValue;
     sal_Int16 nAttrCount(xAttrList.is() ? xAttrList->getLength() : 0);
     const SvXMLTokenMap& rAttrTokenMap = GetScImport().GetIconSetAttrMap();
     for( sal_Int16 i=0; i < nAttrCount; ++i )
@@ -326,6 +326,9 @@ ScXMLIconSetFormatContext::ScXMLIconSetFormatContext(ScXMLImport& rImport, sal_u
             case XML_TOK_ICONSET_TYPE:
                 aIconSetType = sValue;
                 break;
+            case XML_TOK_ICONSET_SHOWVALUE:
+                sShowValue = sValue;
+                break;
             default:
                 break;
         }
@@ -345,6 +348,14 @@ ScXMLIconSetFormatContext::ScXMLIconSetFormatContext(ScXMLImport& rImport, sal_u
 
     ScIconSetFormat* pIconSetFormat = new ScIconSetFormat(GetScImport().GetDocument());
     ScIconSetFormatData* pIconSetFormatData = new ScIconSetFormatData;
+
+    if(!sShowValue.isEmpty())
+    {
+        bool bShowValue = true;
+        sax::Converter::convertBool( bShowValue, sShowValue );
+        pIconSetFormatData->mbShowValue = !bShowValue;
+    }
+
     pIconSetFormatData->eIconSetType = eType;
     pIconSetFormat->SetIconSetData(pIconSetFormatData);
     pFormat->AddEntry(pIconSetFormat);
diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx
index 3e4599e..de931b0 100644
--- a/sc/source/filter/xml/xmlexprt.cxx
+++ b/sc/source/filter/xml/xmlexprt.cxx
@@ -4059,6 +4059,8 @@ void ScXMLExport::ExportConditionalFormat(SCTAB nTab)
                         rtl::OUString aIconSetName = getIconSetName(mrIconSet.GetIconSetData()->eIconSetType);
                         AddAttribute( XML_NAMESPACE_CALC_EXT, XML_ICON_SET_TYPE, aIconSetName );
                         SvXMLElementExport aElementColorScale(*this, XML_NAMESPACE_CALC_EXT, XML_ICON_SET, true, true);
+                        if(!mrIconSet.GetIconSetData()->mbShowValue)
+                            AddAttribute(XML_NAMESPACE_CALC_EXT, XML_SHOW_VALUE, XML_FALSE);
                         for(ScIconSetFormat::const_iterator it = mrIconSet.begin();
                                 it != mrIconSet.end(); ++it)
                         {
diff --git a/sc/source/filter/xml/xmlimprt.cxx b/sc/source/filter/xml/xmlimprt.cxx
index b7f229c..717d0ee 100644
--- a/sc/source/filter/xml/xmlimprt.cxx
+++ b/sc/source/filter/xml/xmlimprt.cxx
@@ -733,6 +733,7 @@ const SvXMLTokenMap& ScXMLImport::GetIconSetAttrMap()
         static SvXMLTokenMapEntry aIconSetAttrTokenMap[] =
         {
             { XML_NAMESPACE_CALC_EXT, XML_ICON_SET_TYPE, XML_TOK_ICONSET_TYPE },
+            { XML_NAMESPACE_CALC_EXT, XML_SHOW_VALUE, XML_TOK_ICONSET_SHOWVALUE },
             XML_TOKEN_MAP_END
         };
 
diff --git a/sc/source/filter/xml/xmlimprt.hxx b/sc/source/filter/xml/xmlimprt.hxx
index 87f3f3e..ee5708f 100644
--- a/sc/source/filter/xml/xmlimprt.hxx
+++ b/sc/source/filter/xml/xmlimprt.hxx
@@ -205,7 +205,8 @@ enum ScXMLDataBarEntryAttrTokens
 
 enum ScXMLIconSetAttrTokens
 {
-    XML_TOK_ICONSET_TYPE
+    XML_TOK_ICONSET_TYPE,
+    XML_TOK_ICONSET_SHOWVALUE
 };
 
 enum ScXMLLabelRangesElemTokens
diff --git a/sc/source/ui/view/output2.cxx b/sc/source/ui/view/output2.cxx
index 58f7f6d..474043d 100644
--- a/sc/source/ui/view/output2.cxx
+++ b/sc/source/ui/view/output2.cxx
@@ -1545,11 +1545,13 @@ void ScOutputData::DrawStrings( sal_Bool bPixelToLogic )
                 if ( bDoCell && bEditMode && nCellX == nEditCol && nCellY == nEditRow )
                     bDoCell = false;
 
-                // skip text in cell if data bar is set and only value selected
+                // skip text in cell if data bar/icon set is set and only value selected
                 if ( bDoCell )
                 {
                     if(pInfo->pDataBar && !pInfo->pDataBar->mbShowValue)
                         bDoCell = false;
+                    if(pInfo->pIconSet && !pInfo->pIconSet->mbShowValue)
+                        bDoCell = false;
                 }
 
                 //
commit 6240d455e179e202bbadffd170965a1e61d5f896
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Tue Jan 15 16:14:34 2013 +0100

    move this class from the header file to the source file
    
    Change-Id: Idd4f79718326770426b6e297c1753af062c7396d

diff --git a/sc/source/ui/condformat/condformatdlgentry.cxx b/sc/source/ui/condformat/condformatdlgentry.cxx
index 994d672..20e3f81 100644
--- a/sc/source/ui/condformat/condformatdlgentry.cxx
+++ b/sc/source/ui/condformat/condformatdlgentry.cxx
@@ -1224,7 +1224,23 @@ IMPL_LINK_NOARG( ScDateFrmtEntry, StyleSelectHdl )
     return 0;
 }
 
-ScIconSetFrmtEntry::ScIconSetFrmtDataEntry::ScIconSetFrmtDataEntry( Window* pParent, ScIconSetType eType, sal_Int32 i, const ScColorScaleEntry* pEntry ):
+class ScIconSetFrmtDataEntry : public Control
+{
+    private:
+        FixedImage maImgIcon;
+        FixedText maFtEntry;
+        Edit maEdEntry;
+        ListBox maLbEntryType;
+
+    public:
+        ScIconSetFrmtDataEntry( Window* pParent, ScIconSetType eType, sal_Int32 i, const ScColorScaleEntry* pEntry = NULL );
+
+        ScColorScaleEntry* CreateEntry(ScDocument* pDoc, const ScAddress& rPos) const;
+
+        void SetFirstEntry();
+};
+
+ScIconSetFrmtDataEntry::ScIconSetFrmtDataEntry( Window* pParent, ScIconSetType eType, sal_Int32 i, const ScColorScaleEntry* pEntry ):
     Control( pParent, ScResId( RID_ICON_SET_ENTRY ) ),
     maImgIcon( this, ScResId( IMG_ICON ) ),
     maFtEntry( this, ScResId( FT_ICON_SET_ENTRY_TEXT ) ),
@@ -1263,7 +1279,7 @@ ScIconSetFrmtEntry::ScIconSetFrmtDataEntry::ScIconSetFrmtDataEntry( Window* pPar
     FreeResource();
 }
 
-ScColorScaleEntry* ScIconSetFrmtEntry::ScIconSetFrmtDataEntry::CreateEntry(ScDocument* pDoc, const ScAddress& rPos) const
+ScColorScaleEntry* ScIconSetFrmtDataEntry::CreateEntry(ScDocument* pDoc, const ScAddress& rPos) const
 {
     sal_Int32 nPos = maLbEntryType.GetSelectEntryPos();
     rtl::OUString aText = maEdEntry.GetText();
@@ -1297,7 +1313,7 @@ ScColorScaleEntry* ScIconSetFrmtEntry::ScIconSetFrmtDataEntry::CreateEntry(ScDoc
     return pEntry;
 }
 
-void ScIconSetFrmtEntry::ScIconSetFrmtDataEntry::SetFirstEntry()
+void ScIconSetFrmtDataEntry::SetFirstEntry()
 {
     maEdEntry.Hide();
     maLbEntryType.Hide();
diff --git a/sc/source/ui/inc/condformatdlgentry.hxx b/sc/source/ui/inc/condformatdlgentry.hxx
index 0723aa6..a80c7d7 100644
--- a/sc/source/ui/inc/condformatdlgentry.hxx
+++ b/sc/source/ui/inc/condformatdlgentry.hxx
@@ -11,6 +11,8 @@
 #include "conditio.hxx"
 #include <formula/funcutl.hxx>
 
+class ScIconSetFrmtDataEntry;
+
 namespace condformat {
 
 namespace entry {
@@ -248,21 +250,6 @@ class ScIconSetFrmtEntry : public ScCondFrmtEntry
     // icon set ui elements
     ListBox maLbIconSetType;
 
-    class ScIconSetFrmtDataEntry : public Control
-    {
-    private:
-        FixedImage maImgIcon;
-        FixedText maFtEntry;
-        Edit maEdEntry;
-        ListBox maLbEntryType;
-
-    public:
-        ScIconSetFrmtDataEntry( Window* pParent, ScIconSetType eType, sal_Int32 i, const ScColorScaleEntry* pEntry = NULL );
-
-        ScColorScaleEntry* CreateEntry(ScDocument* pDoc, const ScAddress& rPos) const;
-
-        void SetFirstEntry();
-    };
     typedef boost::ptr_vector<ScIconSetFrmtDataEntry> ScIconSetFrmtDateEntriesType;
     ScIconSetFrmtDateEntriesType maEntries;
 
commit e6ec7b16f2fda4d6624b06506ccfa2a4c5bc4cbb
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Tue Jan 15 16:00:38 2013 +0100

    create correct icon set information, fdo#58610
    
    The old code was mixing two different concepts. In the UI we used that a
    ScColorScaleEntry means <= this value while in the filter and the render
    information generation it meant >= the value.
    
    Now everything follows the >= pattern.
    
    Change-Id: I67c03d93c5c6051054b90f6e8200206c3616d49b

diff --git a/sc/source/ui/condformat/condformatdlgentry.cxx b/sc/source/ui/condformat/condformatdlgentry.cxx
index 487842a..994d672 100644
--- a/sc/source/ui/condformat/condformatdlgentry.cxx
+++ b/sc/source/ui/condformat/condformatdlgentry.cxx
@@ -1297,11 +1297,13 @@ ScColorScaleEntry* ScIconSetFrmtEntry::ScIconSetFrmtDataEntry::CreateEntry(ScDoc
     return pEntry;
 }
 
-void ScIconSetFrmtEntry::ScIconSetFrmtDataEntry::SetLastEntry()
+void ScIconSetFrmtEntry::ScIconSetFrmtDataEntry::SetFirstEntry()
 {
     maEdEntry.Hide();
     maLbEntryType.Hide();
     maFtEntry.Hide();
+    maEdEntry.SetText(OUString("0"));
+    maLbEntryType.SelectEntryPos(1);
 }
 
 ScIconSetFrmtEntry::ScIconSetFrmtEntry( Window* pParent, ScDocument* pDoc, const ScAddress& rPos, const ScIconSetFormat* pFormat ):
@@ -1328,7 +1330,7 @@ ScIconSetFrmtEntry::ScIconSetFrmtEntry( Window* pParent, ScDocument* pDoc, const
             aPos.Y() += maEntries[0].GetSizePixel().Height() * i * 1.2;
             maEntries[i].SetPosPixel( aPos );
         }
-        maEntries.back().SetLastEntry();
+        maEntries.begin()->SetFirstEntry();
     }
     else
         IconSetTypeHdl(NULL);
@@ -1359,7 +1361,7 @@ IMPL_LINK_NOARG( ScIconSetFrmtEntry, IconSetTypeHdl )
         maEntries[i].SetPosPixel( aPos );
         maEntries[i].Show();
     }
-    maEntries.back().SetLastEntry();
+    maEntries.begin()->SetFirstEntry();
 
     SetHeight();
     static_cast<ScCondFormatList*>(GetParent())->RecalcAll();
diff --git a/sc/source/ui/inc/condformatdlgentry.hxx b/sc/source/ui/inc/condformatdlgentry.hxx
index 885443d..0723aa6 100644
--- a/sc/source/ui/inc/condformatdlgentry.hxx
+++ b/sc/source/ui/inc/condformatdlgentry.hxx
@@ -261,7 +261,7 @@ class ScIconSetFrmtEntry : public ScCondFrmtEntry
 
         ScColorScaleEntry* CreateEntry(ScDocument* pDoc, const ScAddress& rPos) const;
 
-        void SetLastEntry();
+        void SetFirstEntry();
     };
     typedef boost::ptr_vector<ScIconSetFrmtDataEntry> ScIconSetFrmtDateEntriesType;
     ScIconSetFrmtDateEntriesType maEntries;
diff --git a/sc/source/ui/src/condformatdlg.src b/sc/source/ui/src/condformatdlg.src
index ae5fc86..53df59c 100644
--- a/sc/source/ui/src/condformatdlg.src
+++ b/sc/source/ui/src/condformatdlg.src
@@ -382,7 +382,7 @@ Control RID_ICON_SET_ENTRY
     {
         Pos = MAP_APPFONT( 40, 0 );
         Size = MAP_APPFONT(40, 14);
-        Text [en-US] = " <= ";
+        Text [en-US] = " >= ";
     };
     Edit ED_ICON_SET_ENTRY_VALUE
     {
commit d81787416087827200ee12a8fbd25747fbfc3959
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Tue Jan 15 15:39:33 2013 +0100

    add test case for fdo#59293
    
    Change-Id: I5972a2805d8bc03b84a42fbba4b67923b3b77249

diff --git a/sc/qa/unit/data/contentCSV/matrix3.csv b/sc/qa/unit/data/contentCSV/matrix3.csv
new file mode 100644
index 0000000..4417d21
--- /dev/null
+++ b/sc/qa/unit/data/contentCSV/matrix3.csv
@@ -0,0 +1,6 @@
+1,,1,,
+1,
+#DIV/0!
+1
+1
+#DIV/0!
diff --git a/sc/qa/unit/data/ods/matrix.ods b/sc/qa/unit/data/ods/matrix.ods
index 7d26c2f..d3713cf 100644
Binary files a/sc/qa/unit/data/ods/matrix.ods and b/sc/qa/unit/data/ods/matrix.ods differ
diff --git a/sc/qa/unit/subsequent_filters-test.cxx b/sc/qa/unit/subsequent_filters-test.cxx
index 1720f3b..72dabde 100644
--- a/sc/qa/unit/subsequent_filters-test.cxx
+++ b/sc/qa/unit/subsequent_filters-test.cxx
@@ -475,11 +475,13 @@ void ScFiltersTest::testCachedMatrixFormulaResultsODS()
 
     //test matrix
     rtl::OUString aCSVFileName;
-    createCSVPath(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("matrix.")), aCSVFileName);
+    createCSVPath("matrix.", aCSVFileName);
     testFile(aCSVFileName, pDoc, 0);
     //test matrices with special cases
-    createCSVPath(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("matrix2.")), aCSVFileName);
+    createCSVPath("matrix2.", aCSVFileName);
     testFile(aCSVFileName, pDoc, 1);
+    createCSVPath("matrix3.", aCSVFileName);
+    testFile(aCSVFileName, pDoc, 2);
     //The above testFile() does not catch the below case.
     //If a matrix formula has a matrix reference cell that is intended to have
     //a blank text result, the matrix reference cell is actually saved(export)
@@ -487,7 +489,13 @@ void ScFiltersTest::testCachedMatrixFormulaResultsODS()
     //Import works around this by setting these cells as text cells so that
     //the blank text is used for display instead of the number 0.
     //If this is working properly, the following cell should NOT have value data.
-    //CPPUNIT_ASSERT(!pDoc->GetCell(ScAddress(3,5,1))->HasValueData());
+    // CPPUNIT_ASSERT(!pDoc->GetCell(ScAddress(3,0,2))->HasValueData());
+
+    // fdo#59293 with cached value import error formulas require special
+    // treatment
+    pDoc->SetString(2, 5, 2, "=ISERROR(A6)");
+    double nVal = pDoc->GetValue(2,5,2);
+    CPPUNIT_ASSERT_EQUAL(1.0, nVal);
 
     xDocSh->DoClose();
 }
commit 5b7db7ec86cc2aa8119fd29ec844d6b52f6c4fcf
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Tue Jan 15 07:06:06 2013 +0100

    Revert "fix icon set rendering information creation, fdo#58610"
    
    This reverts commit 0f6adf7a8cbccdb0a2697176a6e0e8cf58edd5fe.

diff --git a/sc/source/core/data/colorscale.cxx b/sc/source/core/data/colorscale.cxx
index 073fbdc..f5d23c1 100644
--- a/sc/source/core/data/colorscale.cxx
+++ b/sc/source/core/data/colorscale.cxx
@@ -894,6 +894,7 @@ ScIconSetInfo* ScIconSetFormat::GetIconSetInfo(const ScAddress& rAddr) const
 
     sal_Int32 nIndex = 0;
     const_iterator itr = begin();
+    ++itr;
     double nValMax = CalcValue(nMin, nMax, itr);
 
     ++itr;
diff --git a/sc/source/ui/condformat/condformatdlgentry.cxx b/sc/source/ui/condformat/condformatdlgentry.cxx
index 59ddfb3..487842a 100644
--- a/sc/source/ui/condformat/condformatdlgentry.cxx
+++ b/sc/source/ui/condformat/condformatdlgentry.cxx
@@ -1302,8 +1302,6 @@ void ScIconSetFrmtEntry::ScIconSetFrmtDataEntry::SetLastEntry()
     maEdEntry.Hide();
     maLbEntryType.Hide();
     maFtEntry.Hide();
-    maLbEntryType.SelectEntryPos(1);
-    maEdEntry.SetText(OUString("100"));
 }
 
 ScIconSetFrmtEntry::ScIconSetFrmtEntry( Window* pParent, ScDocument* pDoc, const ScAddress& rPos, const ScIconSetFormat* pFormat ):


More information about the Libreoffice-commits mailing list