[Libreoffice-commits] core.git: 55 commits - android/experimental basctl/source chart2/qa chart2/source compilerplugins/clang connectivity/source cui/source dbaccess/source desktop/source extensions/source filter/source formula/source hwpfilter/source icon-themes/industrial icon-themes/sifr icon-themes/tango include/connectivity include/LibreOfficeKit include/sfx2 include/svx include/vcl lingucomponent/source sal/osl scripting/source sc/source sc/uiconfig sdext/source sd/source setup_native/source sfx2/inc sfx2/source svx/inc svx/source sw/qa sw/source unusedcode.easy vbahelper/source vcl/inc vcl/Library_vcl.mk vcl/source vcl/unx winaccessibility/source writerperfect/source xmlhelp/source

Tor Lillqvist tml at collabora.com
Thu Apr 23 07:13:41 PDT 2015


 android/experimental/LOAndroid3/res/layout/file_list_item.xml                                               |   24 -
 android/experimental/LOAndroid3/res/menu/view_menu.xml                                                      |    4 
 android/experimental/LOAndroid3/res/values/strings.xml                                                      |    6 
 android/experimental/LOAndroid3/res/values/themes.xml                                                       |    6 
 android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java                       |    2 
 android/experimental/LOAndroid3/src/java/org/libreoffice/storage/local/LocalDocumentsDirectoryProvider.java |    3 
 android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FileUtilities.java                              |  205 ++++------
 android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FolderIconView.java                             |  124 +++---
 android/experimental/LOAndroid3/src/java/org/libreoffice/ui/GridItemAdapter.java                            |   34 -
 android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java                      |  166 ++++----
 android/experimental/LOAndroid3/src/java/org/libreoffice/ui/ListItemAdapter.java                            |  178 --------
 basctl/source/basicide/basicbox.hxx                                                                         |    2 
 basctl/source/basicide/baside2.hxx                                                                          |    2 
 basctl/source/basicide/baside3.cxx                                                                          |    2 
 basctl/source/basicide/bastype2.hxx                                                                         |    6 
 basctl/source/basicide/macrodlg.hxx                                                                         |    2 
 basctl/source/basicide/moduldlg.cxx                                                                         |    4 
 basctl/source/basicide/scriptdocument.cxx                                                                   |   10 
 basctl/source/basicide/unomodel.hxx                                                                         |    2 
 basctl/source/inc/basidesh.hxx                                                                              |    2 
 basctl/source/inc/dlged.hxx                                                                                 |    4 
 basctl/source/inc/dlgedclip.hxx                                                                             |    2 
 basctl/source/inc/propbrw.hxx                                                                               |    4 
 chart2/qa/extras/chart2export.cxx                                                                           |    8 
 chart2/source/controller/chartapiwrapper/AreaWrapper.cxx                                                    |    2 
 chart2/source/controller/chartapiwrapper/AxisWrapper.cxx                                                    |    2 
 chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx                                           |    2 
 chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx                                                 |    2 
 chart2/source/controller/chartapiwrapper/GridWrapper.cxx                                                    |    2 
 chart2/source/controller/chartapiwrapper/LegendWrapper.cxx                                                  |    2 
 chart2/source/controller/chartapiwrapper/MinMaxLineWrapper.cxx                                              |    4 
 chart2/source/controller/chartapiwrapper/MinMaxLineWrapper.hxx                                              |    2 
 chart2/source/controller/chartapiwrapper/TitleWrapper.cxx                                                   |    2 
 chart2/source/controller/chartapiwrapper/UpDownBarWrapper.cxx                                               |    4 
 chart2/source/controller/chartapiwrapper/UpDownBarWrapper.hxx                                               |    2 
 chart2/source/controller/chartapiwrapper/WallFloorWrapper.cxx                                               |    2 
 chart2/source/controller/chartapiwrapper/WrappedStatisticProperties.cxx                                     |    2 
 chart2/source/controller/dialogs/DataBrowser.cxx                                                            |    2 
 chart2/source/controller/dialogs/DataBrowser.hxx                                                            |    2 
 chart2/source/controller/dialogs/DialogModel.cxx                                                            |    2 
 chart2/source/controller/dialogs/DialogModel.hxx                                                            |    4 
 chart2/source/controller/dialogs/tp_DataSource.cxx                                                          |    2 
 chart2/source/controller/drawinglayer/DrawViewWrapper.cxx                                                   |    2 
 chart2/source/controller/inc/DrawViewWrapper.hxx                                                            |    2 
 chart2/source/controller/inc/dlg_DataEditor.hxx                                                             |    2 
 chart2/source/controller/main/ChartController.hxx                                                           |    2 
 chart2/source/controller/main/CommandDispatchContainer.hxx                                                  |    2 
 chart2/source/controller/main/ObjectHierarchy.cxx                                                           |    2 
 chart2/source/controller/main/SelectionHelper.cxx                                                           |    8 
 chart2/source/inc/RegressionCurveCalculator.hxx                                                             |    4 
 chart2/source/model/main/Axis.cxx                                                                           |    4 
 chart2/source/model/main/BaseCoordinateSystem.cxx                                                           |    4 
 chart2/source/model/main/DataPoint.cxx                                                                      |    2 
 chart2/source/model/main/Diagram.cxx                                                                        |    4 
 chart2/source/model/main/FormattedString.cxx                                                                |    4 
 chart2/source/model/main/GridProperties.cxx                                                                 |    4 
 chart2/source/model/main/Legend.cxx                                                                         |    4 
 chart2/source/model/main/PageBackground.cxx                                                                 |    4 
 chart2/source/model/main/StockBar.cxx                                                                       |    4 
 chart2/source/model/main/Title.cxx                                                                          |    4 
 chart2/source/model/main/Wall.cxx                                                                           |    4 
 chart2/source/model/template/AreaChartTypeTemplate.cxx                                                      |    4 
 chart2/source/model/template/BarChartTypeTemplate.cxx                                                       |    4 
 chart2/source/model/template/BubbleChartType.cxx                                                            |    2 
 chart2/source/model/template/BubbleChartTypeTemplate.cxx                                                    |    2 
 chart2/source/model/template/CandleStickChartType.cxx                                                       |    4 
 chart2/source/model/template/ColumnChartType.cxx                                                            |    4 
 chart2/source/model/template/ColumnLineChartTypeTemplate.cxx                                                |    4 
 chart2/source/model/template/GL3DBarChartType.cxx                                                           |    4 
 chart2/source/model/template/GL3DBarChartTypeTemplate.cxx                                                   |    4 
 chart2/source/model/template/LineChartType.cxx                                                              |    4 
 chart2/source/model/template/LineChartTypeTemplate.cxx                                                      |    4 
 chart2/source/model/template/PieChartType.cxx                                                               |    4 
 chart2/source/model/template/PieChartTypeTemplate.cxx                                                       |    4 
 chart2/source/model/template/ScatterChartType.cxx                                                           |    4 
 chart2/source/model/template/ScatterChartTypeTemplate.cxx                                                   |    4 
 chart2/source/model/template/StockChartTypeTemplate.cxx                                                     |    4 
 chart2/source/tools/RegressionCurveCalculator.cxx                                                           |    2 
 chart2/source/tools/RegressionCurveModel.cxx                                                                |    4 
 chart2/source/tools/RegressionEquation.cxx                                                                  |    4 
 chart2/source/view/axes/VAxisBase.hxx                                                                       |    2 
 chart2/source/view/axes/VCartesianAxis.cxx                                                                  |    2 
 chart2/source/view/axes/VCartesianAxis.hxx                                                                  |    4 
 chart2/source/view/axes/VCartesianCoordinateSystem.cxx                                                      |    2 
 chart2/source/view/axes/VCoordinateSystem.cxx                                                               |    2 
 chart2/source/view/axes/VPolarCoordinateSystem.cxx                                                          |    2 
 chart2/source/view/charttypes/AreaChart.cxx                                                                 |    4 
 chart2/source/view/charttypes/AreaChart.hxx                                                                 |    2 
 chart2/source/view/charttypes/BarChart.cxx                                                                  |    6 
 chart2/source/view/charttypes/BubbleChart.cxx                                                               |    2 
 chart2/source/view/charttypes/CandleStickChart.cxx                                                          |    4 
 chart2/source/view/charttypes/GL3DBarChart.cxx                                                              |    2 
 chart2/source/view/charttypes/NetChart.cxx                                                                  |    4 
 chart2/source/view/charttypes/PieChart.cxx                                                                  |    2 
 chart2/source/view/charttypes/VSeriesPlotter.cxx                                                            |    2 
 chart2/source/view/inc/GL3DBarChart.hxx                                                                     |    6 
 chart2/source/view/inc/GL3DRenderer.hxx                                                                     |    8 
 chart2/source/view/inc/Stripe.hxx                                                                           |    6 
 chart2/source/view/inc/VCoordinateSystem.hxx                                                                |    4 
 chart2/source/view/inc/VSeriesPlotter.hxx                                                                   |    2 
 chart2/source/view/main/ShapeFactory.cxx                                                                    |    2 
 chart2/source/view/main/Stripe.cxx                                                                          |    2 
 compilerplugins/clang/staticmethods.cxx                                                                     |   11 
 connectivity/source/commontools/filtermanager.cxx                                                           |    2 
 connectivity/source/cpool/ZPoolCollection.cxx                                                               |    4 
 connectivity/source/cpool/ZPoolCollection.hxx                                                               |    8 
 connectivity/source/drivers/evoab2/NStatement.cxx                                                           |    4 
 connectivity/source/drivers/hsqldb/HUser.cxx                                                                |    2 
 connectivity/source/drivers/mork/MDatabaseMetaData.cxx                                                      |    6 
 connectivity/source/drivers/mork/MDatabaseMetaDataHelper.hxx                                                |    6 
 connectivity/source/drivers/mork/MQueryHelper.cxx                                                           |   18 
 connectivity/source/drivers/mork/MResultSet.hxx                                                             |    2 
 connectivity/source/drivers/mork/MorkParser.hxx                                                             |    6 
 connectivity/source/drivers/mysql/YUser.cxx                                                                 |    2 
 connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx                                             |    4 
 connectivity/source/inc/file/FResultSet.hxx                                                                 |    2 
 connectivity/source/inc/hsqldb/HUser.hxx                                                                    |    2 
 connectivity/source/inc/mysql/YUser.hxx                                                                     |    2 
 connectivity/source/inc/odbc/ODatabaseMetaDataResultSet.hxx                                                 |    4 
 connectivity/source/parse/sqliterator.cxx                                                                   |    2 
 connectivity/source/parse/sqlnode.cxx                                                                       |    6 
 cui/source/dialogs/linkdlg.cxx                                                                              |    8 
 cui/source/tabpages/backgrnd.cxx                                                                            |    2 
 cui/source/tabpages/tpcolor.cxx                                                                             |    2 
 dbaccess/source/sdbtools/connection/objectnames.cxx                                                         |    2 
 desktop/source/deployment/registry/dp_backenddb.cxx                                                         |   26 -
 desktop/source/deployment/registry/inc/dp_backenddb.hxx                                                     |    2 
 dev/null                                                                                                    |binary
 extensions/source/abpilot/abspilot.hxx                                                                      |    6 
 extensions/source/bibliography/bibconfig.hxx                                                                |    2 
 extensions/source/bibliography/bibload.cxx                                                                  |    4 
 extensions/source/bibliography/bibmod.hxx                                                                   |    2 
 extensions/source/bibliography/datman.hxx                                                                   |    4 
 extensions/source/bibliography/framectr.hxx                                                                 |    2 
 extensions/source/dbpilots/controlwizard.hxx                                                                |    4 
 extensions/source/dbpilots/optiongrouplayouter.hxx                                                          |    2 
 extensions/source/dbpilots/wizardservices.cxx                                                               |   12 
 extensions/source/dbpilots/wizardservices.hxx                                                               |   18 
 extensions/source/plugin/inc/plugin/impl.hxx                                                                |    2 
 extensions/source/propctrlr/browserline.hxx                                                                 |    2 
 extensions/source/propctrlr/browserlistbox.cxx                                                              |    2 
 extensions/source/propctrlr/browserlistbox.hxx                                                              |    6 
 extensions/source/propctrlr/cellbindinghandler.cxx                                                          |    8 
 extensions/source/propctrlr/cellbindinghelper.cxx                                                           |    8 
 extensions/source/propctrlr/cellbindinghelper.hxx                                                           |   16 
 extensions/source/propctrlr/defaulthelpprovider.hxx                                                         |    4 
 extensions/source/propctrlr/eformshelper.cxx                                                                |    2 
 extensions/source/propctrlr/eformshelper.hxx                                                                |    4 
 extensions/source/propctrlr/eformspropertyhandler.cxx                                                       |    2 
 extensions/source/propctrlr/formlinkdialog.cxx                                                              |    6 
 extensions/source/propctrlr/formlinkdialog.hxx                                                              |   12 
 extensions/source/propctrlr/propertyeditor.cxx                                                              |   10 
 extensions/source/propctrlr/propertyeditor.hxx                                                              |    3 
 extensions/source/propctrlr/stringrepresentation.cxx                                                        |    4 
 extensions/source/propctrlr/submissionhandler.cxx                                                           |    2 
 extensions/source/propctrlr/xsdvalidationhelper.cxx                                                         |    2 
 extensions/source/propctrlr/xsdvalidationhelper.hxx                                                         |    4 
 extensions/source/scanner/grid.cxx                                                                          |    4 
 extensions/source/scanner/sane.hxx                                                                          |    6 
 extensions/source/scanner/scanner.hxx                                                                       |    2 
 filter/source/config/cache/filtercache.hxx                                                                  |    8 
 filter/source/config/cache/typedetection.hxx                                                                |    4 
 filter/source/graphicfilter/epict/epict.cxx                                                                 |   10 
 filter/source/graphicfilter/eps/eps.cxx                                                                     |    6 
 filter/source/graphicfilter/icgm/cgm.hxx                                                                    |   10 
 filter/source/graphicfilter/icgm/elements.hxx                                                               |    4 
 filter/source/graphicfilter/ios2met/ios2met.cxx                                                             |   16 
 filter/source/msfilter/svdfppt.cxx                                                                          |    4 
 filter/source/xsltfilter/LibXSLTTransformer.hxx                                                             |    6 
 formula/source/core/api/FormulaCompiler.cxx                                                                 |   10 
 hwpfilter/source/hwpfile.cxx                                                                                |    4 
 icon-themes/industrial/cmd/lc_line_diagonal.png                                                             |binary
 icon-themes/industrial/cmd/lc_line_diagonal.xcf.bz2                                                         |binary
 icon-themes/industrial/cmd/lc_linearrowsquare.png                                                           |binary
 icon-themes/industrial/cmd/sc_linesquarearrow.png                                                           |binary
 icon-themes/sifr/cmd/lc_linearrowsquare.png                                                                 |binary
 icon-themes/tango/cmd/sc_zoommode.png                                                                       |binary
 icon-themes/tango/cmd/sc_zoommode.xcf.bz2                                                                   |binary
 include/LibreOfficeKit/LibreOfficeKitInit.h                                                                 |   30 +
 include/connectivity/filtermanager.hxx                                                                      |    2 
 include/connectivity/sqliterator.hxx                                                                        |    2 
 include/connectivity/sqlnode.hxx                                                                            |    6 
 include/connectivity/sqlparse.hxx                                                                           |    4 
 include/connectivity/sqlscan.hxx                                                                            |    4 
 include/sfx2/app.hxx                                                                                        |    8 
 include/sfx2/filedlghelper.hxx                                                                              |    2 
 include/sfx2/linkmgr.hxx                                                                                    |    8 
 include/sfx2/mailmodelapi.hxx                                                                               |    4 
 include/sfx2/mgetempl.hxx                                                                                   |    2 
 include/sfx2/shell.hxx                                                                                      |    4 
 include/sfx2/sidebar/CommandInfoProvider.hxx                                                                |    2 
 include/sfx2/sidebar/Theme.hxx                                                                              |    8 
 include/sfx2/tbxctrl.hxx                                                                                    |    2 
 include/sfx2/templatedlg.hxx                                                                                |    2 
 include/sfx2/unoctitm.hxx                                                                                   |    8 
 include/sfx2/viewsh.hxx                                                                                     |    2 
 include/svx/SvxColorValueSet.hxx                                                                            |    6 
 include/svx/algitem.hxx                                                                                     |    2 
 include/svx/bmpmask.hxx                                                                                     |    6 
 include/svx/charmap.hxx                                                                                     |    4 
 include/svx/fmgridcl.hxx                                                                                    |    2 
 include/svx/fmpage.hxx                                                                                      |    2 
 include/svx/fmshell.hxx                                                                                     |    8 
 include/svx/fntctrl.hxx                                                                                     |    4 
 include/svx/galctrl.hxx                                                                                     |    2 
 include/svx/gallery1.hxx                                                                                    |    2 
 include/svx/galtheme.hxx                                                                                    |    2 
 include/svx/gridctrl.hxx                                                                                    |    2 
 include/svx/itemwin.hxx                                                                                     |    6 
 include/svx/nbdtmg.hxx                                                                                      |    6 
 include/svx/ruler.hxx                                                                                       |    2 
 include/svx/sdr/contact/objectcontact.hxx                                                                   |    2 
 include/svx/sdr/overlay/overlayobject.hxx                                                                   |    2 
 include/svx/svddrag.hxx                                                                                     |    2 
 include/svx/svdedtv.hxx                                                                                     |   18 
 include/svx/svdedxv.hxx                                                                                     |    4 
 include/svx/svdetc.hxx                                                                                      |    2 
 include/svx/svdglue.hxx                                                                                     |    4 
 include/svx/svdhdl.hxx                                                                                      |    2 
 include/svx/svdmodel.hxx                                                                                    |    4 
 include/svx/svdmrkv.hxx                                                                                     |    2 
 include/svx/svdobj.hxx                                                                                      |    4 
 include/svx/svdoedge.hxx                                                                                    |    4 
 include/svx/svdomeas.hxx                                                                                    |    2 
 include/svx/svdotable.hxx                                                                                   |    2 
 include/svx/svdotext.hxx                                                                                    |    4 
 include/svx/svdpage.hxx                                                                                     |    2 
 include/svx/svdpntv.hxx                                                                                     |    2 
 include/svx/svdundo.hxx                                                                                     |    6 
 include/svx/svdxcgv.hxx                                                                                     |    6 
 include/svx/unomod.hxx                                                                                      |    2 
 include/svx/unopage.hxx                                                                                     |    2 
 include/svx/unopool.hxx                                                                                     |    2 
 include/svx/view3d.hxx                                                                                      |    2 
 include/svx/xpoly.hxx                                                                                       |    2 
 include/svx/xtable.hxx                                                                                      |    2 
 include/vcl/opengl/GLMHelper.hxx                                                                            |    8 
 include/vcl/opengl/OpenGLContext.hxx                                                                        |    6 
 include/vcl/opengl/OpenGLHelper.hxx                                                                         |    4 
 include/vcl/openglwin.hxx                                                                                   |    6 
 include/vcl/vclopengl_dllapi.hxx                                                                            |   23 -
 lingucomponent/source/hyphenator/hyphen/hyphenimp.hxx                                                       |    6 
 lingucomponent/source/thesaurus/libnth/nthesimp.hxx                                                         |    6 
 sal/osl/unx/profile.cxx                                                                                     |    6 
 sc/source/core/data/documen8.cxx                                                                            |    2 
 sc/source/core/tool/compiler.cxx                                                                            |   79 +++
 sc/source/ui/docshell/arealink.cxx                                                                          |    2 
 sc/source/ui/docshell/externalrefmgr.cxx                                                                    |    2 
 sc/source/ui/docshell/tablink.cxx                                                                           |    2 
 sc/source/ui/miscdlgs/tabbgcolordlg.cxx                                                                     |    6 
 sc/source/ui/unoobj/servuno.cxx                                                                             |    2 
 sc/source/ui/unoobj/viewuno.cxx                                                                             |    2 
 sc/source/ui/vba/vbaapplication.cxx                                                                         |    4 
 sc/source/ui/view/gridwin5.cxx                                                                              |    2 
 sc/uiconfig/scalc/ui/definename.ui                                                                          |   25 -
 sc/uiconfig/scalc/ui/managenamesdialog.ui                                                                   |   62 +--
 scripting/source/basprov/basprov.cxx                                                                        |    2 
 scripting/source/dlgprov/dlgevtatt.cxx                                                                      |    2 
 sd/source/core/pglink.cxx                                                                                   |    2 
 sd/source/filter/html/htmlex.cxx                                                                            |    2 
 sd/source/ui/func/fuformatpaintbrush.cxx                                                                    |    4 
 sd/source/ui/func/fupoor.cxx                                                                                |    2 
 sd/source/ui/unoidl/DrawController.cxx                                                                      |    2 
 sd/source/ui/view/sdview.cxx                                                                                |    4 
 sdext/source/presenter/PresenterAccessibility.cxx                                                           |    6 
 sdext/source/presenter/PresenterTextView.cxx                                                                |    6 
 sdext/source/presenter/PresenterTextView.hxx                                                                |    1 
 sdext/source/presenter/PresenterTheme.cxx                                                                   |   12 
 setup_native/source/packinfo/packinfo_office.txt                                                            |    8 
 sfx2/inc/sidebar/ContextChangeBroadcaster.hxx                                                               |    2 
 sfx2/source/appl/appbaslib.cxx                                                                              |    4 
 sfx2/source/appl/appserv.cxx                                                                                |    4 
 sfx2/source/appl/fileobj.cxx                                                                                |    4 
 sfx2/source/appl/imestatuswindow.cxx                                                                        |    2 
 sfx2/source/appl/imestatuswindow.hxx                                                                        |    2 
 sfx2/source/appl/impldde.cxx                                                                                |    4 
 sfx2/source/appl/impldde.hxx                                                                                |    2 
 sfx2/source/appl/linkmgr2.cxx                                                                               |    8 
 sfx2/source/appl/lnkbase2.cxx                                                                               |   12 
 sfx2/source/appl/macroloader.cxx                                                                            |    2 
 sfx2/source/appl/shutdownicon.hxx                                                                           |    2 
 sfx2/source/appl/shutdowniconunx.cxx                                                                        |    3 
 sfx2/source/control/objface.cxx                                                                             |    4 
 sfx2/source/control/shell.cxx                                                                               |    5 
 sfx2/source/control/unoctitm.cxx                                                                            |    4 
 sfx2/source/dialog/filedlghelper.cxx                                                                        |    4 
 sfx2/source/dialog/filedlgimpl.hxx                                                                          |    2 
 sfx2/source/dialog/templdlg.cxx                                                                             |    6 
 sfx2/source/doc/Metadatable.cxx                                                                             |    6 
 sfx2/source/doc/doctemplates.cxx                                                                            |    8 
 sfx2/source/doc/guisaveas.cxx                                                                               |    2 
 sfx2/source/doc/objmisc.cxx                                                                                 |    2 
 sfx2/source/doc/objxtor.cxx                                                                                 |    6 
 sfx2/source/doc/oleprops.cxx                                                                                |    8 
 sfx2/source/doc/oleprops.hxx                                                                                |    8 
 sfx2/source/doc/sfxbasemodel.cxx                                                                            |    2 
 sfx2/source/inc/sfxpicklist.hxx                                                                             |    6 
 sfx2/source/menu/virtmenu.cxx                                                                               |    2 
 sfx2/source/sidebar/ResourceManager.cxx                                                                     |    8 
 sfx2/source/sidebar/ResourceManager.hxx                                                                     |   14 
 sfx2/source/sidebar/Theme.cxx                                                                               |    4 
 sfx2/source/view/frmload.cxx                                                                                |   34 -
 sfx2/source/view/viewfrm.cxx                                                                                |    2 
 sfx2/source/view/viewprn.cxx                                                                                |    2 
 svx/inc/galbrws2.hxx                                                                                        |    2 
 svx/inc/sdr/primitive2d/sdrtextprimitive2d.hxx                                                              |    2 
 svx/source/accessibility/charmapacc.cxx                                                                     |   12 
 svx/source/dialog/charmap.cxx                                                                               |    4 
 svx/source/dialog/imapwnd.cxx                                                                               |    2 
 svx/source/dialog/imapwnd.hxx                                                                               |    2 
 svx/source/dialog/svxruler.cxx                                                                              |    2 
 svx/source/fmcomp/fmgridcl.cxx                                                                              |    2 
 svx/source/fmcomp/fmgridif.cxx                                                                              |    2 
 svx/source/form/datanavi.cxx                                                                                |    2 
 svx/source/form/filtnav.cxx                                                                                 |    8 
 svx/source/form/fmobj.cxx                                                                                   |    2 
 svx/source/form/fmpgeimp.cxx                                                                                |   18 
 svx/source/form/fmscriptingenv.cxx                                                                          |    6 
 svx/source/form/fmshell.cxx                                                                                 |    4 
 svx/source/form/fmundo.cxx                                                                                  |    2 
 svx/source/form/fmvwimp.cxx                                                                                 |    5 
 svx/source/form/navigatortree.cxx                                                                           |    8 
 svx/source/gallery2/galbrws1.hxx                                                                            |    4 
 svx/source/gallery2/galbrws2.cxx                                                                            |   16 
 svx/source/gallery2/galctrl.cxx                                                                             |    6 
 svx/source/gallery2/galexpl.cxx                                                                             |    2 
 svx/source/gallery2/gallery1.cxx                                                                            |    2 
 svx/source/inc/datanavi.hxx                                                                                 |    2 
 svx/source/inc/filtnav.hxx                                                                                  |    2 
 svx/source/inc/fmexpl.hxx                                                                                   |   10 
 svx/source/inc/fmpgeimp.hxx                                                                                 |    2 
 svx/source/inc/fmtextcontrolshell.hxx                                                                       |    2 
 svx/source/inc/fmundo.hxx                                                                                   |    4 
 svx/source/inc/formcontrolfactory.hxx                                                                       |    2 
 svx/source/items/algitem.cxx                                                                                |    2 
 svx/source/sdr/contact/objectcontact.cxx                                                                    |    2 
 svx/source/sdr/overlay/overlayobject.cxx                                                                    |    2 
 svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx                                                           |    2 
 svx/source/sidebar/area/AreaPropertyPanel.hxx                                                               |    2 
 svx/source/sidebar/graphic/GraphicPropertyPanel.hxx                                                         |    2 
 svx/source/sidebar/line/LinePropertyPanel.hxx                                                               |    2 
 svx/source/sidebar/nbdtmg.cxx                                                                               |   24 -
 svx/source/sidebar/paragraph/ParaLineSpacingControl.hxx                                                     |    2 
 svx/source/sidebar/paragraph/ParaPropertyPanel.hxx                                                          |    2 
 svx/source/sidebar/possize/PosSizePropertyPanel.hxx                                                         |    4 
 svx/source/svdraw/gradtrns.hxx                                                                              |    4 
 svx/source/svdraw/svddrag.cxx                                                                               |    2 
 svx/source/svdraw/svddrgmt.cxx                                                                              |   22 -
 svx/source/svdraw/svdedtv2.cxx                                                                              |   14 
 svx/source/svdraw/svdedxv.cxx                                                                               |    2 
 svx/source/svdraw/svdfmtf.hxx                                                                               |    6 
 svx/source/svdraw/svdglue.cxx                                                                               |    4 
 svx/source/svdraw/svdhdl.cxx                                                                                |    6 
 svx/source/svdraw/svdmodel.cxx                                                                              |    4 
 svx/source/svdraw/svdmrkv.cxx                                                                               |    4 
 svx/source/svdraw/svdobj.cxx                                                                                |   12 
 svx/source/svdraw/svdoedge.cxx                                                                              |    4 
 svx/source/svdraw/svdograf.cxx                                                                              |    2 
 svx/source/svdraw/svdomeas.cxx                                                                              |    2 
 svx/source/svdraw/svdoole2.cxx                                                                              |    2 
 svx/source/svdraw/svdopath.cxx                                                                              |   40 -
 svx/source/svdraw/svdotext.cxx                                                                              |    4 
 svx/source/svdraw/svdotextdecomposition.cxx                                                                 |    8 
 svx/source/svdraw/svdotextpathdecomposition.cxx                                                             |    2 
 svx/source/svdraw/svdotxln.cxx                                                                              |    2 
 svx/source/svdraw/svdpage.cxx                                                                               |    2 
 svx/source/svdraw/svdtrans.cxx                                                                              |   12 
 svx/source/svdraw/svdundo.cxx                                                                               |    2 
 svx/source/table/accessiblecell.hxx                                                                         |    2 
 svx/source/table/svdotable.cxx                                                                              |    2 
 svx/source/table/tablecontroller.cxx                                                                        |   14 
 svx/source/table/tablelayouter.hxx                                                                          |    4 
 svx/source/tbxctrls/SvxColorValueSet.cxx                                                                    |    6 
 svx/source/tbxctrls/colrctrl.cxx                                                                            |    8 
 svx/source/tbxctrls/grafctrl.cxx                                                                            |    2 
 svx/source/tbxctrls/tbcontrl.cxx                                                                            |    2 
 svx/source/unodraw/unopage.cxx                                                                              |    2 
 svx/source/unogallery/unogalitem.cxx                                                                        |    4 
 svx/source/unogallery/unogalitem.hxx                                                                        |    2 
 svx/source/xoutdev/xtabdash.cxx                                                                             |    2 
 sw/qa/extras/ooxmlexport/data/duplicate-east-asia.odt                                                       |binary
 sw/qa/extras/ooxmlexport/ooxmlexport5.cxx                                                                   |   12 
 sw/source/core/doc/DocumentLinksAdministrationManager.cxx                                                   |    6 
 sw/source/core/docnode/section.cxx                                                                          |    6 
 sw/source/core/graphic/ndgrf.cxx                                                                            |   13 
 sw/source/core/layout/flowfrm.cxx                                                                           |    2 
 sw/source/core/layout/fly.cxx                                                                               |    1 
 sw/source/core/ole/ndole.cxx                                                                                |    2 
 sw/source/filter/html/htmlbas.cxx                                                                           |    2 
 sw/source/filter/ww8/docxsdrexport.cxx                                                                      |   33 +
 sw/source/filter/ww8/wrtw8esh.cxx                                                                           |   38 +
 sw/source/filter/ww8/wrtww8.hxx                                                                             |    2 
 sw/source/uibase/app/docsh2.cxx                                                                             |    2 
 sw/source/uibase/dbui/dbmgr.cxx                                                                             |    2 
 sw/source/uibase/dbui/mailmergehelper.cxx                                                                   |   15 
 sw/source/uibase/shells/txtcrsr.cxx                                                                         |    2 
 sw/source/uibase/sidebar/ThemePanel.cxx                                                                     |  150 ++++++-
 sw/source/uibase/uno/unotxvw.cxx                                                                            |    2 
 unusedcode.easy                                                                                             |    1 
 vbahelper/source/vbahelper/vbahelper.cxx                                                                    |    2 
 vcl/Library_vcl.mk                                                                                          |    1 
 vcl/inc/opengl/program.hxx                                                                                  |    1 
 vcl/source/opengl/OpenGLContext.cxx                                                                         |   14 
 vcl/unx/gtk/app/gtkdata.cxx                                                                                 |    3 
 winaccessibility/source/UAccCOM/AccActionBase.cxx                                                           |    8 
 winaccessibility/source/UAccCOM/acccommon.h                                                                 |    8 
 writerperfect/source/common/WPXSvInputStream.cxx                                                            |    4 
 xmlhelp/source/cxxhelp/inc/tvread.hxx                                                                       |   30 -
 xmlhelp/source/cxxhelp/provider/databases.hxx                                                               |    4 
 xmlhelp/source/cxxhelp/provider/db.hxx                                                                      |    2 
 xmlhelp/source/cxxhelp/provider/provider.cxx                                                                |    8 
 xmlhelp/source/cxxhelp/provider/provider.hxx                                                                |   16 
 xmlhelp/source/treeview/tvread.cxx                                                                          |   10 
 413 files changed, 1495 insertions(+), 1480 deletions(-)

New commits:
commit 84537dffd422ee854a0ba5478baca08c1398bb6e
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu Apr 23 16:40:18 2015 +0300

    Improve error handling
    
    Change-Id: Id8661cb315f2f3a1bb398bce4f898342d5cce338

diff --git a/include/LibreOfficeKit/LibreOfficeKitInit.h b/include/LibreOfficeKit/LibreOfficeKitInit.h
index 4230cd0..203fd9f 100644
--- a/include/LibreOfficeKit/LibreOfficeKitInit.h
+++ b/include/LibreOfficeKit/LibreOfficeKitInit.h
@@ -23,6 +23,8 @@ extern "C"
 #include <stdlib.h>
 #include <string.h>
 
+#include <unistd.h>
+
 #ifndef _WIN32
     #include "dlfcn.h"
     #ifdef  _AIX
@@ -71,6 +73,8 @@ extern "C"
 
 #else
 
+    #include <io.h>
+
     #include <windows.h>
     #define TARGET_LIB        "sofficeapp" ".dll"
     #define TARGET_MERGED_LIB "mergedlo" ".dll"
@@ -172,13 +176,23 @@ static LibreOfficeKit *lok_init_2( const char *install_path,  const char *user_p
     dlhandle = _dlopen(imp_lib);
     if (!dlhandle)
     {
+        // If TARGET_LIB exists, but dlopen failed for some reason,
+        // don't try TARGET_MERGED_LIB.
+        if (access(imp_lib, F_OK) == 0)
+        {
+            fprintf(stderr, "failed to open library '%s': %s\n",
+                    imp_lib, _dlerror());
+            free(imp_lib);
+            return NULL;
+        }
+
         strcpy(imp_lib + partial_length, TARGET_MERGED_LIB);
 
         dlhandle = _dlopen(imp_lib);
         if (!dlhandle)
         {
-            fprintf(stderr, "failed to open library '%s' or '%s' in '%s/': %s\n",
-                    TARGET_LIB, TARGET_MERGED_LIB, install_path, _dlerror());
+            fprintf(stderr, "failed to open library '%s': %s\n",
+                    imp_lib, _dlerror());
             free(imp_lib);
             return NULL;
         }
commit 78c2c450d900c8a57d75377d45463b20d2528875
Author: Eike Rathke <erack at redhat.com>
Date:   Thu Apr 23 15:48:52 2015 +0200

    ensure pArr exists
    
    Chart converts single tokens to string without token array, even
    creating a compiler instance for each token.. which is less than
    suboptimal.
    
    Change-Id: I4472260457010dedf51891dbe1caa70ad4d792cc

diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index 61eeb76..e1e48a8 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -4556,7 +4556,7 @@ void ScCompiler::CreateStringFromSingleRef( OUStringBuffer& rBuffer, const Formu
                               GetSetupTabNames(), aRef, true);
         }
     }
-    else if ((p = pArr->PeekPrevNoSpaces()) && p->GetOpCode() == ocTableRefOpen)
+    else if (pArr && (p = pArr->PeekPrevNoSpaces()) && p->GetOpCode() == ocTableRefOpen)
     {
         ScAddress aAbs = rRef.toAbs(aPos);
         OUString aStr = pDoc->GetString(aAbs);
commit e774a6ffd01d3228fab9098fa383573aa153a603
Author: Michael Meeks <michael.meeks at collabora.com>
Date:   Thu Apr 23 13:47:02 2015 +0100

    Use shared_ptr for OpenGLPrograms, and hide its copy constructor.
    
    Change-Id: Ia1352105acef1ededaf876a224ebc277121d6942

diff --git a/include/vcl/opengl/OpenGLContext.hxx b/include/vcl/opengl/OpenGLContext.hxx
index c8f2cb4..d733560 100644
--- a/include/vcl/opengl/OpenGLContext.hxx
+++ b/include/vcl/opengl/OpenGLContext.hxx
@@ -275,7 +275,7 @@ private:
         OUString fragmentShader;
         OString preamble;
     };
-    boost::ptr_map<ProgramKey, OpenGLProgram> maPrograms;
+    std::map<ProgramKey, boost::shared_ptr<OpenGLProgram> > maPrograms;
     OpenGLProgram* mpCurrentProgram;
 #ifdef DBG_UTIL
     std::set<SalGraphicsImpl*> maParents;
diff --git a/vcl/inc/opengl/program.hxx b/vcl/inc/opengl/program.hxx
index 8b42dd4..438d7e3 100644
--- a/vcl/inc/opengl/program.hxx
+++ b/vcl/inc/opengl/program.hxx
@@ -39,6 +39,7 @@ private:
     TextureList     maTextures;
     bool            mbBlending;
 
+    OpenGLProgram(const OpenGLProgram &notImplemented);
 public:
     OpenGLProgram();
     ~OpenGLProgram();
diff --git a/vcl/source/opengl/OpenGLContext.cxx b/vcl/source/opengl/OpenGLContext.cxx
index be14c22..70c263a 100644
--- a/vcl/source/opengl/OpenGLContext.cxx
+++ b/vcl/source/opengl/OpenGLContext.cxx
@@ -13,6 +13,7 @@
 #include <vcl/sysdata.hxx>
 
 #include <boost/scoped_array.hpp>
+#include <boost/make_shared.hpp>
 #include <vcl/pngwrite.hxx>
 #include <vcl/bmpacc.hxx>
 #include <vcl/graph.hxx>
@@ -1588,20 +1589,17 @@ OpenGLProgram* OpenGLContext::GetProgram( const OUString& rVertexShader, const O
 {
     ProgramKey aKey( rVertexShader, rFragmentShader, preamble );
 
-    boost::ptr_map<ProgramKey, OpenGLProgram>::iterator
+    std::map< ProgramKey, boost::shared_ptr<OpenGLProgram> >::iterator
         it = maPrograms.find( aKey );
     if( it != maPrograms.end() )
-        return it->second;
+        return it->second.get();
 
-    OpenGLProgram* pProgram = new OpenGLProgram;
+    boost::shared_ptr<OpenGLProgram> pProgram = boost::make_shared<OpenGLProgram>();
     if( !pProgram->Load( rVertexShader, rFragmentShader, preamble ) )
-    {
-        delete pProgram;
         return NULL;
-    }
 
-    maPrograms.insert(aKey, pProgram);
-    return pProgram;
+    maPrograms.insert(std::pair<ProgramKey, boost::shared_ptr<OpenGLProgram> >(aKey, pProgram));
+    return pProgram.get();
 }
 
 OpenGLProgram* OpenGLContext::UseProgram( const OUString& rVertexShader, const OUString& rFragmentShader, const OString& preamble )
commit 3b7788908a622b8e2043bd64bd0e36ee43fd733c
Author: Michael Meeks <michael.meeks at collabora.com>
Date:   Thu Apr 23 14:44:03 2015 +0100

    winaccessibility: rename unhelpful string defines.
    
    Change-Id: Ib73ddecb9fd49a2e1a5bb690a0f4bbbc77d9047a

diff --git a/winaccessibility/source/UAccCOM/AccActionBase.cxx b/winaccessibility/source/UAccCOM/AccActionBase.cxx
index b01e9c8..fabdc40 100644
--- a/winaccessibility/source/UAccCOM/AccActionBase.cxx
+++ b/winaccessibility/source/UAccCOM/AccActionBase.cxx
@@ -68,12 +68,12 @@ void GetDfActionByUNORole(XAccessibleContext* pRContext, BSTR* pRet)
     switch(Role)
     {
     case PUSH_BUTTON:
-        *pRet = ::SysAllocString(PRESS);
+        *pRet = ::SysAllocString(PRESS_STR);
         break;
     case RADIO_BUTTON:
     case MENU_ITEM:
     case LIST_ITEM:
-        *pRet = ::SysAllocString(SELECT);
+        *pRet = ::SysAllocString(SELECT_STR);
         break;
     case CHECK_BOX:
         {
@@ -85,13 +85,13 @@ void GetDfActionByUNORole(XAccessibleContext* pRContext, BSTR* pRet)
 
             Sequence<short> pStates = pRState->getStates();
             int count = pStates.getLength();
-            *pRet = ::SysAllocString(CHECK);
+            *pRet = ::SysAllocString(CHECK_STR);
             for( int iIndex = 0;iIndex < count;iIndex++ )
             {
                 if( pStates[iIndex] == AccessibleStateType::CHECKED )
                 {
                     SAFE_SYSFREESTRING(*pRet);
-                    *pRet = ::SysAllocString(UNCHECK);
+                    *pRet = ::SysAllocString(UNCHECK_STR);
                     break;
                 }
             }
diff --git a/winaccessibility/source/UAccCOM/acccommon.h b/winaccessibility/source/UAccCOM/acccommon.h
index b3458d0..869816c 100644
--- a/winaccessibility/source/UAccCOM/acccommon.h
+++ b/winaccessibility/source/UAccCOM/acccommon.h
@@ -53,10 +53,10 @@ enum DM_NIR {
 };
 
 
-#define SELECT       L"Select"
-#define PRESS        L"Press"
-#define UNCHECK      L"UnCheck"
-#define CHECK        L"Check"
+#define SELECT_STR       L"Select"
+#define PRESS_STR        L"Press"
+#define UNCHECK_STR      L"UnCheck"
+#define CHECK_STR        L"Check"
 //End
 
 static DWORD GetMSAAStateFromUNO(short xState);
commit a339c949ed590b3bc033d8bc43f12b77d21587eb
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Apr 23 14:33:46 2015 +0100

    callcatcher: remove unused RegisteredDb::getEntry
    
    Change-Id: I018ecc9dc8334d64e50325fcc8099ac27358e260

diff --git a/desktop/source/deployment/registry/dp_backenddb.cxx b/desktop/source/deployment/registry/dp_backenddb.cxx
index 1c2b254..1f6e5b6 100644
--- a/desktop/source/deployment/registry/dp_backenddb.cxx
+++ b/desktop/source/deployment/registry/dp_backenddb.cxx
@@ -659,32 +659,6 @@ void RegisteredDb::addEntry(OUString const & url)
     }
 }
 
-bool RegisteredDb::getEntry(OUString const & url)
-{
-    try
-    {
-        const OUString sPrefix = getNSPrefix();
-        const OUString sEntry = getKeyElementName();
-        const OUString sExpression(
-            sPrefix + ":" + sEntry + "[@url = \"" + url + "\"]");
-        Reference<css::xml::dom::XDocument> doc = getDocument();
-        Reference<css::xml::dom::XNode> root = doc->getFirstChild();
-
-        Reference<css::xml::xpath::XXPathAPI> xpathApi = getXPathAPI();
-        Reference<css::xml::dom::XNode> aNode =
-            xpathApi->selectSingleNode(root, sExpression);
-
-        return aNode.is();
-    }
-    catch(const css::uno::Exception &)
-    {
-        Any exc( ::cppu::getCaughtException() );
-        throw css::deployment::DeploymentException(
-            "Extension Manager: failed to read data entry in backend db: " +
-            m_urlDb, 0, exc);
-    }
-}
-
 } // namespace backend
 } // namespace dp_registry
 
diff --git a/desktop/source/deployment/registry/inc/dp_backenddb.hxx b/desktop/source/deployment/registry/inc/dp_backenddb.hxx
index a9e9f3d..efe34f1 100644
--- a/desktop/source/deployment/registry/inc/dp_backenddb.hxx
+++ b/desktop/source/deployment/registry/inc/dp_backenddb.hxx
@@ -159,8 +159,6 @@ public:
 
 
     void addEntry(OUString const & url);
-    bool getEntry(OUString const & url);
-
 };
 
 }
diff --git a/unusedcode.easy b/unusedcode.easy
index f9cbef5..2ea49e2 100644
--- a/unusedcode.easy
+++ b/unusedcode.easy
@@ -82,7 +82,6 @@ connectivity::sdbcx::OGroup::OGroup(rtl::OUString const&, bool)
 dbaccess::OBookmarkContainer::dispose()
 dbaccess::StorageInputStream::close()
 dbaui::OTableRowView::SetUpdatable(bool)
-dp_registry::backend::RegisteredDb::getEntry(rtl::OUString const&)
 oglcanvas::CanvasHelper::drawPoint(com::sun::star::rendering::XCanvas const*, com::sun::star::geometry::RealPoint2D const&, com::sun::star::rendering::ViewState const&, com::sun::star::rendering::RenderState const&)
 oglcanvas::TextLayout::draw(com::sun::star::rendering::ViewState const&, com::sun::star::rendering::RenderState const&, com::sun::star::uno::Reference<com::sun::star::rendering::XGraphicDevice> const&) const
 oox::AttributeList::getUnsignedHex(int) const
commit f265344c4d1e0262814d4a5498bf7035f15ccb48
Author: Siqi Liu <me at siqi.fr>
Date:   Thu Apr 23 15:22:31 2015 +0200

    intent preference overrides default prefs.
    
    Change-Id: I315d283f6c000d971421a098264e9c594930283e

diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
index fd08574..938a259 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
@@ -501,6 +501,27 @@ public class LibreOfficeUIActivity extends ActionBarActivity implements ActionBa
         sortMode = prefs.getInt(SORT_MODE_KEY, FileUtilities.SORT_AZ);
         SharedPreferences defaultPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
         filterMode = Integer.valueOf(defaultPrefs.getString(FILTER_MODE_KEY , "-1"));
+
+        Intent i = this.getIntent();
+        if (i.hasExtra(CURRENT_DIRECTORY_KEY)) {
+            try {
+                currentDirectory = documentProvider.createFromUri(new URI(
+                        i.getStringExtra(CURRENT_DIRECTORY_KEY)));
+            } catch (URISyntaxException e) {
+                currentDirectory = documentProvider.getRootDirectory();
+            }
+            Log.d(LOGTAG, CURRENT_DIRECTORY_KEY);
+        }
+
+        if (i.hasExtra(FILTER_MODE_KEY)) {
+            filterMode = i.getIntExtra( FILTER_MODE_KEY, FileUtilities.ALL);
+            Log.d(LOGTAG, FILTER_MODE_KEY);
+        }
+
+        if (i.hasExtra(EXPLORER_VIEW_TYPE_KEY)) {
+            viewMode = i.getIntExtra( EXPLORER_VIEW_TYPE_KEY, GRID_VIEW);
+            Log.d(LOGTAG, EXPLORER_VIEW_TYPE_KEY);
+        }
     }
 
     @Override
commit 6c03914e2b762e0ba103eb7cb0ab9bf6203d2305
Author: Siqi Liu <me at siqi.fr>
Date:   Thu Apr 23 15:19:28 2015 +0200

    load default prefs once and use new sortmode/filter mode on refresh.
    
    Change-Id: I54c3e25e960ade172eeb0f4bf24104b3b06e2ee2

diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
index 3c269bf..fd08574 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
@@ -107,6 +107,7 @@ public class LibreOfficeUIActivity extends ActionBarActivity implements ActionBa
         DocumentProviderFactory.initialize(this);
         documentProviderFactory = DocumentProviderFactory.getInstance();
 
+        readPreferences();
         // init UI and populate with contents from the provider
         createUI();
         switchToDocumentProvider(documentProviderFactory.getDefaultProvider());
@@ -496,11 +497,10 @@ public class LibreOfficeUIActivity extends ActionBarActivity implements ActionBa
 
     public void readPreferences(){
         prefs = getSharedPreferences(EXPLORER_PREFS_KEY, MODE_PRIVATE);
-        viewMode = prefs.getInt( EXPLORER_VIEW_TYPE_KEY, GRID_VIEW);
-        sortMode = prefs.getInt( SORT_MODE_KEY, FileUtilities.SORT_AZ );
-        SharedPreferences defaultPrefs = PreferenceManager.getDefaultSharedPreferences( getBaseContext() );
-        filterMode = Integer.valueOf( defaultPrefs.getString( FILTER_MODE_KEY , "-1") );
-        sortMode = Integer.valueOf( defaultPrefs.getString( SORT_MODE_KEY , "-1") );
+        viewMode = prefs.getInt(EXPLORER_VIEW_TYPE_KEY, GRID_VIEW);
+        sortMode = prefs.getInt(SORT_MODE_KEY, FileUtilities.SORT_AZ);
+        SharedPreferences defaultPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
+        filterMode = Integer.valueOf(defaultPrefs.getString(FILTER_MODE_KEY , "-1"));
     }
 
     @Override
@@ -547,25 +547,7 @@ public class LibreOfficeUIActivity extends ActionBarActivity implements ActionBa
     protected void onResume() {
         super.onResume();
         Log.d(LOGTAG, "onResume");
-        readPreferences();// intent values take precedence over prefs?
-        Intent i = this.getIntent();
-        if( i.hasExtra( CURRENT_DIRECTORY_KEY ) ){
-            try {
-                currentDirectory = documentProvider.createFromUri(new URI(
-                        i.getStringExtra(CURRENT_DIRECTORY_KEY)));
-            } catch (URISyntaxException e) {
-                currentDirectory = documentProvider.getRootDirectory();
-            }
-            Log.d(LOGTAG, CURRENT_DIRECTORY_KEY);
-        }
-        if( i.hasExtra( FILTER_MODE_KEY ) ){
-            filterMode = i.getIntExtra( FILTER_MODE_KEY, FileUtilities.ALL);
-            Log.d(LOGTAG, FILTER_MODE_KEY);
-        }
-        if( i.hasExtra( EXPLORER_VIEW_TYPE_KEY ) ){
-            viewMode = i.getIntExtra( EXPLORER_VIEW_TYPE_KEY, GRID_VIEW);
-            Log.d(LOGTAG, EXPLORER_VIEW_TYPE_KEY);
-        }
+        Log.d(LOGTAG, "sortMode="+ sortMode + " filterMode=" + filterMode);
         createUI();
     }
 
commit 0848e70b0f13d025076ab3536b9378375e3d1cf0
Author: Siqi Liu <me at siqi.fr>
Date:   Thu Apr 23 15:18:23 2015 +0200

    Use switch... and effectively sorts before listing.
    
    Change-Id: Ia7eb2c53dc8a69b3d65e56afc7a27f0548c63d07

diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FileUtilities.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FileUtilities.java
index 9c58750..b8bb7e9 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FileUtilities.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FileUtilities.java
@@ -10,11 +10,14 @@ package org.libreoffice.ui;
 
 import org.libreoffice.R;
 
+import org.libreoffice.storage.IFile;
+
 import java.io.File;
 import java.io.FileFilter;
 import java.io.FilenameFilter;
 import java.util.Map;
-import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
 import java.util.HashMap;
 import java.util.Comparator;
 import android.util.Log;
@@ -198,55 +201,52 @@ public class FileUtilities {
         };
     }
 
-    static void sortFiles(File[] files, int sortMode) {
-        // Should really change all this to a switch statement...
-        if (sortMode == SORT_AZ) {
-            Arrays.sort(files , new Comparator<File>() {
-                public int compare(File lhs, File rhs) {
-                    return lhs.getName().compareTo(rhs.getName());
-                }
-            });
-            return;
-        }
-        if (sortMode == SORT_ZA) {
-            Arrays.sort(files , new Comparator<File>() {
-                public int compare(File lhs, File rhs) {
-                    return rhs.getName().compareTo(lhs.getName());
-                }
-            });
-            return;
-        }
-        if (sortMode == SORT_OLDEST) {
-            Arrays.sort(files , new Comparator<File>() {
-                public int compare(File lhs, File rhs) {
-                    return Long.valueOf(lhs.lastModified()).compareTo(rhs.lastModified());
-                }
-            });
-            return;
-        }
-        if (sortMode == SORT_NEWEST) {
-            Arrays.sort(files , new Comparator<File>() {
-                public int compare(File lhs, File rhs) {
-                    return Long.valueOf(rhs.lastModified()).compareTo(lhs.lastModified());
-                }
-            });
-            return;
-        }
-        if (sortMode == SORT_LARGEST) {
-            Arrays.sort(files , new Comparator<File>() {
-                public int compare(File lhs, File rhs) {
-                    return Long.valueOf(rhs.length()).compareTo(lhs.length());
-                }
-            });
-            return;
-        }
-        if (sortMode == SORT_SMALLEST) {
-            Arrays.sort(files , new Comparator<File>() {
-                public int compare(File lhs, File rhs) {
-                    return Long.valueOf(lhs.length()).compareTo(rhs.length());
-                }
-            });
-            return;
+    static void sortFiles(List<IFile> files, int sortMode) {
+        switch (sortMode) {
+            case SORT_AZ:
+                Collections.sort(files , new Comparator<IFile>() {
+                    public int compare(IFile lhs, IFile rhs) {
+                        return lhs.getName().compareTo(rhs.getName());
+                    }
+                });
+                break;
+            case SORT_ZA:
+                Collections.sort(files , new Comparator<IFile>() {
+                    public int compare(IFile lhs, IFile rhs) {
+                        return rhs.getName().compareTo(lhs.getName());
+                    }
+                });
+                break;
+            case SORT_OLDEST:
+                Collections.sort(files , new Comparator<IFile>() {
+                    public int compare(IFile lhs, IFile rhs) {
+                        return lhs.getLastModified().compareTo(rhs.getLastModified());
+                    }
+                });
+                break;
+            case SORT_NEWEST:
+                Collections.sort(files , new Comparator<IFile>() {
+                    public int compare(IFile lhs, IFile rhs) {
+                        return rhs.getLastModified().compareTo(lhs.getLastModified());
+                    }
+                });
+                break;
+            case SORT_LARGEST:
+                Collections.sort(files , new Comparator<IFile>() {
+                    public int compare(IFile lhs, IFile rhs) {
+                        return Long.valueOf(rhs.getSize()).compareTo(lhs.getSize());
+                    }
+                });
+                break;
+            case SORT_SMALLEST:
+                Collections.sort(files , new Comparator<IFile>() {
+                    public int compare(IFile lhs, IFile rhs) {
+                        return Long.valueOf(lhs.getSize()).compareTo(rhs.getSize());
+                    }
+                });
+                break;
+            default:
+                Log.e(LOGTAG, "uncatched sortMode: " + sortMode);
         }
         return;
     }
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
index 229c619..3c269bf 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
@@ -177,6 +177,8 @@ public class LibreOfficeUIActivity extends ActionBarActivity implements ActionBa
         } else {
             getSupportActionBar().setDisplayHomeAsUpEnabled(false);
         }
+
+        FileUtilities.sortFiles(filePaths, sortMode);
         // refresh view
         if (viewMode == GRID_VIEW) {
             gv.setAdapter(new GridItemAdapter(getApplicationContext(),
commit dde1964a2c291aad5b3df76c1ddfbcb7a983a6ed
Author: Siqi Liu <me at siqi.fr>
Date:   Thu Apr 23 15:17:54 2015 +0200

    Formatting for consistency
    
    Change-Id: Ifd153869c965ffa33640e23e9794defaa57dba0b

diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
index 79ef341..229c619 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
@@ -131,7 +131,7 @@ public class LibreOfficeUIActivity extends ActionBarActivity implements ActionBa
 
         LinearLayout content = (LinearLayout) findViewById(R.id.browser_main_content);
 
-        if( viewMode == GRID_VIEW){
+        if (viewMode == GRID_VIEW) {
             // code to make a grid view
             getLayoutInflater().inflate(R.layout.file_grid, content);
             gv = (GridView)findViewById(R.id.file_explorer_grid_view);
@@ -141,13 +141,13 @@ public class LibreOfficeUIActivity extends ActionBarActivity implements ActionBa
                     open(position);
                 }
             });
-            actionBar.setSelectedNavigationItem( filterMode + 1 );//This triggers the listener which modifies the view.
+            actionBar.setSelectedNavigationItem(filterMode + 1);//This triggers the listener which modifies the view.
             registerForContextMenu(gv);
-        }else{
+        } else {
             getLayoutInflater().inflate(R.layout.file_list, content);
-            lv = (ListView)findViewById( R.id.file_explorer_list_view);
+            lv = (ListView)findViewById(R.id.file_explorer_list_view);
             lv.setClickable(true);
-            actionBar.setSelectedNavigationItem( filterMode + 1 );
+            actionBar.setSelectedNavigationItem(filterMode + 1);
             registerForContextMenu(lv);
         }
 
@@ -168,7 +168,6 @@ public class LibreOfficeUIActivity extends ActionBarActivity implements ActionBa
                         .getProvider(position));
             }
         });
-
     }
 
     private void refreshView() {
@@ -393,33 +392,54 @@ public class LibreOfficeUIActivity extends ActionBarActivity implements ActionBa
         inflater.inflate(R.menu.view_menu, menu);
 
         MenuItem item = (MenuItem)menu.findItem(R.id.menu_view_toggle);
-        if( viewMode == GRID_VIEW){
+        if (viewMode == GRID_VIEW) {
             item.setTitle(R.string.list_view);
-            item.setIcon( R.drawable.light_view_as_list );
-        }else{
+            item.setIcon(R.drawable.light_view_as_list);
+        } else {
             item.setTitle(R.string.grid_view);
-            item.setIcon( R.drawable.light_view_as_grid );
+            item.setIcon(R.drawable.light_view_as_grid);
         }
+
+        item = (MenuItem)menu.findItem(R.id.menu_sort_size);
+        if (sortMode == FileUtilities.SORT_LARGEST) {
+            item.setTitle(R.string.sort_smallest);
+        } else {
+            item.setTitle(R.string.sort_largest);
+        }
+
+        item = (MenuItem)menu.findItem(R.id.menu_sort_az);
+        if (sortMode == FileUtilities.SORT_AZ) {
+            item.setTitle(R.string.sort_za);
+        } else {
+            item.setTitle(R.string.sort_az);
+        }
+
+        item = (MenuItem)menu.findItem(R.id.menu_sort_modified);
+        if (sortMode == FileUtilities.SORT_NEWEST) {
+            item.setTitle(R.string.sort_oldest);
+        } else {
+            item.setTitle(R.string.sort_newest);
+        }
+
         return true;
     }
 
     public boolean onOptionsItemSelected(MenuItem item) {
         switch (item.getItemId()) {
             case android.R.id.home:
-                if( !currentDirectory.equals( homeDirectory ) ){
+                if (!currentDirectory.equals(homeDirectory)){
                     openParentDirectory();
                 }
                 break;
             case R.id.menu_view_toggle:
-                if( viewMode == GRID_VIEW){
+                if (viewMode == GRID_VIEW){
                     viewMode = LIST_VIEW;
-                    item.setTitle(R.string.grid_view);//Button points to next view.
-                    item.setIcon( R.drawable.light_view_as_grid );
-
-                }else{
+                    item.setTitle(R.string.grid_view); // Button points to next view.
+                    item.setIcon(R.drawable.light_view_as_grid);
+                } else {
                     viewMode = GRID_VIEW;
-                    item.setTitle(R.string.list_view);//Button points to next view.
-                    item.setIcon( R.drawable.light_view_as_list );
+                    item.setTitle(R.string.list_view); // Button points to next view.
+                    item.setIcon(R.drawable.light_view_as_list);
                 }
                 createUI();
                 break;
@@ -486,10 +506,10 @@ public class LibreOfficeUIActivity extends ActionBarActivity implements ActionBa
         // TODO Auto-generated method stub
         super.onSaveInstanceState(outState);
         outState.putString(CURRENT_DIRECTORY_KEY, currentDirectory.getUri().toString());
-        outState.putInt( FILTER_MODE_KEY , filterMode );
-        outState.putInt( EXPLORER_VIEW_TYPE_KEY , viewMode );
+        outState.putInt(FILTER_MODE_KEY , filterMode);
+        outState.putInt(EXPLORER_VIEW_TYPE_KEY , viewMode);
 
-        Log.d(LOGTAG, currentDirectory.toString() + Integer.toString(filterMode ) + Integer.toString(viewMode) );
+        Log.d(LOGTAG, currentDirectory.toString() + Integer.toString(filterMode) + Integer.toString(viewMode));
         //prefs.edit().putInt(EXPLORER_VIEW_TYPE, viewType).commit();
         Log.d(LOGTAG, "savedInstanceSate");
     }
@@ -498,7 +518,7 @@ public class LibreOfficeUIActivity extends ActionBarActivity implements ActionBa
     protected void onRestoreInstanceState(Bundle savedInstanceState) {
         // TODO Auto-generated method stub
         super.onRestoreInstanceState(savedInstanceState);
-        if( savedInstanceState.isEmpty() ){
+        if (savedInstanceState.isEmpty()){
             return;
         }
         try {
@@ -507,11 +527,11 @@ public class LibreOfficeUIActivity extends ActionBarActivity implements ActionBa
         } catch (URISyntaxException e) {
             currentDirectory = documentProvider.getRootDirectory();
         }
-        filterMode = savedInstanceState.getInt( FILTER_MODE_KEY , FileUtilities.ALL ) ;
-        viewMode = savedInstanceState.getInt( EXPLORER_VIEW_TYPE_KEY , GRID_VIEW );
-        //openDirectory( currentDirectory );
+        filterMode = savedInstanceState.getInt(FILTER_MODE_KEY , FileUtilities.ALL) ;
+        viewMode = savedInstanceState.getInt(EXPLORER_VIEW_TYPE_KEY , GRID_VIEW);
+        //openDirectory(currentDirectory);
         Log.d(LOGTAG, "onRestoreInstanceState");
-        Log.d(LOGTAG, currentDirectory.toString() + Integer.toString(filterMode ) + Integer.toString(viewMode) );
+        Log.d(LOGTAG, currentDirectory.toString() + Integer.toString(filterMode) + Integer.toString(viewMode));
     }
 
     @Override
@@ -567,11 +587,11 @@ public class LibreOfficeUIActivity extends ActionBarActivity implements ActionBa
 
     public boolean onNavigationItemSelected(int itemPosition, long itemId) {
         filterMode = itemPosition -1; //bit of a hack, I know. -1 is ALL 0 Docs etc
-        openDirectory( currentDirectory );// Uses filter mode
+        openDirectory(currentDirectory);// Uses filter mode
         return true;
     }
 
-    private int dpToPx( int dp ){
+    private int dpToPx(int dp){
         final float scale = getApplicationContext().getResources().getDisplayMetrics().density;
         return (int) (dp * scale + 0.5f);
     }
@@ -645,23 +665,23 @@ public class LibreOfficeUIActivity extends ActionBarActivity implements ActionBa
             //TODO Give size in KB , MB as appropriate.
             String size = "0B";
             long length = filePaths.get(position).getSize();
-            if( length < KB ){
-                size = Long.toString( length ) + "B";
+            if (length < KB){
+                size = Long.toString(length) + "B";
             }
-            if( length >= KB && length < MB){
-                size = Long.toString( length/KB ) + "KB";
+            if (length >= KB && length < MB){
+                size = Long.toString(length/KB) + "KB";
             }
-            if( length >= MB){
-                size = Long.toString( length/MB ) + "MB";
+            if (length >= MB){
+                size = Long.toString(length/MB) + "MB";
             }
-            fileSize.setText( size );
+            fileSize.setText(size);
             //fileSize.setClickable(true);
 
             TextView fileDate = (TextView) listItem.findViewById(R.id.file_list_item_date);
             SimpleDateFormat df = new SimpleDateFormat("dd MMM yyyy hh:ss");
             Date date = filePaths.get(position).getLastModified();
             //TODO format date
-            fileDate.setText( df.format( date ) );
+            fileDate.setText(df.format(date));
 
             // set image based on selected text
             ImageView imageView = (ImageView) listItem.findViewById(R.id.file_list_item_icon);
commit 79dd7b118e9878d8a4172ec6ebb6ee08693e83cc
Author: Siqi Liu <me at siqi.fr>
Date:   Thu Apr 23 15:16:24 2015 +0200

    Set correct title for sort mode after changes.
    
    Change-Id: I4f75f5ee68de6ed6f3b07d93b3681aa2307cb2dc

diff --git a/android/experimental/LOAndroid3/res/values/strings.xml b/android/experimental/LOAndroid3/res/values/strings.xml
index d7a430e..b697c47 100644
--- a/android/experimental/LOAndroid3/res/values/strings.xml
+++ b/android/experimental/LOAndroid3/res/values/strings.xml
@@ -18,6 +18,12 @@
     <string name="menu_search">Search</string>
     <string name="list_view">List</string>
     <string name="grid_view">Grid</string>
+    <string name="sort_smallest">Smallest first</string>
+    <string name="sort_largest">Largest first</string>
+    <string name="sort_az">A-Z</string>
+    <string name="sort_za">Z-A</string>
+    <string name="sort_oldest">Oldest first</string>
+    <string name="sort_newest">Newest first</string>
     <string name="menu_sort_size">Sort By Size</string>
     <string name="menu_sort_az">Sort A-Z</string>
     <string name="menu_sort_modified">Sort by Date</string>
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
index e41846b..79ef341 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
@@ -437,28 +437,33 @@ public class LibreOfficeUIActivity extends ActionBarActivity implements ActionBa
         return true;
     }
 
-    @SuppressWarnings("unused")//see android:onClick properties in view_menu.xml
     public void sortFiles(MenuItem item){
-        switch ( item.getItemId() ) {
+        switch (item.getItemId()) {
             case R.id.menu_sort_az:
-                if( sortMode == FileUtilities.SORT_AZ ){
+                if (sortMode == FileUtilities.SORT_AZ){
                     sortMode = FileUtilities.SORT_ZA;
-                }else{
+                    item.setTitle(R.string.sort_az);
+                } else {
                     sortMode = FileUtilities.SORT_AZ;
+                    item.setTitle(R.string.sort_za);
                 }
                 break;
             case R.id.menu_sort_modified:
-                if( sortMode == FileUtilities.SORT_NEWEST ){
+                if (sortMode == FileUtilities.SORT_NEWEST){
                     sortMode = FileUtilities.SORT_OLDEST;
-                }else{
+                    item.setTitle(R.string.sort_newest);
+                } else {
                     sortMode = FileUtilities.SORT_NEWEST;
+                    item.setTitle(R.string.sort_oldest);
                 }
                 break;
             case R.id.menu_sort_size:
-                if( sortMode == FileUtilities.SORT_LARGEST ){
+                if (sortMode == FileUtilities.SORT_LARGEST){
                     sortMode = FileUtilities.SORT_SMALLEST;
-                }else{
+                    item.setTitle(R.string.sort_largest);
+                } else {
                     sortMode = FileUtilities.SORT_LARGEST;
+                    item.setTitle(R.string.sort_smallest);
                 }
                 break;
             default:
commit e49e8ac40a1967ff073f91891d1969263d9bb56c
Author: Siqi Liu <me at siqi.fr>
Date:   Thu Apr 23 13:48:39 2015 +0200

    Remove unimplemented search functionality
    
    Change-Id: I955bec2c94c386ee18fff8e8f5d90a7a90edf9d2

diff --git a/android/experimental/LOAndroid3/res/menu/view_menu.xml b/android/experimental/LOAndroid3/res/menu/view_menu.xml
index 81a3aa5..37a39b1 100644
--- a/android/experimental/LOAndroid3/res/menu/view_menu.xml
+++ b/android/experimental/LOAndroid3/res/menu/view_menu.xml
@@ -2,10 +2,6 @@
 <menu xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto">
 
-    <item android:id="@+id/menu_search"
-          android:icon="@drawable/action_search"
-          app:showAsAction="always" />
-
     <item android:id="@+id/menu_view_toggle"
           android:title="@string/grid_view"/>
     <item android:id="@+id/menu_sort_size"
commit 1973966b47b2ebad98ab4bf125464eb193997125
Author: Siqi Liu <me at siqi.fr>
Date:   Thu Apr 23 13:46:49 2015 +0200

    formatting for consistancy and remove unused file.
    
    TODO(siqi): try to refactor the ListItemAdapter to a separate file later.
    
    Change-Id: I01b82d1fea65cda353d5bb08da42e2faf1c8cf13

diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FileUtilities.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FileUtilities.java
index 9650fa5..9c58750 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FileUtilities.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FileUtilities.java
@@ -22,7 +22,7 @@ import android.webkit.MimeTypeMap;
 
 public class FileUtilities {
 
-    private String LOGTAG = FileUtilities.class.getSimpleName();
+    private static String LOGTAG = FileUtilities.class.getSimpleName();
 
     static final int ALL = -1;
 
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FolderIconView.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FolderIconView.java
index c689ba1..1c2b25f 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FolderIconView.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FolderIconView.java
@@ -27,7 +27,7 @@ import java.io.File;
 import java.util.Stack;
 
 public class FolderIconView extends View{
-    private String TAG = "FolderIconView";
+    private String LOGTAG = "FolderIconView";
 
     private Paint mPaintBlack;
     private Paint mPaintGray;
@@ -69,7 +69,7 @@ public class FolderIconView extends View{
     @Override
     protected void onDraw(Canvas canvas) {
         super.onDraw(canvas);
-        Log.d(TAG, "onDraw");
+        Log.d(LOGTAG, "onDraw");
         //float width = (float)canvas.getWidth();
         //float height = (float)canvas.getHeight();
         float width = (float) this.getWidth();
@@ -83,7 +83,7 @@ public class FolderIconView extends View{
         float DZx = 0.2f*outerRadius;
         float DZy = 0.2f*outerRadius;
         //Bitmap blankPage = BitmapFactory.decodeResource(getResources(), R.drawable.page);
-        Log.i(TAG, Float.toString(width) + "x" + Float.toString(height));
+        Log.i(LOGTAG, Float.toString(width) + "x" + Float.toString(height));
         canvas.drawCircle(centerX, centerY, outerRadius, mPaintGray);
         canvas.drawCircle(centerX, centerY, innerRadius, mPaintBlack);
         //Either get thumbs from directory or use generic page images
@@ -107,7 +107,7 @@ public class FolderIconView extends View{
         /*while(thumbs.size() < 4) {// padd out with blanks?
             thumbs.push(blankPage);
         }*/
-        Log.i(TAG, Integer.toString(thumbs.size()));
+        Log.i(LOGTAG, Integer.toString(thumbs.size()));
         //should handle empty folders better
         //  options:
         //      don't show?
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/GridItemAdapter.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/GridItemAdapter.java
index fd4d7b2..c50d3a3 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/GridItemAdapter.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/GridItemAdapter.java
@@ -37,28 +37,14 @@ public class GridItemAdapter extends BaseAdapter {
     Context mContext;
     List<IFile> filePaths;
     IFile currentDirectory;
-    String TAG = "GridItemAdapter";
-
-    public GridItemAdapter(Context mContext, List<IFile> filePaths) {
-        this.mContext = mContext;
-        this.filePaths = filePaths;
-        for (IFile fn : filePaths) {
-            Log.d(TAG, fn.getName());
-        }
-    }
-
-    public GridItemAdapter(Context mContext, IFile currentDirectory) {
-        this.mContext = mContext;
-        this.currentDirectory = currentDirectory;
-        filePaths = currentDirectory.listFiles();
-    }
+    String LOGTAG = "GridItemAdapter";
 
     public GridItemAdapter(Context mContext, IFile currentDirectory,
-            List<IFile> filteredFiles)
-    {
+            List<IFile> filteredFiles) {
         this.mContext = mContext;
         this.currentDirectory = currentDirectory;
         filePaths = filteredFiles;
+        Log.d(LOGTAG, "currentDirectory.getName(): " + currentDirectory.getName());
     }
 
     public int getCount() {
@@ -66,7 +52,7 @@ public class GridItemAdapter extends BaseAdapter {
     }
 
     public Object getItem(int position) {
-        return null;//filePaths[ position ];
+        return null; //filePaths[ position ];
     }
 
     public long getItemId(int position) {
@@ -74,8 +60,7 @@ public class GridItemAdapter extends BaseAdapter {
         return 0;
     }
 
-    public View getView(int position, View convertView, ViewGroup parent)
-    {
+    public View getView(int position, View convertView, ViewGroup parent) {
         LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(
                 Context.LAYOUT_INFLATER_SERVICE);
 
@@ -97,13 +82,10 @@ public class GridItemAdapter extends BaseAdapter {
         // set image based on selected text
         ImageView imageView = (ImageView) gridView
             .findViewById(R.id.grid_item_image);
-        if (filePaths.get(position).isDirectory()) // Is a folder
-        {
+        if (filePaths.get(position).isDirectory()) { // Is a folder
             // Default view is a generic folder icon.
             imageView.setImageResource(R.drawable.folder);
-        }
-        else
-        {
+        } else {
             /*
             File thumbnailFile = new File( filePaths[position].getParent() , "."
                     + filePaths[position].getName().split("[.]")[0] + ".png");
@@ -141,7 +123,7 @@ public class GridItemAdapter extends BaseAdapter {
         return gridView;
     }
 
-    public void update(){
+    public void update() {
         this.notifyDataSetChanged();
     }
 }
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/ListItemAdapter.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/ListItemAdapter.java
deleted file mode 100644
index 2f91b4f..0000000
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/ListItemAdapter.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/* -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-package org.libreoffice.ui;
-
-import org.libreoffice.R;
-
-import java.io.File;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import android.content.Context;
-import android.database.DataSetObserver;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.View.OnClickListener;
-import android.widget.ImageView;
-import android.widget.ListAdapter;
-import android.widget.TextView;
-
-/*Currently this is class is not used but instead is implemented as an inner class in LibreOfficeUI.
- * This is because I can't get the onItemClickListener to fire on the listview so I need to set an
- * onClick listener in the adapter. ( I've tried turning off the focusability etc of the listitem
- * contents but no dice...) */
-public class ListItemAdapter implements ListAdapter{
-    private Context mContext;
-    private File[] filePaths;
-    private final long KB = 1024;
-    private final long MB = 1048576;
-
-    public ListItemAdapter(Context mContext, File[] filePaths) {
-        this.mContext = mContext;
-        this.filePaths = filePaths;
-    }
-
-    public int getCount() {
-        // TODO Auto-generated method stub
-        return filePaths.length;
-    }
-
-    public Object getItem(int arg0) {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    public long getItemId(int arg0) {
-        // TODO Auto-generated method stub
-        return 0;
-    }
-
-    public int getItemViewType(int arg0) {
-        // TODO Auto-generated method stub
-        return 0;
-    }
-
-    public View getView(int position, View convertView, ViewGroup parent) {
-        LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(
-                Context.LAYOUT_INFLATER_SERVICE);
-
-        View listItem;
-
-        if (convertView == null) {
-            listItem = new View(mContext);
-            listItem = inflater.inflate(R.layout.file_list_item, null);
-        } else {
-            listItem = (View) convertView;
-        }
-
-        listItem.setClickable(true);
-        listItem.setOnClickListener(new OnClickListener() {
-
-            public void onClick(View v) {
-                Log.d("LIST", "click!");
-            }
-        });
-
-
-
-        // set value into textview
-        TextView filename = (TextView) listItem.findViewById(R.id.file_list_item_name);
-        filename.setText( filePaths[ position ].getName() );
-        //filename.setClickable(true);
-
-        TextView fileSize = (TextView) listItem.findViewById(R.id.file_list_item_size);
-        //TODO Give size in KB , MB as appropriate.
-        String size = "0B";
-        long length = filePaths[ position ].length();
-        if( length < KB ){
-            size = Long.toString( length ) + "B";
-        }
-        if( length >= KB && length < MB){
-            size = Long.toString( length/KB ) + "KB";
-        }
-        if( length >= MB){
-            size = Long.toString( length/MB ) + "MB";
-        }
-        fileSize.setText( size );
-        //fileSize.setClickable(true);
-
-        TextView fileDate = (TextView) listItem.findViewById(R.id.file_list_item_date);
-        SimpleDateFormat df = new SimpleDateFormat("dd MMM yyyy hh:ss");
-        Date date = new Date( filePaths[ position ].lastModified() );
-        //TODO format date
-        fileDate.setText( df.format( date ) );
-
-        // set image based on selected text
-        ImageView imageView = (ImageView) listItem.findViewById(R.id.file_list_item_icon);
-        switch (FileUtilities.getType(filePaths[position].getName()))
-        {
-            case FileUtilities.DOC:
-                imageView.setImageResource(R.drawable.writer);
-                break;
-            case FileUtilities.CALC:
-                imageView.setImageResource(R.drawable.calc);
-                break;
-            case FileUtilities.DRAWING:
-                imageView.setImageResource(R.drawable.draw);
-                break;
-            case FileUtilities.IMPRESS:
-                imageView.setImageResource(R.drawable.impress);
-                break;
-            default:
-                break;
-        }
-        if( filePaths[position].isDirectory() ){
-            //Eventually have thumbnails of each sub file on a black circle
-            //For now just a folder icon
-            imageView.setImageResource(R.drawable.folder);
-        }
-        //imageView.setClickable(true);
-        return listItem;
-    }
-
-    public int getViewTypeCount() {
-        // TODO Auto-generated method stub
-        return 1;
-    }
-
-    public boolean hasStableIds() {
-        // TODO Auto-generated method stub
-        return false;
-    }
-
-    public boolean isEmpty() {
-        // TODO Auto-generated method stub
-        return false;
-    }
-
-    public void registerDataSetObserver(DataSetObserver arg0) {
-        // TODO Auto-generated method stub
-
-    }
-
-    public void unregisterDataSetObserver(DataSetObserver arg0) {
-        // TODO Auto-generated method stub
-
-    }
-
-    public boolean areAllItemsEnabled() {
-        // TODO Auto-generated method stub
-        return false;
-    }
-
-    public boolean isEnabled(int position) {
-        // TODO Auto-generated method stub
-        return false;
-    }
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit b160d3893cd1cff4fc915c9c3f32d2ba02fbadb3
Author: Siqi Liu <me at siqi.fr>
Date:   Thu Apr 23 13:44:29 2015 +0200

    Do NOT browse files from "Documents" folder. Browse from root instead.
    
    This is more likely what users expect. Previously we assumed that all
    the documents are stored in root_folder/Documents and there is no way
    to navigate up to other folders.
    
    Change-Id: Idf0ce2476d3abe638b2e8b0f35b6da577032742b

diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/storage/local/LocalDocumentsDirectoryProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/storage/local/LocalDocumentsDirectoryProvider.java
index 92d93d6..820a915 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/storage/local/LocalDocumentsDirectoryProvider.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/storage/local/LocalDocumentsDirectoryProvider.java
@@ -28,8 +28,7 @@ public class LocalDocumentsDirectoryProvider extends LocalDocumentsProvider {
     @Override
     public IFile getRootDirectory() {
         File documentsDirectory = new File(
-                Environment.getExternalStorageDirectory(), "Documents");
-        documentsDirectory.mkdirs();
+                Environment.getExternalStorageDirectory(), "");
         return new LocalFile(documentsDirectory);
     }
 
commit 72f023fc9759df28ffb2df7e32a4d877145ebe4d
Author: Siqi Liu <me at siqi.fr>
Date:   Thu Apr 23 13:43:49 2015 +0200

    refactor xml styling for listview texts
    
    Change-Id: Id52d33807c34b0fa12bc563ed479f5519103c8fe

diff --git a/android/experimental/LOAndroid3/res/layout/file_list_item.xml b/android/experimental/LOAndroid3/res/layout/file_list_item.xml
index 91d84fd..17590fc 100644
--- a/android/experimental/LOAndroid3/res/layout/file_list_item.xml
+++ b/android/experimental/LOAndroid3/res/layout/file_list_item.xml
@@ -21,27 +21,21 @@
         android:orientation="horizontal">
         <TextView
             android:id="@+id/file_list_item_name"
-            android:layout_height="48dp"
+            style="@style/ListItemText"
+            android:layout_height="match_parent"
             android:layout_width="0dp"
-            android:textSize="15dp"
-            android:textStyle="bold"
-            android:layout_weight="2"
-            android:gravity="center"/>
+            android:layout_weight="2" />
         <TextView
             android:id="@+id/file_list_item_size"
-            android:layout_height="48dp"
+            style="@style/ListItemText"
+            android:layout_height="match_parent"
             android:layout_width="0dp"
-            android:textSize="15dp"
-            android:textStyle="bold"
-            android:layout_weight="1"
-            android:gravity="center"/>
+            android:layout_weight="1" />
         <TextView
             android:id="@+id/file_list_item_date"
-            android:layout_height="48dp"
+            style="@style/ListItemText"
+            android:layout_height="match_parent"
             android:layout_width="0dp"
-            android:textSize="15dp"
-            android:textStyle="bold"
-            android:layout_weight="2"
-            android:gravity="center"/>
+            android:layout_weight="2" />
     </LinearLayout>
 </LinearLayout>
diff --git a/android/experimental/LOAndroid3/res/values/themes.xml b/android/experimental/LOAndroid3/res/values/themes.xml
index 478aeb7e..2b9e9f1 100644
--- a/android/experimental/LOAndroid3/res/values/themes.xml
+++ b/android/experimental/LOAndroid3/res/values/themes.xml
@@ -9,4 +9,10 @@
 
     <style name="BrowserTheme" parent="Theme.AppCompat.Light.NoActionBar">
     </style>
+
+    <style name="ListItemText">
+        <item name="android:gravity">center</item>
+        <item name="android:textColor">@android:color/black</item>
+        <item name="android:textSize">15sp</item>
+    </style>
 </resources>
commit c9baf39df68afc17adcf4fe23245912e57ff5477
Author: Siqi Liu <me at siqi.fr>
Date:   Thu Apr 23 12:53:51 2015 +0200

    formatting for consistancy across Java code
    
    Change-Id: I7bde4c9c024dfe7a18c92a36069433f044fc89bc

diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FolderIconView.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FolderIconView.java
index b0211b1..c689ba1 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FolderIconView.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FolderIconView.java
@@ -35,7 +35,7 @@ public class FolderIconView extends View{
 
     private File dir;
 
-    public FolderIconView(Context context ) {
+    public FolderIconView(Context context) {
         super(context);
         initialisePaints();
     }
@@ -48,86 +48,86 @@ public class FolderIconView extends View{
         initialisePaints();
     }
 
-    private void initialisePaints(){
+    private void initialisePaints() {
         mPaintBlack = new Paint();
-        mPaintBlack.setColor( Color.DKGRAY );//Can also use parseColor( String "#aarrggbb")
-        mPaintBlack.setAntiAlias( true );
+        mPaintBlack.setColor(Color.DKGRAY);//Can also use parseColor(String "#aarrggbb")
+        mPaintBlack.setAntiAlias(true);
 
         mPaintGray = new Paint();
-        mPaintGray.setColor( Color.GRAY );//Can also use parseColor( String "#aarrggbb")
-        mPaintGray.setAntiAlias( true );
+        mPaintGray.setColor(Color.GRAY);//Can also use parseColor(String "#aarrggbb")
+        mPaintGray.setAntiAlias(true);
 
         mPaintShadow = new Paint();
-        mPaintShadow.setColor( Color.parseColor( "#88888888") );
-        mPaintShadow.setAntiAlias( true );
+        mPaintShadow.setColor(Color.parseColor("#88888888"));
+        mPaintShadow.setAntiAlias(true);
     }
 
-    public void setDir( File dir ){
+    public void setDir(File dir) {
         this.dir = dir;
     }
 
     @Override
     protected void onDraw(Canvas canvas) {
         super.onDraw(canvas);
-        Log.d( TAG, "onDraw");
+        Log.d(TAG, "onDraw");
         //float width = (float)canvas.getWidth();
         //float height = (float)canvas.getHeight();
-        float width = (float)this.getWidth();
-        float height = (float)this.getHeight();
+        float width = (float) this.getWidth();
+        float height = (float) this.getHeight();
         float centerX = width*0.5f;// centered on horz axis
         float centerY = height*0.5f;
-        float outerRadius = 0.8f*0.5f* width;
-        float innerRadius = 0.7f*0.5f* width;
+        float outerRadius = 0.8f*0.5f*width;
+        float innerRadius = 0.7f*0.5f*width;
         float thumbHeight = outerRadius*1.25f;
         float thumbWidth = thumbHeight*(float)(1/Math.sqrt(2));
         float DZx = 0.2f*outerRadius;
         float DZy = 0.2f*outerRadius;
-        //Bitmap blankPage = BitmapFactory.decodeResource( getResources() , R.drawable.page );
-        Log.i( TAG , Float.toString( width ) + " X " + Float.toString( height ) );
-        canvas.drawCircle( centerX , centerY , outerRadius , mPaintGray );
-        canvas.drawCircle( centerX , centerY , innerRadius , mPaintBlack );
+        //Bitmap blankPage = BitmapFactory.decodeResource(getResources(), R.drawable.page);
+        Log.i(TAG, Float.toString(width) + "x" + Float.toString(height));
+        canvas.drawCircle(centerX, centerY, outerRadius, mPaintGray);
+        canvas.drawCircle(centerX, centerY, innerRadius, mPaintBlack);
         //Either get thumbs from directory or use generic page images
         //For now just get the first 4 thumbs -> add some checks later
-        if( dir == null )
+        if (dir == null)
             return;//TODO
         File[] contents = dir.listFiles();//TODO consider filtering thumbs to match grid.
-        if( contents == null )
+        if (contents == null)
             // dir is not a directory,
             // or user does not have permissions to read it
             return;
         Stack<Bitmap> thumbs = new Stack<Bitmap>();
         BitmapFactory factory = new BitmapFactory();
-        for( File file : contents ){
-            if( !FileUtilities.isThumbnail(file) )
+        for (File file : contents) {
+            if (!FileUtilities.isThumbnail(file))
                 continue;
-            thumbs.push( factory.decodeFile( file.getAbsolutePath() ) );//TODO switch to push for semantics
-            if( thumbs.size() > 3 )
+            thumbs.push(factory.decodeFile(file.getAbsolutePath()));//TODO switch to push for semantics
+            if (thumbs.size() > 3)
                 break;
         }
-        /*while( thumbs.size() < 4 ){// padd out with blanks?
-            thumbs.push( blankPage );
+        /*while(thumbs.size() < 4) {// padd out with blanks?
+            thumbs.push(blankPage);
         }*/
-        Log.i( TAG, Integer.toString( thumbs.size() ) );
+        Log.i(TAG, Integer.toString(thumbs.size()));
         //should handle empty folders better
         //  options:
         //      don't show?
         //      show generic LO icons for writer etc
         //      Show a generic blank page icon
-        if( thumbs.isEmpty() )
+        if (thumbs.isEmpty())
             return;
         /*float left = centerX ;//+ 0.25f*outerRadius;
         float top = centerY - 0.5f*outerRadius;
         float right = left + thumbs.get(0).getWidth()*0.4f;
         float bottom = top + thumbs.get(0).getHeight()*0.4f;
-        RectF dest = new RectF( left, top , right , bottom );
+        RectF dest = new RectF(left, top, right, bottom);
         RectF shadowBox = new RectF(dest);
-        shadowBox.inset( -1 , -1 );
+        shadowBox.inset(-1, -1);
         int size = thumbs.size();
-        for( int i = 1 ; i <= size ; i++ ){
-            canvas.drawRect( shadowBox , mPaintShadow);
-            canvas.drawBitmap( thumbs.pop() , null , dest , null);
-            dest.offset( -outerRadius*0.2f , outerRadius*0.1f );
-            shadowBox.offset( -outerRadius*0.2f , outerRadius*0.1f );
+        for (int i = 1; i <= size; i++) {
+            canvas.drawRect(shadowBox, mPaintShadow);
+            canvas.drawBitmap(thumbs.pop(), null, dest, null);
+            dest.offset(-outerRadius*0.2f, outerRadius*0.1f);
+            shadowBox.offset(-outerRadius*0.2f, outerRadius*0.1f);
         }*/
         float left;
         float top;
@@ -136,7 +136,7 @@ public class FolderIconView extends View{
         RectF dest;
         RectF shadowBox;
         int size;
-        switch( thumbs.size() ){
+        switch(thumbs.size()) {
             case 0:
                 break;
             case 1:
@@ -144,26 +144,26 @@ public class FolderIconView extends View{
                 top = centerY - 0.5f*thumbHeight;
                 right = left + thumbWidth;
                 bottom = top + thumbHeight;
-                dest = new RectF( left, top , right , bottom );
+                dest = new RectF(left, top, right, bottom);
                 shadowBox = new RectF(dest);
-                shadowBox.inset( -1 , -1 );
-                canvas.drawRect( shadowBox , mPaintShadow);
-                canvas.drawBitmap( thumbs.pop() , null , dest , null);
+                shadowBox.inset(-1, -1);
+                canvas.drawRect(shadowBox, mPaintShadow);
+                canvas.drawBitmap(thumbs.pop(), null, dest, null);
                 break;
             case 2:
                 left = centerX - 0.5f*thumbWidth + 0.5f*DZx;
                 top = centerY - 0.5f*thumbHeight - 0.5f*DZy;
                 right = left + thumbWidth;
                 bottom = top + thumbHeight;
-                dest = new RectF( left, top , right , bottom );
+                dest = new RectF(left, top, right, bottom);
                 shadowBox = new RectF(dest);
-                shadowBox.inset( -1 , -1 );
+                shadowBox.inset(-1, -1);
                 size = thumbs.size();
-                for( int i = 1 ; i <= size ; i++ ){
-                    canvas.drawRect( shadowBox , mPaintShadow);
-                    canvas.drawBitmap( thumbs.pop() , null , dest , null);
-                    dest.offset( -DZx , DZy );
-                    shadowBox.offset( -DZx , DZy );
+                for (int i = 1; i <= size; i++) {
+                    canvas.drawRect(shadowBox, mPaintShadow);
+                    canvas.drawBitmap(thumbs.pop(), null, dest, null);
+                    dest.offset(-DZx, DZy);
+                    shadowBox.offset(-DZx, DZy);
                 }
                 break;
             case 3:
@@ -171,15 +171,15 @@ public class FolderIconView extends View{
                 top = centerY - 0.5f*thumbHeight - DZy;
                 right = left + thumbWidth;
                 bottom = top + thumbHeight;
-                dest = new RectF( left, top , right , bottom );
+                dest = new RectF(left, top, right, bottom);
                 shadowBox = new RectF(dest);
-                shadowBox.inset( -1 , -1 );
+                shadowBox.inset(-1, -1);
                 size = thumbs.size();
-                for( int i = 1 ; i <= size ; i++ ){
-                    canvas.drawRect( shadowBox , mPaintShadow);
-                    canvas.drawBitmap( thumbs.pop() , null , dest , null);
-                    dest.offset( -DZx , DZy );
-                    shadowBox.offset( -DZx , DZy );
+                for (int i = 1; i <= size; i++) {
+                    canvas.drawRect(shadowBox, mPaintShadow);
+                    canvas.drawBitmap(thumbs.pop(), null, dest, null);
+                    dest.offset(-DZx, DZy);
+                    shadowBox.offset(-DZx, DZy);
                 }
                 break;
             case 4:
@@ -187,15 +187,15 @@ public class FolderIconView extends View{
                 top = centerY - 0.5f*thumbHeight - 1.5f*DZy;
                 right = left + thumbWidth;
                 bottom = top + thumbHeight;
-                dest = new RectF( left, top , right , bottom );
+                dest = new RectF(left, top, right, bottom);
                 shadowBox = new RectF(dest);
-                shadowBox.inset( -1 , -1 );
+                shadowBox.inset(-1, -1);
                 size = thumbs.size();
-                for( int i = 1 ; i <= size ; i++ ){
-                    canvas.drawRect( shadowBox , mPaintShadow);
-                    canvas.drawBitmap( thumbs.pop() , null , dest , null);
-                    dest.offset( -DZx , DZy );
-                    shadowBox.offset( -DZx , DZy );
+                for (int i = 1; i <= size; i++) {
+                    canvas.drawRect(shadowBox, mPaintShadow);
+                    canvas.drawBitmap(thumbs.pop(), null, dest, null);
+                    dest.offset(-DZx, DZy);
+                    shadowBox.offset(-DZx, DZy);
                 }
                 break;
             default:
commit 3c8ad51e358003ec056555bd498352f84c23212a
Author: Siqi Liu <me at siqi.fr>
Date:   Thu Apr 23 12:49:01 2015 +0200

    use LOGTAG instead
    
    Change-Id: Ie89afb3526ff670581094107c59a4a20597d9225

diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FileUtilities.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FileUtilities.java
index 559bd95..9650fa5 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FileUtilities.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FileUtilities.java
@@ -21,6 +21,9 @@ import android.util.Log;
 import android.webkit.MimeTypeMap;
 
 public class FileUtilities {
+
+    private String LOGTAG = FileUtilities.class.getSimpleName();
+
     static final int ALL = -1;
 
     // These have to be in sync with the file_view_modes resource.
@@ -135,7 +138,7 @@ public class FileUtilities {
 
     static int getType(String filename) {
         int type = lookupExtension (filename);
-        Log.d("debug", "extn : " + filename + " -> " + type);
+        Log.d(LOGTAG, "extn : " + filename + " -> " + type);
         return type;
     }
 
@@ -152,7 +155,7 @@ public class FileUtilities {
 
     // Filter by mode, and/or in future by filename/wildcard
     static private boolean doAccept(String filename, int byMode, String byFilename) {
-        Log.d("debug", "doAccept : " + filename + " mode " + byMode + " byFilename " + byFilename);
+        Log.d(LOGTAG, "doAccept : " + filename + " mode " + byMode + " byFilename " + byFilename);
         if (filename == null)
             return false;
 
commit bc7300a76de723c1c55d5045e14a336879837b7a
Author: Siqi Liu <me at siqi.fr>
Date:   Thu Apr 23 12:47:00 2015 +0200

    formatting for consistancy across Java code
    
    Change-Id: I4d53376ea1b5ffa158cbb3412353c3cf5ba860d5

diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java
index 8f4e480..2f47b18 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java
@@ -139,11 +139,13 @@ public class LibreOfficeMainActivity extends ActionBarActivity {
             if (getIntent().getData().getScheme().equals(ContentResolver.SCHEME_CONTENT)) {
                 if (copyFileToTemp() && mTempFile != null) {
                     mInputFile = mTempFile.getPath();
+                    Log.d(LOGTAG, "SCHEME_CONTENT: getPath(): " + getIntent().getData().getPath());
                 } else {
                     // TODO: can't open the file
                 }
             } else if (getIntent().getData().getScheme().equals(ContentResolver.SCHEME_FILE)) {
                 mInputFile = getIntent().getData().getPath();
+                Log.d(LOGTAG, "SCHEME_FILE: getPath(): " + getIntent().getData().getPath());
             }
         } else {
             mInputFile = DEFAULT_DOC_PATH;
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FileUtilities.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FileUtilities.java
index 118eded..559bd95 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FileUtilities.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/FileUtilities.java
@@ -42,7 +42,7 @@ public class FileUtilities {
     /** Smallest Files First */
     static final int SORT_SMALLEST = 5;
 
-    private static final Map<String,Integer> mExtnMap = new HashMap<String,Integer>();
+    private static final Map<String, Integer> mExtnMap = new HashMap<String, Integer>();
     private static final Map<String, String> extensionToMimeTypeMap = new HashMap<String, String>();
     static {
         // Please keep this in sync with AndroidManifest.xml
@@ -117,8 +117,7 @@ public class FileUtilities {
         extensionToMimeTypeMap.put("oth", "application/vnd.oasis.opendocument.text-web");
     }
 
-    private static final String getExtension(String filename)
-    {
+    private static final String getExtension(String filename) {
         if (filename == null)
             return "";
         int nExt = filename.lastIndexOf('.');
@@ -127,26 +126,23 @@ public class FileUtilities {
         return filename.substring(nExt);
     }
 
-    private static final int lookupExtension(String filename)
-    {
-        String extn = getExtension (filename);
+    private static final int lookupExtension(String filename) {
+        String extn = getExtension(filename);
         if (!mExtnMap.containsKey(extn))
             return UNKNOWN;
-        return mExtnMap.get (extn);
+        return mExtnMap.get(extn);
     }
 
-    static int getType(String filename)
-    {
+    static int getType(String filename) {
         int type = lookupExtension (filename);
-        android.util.Log.d("debug", "extn : " + filename + " -> " + type);
+        Log.d("debug", "extn : " + filename + " -> " + type);
         return type;
     }
 
-    static String getMimeType(String filename)
-    {
+    static String getMimeType(String filename) {
         String extension = MimeTypeMap.getFileExtensionFromUrl(filename);
         String mime = extensionToMimeTypeMap.get(extension);
-        if(mime == null) {
+        if (mime == null) {
             //fallback to Android's MimeTypeMap
             mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(
                     extension);
@@ -155,100 +151,96 @@ public class FileUtilities {
     }
 
     // Filter by mode, and/or in future by filename/wildcard
-    static private boolean doAccept(String filename, int byMode, String byFilename)
-    {
-    android.util.Log.d("debug", "doAccept : " + filename + " mode " + byMode + " byFilename " + byFilename);
-    if (filename == null)
-        return false;
-
-    if (byMode == ALL && byFilename == "") {
-        if( filename.startsWith(".")) {//ignore hidden files
+    static private boolean doAccept(String filename, int byMode, String byFilename) {
+        Log.d("debug", "doAccept : " + filename + " mode " + byMode + " byFilename " + byFilename);
+        if (filename == null)
             return false;
+
+        if (byMode == ALL && byFilename == "") {
+            if (filename.startsWith(".")) {//ignore hidden files
+                return false;
+            }
+            return true;
+        }
+        // check extension
+        if (byMode != ALL) {
+            if (mExtnMap.get (getExtension (filename)) != byMode)
+                return false;
+        }
+        if (byFilename != "") {
+            // FIXME return false on a non-match
         }
         return true;
     }
-    // check extension
-    if (byMode != ALL) {
-        if (mExtnMap.get (getExtension (filename)) != byMode)
-            return false;
-    }
-    if (byFilename != "") {
-        // FIXME return false on a non-match
-    }
-    return true;
-    }
 
-    static FileFilter getFileFilter(final int mode)
-    {
-    return new FileFilter() {
-        public boolean accept(File pathname) {
-        if (pathname.isDirectory())
-            return true;
-        if( lookupExtension(pathname.getName()) == UNKNOWN)
-            return false;
-        return doAccept(pathname.getName(), mode, "");
-        }
-    };
+    static FileFilter getFileFilter(final int mode) {
+        return new FileFilter() {
+            public boolean accept(File pathname) {
+                if (pathname.isDirectory())
+                    return true;
+                if (lookupExtension(pathname.getName()) == UNKNOWN)
+                    return false;
+                return doAccept(pathname.getName(), mode, "");
+            }
+        };
     }
 
-    static FilenameFilter getFilenameFilter(final int mode)
-    {
+    static FilenameFilter getFilenameFilter(final int mode) {
         return new FilenameFilter() {
             public boolean accept(File dir, String filename) {
-                if( new File( dir , filename ).isDirectory() )
+                if (new File(dir , filename).isDirectory())
                     return true;
                 return doAccept(filename, mode, "");
             }
         };
     }
 
-    static void sortFiles(File[] files , int sortMode)
-    {
+    static void sortFiles(File[] files, int sortMode) {
         // Should really change all this to a switch statement...
-        if( sortMode == SORT_AZ ){
-            Arrays.sort( files , new Comparator<File>() {
+        if (sortMode == SORT_AZ) {
+            Arrays.sort(files , new Comparator<File>() {
                 public int compare(File lhs, File rhs) {
-                    return lhs.getName().compareTo( rhs.getName() );
+                    return lhs.getName().compareTo(rhs.getName());
                 }
             });
             return;
         }
-        if( sortMode == SORT_ZA ){
-            Arrays.sort( files , new Comparator<File>() {
+        if (sortMode == SORT_ZA) {
+            Arrays.sort(files , new Comparator<File>() {
                 public int compare(File lhs, File rhs) {
-                    return rhs.getName().compareTo( lhs.getName() );
+                    return rhs.getName().compareTo(lhs.getName());
                 }
             });
             return;
         }
-        if( sortMode == SORT_OLDEST ){
-            Arrays.sort( files , new Comparator<File>() {
+        if (sortMode == SORT_OLDEST) {
+            Arrays.sort(files , new Comparator<File>() {
                 public int compare(File lhs, File rhs) {
-                    return Long.valueOf( lhs.lastModified() ).compareTo( rhs.lastModified() );
+                    return Long.valueOf(lhs.lastModified()).compareTo(rhs.lastModified());
                 }
             });
             return;
         }
-        if( sortMode == SORT_NEWEST ){
-            Arrays.sort( files , new Comparator<File>() {
+        if (sortMode == SORT_NEWEST) {
+            Arrays.sort(files , new Comparator<File>() {
                 public int compare(File lhs, File rhs) {
-                    return Long.valueOf( rhs.lastModified() ).compareTo( lhs.lastModified() );
+                    return Long.valueOf(rhs.lastModified()).compareTo(lhs.lastModified());
                 }
             });
             return;
         }
-        if( sortMode == SORT_LARGEST ){
-            Arrays.sort( files , new Comparator<File>() {
+        if (sortMode == SORT_LARGEST) {
+            Arrays.sort(files , new Comparator<File>() {
                 public int compare(File lhs, File rhs) {
-                    return Long.valueOf( rhs.length() ).compareTo( lhs.length() );
+                    return Long.valueOf(rhs.length()).compareTo(lhs.length());
                 }
             });
             return;
         }
-        if( sortMode == SORT_SMALLEST ){
-            Arrays.sort( files , new Comparator<File>() {
+        if (sortMode == SORT_SMALLEST) {
+            Arrays.sort(files , new Comparator<File>() {
                 public int compare(File lhs, File rhs) {
-                    return Long.valueOf( lhs.length() ).compareTo( rhs.length() );
+                    return Long.valueOf(lhs.length()).compareTo(rhs.length());
                 }
             });
             return;
@@ -256,33 +248,31 @@ public class FileUtilities {
         return;
     }
 
-    static boolean isHidden( File file ){
-        if( file.getName().startsWith(".") )
+    static boolean isHidden(File file) {
+        if (file.getName().startsWith("."))
             return true;
         return false;
     }
 
-    static boolean isThumbnail( File file ){
-        if( isHidden(file) && file.getName().endsWith(".png") )
+    static boolean isThumbnail(File file) {
+        if (isHidden(file) && file.getName().endsWith(".png"))
             return true;
         return false;
     }
 
-    static boolean hasThumbnail(File file)
-    {
+    static boolean hasThumbnail(File file) {
         String filename = file.getName();
-        if( lookupExtension( filename ) == DOC ) // only do this for docs for now
+        if (lookupExtension(filename) == DOC) // only do this for docs for now
         {
             // Will need another method to check if Thumb is up-to-date - or extend this one?
-            if( new File( file.getParent() , getThumbnailName( file ) ).isFile() )
+            if (new File(file.getParent() , getThumbnailName(file)).isFile())
                 return true;
             return false; // If it's a document with no thumb
         }
         return true;
     }
 
-    static String getThumbnailName( File file )
-    {
+    static String getThumbnailName(File file) {
         return "." + file.getName().split("[.]")[0] + ".png" ;
     }
 }
commit 620e40b37cabf52c53751246d4238116c7f8fae4
Author: Andras Timar <andras.timar at collabora.com>
Date:   Thu Apr 23 15:27:34 2015 +0200

    4 dict package names did not follow the rule
    
    Change-Id: Ibf430db9863577ef9e841cd2cdb446ebc513c659

diff --git a/setup_native/source/packinfo/packinfo_office.txt b/setup_native/source/packinfo/packinfo_office.txt
index 477013b..0eade32 100644
--- a/setup_native/source/packinfo/packinfo_office.txt
+++ b/setup_native/source/packinfo/packinfo_office.txt
@@ -616,7 +616,7 @@ Start
 module = "gid_Module_Root_Extension_Dictionary_Gd"
 solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-gd"
 solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTPRODUCTVERSION-core, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
-packagename = "%BASISPACKAGEPREFIX%PRODUCTVERSION-dict-gd"
+packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-gd"
 requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure %PACKAGEVERSION %PACKAGEVERSION-%PACKAGEREVISION,%BASISPACKAGEPREFIX%PRODUCTVERSION-core %PACKAGEVERSION %PACKAGEVERSION-%PACKAGEREVISION,%UNIXPACKAGENAME%BRANDPACKAGEVERSION %PACKAGEVERSION %PACKAGEVERSION-%PACKAGEREVISION"
 linuxpatchrequires = ""
 copyright = "2010 by Am Faclair Beag"
@@ -631,7 +631,7 @@ Start
 module = "gid_Module_Root_Extension_Dictionary_Gl"
 solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-gl"
 solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTPRODUCTVERSION-core, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
-packagename = "%BASISPACKAGEPREFIX%PRODUCTVERSION-dict-gl"
+packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-gl"
 requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure %PACKAGEVERSION %PACKAGEVERSION-%PACKAGEREVISION,%BASISPACKAGEPREFIX%PRODUCTVERSION-core %PACKAGEVERSION %PACKAGEVERSION-%PACKAGEREVISION,%UNIXPACKAGENAME%BRANDPACKAGEVERSION %PACKAGEVERSION %PACKAGEVERSION-%PACKAGEREVISION"
 linuxpatchrequires = ""
 copyright = "2015 The Document Foundation"
@@ -646,7 +646,7 @@ Start
 module = "gid_Module_Root_Extension_Dictionary_Gu"
 solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-gu"
 solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTPRODUCTVERSION-core, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
-packagename = "%BASISPACKAGEPREFIX%PRODUCTVERSION-dict-gu"
+packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-gu"
 requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure %PACKAGEVERSION %PACKAGEVERSION-%PACKAGEREVISION,%BASISPACKAGEPREFIX%PRODUCTVERSION-core %PACKAGEVERSION %PACKAGEVERSION-%PACKAGEREVISION,%UNIXPACKAGENAME%BRANDPACKAGEVERSION %PACKAGEVERSION %PACKAGEVERSION-%PACKAGEREVISION"
 linuxpatchrequires = ""
 copyright = "2009 by Kartik Mistry"
@@ -1081,7 +1081,7 @@ Start
 module = "gid_Module_Root_Extension_Dictionary_Vi"
 solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-vi"
 solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTPRODUCTVERSION-core, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
-packagename = "%BASISPACKAGEPREFIX%PRODUCTVERSION-dict-vi"
+packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-vi"
 requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure %PACKAGEVERSION %PACKAGEVERSION-%PACKAGEREVISION,%BASISPACKAGEPREFIX%PRODUCTVERSION-core %PACKAGEVERSION %PACKAGEVERSION-%PACKAGEREVISION,%UNIXPACKAGENAME%BRANDPACKAGEVERSION %PACKAGEVERSION %PACKAGEVERSION-%PACKAGEREVISION"
 linuxpatchrequires = ""
 copyright = "2015 The Document Foundation"
commit 42d34fe0ae1bad6aed441405ed423bbbd4335fb9
Author: Eike Rathke <erack at redhat.com>
Date:   Thu Apr 23 15:11:49 2015 +0200

    TableRef: doubleref is not possible as one column specifier
    
    Change-Id: Id29e6c8903979ef238c684d96fc47f72699b948a

diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index bec4b2e..61eeb76 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -5103,7 +5103,7 @@ bool ScCompiler::HandleTableRef()
                             eState = ((eState == sClose) ? sSep : sStop);
                             break;
                         case ocPush:
-                            if (eState == sOpen && (p->GetType() == svSingleRef || p->GetType() == svDoubleRef))
+                            if (eState == sOpen && p->GetType() == svSingleRef)
                             {
                                 bColumnRange = true;
                                 eState = sLast;
@@ -5155,11 +5155,6 @@ bool ScCompiler::HandleTableRef()
                             }
                         }
                         break;
-                    case svDoubleRef:
-                        {
-                            aColRange = mpToken->GetDoubleRef()->toAbs( aPos);
-                        }
-                        break;
                     default:
                         ;   // nothing
                 }
commit ce287a872ef435a207d4c22ddcccc60963165376
Author: Eike Rathke <erack at redhat.com>
Date:   Wed Apr 22 23:16:04 2015 +0200

    TableRef: proper unescapeTableRefColumnSpecifier()
    
    Change-Id: Id3b0a776f85b36c399a818ec1575a63ba250e318

diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index 19a0739..bec4b2e 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -3363,6 +3363,36 @@ bool ScCompiler::IsTableRefItem( const OUString& rName ) const
     return bItem;
 }
 
+namespace {
+OUString unescapeTableRefColumnSpecifier( const OUString& rStr )
+{
+    // '#', '[', ']' and '\'' are escaped with '\''
+
+    if (rStr.indexOf( '\'' ) < 0)
+        return rStr;
+
+    const sal_Int32 n = rStr.getLength();
+    OUStringBuffer aBuf( n );
+    const sal_Unicode* p = rStr.getStr();
+    const sal_Unicode* const pStop = p + n;
+    bool bEscaped = false;
+    for ( ; p < pStop; ++p)
+    {
+        const sal_Unicode c = *p;
+        if (bEscaped)
+        {
+            aBuf.append( c );
+            bEscaped = false;
+        }
+        else if (c == '\'')
+            bEscaped = true;    // unescaped escaping '\''
+        else
+            aBuf.append( c );
+    }
+    return aBuf.makeStringAndClear();
+}
+}
+
 bool ScCompiler::IsTableRefColumn( const OUString& rName ) const
 {
     // Only called when there actually is a current TableRef, hence
@@ -3374,8 +3404,7 @@ bool ScCompiler::IsTableRefColumn( const OUString& rName ) const
     if (!pDBData)
         return false;
 
-    // '#', '[', ']' and '\'' are escaped with '\''
-    OUString aName( rName.replaceAll( OUString("'"), OUString()));
+    OUString aName( unescapeTableRefColumnSpecifier( rName));
 
     ScRange aRange;
     pDBData->GetArea( aRange);
commit e9646512e62b9f74bd82307d054a6739cb4ac0d3
Author: Eike Rathke <erack at redhat.com>
Date:   Wed Apr 22 22:55:34 2015 +0200

    TableRef: create column specifier string from singleref
    
    Change-Id: Iac842f7a44240bf3da3fd2658f1ae05cac85ad7d

diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index 19d2cfc..19a0739 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -4476,8 +4476,36 @@ void ScCompiler::CreateStringFromMatrix( OUStringBuffer& rBuffer, const FormulaT
     rBuffer.append( mxSymbols->getSymbol(ocArrayClose) );
 }
 
+namespace {
+void escapeTableRefColumnSpecifier( OUString& rStr )
+{
+    const sal_Int32 n = rStr.getLength();
+    OUStringBuffer aBuf( n * 2 );
+    const sal_Unicode* p = rStr.getStr();
+    const sal_Unicode* const pStop = p + n;
+    for ( ; p < pStop; ++p)
+    {
+        const sal_Unicode c = *p;
+        switch (c)
+        {
+            case '\'':
+            case '[':
+            case '#':
+            case ']':
+                aBuf.append( '\'' );
+                break;
+            default:
+                ;   // nothing
+        }
+        aBuf.append( c );
+    }
+    rStr = aBuf.makeStringAndClear();
+}
+}
+
 void ScCompiler::CreateStringFromSingleRef( OUStringBuffer& rBuffer, const FormulaToken* _pTokenP ) const
 {
+    const FormulaToken* p;
     OUString aErrRef = GetCurrentOpCodeMap()->getSymbol(ocErrRef);
     const OpCode eOp = _pTokenP->GetOpCode();
     const ScSingleRefData& rRef = *_pTokenP->GetSingleRef();
@@ -4499,6 +4527,13 @@ void ScCompiler::CreateStringFromSingleRef( OUStringBuffer& rBuffer, const Formu
                               GetSetupTabNames(), aRef, true);
         }
     }
+    else if ((p = pArr->PeekPrevNoSpaces()) && p->GetOpCode() == ocTableRefOpen)
+    {
+        ScAddress aAbs = rRef.toAbs(aPos);
+        OUString aStr = pDoc->GetString(aAbs);
+        escapeTableRefColumnSpecifier( aStr);
+        rBuffer.append(aStr);
+    }
     else
         pConv->makeRefStr(rBuffer, meGrammar, aPos, aErrRef,
                           GetSetupTabNames(), aRef, true);
commit 97539f5eb1d1f6ba3349bdfcbd71b8256370a783
Author: Eike Rathke <erack at redhat.com>
Date:   Wed Apr 22 22:06:27 2015 +0200

    TableRef: let t always point to the current token
    
    Change-Id: Ic7f8dedd8967f1f1fc0025cb2bc3e6c3fda022fd

diff --git a/formula/source/core/api/FormulaCompiler.cxx b/formula/source/core/api/FormulaCompiler.cxx
index e8b2470..515c1fa 100644
--- a/formula/source/core/api/FormulaCompiler.cxx
+++ b/formula/source/core/api/FormulaCompiler.cxx
@@ -1872,16 +1872,16 @@ const FormulaToken* FormulaCompiler::CreateStringFromToken( OUStringBuffer& rBuf
                 {
                     // Suppress all TableRef related tokens, the resulting
                     // range was written by CreateStringFromIndex().
-                    const FormulaToken* p = pArr->PeekNext();
+                    const FormulaToken* const p = pArr->PeekNext();
                     if (p && p->GetOpCode() == ocTableRefOpen)
                     {
-                        p = pArr->Next();
+                        t = pArr->Next();
                         int nLevel = 0;
                         do
                         {
                             // Switch cases correspond with those in
                             // ScCompiler::HandleTableRef()
-                            switch (p->GetOpCode())
+                            switch (t->GetOpCode())
                             {
                                 case ocTableRefOpen:
                                     ++nLevel;
@@ -1903,7 +1903,7 @@ const FormulaToken* FormulaCompiler::CreateStringFromToken( OUStringBuffer& rBuf
                                     nLevel = 0;
                                     bNext = false;
                             }
-                        } while (nLevel && (p = pArr->Next()));
+                        } while (nLevel && (t = pArr->Next()));
                     }
                 }
                 break;
commit 18cfc7c2d2ea2bad17a07bf8975fd7b9200850b3
Author: Eike Rathke <erack at redhat.com>
Date:   Wed Apr 22 21:45:35 2015 +0200

    PeekNext() might be NULL
    
    Change-Id: I2b63e99d25e00b0021986a89dce75f3f678ecb85

diff --git a/formula/source/core/api/FormulaCompiler.cxx b/formula/source/core/api/FormulaCompiler.cxx
index c8e4678..e8b2470 100644
--- a/formula/source/core/api/FormulaCompiler.cxx
+++ b/formula/source/core/api/FormulaCompiler.cxx
@@ -1873,7 +1873,7 @@ const FormulaToken* FormulaCompiler::CreateStringFromToken( OUStringBuffer& rBuf
                     // Suppress all TableRef related tokens, the resulting
                     // range was written by CreateStringFromIndex().
                     const FormulaToken* p = pArr->PeekNext();
-                    if (p->GetOpCode() == ocTableRefOpen)
+                    if (p && p->GetOpCode() == ocTableRefOpen)
                     {
                         p = pArr->Next();
                         int nLevel = 0;
commit 812d125a5421a0dc2e99aa75c6059f5de588c281
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Apr 23 15:10:31 2015 +0200

    loplugin:staticcall
    
    Change-Id: I7dfe5b8f6d87db5f0f70bd16e45c4d0bd4a72da2

diff --git a/connectivity/source/drivers/evoab2/NStatement.cxx b/connectivity/source/drivers/evoab2/NStatement.cxx
index fa7040c..c824188 100644
--- a/connectivity/source/drivers/evoab2/NStatement.cxx
+++ b/connectivity/source/drivers/evoab2/NStatement.cxx
@@ -421,14 +421,14 @@ OUString OCommonStatement::getTableName()
         const OSQLParseNode *pSelectStmnt = m_aSQLIterator.getParseTree();
         const OSQLParseNode *pAllTableNames = pSelectStmnt->getChild( 3 )->getChild( 0 )->getChild( 1 );
 
-        if( m_aSQLIterator.isTableNode( pAllTableNames->getChild( 0 ) ) )
+        if( OSQLParseTreeIterator::isTableNode( pAllTableNames->getChild( 0 ) ) )
             OSQLParseNode::getTableComponents( pAllTableNames->getChild( 0 ),
                                                aCatalog,aSchema, aTableName,NULL );
 
         else if( SQL_ISRULE( pAllTableNames->getChild( 0 ), table_ref ) )
         {
             OSQLParseNode *pNodeForTableName = pAllTableNames->getChild( 0 )->getChild( 0 );
-            if( m_aSQLIterator.isTableNode( pNodeForTableName ) )
+            if( OSQLParseTreeIterator::isTableNode( pNodeForTableName ) )
             {
                 aTableName = OSQLParseNode::getTableRange(pAllTableNames->getChild( 0 ));
                 if( !aTableName.getLength() )
commit 870a7ee60ab01246ad8d9beae5705f59c6b73cbf
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Apr 23 13:47:29 2015 +0100

    fix duplicate attribute export to docx with ooo69297-4.odt
    
    Change-Id: I193099d7fffc160f0198e3d42d5d6fd5835c79cf

diff --git a/sw/qa/extras/ooxmlexport/data/duplicate-east-asia.odt b/sw/qa/extras/ooxmlexport/data/duplicate-east-asia.odt
new file mode 100644
index 0000000..22b8a55
Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/duplicate-east-asia.odt differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport5.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport5.cxx
index 80c9c708..6964c90 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport5.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport5.cxx
@@ -106,10 +106,18 @@ DECLARE_OOXMLEXPORT_TEST(testDecimalNumberingNoLeveltext, "decimal-numbering-no-
         assertXPath (pXmlDoc, "/w:numbering/w:abstractNum[1]/w:lvl[1]/w:lvlText","val", "");
 }
 
+DECLARE_OOXMLEXPORT_TEST(testNoDuplicateAttributeExport, "duplicate-east-asia.odt")
+{
+    // File asserting while saving in LO.
+    xmlDocPtr pXmlDoc = parseExport("word/document.xml");
+    if (!pXmlDoc)
+        return;
+}
+
 DECLARE_OOXMLEXPORT_TEST(testfdo79008, "fdo79008.docx")
 {
-    /* File getting crash while saving in LO.
-     * Checking if document.xml file is getting created after fix
+    /* File crashing while saving in LO.
+     * Check if document.xml file is created after fix
      */
     xmlDocPtr pXmlDoc = parseExport("word/document.xml");
     if (!pXmlDoc)
diff --git a/sw/source/filter/ww8/wrtw8esh.cxx b/sw/source/filter/ww8/wrtw8esh.cxx
index 97131c0..b730615 100644
--- a/sw/source/filter/ww8/wrtw8esh.cxx
+++ b/sw/source/filter/ww8/wrtw8esh.cxx
@@ -1169,9 +1169,30 @@ void MSWord_SdrAttrIter::OutEEField(const SfxPoolItem& rHt)
 
 void MSWord_SdrAttrIter::OutAttr( sal_Int32 nSwPos )
 {
-    OutParaAttr(true);
+    //Collect the which ids belong to the run that we will export after
+    //outputting the underlying paragraph attributes. We will exclude
+    //writing these from the underlying paragraph attributes to avoid
+    //duplicate attributes in docx export. Doesn't matter in doc
+    //export as later props just override earlier ones.
+    std::set<sal_uInt16> aUsedRunWhichs;
+    if (!aTxtAtrArr.empty())
+    {
+        for(std::vector<EECharAttrib>::const_iterator i = aTxtAtrArr.begin(); i < aTxtAtrArr.end(); ++i)
+        {
+            if (nSwPos >= i->nStart && nSwPos < i->nEnd)
+            {
+                sal_uInt16 nWhich = i->pAttr->Which();
+                aUsedRunWhichs.insert(nWhich);
+            }
+
+            if( nSwPos < i->nStart )
+                break;
+        }
+    }
 
-    if(!aTxtAtrArr.empty())
+    OutParaAttr(true, &aUsedRunWhichs);
+
+    if (!aTxtAtrArr.empty())
     {
         const SwModify* pOldMod = m_rExport.pOutFmtNode;
         m_rExport.pOutFmtNode = 0;
@@ -1281,7 +1302,7 @@ const SfxPoolItem& MSWord_SdrAttrIter::GetItem( sal_uInt16 nWhich ) const
     return *pRet;
 }
 
-void MSWord_SdrAttrIter::OutParaAttr(bool bCharAttr)
+void MSWord_SdrAttrIter::OutParaAttr(bool bCharAttr, const std::set<sal_uInt16>* pWhichsToIgnore)
 {
     SfxItemSet aSet( pEditObj->GetParaAttribs( nPara ));
     if( aSet.Count() )
@@ -1295,9 +1316,14 @@ void MSWord_SdrAttrIter::OutParaAttr(bool bCharAttr)
         const SfxItemPool* pSrcPool = pEditPool,
                          * pDstPool = &m_rExport.pDoc->GetAttrPool();
 
-        do {
-            sal_uInt16 nWhich = pItem->Which(),
-                   nSlotId = pSrcPool->GetSlotId( nWhich );
+        do
+        {
+            sal_uInt16 nWhich = pItem->Which();
+
+            if (pWhichsToIgnore && pWhichsToIgnore->find(nWhich) != pWhichsToIgnore->end())
+                continue;
+
+            sal_uInt16 nSlotId = pSrcPool->GetSlotId(nWhich);
 
             if ( nSlotId && nWhich != nSlotId &&
                  0 != ( nWhich = pDstPool->GetWhich( nSlotId ) ) &&
diff --git a/sw/source/filter/ww8/wrtww8.hxx b/sw/source/filter/ww8/wrtww8.hxx
index 372789b..9b367c0 100644
--- a/sw/source/filter/ww8/wrtww8.hxx
+++ b/sw/source/filter/ww8/wrtww8.hxx
@@ -1452,7 +1452,7 @@ public:
     MSWord_SdrAttrIter( MSWordExportBase& rWr, const EditTextObject& rEditObj,
         sal_uInt8 nType );
     void NextPara( sal_Int32 nPar );
-    void OutParaAttr(bool bCharAttr);
+    void OutParaAttr(bool bCharAttr, const std::set<sal_uInt16>* pWhichsToIgnore = NULL);
     void OutEEField(const SfxPoolItem& rHt);
 
     bool IsTxtAttr(sal_Int32 nSwPos);
commit c3452e6702172b47874e8977a48715f2a74bfe12
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu Apr 23 14:50:07 2015 +0300

    More informative error message after dlopen() or LoadLibrary() has failed
    
    Change-Id: Iedf956c9bd78d1d23e5ee68772a000f90a39810e
    Reviewed-on: https://gerrit.libreoffice.org/15492
    Reviewed-by: Tor Lillqvist <tml at collabora.com>
    Tested-by: Tor Lillqvist <tml at collabora.com>

diff --git a/include/LibreOfficeKit/LibreOfficeKitInit.h b/include/LibreOfficeKit/LibreOfficeKitInit.h
index 8730ef0..4230cd0 100644
--- a/include/LibreOfficeKit/LibreOfficeKitInit.h
+++ b/include/LibreOfficeKit/LibreOfficeKitInit.h
@@ -49,6 +49,11 @@ extern "C"
                       );
     }
 
+    char *_dlerror(void)
+    {
+        return dlerror();
+    }
+
     void *_dlsym(void *Hnd, const char *pName)
     {
         return dlsym(Hnd, pName);
@@ -77,6 +82,13 @@ extern "C"
         return (void *) LoadLibrary(pFN);
     }
 
+    char *_dlerror(void)
+    {
+        LPSTR buf = NULL;
+        FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, GetLastError(), 0, reinterpret_cast<LPSTR>(&buf), 0, NULL);
+        return buf;
+    }
+
     void *_dlsym(void *Hnd, const char *pName)
     {
         return GetProcAddress((HINSTANCE) Hnd, pName);
@@ -165,8 +177,8 @@ static LibreOfficeKit *lok_init_2( const char *install_path,  const char *user_p
         dlhandle = _dlopen(imp_lib);
         if (!dlhandle)
         {
-            fprintf(stderr, "failed to open library '%s' or '%s' in '%s/'\n",
-                    TARGET_LIB, TARGET_MERGED_LIB, install_path);
+            fprintf(stderr, "failed to open library '%s' or '%s' in '%s/': %s\n",
+                    TARGET_LIB, TARGET_MERGED_LIB, install_path, _dlerror());
             free(imp_lib);
             return NULL;
         }
commit 5ad298250913412d65a969a0b73d01962c01f55d
Author: Noel Grandin <noel at peralex.com>
Date:   Thu Apr 23 13:21:50 2015 +0200

    fix windows build
    
    caused by my commit a880ec813114c204303a5b2a27909ab7f9e027de
    "loplugin:staticmethods"
    
    Change-Id: I525ed6f6e4f82af58de2c994a610e00f49241bfa

diff --git a/extensions/source/scanner/scanner.hxx b/extensions/source/scanner/scanner.hxx
index 502468c..2a77acc 100644
--- a/extensions/source/scanner/scanner.hxx
+++ b/extensions/source/scanner/scanner.hxx
@@ -48,7 +48,7 @@ protected:
     void*                                   mpData;
 
     static void                             AcquireData();
-    static void                             ReleaseData();
+    void                                    ReleaseData();
 
 public:
 
commit 7ab8b08b6c8e7eb05e8ec8dde2afbe0940075f36
Author: Noel Grandin <noel at peralex.com>
Date:   Wed Apr 22 15:17:23 2015 +0200

    loplugin:staticmethods
    
    Change-Id: Iab2f10b000ef41fb090e0034785d4ed0bda4cf43

diff --git a/chart2/source/controller/chartapiwrapper/AreaWrapper.cxx b/chart2/source/controller/chartapiwrapper/AreaWrapper.cxx
index 4a1c94d..ceddbaf 100644
--- a/chart2/source/controller/chartapiwrapper/AreaWrapper.cxx
+++ b/chart2/source/controller/chartapiwrapper/AreaWrapper.cxx
@@ -52,7 +52,7 @@ struct StaticAreaWrapperPropertyArray_Initializer
     }
 
 private:
-    Sequence< Property > lcl_GetPropertySequence()
+    static Sequence< Property > lcl_GetPropertySequence()
     {
         ::std::vector< ::com::sun::star::beans::Property > aProperties;
         ::chart::LinePropertiesHelper::AddPropertiesToVector( aProperties );
diff --git a/chart2/source/controller/chartapiwrapper/AxisWrapper.cxx b/chart2/source/controller/chartapiwrapper/AxisWrapper.cxx
index 20889b2..ee32f16 100644
--- a/chart2/source/controller/chartapiwrapper/AxisWrapper.cxx
+++ b/chart2/source/controller/chartapiwrapper/AxisWrapper.cxx
@@ -367,7 +367,7 @@ struct StaticAxisWrapperPropertyArray_Initializer
     }
 
 private:
-    Sequence< Property > lcl_GetPropertySequence()
+    static Sequence< Property > lcl_GetPropertySequence()
     {
         ::std::vector< ::com::sun::star::beans::Property > aProperties;
         lcl_AddPropertiesToVector( aProperties );
diff --git a/chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx b/chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx
index b0d009c..2c2663e 100644
--- a/chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx
+++ b/chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx
@@ -249,7 +249,7 @@ struct StaticChartDocumentWrapperPropertyArray_Initializer
     }
 
 private:
-    uno::Sequence< Property > lcl_GetPropertySequence()
+    static uno::Sequence< Property > lcl_GetPropertySequence()
     {
         ::std::vector< ::com::sun::star::beans::Property > aProperties;
         lcl_AddPropertiesToVector( aProperties );
diff --git a/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx b/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx
index 50163df..1c0d37b 100644
--- a/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx
+++ b/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx
@@ -459,7 +459,7 @@ struct StaticDiagramWrapperPropertyArray_Initializer
     }
 
 private:
-    uno::Sequence< Property > lcl_GetPropertySequence()
+    static uno::Sequence< Property > lcl_GetPropertySequence()
     {
         ::std::vector< ::com::sun::star::beans::Property > aProperties;
         lcl_AddPropertiesToVector( aProperties );
diff --git a/chart2/source/controller/chartapiwrapper/GridWrapper.cxx b/chart2/source/controller/chartapiwrapper/GridWrapper.cxx
index b1a2ec4..e6ea629 100644
--- a/chart2/source/controller/chartapiwrapper/GridWrapper.cxx
+++ b/chart2/source/controller/chartapiwrapper/GridWrapper.cxx
@@ -55,7 +55,7 @@ struct StaticGridWrapperPropertyArray_Initializer
         return &aPropSeq;
     }
 private:
-    Sequence< Property > lcl_GetPropertySequence()
+    static Sequence< Property > lcl_GetPropertySequence()
     {
         ::std::vector< ::com::sun::star::beans::Property > aProperties;
         ::chart::LinePropertiesHelper::AddPropertiesToVector( aProperties );
diff --git a/chart2/source/controller/chartapiwrapper/LegendWrapper.cxx b/chart2/source/controller/chartapiwrapper/LegendWrapper.cxx
index 7fcb53c..755b78e 100644
--- a/chart2/source/controller/chartapiwrapper/LegendWrapper.cxx
+++ b/chart2/source/controller/chartapiwrapper/LegendWrapper.cxx
@@ -246,7 +246,7 @@ struct StaticLegendWrapperPropertyArray_Initializer
     }
 
 private:
-    Sequence< Property > lcl_GetPropertySequence()
+    static Sequence< Property > lcl_GetPropertySequence()
     {
         ::std::vector< ::com::sun::star::beans::Property > aProperties;
         lcl_AddPropertiesToVector( aProperties );
diff --git a/chart2/source/controller/chartapiwrapper/MinMaxLineWrapper.cxx b/chart2/source/controller/chartapiwrapper/MinMaxLineWrapper.cxx

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list