[Libreoffice-commits] core.git: Branch 'feature/orcus-continuous-integration' - 3528 commits - accessibility/inc accessibility/source android/abs-lib android/Bootstrap android/CustomTarget_android_desktop.mk android/CustomTarget_lo4android.mk android/default-document android/experimental android/mobile-config.py android/Module_android.mk avmedia/inc avmedia/Library_avmedia.mk avmedia/Module_avmedia.mk avmedia/source basctl/AllLangResTarget_basctl.mk basctl/source basctl/uiconfig basctl/UIConfig_basicide.mk basebmp/CppunitTest_basebmp.mk basebmp/source basegfx/CppunitTest_basegfx.mk basegfx/source basegfx/test basic/inc basic/qa basic/source bean/com bean/Jar_officebean.mk bean/qa bean/README bean/test binaryurp/source bin/count-todo-dialogs bin/distro-install-file-lists bin/find-german-comments bin/gbuild-to-ide bin/get-bugzilla-attachments-by-mimetype bin/lolcat bin/unpack-sources bridges/Jar_java_uno.mk bridges/Library_cpp_uno.mk bridges/source bridges/test canvas/opengl canvas/Package_opengl.m k canvas/source canvas/workben chart2/inc chart2/Library_chartcontroller.mk chart2/Library_chartcore.mk chart2/opengl chart2/Package_opengl.mk chart2/qa chart2/source chart2/uiconfig cli_ure/source codemaker/source codemaker/test comphelper/inc comphelper/qa comphelper/source compilerplugins/clang config_host/config_features.h.in config_host/config_global.h.in config_host.mk.in configmgr/qa configmgr/source configure.ac connectivity/com connectivity/inc connectivity/Jar_sdbc_hsqldb.mk connectivity/Library_odbc.mk connectivity/Package_postgresql-sdbc.mk connectivity/qa connectivity/source connectivity/workben cppcanvas/qa cppcanvas/source cppuhelper/source cppu/source cppu/util crashrep/source cui/AllLangResTarget_cui.mk cui/Library_cui.mk cui/source cui/uiconfig cui/UIConfig_cui.mk dbaccess/CppunitTest_dbaccess_embeddeddb_performancetest.mk dbaccess/CppunitTest_dbaccess_empty_stdlib_save.mk dbaccess/CppunitTest_dbaccess_hsqldb_test.mk dbaccess/CppunitTest_dbaccess_nolib_save.mk dbac cess/Library_dbu.mk dbaccess/Module_dbaccess.mk dbaccess/PythonTest_dbaccess_python.mk dbaccess/qa dbaccess/source dbaccess/uiconfig dbaccess/UIConfig_dbaccess.mk desktop/Package_scripts.mk desktop/scripts desktop/source desktop/test desktop/uiconfig desktop/UIConfig_deployment.mk desktop/unx dictionaries distro-configs/LibreOfficeAndroidAarch64.conf distro-configs/LibreOfficeLinux.conf distro-configs/LibreOfficeMacOSX64.conf distro-configs/LibreOfficeMacOSX.conf distro-configs/LibreOfficeWin32.conf distro-configs/OxygenOfficeLinux.conf download.lst drawinglayer/README drawinglayer/source dtrans/source editeng/inc editeng/qa editeng/source embeddedobj/Library_embobj.mk embeddedobj/source embeddedobj/test extensions/AllLangResTarget_scn.mk extensions/Executable_nsplugin.mk extensions/inc extensions/Library_npsoplugin.mk extensions/Module_extensions.mk extensions/Package_mdibundle.mk extensions/qa extensions/source extensions/StaticLibrary_npsoenv.mk extensions/uiconfig extensions/UIC onfig_sbibliography.mk extensions/WinResTarget_npsoplugin.mk extensions/workben external/apache-commons external/boost external/clucene external/coinmp external/collada2gltf external/curl external/firebird external/freetype external/glew external/glm external/hunspell external/icu external/jfreereport external/lcms2 external/libebook external/libeot external/libgltf external/libmariadb external/libmspub external/libmwaw external/libodfgen external/liborcus external/libpagemaker external/librevenge external/libvisio external/libxml2 external/libxmlsec external/libxslt external/lpsolve external/Module_external.mk external/mysqlcppconn external/neon external/np_sdk external/nss external/poppler external/python3 external/unixODBC extras/CustomTarget_autocorr.mk extras/Package_autocorr.mk extras/source filter/Configuration_filter.mk filter/CppunitTest_filter_met_test.mk filter/Module_filter.mk filter/qa filter/source filter/uiconfig forms/qa forms/source formula/source fpicker/source fpi cker/test framework/inc framework/qa framework/source .gitignore helpcompiler/inc helpcompiler/source helpcontent2 hwpfilter/inc hwpfilter/source i18nlangtag/source i18npool/inc i18npool/Library_localedata_euro.mk i18npool/source icon-themes/galaxy icon-themes/hicontrast icon-themes/sifr icon-themes/tango idlc/inc idlc/source idl/inc idl/source include/avmedia include/basebmp include/basegfx include/basic include/canvas include/codemaker include/com include/comphelper include/connectivity include/cppcanvas include/cppu include/cppuhelper include/dbaccess include/drawinglayer include/editeng include/filter include/formula include/helpcompiler include/i18nlangtag include/jvmfwk include/o3tl include/oox include/osl include/postmac.h include/postwin.h include/postx.h include/premac.h include/prewin.h include/prex.h include/rsc include/rtl include/sal include/salhelper include/sfx2 include/shell include/sot include/svl include/svtools include/svx include/test include/toolkit include/tool s include/tubes include/ucbhelper include/uno include/unotools include/vbahelper include/vcl include/xmloff instsetoo_native/CustomTarget_setup.mk instsetoo_native/Module_instsetoo_native.mk instsetoo_native/Package_setup.mk instsetoo_native/Package_setup_ure.mk instsetoo_native/util ios/CustomTarget_TiledLibreOffice_app.mk ios/experimental io/source ios/shared javaunohelper/com javaunohelper/JunitTest_juh.mk javaunohelper/Module_javaunohelper.mk javaunohelper/source javaunohelper/test jurt/com jurt/Jar_jurt.mk jurt/Library_jpipe.mk jurt/source jurt/test jvmfwk/distributions jvmfwk/inc jvmfwk/Library_jvmfwk.mk jvmfwk/Library_sunjavaplugin.mk jvmfwk/Module_jvmfwk.mk jvmfwk/Package_jreproperties.mk jvmfwk/plugins jvmfwk/README jvmfwk/source l10ntools/inc l10ntools/source leak-suppress.txt libreofficekit/Executable_tilebench.mk libreofficekit/Module_libreofficekit.mk libreofficekit/qa lingucomponent/source linguistic/source logerrit lotuswordpro/source m4/ax_boost_base.m4 Makefile.in m ysqlc/README mysqlc/source nlpsolver/src nlpsolver/ThirdParty o3tl/CppunitTest_o3tl_tests.mk o3tl/qa o3tl/README odk/config odk/CppunitTest_checkapi.mk odk/CppunitTest_odk_checkapi.mk odk/docs odk/examples odk/index.html odk/index_online.html odk/Module_odk.mk odk/Package_odk_headers.mk odk/qa odk/settings odk/source offapi/com officecfg/registry officecfg/util oovbaapi/ooo oox/CppunitTest_oox_tokenmap.mk oox/CustomTarget_generated.mk oox/inc oox/Module_oox.mk oox/qa oox/README oox/source package/inc package/qa package/source postprocess/CustomTarget_images.mk postprocess/Package_images.mk postprocess/Rdb_services.mk pyuno/CustomTarget_python_shell.mk pyuno/source qadevOOo/runner qadevOOo/testdocs qadevOOo/tests readlicense_oo/docs readlicense_oo/license README.Android README.cross registry/source reportbuilder/java reportdesign/inc reportdesign/source reportdesign/uiconfig reportdesign/UIConfig_dbreport.mk RepositoryExternal.mk Repository.mk RepositoryModule_build.mk RepositoryModu le_host.mk ridljar/com ridljar/test rsc/inc rsc/source sal/android sal/cppunittester sal/CppunitTest_sal_osl_process.mk salhelper/source sal/Library_sal.mk sal/osl sal/qa sal/rtl sal/textenc sal/workben sax/CppunitTest_sax.mk sax/CppunitTest_sax_parser.mk sax/Library_expwrap.mk sax/Library_sax.mk sax/qa sax/source scaddins/idl scaddins/source sc/CppunitTest_sc_annotationshapeobj.mk sc/CppunitTest_sc_tableautoformatfield.mk sc/CppunitTest_sc_ucalc.mk sc/inc sc/Library_scfilt.mk sc/Library_sc.mk sc/Library_scopencl.mk sc/Library_scqahelper.mk sc/Library_vbaobj.mk scp2/AutoInstall.mk scp2/inc scp2/InstallModule_base.mk scp2/InstallModule_calc.mk scp2/InstallModule_draw.mk scp2/InstallModule_graphicfilter.mk scp2/InstallModule_impress.mk scp2/InstallModule_math.mk scp2/InstallModule_ooo.mk scp2/InstallModule_python.mk scp2/InstallModule_ure.mk scp2/InstallModule_winexplorerext.mk scp2/InstallModule_writer.mk scp2/source sc/qa scripting/astyle.options scripting/examples scripting/Format_ java_code.sh scripting/java scripting/README scripting/source scripting/workben sc/sdi sc/source sc/uiconfig sc/workben sd/AllLangResTarget_sd.mk sd/CppunitTest_sd_export_tests.mk sd/CppunitTest_sd_filters_test.mk sd/CppunitTest_sd_uimpress.mk sdext/source sd/inc sd/Library_sd.mk sd/qa sd/sdi sd/source sd/uiconfig setup_native/source sfx2/inc sfx2/Library_sfx.mk sfx2/qa sfx2/sdi sfx2/source sfx2/uiconfig sfx2/UIConfig_sfx.mk sfx2/util shell/inc shell/source slideshow/Library_OGLTrans.mk slideshow/Package_opengl.mk slideshow/source slideshow/test smoketest/com smoketest/data smoketest/org solenv/bin solenv/gbuild solenv/gcc-wrappers solenv/gdb solenv/inc soltools/cpp soltools/mkdepend sot/qa sot/source starmath/inc starmath/qa starmath/source starmath/uiconfig starmath/UIConfig_smath.mk stoc/source stoc/test svgio/CppunitTest_svgio.mk svgio/inc svgio/qa svgio/source svl/Library_svl.mk svl/source svtools/inc svtools/Library_svt.mk svtools/qa svtools/source svtools/uiconfig svtools/UIC onfig_svt.mk svx/AllLangResTarget_svx.mk svx/CppunitTest_svx_unit.mk svx/inc svx/Library_svxcore.mk svx/Library_svx.mk svx/Module_svx.mk svx/qa svx/README svx/sdi svx/source svx/uiconfig svx/UIConfig_svx.mk svx/workben sw/AllLangResTarget_sw.mk sw/CppunitTest_sw_htmlexport.mk sw/CppunitTest_sw_htmlimport.mk sw/CppunitTest_sw_mailmerge.mk sw/CppunitTest_sw_odfimport.mk sw/CppunitTest_sw_ooxmlexport2.mk sw/CppunitTest_sw_ooxmlexport3.mk sw/CppunitTest_sw_ooxmlexport4.mk sw/CppunitTest_sw_ooxmlexport5.mk sw/CppunitTest_sw_ooxmlexport.mk sw/CppunitTest_sw_ooxmlimport.mk sw/CppunitTest_sw_tox.mk swext/Extension_wiki-publisher.mk swext/mediawiki sw/inc sw/Library_sw.mk sw/Module_sw.mk sw/ooxmlexport_setup.mk sw/qa sw/README sw/sdi sw/source sw/uiconfig sw/UIConfig_swriter.mk sysui/CustomTarget_share.mk sysui/desktop sysui/Package_osxicons.mk test/Library_test.mk test/source testtools/com testtools/CustomTarget_uno_test.mk testtools/source toolkit/inc toolkit/qa toolkit/source toolkit/test tools/CppunitTest_tools_test.mk tools/inc tools/Library_tl.mk tools/qa tools/source tools/test translations ucbhelper/source ucb/qa ucb/source ucb/workben UnoControls/source unotest/source unotools/CppunitTest_unotools_fontdefs.mk unotools/Module_unotools.mk unotools/qa unotools/source unoxml/CppunitTest_unoxml_domtest.mk unoxml/Module_unoxml.mk unoxml/qa unoxml/source unoxml/test unusedcode.easy ure/Module_ure.mk ure/Package_builddir_install.mk ure/Package_install.mk ure/source uui/AllLangResTarget_uui.mk uui/source uui/uiconfig uui/UIConfig_uui.mk vbahelper/source vcl/android vcl/CppunitTest_vcl_filters_test.mk vcl/CppunitTest_vcl_fontcharmap.mk vcl/CppunitTest_vcl_timer.mk vcl/Executable_icontest.mk vcl/generic vcl/headless vcl/inc vcl/ios vcl/Library_vcl.mk vcl/Library_vclopengl.mk vcl/Module_vcl.mk vcl/osx vcl/qa vcl/quartz vcl/source vcl/uiconfig vcl/unx vcl/win vcl/workben winaccessibility/source wizards/com wizards/Jar_commonwizards.mk wizards/Package_access2base.mk wizards /source writerfilter/CustomTarget_source.mk writerfilter/documentation writerfilter/inc writerfilter/Library_writerfilter.mk writerfilter/qa writerfilter/README writerfilter/source writerperfect/CppunitTest_writerperfect_calc.mk writerperfect/inc writerperfect/Library_wpftcalc.mk writerperfect/Library_wpftdraw.mk writerperfect/qa writerperfect/source xmerge/source xmlhelp/source xmloff/inc xmloff/source xmlscript/source xmlscript/test xmlsecurity/inc xmlsecurity/source xmlsecurity/test_docs xmlsecurity/workben

Markus Mohrhard markus.mohrhard at collabora.co.uk
Tue Oct 28 09:31:01 PDT 2014


Rebased ref, commits from common ancestor:
commit 546e2a2d03a81a9ccc168e2ff63f3bbf2033f111
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Tue Oct 28 14:46:26 2014 +0100

    implement import_sheet_properties interface
    
    Change-Id: Ifed14df422c067fb6faacf370cbe9e1acf336d24

diff --git a/sc/source/filter/inc/orcusinterface.hxx b/sc/source/filter/inc/orcusinterface.hxx
index a9d1cd7..7e86530 100644
--- a/sc/source/filter/inc/orcusinterface.hxx
+++ b/sc/source/filter/inc/orcusinterface.hxx
@@ -102,6 +102,25 @@ private:
     ScRange maRange;
 };
 
+class ScOrcusSheetProperties : public orcus::spreadsheet::iface::import_sheet_properties
+{
+    ScDocumentImport& mrDoc;
+    SCTAB mnTab;
+public:
+    ScOrcusSheetProperties(SCTAB nTab, ScDocumentImport& rDoc);
+    virtual ~ScOrcusSheetProperties();
+
+    virtual void set_column_width(orcus::spreadsheet::col_t col, double width, orcus::length_unit_t unit) SAL_OVERRIDE;
+
+    virtual void set_column_hidden(orcus::spreadsheet::col_t col, bool hidden) SAL_OVERRIDE;
+
+    virtual void set_row_height(orcus::spreadsheet::row_t row, double height, orcus::length_unit_t unit) SAL_OVERRIDE;
+
+    virtual void set_row_hidden(orcus::spreadsheet::row_t row, bool hidden) SAL_OVERRIDE;
+
+    virtual void set_merge_cell_range(const char* p_range, size_t n_range) SAL_OVERRIDE;
+};
+
 class ScOrcusSheet : public orcus::spreadsheet::iface::import_sheet
 {
     ScDocumentImport& mrDoc;
@@ -109,6 +128,7 @@ class ScOrcusSheet : public orcus::spreadsheet::iface::import_sheet
     ScOrcusFactory& mrFactory;
     sc::SharedFormulaGroups maFormulaGroups;
     ScOrcusAutoFilter maAutoFilter;
+    ScOrcusSheetProperties maProperties;
 
     typedef std::map<size_t, ScRangeData*> SharedFormulaContainer;
     SharedFormulaContainer maSharedFormulas;
@@ -121,6 +141,7 @@ public:
     ScOrcusSheet(ScDocumentImport& rDoc, SCTAB nTab, ScOrcusFactory& rFactory);
 
     virtual orcus::spreadsheet::iface::import_auto_filter* get_auto_filter() SAL_OVERRIDE { return &maAutoFilter; }
+    virtual orcus::spreadsheet::iface::import_sheet_properties* get_sheet_properties() SAL_OVERRIDE;
 
     // Orcus import interface
     virtual void set_auto(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, const char* p, size_t n) SAL_OVERRIDE;
diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx
index d96ae77..8a00f21 100644
--- a/sc/source/filter/orcus/interface.cxx
+++ b/sc/source/filter/orcus/interface.cxx
@@ -212,8 +212,51 @@ void ScOrcusFactory::setStatusIndicator(const uno::Reference<task::XStatusIndica
     mxStatusIndicator = rIndicator;
 }
 
+ScOrcusSheetProperties::ScOrcusSheetProperties(SCTAB nTab, ScDocumentImport& rDoc):
+    mrDoc(rDoc),
+    mnTab(nTab)
+{
+}
+
+ScOrcusSheetProperties::~ScOrcusSheetProperties()
+{
+}
+
+void ScOrcusSheetProperties::set_column_width(os::col_t col, double width, orcus::length_unit_t /*unit*/)
+{
+    mrDoc.getDoc().SetColWidthOnly(col, mnTab, width);
+}
+
+void ScOrcusSheetProperties::set_column_hidden(os::col_t col, bool hidden)
+{
+    if (hidden)
+        mrDoc.getDoc().SetColHidden(col, col, mnTab, hidden);
+}
+
+void ScOrcusSheetProperties::set_row_height(os::row_t row, double height, orcus::length_unit_t /*unit*/)
+{
+    mrDoc.getDoc().SetRowHeightOnly(row, row,mnTab, height);
+}
+
+void ScOrcusSheetProperties::set_row_hidden(os::row_t row, bool hidden)
+{
+    if (hidden)
+        mrDoc.getDoc().SetRowHidden(row, row, mnTab, hidden);
+}
+
+void ScOrcusSheetProperties::set_merge_cell_range(const char* /*p_range*/, size_t /*n_range*/)
+{
+}
+
 ScOrcusSheet::ScOrcusSheet(ScDocumentImport& rDoc, SCTAB nTab, ScOrcusFactory& rFactory) :
-    mrDoc(rDoc), mnTab(nTab), mrFactory(rFactory), maAutoFilter(rDoc.getDoc()), mnCellCount(0) {}
+    mrDoc(rDoc),
+    mnTab(nTab),
+    mrFactory(rFactory),
+    maAutoFilter(rDoc.getDoc()),
+    maProperties(mnTab, mrDoc),
+    mnCellCount(0)
+{
+}
 
 void ScOrcusSheet::cellInserted()
 {
@@ -225,6 +268,11 @@ void ScOrcusSheet::cellInserted()
     }
 }
 
+os::iface::import_sheet_properties* ScOrcusSheet::get_sheet_properties()
+{
+    return &maProperties;
+}
+
 void ScOrcusSheet::set_auto(os::row_t row, os::col_t col, const char* p, size_t n)
 {
     OUString aVal(p, n, RTL_TEXTENCODING_UTF8);
commit 967fb16b4ce71360c88b35559e76ffbb409786bf
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Tue Oct 28 14:33:33 2014 +0100

    prevent default operator=
    
    Change-Id: Ibcd843a992b06b73e628b0249fb9f3ea723510d2

diff --git a/sc/inc/documentimport.hxx b/sc/inc/documentimport.hxx
index 4b84f0d..a6e4564 100644
--- a/sc/inc/documentimport.hxx
+++ b/sc/inc/documentimport.hxx
@@ -40,6 +40,7 @@ class SC_DLLPUBLIC ScDocumentImport : boost::noncopyable
     ScDocumentImportImpl* mpImpl;
 
     ScDocumentImport(); // disabled
+    ScDocumentImport& operator=(const ScDocumentImport&); //disabled
 
 public:
     ScDocumentImport(ScDocument& rDoc);
commit 3ad2a4032ffa5dfa4af40883fc86f3ca750c0c9e
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Tue Oct 28 00:12:06 2014 +0100

    don't protect the gnumeric filter with the USE_ORCUS flag
    
    Change-Id: Id91c7844879bea589bf97f999fd0c69669dfa7f6

diff --git a/framework/source/loadenv/loadenv.cxx b/framework/source/loadenv/loadenv.cxx
index c7be313..43c6e34 100644
--- a/framework/source/loadenv/loadenv.cxx
+++ b/framework/source/loadenv/loadenv.cxx
@@ -661,13 +661,6 @@ namespace {
 
 bool queryOrcusTypeAndFilter(const uno::Sequence<beans::PropertyValue>& rDescriptor, OUString& rType, OUString& rFilter)
 {
-    // depending on the experimental mode
-    uno::Reference< uno::XComponentContext > xContext = comphelper::getProcessComponentContext();
-    if (!xContext.is() || !officecfg::Office::Common::Misc::ExperimentalMode::get(xContext))
-    {
-        return false;
-    }
-
     OUString aURL;
     sal_Int32 nSize = rDescriptor.getLength();
     for (sal_Int32 i = 0; i < nSize; ++i)
@@ -683,10 +676,6 @@ bool queryOrcusTypeAndFilter(const uno::Sequence<beans::PropertyValue>& rDescrip
     if (aURL.isEmpty() || aURL.copy(0,8).equalsIgnoreAsciiCase("private:"))
         return false;
 
-    OUString aUseOrcus;
-    rtl::Bootstrap::get("LIBO_USE_ORCUS", aUseOrcus);
-    bool bUseOrcus = (aUseOrcus == "YES");
-
     // TODO : Type must be set to be generic_Text (or any other type that
     // exists) in order to find a usable loader. Exploit it as a temporary
     // hack.
@@ -698,6 +687,17 @@ bool queryOrcusTypeAndFilter(const uno::Sequence<beans::PropertyValue>& rDescrip
         return true;
     }
 
+    // depending on the experimental mode
+    uno::Reference< uno::XComponentContext > xContext = comphelper::getProcessComponentContext();
+    if (!xContext.is() || !officecfg::Office::Common::Misc::ExperimentalMode::get(xContext))
+    {
+        return false;
+    }
+
+    OUString aUseOrcus;
+    rtl::Bootstrap::get("LIBO_USE_ORCUS", aUseOrcus);
+    bool bUseOrcus = (aUseOrcus == "YES");
+
     if (!bUseOrcus)
         return false;
 
commit a75580ff0de55537287a39f38afafd9ada602266
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Tue Aug 26 15:18:19 2014 +0200

    import cell fill color
    
    Change-Id: Icbc6ef69a00f05ffa7bb78227968c13a16cdc7a0

diff --git a/sc/source/filter/inc/orcusinterface.hxx b/sc/source/filter/inc/orcusinterface.hxx
index 64f5e14..a9d1cd7 100644
--- a/sc/source/filter/inc/orcusinterface.hxx
+++ b/sc/source/filter/inc/orcusinterface.hxx
@@ -184,6 +184,8 @@ private:
         OUString maPattern;
         Color maFgColor;
         Color maBgColor;
+
+        void applyToItemSet(SfxItemSet& rSet) const;
     };
 
     fill maCurrentFill;
diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx
index 155dcf4..d96ae77 100644
--- a/sc/source/filter/orcus/interface.cxx
+++ b/sc/source/filter/orcus/interface.cxx
@@ -24,6 +24,7 @@
 #include <editeng/postitem.hxx>
 #include <editeng/wghtitem.hxx>
 #include <editeng/colritem.hxx>
+#include <editeng/brushitem.hxx>
 #include <editeng/udlnitem.hxx>
 
 #include <formula/token.hxx>
@@ -494,6 +495,14 @@ void ScOrcusStyles::font::applyToItemSet(SfxItemSet& rSet) const
     rSet.Put(SvxUnderlineItem(meUnderline, ATTR_FONT_UNDERLINE));
 }
 
+void ScOrcusStyles::fill::applyToItemSet(SfxItemSet& rSet) const
+{
+    if (maPattern.equalsIgnoreAsciiCase("none"))
+        return;
+
+    rSet.Put(SvxBrushItem(maFgColor, ATTR_BACKGROUND));
+}
+
 ScOrcusStyles::protection::protection():
     mbHidden(false),
     mbLocked(false)
@@ -627,22 +636,26 @@ void ScOrcusStyles::set_fill_count(size_t /*n*/)
     // needed at all?
 }
 
-void ScOrcusStyles::set_fill_pattern_type(const char* /*s*/, size_t /*n*/)
+void ScOrcusStyles::set_fill_pattern_type(const char* s, size_t n)
 {
+    maCurrentFill.maPattern = OUString(s, n, RTL_TEXTENCODING_UTF8);
 }
 
-void ScOrcusStyles::set_fill_fg_color(orcus::spreadsheet::color_elem_t /*alpha*/, orcus::spreadsheet::color_elem_t /*red*/, orcus::spreadsheet::color_elem_t /*green*/, orcus::spreadsheet::color_elem_t /*blue*/)
+void ScOrcusStyles::set_fill_fg_color(orcus::spreadsheet::color_elem_t alpha, orcus::spreadsheet::color_elem_t red, orcus::spreadsheet::color_elem_t green, orcus::spreadsheet::color_elem_t blue)
 {
+    maCurrentFill.maFgColor = Color(alpha, red, green, blue);
 }
 
-void ScOrcusStyles::set_fill_bg_color(orcus::spreadsheet::color_elem_t /*alpha*/, orcus::spreadsheet::color_elem_t /*red*/, orcus::spreadsheet::color_elem_t /*green*/, orcus::spreadsheet::color_elem_t /*blue*/)
+void ScOrcusStyles::set_fill_bg_color(orcus::spreadsheet::color_elem_t alpha, orcus::spreadsheet::color_elem_t red, orcus::spreadsheet::color_elem_t green, orcus::spreadsheet::color_elem_t blue)
 {
+    maCurrentFill.maBgColor = Color(alpha, red, green, blue);
 }
 
 size_t ScOrcusStyles::commit_fill()
 {
     SAL_INFO("sc.orcus.style", "commit fill");
-    return 0;
+    maFills.push_back(maCurrentFill);
+    return maFills.size() - 1;
 }
 
 // border
commit c22ab9140d37a47d9e2808c857795bc90b90d89b
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Tue Aug 26 15:17:19 2014 +0200

    we need to create the default styles in the interface right now
    
    We should fix this but it needs some work in the import code.
    
    Change-Id: If9ce52f6aa2b30faf832a89f39abef4b853a5ec1

diff --git a/sc/inc/stlpool.hxx b/sc/inc/stlpool.hxx
index e83aef0..15acaf8 100644
--- a/sc/inc/stlpool.hxx
+++ b/sc/inc/stlpool.hxx
@@ -21,6 +21,7 @@
 #define INCLUDED_SC_INC_STLPOOL_HXX
 
 #include <svl/style.hxx>
+#include "scdllapi.h"
 
 class ScStyleSheet;
 class ScDocument;
@@ -42,7 +43,7 @@ public:
     SfxStyleSheetBase*  GetActualStyleSheet ()
                                 { return pActualStyleSheet; }
 
-    void                CreateStandardStyles();
+    void SC_DLLPUBLIC CreateStandardStyles();
     void                CopyStdStylesFrom( ScStyleSheetPool* pSrcPool );
 
     void                CopyStyleFrom( ScStyleSheetPool* pSrcPool,
diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx
index 9ffdd45..155dcf4 100644
--- a/sc/source/filter/orcus/interface.cxx
+++ b/sc/source/filter/orcus/interface.cxx
@@ -471,6 +471,7 @@ size_t ScOrcusSharedStrings::commit_segments()
 ScOrcusStyles::ScOrcusStyles(ScDocument& rDoc):
     mrDoc(rDoc)
 {
+    mrDoc.GetStyleSheetPool()->CreateStandardStyles();
 }
 
 ScOrcusStyles::font::font():
commit 0c5b2e047fadaa148f3dd3e69ecb4ec9a5963383
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Tue Aug 26 15:14:41 2014 +0200

    import font underline
    
    Change-Id: I4857d9d49b9f6ef1b92a1d5f61f9f9e852620949

diff --git a/sc/source/filter/inc/orcusinterface.hxx b/sc/source/filter/inc/orcusinterface.hxx
index 5e7b597..64f5e14 100644
--- a/sc/source/filter/inc/orcusinterface.hxx
+++ b/sc/source/filter/inc/orcusinterface.hxx
@@ -14,6 +14,7 @@
 #include "documentimport.hxx"
 
 #include <tools/color.hxx>
+#include <tools/fontenum.hxx>
 
 #include "sharedformulagroups.hxx"
 
@@ -168,6 +169,7 @@ private:
         OUString maName;
         double mnSize;
         Color maColor;
+        FontUnderline meUnderline;
 
         font();
 
diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx
index d41d307..9ffdd45 100644
--- a/sc/source/filter/orcus/interface.cxx
+++ b/sc/source/filter/orcus/interface.cxx
@@ -24,6 +24,7 @@
 #include <editeng/postitem.hxx>
 #include <editeng/wghtitem.hxx>
 #include <editeng/colritem.hxx>
+#include <editeng/udlnitem.hxx>
 
 #include <formula/token.hxx>
 #include <tools/datetime.hxx>
@@ -475,7 +476,8 @@ ScOrcusStyles::ScOrcusStyles(ScDocument& rDoc):
 ScOrcusStyles::font::font():
     mbBold(false),
     mbItalic(false),
-    mnSize(10)
+    mnSize(10),
+    meUnderline(UNDERLINE_NONE)
 {
 }
 
@@ -488,6 +490,7 @@ void ScOrcusStyles::font::applyToItemSet(SfxItemSet& rSet) const
     rSet.Put(SvxWeightItem(eWeight, ATTR_FONT_WEIGHT));
 
     rSet.Put(SvxColorItem(maColor, ATTR_FONT_COLOR));
+    rSet.Put(SvxUnderlineItem(meUnderline, ATTR_FONT_UNDERLINE));
 }
 
 ScOrcusStyles::protection::protection():
@@ -583,8 +586,22 @@ void ScOrcusStyles::set_font_size(double point)
     maCurrentFont.mnSize = point;
 }
 
-void ScOrcusStyles::set_font_underline(orcus::spreadsheet::underline_t /*e*/)
+void ScOrcusStyles::set_font_underline(orcus::spreadsheet::underline_t e)
 {
+    switch(e)
+    {
+        case orcus::spreadsheet::underline_single:
+        case orcus::spreadsheet::underline_single_accounting:
+            maCurrentFont.meUnderline = UNDERLINE_SINGLE;
+            break;
+        case orcus::spreadsheet::underline_double:
+        case orcus::spreadsheet::underline_double_accounting:
+            maCurrentFont.meUnderline = UNDERLINE_DOUBLE;
+            break;
+        case orcus::spreadsheet::underline_none:
+            maCurrentFont.meUnderline = UNDERLINE_NONE;
+            break;
+    }
 }
 
 void ScOrcusStyles::set_font_color(orcus::spreadsheet::color_elem_t alpha,
commit 96e4c1d049005bea245dfea0b1809e9729b7eff2
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Sat Aug 23 15:25:05 2014 +0200

    next step on correct styles import from orcus
    
    Change-Id: I5d7487dee3120b2a74affe6b081d0c1ea338edc0

diff --git a/sc/source/filter/inc/orcusinterface.hxx b/sc/source/filter/inc/orcusinterface.hxx
index 81e36e0..5e7b597 100644
--- a/sc/source/filter/inc/orcusinterface.hxx
+++ b/sc/source/filter/inc/orcusinterface.hxx
@@ -32,6 +32,7 @@ class ScDocumentImport;
 class ScOrcusSheet;
 class ScOrcusFactory;
 class ScRangeData;
+class SfxItemSet;
 
 namespace com { namespace sun { namespace star { namespace task {
 
@@ -158,6 +159,7 @@ public:
 class ScOrcusStyles : public orcus::spreadsheet::iface::import_styles
 {
 private:
+    ScDocument& mrDoc;
 
     struct font
     {
@@ -168,6 +170,8 @@ private:
         Color maColor;
 
         font();
+
+        void applyToItemSet(SfxItemSet& rSet) const;
     };
 
     font maCurrentFont;
@@ -218,6 +222,7 @@ private:
         size_t mnBorderId;
         size_t mnProtectionId;
         size_t mnNumberFormatId;
+        size_t mnStyleXf;
 
         xf();
     };
@@ -237,7 +242,10 @@ private:
 
     cell_style maCurrentCellStyle;
 
+    void applyXfToItemSet(SfxItemSet& rSet, const xf& rXf);
+
 public:
+    ScOrcusStyles(ScDocument& rDoc);
     // font
 
     virtual void set_font_count(size_t n) SAL_OVERRIDE;
diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx
index f82996e..d41d307 100644
--- a/sc/source/filter/orcus/interface.cxx
+++ b/sc/source/filter/orcus/interface.cxx
@@ -18,6 +18,12 @@
 #include "globstr.hrc"
 #include "compiler.hxx"
 #include "dbdata.hxx"
+#include "stlpool.hxx"
+#include "scitems.hxx"
+
+#include <editeng/postitem.hxx>
+#include <editeng/wghtitem.hxx>
+#include <editeng/colritem.hxx>
 
 #include <formula/token.hxx>
 #include <tools/datetime.hxx>
@@ -53,6 +59,7 @@ ScOrcusFactory::ScOrcusFactory(ScDocument& rDoc) :
     maDoc(rDoc),
     maGlobalSettings(maDoc),
     maSharedStrings(*this),
+    maStyles(rDoc),
     mnProgress(0) {}
 
 orcus::spreadsheet::iface::import_sheet* ScOrcusFactory::append_sheet(const char* sheet_name, size_t sheet_name_length)
@@ -460,6 +467,11 @@ size_t ScOrcusSharedStrings::commit_segments()
     return mrFactory.addString(OStringToOUString(aStr, RTL_TEXTENCODING_UTF8));
 }
 
+ScOrcusStyles::ScOrcusStyles(ScDocument& rDoc):
+    mrDoc(rDoc)
+{
+}
+
 ScOrcusStyles::font::font():
     mbBold(false),
     mbItalic(false),
@@ -467,6 +479,17 @@ ScOrcusStyles::font::font():
 {
 }
 
+void ScOrcusStyles::font::applyToItemSet(SfxItemSet& rSet) const
+{
+    FontItalic eItalic = mbItalic ? ITALIC_NORMAL : ITALIC_NONE;
+    rSet.Put(SvxPostureItem(eItalic, ATTR_FONT_POSTURE));
+
+    FontWeight eWeight = mbBold ? WEIGHT_BOLD : WEIGHT_NORMAL;
+    rSet.Put(SvxWeightItem(eWeight, ATTR_FONT_WEIGHT));
+
+    rSet.Put(SvxColorItem(maColor, ATTR_FONT_COLOR));
+}
+
 ScOrcusStyles::protection::protection():
     mbHidden(false),
     mbLocked(false)
@@ -482,7 +505,8 @@ ScOrcusStyles::xf::xf():
     mnFillId(0),
     mnBorderId(0),
     mnProtectionId(0),
-    mnNumberFormatId(0)
+    mnNumberFormatId(0),
+    mnStyleXf(0)
 {
 }
 
@@ -492,6 +516,47 @@ ScOrcusStyles::cell_style::cell_style():
 {
 }
 
+void ScOrcusStyles::applyXfToItemSet(SfxItemSet& rSet, const xf& rXf)
+{
+    size_t nFontId = rXf.mnFontId;
+    if (nFontId >= maFonts.size())
+    {
+        SAL_WARN("sc.orcus.styles", "invalid font id");
+        return;
+    }
+
+    const font& rFont = maFonts[nFontId];
+    rFont.applyToItemSet(rSet);
+
+    size_t nFillId = rXf.mnFillId;
+    if (nFillId >= maFills.size())
+    {
+        SAL_WARN("sc.orcus.styles", "invalid fill id");
+        return;
+    }
+
+    size_t nBorderId = rXf.mnBorderId;
+    if (nBorderId >= maBorders.size())
+    {
+        SAL_WARN("sc.orcus.styles", "invalid border id");
+        return;
+    }
+
+    size_t nProtectionId = rXf.mnProtectionId;
+    if (nProtectionId >= maProtections.size())
+    {
+        SAL_WARN("sc.orcus.styles", "invalid protection id");
+        return;
+    }
+
+    size_t nNumberFormatId = rXf.mnNumberFormatId;
+    if (nNumberFormatId >= maNumberFormats.size())
+    {
+        SAL_WARN("sc.orcus.styles", "invalid number format id");
+        return;
+    }
+}
+
 void ScOrcusStyles::set_font_count(size_t /*n*/)
 {
     // needed at all?
@@ -532,6 +597,7 @@ void ScOrcusStyles::set_font_color(orcus::spreadsheet::color_elem_t alpha,
 
 size_t ScOrcusStyles::commit_font()
 {
+    SAL_INFO("sc.orcus.style", "commit font");
     maFonts.push_back(maCurrentFont);
     return maFonts.size() - 1;
 }
@@ -557,6 +623,7 @@ void ScOrcusStyles::set_fill_bg_color(orcus::spreadsheet::color_elem_t /*alpha*/
 
 size_t ScOrcusStyles::commit_fill()
 {
+    SAL_INFO("sc.orcus.style", "commit fill");
     return 0;
 }
 
@@ -583,6 +650,7 @@ void ScOrcusStyles::set_border_color(orcus::spreadsheet::border_direction_t /*di
 
 size_t ScOrcusStyles::commit_border()
 {
+    SAL_INFO("sc.orcus.styles", "commit border");
     return 0;
 }
 
@@ -599,6 +667,7 @@ void ScOrcusStyles::set_cell_locked(bool b)
 
 size_t ScOrcusStyles::commit_cell_protection()
 {
+    SAL_INFO("sc.orcus.styles", "commit cell protection");
     maProtections.push_back(maCurrentProtection);
     return maProtections.size() - 1;
 }
@@ -619,6 +688,7 @@ void ScOrcusStyles::set_number_format_code(const char* s, size_t n)
 
 size_t ScOrcusStyles::commit_number_format()
 {
+    SAL_INFO("sc.orcus.styles", "commit number format");
     maNumberFormats.push_back(maCurrentNumberFormat);
     return maNumberFormats.size() - 1;
 }
@@ -632,6 +702,7 @@ void ScOrcusStyles::set_cell_style_xf_count(size_t /*n*/)
 
 size_t ScOrcusStyles::commit_cell_style_xf()
 {
+    SAL_INFO("sc.orcus.styles", "commit cell style xf");
     maCellStyleXfs.push_back(maCurrentXF);
     return maCellStyleXfs.size() - 1;
 }
@@ -645,6 +716,7 @@ void ScOrcusStyles::set_cell_xf_count(size_t /*n*/)
 
 size_t ScOrcusStyles::commit_cell_xf()
 {
+    SAL_INFO("sc.orcus.styles", "commit cell xf");
     maCellXfs.push_back(maCurrentXF);
     return maCellXfs.size() - 1;
 }
@@ -676,8 +748,9 @@ void ScOrcusStyles::set_xf_protection(size_t index)
     maCurrentXF.mnProtectionId = index;
 }
 
-void ScOrcusStyles::set_xf_style_xf(size_t /*index*/)
+void ScOrcusStyles::set_xf_style_xf(size_t index)
 {
+    maCurrentXF.mnStyleXf = index;
 }
 
 void ScOrcusStyles::set_xf_apply_alignment(bool /*b*/)
@@ -719,6 +792,20 @@ void ScOrcusStyles::set_cell_style_builtin(size_t index)
 
 size_t ScOrcusStyles::commit_cell_style()
 {
+    SAL_INFO("sc.orcus.styles", "commit cell styles");
+    if (maCurrentCellStyle.mnXFId >= maCellStyleXfs.size())
+    {
+        SAL_WARN("sc.orcus.styles", "invalid xf id for commit cell style");
+        return 0;
+    }
+
+    ScStyleSheetPool* pPool = mrDoc.GetStyleSheetPool();
+    SfxStyleSheetBase& rBase = pPool->Make(maCurrentCellStyle.maName, SFX_STYLE_FAMILY_PARA);
+    SfxItemSet& rSet = rBase.GetItemSet();
+
+    xf& rXf = maCellStyleXfs[maCurrentCellStyle.mnXFId];
+    applyXfToItemSet(rSet, rXf);
+
     return 0;
 }
 
commit 371d2f7b97046f664881de7dc83a87beb1202905
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Sat Aug 23 15:24:04 2014 +0200

    import font color correctly
    
    Change-Id: I7996da193d24e81a625070ddfc7d17311af38774

diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx
index 875f47c3..f82996e 100644
--- a/sc/source/filter/orcus/interface.cxx
+++ b/sc/source/filter/orcus/interface.cxx
@@ -522,11 +522,12 @@ void ScOrcusStyles::set_font_underline(orcus::spreadsheet::underline_t /*e*/)
 {
 }
 
-void ScOrcusStyles::set_font_color(orcus::spreadsheet::color_elem_t,
-            orcus::spreadsheet::color_elem_t,
-            orcus::spreadsheet::color_elem_t,
-            orcus::spreadsheet::color_elem_t)
+void ScOrcusStyles::set_font_color(orcus::spreadsheet::color_elem_t alpha,
+            orcus::spreadsheet::color_elem_t red,
+            orcus::spreadsheet::color_elem_t green,
+            orcus::spreadsheet::color_elem_t blue)
 {
+    maCurrentFont.maColor = Color(alpha, red, green, blue);
 }
 
 size_t ScOrcusStyles::commit_font()
commit 4a1ebb43dde985241d7502e7d9870554569271cf
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Fri Aug 22 11:22:03 2014 +0200

    remove crazy whitespaces
    
    Change-Id: Ia104e5dedbaf19dff5b0eaf4eb6f4c355570cc00

diff --git a/framework/source/loadenv/loadenv.cxx b/framework/source/loadenv/loadenv.cxx
index 3d361a5..c7be313 100644
--- a/framework/source/loadenv/loadenv.cxx
+++ b/framework/source/loadenv/loadenv.cxx
@@ -1079,9 +1079,9 @@ bool LoadEnv::impl_loadContent()
     // So we prevent our code against wrong using. Why?
     // It could be, that using of this progress could make trouble. e.g. He make window visible ...
     // but shouldn't do that. But if no indicator is available ... nobody has a chance to do that!
-    bool                                           bHidden    = m_lMediaDescriptor.getUnpackedValueOrDefault(utl::MediaDescriptor::PROP_HIDDEN()         , sal_False                                           );
-    bool                                           bMinimized = m_lMediaDescriptor.getUnpackedValueOrDefault(utl::MediaDescriptor::PROP_MINIMIZED()      , sal_False                                           );
-    bool                                           bPreview   = m_lMediaDescriptor.getUnpackedValueOrDefault(utl::MediaDescriptor::PROP_PREVIEW()        , sal_False                                           );
+    bool bHidden    = m_lMediaDescriptor.getUnpackedValueOrDefault(utl::MediaDescriptor::PROP_HIDDEN(), sal_False);
+    bool bMinimized = m_lMediaDescriptor.getUnpackedValueOrDefault(utl::MediaDescriptor::PROP_MINIMIZED(), sal_False);
+    bool bPreview   = m_lMediaDescriptor.getUnpackedValueOrDefault(utl::MediaDescriptor::PROP_PREVIEW(), sal_False);
     css::uno::Reference< css::task::XStatusIndicator > xProgress  = m_lMediaDescriptor.getUnpackedValueOrDefault(utl::MediaDescriptor::PROP_STATUSINDICATOR(), css::uno::Reference< css::task::XStatusIndicator >());
 
     if (!bHidden && !bMinimized && !bPreview && !xProgress.is())
commit 0dc3cfc4a0950c64f7d064320250189eda26df37
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Fri Aug 22 11:21:44 2014 +0200

    make experimental orcus import work again
    
    Change-Id: I2e599331669c3018557835ab227395c54c247ac9

diff --git a/framework/source/loadenv/loadenv.cxx b/framework/source/loadenv/loadenv.cxx
index f6526dd..3d361a5 100644
--- a/framework/source/loadenv/loadenv.cxx
+++ b/framework/source/loadenv/loadenv.cxx
@@ -762,6 +762,7 @@ void LoadEnv::impl_detectTypeAndFilter()
         m_lMediaDescriptor[utl::MediaDescriptor::PROP_TYPENAME()] <<= sType;
         m_lMediaDescriptor[utl::MediaDescriptor::PROP_FILTERNAME()] <<= sFilter;
         m_lMediaDescriptor[utl::MediaDescriptor::PROP_FILTERPROVIDER()] <<= OUString("orcus");
+        m_lMediaDescriptor[utl::MediaDescriptor::PROP_DOCUMENTSERVICE()] <<= OUString("com.sun.star.sheet.SpreadsheetDocument");
         return;
     }
 
commit 42f0b5fc27f1be0d90f22ff7826f2675a6b57e2d
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Fri Aug 22 09:03:42 2014 +0200

    tep for correct styles import from orcus
    
    Change-Id: Ifdd4686b5fd8a00dbe8ff74400a909697895e30b

diff --git a/sc/source/filter/inc/orcusinterface.hxx b/sc/source/filter/inc/orcusinterface.hxx
index a124ea8..81e36e0 100644
--- a/sc/source/filter/inc/orcusinterface.hxx
+++ b/sc/source/filter/inc/orcusinterface.hxx
@@ -13,6 +13,8 @@
 #include "address.hxx"
 #include "documentimport.hxx"
 
+#include <tools/color.hxx>
+
 #include "sharedformulagroups.hxx"
 
 #include <rtl/strbuf.hxx>
@@ -24,6 +26,7 @@
 #include <boost/unordered_map.hpp>
 
 #include <map>
+#include <vector>
 
 class ScDocumentImport;
 class ScOrcusSheet;
@@ -154,6 +157,85 @@ public:
 
 class ScOrcusStyles : public orcus::spreadsheet::iface::import_styles
 {
+private:
+
+    struct font
+    {
+        bool mbBold;
+        bool mbItalic;
+        OUString maName;
+        double mnSize;
+        Color maColor;
+
+        font();
+    };
+
+    font maCurrentFont;
+    std::vector<font> maFonts;
+
+    struct fill
+    {
+        OUString maPattern;
+        Color maFgColor;
+        Color maBgColor;
+    };
+
+    fill maCurrentFill;
+    std::vector<fill> maFills;
+
+    struct border
+    {
+
+        border();
+    };
+
+    border maCurrentBorder;
+    std::vector<border> maBorders;
+
+    struct protection
+    {
+        bool mbHidden;
+        bool mbLocked;
+
+        protection();
+    };
+
+    protection maCurrentProtection;
+    std::vector<protection> maProtections;
+
+    struct number_format
+    {
+        OUString maCode;
+    };
+
+    number_format maCurrentNumberFormat;
+    std::vector<number_format> maNumberFormats;
+
+    struct xf
+    {
+        size_t mnFontId;
+        size_t mnFillId;
+        size_t mnBorderId;
+        size_t mnProtectionId;
+        size_t mnNumberFormatId;
+
+        xf();
+    };
+
+    xf maCurrentXF;
+    std::vector<xf> maCellStyleXfs;
+    std::vector<xf> maCellXfs;
+
+    struct cell_style
+    {
+        OUString maName;
+        size_t mnXFId;
+        size_t mnBuiltInId;
+
+        cell_style();
+    };
+
+    cell_style maCurrentCellStyle;
 
 public:
     // font
diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx
index a532029..875f47c3 100644
--- a/sc/source/filter/orcus/interface.cxx
+++ b/sc/source/filter/orcus/interface.cxx
@@ -460,25 +460,62 @@ size_t ScOrcusSharedStrings::commit_segments()
     return mrFactory.addString(OStringToOUString(aStr, RTL_TEXTENCODING_UTF8));
 }
 
+ScOrcusStyles::font::font():
+    mbBold(false),
+    mbItalic(false),
+    mnSize(10)
+{
+}
+
+ScOrcusStyles::protection::protection():
+    mbHidden(false),
+    mbLocked(false)
+{
+}
+
+ScOrcusStyles::border::border()
+{
+}
+
+ScOrcusStyles::xf::xf():
+    mnFontId(0),
+    mnFillId(0),
+    mnBorderId(0),
+    mnProtectionId(0),
+    mnNumberFormatId(0)
+{
+}
+
+ScOrcusStyles::cell_style::cell_style():
+    mnXFId(0),
+    mnBuiltInId(0)
+{
+}
+
 void ScOrcusStyles::set_font_count(size_t /*n*/)
 {
     // needed at all?
 }
 
-void ScOrcusStyles::set_font_bold(bool /*b*/)
+void ScOrcusStyles::set_font_bold(bool b)
 {
+    maCurrentFont.mbBold = b;
 }
 
-void ScOrcusStyles::set_font_italic(bool /*b*/)
+void ScOrcusStyles::set_font_italic(bool b)
 {
+    maCurrentFont.mbItalic = b;
 }
 
-void ScOrcusStyles::set_font_name(const char* /*s*/, size_t /*n*/)
+void ScOrcusStyles::set_font_name(const char* s, size_t n)
 {
+    OUString aName(s, n, RTL_TEXTENCODING_UTF8);
+    maCurrentFont.maName = aName;
 }
 
-void ScOrcusStyles::set_font_size(double /*point*/)
+void ScOrcusStyles::set_font_size(double point)
 {
+    maCurrentFont.mnSize = point;
 }
 
 void ScOrcusStyles::set_font_underline(orcus::spreadsheet::underline_t /*e*/)
@@ -494,7 +531,8 @@ void ScOrcusStyles::set_font_color(orcus::spreadsheet::color_elem_t,
 
 size_t ScOrcusStyles::commit_font()
 {
-    return 0;
+    maFonts.push_back(maCurrentFont);
+    return maFonts.size() - 1;
 }
 
 // fill
@@ -548,17 +586,20 @@ size_t ScOrcusStyles::commit_border()
 }
 
 // cell protection
-void ScOrcusStyles::set_cell_hidden(bool /*b*/)
+void ScOrcusStyles::set_cell_hidden(bool b)
 {
+    maCurrentProtection.mbHidden = b;
 }
 
-void ScOrcusStyles::set_cell_locked(bool /*b*/)
+void ScOrcusStyles::set_cell_locked(bool b)
 {
+    maCurrentProtection.mbLocked = b;
 }
 
 size_t ScOrcusStyles::commit_cell_protection()
 {
-    return 0;
+    maProtections.push_back(maCurrentProtection);
+    return maProtections.size() - 1;
 }
 
 void ScOrcusStyles::set_number_format_count(size_t)
@@ -569,13 +610,16 @@ void ScOrcusStyles::set_number_format_identifier(size_t)
 {
 }
 
-void ScOrcusStyles::set_number_format_code(const char* /*s*/, size_t /*n*/)
+void ScOrcusStyles::set_number_format_code(const char* s, size_t n)
 {
+    OUString aCode(s, n, RTL_TEXTENCODING_UTF8);
+    maCurrentNumberFormat.maCode = aCode;
 }
 
 size_t ScOrcusStyles::commit_number_format()
 {
-    return 0;
+    maNumberFormats.push_back(maCurrentNumberFormat);
+    return maNumberFormats.size() - 1;
 }
 
 // cell style xf
@@ -587,7 +631,8 @@ void ScOrcusStyles::set_cell_style_xf_count(size_t /*n*/)
 
 size_t ScOrcusStyles::commit_cell_style_xf()
 {
-    return 0;
+    maCellStyleXfs.push_back(maCurrentXF);
+    return maCellStyleXfs.size() - 1;
 }
 
 // cell xf
@@ -599,30 +644,35 @@ void ScOrcusStyles::set_cell_xf_count(size_t /*n*/)
 
 size_t ScOrcusStyles::commit_cell_xf()
 {
-    return 0;
+    maCellXfs.push_back(maCurrentXF);
+    return maCellXfs.size() - 1;
 }
 
 // xf (cell format) - used both by cell xf and cell style xf.
 
-void ScOrcusStyles::set_xf_number_format(size_t /*index*/)
+void ScOrcusStyles::set_xf_number_format(size_t index)
 {
-    // no number format interfaces implemented yet
+    maCurrentXF.mnNumberFormatId = index;
 }
 
-void ScOrcusStyles::set_xf_font(size_t /*index*/)
+void ScOrcusStyles::set_xf_font(size_t index)
 {
+    maCurrentXF.mnFontId = index;
 }
 
-void ScOrcusStyles::set_xf_fill(size_t /*index*/)
+void ScOrcusStyles::set_xf_fill(size_t index)
 {
+    maCurrentXF.mnFillId = index;
 }
 
-void ScOrcusStyles::set_xf_border(size_t /*index*/)
+void ScOrcusStyles::set_xf_border(size_t index)
 {
+    maCurrentXF.mnBorderId = index;
 }
 
-void ScOrcusStyles::set_xf_protection(size_t /*index*/)
+void ScOrcusStyles::set_xf_protection(size_t index)
 {
+    maCurrentXF.mnProtectionId = index;
 }
 
 void ScOrcusStyles::set_xf_style_xf(size_t /*index*/)
@@ -649,17 +699,21 @@ void ScOrcusStyles::set_cell_style_count(size_t /*n*/)
     // needed at all?
 }
 
-void ScOrcusStyles::set_cell_style_name(const char* /*s*/, size_t /*n*/)
+void ScOrcusStyles::set_cell_style_name(const char* s, size_t n)
 {
+    OUString aName(s, n, RTL_TEXTENCODING_UTF8);
+    maCurrentCellStyle.maName = aName;
 }
 
-void ScOrcusStyles::set_cell_style_xf(size_t /*index*/)
+void ScOrcusStyles::set_cell_style_xf(size_t index)
 {
+    maCurrentCellStyle.mnXFId = index;
 }
 
-void ScOrcusStyles::set_cell_style_builtin(size_t /*index*/)
+void ScOrcusStyles::set_cell_style_builtin(size_t index)
 {
     // not needed for gnumeric
+    maCurrentCellStyle.mnBuiltInId = index;
 }
 
 size_t ScOrcusStyles::commit_cell_style()
commit 85e9a852ba1334587044459ca89e05086b408b95
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Fri Aug 22 09:03:30 2014 +0200

    parse the range for autofilter
    
    Change-Id: Ia47e42db3a66a8d620803468182e8b9d3465b8e4

diff --git a/sc/source/filter/inc/orcusinterface.hxx b/sc/source/filter/inc/orcusinterface.hxx
index e57e259..a124ea8 100644
--- a/sc/source/filter/inc/orcusinterface.hxx
+++ b/sc/source/filter/inc/orcusinterface.hxx
@@ -93,6 +93,8 @@ public:
 
 private:
     ScDocument& mrDoc;
+
+    ScRange maRange;
 };
 
 class ScOrcusSheet : public orcus::spreadsheet::iface::import_sheet
diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx
index f79efc2..a532029 100644
--- a/sc/source/filter/orcus/interface.cxx
+++ b/sc/source/filter/orcus/interface.cxx
@@ -683,6 +683,8 @@ void ScOrcusAutoFilter::set_range(const char* p_ref, size_t n_ref)
 {
     OUString aRange(p_ref, n_ref, RTL_TEXTENCODING_UTF8);
     SAL_INFO("sc.orcus.autofilter", "set_range: " << aRange);
+
+    maRange.Parse(aRange);
 }
 
 void ScOrcusAutoFilter::set_column(orcus::spreadsheet::col_t col)
commit d21842623c24459e287cd3efc3beafd15d3ed635
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Tue Aug 19 17:31:02 2014 +0200

    import table as ScDBData
    
    Change-Id: Ibce6247b19ca7c0788743baba24d07722500efd0

diff --git a/sc/source/filter/inc/orcusinterface.hxx b/sc/source/filter/inc/orcusinterface.hxx
index d8c8daf..e57e259 100644
--- a/sc/source/filter/inc/orcusinterface.hxx
+++ b/sc/source/filter/inc/orcusinterface.hxx
@@ -285,6 +285,9 @@ private:
     ScDocument& mrDoc;
     ScOrcusAutoFilter maAutoFilter;
 
+    ScRange maRange;
+    OUString maName;
+
 public:
     ScOrcusTable(SCTAB nTab, ScDocument& rDoc);
     virtual ~ScOrcusTable();
diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx
index 7399b87..f79efc2 100644
--- a/sc/source/filter/orcus/interface.cxx
+++ b/sc/source/filter/orcus/interface.cxx
@@ -17,6 +17,7 @@
 #include "docoptio.hxx"
 #include "globstr.hrc"
 #include "compiler.hxx"
+#include "dbdata.hxx"
 
 #include <formula/token.hxx>
 #include <tools/datetime.hxx>
@@ -726,10 +727,30 @@ void ScOrcusTable::set_identifier(size_t id)
     SAL_INFO("sc.orcus.table", "set_identifier :" << id);
 }
 
+namespace {
+
+std::ostream& operator<<(std::ostream& rStrm, const ScAddress& rAddr)
+{
+    rStrm << "Col: " << rAddr.Col() << ", Row: " << rAddr.Row() << ", Tab: " << rAddr.Tab();
+    return rStrm;
+}
+
+std::ostream& operator<<(std::ostream& rStrm, const ScRange& rRange)
+{
+    rStrm << "aStart: " << rRange.aStart << std::endl;
+    rStrm << "aEnd: " << rRange.aEnd;
+    return rStrm;
+}
+
+}
+
 void ScOrcusTable::set_range(const char* p_ref, size_t n_ref)
 {
     OUString aRange(p_ref, n_ref, RTL_TEXTENCODING_UTF8);
     SAL_INFO("sc.orcus.table", "set_range: " << aRange);
+
+    maRange.Parse(aRange);
+    SAL_INFO("sc.orcus.table", "set_range translated range: " << maRange);
 }
 
 void ScOrcusTable::set_totals_row_count(size_t row_count)
@@ -739,8 +760,8 @@ void ScOrcusTable::set_totals_row_count(size_t row_count)
 
 void ScOrcusTable::set_name(const char* p, size_t n)
 {
-    OUString aName(p, n, RTL_TEXTENCODING_UTF8);
-    SAL_INFO("sc.orcus.table", "set_name: " << aName);
+    maName = OUString(p, n, RTL_TEXTENCODING_UTF8);
+    SAL_INFO("sc.orcus.table", "set_name: " << maName);
 }
 
 void ScOrcusTable::set_display_name(const char* p, size_t n)
@@ -810,6 +831,13 @@ void ScOrcusTable::set_style_show_column_stripes(bool b)
 void ScOrcusTable::commit()
 {
     SAL_INFO("sc.orcus.table", "commit");
+
+    ScDBData* pDBData = new ScDBData(maName, mnTab,
+                        maRange.aStart.Col(), maRange.aStart.Row(),
+                        maRange.aEnd.Col(), maRange.aEnd.Row());
+
+    if(!mrDoc.GetDBCollection()->getNamedDBs().insert(pDBData))
+        delete pDBData;
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 7a8bc5aedda8280cc3dccfc36367364e54e88e2c
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Tue Aug 19 14:56:01 2014 +0200

    add autofilter to table import
    
    Change-Id: Ifde0871a1769fd7890a71381dd90955e500b5cb2

diff --git a/sc/source/filter/inc/orcusinterface.hxx b/sc/source/filter/inc/orcusinterface.hxx
index 8c089bb..d8c8daf 100644
--- a/sc/source/filter/inc/orcusinterface.hxx
+++ b/sc/source/filter/inc/orcusinterface.hxx
@@ -282,9 +282,11 @@ class ScOrcusTable : public orcus::spreadsheet::iface::import_table
 {
 private:
     SCTAB mnTab;
+    ScDocument& mrDoc;
+    ScOrcusAutoFilter maAutoFilter;
 
 public:
-    ScOrcusTable(SCTAB nTab);
+    ScOrcusTable(SCTAB nTab, ScDocument& rDoc);
     virtual ~ScOrcusTable();
 
     virtual orcus::spreadsheet::iface::import_auto_filter* get_auto_filter() SAL_OVERRIDE;
diff --git a/sc/source/filter/oox/worksheetfragment.cxx b/sc/source/filter/oox/worksheetfragment.cxx
index 52435c7..782b7dc 100644
--- a/sc/source/filter/oox/worksheetfragment.cxx
+++ b/sc/source/filter/oox/worksheetfragment.cxx
@@ -209,7 +209,7 @@ WorksheetFragment::WorksheetFragment( const WorksheetHelper& rHelper, const OUSt
             nRead = xStream->readBytes(aData, 8000);
             aString.append(OString((char*) aData.getConstArray(), nRead));
         } while(nRead == 8000);
-        ScOrcusTable aTable(getSheetIndex());
+        ScOrcusTable aTable(getSheetIndex(), getScDocument());
         orcus::import_xlsx::read_table(aString.getStr(), aString.getLength(), &aTable);
     }
 
diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx
index 03c3a38..7399b87 100644
--- a/sc/source/filter/orcus/interface.cxx
+++ b/sc/source/filter/orcus/interface.cxx
@@ -215,11 +215,6 @@ void ScOrcusSheet::cellInserted()
     }
 }
 
-os::iface::import_table* ScOrcusSheet::get_table()
-{
-    return NULL;
-}
-
 void ScOrcusSheet::set_auto(os::row_t row, os::col_t col, const char* p, size_t n)
 {
     OUString aVal(p, n, RTL_TEXTENCODING_UTF8);
@@ -710,8 +705,10 @@ void ScOrcusAutoFilter::commit()
     SAL_INFO("sc.orcus.autofilter", "commit");
 }
 
-ScOrcusTable::ScOrcusTable(SCTAB nTab):
-    mnTab(nTab)
+ScOrcusTable::ScOrcusTable(SCTAB nTab, ScDocument& rDoc):
+    mnTab(nTab),
+    mrDoc(rDoc),
+    maAutoFilter(rDoc)
 {
 }
 
@@ -721,7 +718,7 @@ ScOrcusTable::~ScOrcusTable()
 
 os::iface::import_auto_filter* ScOrcusTable::get_auto_filter()
 {
-    return NULL;
+    return &maAutoFilter;
 }
 
 void ScOrcusTable::set_identifier(size_t id)
commit e64c8e93258c32cdc2ae83c6388203671d5472a0
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Mon Aug 18 07:56:31 2014 +0200

    add more orcus debug output
    
    Change-Id: I6f9135d0532026dffbb43c3b32d32cfc811a5823

diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx
index 8aa1329..03c3a38 100644
--- a/sc/source/filter/orcus/interface.cxx
+++ b/sc/source/filter/orcus/interface.cxx
@@ -683,24 +683,31 @@ ScOrcusAutoFilter::~ScOrcusAutoFilter()
 {
 }
 
-void ScOrcusAutoFilter::set_range(const char* /*p_ref*/, size_t /*n_ref*/)
+void ScOrcusAutoFilter::set_range(const char* p_ref, size_t n_ref)
 {
+    OUString aRange(p_ref, n_ref, RTL_TEXTENCODING_UTF8);
+    SAL_INFO("sc.orcus.autofilter", "set_range: " << aRange);
 }
 
-void ScOrcusAutoFilter::set_column(orcus::spreadsheet::col_t /*col*/)
+void ScOrcusAutoFilter::set_column(orcus::spreadsheet::col_t col)
 {
+    SAL_INFO("sc.orcus.autofilter", "set_column: " << col);
 }
 
-void ScOrcusAutoFilter::append_column_match_value(const char* /*p*/, size_t /*n*/)
+void ScOrcusAutoFilter::append_column_match_value(const char* p, size_t n)
 {
+    OUString aString(p, n, RTL_TEXTENCODING_UTF8);
+    SAL_INFO("sc.orcus.autofilter", "append_column_match_value: " << aString);
 }
 
 void ScOrcusAutoFilter::commit_column()
 {
+    SAL_INFO("sc.orcus.autofilter", "commit column");
 }
 
 void ScOrcusAutoFilter::commit()
 {
+    SAL_INFO("sc.orcus.autofilter", "commit");
 }
 
 ScOrcusTable::ScOrcusTable(SCTAB nTab):
commit 36535002918788e5d677632d0aa0da45c8be9f03
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Mon Aug 18 07:51:05 2014 +0200

    add ScOrcusSheet::get_table method
    
    Change-Id: I2369e29e96cf33dbe263b090dee0d1100ecce8de

diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx
index e2a10a2..8aa1329 100644
--- a/sc/source/filter/orcus/interface.cxx
+++ b/sc/source/filter/orcus/interface.cxx
@@ -215,6 +215,11 @@ void ScOrcusSheet::cellInserted()
     }
 }
 
+os::iface::import_table* ScOrcusSheet::get_table()
+{
+    return NULL;
+}
+
 void ScOrcusSheet::set_auto(os::row_t row, os::col_t col, const char* p, size_t n)
 {
     OUString aVal(p, n, RTL_TEXTENCODING_UTF8);
commit 95c26bc9b5581e43309c2e99c296741eee4f4e42
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Mon Aug 18 02:01:58 2014 +0200

    use orcus for table import
    
    This is a proof of concept and shows that it is possible to partially
    replace the OOXML import with orcus.
    
    Change-Id: I610cec4ba4ec6f966848397ec9f0c465520a3c65

diff --git a/sc/source/filter/oox/worksheetfragment.cxx b/sc/source/filter/oox/worksheetfragment.cxx
index 9f2ff39..52435c7 100644
--- a/sc/source/filter/oox/worksheetfragment.cxx
+++ b/sc/source/filter/oox/worksheetfragment.cxx
@@ -44,11 +44,15 @@
 #include "workbooksettings.hxx"
 #include "worksheetsettings.hxx"
 
+#include "orcusinterface.hxx"
+#include <orcus/orcus_import_xlsx.hpp>
+
 namespace oox {
 namespace xls {
 
 using namespace ::com::sun::star::table;
 using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star;
 using namespace ::oox::core;
 
 namespace {
@@ -195,7 +199,19 @@ WorksheetFragment::WorksheetFragment( const WorksheetHelper& rHelper, const OUSt
     // import data tables related to this worksheet
     RelationsRef xTableRels = getRelations().getRelationsFromTypeFromOfficeDoc( "table" );
     for( ::std::map< OUString, Relation >::const_iterator aIt = xTableRels->begin(), aEnd = xTableRels->end(); aIt != aEnd; ++aIt )
-        importOoxFragment( new TableFragment( *this, getFragmentPathFromRelation( aIt->second ) ) );
+    {
+        OUString aFragmentPath = getFragmentPathFromRelation( aIt->second );
+        uno::Reference<io::XInputStream> xStream = rHelper.getBaseFilter().openInputStream(aFragmentPath);
+        uno::Sequence<sal_Int8> aData(8000);
+        sal_Int32 nRead = 0;
+        OStringBuffer aString;
+        do {
+            nRead = xStream->readBytes(aData, 8000);
+            aString.append(OString((char*) aData.getConstArray(), nRead));
+        } while(nRead == 8000);
+        ScOrcusTable aTable(getSheetIndex());
+        orcus::import_xlsx::read_table(aString.getStr(), aString.getLength(), &aTable);
+    }
 
     // import comments related to this worksheet
     OUString aCommentsFragmentPath = getFragmentPathFromFirstTypeFromOfficeDoc( "comments" );
commit d2ed500654e6515d4d8b8956846115747bb36220
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Mon Aug 18 01:36:43 2014 +0200

    make these types future proof
    
    Our core already supports more than 32k sheets and we should not use
    sal_Int16 anymore for sheets.
    
    Change-Id: Ifeb321cba044b255ef2e7d34da0908c27877d6ae

diff --git a/sc/source/filter/inc/worksheethelper.hxx b/sc/source/filter/inc/worksheethelper.hxx
index 79ab964..c08a152 100644
--- a/sc/source/filter/inc/worksheethelper.hxx
+++ b/sc/source/filter/inc/worksheethelper.hxx
@@ -191,7 +191,7 @@ public:
     /** Returns the type of this sheet. */
     WorksheetType       getSheetType() const;
     /** Returns the index of the current sheet. */
-    sal_Int16           getSheetIndex() const;
+    sal_Int32           getSheetIndex() const;
     /** Returns the XSpreadsheet interface of the current sheet. */
     const ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSpreadsheet >&
                         getSheet() const;
diff --git a/sc/source/filter/oox/worksheethelper.cxx b/sc/source/filter/oox/worksheethelper.cxx
index 619d437..4bb0b15 100644
--- a/sc/source/filter/oox/worksheethelper.cxx
+++ b/sc/source/filter/oox/worksheethelper.cxx
@@ -217,7 +217,7 @@ public:
     /** Returns the type of this sheet. */
     inline WorksheetType getSheetType() const { return meSheetType; }
     /** Returns the index of the current sheet. */
-    inline sal_Int16    getSheetIndex() const { return maUsedArea.Sheet; }
+    inline sal_Int32    getSheetIndex() const { return maUsedArea.Sheet; }
     /** Returns the XSpreadsheet interface of the current sheet. */
     inline const Reference< XSpreadsheet >& getSheet() const { return mxSheet; }
 
@@ -1378,7 +1378,7 @@ WorksheetType WorksheetHelper::getSheetType() const
     return mrSheetGlob.getSheetType();
 }
 
-sal_Int16 WorksheetHelper::getSheetIndex() const
+sal_Int32 WorksheetHelper::getSheetIndex() const
 {
     return mrSheetGlob.getSheetIndex();
 }
commit 34a22ca724da2e37b6a71547f81c7ad622a973ca
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Mon Aug 18 00:16:03 2014 +0200

    implement orcus::spreadsheet::iface::import_table interface
    
    Just some stubs to check that it is working.
    
    Change-Id: I24e61cd24030ca5adeb07222fd63464d836ecb3d

diff --git a/sc/source/filter/inc/orcusinterface.hxx b/sc/source/filter/inc/orcusinterface.hxx
index 49d435b..8c089bb 100644
--- a/sc/source/filter/inc/orcusinterface.hxx
+++ b/sc/source/filter/inc/orcusinterface.hxx
@@ -278,5 +278,43 @@ public:
     void setStatusIndicator(const com::sun::star::uno::Reference<com::sun::star::task::XStatusIndicator>& rIndicator);
 };
 
+class ScOrcusTable : public orcus::spreadsheet::iface::import_table
+{
+private:
+    SCTAB mnTab;
+
+public:
+    ScOrcusTable(SCTAB nTab);
+    virtual ~ScOrcusTable();
+
+    virtual orcus::spreadsheet::iface::import_auto_filter* get_auto_filter() SAL_OVERRIDE;
+
+    virtual void set_identifier(size_t id) SAL_OVERRIDE;
+
+    virtual void set_range(const char* p_ref, size_t n_ref) SAL_OVERRIDE;
+
+    virtual void set_totals_row_count(size_t row_count) SAL_OVERRIDE;
+
+    virtual void set_name(const char* p, size_t n) SAL_OVERRIDE;
+
+    virtual void set_display_name(const char* p, size_t n) SAL_OVERRIDE;
+
+    virtual void set_column_count(size_t n) SAL_OVERRIDE;
+
+    virtual void set_column_identifier(size_t id) SAL_OVERRIDE;
+    virtual void set_column_name(const char* p, size_t n) SAL_OVERRIDE;
+    virtual void set_column_totals_row_label(const char* p, size_t n) SAL_OVERRIDE;
+    virtual void set_column_totals_row_function(orcus::spreadsheet::totals_row_function_t func) SAL_OVERRIDE;
+    virtual void commit_column() SAL_OVERRIDE;
+
+    virtual void set_style_name(const char* p, size_t n) SAL_OVERRIDE;
+    virtual void set_style_show_first_column(bool b) SAL_OVERRIDE;
+    virtual void set_style_show_last_column(bool b) SAL_OVERRIDE;
+    virtual void set_style_show_row_stripes(bool b) SAL_OVERRIDE;
+    virtual void set_style_show_column_stripes(bool b) SAL_OVERRIDE;
+
+    virtual void commit() SAL_OVERRIDE;
+};
+
 #endif
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx
index 660512c..e2a10a2 100644
--- a/sc/source/filter/orcus/interface.cxx
+++ b/sc/source/filter/orcus/interface.cxx
@@ -698,4 +698,109 @@ void ScOrcusAutoFilter::commit()
 {
 }
 
+ScOrcusTable::ScOrcusTable(SCTAB nTab):
+    mnTab(nTab)
+{
+}
+
+ScOrcusTable::~ScOrcusTable()
+{
+}
+
+os::iface::import_auto_filter* ScOrcusTable::get_auto_filter()
+{
+    return NULL;
+}
+
+void ScOrcusTable::set_identifier(size_t id)
+{
+    SAL_INFO("sc.orcus.table", "set_identifier :" << id);
+}
+
+void ScOrcusTable::set_range(const char* p_ref, size_t n_ref)
+{
+    OUString aRange(p_ref, n_ref, RTL_TEXTENCODING_UTF8);
+    SAL_INFO("sc.orcus.table", "set_range: " << aRange);
+}
+
+void ScOrcusTable::set_totals_row_count(size_t row_count)
+{
+    SAL_INFO("sc.orcus.table", "set_totals_row_count: " << row_count);
+}
+
+void ScOrcusTable::set_name(const char* p, size_t n)
+{
+    OUString aName(p, n, RTL_TEXTENCODING_UTF8);
+    SAL_INFO("sc.orcus.table", "set_name: " << aName);
+}
+
+void ScOrcusTable::set_display_name(const char* p, size_t n)
+{
+    OUString aName(p, n, RTL_TEXTENCODING_UTF8);
+    SAL_INFO("sc.orcus.table", "set_display_name: " << aName);
+}
+
+void ScOrcusTable::set_column_count(size_t n)
+{
+    SAL_INFO("sc.orcus.table", "set_column_count: " << n);
+}
+
+void ScOrcusTable::set_column_identifier(size_t id)
+{
+    SAL_INFO("sc.orcus.table", "set_column_identifier: " << id);
+}
+
+void ScOrcusTable::set_column_name(const char* p, size_t n)
+{
+    OUString aName(p, n, RTL_TEXTENCODING_UTF8);
+    SAL_INFO("sc.orcus.table", "set_column_name: " << aName);
+}
+
+void ScOrcusTable::set_column_totals_row_label(const char* p, size_t n)
+{
+    OUString aLabel(p, n, RTL_TEXTENCODING_UTF8);
+    SAL_INFO("sc.orcus.table", "set_column_totals_row_label: " << aLabel);
+}
+
+void ScOrcusTable::set_column_totals_row_function(os::totals_row_function_t )
+{
+    SAL_INFO("sc.orcus.table", "set_column_totals_row_function");
+}
+
+void ScOrcusTable::commit_column()
+{
+    SAL_INFO("sc.orcus.table", "commit_column");
+}
+
+void ScOrcusTable::set_style_name(const char* p, size_t n)
+{
+    OUString aName(p, n, RTL_TEXTENCODING_UTF8);
+    SAL_INFO("sc.orcus.table", "set_style_name: " << aName);
+}
+
+void ScOrcusTable::set_style_show_first_column(bool b)
+{
+    SAL_INFO("sc.orcus.table", "set_style_show_first_column: " << b);
+}
+
+void ScOrcusTable::set_style_show_last_column(bool b)
+{
+    SAL_INFO("sc.orcus.table", "set_style_show_last_column: " << b);
+}
+
+void ScOrcusTable::set_style_show_row_stripes(bool b)
+{
+    SAL_INFO("sc.orcus.table", "set_style_show_row_stripes: " << b);
+}
+
+void ScOrcusTable::set_style_show_column_stripes(bool b)
+{
+    SAL_INFO("sc.orcus.table", "set_style_show_column_stripes: " << b);
+}
+
+void ScOrcusTable::commit()
+{
+    SAL_INFO("sc.orcus.table", "commit");
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 3adf919d92e2c8a54151c4e0a80275e46b2b3f8f
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Sun Aug 17 09:47:28 2014 +0200

    make the code work against current orcus master
    
    Change-Id: I9840b3b2a2d01514ba7b15112e66c878b7b395b1

diff --git a/sc/source/filter/inc/orcusinterface.hxx b/sc/source/filter/inc/orcusinterface.hxx
index 9c37aae..49d435b 100644
--- a/sc/source/filter/inc/orcusinterface.hxx
+++ b/sc/source/filter/inc/orcusinterface.hxx
@@ -39,11 +39,14 @@ class XStatusIndicator;
 class ScOrcusGlobalSettings : public orcus::spreadsheet::iface::import_global_settings
 {
     ScDocumentImport& mrDoc;
+    orcus::spreadsheet::formula_grammar_t meGrammar;
 
 public:
     ScOrcusGlobalSettings(ScDocumentImport& rDoc);
 
     virtual void set_origin_date(int year, int month, int day) SAL_OVERRIDE;
+    virtual void set_default_formula_grammar(orcus::spreadsheet::formula_grammar_t) SAL_OVERRIDE;
+    virtual orcus::spreadsheet::formula_grammar_t get_default_formula_grammar() const SAL_OVERRIDE;
 };
 
 class ScOrcusSharedStrings : public orcus::spreadsheet::iface::import_shared_strings
@@ -124,6 +127,7 @@ public:
 
     virtual void set_formula(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, const char* p, size_t n) SAL_OVERRIDE;
     virtual void set_formula_result(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, const char* p, size_t n) SAL_OVERRIDE;
+    virtual void set_formula_result(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, double value) SAL_OVERRIDE;
 
     virtual void set_shared_formula(
         orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, size_t sindex,
diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx
index 3735f28..660512c 100644
--- a/sc/source/filter/orcus/interface.cxx
+++ b/sc/source/filter/orcus/interface.cxx
@@ -35,6 +35,16 @@ void ScOrcusGlobalSettings::set_origin_date(int year, int month, int day)
     mrDoc.setOriginDate(year, month, day);
 }
 
+void ScOrcusGlobalSettings::set_default_formula_grammar(os::formula_grammar_t eGrammar)
+{
+    meGrammar = eGrammar;
+}
+
+os::formula_grammar_t ScOrcusGlobalSettings::get_default_formula_grammar() const
+{
+    return meGrammar;
+}
+
 ScOrcusFactory::StringCellCache::StringCellCache(const ScAddress& rPos, size_t nIndex) :
     maPos(rPos), mnIndex(nIndex) {}
 
@@ -270,16 +280,18 @@ formula::FormulaGrammar::Grammar getCalcGrammarFromOrcus( os::formula_grammar_t
     formula::FormulaGrammar::Grammar eGrammar = formula::FormulaGrammar::GRAM_ODFF;
     switch(grammar)
     {
-        case orcus::spreadsheet::ods:
+        case orcus::spreadsheet::formula_grammar_ods:
             eGrammar = formula::FormulaGrammar::GRAM_ODFF;
             break;
-        case orcus::spreadsheet::xlsx_2007:
-        case orcus::spreadsheet::xlsx_2010:
+        case orcus::spreadsheet::formula_grammar_xlsx_2007:
+        case orcus::spreadsheet::formula_grammar_xlsx_2010:
             eGrammar = formula::FormulaGrammar::GRAM_OOXML;
             break;
-        case orcus::spreadsheet::gnumeric:
+        case orcus::spreadsheet::formula_grammar_gnumeric:
             eGrammar = formula::FormulaGrammar::GRAM_ENGLISH_XL_A1;
             break;
+        default:
+            break;
     }
 
     return eGrammar;
@@ -309,6 +321,18 @@ void ScOrcusSheet::set_formula_result(os::row_t row, os::col_t col, const char*
     pCell->SetHybridString(mrDoc.getDoc().GetSharedStringPool().intern(aResult));
 }
 
+void ScOrcusSheet::set_formula_result(os::row_t row, os::col_t col, double value)
+{
+    ScFormulaCell* pCell = mrDoc.getDoc().GetFormulaCell(ScAddress(col, row, mnTab));
+    if (!pCell)
+    {
+        SAL_WARN("sc", "trying to set formula result for non formula \
+                cell! Col: " << col << ";Row: " << row << ";Tab: " << mnTab);
+        return;
+    }
+    pCell->SetHybridDouble(value);
+}
+
 void ScOrcusSheet::set_shared_formula(
     os::row_t row, os::col_t col, os::formula_grammar_t grammar, size_t sindex,
     const char* p_formula, size_t n_formula)
commit 68a18a6249dc9d8842a72413f3cd6f39ecf416e3
Author: Robert Antoni Buj i Gelonch <robert.buj at gmail.com>
Date:   Thu Oct 9 20:10:09 2014 +0200

    accessibility: The if statement is redundant
    
    Change-Id: I70dd50d8d588c71d391936195bb13ccb767470be
    Reviewed-on: https://gerrit.libreoffice.org/11890
    Reviewed-by: David Ostrovsky <david at ostrovsky.org>
    Reviewed-by: Noel Grandin <noelgrandin at gmail.com>
    Tested-by: Noel Grandin <noelgrandin at gmail.com>

diff --git a/toolkit/qa/complex/toolkit/accessibility/_XAccessibleEventBroadcaster.java b/toolkit/qa/complex/toolkit/accessibility/_XAccessibleEventBroadcaster.java
index c46115b..18ee618 100644
--- a/toolkit/qa/complex/toolkit/accessibility/_XAccessibleEventBroadcaster.java
+++ b/toolkit/qa/complex/toolkit/accessibility/_XAccessibleEventBroadcaster.java
@@ -23,6 +23,7 @@ import com.sun.star.awt.Rectangle;
 import com.sun.star.awt.PosSize;
 import com.sun.star.awt.XWindow;
 import com.sun.star.accessibility.AccessibleEventObject;
+import com.sun.star.accessibility.AccessibleStateType;
 import com.sun.star.accessibility.XAccessible;
 import com.sun.star.accessibility.XAccessibleEventBroadcaster;
 import com.sun.star.accessibility.XAccessibleEventListener;
@@ -172,15 +173,11 @@ public class _XAccessibleEventBroadcaster {
 
     private static boolean chkTransient(Object Testcase) {
         XAccessibleContext accCon = UnoRuntime.queryInterface(XAccessibleContext.class, Testcase);
-        if (accCon.getAccessibleStateSet().contains(
-            com.sun.star.accessibility.AccessibleStateType.TRANSIENT)){
-            if (!accCon.getAccessibleParent().getAccessibleContext().getAccessibleStateSet().contains(
-                        com.sun.star.accessibility.AccessibleStateType.MANAGES_DESCENDANTS)) {
-                return false;
-            }
-            return true;
-        }
-        return false;
+        return accCon.getAccessibleStateSet().contains(
+            AccessibleStateType.TRANSIENT)
+            && accCon.getAccessibleParent().getAccessibleContext()
+                .getAccessibleStateSet().contains(
+                    AccessibleStateType.MANAGES_DESCENDANTS);
     }
 
 }
commit 2a0569b53d87cf5f0971d87a537e275ea5271d8c
Author: Robert Antoni Buj i Gelonch <robert.buj at gmail.com>
Date:   Wed Oct 8 16:55:54 2014 +0200

    scripting: redundant cast to String
    
    Change-Id: I5e048964cc7885a32c59ff8a9eb1fc5b9523e843
    Reviewed-on: https://gerrit.libreoffice.org/11859
    Reviewed-by: Noel Grandin <noelgrandin at gmail.com>
    Tested-by: Noel Grandin <noelgrandin at gmail.com>

diff --git a/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptProviderForBeanShell.java b/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptProviderForBeanShell.java
index 59004f0..424c259 100644
--- a/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptProviderForBeanShell.java
+++ b/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptProviderForBeanShell.java
@@ -331,8 +331,8 @@ class ScriptImpl implements XScript {
                     new StringTokenizer(full.substring(index), ":");
 
                 if (tokenizer.countTokens() > 2) {
-                    LogUtils.DEBUG("First token = " + (String)tokenizer.nextElement());
-                    wrappedException = (String)tokenizer.nextElement();
+                    LogUtils.DEBUG("First token = " + tokenizer.nextToken());
+                    wrappedException = tokenizer.nextToken();
                     LogUtils.DEBUG("wrapped exception = = " + wrappedException);
                 }
             }
@@ -364,4 +364,4 @@ class ScriptImpl implements XScript {
 
         }
     }
-}
\ No newline at end of file
+}
diff --git a/scripting/java/com/sun/star/script/framework/provider/java/ScriptDescriptor.java b/scripting/java/com/sun/star/script/framework/provider/java/ScriptDescriptor.java
index 9d45332..1ca7cb5 100644
--- a/scripting/java/com/sun/star/script/framework/provider/java/ScriptDescriptor.java
+++ b/scripting/java/com/sun/star/script/framework/provider/java/ScriptDescriptor.java
@@ -86,8 +86,8 @@ public class ScriptDescriptor {
     public void setClasspath(String classpath) {
         StringTokenizer stk = new StringTokenizer(classpath, ":");
 
-        while (stk.hasMoreElements()) {
-            this.m_classpath.add((String) stk.nextElement());
+        while (stk.hasMoreTokens()) {
+            this.m_classpath.add(stk.nextToken());
         }
     }
 
commit a8e723ed3eed44a85714abf1cb04b74178d2424f
Author: Robert Antoni Buj i Gelonch <robert.buj at gmail.com>
Date:   Sat Oct 11 17:08:23 2014 +0200

    runner: Iterate over each Entry in a Map
    
    Change-Id: I48de54ea88e7fd9f2d903c172eb2b6e1a5b73edd
    Reviewed-on: https://gerrit.libreoffice.org/11918
    Reviewed-by: Noel Grandin <noelgrandin at gmail.com>
    Tested-by: Noel Grandin <noelgrandin at gmail.com>

diff --git a/qadevOOo/runner/helper/CfgParser.java b/qadevOOo/runner/helper/CfgParser.java
index 6c77461..d6cf0e6 100644
--- a/qadevOOo/runner/helper/CfgParser.java
+++ b/qadevOOo/runner/helper/CfgParser.java
@@ -18,8 +18,11 @@
 package helper;
 
 import java.io.FileInputStream;
+
 import java.util.Enumeration;
+import java.util.HashMap;
 import java.util.Iterator;
+import java.util.Map;
 import java.util.Properties;
 
 import lib.TestParameters;
@@ -102,20 +105,20 @@ public class CfgParser
         if (os != null && os.length() > 1)
         {
 
-            //found something that could be a prefix
-            //check all parameters for this
-            Iterator<String> keys = param.keySet().iterator();
-            while (keys.hasNext())
+            Map<String, Object> aux = new HashMap<String, Object>();
+            for (Iterator<Map.Entry<String, Object>> it = param.entrySet().iterator(); it.hasNext();)
             {
-                String key = keys.next();
+                Map.Entry<String, Object> entry = it.next();
+                String key = entry.getKey();
                 if (key.startsWith(os))
                 {
-                    Object oldValue = param.get(key);
+                    Object oldValue = entry.getValue();
                     String newKey = key.substring(os.length() + 1);
-                    param.remove(key);
-                    param.put(newKey, oldValue);
+                    it.remove();
+                    aux.put(newKey, oldValue);
                 }
             }
+            param.putAll(aux);
 
         }
     }
diff --git a/qadevOOo/runner/org/openoffice/Runner.java b/qadevOOo/runner/org/openoffice/Runner.java
index d833a4f..ff1bff4 100644
--- a/qadevOOo/runner/org/openoffice/Runner.java
+++ b/qadevOOo/runner/org/openoffice/Runner.java
@@ -22,6 +22,7 @@ import helper.ClParser;
 
 import java.util.Enumeration;
 import java.util.Iterator;
+import java.util.Map;
 import java.util.Properties;
 import java.util.StringTokenizer;
 
@@ -116,13 +117,12 @@ public class Runner
         bEmergencyStop |= checkPathVariable("sun.boot.class.path", sDelim);
 
         // ----- check all TestParameters -----
-        Iterator<String> aIter = _aParams.keySet().iterator();
-        while (aIter.hasNext())
+        for (Map.Entry<String, Object> entry : _aParams.entrySet())
         {
-            String sKey = aIter.next();
-            if (_aParams.get(sKey) instanceof String)
+            String sKey = entry.getKey();
+            if (entry.getValue() instanceof String)
             {
-                String sValue = (String) _aParams.get(sKey);
+                String sValue = (String) entry.getValue();
 
                 if (checkVariableForCygwin(sValue))
                 {
diff --git a/qadevOOo/runner/stats/SQLExecution.java b/qadevOOo/runner/stats/SQLExecution.java
index bb50dce..34f8949 100644
--- a/qadevOOo/runner/stats/SQLExecution.java
+++ b/qadevOOo/runner/stats/SQLExecution.java
@@ -22,9 +22,10 @@ import java.sql.DriverManager;
 import java.sql.ResultSet;
 import java.sql.ResultSetMetaData;
 import java.sql.Statement;
+
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.Iterator;
+import java.util.Map;
 import java.util.StringTokenizer;
 
 /**
@@ -229,10 +230,9 @@ public class SQLExecution {
             execute(sqlCommand.get(i), sqlOutput, update);
             // merge output with input
             if (!update && mergeOutputIntoInput) {
-                Iterator<String> keys = sqlOutput.keySet().iterator();
-                while(keys.hasNext()) {
-                    String key = keys.next();
-                    String[]val = sqlOutput.get(key);
+                for (Map.Entry<String, String[]> entry : sqlOutput.entrySet()) {
+                    String key = entry.getKey();
+                    String[] val = entry.getValue();
                     if (val != null && val.length != 0) {
                         if (val.length == 1)
                             sqlInput.put(key, val[0]);
commit ddac8522821ae288d4ce1533f9ebe8daf9e2d935
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Sun Oct 19 12:02:47 2014 +0200

    -Werror=shadow
    
    Change-Id: I940661c947307dc5dea371e5e6f9a9aedbfc904d

diff --git a/include/svx/svdglev.hxx b/include/svx/svdglev.hxx
index a7dd3f3..75bd590 100644
--- a/include/svx/svdglev.hxx
+++ b/include/svx/svdglev.hxx
@@ -50,13 +50,13 @@ public:
     // checken bzw. setzen/loeschen will.
     // Moegliche Werte fuer nThisEsc sind z.Zt.
     // SDRESC_LEFT, SDRESC_RIGHT, SDRESC_TOP und SDRESC_BOTTOM
-    TRISTATE IsMarkedGluePointsEscDir(sal_uInt16 nThisEsc) const;
+    SDR_TRISTATE IsMarkedGluePointsEscDir(sal_uInt16 nThisEsc) const;
     void SetMarkedGluePointsEscDir(sal_uInt16 nThisEsc, bool bOn);
     bool IsSetMarkedGluePointsEscDirPossible() const { return !IsReadOnly() && HasMarkedGluePoints(); }
 
     // Checken/setzen, ob die Klebepunktpositionen relativ zur
     // Objektgroesse sind (Percent=sal_True) oder nicht (Percent=sal_False)
-    TRISTATE IsMarkedGluePointsPercent() const;
+    SDR_TRISTATE IsMarkedGluePointsPercent() const;
     void SetMarkedGluePointsPercent(bool bOn);
     bool IsSetMarkedGluePointsPercentPossible() const { return !IsReadOnly() && HasMarkedGluePoints(); }
 
diff --git a/include/svx/svdpntv.hxx b/include/svx/svdpntv.hxx
index 16bdc9d..54df1af 100644
--- a/include/svx/svdpntv.hxx
+++ b/include/svx/svdpntv.hxx
@@ -76,7 +76,7 @@ enum SdrAnimationMode
 //   Typedef's und defines
 
 
-typedef unsigned char TRISTATE;
+typedef unsigned char SDR_TRISTATE;
 #define FUZZY                   (2)
 #define SDR_ANYFORMAT           (0xFFFFFFFF)
 #define SDR_ANYITEM             (0xFFFF)
diff --git a/sd/source/ui/view/drviews7.cxx b/sd/source/ui/view/drviews7.cxx
index c47b4a1..6a57586 100644
--- a/sd/source/ui/view/drviews7.cxx
+++ b/sd/source/ui/view/drviews7.cxx
@@ -461,7 +461,7 @@ void DrawViewShell::GetMenuState( SfxItemSet &rSet )
         SfxItemState::DEFAULT == rSet.GetItemState( SID_GLUE_VERTALIGN_BOTTOM ) )
     {
         // percent
-        TRISTATE eState = mpDrawView->IsMarkedGluePointsPercent();
+        SDR_TRISTATE eState = mpDrawView->IsMarkedGluePointsPercent();
         if( eState == TRISTATE_INDET )
             rSet.InvalidateItem( SID_GLUE_PERCENT );
         else
diff --git a/svx/source/svdraw/svdglev.cxx b/svx/source/svdraw/svdglev.cxx
index af7f705..31a3509 100644
--- a/svx/source/svdraw/svdglev.cxx
+++ b/svx/source/svdraw/svdglev.cxx
@@ -106,13 +106,13 @@ static void ImpGetEscDir(SdrGluePoint& rGP, const SdrObject* /*pObj*/, const voi
     }
 }
 
-TRISTATE SdrGlueEditView::IsMarkedGluePointsEscDir(sal_uInt16 nThisEsc) const
+SDR_TRISTATE SdrGlueEditView::IsMarkedGluePointsEscDir(sal_uInt16 nThisEsc) const
 {
     ForceUndirtyMrkPnt();
     bool bFirst=true;
     sal_uInt16 nRet=0;
     ((SdrGlueEditView*)this)->ImpDoMarkedGluePoints(ImpGetEscDir,true,&bFirst,&nThisEsc,&nRet);
-    return (TRISTATE)nRet;
+    return (SDR_TRISTATE)nRet;
 }
 
 static void ImpSetEscDir(SdrGluePoint& rGP, const SdrObject* /*pObj*/, const void* pnThisEsc, const void* pbOn, const void*, const void*, const void*)
@@ -144,13 +144,13 @@ static void ImpGetPercent(SdrGluePoint& rGP, const SdrObject* /*pObj*/, const vo
     }
 }
 
-TRISTATE SdrGlueEditView::IsMarkedGluePointsPercent() const
+SDR_TRISTATE SdrGlueEditView::IsMarkedGluePointsPercent() const
 {
     ForceUndirtyMrkPnt();
     bool bFirst=true;
     sal_uInt16 nRet=sal_True;
     ((SdrGlueEditView*)this)->ImpDoMarkedGluePoints(ImpGetPercent,true,&bFirst,&nRet);
-    return (TRISTATE)nRet;
+    return (SDR_TRISTATE)nRet;
 }
 
 static void ImpSetPercent(SdrGluePoint& rGP, const SdrObject* pObj, const void* pbOn, const void*, const void*, const void*, const void*)
commit 69bf37136c1386c7220f38a896aa9865bdae665f
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Sun Oct 19 10:35:45 2014 +0200

    fdo#83464 RTF import: \plain should reset \rtlch and \hich as well
    
    Regression from 36246aa9fb57c9fe4e546c91a8274d8828b1424e (RTF import:
    fix handling of \loch \hich \dbch \ltrch \rtlch, 2014-06-03), now that
    \f no longer means the ascii font name, \plain should reset a few more
    parser state members.
    
    Change-Id: Ia6b0bdf25563dd5300e108b46731751f0886f67d

diff --git a/sw/qa/extras/rtfimport/data/fdo83464.rtf b/sw/qa/extras/rtfimport/data/fdo83464.rtf
new file mode 100644
index 0000000..28c9202
--- /dev/null
+++ b/sw/qa/extras/rtfimport/data/fdo83464.rtf
@@ -0,0 +1,24 @@
+{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs1025
+{\fonttbl
+{\f0\fbidi \froman\fcharset0\fprq2 Times New Roman;}
+{\f39\fbidi \fswiss\fcharset0\fprq2 Verdana;}
+}
+{\stylesheet
+{\s43\ql \f39\fs16 Table Text;}
+}
+\pard\plain \ltrpar\ql \li0\ri0\sb60\sa60\widctlpar\tx360\jclisttab\tx720\tx1080\tx1440\tx1800\tx2160\tx2520\tx2880\tx3240\tx3600\tx3960\tx4320\tx4680\tx5040\tx5400\tx5760\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid10449364 \rtlch\fcs1 \af0\afs18\alang1037 \ltrch\fcs0 \fs16\lang1024\langfe1024\loch\af2\hich\af2\dbch\af35\cgrid\noproof\langnp1033\langfenp1033 
+\par
+{\rtlch\fcs1 \ltrch\fcs0 \insrsid11419963 
+{\shp
+{\*\shpinst\shpleft-90\shptop720\shpright9405\shpbottom2940\shpfhdr0\shpbxcolumn\shpbxignore\shpbymargin\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz2\shplid1027
+{\sp
+{\sn shapeType}
+{\sv 202}
+}
+{\shptxt \pard\plain\f39\fs16 Hello\par
+}
+}
+}
+}
+\par
+}
diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx
index 5969c66..b3cfec9 100644
--- a/sw/qa/extras/rtfimport/rtfimport.cxx
+++ b/sw/qa/extras/rtfimport/rtfimport.cxx
@@ -1974,6 +1974,15 @@ DECLARE_RTFIMPORT_TEST(testFdo82071, "fdo82071.rtf")
     CPPUNIT_ASSERT_EQUAL(awt::FontUnderline::NONE, getProperty<sal_Int16>(xRun, "CharUnderline"));
 }
 
+DECLARE_RTFIMPORT_TEST(testFdo83464, "fdo83464.rtf")
+{
+    // Problem was that the text in the textfrme had wrong font.
+    uno::Reference<text::XTextRange> xFrameText(getShape(1), uno::UNO_QUERY);
+    CPPUNIT_ASSERT_EQUAL(OUString("Hello"), xFrameText->getString());
+    // This was Times New Roman.
+    CPPUNIT_ASSERT_EQUAL(OUString("Verdana"), getProperty<OUString>(getRun(getParagraphOfText(1, xFrameText->getText()), 1), "CharFontName"));
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 70dae1f..d01f85c 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -2850,6 +2850,8 @@ int RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
         m_aStates.top().nCurrentEncoding = getEncoding(getFontIndex(m_nDefaultFontIndex));
         m_aStates.top().aCharacterAttributes = getDefaultState().aCharacterAttributes;
         m_aStates.top().nCurrentCharacterStyleIndex = -1;
+        m_aStates.top().isRightToLeft = false;
+        m_aStates.top().eRunType = RTFParserState::LOCH;
     }
     break;
     case RTF_PARD:
commit 9cf46f217424921e35aa7458c7cfd6b2a87bd2a9
Author: Norbert Thiebaud <nthiebaud at gmail.com>
Date:   Sat Oct 18 23:03:46 2014 -0500

    typo in filename, hidden by case insensitivity of windows
    
    Change-Id: I9ec1fefe61f24c005519a2bb4a87fe07f6895ca6

diff --git a/external/libmwaw/Library_mwaw.mk b/external/libmwaw/Library_mwaw.mk
index ade8367..9cab326 100644
--- a/external/libmwaw/Library_mwaw.mk
+++ b/external/libmwaw/Library_mwaw.mk
@@ -45,7 +45,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,mwaw,\
 	UnpackedTarball/libmwaw/src/lib/ClarisWksDbaseContent \
 	UnpackedTarball/libmwaw/src/lib/ClarisWksDocument \
 	UnpackedTarball/libmwaw/src/lib/ClarisWksGraph \
-	UnpackedTarball/libmwaw/src/lib/ClarisWksPRPArser \
+	UnpackedTarball/libmwaw/src/lib/ClarisWksPRParser \
 	UnpackedTarball/libmwaw/src/lib/ClarisWksParser \
 	UnpackedTarball/libmwaw/src/lib/ClarisWksPresentation \
 	UnpackedTarball/libmwaw/src/lib/ClarisWksSSParser \
commit 4b71bb35a7c04fef4ed86591d8892a29c4150c0b
Author: Norbert Thiebaud <nthiebaud at gmail.com>
Date:   Sat Oct 18 20:54:45 2014 -0500

    work around windows whining
    
    Change-Id: If2922bca25c93edc25e1171001def8ce3011cf4c

diff --git a/tools/source/generic/rational.cxx b/tools/source/generic/rational.cxx
index 1f2fc14..f99bdfa 100644
--- a/tools/source/generic/rational.cxx
+++ b/tools/source/generic/rational.cxx
@@ -128,10 +128,11 @@ void rational_ReduceInaccurate(boost::rational<sal_Int64>& rRational, unsigned n
     DBG_ASSERT(nSignificantBits<65, "More than 64 bit of significance is overkill!");
 
     // How much bits can we lose?
-    const int nMulBitsToLose = std::max( ( impl_NumberOfBits( nMul ) - int( nSignificantBits ) ), 0 );
-    const int nDivBitsToLose = std::max( ( impl_NumberOfBits( nDiv ) - int( nSignificantBits ) ), 0 );
+    const int nMulBitsToLose = impl_NumberOfBits( nMul ) - int( nSignificantBits );
+    const int nDivBitsToLose = impl_NumberOfBits( nDiv ) - int( nSignificantBits );
 
-    const int nToLose = std::min( nMulBitsToLose, nDivBitsToLose );
+    int nToLose = nMulBitsToLose < nDivBitsToLose ? nMulBitsToLose : nDivBitsToLose;
+    nToLose = nToLose < 0 ? 0 : nToLose;
 
     // Remove the bits
     nMul >>= nToLose;
commit b564162dbdc2c17673e08b4f799e09add190e9ed
Author: Norbert Thiebaud <nthiebaud at gmail.com>
Date:   Sat Oct 18 20:53:01 2014 -0500

    fix libmwaw build on Windows
    
    Change-Id: I103ba777cc7f38f5df17995d9ef9bfb6d6cf133b

diff --git a/external/libmwaw/Library_mwaw.mk b/external/libmwaw/Library_mwaw.mk
index 92ab48a..ade8367 100644
--- a/external/libmwaw/Library_mwaw.mk
+++ b/external/libmwaw/Library_mwaw.mk
@@ -45,6 +45,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,mwaw,\
 	UnpackedTarball/libmwaw/src/lib/ClarisWksDbaseContent \
 	UnpackedTarball/libmwaw/src/lib/ClarisWksDocument \
 	UnpackedTarball/libmwaw/src/lib/ClarisWksGraph \
+	UnpackedTarball/libmwaw/src/lib/ClarisWksPRPArser \
 	UnpackedTarball/libmwaw/src/lib/ClarisWksParser \
 	UnpackedTarball/libmwaw/src/lib/ClarisWksPresentation \
 	UnpackedTarball/libmwaw/src/lib/ClarisWksSSParser \
@@ -99,6 +100,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,mwaw,\
 	UnpackedTarball/libmwaw/src/lib/MWAWPictBitmap \
 	UnpackedTarball/libmwaw/src/lib/MWAWPictData \
 	UnpackedTarball/libmwaw/src/lib/MWAWPictMac \
+	UnpackedTarball/libmwaw/src/lib/MWAWPresentationListener \
 	UnpackedTarball/libmwaw/src/lib/MWAWPrinter \
 	UnpackedTarball/libmwaw/src/lib/MWAWPropertyHandler \
 	UnpackedTarball/libmwaw/src/lib/MWAWRSRCParser \
@@ -111,6 +113,9 @@ $(eval $(call gb_Library_add_generated_exception_objects,mwaw,\
 	UnpackedTarball/libmwaw/src/lib/MWAWTable \
 	UnpackedTarball/libmwaw/src/lib/MWAWTextListener \
 	UnpackedTarball/libmwaw/src/lib/MacDocParser \
+	UnpackedTarball/libmwaw/src/lib/MacDrawParser \
+	UnpackedTarball/libmwaw/src/lib/MacDrawProParser \
+	UnpackedTarball/libmwaw/src/lib/MacDrawProStyleManager \
 	UnpackedTarball/libmwaw/src/lib/MacPaintParser \
 	UnpackedTarball/libmwaw/src/lib/MacWrtParser \
 	UnpackedTarball/libmwaw/src/lib/MacWrtProParser \
@@ -142,6 +147,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,mwaw,\
 	UnpackedTarball/libmwaw/src/lib/NisusWrtText \
 	UnpackedTarball/libmwaw/src/lib/RagTimeParser \
 	UnpackedTarball/libmwaw/src/lib/RagTimeSpreadsheet \
+	UnpackedTarball/libmwaw/src/lib/RagTimeStruct \
 	UnpackedTarball/libmwaw/src/lib/RagTimeText \
 	UnpackedTarball/libmwaw/src/lib/SuperPaintParser \
 	UnpackedTarball/libmwaw/src/lib/TeachTxtParser \
commit 281847613bd3ae472523822f4be9c21cc353867e
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date:   Sat Oct 18 20:22:53 2014 -0400

    fdo#82047: Correctly adjust references in range names on row deletion.
    
    Change-Id: Iac924b0b6932863f7f9cc088f996e0b07c340d2c

diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx
index f3c38ab..cb36699 100644
--- a/sc/source/core/tool/token.cxx
+++ b/sc/source/core/tool/token.cxx
@@ -3161,6 +3161,53 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceInName(
                     if (adjustDoubleRefInName(rRef, rCxt, rPos))
                         aRes.mbReferenceModified = true;
                 }
+                else if (rCxt.mnRowDelta < 0)
+                {
+                    // row(s) deleted.
+                    if (rRef.Ref1.IsRowRel() || rRef.Ref2.IsRowRel())
+                        // Don't modify relative references in names.
+                        break;
+
+                    if (aAbs.aStart.Col() < rCxt.maRange.aStart.Col() || rCxt.maRange.aEnd.Col() < aAbs.aEnd.Col())
+                        // column range of the reference is not entirely in the deleted column range.
+                        break;
+
+                    ScRange aDeleted = rCxt.maRange;
+                    aDeleted.aStart.IncRow(rCxt.mnRowDelta);
+                    aDeleted.aEnd.SetRow(aDeleted.aStart.Row()-rCxt.mnRowDelta-1);
+
+                    if (aAbs.aEnd.Row() < aDeleted.aStart.Row() || aDeleted.aEnd.Row() < aAbs.aStart.Row())
+                        // reference range doesn't intersect with the deleted range.
+                        break;
+
+                    if (aDeleted.aStart.Row() <= aAbs.aStart.Row() && aAbs.aEnd.Row() <= aDeleted.aEnd.Row())
+                    {
+                        // This reference is entirely deleted.
+                        rRef.Ref1.SetRowDeleted(true);
+                        rRef.Ref2.SetRowDeleted(true);
+                        aRes.mbReferenceModified = true;
+                        break;
+                    }
+
+                    if (aAbs.aStart.Row() < aDeleted.aStart.Row())
+                    {
+                        if (aDeleted.aEnd.Row() < aAbs.aEnd.Row())
+                            // Deleted in the middle.  Make the reference shorter.
+                            rRef.Ref2.IncRow(rCxt.mnRowDelta);
+                        else
+                            // Deleted at tail end.  Cut off the lower part.
+                            rRef.Ref2.SetAbsRow(aDeleted.aStart.Row()-1);
+                    }
+                    else
+                    {
+                        // Deleted at the top.  Cut the top off and shift up.
+                        rRef.Ref1.SetAbsRow(aDeleted.aEnd.Row()+1);
+                        rRef.Ref1.IncRow(rCxt.mnRowDelta);
+                        rRef.Ref2.IncRow(rCxt.mnRowDelta);
+                    }
+
+                    aRes.mbReferenceModified = true;
+                }
                 else if (rCxt.maRange.Intersects(aAbs))
                 {
                     if (rCxt.mnColDelta && rCxt.maRange.aStart.Row() <= aAbs.aStart.Row() && aAbs.aEnd.Row() <= rCxt.maRange.aEnd.Row())
commit 03075bfac25408d805b6cfecce56fa0c4cb9d88d
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date:   Sat Oct 18 20:22:28 2014 -0400

    fdo#82047: Write test for this.
    
    Change-Id: I0e5e54b517d3fb3cb28eb133b2cbe5bf5ca6b1d6

diff --git a/sc/qa/unit/ucalc.hxx b/sc/qa/unit/ucalc.hxx
index 114ca8d..472779c 100644
--- a/sc/qa/unit/ucalc.hxx
+++ b/sc/qa/unit/ucalc.hxx
@@ -136,6 +136,7 @@ public:
     void testFormulaRefUpdateName();
     void testFormulaRefUpdateNameMove();
     void testFormulaRefUpdateNameExpandRef();
+    void testFormulaRefUpdateNameDeleteRow();
     void testFormulaRefUpdateValidity();
     void testMultipleOperations();
     void testFuncCOLUMN();
@@ -428,6 +429,7 @@ public:
     CPPUNIT_TEST(testFormulaRefUpdateName);
     CPPUNIT_TEST(testFormulaRefUpdateNameMove);
     CPPUNIT_TEST(testFormulaRefUpdateNameExpandRef);
+    CPPUNIT_TEST(testFormulaRefUpdateNameDeleteRow);
     CPPUNIT_TEST(testFormulaRefUpdateValidity);
     CPPUNIT_TEST(testMultipleOperations);
     CPPUNIT_TEST(testFuncCOLUMN);
diff --git a/sc/qa/unit/ucalc_formula.cxx b/sc/qa/unit/ucalc_formula.cxx
index 3ae29cb..5e0018a 100644
--- a/sc/qa/unit/ucalc_formula.cxx
+++ b/sc/qa/unit/ucalc_formula.cxx
@@ -2285,6 +2285,80 @@ void Test::testFormulaRefUpdateNameExpandRef()
     m_pDoc->DeleteTab(0);
 }
 
+void Test::testFormulaRefUpdateNameDeleteRow()
+{
+    m_pDoc->InsertTab(0, "Test");
+
+    // Insert a new name 'MyRange' to reference B2:B4.
+    bool bInserted = m_pDoc->InsertNewRangeName("MyRange", ScAddress(0,0,0), "$B$2:$B$4");
+    CPPUNIT_ASSERT(bInserted);
+
+    const ScRangeData* pName = m_pDoc->GetRangeName()->findByUpperName("MYRANGE");
+    CPPUNIT_ASSERT(pName);
+
+    sc::TokenStringContext aCxt(m_pDoc, formula::FormulaGrammar::GRAM_ENGLISH);
+    const ScTokenArray* pCode = pName->GetCode();
+    OUString aExpr = pCode->CreateString(aCxt, ScAddress(0,0,0));
+    CPPUNIT_ASSERT_EQUAL(OUString("$B$2:$B$4"), aExpr);
+
+    ScDocFunc& rFunc = getDocShell().GetDocFunc();
+
+    // Delete row 3.
+    ScMarkData aMark;
+    aMark.SelectOneTable(0);
+    rFunc.DeleteCells(ScRange(0,2,0,MAXCOL,2,0), &aMark, DEL_CELLSUP, true, true);
+
+    // The reference in the name should get updated to B2:B3.
+    aExpr = pCode->CreateString(aCxt, ScAddress(0,0,0));
+    CPPUNIT_ASSERT_EQUAL(OUString("$B$2:$B$3"), aExpr);
+
+    // Delete row 3 again.
+    rFunc.DeleteCells(ScRange(0,2,0,MAXCOL,2,0), &aMark, DEL_CELLSUP, true, true);
+    aExpr = pCode->CreateString(aCxt, ScAddress(0,0,0));
+    CPPUNIT_ASSERT_EQUAL(OUString("$B$2:$B$2"), aExpr);
+
+    // Undo and check.
+    SfxUndoManager* pUndoMgr = m_pDoc->GetUndoManager();
+    CPPUNIT_ASSERT(pUndoMgr);
+
+    pUndoMgr->Undo();
+
+    pName = m_pDoc->GetRangeName()->findByUpperName("MYRANGE");
+    CPPUNIT_ASSERT(pName);
+    pCode = pName->GetCode();
+
+    aExpr = pCode->CreateString(aCxt, ScAddress(0,0,0));
+    CPPUNIT_ASSERT_EQUAL(OUString("$B$2:$B$3"), aExpr);
+
+    // Undo again and check.
+    pUndoMgr->Undo();
+
+    pName = m_pDoc->GetRangeName()->findByUpperName("MYRANGE");
+    CPPUNIT_ASSERT(pName);
+    pCode = pName->GetCode();
+
+    aExpr = pCode->CreateString(aCxt, ScAddress(0,0,0));
+    CPPUNIT_ASSERT_EQUAL(OUString("$B$2:$B$4"), aExpr);
+
+    // Delete row 2-3.
+    rFunc.DeleteCells(ScRange(0,1,0,MAXCOL,2,0), &aMark, DEL_CELLSUP, true, true);
+
+    aExpr = pCode->CreateString(aCxt, ScAddress(0,0,0));
+    CPPUNIT_ASSERT_EQUAL(OUString("$B$2:$B$2"), aExpr);
+
+    // Undo and check.
+    pUndoMgr->Undo();
+
+    pName = m_pDoc->GetRangeName()->findByUpperName("MYRANGE");
+    CPPUNIT_ASSERT(pName);
+    pCode = pName->GetCode();
+
+    aExpr = pCode->CreateString(aCxt, ScAddress(0,0,0));
+    CPPUNIT_ASSERT_EQUAL(OUString("$B$2:$B$4"), aExpr);
+
+    m_pDoc->DeleteTab(0);
+}
+
 void Test::testFormulaRefUpdateValidity()
 {
     struct {
commit 2f821f3b81d093cb6f738c1a51822e907ab80054
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date:   Sat Oct 18 16:38:03 2014 -0400

    NamedExpression is too lengthy. Let's just call it 'Name'. We'll know.
    
    Change-Id: Ia4da886b050397831383005131ff9f21570934ad

diff --git a/sc/qa/unit/ucalc.hxx b/sc/qa/unit/ucalc.hxx
index 0053646..114ca8d 100644
--- a/sc/qa/unit/ucalc.hxx
+++ b/sc/qa/unit/ucalc.hxx
@@ -133,9 +133,9 @@ public:
     void testFormulaRefUpdateMoveUndo();
     void testFormulaRefUpdateMoveToSheet();
     void testFormulaRefUpdateDeleteContent();
-    void testFormulaRefUpdateNamedExpression();
-    void testFormulaRefUpdateNamedExpressionMove();
-    void testFormulaRefUpdateNamedExpressionExpandRef();
+    void testFormulaRefUpdateName();
+    void testFormulaRefUpdateNameMove();
+    void testFormulaRefUpdateNameExpandRef();
     void testFormulaRefUpdateValidity();
     void testMultipleOperations();
     void testFuncCOLUMN();
@@ -425,9 +425,9 @@ public:
     CPPUNIT_TEST(testFormulaRefUpdateMoveUndo);
     CPPUNIT_TEST(testFormulaRefUpdateMoveToSheet);
     CPPUNIT_TEST(testFormulaRefUpdateDeleteContent);
-    CPPUNIT_TEST(testFormulaRefUpdateNamedExpression);
-    CPPUNIT_TEST(testFormulaRefUpdateNamedExpressionMove);
-    CPPUNIT_TEST(testFormulaRefUpdateNamedExpressionExpandRef);
+    CPPUNIT_TEST(testFormulaRefUpdateName);
+    CPPUNIT_TEST(testFormulaRefUpdateNameMove);
+    CPPUNIT_TEST(testFormulaRefUpdateNameExpandRef);
     CPPUNIT_TEST(testFormulaRefUpdateValidity);
     CPPUNIT_TEST(testMultipleOperations);
     CPPUNIT_TEST(testFuncCOLUMN);
diff --git a/sc/qa/unit/ucalc_formula.cxx b/sc/qa/unit/ucalc_formula.cxx
index 84d34e0..3ae29cb 100644
--- a/sc/qa/unit/ucalc_formula.cxx
+++ b/sc/qa/unit/ucalc_formula.cxx
@@ -1944,7 +1944,7 @@ void Test::testFormulaRefUpdateDeleteContent()
     m_pDoc->DeleteTab(0);
 }
 
-void Test::testFormulaRefUpdateNamedExpression()
+void Test::testFormulaRefUpdateName()
 {
     m_pDoc->InsertTab(0, "Formula");
 
@@ -2075,7 +2075,7 @@ void Test::testFormulaRefUpdateNamedExpression()
     m_pDoc->DeleteTab(0);
 }
 
-void Test::testFormulaRefUpdateNamedExpressionMove()
+void Test::testFormulaRefUpdateNameMove()
 {
     sc::AutoCalcSwitch aACSwitch(*m_pDoc, true); // turn auto calc on.
 
@@ -2177,7 +2177,7 @@ void Test::testFormulaRefUpdateNamedExpressionMove()
     m_pDoc->DeleteTab(0);
 }
 
-void Test::testFormulaRefUpdateNamedExpressionExpandRef()
+void Test::testFormulaRefUpdateNameExpandRef()
 {
     setExpandRefs(true);
 
commit c68642d535f2ebb7f1cd866ad19b1fd018e7cd6d
Author: Norbert Thiebaud <nthiebaud at gmail.com>
Date:   Sat Oct 18 15:44:12 2014 -0500

    tilebench depend on linreooficekitgtk so need ENABLE_GTK too
    
    Change-Id: I04b787493115de0190615f42248cc82968907e38

diff --git a/Repository.mk b/Repository.mk
index b521ef6..729c1d3 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -85,7 +85,7 @@ $(eval $(call gb_Helper_register_executables_for_install,OOO,ooo, \
 ))
 
 $(eval $(call gb_Helper_register_executables,OOO, \
-	$(if $(filter LINUX,$(OS)), tilebench) \
+	$(if $(and $(ENABLE_GTK), $(filter LINUX,$(OS))), tilebench) \
 	$(call gb_Helper_optional,CRASHREP,crashrep) \
 	gnome-open-url.bin \
 	$(if $(filter-out ANDROID IOS MACOSX WNT,$(OS)),oosplash) \
diff --git a/libreofficekit/Module_libreofficekit.mk b/libreofficekit/Module_libreofficekit.mk
index 716ff48..fe5ee15 100644
--- a/libreofficekit/Module_libreofficekit.mk
+++ b/libreofficekit/Module_libreofficekit.mk
@@ -20,11 +20,11 @@ $(eval $(call gb_Module_add_targets,libreofficekit,\
     Library_libreofficekitgtk \
     Executable_gtktiledviewer \
 ))
-endif # ($(ENABLE_GTK),)
 
 $(eval $(call gb_Module_add_targets,libreofficekit,\
     Executable_tilebench \
 ))
+endif # ($(ENABLE_GTK),)
 
 endif # ($(OS),LINUX)
 
commit e6fe8387788b98b4bae43b466075f3938f3fb50c
Author: Norbert Thiebaud <nthiebaud at gmail.com>
Date:   Sat Oct 18 15:07:19 2014 -0500

    we should convert to DOS path for other exotic things than spaces too
    
    backslases and other 'special' characters can mess with
    later path handling
    
    Change-Id: Ic21b0eb82b60ffb2e286706be00148582ff9ad58

diff --git a/configure.ac b/configure.ac
index 05e8d55..b763b96 100644
--- a/configure.ac
+++ b/configure.ac
@@ -29,15 +29,14 @@ PathFormat()
 {
     formatted_path="$1"
     if test "$build_os" = "cygwin"; then
-        pf_part1=
         pf_conv_to_dos=
-        for pf_part in $formatted_path; do
-            if test -z "$pf_part1"; then
-                pf_part1="$pf_part"
-            else
+        # spaces,parentheses,brackets,braces are problematic in pathname
+        # so are backslashes
+        case "$formatted_path" in
+            *\ * | *\)* | *\(* | *\{* | *\}* | *\[* | *\]* | *\\* )
                 pf_conv_to_dos="yes"
-            fi
-        done
+            ;;
+        esac
         if test "$pf_conv_to_dos" = "yes"; then
             if test "$GNUMAKE_WIN_NATIVE" = "TRUE" ; then
                 formatted_path=`cygpath -sm "$formatted_path"`
commit ebc9ca1d41e84a895a080933b94422d6bddb7ceb
Author: Norbert Thiebaud <nthiebaud at gmail.com>
Date:   Sat Oct 18 15:05:23 2014 -0500

    fix typo in TARFILE_LOCATION handling in the lode case
    
    Change-Id: I11831583a0288a07fd6279411069d169ab854882

diff --git a/configure.ac b/configure.ac
index adef7d2..05e8d55 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4671,7 +4671,7 @@ dnl whether to find & fetch external tarballs?
 dnl ===================================================================
 if test -z "$TARFILE_LOCATION" -a -n "$LODE_HOME" ; then
    if test "$GNUMAKE_WIN_NATIVE" = "TRUE" ; then
-       TARFILE_LOCATION="`cypath -m $LODE_HOME/ext_tar`"
+       TARFILE_LOCATION="`cygpath -m $LODE_HOME/ext_tar`"
    else
        TARFILE_LOCATION="$LODE_HOME/ext_tar"
    fi
commit d4d85fb9fc5daef5d89a8e42b68ce4a873bcf084
Author: Norbert Thiebaud <nthiebaud at gmail.com>
Date:   Sat Oct 18 15:04:43 2014 -0500

    format MSBuild path appropriately
    
    Change-Id: I38ed000a0f9c07fe8e1ed26752af8e172998bf2c

diff --git a/configure.ac b/configure.ac
index 25ff959..adef7d2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3472,7 +3472,7 @@ if test "$_os" = "WINNT"; then
         # Find the proper version of MSBuild.exe to use based on the VS version
         reg_get_value_32 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSBuild/$vcnumwithdot/MSBuildOverrideTasksPath
         if test -n "$regvalue" ; then
-            MSBUILD_PATH="$regvalue"
+            MSBUILD_PATH=`win_short_path_for_make "$regvalue"`
         fi
 
         dnl ===========================================================
commit 76397a8b53d2043dd7a6dc94e521bd7958148fae
Author: Norbert Thiebaud <nthiebaud at gmail.com>
Date:   Sat Oct 18 13:52:16 2014 -0500

    windows: try to locate a good MSBuild.exe based on the version of VS
    
    lcms2 for instance call MSBuild.exe, naked. it relies on what is found
    in the PATH, but apparently MSBuild.exe can be found in many places
    including for instance the .NET Framework.
    This was causing failure with a VS2013
    
    This patch inspect the registry to see if there is a MSBuild of the
    same level than VS2013 and use that information to adjust the PATH
    so that we invoke the right version.
    
    Note: starting VS2013, Microsoft is numbering the version of MSBuild
    with the same version number than VS itself.. so with VS2013 the version
    of MSBuild is 12.0 (vs 4.0 before that)
    
    Change-Id: I04c614116d1d365a10c9b9e0e8ce9571d770c065

diff --git a/configure.ac b/configure.ac
index aa9112f..25ff959 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3430,6 +3430,7 @@ find_msvc()
 }
 
 SHOWINCLUDES_PREFIX=
+MSBUILD_PATH=
 if test "$_os" = "WINNT"; then
     if test "$WITH_MINGW" != "yes"; then
         AC_MSG_CHECKING([Visual C++])
@@ -3468,6 +3469,12 @@ if test "$_os" = "WINNT"; then
             AC_MSG_RESULT([No])
         fi
 
+        # Find the proper version of MSBuild.exe to use based on the VS version
+        reg_get_value_32 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSBuild/$vcnumwithdot/MSBuildOverrideTasksPath
+        if test -n "$regvalue" ; then
+            MSBUILD_PATH="$regvalue"
+        fi
+
         dnl ===========================================================
         dnl  Check for the corresponding mspdb*.dll
         dnl ===========================================================
@@ -12750,6 +12757,9 @@ else
         pathmunge "$MIDL_PATH" "before"
         pathmunge "$AL_PATH" "before"
         pathmunge "$MSPDB_PATH" "before"
+        if test -n "$MSBUILD_PATH" ; then
+            pathmunge "$MSBUILD_PATH" "before"
+        fi
         if test "$BITNESS_OVERRIDE" = 64; then
             pathmunge "$COMPATH/bin/amd64" "before"
             pathmunge "$WINDOWS_SDK_HOME/bin/x64" "before"
commit b77ea7496af7a4685c58e1487d7f49162184f290
Author: Ruggero Cyrille <cyrille.ruggero at ens.fr>
Date:   Sat Oct 18 11:50:53 2014 +0200

    Remove lwpunoheader.hxx.
    
    Change-Id: I41534baa3cb98fc9af2f12605015a5653e552853

diff --git a/lotuswordpro/source/filter/lwp9reader.cxx b/lotuswordpro/source/filter/lwp9reader.cxx
index d83b841..b2a91ec 100644
--- a/lotuswordpro/source/filter/lwp9reader.cxx
+++ b/lotuswordpro/source/filter/lwp9reader.cxx
@@ -53,9 +53,9 @@
  *
  *
  ************************************************************************/
+
 #include "lwp9reader.hxx"
 #include "lwpglobalmgr.hxx"
-#include "lwpunoheader.hxx"
 #include "lwparrowstyles.hxx"
 #include "lwpobjhdr.hxx"
 #include "lwpdoc.hxx"
diff --git a/lotuswordpro/source/filter/lwp9reader.hxx b/lotuswordpro/source/filter/lwp9reader.hxx
index cb288c1..3058393 100644
--- a/lotuswordpro/source/filter/lwp9reader.hxx
+++ b/lotuswordpro/source/filter/lwp9reader.hxx
@@ -57,7 +57,6 @@
 #define INCLUDED_LOTUSWORDPRO_SOURCE_FILTER_LWP9READER_HXX
 
 #include "lwpheader.hxx"
-#include "lwpunoheader.hxx"
 #include "lwpsvstream.hxx"
 #include "lwpfilehdr.hxx"
 #include "lwpobjfactory.hxx"
diff --git a/lotuswordpro/source/filter/lwpobj.hxx b/lotuswordpro/source/filter/lwpobj.hxx
index e1ebad5..942e044 100644
--- a/lotuswordpro/source/filter/lwpobj.hxx
+++ b/lotuswordpro/source/filter/lwpobj.hxx
@@ -73,7 +73,6 @@
 
 #include "lwpobjhdr.hxx"
 #include "lwpobjstrm.hxx"
-#include "lwpunoheader.hxx"
 #include "xfilter/ixfstream.hxx"
 #include "xfilter/xfcontentcontainer.hxx"
 
diff --git a/lotuswordpro/source/filter/lwpsvstream.hxx b/lotuswordpro/source/filter/lwpsvstream.hxx
index e521275..b8a4aa6 100644
--- a/lotuswordpro/source/filter/lwpsvstream.hxx
+++ b/lotuswordpro/source/filter/lwpsvstream.hxx
@@ -57,7 +57,7 @@
 #define INCLUDED_LOTUSWORDPRO_SOURCE_FILTER_LWPSVSTREAM_HXX
 
 #include "lwpheader.hxx"
-#include "lwpunoheader.hxx"
+#include "xfilter/xfglobal.hxx"
 #include <tools/stream.hxx>
 
 /**
diff --git a/lotuswordpro/source/filter/lwpunoheader.hxx b/lotuswordpro/source/filter/lwpunoheader.hxx
deleted file mode 100644
index 2eeee52..0000000
--- a/lotuswordpro/source/filter/lwpunoheader.hxx
+++ /dev/null
@@ -1,82 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- *  The Contents of this file are made available subject to the terms of
- *  either of the following licenses
- *
- *         - GNU Lesser General Public License Version 2.1
- *         - Sun Industry Standards Source License Version 1.1
- *
- *  Sun Microsystems Inc., October, 2000
- *
- *  GNU Lesser General Public License Version 2.1
- *  =============================================
- *  Copyright 2000 by Sun Microsystems, Inc.
- *  901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License version 2.1, as published by the Free Software Foundation.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- *  MA  02111-1307  USA
- *
- *
- *  Sun Industry Standards Source License Version 1.1
- *  =================================================
- *  The contents of this file are subject to the Sun Industry Standards
- *  Source License Version 1.1 (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.openoffice.org/license.html.
- *
- *  Software provided under this License is provided on an "AS IS" basis,
- *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- *  See the License for the specific provisions governing your rights and
- *  obligations concerning the Software.
- *
- *  The Initial Developer of the Original Code is: IBM Corporation
- *
- *  Copyright: 2008 by IBM Corporation
- *
- *  All Rights Reserved.
- *
- *  Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-/*************************************************************************
- * @file
- *  For LWP filter
- ************************************************************************/
-/*************************************************************************
- * Change History
- Jan 2005           Created
- ************************************************************************/
-
-#ifndef INCLUDED_LOTUSWORDPRO_SOURCE_FILTER_LWPUNOHEADER_HXX
-#define INCLUDED_LOTUSWORDPRO_SOURCE_FILTER_LWPUNOHEADER_HXX
-
-#include <cppuhelper/implbase1.hxx>
-#include <cppuhelper/implbase3.hxx>
-#include <cppuhelper/factory.hxx>
-#include <com/sun/star/document/XFilter.hpp>
-#include <com/sun/star/document/XImporter.hpp>
-#include <com/sun/star/xml/sax/XDocumentHandler.hpp>
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/io/XInputStream.hpp>
-#include <com/sun/star/io/XSeekable.hpp>
-
-#include "xfilter/xfglobal.hxx"
-
-#endif // INCLUDED_LOTUSWORDPRO_SOURCE_FILTER_LWPUNOHEADER_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 06562c678410e425de629109ce92933c2d89a8f6
Author: Noel Grandin <noel at peralex.com>
Date:   Sat Oct 18 10:36:36 2014 +0200

    convert SV_BMP_ constants to enum
    
    Change-Id: I46cb7f649fa44d8967e0e7da03583157d2706f05
    Reviewed-on: https://gerrit.libreoffice.org/12018
    Reviewed-by: Noel Grandin <noelgrandin at gmail.com>
    Tested-by: Noel Grandin <noelgrandin at gmail.com>

diff --git a/accessibility/source/extended/accessiblelistboxentry.cxx b/accessibility/source/extended/accessiblelistboxentry.cxx
index 06de24a..31f0947 100644
--- a/accessibility/source/extended/accessiblelistboxentry.cxx
+++ b/accessibility/source/extended/accessiblelistboxentry.cxx
@@ -790,9 +790,9 @@ namespace accessibility
                 SvTreeListEntry* pEntry = getListBox()->GetEntryFromPath( m_aEntryPath );
                 SvButtonState state = getListBox()->GetCheckButtonState( pEntry );
                 if ( state == SV_BUTTON_CHECKED )
-                    getListBox()->SetCheckButtonState(pEntry, (SvButtonState)SV_BMP_UNCHECKED);
-                else if (state == SV_BMP_UNCHECKED)
-                    getListBox()->SetCheckButtonState(pEntry, (SvButtonState)SV_BUTTON_CHECKED);
+                    getListBox()->SetCheckButtonState(pEntry, SV_BUTTON_UNCHECKED);
+                else if (state == SV_BUTTON_UNCHECKED)
+                    getListBox()->SetCheckButtonState(pEntry, SV_BUTTON_CHECKED);
             }
         }
         else if( (nIndex == 1 && (treeFlag & TREEFLAG_CHKBTN) ) || (nIndex == 0) )
@@ -831,7 +831,7 @@ namespace accessibility
             {
                 if ( state == SV_BUTTON_CHECKED )
                     return sActionDesc2;
-                else if (state == SV_BMP_UNCHECKED)
+                else if (state == SV_BUTTON_UNCHECKED)
                     return sActionDesc1;
             }
             else
diff --git a/cui/source/customize/cfg.cxx b/cui/source/customize/cfg.cxx
index 038bb0e..8c22f47 100644
--- a/cui/source/customize/cfg.cxx
+++ b/cui/source/customize/cfg.cxx
@@ -4545,12 +4545,12 @@ void SvxToolbarEntriesListBox::BuildCheckBoxButtonImages( SvLBoxButtonData* pDat
         CheckBox::GetCheckImage( rSettings, BUTTON_DRAW_DEFAULT ));
 
     // Fill button data struct with new images
-    pData->aBmps[SV_BMP_UNCHECKED]      = aImage;

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list