[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-5.0' - 134 commits - accessibility/inc basic/source configure.ac dbaccess/source desktop/unx editeng/source external/firebird external/hunspell extras/source filter/source formula/source fpicker/Library_fps_office.mk fpicker/source fpicker/uiconfig fpicker/UIConfig_fps.mk framework/inc framework/Library_fwk.mk framework/source framework/util icon-themes/breeze icon-themes/crystal icon-themes/galaxy icon-themes/hicontrast icon-themes/human icon-themes/industrial icon-themes/oxygen icon-themes/sifr icon-themes/tango icon-themes/tango_testing include/oox include/sax include/sfx2 include/svtools include/svx include/vcl instsetoo_native/CustomTarget_install.mk lotuswordpro/source officecfg/registry oox/source readlicense_oo/license sal/osl sax/source sc/inc scp2/source sc/qa sc/source sc/uiconfig sd/CppunitTest_sd_import_tests.mk sd/qa sd/source sd/uiconfig sfx2/sdi sfx2/source sfx2/uiconfig svl/source svtools/Library_svt.mk svtools/source sv tools/uiconfig svx/sdi svx/source sw/inc sw/qa sw/source sw/uiconfig ucb/source uui/source uui/uiconfig vcl/generic vcl/inc vcl/opengl vcl/qa vcl/source vcl/unx vcl/win wizards/com writerfilter/source writerperfect/source xmloff/source
Yousuf Philips
philipz85 at hotmail.com
Mon Oct 19 00:32:39 PDT 2015
accessibility/inc/accessibility/extended/AccessibleGridControlBase.hxx | 10
accessibility/inc/accessibility/extended/AccessibleGridControlHeaderCell.hxx | 5
accessibility/inc/accessibility/extended/accessibletablistboxtable.hxx | 4
accessibility/inc/accessibility/helper/IComboListBoxHelper.hxx | 1
accessibility/inc/accessibility/helper/listboxhelper.hxx | 5
accessibility/inc/accessibility/standard/accessiblemenubasecomponent.hxx | 24
accessibility/inc/accessibility/standard/vclxaccessiblebox.hxx | 2
accessibility/inc/accessibility/standard/vclxaccessiblelistitem.hxx | 2
accessibility/inc/accessibility/standard/vclxaccessibletoolboxitem.hxx | 2
basic/source/classes/sbxmod.cxx | 44
basic/source/inc/filefmt.hxx | 3
configure.ac | 2
dbaccess/source/core/misc/dsntypes.cxx | 1
dbaccess/source/inc/dsntypes.hxx | 1
dbaccess/source/ui/querydesign/TableWindowTitle.cxx | 6
desktop/unx/source/splashx.c | 4
dev/null |binary
editeng/source/editeng/edtspell.cxx | 6
external/firebird/firebird-macosx.patch.1 | 9
external/hunspell/UnpackedTarball_hunspell.mk | 1
external/hunspell/hunspell-tdf95024-compound.patch | 108
extras/source/autocorr/lang/bg/DocumentList.xml | 28
extras/source/autocorr/lang/ca/DocumentList.xml | 15
extras/source/autocorr/lang/de/DocumentList.xml | 24
extras/source/autocorr/lang/en-AU/DocumentList.xml | 24
extras/source/autocorr/lang/en-US/DocumentList.xml | 24
extras/source/autocorr/lang/es/DocumentList.xml | 74
extras/source/autocorr/lang/fi/DocumentList.xml | 24
extras/source/autocorr/lang/is/DocumentList.xml | 592 +
extras/source/autocorr/lang/it/DocumentList.xml | 24
extras/source/autocorr/lang/pl/DocumentList.xml | 14
extras/source/autocorr/lang/pt-BR/DocumentList.xml | 24
extras/source/autocorr/lang/pt/DocumentList.xml | 24
extras/source/autocorr/lang/sv/DocumentList.xml | 119
extras/source/autocorr/lang/zh-CN/DocumentList.xml | 7
extras/source/truetype/symbol/OpenSymbol.sfd | 14
extras/source/truetype/symbol/opens___.ttf |binary
filter/source/config/cache/typedetection.cxx | 16
formula/source/ui/dlg/funcutl.cxx | 6
fpicker/Library_fps_office.mk | 1
fpicker/UIConfig_fps.mk | 1
fpicker/source/office/OfficeFilePicker.cxx | 79
fpicker/source/office/OfficeFilePicker.hxx | 39
fpicker/source/office/OfficeFolderPicker.cxx | 2
fpicker/source/office/OfficeFolderPicker.hxx | 2
fpicker/source/office/PlacesListBox.cxx | 17
fpicker/source/office/PlacesListBox.hxx | 6
fpicker/source/office/RemoteFilesDialog.cxx | 1498 ++++
fpicker/source/office/RemoteFilesDialog.hxx | 215
fpicker/source/office/asyncfilepicker.cxx | 2
fpicker/source/office/asyncfilepicker.hxx | 6
fpicker/source/office/commonpicker.hxx | 8
fpicker/source/office/fpdialogbase.hxx | 120
fpicker/source/office/fps_office.component | 3
fpicker/source/office/fps_office.cxx | 6
fpicker/source/office/fpsmartcontent.hxx | 2
fpicker/source/office/fpsofficeResMgr.hxx | 2
fpicker/source/office/iodlg.cxx | 104
fpicker/source/office/iodlg.hxx | 154
fpicker/source/office/iodlg.src | 10
fpicker/source/office/iodlgimp.hxx | 6
fpicker/uiconfig/ui/explorerfiledialog.ui | 2
fpicker/uiconfig/ui/remotefilesdialog.ui | 285
framework/Library_fwk.mk | 1
framework/inc/classes/resource.hrc | 3
framework/source/classes/resource.src | 15
framework/source/fwe/helper/titlehelper.cxx | 13
framework/source/uielement/menubarmanager.cxx | 58
framework/source/uielement/recentfilesmenucontroller.cxx | 20
framework/source/uielement/saveasmenucontroller.cxx | 192
framework/util/fwk.component | 4
icon-themes/breeze/chart2/res/areas3d_52x60.png |binary
icon-themes/breeze/chart2/res/areas_52x60.png |binary
icon-themes/breeze/chart2/res/areasfull3d_52x60.png |binary
icon-themes/breeze/chart2/res/areasfull_52x60.png |binary
icon-themes/breeze/chart2/res/areaspiled3d_52x60.png |binary
icon-themes/breeze/chart2/res/areaspiled_52x60.png |binary
icon-themes/breeze/chart2/res/bar3d_52x60.png |binary
icon-themes/breeze/chart2/res/bar3ddeep_52x60.png |binary
icon-themes/breeze/chart2/res/bar_52x60.png |binary
icon-themes/breeze/chart2/res/barpercent3d_52x60.png |binary
icon-themes/breeze/chart2/res/barpercent_52x60.png |binary
icon-themes/breeze/chart2/res/barstack3d_52x60.png |binary
icon-themes/breeze/chart2/res/barstack_52x60.png |binary
icon-themes/breeze/chart2/res/bubble_52x60.png |binary
icon-themes/breeze/chart2/res/columnline_52x60.png |binary
icon-themes/breeze/chart2/res/columnpercent3d_52x60.png |binary
icon-themes/breeze/chart2/res/columnpercent_52x60.png |binary
icon-themes/breeze/chart2/res/columns3d_52x60.png |binary
icon-themes/breeze/chart2/res/columns3ddeep_52x60.png |binary
icon-themes/breeze/chart2/res/columns_52x60.png |binary
icon-themes/breeze/chart2/res/columnstack3d_52x60.png |binary
icon-themes/breeze/chart2/res/columnstack_52x60.png |binary
icon-themes/breeze/chart2/res/columnstackline_52x60.png |binary
icon-themes/breeze/chart2/res/conedeep_52x60.png |binary
icon-themes/breeze/chart2/res/conehorideep_52x60.png |binary
icon-themes/breeze/chart2/res/conehoripercent_52x60.png |binary
icon-themes/breeze/chart2/res/conehoristack_52x60.png |binary
icon-themes/breeze/chart2/res/conepercent_52x60.png |binary
icon-themes/breeze/chart2/res/conestack_52x60.png |binary
icon-themes/breeze/chart2/res/cylinder_52x60.png |binary
icon-themes/breeze/chart2/res/cylinderdeep_52x60.png |binary
icon-themes/breeze/chart2/res/cylinderhori_52x60.png |binary
icon-themes/breeze/chart2/res/cylinderhorideep_52x60.png |binary
icon-themes/breeze/chart2/res/cylinderhoriprocent_52x60.png |binary
icon-themes/breeze/chart2/res/cylinderhoristack_52x60.png |binary
icon-themes/breeze/chart2/res/cylinderpercent_52x60.png |binary
icon-themes/breeze/chart2/res/cylinderstack_52x60.png |binary
icon-themes/breeze/chart2/res/donut3d_52x60.png |binary
icon-themes/breeze/chart2/res/donut3dexploded_52x60.png |binary
icon-themes/breeze/chart2/res/donut_52x60.png |binary
icon-themes/breeze/chart2/res/donutexploded_52x60.png |binary
icon-themes/breeze/chart2/res/net_52x60.png |binary
icon-themes/breeze/chart2/res/netfill_52x60.png |binary
icon-themes/breeze/chart2/res/netlinepoint_52x60.png |binary
icon-themes/breeze/chart2/res/netlinepointstack_52x60.png |binary
icon-themes/breeze/chart2/res/netpoint_52x60.png |binary
icon-themes/breeze/chart2/res/netpointstack_52x60.png |binary
icon-themes/breeze/chart2/res/netstack_52x60.png |binary
icon-themes/breeze/chart2/res/netstackfill_52x60.png |binary
icon-themes/breeze/chart2/res/nostackdirect3d_52x60.png |binary
icon-themes/breeze/chart2/res/nostackdirectboth_52x60.png |binary
icon-themes/breeze/chart2/res/nostackdirectlines_52x60.png |binary
icon-themes/breeze/chart2/res/nostackdirectpoints_52x60.png |binary
icon-themes/breeze/chart2/res/nostackstepped3d_52x60.png |binary
icon-themes/breeze/chart2/res/nostacksteppedboth_52x60.png |binary
icon-themes/breeze/chart2/res/nostacksteppedlines_52x60.png |binary
icon-themes/breeze/chart2/res/pie3d_52x60.png |binary
icon-themes/breeze/chart2/res/pie3dexploded_52x60.png |binary
icon-themes/breeze/chart2/res/pie_52x60.png |binary
icon-themes/breeze/chart2/res/pieexploded_52x60.png |binary
icon-themes/breeze/chart2/res/typebar_16.png |binary
icon-themes/breeze/chart2/res/typecolumn_16.png |binary
icon-themes/breeze/chart2/res/valueaxisdirect3d_52x60.png |binary
icon-themes/breeze/chart2/res/valueaxisdirectboth_52x60.png |binary
icon-themes/breeze/chart2/res/valueaxisdirectlines_52x60.png |binary
icon-themes/breeze/chart2/res/valueaxisdirectpoints_52x60.png |binary
icon-themes/breeze/cmd/lc_addprintarea.png |binary
icon-themes/breeze/cmd/lc_addtable.png |binary
icon-themes/breeze/cmd/lc_bezierinsert.png |binary
icon-themes/breeze/cmd/lc_borderdialog.png |binary
icon-themes/breeze/cmd/lc_changecasetolower.png |binary
icon-themes/breeze/cmd/lc_changecasetoupper.png |binary
icon-themes/breeze/cmd/lc_combobox.png |binary
icon-themes/breeze/cmd/lc_config.png |binary
icon-themes/breeze/cmd/lc_contourdialog.png |binary
icon-themes/breeze/cmd/lc_datadatapilotrun.png |binary
icon-themes/breeze/cmd/lc_dataranges.png |binary
icon-themes/breeze/cmd/lc_dbdtableedit.png |binary
icon-themes/breeze/cmd/lc_dbnewform.png |binary
icon-themes/breeze/cmd/lc_dbnewquery.png |binary
icon-themes/breeze/cmd/lc_dbnewreport.png |binary
icon-themes/breeze/cmd/lc_dbnewtable.png |binary
icon-themes/breeze/cmd/lc_dbtableedit.png |binary
icon-themes/breeze/cmd/lc_deletetable.png |binary
icon-themes/breeze/cmd/lc_designerdialog.png |binary
icon-themes/breeze/cmd/lc_diagramarea.png |binary
icon-themes/breeze/cmd/lc_diagramaxisx.png |binary
icon-themes/breeze/cmd/lc_diagramaxisxyz.png |binary
icon-themes/breeze/cmd/lc_diagramaxisy.png |binary
icon-themes/breeze/cmd/lc_diagramaxisz.png |binary
icon-themes/breeze/cmd/lc_diagramdata.png |binary
icon-themes/breeze/cmd/lc_diagramwall.png |binary
icon-themes/breeze/cmd/lc_draw.png |binary
icon-themes/breeze/cmd/lc_drawchart.png |binary
icon-themes/breeze/cmd/lc_drawtext.png |binary
icon-themes/breeze/cmd/lc_edithyperlink.png |binary
icon-themes/breeze/cmd/lc_editstyle.png |binary
icon-themes/breeze/cmd/lc_fontdialog.png |binary
icon-themes/breeze/cmd/lc_fontheight.png |binary
icon-themes/breeze/cmd/lc_fontworkgalleryfloater.png |binary
icon-themes/breeze/cmd/lc_formatselection.png |binary
icon-themes/breeze/cmd/lc_formdesigntools.png |binary
icon-themes/breeze/cmd/lc_freezepanes.png |binary
icon-themes/breeze/cmd/lc_goalseekdialog.png |binary
icon-themes/breeze/cmd/lc_grow.png |binary
icon-themes/breeze/cmd/lc_hideslide.png |binary
icon-themes/breeze/cmd/lc_hyperlinkdialog.png |binary
icon-themes/breeze/cmd/lc_iconsetformatdialog.png |binary
icon-themes/breeze/cmd/lc_importdialog.png |binary
icon-themes/breeze/cmd/lc_importfromfile.png |binary
icon-themes/breeze/cmd/lc_inscellsctrl.png |binary
icon-themes/breeze/cmd/lc_insertbookmark.png |binary
icon-themes/breeze/cmd/lc_insertcolumns.png |binary
icon-themes/breeze/cmd/lc_insertcolumnsafter.png |binary
icon-themes/breeze/cmd/lc_insertcolumnsbefore.png |binary
icon-themes/breeze/cmd/lc_insertctrl.png |binary
icon-themes/breeze/cmd/lc_insertdraw.png |binary
icon-themes/breeze/cmd/lc_insertendnote.png |binary
icon-themes/breeze/cmd/lc_insertformcombo.png |binary
icon-themes/breeze/cmd/lc_insertgraphic.png |binary
icon-themes/breeze/cmd/lc_inserthyperlink.png |binary
icon-themes/breeze/cmd/lc_insertmath.png |binary
icon-themes/breeze/cmd/lc_insertmenutitles.png |binary
icon-themes/breeze/cmd/lc_insertobject.png |binary
icon-themes/breeze/cmd/lc_insertobjectchart.png |binary
icon-themes/breeze/cmd/lc_insertobjectdialog.png |binary
icon-themes/breeze/cmd/lc_insertpage.png |binary
icon-themes/breeze/cmd/lc_insertrowsafter.png |binary
icon-themes/breeze/cmd/lc_insertsymbol.png |binary
icon-themes/breeze/cmd/lc_inserttable.png |binary
icon-themes/breeze/cmd/lc_legend.png |binary
icon-themes/breeze/cmd/lc_modifypage.png |binary
icon-themes/breeze/cmd/lc_moduledialog.png |binary
icon-themes/breeze/cmd/lc_morecontrols.png |binary
icon-themes/breeze/cmd/lc_movepagedown.png |binary
icon-themes/breeze/cmd/lc_movepagefirst.png |binary
icon-themes/breeze/cmd/lc_movepagelast.png |binary
icon-themes/breeze/cmd/lc_movepageup.png |binary
icon-themes/breeze/cmd/lc_newdoc.png |binary
icon-themes/breeze/cmd/lc_numberformatpercent.png |binary
icon-themes/breeze/cmd/lc_objectcatalog.png |binary
icon-themes/breeze/cmd/lc_ordercrit.png |binary
icon-themes/breeze/cmd/lc_outlinedown.png |binary
icon-themes/breeze/cmd/lc_outlineformat.png |binary
icon-themes/breeze/cmd/lc_outlineleft.png |binary
icon-themes/breeze/cmd/lc_outlineright.png |binary
icon-themes/breeze/cmd/lc_outlineup.png |binary
icon-themes/breeze/cmd/lc_overline.png |binary
icon-themes/breeze/cmd/lc_paragraphdialog.png |binary
icon-themes/breeze/cmd/lc_presentationcurrentslide.png |binary
icon-themes/breeze/cmd/lc_print.png |binary
icon-themes/breeze/cmd/lc_printdefault.png |binary
icon-themes/breeze/cmd/lc_printersetup.png |binary
icon-themes/breeze/cmd/lc_protect.png |binary
icon-themes/breeze/cmd/lc_removehyperlink.png |binary
icon-themes/breeze/cmd/lc_scaletext.png |binary
icon-themes/breeze/cmd/lc_shadowed.png |binary
icon-themes/breeze/cmd/lc_shrink.png |binary
icon-themes/breeze/cmd/lc_sortascending.png |binary
icon-themes/breeze/cmd/lc_sortdescending.png |binary
icon-themes/breeze/cmd/lc_spacepara1.png |binary
icon-themes/breeze/cmd/lc_spacepara15.png |binary
icon-themes/breeze/cmd/lc_spacepara2.png |binary
icon-themes/breeze/cmd/lc_starchartdialog.png |binary
icon-themes/breeze/cmd/lc_starshapes.signet.png |binary
icon-themes/breeze/cmd/lc_stylenewbyexample.png |binary
icon-themes/breeze/cmd/lc_styleupdatebyexample.png |binary
icon-themes/breeze/cmd/lc_subscript.png |binary
icon-themes/breeze/cmd/lc_symbolcatalogue.png |binary
icon-themes/breeze/cmd/lc_tabdialog.png |binary
icon-themes/breeze/cmd/lc_text.png |binary
icon-themes/breeze/cmd/lc_texttoolbox.png |binary
icon-themes/breeze/cmd/lc_thesaurusdialog.png |binary
icon-themes/breeze/cmd/lc_togglelegend.png |binary
icon-themes/breeze/cmd/lc_transformdialog.png |binary
icon-themes/breeze/cmd/lc_unsetcellsreadonly.png |binary
icon-themes/breeze/cmd/lc_verticaltext.png |binary
icon-themes/breeze/cmd/lc_wraptext.png |binary
icon-themes/breeze/cmd/sc_borderdialog.png |binary
icon-themes/breeze/cmd/sc_changecasetolower.png |binary
icon-themes/breeze/cmd/sc_config.png |binary
icon-themes/breeze/cmd/sc_contourdialog.png |binary
icon-themes/breeze/cmd/sc_datadatapilotrun.png |binary
icon-themes/breeze/cmd/sc_dataranges.png |binary
icon-themes/breeze/cmd/sc_dbdtableedit.png |binary
icon-themes/breeze/cmd/sc_dbformopen.png |binary
icon-themes/breeze/cmd/sc_dbnewform.png |binary
icon-themes/breeze/cmd/sc_dbnewquery.png |binary
icon-themes/breeze/cmd/sc_dbnewreport.png |binary
icon-themes/breeze/cmd/sc_dbqueryedit.png |binary
icon-themes/breeze/cmd/sc_dbqueryopen.png |binary
icon-themes/breeze/cmd/sc_dbquerypropertiesdialog.png |binary
icon-themes/breeze/cmd/sc_dbreportopen.png |binary
icon-themes/breeze/cmd/sc_dbtableedit.png |binary
icon-themes/breeze/cmd/sc_dbtableopen.png |binary
icon-themes/breeze/cmd/sc_designerdialog.png |binary
icon-themes/breeze/cmd/sc_diagramarea.png |binary
icon-themes/breeze/cmd/sc_diagramaxisxyz.png |binary
icon-themes/breeze/cmd/sc_diagramaxisz.png |binary
icon-themes/breeze/cmd/sc_diagramwall.png |binary
icon-themes/breeze/cmd/sc_doubleclicktextedit.png |binary
icon-themes/breeze/cmd/sc_draw.png |binary
icon-themes/breeze/cmd/sc_drawchart.png |binary
icon-themes/breeze/cmd/sc_drawtext.png |binary
icon-themes/breeze/cmd/sc_editstyled.png |binary
icon-themes/breeze/cmd/sc_exportdialog.png |binary
icon-themes/breeze/cmd/sc_fontheight.png |binary
icon-themes/breeze/cmd/sc_formatselection.png |binary
icon-themes/breeze/cmd/sc_formdesigntools.png |binary
icon-themes/breeze/cmd/sc_framedialog.png |binary
icon-themes/breeze/cmd/sc_goalseekdialog.png |binary
icon-themes/breeze/cmd/sc_hideslide.png |binary
icon-themes/breeze/cmd/sc_imagemapdialog.png |binary
icon-themes/breeze/cmd/sc_importdialog.png |binary
icon-themes/breeze/cmd/sc_insertcolumns.png |binary
icon-themes/breeze/cmd/sc_insertcolumnsafter.png |binary
icon-themes/breeze/cmd/sc_insertcolumnsbefore.png |binary
icon-themes/breeze/cmd/sc_insertendnote.png |binary
icon-themes/breeze/cmd/sc_insertmenutitles.png |binary
icon-themes/breeze/cmd/sc_insertobject.png |binary
icon-themes/breeze/cmd/sc_insertobjectchart.png |binary
icon-themes/breeze/cmd/sc_insertobjectdialog.png |binary
icon-themes/breeze/cmd/sc_insertpage.png |binary
icon-themes/breeze/cmd/sc_insertrowsafter.png |binary
icon-themes/breeze/cmd/sc_legend.png |binary
icon-themes/breeze/cmd/sc_modifypage.png |binary
icon-themes/breeze/cmd/sc_moduledialog.png |binary
icon-themes/breeze/cmd/sc_morecontrols.png |binary
icon-themes/breeze/cmd/sc_movepagedown.png |binary
icon-themes/breeze/cmd/sc_movepagefirst.png |binary
icon-themes/breeze/cmd/sc_movepagelast.png |binary
icon-themes/breeze/cmd/sc_movepageup.png |binary
icon-themes/breeze/cmd/sc_newdoc.png |binary
icon-themes/breeze/cmd/sc_objectcatalog.png |binary
icon-themes/breeze/cmd/sc_outlineleft.png |binary
icon-themes/breeze/cmd/sc_outlineright.png |binary
icon-themes/breeze/cmd/sc_overline.png |binary
icon-themes/breeze/cmd/sc_pagedialog.png |binary
icon-themes/breeze/cmd/sc_paragraphdialog.png |binary
icon-themes/breeze/cmd/sc_print.png |binary
icon-themes/breeze/cmd/sc_printdefault.png |binary
icon-themes/breeze/cmd/sc_printersetup.png |binary
icon-themes/breeze/cmd/sc_removehyperlink.png |binary
icon-themes/breeze/cmd/sc_scaletext.png |binary
icon-themes/breeze/cmd/sc_shadowed.png |binary
icon-themes/breeze/cmd/sc_spacepara1.png |binary
icon-themes/breeze/cmd/sc_spacepara15.png |binary
icon-themes/breeze/cmd/sc_spacepara2.png |binary
icon-themes/breeze/cmd/sc_starchartdialog.png |binary
icon-themes/breeze/cmd/sc_starshapes.signet.png |binary
icon-themes/breeze/cmd/sc_styleupdatebyexample.png |binary
icon-themes/breeze/cmd/sc_tabledialog.png |binary
icon-themes/breeze/cmd/sc_text.png |binary
icon-themes/breeze/cmd/sc_texttoolbox.png |binary
icon-themes/breeze/cmd/sc_thesaurusdialog.png |binary
icon-themes/breeze/cmd/sc_togglelegend.png |binary
icon-themes/breeze/cmd/sc_underlinedouble.png |binary
icon-themes/breeze/cmd/sc_unsetcellsreadonly.png |binary
icon-themes/breeze/cmd/sc_wraptext.png |binary
icon-themes/breeze/dbaccess/res/db.png |binary
icon-themes/breeze/fpicker/res/fp014.png |binary
icon-themes/breeze/framework/res/folder_32.png |binary
icon-themes/breeze/framework/res/info_26.png |binary
icon-themes/breeze/framework/res/recent-documents.png |binary
icon-themes/breeze/framework/res/remote-documents.png |binary
icon-themes/breeze/links.txt | 5
icon-themes/breeze/res/helping/note.png |binary
icon-themes/breeze/res/helping/tip.png |binary
icon-themes/breeze/res/helping/warning.png |binary
icon-themes/breeze/res/im30827.png |binary
icon-themes/breeze/res/lx03250.png |binary
icon-themes/breeze/res/lx03251.png |binary
icon-themes/breeze/res/odb_32_8.png |binary
icon-themes/breeze/res/odf_32_8.png |binary
icon-themes/breeze/res/odg_32_8.png |binary
icon-themes/breeze/res/odp_32_8.png |binary
icon-themes/breeze/res/odt_32_8.png |binary
icon-themes/breeze/res/otp_48_8.png |binary
icon-themes/breeze/res/recentdoc_remove.png |binary
icon-themes/breeze/res/recentdoc_remove_highlighted.png |binary
icon-themes/breeze/sc/imglst/nc05.png |binary
icon-themes/breeze/sc/res/date.png |binary
icon-themes/breeze/sc/res/dropcopy.png |binary
icon-themes/breeze/sc/res/droplink.png |binary
icon-themes/breeze/sc/res/dropurl.png |binary
icon-themes/breeze/sc/res/file.png |binary
icon-themes/breeze/sc/res/fx.png |binary
icon-themes/breeze/sd/res/click_16.png |binary
icon-themes/breeze/sd/res/effect_16.png |binary
icon-themes/breeze/sd/res/effectfade_16.png |binary
icon-themes/breeze/sd/res/effectole_16.png |binary
icon-themes/breeze/sd/res/effectpath_16.png |binary
icon-themes/breeze/sd/res/effectshape_16.png |binary
icon-themes/breeze/sd/res/fade_effect_indicator.png |binary
icon-themes/breeze/sd/res/foilh03.png |binary
icon-themes/breeze/sd/res/foilh06.png |binary
icon-themes/breeze/sd/res/foilh09.png |binary
icon-themes/breeze/sd/res/foiln01.png |binary
icon-themes/breeze/sd/res/getallob.png |binary
icon-themes/breeze/sd/res/hlplhorz.png |binary
icon-themes/breeze/sd/res/hlppoint.png |binary
icon-themes/breeze/sd/res/layout_head03.png |binary
icon-themes/breeze/sd/res/layout_head04.png |binary
icon-themes/breeze/sd/res/layout_head06.png |binary
icon-themes/breeze/sd/res/layout_vertical01.png |binary
icon-themes/breeze/sd/res/layout_vertical02.png |binary
icon-themes/breeze/sd/res/ole.png |binary
icon-themes/breeze/sd/res/page.png |binary
icon-themes/breeze/sfx2/res/symphony/sidebar-style-large.png |binary
icon-themes/breeze/sfx2/res/symphony/sidebar-style-small.png |binary
icon-themes/breeze/svx/res/markers.png |binary
icon-themes/breeze/svx/res/ole.png |binary
icon-themes/breeze/sw/imglst/nc20004.png |binary
icon-themes/breeze/sw/imglst/sr20010.png |binary
icon-themes/breeze/vcl/res/index.png |binary
icon-themes/crystal/cmd/lc_autosum.png |binary
icon-themes/crystal/cmd/lc_grid.png |binary
icon-themes/crystal/cmd/lc_styleapply.png |binary
icon-themes/crystal/cmd/sc_animationmode.png |binary
icon-themes/crystal/cmd/sc_switchxformsdesignmode.png |binary
icon-themes/crystal/sc/imglst/lc26048.png |binary
icon-themes/galaxy/cmd/sc_freezepanes.png |binary
icon-themes/galaxy/links.txt | 8
icon-themes/galaxy/res/helpimg/rechenlt.png |binary
icon-themes/galaxy/res/recentdoc_remove.png |binary
icon-themes/galaxy/res/recentdoc_remove_highlighted.png |binary
icon-themes/galaxy/sfx2/res/logo.png |binary
icon-themes/galaxy/sfx2/res/startcenter-logo.png |binary
icon-themes/hicontrast/links.txt | 4
icon-themes/human/cmd/lc_fontworkshapetype.fontwork-arch-right-curve.png |binary
icon-themes/human/cmd/lc_moveupsubitems.png |binary
icon-themes/human/cmd/lc_starshapes.star4.png |binary
icon-themes/human/cmd/lc_symbolshapes.forbidden.png |binary
icon-themes/human/cmd/lc_symbolshapes.moon.png |binary
icon-themes/human/cmd/lc_symbolshapes.sun.png |binary
icon-themes/human/cmd/sc_arrowshapes.circular-arrow.png |binary
icon-themes/human/cmd/sc_browsebackward.png |binary
icon-themes/human/cmd/sc_downsearch.png |binary
icon-themes/human/cmd/sc_incrementlevel.png |binary
icon-themes/human/cmd/sc_movedown.png |binary
icon-themes/human/cmd/sc_navigateback.png |binary
icon-themes/human/cmd/sc_outlinedown.png |binary
icon-themes/human/cmd/sc_outlineleft.png |binary
icon-themes/human/cmd/sc_setdocumentproperties.png |binary
icon-themes/human/cmd/sc_starshapes.star6.png |binary
icon-themes/human/cmd/sc_symbolshapes.lightning.png |binary
icon-themes/human/cmd/sc_symbolshapes.moon.png |binary
icon-themes/human/links.txt | 3
icon-themes/human/reportdesign/res/sc30769.png |binary
icon-themes/human/res/sc06301.png |binary
icon-themes/human/res/sx10715.png |binary
icon-themes/human/starmath/res/al21811.png |binary
icon-themes/human/svtools/res/back_small.png |binary
icon-themes/human/svx/res/fontworkalignjustified_26.png |binary
icon-themes/human/sw/res/one_left.png |binary
icon-themes/industrial/cmd/lc_fontworkshapetype.fontwork-arch-right-curve.png |binary
icon-themes/industrial/cmd/lc_starshapes.star4.png |binary
icon-themes/industrial/cmd/lc_symbolshapes.forbidden.png |binary
icon-themes/industrial/cmd/lc_symbolshapes.moon.png |binary
icon-themes/industrial/cmd/lc_symbolshapes.sun.png |binary
icon-themes/industrial/cmd/sc_arrowshapes.circular-arrow.png |binary
icon-themes/industrial/cmd/sc_starshapes.star6.png |binary
icon-themes/industrial/cmd/sc_symbolshapes.lightning.png |binary
icon-themes/industrial/cmd/sc_symbolshapes.moon.png |binary
icon-themes/oxygen/avmedia/res/av02050.png |binary
icon-themes/oxygen/avmedia/res/av02051.png |binary
icon-themes/oxygen/cmd/bg/lc_bold.png |binary
icon-themes/oxygen/cmd/bg/sc_italic.png |binary
icon-themes/oxygen/cmd/ca/lc_bold.png |binary
icon-themes/oxygen/cmd/ca/sc_italic.png |binary
icon-themes/oxygen/cmd/de/lc_bold.png |binary
icon-themes/oxygen/cmd/de/sc_italic.png |binary
icon-themes/oxygen/cmd/es/lc_bold.png |binary
icon-themes/oxygen/cmd/es/sc_italic.png |binary
icon-themes/oxygen/cmd/fr/lc_bold.png |binary
icon-themes/oxygen/cmd/hu/lc_bold.png |binary
icon-themes/oxygen/cmd/hu/sc_italic.png |binary
icon-themes/oxygen/cmd/it/lc_bold.png |binary
icon-themes/oxygen/cmd/it/sc_italic.png |binary
icon-themes/oxygen/cmd/km/lc_bold.png |binary
icon-themes/oxygen/cmd/km/sc_italic.png |binary
icon-themes/oxygen/cmd/ko/lc_bold.png |binary
icon-themes/oxygen/cmd/ko/sc_italic.png |binary
icon-themes/oxygen/cmd/lc_autosum.png |binary
icon-themes/oxygen/cmd/lc_bold.png |binary
icon-themes/oxygen/cmd/lc_grid.png |binary
icon-themes/oxygen/cmd/lc_inserttimefield.png |binary
icon-themes/oxygen/cmd/lc_styleapply.png |binary
icon-themes/oxygen/cmd/lc_timefield.png |binary
icon-themes/oxygen/cmd/nl/lc_bold.png |binary
icon-themes/oxygen/cmd/nl/sc_italic.png |binary
icon-themes/oxygen/cmd/pl/lc_bold.png |binary
icon-themes/oxygen/cmd/pl/sc_italic.png |binary
icon-themes/oxygen/cmd/pt-BR/lc_bold.png |binary
icon-themes/oxygen/cmd/pt/lc_bold.png |binary
icon-themes/oxygen/cmd/ru/lc_bold.png |binary
icon-themes/oxygen/cmd/ru/sc_italic.png |binary
icon-themes/oxygen/cmd/sc_animationmode.png |binary
icon-themes/oxygen/cmd/sc_italic.png |binary
icon-themes/oxygen/cmd/sc_switchxformsdesignmode.png |binary
icon-themes/oxygen/cmd/sl/lc_bold.png |binary
icon-themes/oxygen/cmd/sl/sc_italic.png |binary
icon-themes/oxygen/cmd/sv/lc_bold.png |binary
icon-themes/oxygen/cmd/sv/sc_italic.png |binary
icon-themes/oxygen/cmd/tr/lc_bold.png |binary
icon-themes/oxygen/cmd/tr/sc_italic.png |binary
icon-themes/oxygen/res/sx10715.png |binary
icon-themes/oxygen/res/sx10769.png |binary
icon-themes/oxygen/sc/imglst/lc26048.png |binary
icon-themes/oxygen/sd/res/breakplayingblue_16.png |binary
icon-themes/oxygen/sd/res/stopplayingblue_16.png |binary
icon-themes/oxygen/starmath/res/al21811.png |binary
icon-themes/oxygen/svx/res/fontworkalignjustified_26.png |binary
icon-themes/sifr/cmd/lc_arc.png |binary
icon-themes/sifr/cmd/lc_arrowshapes.quad-arrow-callout.png |binary
icon-themes/sifr/cmd/lc_arrowshapes.quad-arrow.png |binary
icon-themes/sifr/cmd/lc_autopilotmenu.png |binary
icon-themes/sifr/cmd/lc_calloutshapes.line-callout-1.png |binary
icon-themes/sifr/cmd/lc_calloutshapes.line-callout-2.png |binary
icon-themes/sifr/cmd/lc_calloutshapes.line-callout-3.png |binary
icon-themes/sifr/cmd/lc_calloutshapes.rectangular-callout.png |binary
icon-themes/sifr/cmd/lc_calloutshapes.round-rectangular-callout.png |binary
icon-themes/sifr/cmd/lc_circle_unfilled.png |binary
icon-themes/sifr/cmd/lc_circlearc.png |binary
icon-themes/sifr/cmd/lc_circlecut.png |binary
icon-themes/sifr/cmd/lc_circlecut_unfilled.png |binary
icon-themes/sifr/cmd/lc_circlepie.png |binary
icon-themes/sifr/cmd/lc_circlepie_unfilled.png |binary
icon-themes/sifr/cmd/lc_colorscaleformatdialog.png |binary
icon-themes/sifr/cmd/lc_conditionalformatdialog.png |binary
icon-themes/sifr/cmd/lc_conditionalformatmenu.png |binary
icon-themes/sifr/cmd/lc_crop.png |binary
icon-themes/sifr/cmd/lc_currencyfield.png |binary
icon-themes/sifr/cmd/lc_databarformatdialog.png |binary
icon-themes/sifr/cmd/lc_deletepage.png |binary
icon-themes/sifr/cmd/lc_drawchart.png |binary
icon-themes/sifr/cmd/lc_duplicatepage.png |binary
icon-themes/sifr/cmd/lc_ellipse_unfilled.png |binary
icon-themes/sifr/cmd/lc_euroconverter.png |binary
icon-themes/sifr/cmd/lc_exportto.png |binary
icon-themes/sifr/cmd/lc_fillcolor.png |binary
icon-themes/sifr/cmd/lc_fliphorizontal.png |binary
icon-themes/sifr/cmd/lc_flipvertical.png |binary
icon-themes/sifr/cmd/lc_freeline.png |binary
icon-themes/sifr/cmd/lc_freeline_unfilled.png |binary
icon-themes/sifr/cmd/lc_iconsetformatdialog.png |binary
icon-themes/sifr/cmd/lc_importfromfile.png |binary
icon-themes/sifr/cmd/lc_insertbookmark.png |binary
icon-themes/sifr/cmd/lc_insertendnote.png |binary
icon-themes/sifr/cmd/lc_insertfootnote.png |binary
icon-themes/sifr/cmd/lc_inserthyperlink.png |binary
icon-themes/sifr/cmd/lc_insertpage.png |binary
icon-themes/sifr/cmd/lc_line.png |binary
icon-themes/sifr/cmd/lc_line_diagonal.png |binary
icon-themes/sifr/cmd/lc_linearrowcircle.png |binary
icon-themes/sifr/cmd/lc_linearrowend.png |binary
icon-themes/sifr/cmd/lc_linearrows.png |binary
icon-themes/sifr/cmd/lc_linearrowsquare.png |binary
icon-themes/sifr/cmd/lc_linearrowstart.png |binary
icon-themes/sifr/cmd/lc_linecirclearrow.png |binary
icon-themes/sifr/cmd/lc_linesquarearrow.png |binary
icon-themes/sifr/cmd/lc_measureline.png |binary
icon-themes/sifr/cmd/lc_numberformatdecimal.png |binary
icon-themes/sifr/cmd/lc_numberformatpercent.png |binary
icon-themes/sifr/cmd/lc_pagesetup.png |binary
icon-themes/sifr/cmd/lc_pie_unfilled.png |binary
icon-themes/sifr/cmd/lc_presentation.png |binary
icon-themes/sifr/cmd/lc_presentationcurrentslide.png |binary
icon-themes/sifr/cmd/lc_resetattributes.png |binary
icon-themes/sifr/cmd/lc_searchdialog.png |binary
icon-themes/sifr/cmd/lc_showbookview.png |binary
icon-themes/sifr/cmd/lc_showmultiplepages.png |binary
icon-themes/sifr/cmd/lc_showtwopages.png |binary
icon-themes/sifr/cmd/lc_slidemasterpage.png |binary
icon-themes/sifr/cmd/lc_stylenewbyexample.png |binary
icon-themes/sifr/cmd/lc_styleupdatebyexample.png |binary
icon-themes/sifr/cmd/lc_trackchanges.png |binary
icon-themes/sifr/cmd/lc_wraptext.png |binary
icon-themes/sifr/cmd/lc_zoommode.png |binary
icon-themes/sifr/cmd/sc_arc.png |binary
icon-themes/sifr/cmd/sc_assignlayout.png |binary
icon-themes/sifr/cmd/sc_autopilotmenu.png |binary
icon-themes/sifr/cmd/sc_circle_unfilled.png |binary
icon-themes/sifr/cmd/sc_circlearc.png |binary
icon-themes/sifr/cmd/sc_circlecut_unfilled.png |binary
icon-themes/sifr/cmd/sc_circlepie_unfilled.png |binary
icon-themes/sifr/cmd/sc_colorscaleformatdialog.png |binary
icon-themes/sifr/cmd/sc_conditionalformatdialog.png |binary
icon-themes/sifr/cmd/sc_conditionalformatmenu.png |binary
icon-themes/sifr/cmd/sc_crop.png |binary
icon-themes/sifr/cmd/sc_currencyfield.png |binary
icon-themes/sifr/cmd/sc_databarformatdialog.png |binary
icon-themes/sifr/cmd/sc_deletepage.png |binary
icon-themes/sifr/cmd/sc_duplicatepage.png |binary
icon-themes/sifr/cmd/sc_euroconverter.png |binary
icon-themes/sifr/cmd/sc_exportto.png |binary
icon-themes/sifr/cmd/sc_fillcolor.png |binary
icon-themes/sifr/cmd/sc_fliphorizontal.png |binary
icon-themes/sifr/cmd/sc_iconsetformatdialog.png |binary
icon-themes/sifr/cmd/sc_importfromfile.png |binary
icon-themes/sifr/cmd/sc_insertbookmark.png |binary
icon-themes/sifr/cmd/sc_insertendnote.png |binary
icon-themes/sifr/cmd/sc_insertfootnote.png |binary
icon-themes/sifr/cmd/sc_inserthyperlink.png |binary
icon-themes/sifr/cmd/sc_insertpage.png |binary
icon-themes/sifr/cmd/sc_line.png |binary
icon-themes/sifr/cmd/sc_line_diagonal.png |binary
icon-themes/sifr/cmd/sc_linearrowcircle.png |binary
icon-themes/sifr/cmd/sc_linearrows.png |binary
icon-themes/sifr/cmd/sc_linearrowsquare.png |binary
icon-themes/sifr/cmd/sc_linearrowstart.png |binary
icon-themes/sifr/cmd/sc_linecirclearrow.png |binary
icon-themes/sifr/cmd/sc_measureline.png |binary
icon-themes/sifr/cmd/sc_numberformatdecimal.png |binary
icon-themes/sifr/cmd/sc_numberformatpercent.png |binary
icon-themes/sifr/cmd/sc_pagesetup.png |binary
icon-themes/sifr/cmd/sc_presentation.png |binary
icon-themes/sifr/cmd/sc_presentationcurrentslide.png |binary
icon-themes/sifr/cmd/sc_presentationlayout.png |binary
icon-themes/sifr/cmd/sc_resetattributes.png |binary
icon-themes/sifr/cmd/sc_searchdialog.png |binary
icon-themes/sifr/cmd/sc_showbookview.png |binary
icon-themes/sifr/cmd/sc_showmultiplepages.png |binary
icon-themes/sifr/cmd/sc_showtwopages.png |binary
icon-themes/sifr/cmd/sc_slidemasterpage.png |binary
icon-themes/sifr/cmd/sc_stylenewbyexample.png |binary
icon-themes/sifr/cmd/sc_styleupdatebyexample.png |binary
icon-themes/sifr/cmd/sc_wraptext.png |binary
icon-themes/sifr/cmd/sc_zoommode.png |binary
icon-themes/sifr/framework/res/folder_32.png |binary
icon-themes/sifr/framework/res/recent-documents.png |binary
icon-themes/sifr/framework/res/templates_32.png |binary
icon-themes/sifr/links.txt | 56
icon-themes/sifr/res/lx03253.png |binary
icon-themes/sifr/res/lx03254.png |binary
icon-themes/sifr/res/lx03255.png |binary
icon-themes/sifr/res/odb_32_8.png |binary
icon-themes/sifr/res/odf_32_8.png |binary
icon-themes/sifr/res/odg_32_8.png |binary
icon-themes/sifr/res/odm_32_8.png |binary
icon-themes/sifr/res/odp_32_8.png |binary
icon-themes/sifr/res/ods_32_8.png |binary
icon-themes/sifr/res/odt_32_8.png |binary
icon-themes/sifr/res/sx03253.png |binary
icon-themes/sifr/res/sx03254.png |binary
icon-themes/sifr/res/sx03255.png |binary
icon-themes/sifr/svx/res/doc_modified_feedback.png |binary
icon-themes/sifr/svx/res/selection_10x22.png |binary
icon-themes/sifr/sw/imglst/sf03.png |binary
icon-themes/sifr/sw/res/doublepage_10x22.png |binary
icon-themes/sifr/sw/res/emptypage_10x14.png |binary
icon-themes/sifr/sw/res/sidebar/pageproppanel/documentsizeA3_24x24.png |binary
icon-themes/sifr/sw/res/sidebar/pageproppanel/documentsizeA4_24x24.png |binary
icon-themes/sifr/sw/res/sidebar/pageproppanel/documentsizeA5_24x24.png |binary
icon-themes/sifr/sw/res/sidebar/pageproppanel/documentsizeB4_24x24.png |binary
icon-themes/sifr/sw/res/sidebar/pageproppanel/documentsizeB5_24x24.png |binary
icon-themes/sifr/sw/res/sidebar/pageproppanel/documentsizeC5_24x24.png |binary
icon-themes/sifr/sw/res/sidebar/pageproppanel/documentsize_L_A3_24x24.png |binary
icon-themes/sifr/sw/res/sidebar/pageproppanel/documentsize_L_A4_24x24.png |binary
icon-themes/sifr/sw/res/sidebar/pageproppanel/documentsize_L_A5_24x24.png |binary
icon-themes/sifr/sw/res/sidebar/pageproppanel/documentsize_L_B4_24x24.png |binary
icon-themes/sifr/sw/res/sidebar/pageproppanel/documentsize_L_B5_24x24.png |binary
icon-themes/sifr/sw/res/sidebar/pageproppanel/documentsize_L_C5_24x24.png |binary
icon-themes/sifr/sw/res/sidebar/pageproppanel/documentsize_L_copy_24x24.png |binary
icon-themes/sifr/sw/res/sidebar/pageproppanel/documentsizecopy_24x24.png |binary
icon-themes/sifr/sw/res/sidebar/pageproppanel/format_L_mirror_24x24.png |binary
icon-themes/sifr/sw/res/sidebar/pageproppanel/format_L_narrow_24x24.png |binary
icon-themes/sifr/sw/res/sidebar/pageproppanel/format_L_nomal_24x24.png |binary
icon-themes/sifr/sw/res/sidebar/pageproppanel/format_L_wide_24x24.png |binary
icon-themes/sifr/sw/res/sidebar/pageproppanel/formatmirror_24x24.png |binary
icon-themes/sifr/sw/res/sidebar/pageproppanel/formatnarrow_24x24.png |binary
icon-themes/sifr/sw/res/sidebar/pageproppanel/formatnormal_24x24.png |binary
icon-themes/sifr/sw/res/sidebar/pageproppanel/formatwide_24x24.png |binary
icon-themes/sifr/sw/res/twopages_10x24.png |binary
icon-themes/tango/chart2/res/typearea_16.png |binary
icon-themes/tango/chart2/res/typebubble_16.png |binary
icon-themes/tango/chart2/res/typenet_16.png |binary
icon-themes/tango/chart2/res/typepointline_16.png |binary
icon-themes/tango/chart2/res/typestock_16.png |binary
icon-themes/tango/cmd/lc_aligncenter.png |binary
icon-themes/tango/cmd/lc_aligndown.png |binary
icon-themes/tango/cmd/lc_alignmiddle.png |binary
icon-themes/tango/cmd/lc_aligntop.png |binary
icon-themes/tango/cmd/lc_alignup.png |binary
icon-themes/tango/cmd/lc_alignverticalcenter.png |binary
icon-themes/tango/cmd/lc_bezierdelete.png |binary
icon-themes/tango/cmd/lc_crop.png |binary
icon-themes/tango/cmd/lc_datadatapilotrun.png |binary
icon-themes/tango/cmd/lc_deletetable.png |binary
icon-themes/tango/cmd/lc_entirecolumn.png |binary
icon-themes/tango/cmd/lc_entirerow.png |binary
icon-themes/tango/cmd/lc_flipvertical.png |binary
icon-themes/tango/cmd/lc_insertcellsdown.png |binary
icon-themes/tango/cmd/lc_insertcellsright.png |binary
icon-themes/tango/cmd/lc_inserttable.png |binary
icon-themes/tango/cmd/lc_mergecells.png |binary
icon-themes/tango/cmd/lc_objectalign.png |binary
icon-themes/tango/cmd/lc_objectalignleft.png |binary
icon-themes/tango/cmd/lc_objectalignright.png |binary
icon-themes/tango/cmd/lc_optimizetable.png |binary
icon-themes/tango/cmd/lc_selecttable.png |binary
icon-themes/tango/cmd/lc_textdirectionlefttoright.png |binary
icon-themes/tango/cmd/lc_togglemergecells.png |binary
icon-themes/tango/cmd/lc_toggleobjectrotatemode.png |binary
icon-themes/tango/cmd/lc_togglesheetgrid.png |binary
icon-themes/tango/cmd/sc_arrowshapes.circular-arrow.png |binary
icon-themes/tango/cmd/sc_arrowshapes.quad-arrow-callout.png |binary
icon-themes/tango/cmd/sc_arrowshapes.right-arrow-callout.png |binary
icon-themes/tango/cmd/sc_crop.png |binary
icon-themes/tango/cmd/sc_datafilterstandardfilter.png |binary
icon-themes/tango/cmd/sc_flipvertical.png |binary
icon-themes/tango/cmd/sc_freezepanes.png |binary
icon-themes/tango/cmd/sc_inserttable.png |binary
icon-themes/tango/cmd/sc_linewidth.png |binary
icon-themes/tango/cmd/sc_objectalign.png |binary
icon-themes/tango/cmd/sc_objectalignleft.png |binary
icon-themes/tango/cmd/sc_objectalignright.png |binary
icon-themes/tango/cmd/sc_outlinefont.png |binary
icon-themes/tango/cmd/sc_toggleobjectrotatemode.png |binary
icon-themes/tango/framework/res/remote-documents.png |binary
icon-themes/tango/framework/res/remote-documents.xcf.bz2 |binary
icon-themes/tango/links.txt | 3
icon-themes/tango/res/helpimg/note.png |binary
icon-themes/tango/res/helpimg/tip.png |binary
icon-themes/tango/res/helpimg/warning.png |binary
icon-themes/tango/sd/res/layout_vertical01.png |binary
icon-themes/tango/sd/res/layout_vertical02.png |binary
icon-themes/tango/sfx2/res/minus.png |binary
icon-themes/tango/sfx2/res/plus.png |binary
icon-themes/tango_testing/cmd/sc_arrowshapes.circular-arrow.png |binary
icon-themes/tango_testing/cmd/sc_basicshapes.cross.png |binary
include/oox/export/drawingml.hxx | 2
include/sax/tools/converter.hxx | 6
include/sfx2/app.hxx | 1
include/sfx2/filedlghelper.hxx | 1
include/sfx2/sfxsids.hrc | 3
include/sfx2/tbxctrl.hxx | 15
include/svtools/PlaceEditDialog.hxx | 24
include/svtools/ServerDetailsControls.hxx | 47
include/svtools/autocmpledit.hxx | 39
include/svtools/breadcrumb.hxx | 68
include/svtools/fileview.hxx | 5
include/svtools/foldertree.hxx | 60
include/svtools/svtools.hrc | 4
include/svx/imapdlg.hxx | 1
include/vcl/field.hxx | 13
include/vcl/fpicker.hrc | 2
include/vcl/opengl/OpenGLContext.hxx | 3
instsetoo_native/CustomTarget_install.mk | 2
lotuswordpro/source/filter/lwpfrib.cxx | 6
officecfg/registry/data/org/openoffice/Office/Common.xcu | 21
officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu | 11
officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu | 16
officecfg/registry/data/org/openoffice/Setup.xcu | 1
officecfg/registry/schema/org/openoffice/Office/Common.xcs | 5
oox/source/export/drawingml.cxx | 40
readlicense_oo/license/CREDITS.fodt | 3138 +++++-----
sal/osl/unx/file_misc.cxx | 2
sal/osl/w32/file_error.c | 1
sax/source/tools/converter.cxx | 56
sc/inc/autoform.hxx | 6
sc/qa/extras/macros-test.cxx | 26
sc/qa/extras/testdocuments/testTypePassword.ods |binary
sc/qa/unit/data/xls/pass/crash-1.xls |binary
sc/qa/unit/data/xls/pass/crash-2.xls |binary
sc/qa/unit/data/xls/pass/crash-3.xls |binary
sc/qa/unit/data/xls/pass/crash-4.xls |binary
sc/qa/unit/data/xls/pass/crash-5.xls |binary
sc/qa/unit/data/xls/pass/crash-6.xls |binary
sc/qa/unit/data/xls/pass/crash-7.xls |binary
sc/qa/unit/data/xls/systematic.xls |binary
sc/qa/unit/data/xlsx/empty-noconf.xlsx |binary
sc/qa/unit/data/xlsx/empty.xlsx |binary
sc/qa/unit/opencl-test.cxx | 94
sc/qa/unit/subsequent_export-test.cxx | 61
sc/qa/unit/ucalc_formula.cxx | 6
sc/source/core/data/formulacell.cxx | 6
sc/source/core/data/postit.cxx | 8
sc/source/core/opencl/formulagroupcl.cxx | 63
sc/source/core/tool/address.cxx | 2
sc/source/core/tool/autoform.cxx | 10
sc/source/core/tool/compiler.cxx | 1
sc/source/core/tool/interpr1.cxx | 17
sc/source/core/tool/interpr3.cxx | 5
sc/source/core/tool/interpr6.cxx | 3
sc/source/core/tool/parclass.cxx | 4
sc/source/filter/excel/impop.cxx | 50
sc/source/filter/excel/xicontent.cxx | 11
sc/source/filter/excel/xilink.cxx | 6
sc/source/filter/excel/xipivot.cxx | 12
sc/source/filter/oox/workbookhelper.cxx | 10
sc/source/filter/xml/xmlimprt.cxx | 17
sc/source/filter/xml/xmlimprt.hxx | 1
sc/source/ui/app/scdll.cxx | 1
sc/source/ui/docshell/externalrefmgr.cxx | 16
sc/source/ui/optdlg/calcoptionsdlg.cxx | 49
sc/source/ui/optdlg/calcoptionsdlg.hxx | 1
sc/source/ui/vba/vbaeventshelper.cxx | 16
sc/source/ui/view/cellsh2.cxx | 1
sc/source/ui/view/output2.cxx | 3
sc/source/ui/view/tabcont.cxx | 4
sc/source/ui/view/tabview3.cxx | 2
sc/source/ui/view/viewfun4.cxx | 2
sc/uiconfig/scalc/menubar/menubar.xml | 2
sc/uiconfig/scalc/toolbar/drawbar.xml | 2
sc/uiconfig/scalc/toolbar/standardbar.xml | 3
sc/uiconfig/scalc/ui/optcalculatepage.ui | 2
scp2/source/kde/module_kde.scp | 4
sd/CppunitTest_sd_import_tests.mk | 2
sd/qa/unit/data/odg/gradient-angle.fodg | 212
sd/qa/unit/data/ppt/pass/hang-22.ppt |binary
sd/qa/unit/data/pptx/hyperlinktest.pptx |binary
sd/qa/unit/export-tests.cxx | 46
sd/qa/unit/import-tests.cxx | 58
sd/qa/unit/sdmodeltestbase.hxx | 3
sd/source/core/stlsheet.cxx | 3
sd/source/filter/ppt/pptin.cxx | 3
sd/source/filter/ppt/propread.cxx | 78
sd/source/filter/ppt/propread.hxx | 4
sd/source/ui/app/sddll.cxx | 3
sd/uiconfig/sdraw/menubar/menubar.xml | 2
sd/uiconfig/sdraw/toolbar/standardbar.xml | 3
sd/uiconfig/sdraw/toolbar/toolbar.xml | 2
sd/uiconfig/simpress/menubar/menubar.xml | 2
sd/uiconfig/simpress/toolbar/standardbar.xml | 3
sfx2/sdi/docslots.sdi | 9
sfx2/sdi/sfx.sdi | 51
sfx2/source/appl/appopen.cxx | 10
sfx2/source/appl/appuno.cxx | 2
sfx2/source/dialog/backingwindow.cxx | 12
sfx2/source/dialog/backingwindow.hxx | 1
sfx2/source/dialog/filedlghelper.cxx | 2
sfx2/source/dialog/infobar.cxx | 6
sfx2/source/doc/guisaveas.cxx | 47
sfx2/source/doc/objserv.cxx | 6
sfx2/source/toolbox/tbxitem.cxx | 50
sfx2/uiconfig/ui/startcenter.ui | 48
svl/source/numbers/zformat.cxx | 52
svtools/Library_svt.mk | 3
svtools/source/contnr/fileview.cxx | 70
svtools/source/contnr/fileview.src | 6
svtools/source/contnr/foldertree.cxx | 161
svtools/source/control/autocmpledit.cxx | 111
svtools/source/control/breadcrumb.cxx | 284
svtools/source/control/ctrlbox.cxx | 2
svtools/source/dialogs/PlaceEditDialog.cxx | 178
svtools/source/dialogs/ServerDetailsControls.cxx | 237
svtools/source/dialogs/filedlg2.src | 6
svtools/uiconfig/ui/placeedit.ui | 794 --
svx/sdi/svx.sdi | 6
svx/source/dialog/imapdlg.cxx | 48
svx/source/fmcomp/gridcell.cxx | 15
svx/source/tbxctrls/itemwin.cxx | 24
sw/inc/IDocumentMarkAccess.hxx | 2
sw/qa/core/data/rtf/pass/tdf94049.rtf | 12
sw/qa/core/data/ww8/pass/hang-9.doc |binary
sw/qa/extras/odfexport/data/CrossRefHeadingBookmark.fodt | 120
sw/qa/extras/odfexport/odfexport.cxx | 30
sw/qa/extras/ooxmlexport/data/tdf92521.odt |binary
sw/qa/extras/ooxmlexport/ooxmlexport4.cxx | 7
sw/qa/extras/ooxmlimport/data/tdf90153.docx |binary
sw/qa/extras/ooxmlimport/data/tdf92124.docx |binary
sw/qa/extras/ooxmlimport/data/tdf92454.docx |binary
sw/qa/extras/ooxmlimport/data/tdf93919.docx |binary
sw/qa/extras/ooxmlimport/ooxmlimport.cxx | 34
sw/qa/extras/rtfimport/data/tdf94435.rtf | 7
sw/qa/extras/rtfimport/data/tdf94456.rtf | 23
sw/qa/extras/rtfimport/rtfimport.cxx | 16
sw/qa/extras/uiwriter/uiwriter.cxx | 57
sw/source/core/crsr/crossrefbookmark.cxx | 2
sw/source/core/doc/DocumentContentOperationsManager.cxx | 43
sw/source/core/doc/docbm.cxx | 18
sw/source/core/doc/extinput.cxx | 43
sw/source/core/inc/DocumentContentOperationsManager.hxx | 2
sw/source/core/inc/MarkManager.hxx | 4
sw/source/core/layout/trvlfrm.cxx | 3
sw/source/core/text/frmform.cxx | 16
sw/source/core/text/itrcrsr.cxx | 2
sw/source/core/text/itrpaint.cxx | 2
sw/source/core/text/portxt.cxx | 53
sw/source/core/unocore/unobkm.cxx | 9
sw/source/filter/ww8/attributeoutputbase.hxx | 2
sw/source/filter/ww8/docxattributeoutput.cxx | 31
sw/source/filter/ww8/docxattributeoutput.hxx | 2
sw/source/filter/ww8/docxexport.cxx | 3
sw/source/filter/ww8/rtfattributeoutput.cxx | 47
sw/source/filter/ww8/rtfattributeoutput.hxx | 2
sw/source/filter/ww8/ww8attributeoutput.hxx | 2
sw/source/filter/ww8/ww8par.cxx | 23
sw/source/filter/ww8/ww8scan.cxx | 12
sw/source/uibase/app/swmodule.cxx | 1
sw/source/uibase/shells/textsh.cxx | 10
sw/source/uibase/sidebar/PagePropertyPanel.cxx | 5
sw/source/uibase/utlui/navipi.cxx | 2
sw/uiconfig/swriter/menubar/menubar.xml | 6
sw/uiconfig/swriter/toolbar/drawbar.xml | 2
sw/uiconfig/swriter/toolbar/standardbar.xml | 3
ucb/source/ucp/cmis/cmis_content.cxx | 65
ucb/source/ucp/cmis/cmis_provider.cxx | 13
ucb/source/ucp/cmis/cmis_provider.hxx | 6
ucb/source/ucp/cmis/cmis_repo_content.cxx | 5
ucb/source/ucp/cmis/cmis_url.cxx | 9
ucb/source/ucp/cmis/cmis_url.hxx | 13
uui/source/logindlg.hxx | 8
uui/source/loginerr.hxx | 5
uui/uiconfig/ui/logindialog.ui | 8
vcl/generic/glyphs/gcach_layout.cxx | 3
vcl/inc/generic/glyphcache.hxx | 1
vcl/inc/image.h | 2
vcl/opengl/salbmp.cxx | 36
vcl/opengl/win/WinDeviceInfo.cxx | 8
vcl/qa/cppunit/graphicfilter/data/wmf/fail/bitcount-1.wmf |binary
vcl/source/control/field.cxx | 36
vcl/source/control/field2.cxx | 36
vcl/source/control/lstbox.cxx | 20
vcl/source/gdi/dibtools.cxx | 14
vcl/source/gdi/impimage.cxx | 30
vcl/source/gdi/sallayout.cxx | 8
vcl/source/gdi/virdev.cxx | 10
vcl/source/opengl/OpenGLContext.cxx | 10
vcl/source/opengl/OpenGLHelper.cxx | 24
vcl/source/outdev/transparent.cxx | 4
vcl/source/window/menufloatingwindow.cxx | 2
vcl/unx/generic/app/saldisp.cxx | 13
vcl/unx/generic/gdi/cairotextrender.cxx | 2
vcl/win/source/gdi/winlayout.cxx | 2
wizards/com/sun/star/wizards/agenda/AgendaWizardDialog.py | 4
wizards/com/sun/star/wizards/common/UCB.py | 2
wizards/com/sun/star/wizards/web/FTPDialog.py | 28
wizards/com/sun/star/wizards/web/FTPDialogResources.py | 2
wizards/com/sun/star/wizards/web/WWD_Events.py | 4
wizards/com/sun/star/wizards/web/WWD_Startup.py | 6
wizards/com/sun/star/wizards/web/WebWizardDialog.py | 4
writerfilter/source/dmapper/DomainMapper.cxx | 22
writerfilter/source/dmapper/GraphicImport.cxx | 8
writerfilter/source/dmapper/NumberingManager.cxx | 13
writerfilter/source/rtftok/rtfdocumentimpl.cxx | 9
writerperfect/source/writer/WordPerfectImportFilter.cxx | 3
xmloff/source/style/GradientStyle.cxx | 8
xmloff/source/style/TransGradientStyle.cxx | 9
911 files changed, 9150 insertions(+), 3056 deletions(-)
New commits:
commit a7f849537b861d5dbc80917b25dfcb8d6155f392
Author: Yousuf Philips <philipz85 at hotmail.com>
Date: Sun Aug 2 21:43:17 2015 +0400
Hide open remote button in standard toolbar
Reviewed-on: https://gerrit.libreoffice.org/17476
Reviewed-by: Samuel Mehrbrodt <s.mehrbrodt at gmail.com>
Tested-by: Samuel Mehrbrodt <s.mehrbrodt at gmail.com>
(cherry picked from commit 525b1c2c86898b4f7b53d887d4b6ab4c843f22ae)
Conflicts:
sc/uiconfig/scalc/toolbar/standardbar.xml
sd/uiconfig/sdraw/toolbar/standardbar.xml
sd/uiconfig/simpress/toolbar/standardbar.xml
sw/uiconfig/swriter/toolbar/standardbar.xml
Change-Id: I175d27311fa166d3d33f2d88184b1fcd01f5df6a
diff --git a/sc/uiconfig/scalc/toolbar/standardbar.xml b/sc/uiconfig/scalc/toolbar/standardbar.xml
index b16c2d8..16c94be 100644
--- a/sc/uiconfig/scalc/toolbar/standardbar.xml
+++ b/sc/uiconfig/scalc/toolbar/standardbar.xml
@@ -22,7 +22,7 @@
<toolbar:toolbaritem xlink:href=".uno:AddDirect"/>
<toolbar:toolbaritem xlink:href=".uno:NewDoc" toolbar:visible="false"/>
<toolbar:toolbaritem xlink:href=".uno:OpenFromCalc" toolbar:style="dropdown"/>
- <toolbar:toolbaritem xlink:href=".uno:OpenRemote"/>
+ <toolbar:toolbaritem xlink:href=".uno:OpenRemote" toolbar:visible="false"/>
<toolbar:toolbaritem xlink:href=".uno:Save" toolbar:style="dropdown"/>
<toolbar:toolbaritem xlink:href=".uno:SaveAs"/>
<toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:visible="false"/>
diff --git a/sd/uiconfig/sdraw/toolbar/standardbar.xml b/sd/uiconfig/sdraw/toolbar/standardbar.xml
index e811b80..852ae27 100644
--- a/sd/uiconfig/sdraw/toolbar/standardbar.xml
+++ b/sd/uiconfig/sdraw/toolbar/standardbar.xml
@@ -22,7 +22,7 @@
<toolbar:toolbaritem xlink:href=".uno:AddDirect" toolbar:helpid="5537"/>
<toolbar:toolbaritem xlink:href=".uno:NewDoc" toolbar:visible="false" toolbar:helpid="5500"/>
<toolbar:toolbaritem xlink:href=".uno:Open" toolbar:style="dropdown"/>
- <toolbar:toolbaritem xlink:href=".uno:OpenRemote"/>
+ <toolbar:toolbaritem xlink:href=".uno:OpenRemote" toolbar:visible="false"/>
<toolbar:toolbaritem xlink:href=".uno:Save" toolbar:style="dropdown" toolbar:helpid="5505"/>
<toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:helpid="5502"/>
<toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:visible="false" toolbar:helpid="5331"/>
diff --git a/sd/uiconfig/simpress/toolbar/standardbar.xml b/sd/uiconfig/simpress/toolbar/standardbar.xml
index 1d59506..67be999 100644
--- a/sd/uiconfig/simpress/toolbar/standardbar.xml
+++ b/sd/uiconfig/simpress/toolbar/standardbar.xml
@@ -22,7 +22,7 @@
<toolbar:toolbaritem xlink:href=".uno:AddDirect" toolbar:style="dropdown"/>
<toolbar:toolbaritem xlink:href=".uno:NewDoc" toolbar:visible="false"/>
<toolbar:toolbaritem xlink:href=".uno:Open" toolbar:style="dropdown"/>
- <toolbar:toolbaritem xlink:href=".uno:OpenRemote"/>
+ <toolbar:toolbaritem xlink:href=".uno:OpenRemote" toolbar:visible="false"/>
<toolbar:toolbaritem xlink:href=".uno:Save" toolbar:style="dropdown"/>
<toolbar:toolbaritem xlink:href=".uno:SaveAs"/>
<toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:visible="false"/>
diff --git a/sw/uiconfig/swriter/toolbar/standardbar.xml b/sw/uiconfig/swriter/toolbar/standardbar.xml
index b374aae..1a9a955 100644
--- a/sw/uiconfig/swriter/toolbar/standardbar.xml
+++ b/sw/uiconfig/swriter/toolbar/standardbar.xml
@@ -22,7 +22,7 @@
<toolbar:toolbaritem xlink:href=".uno:AddDirect" toolbar:helpid="5537"/>
<toolbar:toolbaritem xlink:href=".uno:NewDoc" toolbar:visible="false" toolbar:helpid="5500"/>
<toolbar:toolbaritem xlink:href=".uno:OpenFromWriter" toolbar:style="dropdown"/>
- <toolbar:toolbaritem xlink:href=".uno:OpenRemote"/>
+ <toolbar:toolbaritem xlink:href=".uno:OpenRemote" toolbar:visible="false"/>
<toolbar:toolbaritem xlink:href=".uno:Save" toolbar:style="dropdown" toolbar:helpid="5505"/>
<toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:helpid="5502"/>
<toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:visible="false" toolbar:helpid="5331"/>
commit ff221e873c8e2bad256f201850a5e568f7572575
Author: Yousuf Philips <philipz85 at hotmail.com>
Date: Thu Oct 8 16:56:47 2015 +0400
START CENTER: Set new open remote file icon and label
Reviewed-on: https://gerrit.libreoffice.org/19178
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Yousuf Philips <philipz85 at hotmail.com>
(cherry picked from commit e495bf390cc8cef5ec7c66febac92f1477e3b92d)
Conflicts:
sfx2/uiconfig/ui/startcenter.ui
Change-Id: I7bede0cb520f446582d01bc0e5f583ddf4655ce0
diff --git a/icon-themes/galaxy/links.txt b/icon-themes/galaxy/links.txt
index 5b9b994..d244474 100644
--- a/icon-themes/galaxy/links.txt
+++ b/icon-themes/galaxy/links.txt
@@ -67,3 +67,6 @@ cmd/lc_charbackcolor.png cmd/lc_backcolor.png
# FolderTree expanded icon
svtools/res/folderop.png formula/res/fapopen.png
+
+# Start Center remote documents
+framework/res/remote-documents.png framework/res/folder_32.png
diff --git a/icon-themes/tango/framework/res/remote-documents.png b/icon-themes/tango/framework/res/remote-documents.png
new file mode 100644
index 0000000..95aafa2
Binary files /dev/null and b/icon-themes/tango/framework/res/remote-documents.png differ
diff --git a/icon-themes/tango/framework/res/remote-documents.xcf.bz2 b/icon-themes/tango/framework/res/remote-documents.xcf.bz2
new file mode 100644
index 0000000..66168b0
Binary files /dev/null and b/icon-themes/tango/framework/res/remote-documents.xcf.bz2 differ
diff --git a/sfx2/uiconfig/ui/startcenter.ui b/sfx2/uiconfig/ui/startcenter.ui
index d69e4a3..062512f 100644
--- a/sfx2/uiconfig/ui/startcenter.ui
+++ b/sfx2/uiconfig/ui/startcenter.ui
@@ -83,6 +83,11 @@
<property name="can_focus">False</property>
<property name="pixbuf">framework/res/recent-documents.png</property>
</object>
+ <object class="GtkImage" id="open_all_image2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="pixbuf">framework/res/remote-documents.png</property>
+ </object>
<object class="GtkImage" id="templates_all_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -137,14 +142,13 @@
</child>
<child>
<object class="GtkButton" id="open_remote">
- <property name="label" translatable="yes">_Open Remote File</property>
+ <property name="label" translatable="yes">Remote _Files</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="margin_left">6</property>
<property name="margin_right">6</property>
- <property name="margin_top">6</property>
- <property name="image">open_all_image</property>
+ <property name="image">open_all_image2</property>
<property name="relief">none</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
commit 54bbba60ceafaafe396a985828a39d82db98a1f8
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu Oct 1 16:49:15 2015 +0100
remote open/save shortcuts colliding with others
Change-Id: I00b64e2e60596094f74beb729b37eff36e544fd2
(cherry picked from commit 419549b095a1bb95ce23bf3fc8866e6b582e6dde)
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
index 4d55552..d3b0889 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
@@ -1944,7 +1944,7 @@
</node>
<node oor:name=".uno:OpenRemote" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
- <value xml:lang="en-US">~Open Remote File...</value>
+ <value xml:lang="en-US">Open Remote ~File...</value>
</prop>
<prop oor:name="Properties" oor:type="xs:int">
<value>1</value>
@@ -1952,7 +1952,7 @@
</node>
<node oor:name=".uno:SaveAsRemote" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
- <value xml:lang="en-US">Save to ~Remote Server</value>
+ <value xml:lang="en-US">Save to Remote Ser~ver</value>
</prop>
<prop oor:name="Properties" oor:type="xs:int">
<value>1</value>
commit 79a607eddbb2f406f56d2eb91461b2e8e284cf9b
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu Oct 1 16:11:40 2015 +0100
"Save" and "Save to Remote Server" shared ~S shortcut
Change-Id: Ia368eb83202b65d77777874b7e7948f9f3169c58
(cherry picked from commit 2052a85447969020572e510b07fd7586cdc058c8)
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
index 802e68b..4d55552 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
@@ -1952,7 +1952,7 @@
</node>
<node oor:name=".uno:SaveAsRemote" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
- <value xml:lang="en-US">~Save to Remote Server</value>
+ <value xml:lang="en-US">Save to ~Remote Server</value>
</prop>
<prop oor:name="Properties" oor:type="xs:int">
<value>1</value>
commit 583b1edf2bd4edbf4a3e33877aae60b38d3ec8a7
Author: Szymon KÅ‚os <eszkadev at gmail.com>
Date: Fri Aug 14 11:29:40 2015 +0200
tdf#92411 : don't select all toolbar buttons in the ImageMap Editor
Reviewed-on: https://gerrit.libreoffice.org/17755
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Norbert Thiebaud <nthiebaud at gmail.com>
(cherry picked from commit cd3ca5b24eeebd5ab8e3b98c8e1b5edfd9127042)
Conflicts:
svx/source/dialog/imapdlg.cxx
Change-Id: Id69a03b0379becc4c267a85eb7567bbbd41ccf82
diff --git a/include/svx/imapdlg.hxx b/include/svx/imapdlg.hxx
index 046e956..20ee521 100644
--- a/include/svx/imapdlg.hxx
+++ b/include/svx/imapdlg.hxx
@@ -130,6 +130,7 @@ class SVX_DLLPUBLIC SvxIMapDlg : public SfxModelessDialog // SfxFloatingWindow
void DoOpen();
bool DoSave();
+ void SetActiveTool( sal_uInt16 nId );
public:
diff --git a/svx/source/dialog/imapdlg.cxx b/svx/source/dialog/imapdlg.cxx
index bc4a046..0716dc9 100644
--- a/svx/source/dialog/imapdlg.cxx
+++ b/svx/source/dialog/imapdlg.cxx
@@ -358,7 +358,7 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void )
DoSave();
else if(nNewItemId == mnSelectId)
{
- pTbx->CheckItem( nNewItemId, true );
+ SetActiveTool( nNewItemId );
pIMapWnd->SetEditMode( true );
if( pTbx->IsKeyEvent() )
{
@@ -370,7 +370,7 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void )
}
else if(nNewItemId == mnRectId)
{
- pTbx->CheckItem( nNewItemId, true );
+ SetActiveTool( nNewItemId );
pIMapWnd->SetObjKind( OBJ_RECT );
if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
{
@@ -380,7 +380,7 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void )
}
else if(nNewItemId == mnCircleId)
{
- pTbx->CheckItem( nNewItemId, true );
+ SetActiveTool( nNewItemId );
pIMapWnd->SetObjKind( OBJ_CIRC );
if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
{
@@ -390,7 +390,7 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void )
}
else if(nNewItemId == mnPolyId)
{
- pTbx->CheckItem( nNewItemId, true );
+ SetActiveTool( nNewItemId );
pIMapWnd->SetObjKind( OBJ_POLY );
if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
{
@@ -400,7 +400,7 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void )
}
else if(nNewItemId == mnFreePolyId)
{
- pTbx->CheckItem( nNewItemId, true );
+ SetActiveTool( nNewItemId );
pIMapWnd->SetObjKind( OBJ_FREEFILL );
if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
{
@@ -421,16 +421,26 @@ IMPL_LINK_TYPED( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx, void )
pIMapWnd->DoPropertyDialog();
else if(nNewItemId == mnPolyEditId)
{
+ SetActiveTool( nNewItemId );
pIMapWnd->SetPolyEditMode( pTbx->IsItemChecked( TBI_POLYEDIT ) ? SID_BEZIER_MOVE : 0 );
if( pTbx->IsKeyEvent() && pTbx->IsItemChecked( TBI_POLYEDIT ) )
pIMapWnd->StartPolyEdit();
}
else if(nNewItemId == mnPolyMoveId)
+ {
+ SetActiveTool( nNewItemId );
pIMapWnd->SetPolyEditMode( SID_BEZIER_MOVE );
+ }
else if(nNewItemId == mnPolyInsertId)
+ {
+ SetActiveTool( nNewItemId );
pIMapWnd->SetPolyEditMode( SID_BEZIER_INSERT );
+ }
else if(nNewItemId == mnPolyDeleteId)
+ {
+ SetActiveTool( nNewItemId );
pIMapWnd->GetSdrView()->DeleteMarkedPoints();
+ }
else if(nNewItemId == mnUndoId)
{
URLLoseFocusHdl( NULL );
@@ -556,6 +566,32 @@ bool SvxIMapDlg::DoSave()
return bRet;
}
+void SvxIMapDlg::SetActiveTool( sal_uInt16 nId )
+{
+ m_pTbxIMapDlg1->CheckItem( mnSelectId, mnSelectId == nId );
+ m_pTbxIMapDlg1->CheckItem( mnRectId, mnRectId == nId );
+ m_pTbxIMapDlg1->CheckItem( mnCircleId, mnCircleId == nId );
+ m_pTbxIMapDlg1->CheckItem( mnPolyId, mnPolyId == nId );
+ m_pTbxIMapDlg1->CheckItem( mnFreePolyId, mnFreePolyId == nId );
+
+ m_pTbxIMapDlg1->CheckItem( mnPolyInsertId, mnPolyInsertId == nId );
+ m_pTbxIMapDlg1->CheckItem( mnPolyDeleteId, false );
+
+ bool bMove = mnPolyMoveId == nId
+ || ( mnPolyEditId == nId
+ && !m_pTbxIMapDlg1->IsItemChecked( TBI_POLYINSERT )
+ && !m_pTbxIMapDlg1->IsItemChecked( TBI_POLYDELETE ) );
+
+ m_pTbxIMapDlg1->CheckItem( mnPolyMoveId, bMove );
+
+ bool bEditMode = ( mnPolyEditId == nId )
+ || ( mnPolyMoveId == nId )
+ || ( mnPolyInsertId == nId )
+ || ( mnPolyDeleteId == nId );
+
+ m_pTbxIMapDlg1->CheckItem( mnPolyEditId, bEditMode );
+}
+
IMPL_LINK( SvxIMapDlg, InfoHdl, IMapWindow*, pWnd )
{
OUString aStr;
commit 85e7df8cf6abb2dad62dd1f50919d76f7487cdec
Author: Oliver Specht <oliver.specht at cib.de>
Date: Tue Oct 6 10:06:27 2015 +0200
tdf#94811: Crash in Open Remote File dialog fixed
Edit control needed a disposeAndClear instead of a clear
Change-Id: I24f4ec8c391080cb83574949cc141c883b43cfb9
Reviewed-on: https://gerrit.libreoffice.org/19185
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Oliver Specht <oliver.specht at cib.de>
(cherry picked from commit f9157d1a21c67db270d52c30785857d2e6c5bf1a)
diff --git a/fpicker/source/office/RemoteFilesDialog.cxx b/fpicker/source/office/RemoteFilesDialog.cxx
index 94f6f3f..2859735 100644
--- a/fpicker/source/office/RemoteFilesDialog.cxx
+++ b/fpicker/source/office/RemoteFilesDialog.cxx
@@ -344,7 +344,7 @@ void RemoteFilesDialog::dispose()
m_pAddService_btn.clear();
m_pServices_lb.clear();
m_pFilter_lb.clear();
- m_pName_ed.clear();
+ m_pName_ed.disposeAndClear();
m_pNewFolder.clear();
ModalDialog::dispose();
commit bf86643b3e71519ae20620fb816b04bba2d99bdb
Author: Szymon KÅ‚os <eszkadev at gmail.com>
Date: Tue May 19 21:32:05 2015 +0200
RemoteFilesDialog
Change-Id: I296ce6233287dac5447462faa4b7404c25297f8b
(cherry picked from commit 87297284782adbf1fcb73663ad2d2a38b5ae1872)
diff --git a/accessibility/inc/accessibility/extended/AccessibleGridControlBase.hxx b/accessibility/inc/accessibility/extended/AccessibleGridControlBase.hxx
index 789f6a3..dacd8fa 100644
--- a/accessibility/inc/accessibility/extended/AccessibleGridControlBase.hxx
+++ b/accessibility/inc/accessibility/extended/AccessibleGridControlBase.hxx
@@ -271,9 +271,6 @@ protected:
/** Changes the name of the object (flat assignment, no notify).
@attention This method requires a locked mutex. */
inline void implSetName( const OUString& rName );
- /** Changes the description of the object (flat assignment, no notify).
- @attention This method requires a locked mutex. */
- inline void implSetDescription( const OUString& rDescription );
/** Locks all mutex's and calculates the bounding box relative to the
parent window.
@@ -369,13 +366,6 @@ inline void AccessibleGridControlBase::implSetName(
m_aName = rName;
}
-inline void AccessibleGridControlBase::implSetDescription(
- const OUString& rDescription )
-{
- m_aDescription = rDescription;
-}
-
-
} // namespace accessibility
diff --git a/accessibility/inc/accessibility/extended/AccessibleGridControlHeaderCell.hxx b/accessibility/inc/accessibility/extended/AccessibleGridControlHeaderCell.hxx
index 0debdbb..6a10f9f 100644
--- a/accessibility/inc/accessibility/extended/AccessibleGridControlHeaderCell.hxx
+++ b/accessibility/inc/accessibility/extended/AccessibleGridControlHeaderCell.hxx
@@ -64,11 +64,6 @@ namespace accessibility
getAccessibleContext()
throw ( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
- inline bool isRowBarCell() const
- {
- return getType() == ::svt::table::TCTYPE_ROWHEADERCELL;
- }
-
/** @return
The name of this class.
*/
diff --git a/accessibility/inc/accessibility/extended/accessibletablistboxtable.hxx b/accessibility/inc/accessibility/extended/accessibletablistboxtable.hxx
index 8c47222..21c2838 100644
--- a/accessibility/inc/accessibility/extended/accessibletablistboxtable.hxx
+++ b/accessibility/inc/accessibility/extended/accessibletablistboxtable.hxx
@@ -65,12 +65,8 @@ private:
/** Returns the row index from cell index. */
inline sal_Int32 implGetRow( sal_Int32 _nIndex ) const { return _nIndex / implGetColumnCount(); }
- /** Returns the column index from cell index. */
- inline sal_Int32 implGetColumn( sal_Int32 _nIndex ) const { return _nIndex % implGetColumnCount(); }
/** Returns the absolute row index of the nSelRow-th selected row. */
sal_Int32 implGetSelRow( sal_Int32 _nSelRow ) const;
- /** Returns the child index from cell position. */
- inline sal_Int32 implGetIndex( sal_Int32 _nRow, sal_Int32 _nColumn ) const { return _nRow * implGetColumnCount() + _nColumn; }
public:
/** ctor()
diff --git a/accessibility/inc/accessibility/helper/IComboListBoxHelper.hxx b/accessibility/inc/accessibility/helper/IComboListBoxHelper.hxx
index c218d0e..c3910b5 100644
--- a/accessibility/inc/accessibility/helper/IComboListBoxHelper.hxx
+++ b/accessibility/inc/accessibility/helper/IComboListBoxHelper.hxx
@@ -42,7 +42,6 @@ namespace accessibility
virtual Rectangle GetDropDownPosSizePixel( ) const = 0;
virtual Rectangle GetBoundingRectangle( sal_uInt16 nItem ) const = 0;
virtual Rectangle GetWindowExtentsRelative( vcl::Window* pRelativeWindow ) = 0;
- virtual bool IsActive() const = 0;
virtual bool IsEnabled() const = 0;
virtual bool IsEntryVisible( sal_Int32 nPos ) const = 0;
virtual sal_uInt16 GetDisplayLineCount() const = 0;
diff --git a/accessibility/inc/accessibility/helper/listboxhelper.hxx b/accessibility/inc/accessibility/helper/listboxhelper.hxx
index 98ee64d..89c5b0c 100644
--- a/accessibility/inc/accessibility/helper/listboxhelper.hxx
+++ b/accessibility/inc/accessibility/helper/listboxhelper.hxx
@@ -81,11 +81,6 @@ public:
return m_aComboListBox.GetWindowExtentsRelative( pRelativeWindow );
}
- virtual bool IsActive() const SAL_OVERRIDE
- {
- return m_aComboListBox.IsActive();
- }
-
virtual bool IsEnabled() const SAL_OVERRIDE
{
return m_aComboListBox.IsEnabled();
diff --git a/accessibility/inc/accessibility/standard/accessiblemenubasecomponent.hxx b/accessibility/inc/accessibility/standard/accessiblemenubasecomponent.hxx
index 3a2b6b9..fe772e4 100644
--- a/accessibility/inc/accessibility/standard/accessiblemenubasecomponent.hxx
+++ b/accessibility/inc/accessibility/standard/accessiblemenubasecomponent.hxx
@@ -64,19 +64,17 @@ protected:
AccessibleChildren m_aAccessibleChildren;
Menu* m_pMenu;
- bool m_bEnabled;
- bool m_bFocused;
- bool m_bVisible;
- bool m_bSelected;
- bool m_bChecked;
-
- Menu* GetMenu() { return m_pMenu; }
-
- virtual bool IsEnabled();
- virtual bool IsFocused();
- virtual bool IsVisible();
- virtual bool IsSelected();
- virtual bool IsChecked();
+ bool m_bEnabled;
+ bool m_bFocused;
+ bool m_bVisible;
+ bool m_bSelected;
+ bool m_bChecked;
+
+ virtual bool IsEnabled();
+ virtual bool IsFocused();
+ virtual bool IsVisible();
+ virtual bool IsSelected();
+ virtual bool IsChecked();
void SetEnabled( bool bEnabled );
void SetFocused( bool bFocused );
diff --git a/accessibility/inc/accessibility/standard/vclxaccessiblebox.hxx b/accessibility/inc/accessibility/standard/vclxaccessiblebox.hxx
index 3e35bfc..110cf9f 100644
--- a/accessibility/inc/accessibility/standard/vclxaccessiblebox.hxx
+++ b/accessibility/inc/accessibility/standard/vclxaccessiblebox.hxx
@@ -137,8 +137,6 @@ public:
virtual ::com::sun::star::uno::Any SAL_CALL getMinimumValue( )
throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
- bool IsDropDownBox() {return m_bIsDropDownBox;};
- BoxType GetBoxType() { return m_aBoxType;};
protected:
/** Specifies whether the box is a combo box or a list box. List boxes
have multi selection.
diff --git a/accessibility/inc/accessibility/standard/vclxaccessiblelistitem.hxx b/accessibility/inc/accessibility/standard/vclxaccessiblelistitem.hxx
index 87db9be..efeeac9 100644
--- a/accessibility/inc/accessibility/standard/vclxaccessiblelistitem.hxx
+++ b/accessibility/inc/accessibility/standard/vclxaccessiblelistitem.hxx
@@ -116,8 +116,6 @@ public:
inline bool IsSelected() const { return m_bSelected; }
void SetSelected( bool _bSelected );
void SetVisible( bool _bVisible );
- inline bool DecrementIndexInParent() { OSL_ENSURE(m_nIndexInParent != 0,"Invalid call!");--m_nIndexInParent; return true;}
- inline bool IncrementIndexInParent() { ++m_nIndexInParent; return true;}
// XInterface
virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
diff --git a/accessibility/inc/accessibility/standard/vclxaccessibletoolboxitem.hxx b/accessibility/inc/accessibility/standard/vclxaccessibletoolboxitem.hxx
index a05f31b..7c7d605 100644
--- a/accessibility/inc/accessibility/standard/vclxaccessibletoolboxitem.hxx
+++ b/accessibility/inc/accessibility/standard/vclxaccessibletoolboxitem.hxx
@@ -83,9 +83,7 @@ public:
void SetFocus( bool _bFocus );
inline bool HasFocus() const { return m_bHasFocus; }
void SetChecked( bool _bCheck );
- inline bool IsChecked() const { return m_bIsChecked; }
void SetIndeterminate( bool _bIndeterminate );
- inline bool IsIndeterminate() const { return m_bIndeterminate; }
inline void ReleaseToolBox() { m_pToolBox = NULL; }
void NameChanged();
void SetChild( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& _xChild );
diff --git a/fpicker/Library_fps_office.mk b/fpicker/Library_fps_office.mk
index c109dce..6c484a0 100644
--- a/fpicker/Library_fps_office.mk
+++ b/fpicker/Library_fps_office.mk
@@ -49,6 +49,7 @@ $(eval $(call gb_Library_add_exception_objects,fps_office,\
fpicker/source/office/OfficeFilePicker \
fpicker/source/office/OfficeFolderPicker \
fpicker/source/office/PlacesListBox \
+ fpicker/source/office/RemoteFilesDialog \
))
# vim: set noet sw=4 ts=4:
diff --git a/fpicker/UIConfig_fps.mk b/fpicker/UIConfig_fps.mk
index c558258..ee8fea5 100644
--- a/fpicker/UIConfig_fps.mk
+++ b/fpicker/UIConfig_fps.mk
@@ -12,6 +12,7 @@ $(eval $(call gb_UIConfig_UIConfig,fps))
$(eval $(call gb_UIConfig_add_uifiles,fps,\
fpicker/uiconfig/ui/explorerfiledialog \
fpicker/uiconfig/ui/foldernamedialog \
+ fpicker/uiconfig/ui/remotefilesdialog \
))
# vim: set noet sw=4 ts=4:
diff --git a/fpicker/source/office/OfficeFilePicker.cxx b/fpicker/source/office/OfficeFilePicker.cxx
index 6fd28ed..5fb8edc 100644
--- a/fpicker/source/office/OfficeFilePicker.cxx
+++ b/fpicker/source/office/OfficeFilePicker.cxx
@@ -20,6 +20,7 @@
#include "OfficeFilePicker.hxx"
#include "iodlg.hxx"
+#include "RemoteFilesDialog.hxx"
#include <list>
#include <functional>
@@ -463,7 +464,7 @@ sal_Int16 SvtFilePicker::implExecutePicker( )
}
-VclPtr<SvtFileDialog> SvtFilePicker::implCreateDialog( vcl::Window* _pParent )
+VclPtr<SvtFileDialog_Base> SvtFilePicker::implCreateDialog( vcl::Window* _pParent )
{
WinBits nExtraBits;
WinBits nBits = getWinBits( nExtraBits );
@@ -491,6 +492,13 @@ IMPLEMENT_FORWARD_XINTERFACE2( SvtFilePicker, OCommonPicker, SvtFilePicker_Base
IMPLEMENT_FORWARD_XTYPEPROVIDER2( SvtFilePicker, OCommonPicker, SvtFilePicker_Base )
+IMPLEMENT_FORWARD_XINTERFACE3( SvtRemoteFilePicker, SvtFilePicker, OCommonPicker, SvtFilePicker_Base )
+
+
+// disambiguate XTypeProvider
+
+IMPLEMENT_FORWARD_XTYPEPROVIDER3( SvtRemoteFilePicker, SvtFilePicker, OCommonPicker, SvtFilePicker_Base )
+
// XExecutableDialog functions
@@ -1165,4 +1173,73 @@ Reference< XInterface > SAL_CALL SvtFilePicker::impl_createInstance(
return Reference< XInterface >( *new SvtFilePicker( xServiceManager ) );
}
+// SvtRemoteFilePicker
+
+SvtRemoteFilePicker::SvtRemoteFilePicker( const Reference < XMultiServiceFactory >& xFactory )
+ :SvtFilePicker( xFactory )
+{
+}
+
+VclPtr<SvtFileDialog_Base> SvtRemoteFilePicker::implCreateDialog( vcl::Window* _pParent )
+{
+ WinBits nExtraBits;
+ WinBits nBits = getWinBits( nExtraBits );
+
+ VclPtrInstance<RemoteFilesDialog> dialog( _pParent, nBits); // TODO: extrabits
+
+ // Set StandardDir if present
+ if ( !m_aStandardDir.isEmpty())
+ {
+ OUString sStandardDir = m_aStandardDir;
+ dialog->SetStandardDir( sStandardDir );
+ dialog->SetBlackList( m_aBlackList );
+ }
+
+ return dialog;
+}
+
+// XServiceInfo
+
+
+/* XServiceInfo */
+OUString SAL_CALL SvtRemoteFilePicker::getImplementationName() throw( RuntimeException, std::exception )
+{
+ return impl_getStaticImplementationName();
+}
+
+/* XServiceInfo */
+sal_Bool SAL_CALL SvtRemoteFilePicker::supportsService( const OUString& sServiceName ) throw( RuntimeException, std::exception )
+{
+ return cppu::supportsService(this, sServiceName);
+}
+
+/* XServiceInfo */
+Sequence< OUString > SAL_CALL SvtRemoteFilePicker::getSupportedServiceNames() throw( RuntimeException, std::exception )
+{
+ return impl_getStaticSupportedServiceNames();
+}
+
+/* Helper for XServiceInfo */
+Sequence< OUString > SvtRemoteFilePicker::impl_getStaticSupportedServiceNames()
+{
+ Sequence< OUString > seqServiceNames( 1 );
+ OUString* pArray = seqServiceNames.getArray();
+ pArray[0] = "com.sun.star.ui.dialogs.RemoteFilePicker";
+ return seqServiceNames ;
+}
+
+/* Helper for XServiceInfo */
+OUString SvtRemoteFilePicker::impl_getStaticImplementationName()
+{
+ return OUString( "com.sun.star.svtools.RemoteFilePicker" );
+}
+
+/* Helper for registry */
+Reference< XInterface > SAL_CALL SvtRemoteFilePicker::impl_createInstance(
+ const Reference< XComponentContext >& rxContext) throw( Exception )
+{
+ Reference< XMultiServiceFactory > xServiceManager (rxContext->getServiceManager(), UNO_QUERY_THROW);
+ return Reference< XInterface >( *new SvtRemoteFilePicker( xServiceManager ) );
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/fpicker/source/office/OfficeFilePicker.hxx b/fpicker/source/office/OfficeFilePicker.hxx
index fa8313e..df6ad1c 100644
--- a/fpicker/source/office/OfficeFilePicker.hxx
+++ b/fpicker/source/office/OfficeFilePicker.hxx
@@ -61,7 +61,7 @@ class SvtFilePicker :public SvtFilePicker_Base
,public ::svt::OCommonPicker
,public ::svt::IFilePickerListener
{
-private:
+protected:
FilterList* m_pFilterList;
ElementList* m_pElemList;
@@ -205,14 +205,14 @@ protected:
// OCommonPicker overridables
- virtual VclPtr<SvtFileDialog> implCreateDialog( vcl::Window* _pParent ) SAL_OVERRIDE;
+ virtual VclPtr<SvtFileDialog_Base> implCreateDialog( vcl::Window* _pParent ) SAL_OVERRIDE;
virtual sal_Int16 implExecutePicker( ) SAL_OVERRIDE;
virtual bool implHandleInitializationArgument(
const OUString& _rName,
const ::com::sun::star::uno::Any& _rValue
) SAL_OVERRIDE;
-private:
+protected:
WinBits getWinBits( WinBits& rExtraBits );
virtual void notify( sal_Int16 _nEventId, sal_Int16 _nControlId ) SAL_OVERRIDE;
@@ -226,6 +226,39 @@ private:
DECL_LINK( DialogClosedHdl, Dialog* );
};
+// SvtRemoteFilePicker
+
+class SvtRemoteFilePicker : public SvtFilePicker
+{
+public:
+ SvtRemoteFilePicker( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory >& xFactory );
+
+ virtual VclPtr<SvtFileDialog_Base> implCreateDialog( vcl::Window* _pParent ) SAL_OVERRIDE;
+
+ // disambiguate XInterface
+
+ DECLARE_XINTERFACE( )
+
+ // disambiguate XTypeProvider
+
+ DECLARE_XTYPEPROVIDER( )
+
+ /* XServiceInfo */
+ virtual OUString SAL_CALL getImplementationName() throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
+ virtual sal_Bool SAL_CALL supportsService( const OUString& sServiceName ) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
+ virtual com::sun::star::uno::Sequence< OUString > SAL_CALL
+ getSupportedServiceNames() throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
+
+ /* Helper for XServiceInfo */
+ static com::sun::star::uno::Sequence< OUString > impl_getStaticSupportedServiceNames();
+ static OUString impl_getStaticImplementationName();
+
+ /* Helper for registry */
+ static ::com::sun::star::uno::Reference< com::sun::star::uno::XInterface > SAL_CALL impl_createInstance (
+ const ::com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxContext )
+ throw( com::sun::star::uno::Exception );
+};
+
#endif // INCLUDED_FPICKER_SOURCE_OFFICE_OFFICEFILEPICKER_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/fpicker/source/office/OfficeFolderPicker.cxx b/fpicker/source/office/OfficeFolderPicker.cxx
index 8f52485..33a3e53 100644
--- a/fpicker/source/office/OfficeFolderPicker.cxx
+++ b/fpicker/source/office/OfficeFolderPicker.cxx
@@ -69,7 +69,7 @@ void SAL_CALL SvtFolderPicker::startExecuteModal( const Reference< ::com::sun::s
getDialog()->StartExecuteModal( LINK( this, SvtFolderPicker, DialogClosedHdl ) );
}
-VclPtr<SvtFileDialog> SvtFolderPicker::implCreateDialog( vcl::Window* _pParent )
+VclPtr<SvtFileDialog_Base> SvtFolderPicker::implCreateDialog( vcl::Window* _pParent )
{
return VclPtr<SvtFileDialog>::Create( _pParent, SFXWB_PATHDIALOG );
}
diff --git a/fpicker/source/office/OfficeFolderPicker.hxx b/fpicker/source/office/OfficeFolderPicker.hxx
index 266c99c..b2697ae 100644
--- a/fpicker/source/office/OfficeFolderPicker.hxx
+++ b/fpicker/source/office/OfficeFolderPicker.hxx
@@ -99,7 +99,7 @@ protected:
// OCommonPicker overridables
- virtual VclPtr<SvtFileDialog> implCreateDialog( vcl::Window* _pParent ) SAL_OVERRIDE;
+ virtual VclPtr<SvtFileDialog_Base> implCreateDialog( vcl::Window* _pParent ) SAL_OVERRIDE;
virtual sal_Int16 implExecutePicker( ) SAL_OVERRIDE;
};
diff --git a/fpicker/source/office/RemoteFilesDialog.cxx b/fpicker/source/office/RemoteFilesDialog.cxx
new file mode 100644
index 0000000..94f6f3f
--- /dev/null
+++ b/fpicker/source/office/RemoteFilesDialog.cxx
@@ -0,0 +1,1498 @@
+/* -*- Mode: C++; 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/.
+ */
+#include "RemoteFilesDialog.hxx"
+
+class FileViewContainer : public vcl::Window
+{
+ enum FocusState
+ {
+ Prev = 0,
+ TreeView,
+ FileView,
+ Next,
+ FocusCount
+ };
+
+ private:
+ VclPtr< SvtFileView > m_pFileView;
+ VclPtr< FolderTree > m_pTreeView;
+ VclPtr< Splitter > m_pSplitter;
+
+ int m_nCurrentFocus;
+ VclPtr<vcl::Window> m_pFocusWidgets[FocusState::FocusCount];
+
+ public:
+ FileViewContainer( vcl::Window *pParent )
+ : Window( pParent, WB_TABSTOP )
+ , m_pFileView( NULL )
+ , m_pTreeView( NULL )
+ , m_pSplitter( NULL )
+ , m_nCurrentFocus( 0 )
+ {
+ }
+
+ virtual ~FileViewContainer()
+ {
+ disposeOnce();
+ }
+
+ virtual void dispose() SAL_OVERRIDE
+ {
+ m_pFileView.clear();
+ m_pTreeView.clear();
+ m_pSplitter.clear();
+ vcl::Window::dispose();
+ }
+
+ void init( SvtFileView* pFileView,
+ Splitter* pSplitter,
+ FolderTree* pTreeView,
+ vcl::Window* pPrevSibling,
+ vcl::Window* pNextSibling )
+ {
+ m_pFileView = pFileView;
+ m_pTreeView = pTreeView;
+ m_pSplitter = pSplitter;
+ m_pFocusWidgets[FocusState::Prev] = pPrevSibling;
+ m_pFocusWidgets[FocusState::TreeView] = pTreeView;
+ m_pFocusWidgets[FocusState::FileView] = pFileView;
+ m_pFocusWidgets[FocusState::Next] = pNextSibling;
+ }
+
+ virtual void Resize() SAL_OVERRIDE
+ {
+ Window::Resize();
+
+ if( !m_pFileView || !m_pTreeView )
+ return;
+
+ Size aSize = GetSizePixel();
+ Point aPos( m_pFileView->GetPosPixel() );
+ Size aNewSize( aSize.Width() - aPos.X(), aSize.Height() );
+
+ m_pFileView->SetSizePixel( aNewSize );
+
+ // Resize the Splitter to fit the height
+ Size splitterNewSize = m_pSplitter->GetSizePixel();
+ splitterNewSize.Height() = aSize.Height();
+ m_pSplitter->SetSizePixel( splitterNewSize );
+ sal_Int32 nMinX = m_pTreeView->GetPosPixel().X();
+ sal_Int32 nMaxX = m_pFileView->GetPosPixel().X() + m_pFileView->GetSizePixel().Width() - nMinX;
+ m_pSplitter->SetDragRectPixel( Rectangle( Point( nMinX, 0 ), Size( nMaxX, aSize.Width() ) ) );
+
+ // Resize the tree list box to fit the height of the FileView
+ Size placesNewSize( m_pTreeView->GetSizePixel() );
+ placesNewSize.Height() = aSize.Height();
+ m_pTreeView->SetSizePixel( placesNewSize );
+ }
+
+ void changeFocus( bool bReverse )
+ {
+ if( !m_pFileView || !m_pTreeView )
+ return;
+
+ if( bReverse && m_nCurrentFocus > FocusState::Prev && m_nCurrentFocus <= FocusState::Next )
+ {
+ m_pFocusWidgets[m_nCurrentFocus]->SetFakeFocus(false);
+ m_pFocusWidgets[m_nCurrentFocus]->LoseFocus();
+
+ m_pFocusWidgets[--m_nCurrentFocus]->SetFakeFocus( true );
+ m_pFocusWidgets[m_nCurrentFocus]->GrabFocus();
+ }
+ else if( !bReverse && m_nCurrentFocus >= FocusState::Prev && m_nCurrentFocus < FocusState::Next )
+ {
+ m_pFocusWidgets[m_nCurrentFocus]->SetFakeFocus(false);
+ m_pFocusWidgets[m_nCurrentFocus]->LoseFocus();
+
+ m_pFocusWidgets[++m_nCurrentFocus]->SetFakeFocus( true );
+ m_pFocusWidgets[m_nCurrentFocus]->GrabFocus();
+ }
+ }
+
+ virtual void GetFocus() SAL_OVERRIDE
+ {
+ if( !m_pFileView || !m_pTreeView )
+ return;
+
+ sal_uInt16 aFlags = GetGetFocusFlags();
+
+ if( aFlags & GETFOCUS_FORWARD )
+ m_nCurrentFocus = FocusState::TreeView;
+ else if( aFlags & GETFOCUS_BACKWARD )
+ m_nCurrentFocus = FocusState::FileView;
+
+ if( m_nCurrentFocus >= FocusState::Prev && m_nCurrentFocus <= FocusState::Next )
+ {
+ m_pFocusWidgets[m_nCurrentFocus]->SetFakeFocus( true );
+ m_pFocusWidgets[m_nCurrentFocus]->GrabFocus();
+ }
+ }
+
+ virtual bool Notify( NotifyEvent& rNEvt ) SAL_OVERRIDE
+ {
+ if( rNEvt.GetType() == MouseNotifyEvent::GETFOCUS )
+ {
+ // we must also update counter when user change focus using mouse
+ for(int i = FocusState::Prev; i <= FocusState::Next; i++)
+ {
+ if( rNEvt.GetWindow() == m_pFocusWidgets[i] )
+ {
+ m_nCurrentFocus = i;
+ return true;
+ }
+ }
+
+ // GETFOCUS for one of FileView's subcontrols
+ m_nCurrentFocus = FocusState::FileView;
+ return true;
+ }
+ if( rNEvt.GetType() == MouseNotifyEvent::KEYINPUT )
+ {
+ const KeyEvent* pKeyEvent = rNEvt.GetKeyEvent();
+ const vcl::KeyCode& rCode = pKeyEvent->GetKeyCode();
+ bool bShift = rCode.IsShift();
+ if( rCode.GetCode() == KEY_TAB )
+ {
+ changeFocus( bShift );
+ return true;
+ }
+ }
+ return Window::Notify( rNEvt );
+ }
+};
+
+RemoteFilesDialog::RemoteFilesDialog( vcl::Window* pParent, WinBits nBits )
+ : SvtFileDialog_Base( pParent, "RemoteFilesDialog", "fps/ui/remotefilesdialog.ui" )
+ , m_xContext( comphelper::getProcessComponentContext() )
+ , m_xMasterPasswd( PasswordContainer::create( m_xContext ) )
+ , m_nWidth( 0 )
+ , m_nHeight( 0 )
+ , m_pCurrentAsyncAction( NULL )
+ , m_pFileNotifier( NULL )
+ , m_pSplitter( NULL )
+ , m_pFileView( NULL )
+ , m_pContainer( NULL )
+ , m_pAddMenu( NULL )
+{
+ get( m_pCancel_btn, "cancel" );
+ get( m_pAddService_btn, "add_service_btn" );
+ get( m_pServices_lb, "services_lb" );
+ get( m_pFilter_lb, "filter_lb" );
+ get( m_pNewFolder, "new_folder" );
+
+ m_eMode = ( nBits & WB_SAVEAS ) ? REMOTEDLG_MODE_SAVE : REMOTEDLG_MODE_OPEN;
+ m_eType = ( nBits & WB_PATH ) ? REMOTEDLG_TYPE_PATHDLG : REMOTEDLG_TYPE_FILEDLG;
+ m_bMultiselection = ( nBits & SFXWB_MULTISELECTION ) != 0;
+ m_bIsUpdated = false;
+ m_bIsConnected = false;
+ m_bServiceChanged = false;
+ m_nCurrentFilter = LISTBOX_ENTRY_NOTFOUND;
+
+ m_pName_ed = VclPtr< AutocompleteEdit >::Create( get< vcl::Window >( "filename_container" ) );
+ m_pName_ed->Show();
+
+ m_pFilter_lb->Enable( false );
+ m_pName_ed->Enable( false );
+
+ if( m_eMode == REMOTEDLG_MODE_OPEN )
+ {
+ get( m_pOk_btn, "open" );
+
+ m_pNewFolder->Hide();
+ }
+ else
+ {
+ get( m_pOk_btn, "save" );
+
+ m_aImages = ImageList( fpicker::SvtResId( RID_FILEPICKER_IMAGES ) );
+ m_pNewFolder->SetModeImage( m_aImages.GetImage( IMG_FILEDLG_CREATEFOLDER ) );
+ m_pNewFolder->SetClickHdl( LINK( this, RemoteFilesDialog, NewFolderHdl ) );
+ }
+
+ m_pOk_btn->Show();
+ m_pOk_btn->Enable( false );
+
+ m_pOk_btn->SetClickHdl( LINK( this, RemoteFilesDialog, OkHdl ) );
+ m_pCancel_btn->SetClickHdl( LINK( this, RemoteFilesDialog, CancelHdl ) );
+
+ m_sRootLabel = fpicker::SvtResId( STR_SVT_ROOTLABEL );
+ m_pPath = VclPtr<Breadcrumb>::Create( get< vcl::Window >( "breadcrumb_container" ) );
+ m_pPath->set_hexpand( true );
+ m_pPath->SetClickHdl( LINK( this, RemoteFilesDialog, SelectBreadcrumbHdl ) );
+ m_pPath->SetMode( SvtBreadcrumbMode::ALL_VISITED );
+ m_pPath->Show();
+
+ m_pContainer = VclPtr< FileViewContainer >::Create( get< vcl::Window >("container") );
+
+ m_pContainer->set_hexpand( true );
+ m_pContainer->set_vexpand( true );
+
+ m_pFileView = VclPtr< SvtFileView >::Create( m_pContainer, WB_BORDER | WB_TABSTOP,
+ REMOTEDLG_TYPE_PATHDLG == m_eType,
+ m_bMultiselection, false );
+
+ m_pFileView->Show();
+ m_pFileView->EnableAutoResize();
+ m_pFileView->SetDoubleClickHdl( LINK( this, RemoteFilesDialog, DoubleClickHdl ) );
+ m_pFileView->SetSelectHdl( LINK( this, RemoteFilesDialog, SelectHdl ) );
+ m_pFileView->EnableDelete( true );
+
+ m_pSplitter = VclPtr< Splitter >::Create( m_pContainer, WB_HSCROLL );
+ m_pSplitter->SetBackground( Wallpaper( Application::GetSettings().GetStyleSettings().GetFaceColor() ) );
+ m_pSplitter->SetSplitHdl( LINK( this, RemoteFilesDialog, SplitHdl ) );
+ m_pSplitter->Show();
+
+ m_pTreeView = VclPtr< FolderTree >::Create( m_pContainer, WB_BORDER );
+ Size aSize( 150, 200 );
+ m_pTreeView->set_height_request( aSize.Height() );
+ m_pTreeView->set_width_request( aSize.Width() );
+ m_pTreeView->SetSizePixel( aSize );
+ m_pTreeView->Show();
+
+ m_pTreeView->SetSelectHdl( LINK( this, RemoteFilesDialog, TreeSelectHdl ) );
+
+ sal_Int32 nPosX = m_pTreeView->GetSizePixel().Width();
+ m_pSplitter->SetPosPixel( Point( nPosX, 0 ) );
+ nPosX += m_pSplitter->GetSizePixel().Width();
+ m_pFileView->SetPosPixel( Point( nPosX, 0 ) );
+
+ m_pContainer->init( m_pFileView, m_pSplitter, m_pTreeView, m_pAddService_btn, m_pFilter_lb );
+ m_pContainer->Show();
+ m_pContainer->Enable( false );
+
+ m_sIniKey = "RemoteFilesDialog";
+ InitSize();
+
+ m_pName_ed->SetGetFocusHdl( LINK( this, RemoteFilesDialog, FileNameGetFocusHdl ) );
+ m_pName_ed->SetModifyHdl( LINK( this, RemoteFilesDialog, FileNameModifyHdl ) );
+
+ m_pAddService_btn->SetMenuMode( MENUBUTTON_MENUMODE_TIMED );
+ m_pAddMenu = m_pAddService_btn->GetPopupMenu();
+ m_pAddService_btn->SetClickHdl( LINK( this, RemoteFilesDialog, AddServiceHdl ) );
+ m_pAddService_btn->SetSelectHdl( LINK( this, RemoteFilesDialog, EditServiceMenuHdl ) );
+
+ FillServicesListbox();
+
+ m_pServices_lb->SetSelectHdl( LINK( this, RemoteFilesDialog, SelectServiceHdl ) );
+
+ m_pFilter_lb->SetSelectHdl( LINK( this, RemoteFilesDialog, SelectFilterHdl ) );
+}
+
+RemoteFilesDialog::~RemoteFilesDialog()
+{
+ disposeOnce();
+}
+
+void RemoteFilesDialog::dispose()
+{
+ m_pFileView->SetSelectHdl( Link<>() );
+
+ // save window state
+ if( !m_sIniKey.isEmpty() )
+ {
+ SvtViewOptions aDlgOpt( E_DIALOG, m_sIniKey );
+ aDlgOpt.SetWindowState( OStringToOUString( GetWindowState(), osl_getThreadTextEncoding() ) );
+
+ Size aSize( GetSizePixel() );
+
+ OUString sSize = OUString::number( aSize.Width() ) + "|";
+ sSize = sSize + OUString::number( aSize.Height() ) + "|";
+
+ OUString sUserData = m_pFileView->GetConfigString();
+ aDlgOpt.SetUserItem( OUString( "UserData" ),
+ makeAny( sSize + sUserData ) );
+ }
+
+ // save services
+ std::shared_ptr< comphelper::ConfigurationChanges > batch( comphelper::ConfigurationChanges::create( m_xContext ) );
+
+ officecfg::Office::Common::Misc::FilePickerLastService::set( m_sLastServiceUrl, batch );
+
+ if( m_bIsUpdated )
+ {
+ Sequence< OUString > placesUrlsList( m_aServices.size() );
+ Sequence< OUString > placesNamesList( m_aServices.size() );
+
+ int i = 0;
+ for( std::vector< ServicePtr >::const_iterator it = m_aServices.begin(); it != m_aServices.end(); ++it )
+ {
+ placesUrlsList[i] = ( *it )->GetUrl();
+ placesNamesList[i] = ( *it )->GetName();
+ ++i;
+ }
+
+ officecfg::Office::Common::Misc::FilePickerPlacesUrls::set( placesUrlsList, batch );
+ officecfg::Office::Common::Misc::FilePickerPlacesNames::set( placesNamesList, batch );
+ }
+
+ batch->commit();
+
+ m_pTreeView.disposeAndClear();
+ m_pFileView.disposeAndClear();
+ m_pSplitter.disposeAndClear();
+ m_pContainer.disposeAndClear();
+ m_pPath.disposeAndClear();
+
+ m_pOk_btn.clear();
+ m_pCancel_btn.clear();
+ m_pAddService_btn.clear();
+ m_pServices_lb.clear();
+ m_pFilter_lb.clear();
+ m_pName_ed.clear();
+ m_pNewFolder.clear();
+
+ ModalDialog::dispose();
+}
+
+void RemoteFilesDialog::Resize()
+{
+ ModalDialog::Resize();
+
+ if( m_pFileView && m_pContainer )
+ {
+ Size aSize = m_pContainer->GetSizePixel();
+ m_pFileView->SetSizePixel( aSize );
+ }
+ Invalidate(INVALIDATE_UPDATE);
+}
+
+short RemoteFilesDialog::Execute()
+{
+ if( m_pServices_lb->GetEntryCount() == 0 )
+ {
+ Show();
+ AddServiceHdl( NULL );
+ }
+ if( m_pServices_lb->GetEntryCount() > 0 )
+ {
+ Show();
+ SelectServiceHdl( NULL );
+ }
+ if( !m_bIsConnected )
+ {
+ m_pServices_lb->SetNoSelection();
+ }
+
+ short nRet = SvtFileDialog_Base::Execute();
+
+ return nRet;
+}
+
+void RemoteFilesDialog::Show()
+{
+ SvtFileDialog_Base::Show(true, 0);
+
+ if( m_nWidth > 0 && m_nHeight > 0 )
+ {
+ Size aSize( m_nWidth, m_nHeight );
+ SetSizePixel( aSize );
+ }
+}
+
+OUString lcl_GetServiceType( ServicePtr pService )
+{
+ INetProtocol aProtocol = pService->GetUrlObject().GetProtocol();
+ switch( aProtocol )
+ {
+ case INetProtocol::Ftp:
+ return OUString( "FTP" );
+ case INetProtocol::Cmis:
+ {
+ OUString sHost = pService->GetUrlObject().GetHost( INetURLObject::DECODE_WITH_CHARSET );
+
+ if( sHost.startsWith( GDRIVE_BASE_URL ) )
+ return OUString( "Google Drive" );
+ else if( sHost.startsWith( ALFRESCO_CLOUD_BASE_URL ) )
+ return OUString( "Alfresco Cloud" );
+ else if( sHost.startsWith( ONEDRIVE_BASE_URL ) )
+ return OUString( "OneDrive" );
+
+ return OUString( "CMIS" );
+ }
+ case INetProtocol::Smb:
+ return OUString( "Windows Share" );
+ case INetProtocol::File:
+ return OUString( "SSH" );
+ case INetProtocol::Http:
+ return OUString( "WebDAV" );
+ case INetProtocol::Https:
+ return OUString( "WebDAV" );
+ case INetProtocol::Generic:
+ return OUString( "SSH" );
+ default:
+ return OUString( "" );
+ }
+}
+
+void RemoteFilesDialog::InitSize()
+{
+ if( m_sIniKey.isEmpty() )
+ return;
+
+ // initialize from config
+ SvtViewOptions aDlgOpt( E_DIALOG, m_sIniKey );
+
+ if( aDlgOpt.Exists() )
+ {
+ SetWindowState( OUStringToOString( aDlgOpt.GetWindowState(), osl_getThreadTextEncoding() ) );
+
+ Any aUserData = aDlgOpt.GetUserItem( OUString( "UserData" ) );
+ OUString sCfgStr;
+ if( aUserData >>= sCfgStr )
+ {
+ int nPos = sCfgStr.indexOf( "|" );
+ if( nPos != -1 )
+ {
+ nPos = sCfgStr.indexOf( "|", nPos + 1 );
+ if( nPos != -1 )
+ {
+ sal_Int32 nIdx = 0;
+ m_nWidth = sCfgStr.getToken( 0, '|', nIdx ).toInt32();
+ m_nHeight = sCfgStr.getToken( 0, '|', nIdx ).toInt32();
+
+ m_pFileView->SetConfigString( sCfgStr.copy( nPos + 1) );
+ }
+ }
+ }
+ }
+}
+
+void RemoteFilesDialog::FillServicesListbox()
+{
+ m_pServices_lb->Clear();
+ m_aServices.clear();
+
+ // Load from user settings
+ Sequence< OUString > placesUrlsList( officecfg::Office::Common::Misc::FilePickerPlacesUrls::get( m_xContext ) );
+ Sequence< OUString > placesNamesList( officecfg::Office::Common::Misc::FilePickerPlacesNames::get( m_xContext ) );
+
+ unsigned int nPos = 0;
+ unsigned int i = 0;
+
+ m_sLastServiceUrl = officecfg::Office::Common::Misc::FilePickerLastService::get( m_xContext );
+
+ for( sal_Int32 nPlace = 0; nPlace < placesUrlsList.getLength() && nPlace < placesNamesList.getLength(); ++nPlace )
+ {
+ ServicePtr pService( new Place( placesNamesList[nPlace], placesUrlsList[nPlace], true ) );
+ m_aServices.push_back( pService );
+
+ // Add to the listbox only remote services, not local bookmarks
+ if( !pService->IsLocal() )
+ {
+ OUString sPrefix = lcl_GetServiceType( pService );
+
+ if( !sPrefix.isEmpty() )
+ sPrefix += ": ";
+
+ if( placesUrlsList[nPlace] == m_sLastServiceUrl )
+ nPos = i;
+
+ m_pServices_lb->InsertEntry( sPrefix + placesNamesList[nPlace] );
+
+ i++;
+ }
+ }
+
+ if( m_pServices_lb->GetEntryCount() > 0 )
+ {
+ m_pServices_lb->SelectEntryPos( nPos );
+ m_pAddService_btn->SetPopupMenu( m_pAddMenu );
+ }
+ else
+ m_pAddService_btn->SetPopupMenu( NULL );
+
+ EnableControls();
+}
+
+int RemoteFilesDialog::GetSelectedServicePos()
+{
+ int nSelected = m_pServices_lb->GetSelectEntryPos();
+ int nPos = 0;
+ int i = -1;
+
+ if( m_aServices.size() == 0 )
+ return -1;
+
+ while( nPos < ( int )m_aServices.size() )
+ {
+ while( m_aServices[nPos]->IsLocal() )
+ nPos++;
+ i++;
+ if( i == nSelected )
+ break;
+ nPos++;
+ }
+
+ return nPos;
+}
+
+void RemoteFilesDialog::AddFilter( const OUString& rFilter, const OUString& rType )
+{
+ OUString sName = rFilter;
+
+ if ( rType.isEmpty() )
+ sName = "------------------------------------------";
+
+ m_aFilters.push_back( std::pair< OUString, OUString >( rFilter, rType ) );
+ m_pFilter_lb->InsertEntry( sName );
+
+ if( m_pFilter_lb->GetSelectEntryPos() == LISTBOX_ENTRY_NOTFOUND )
+ m_pFilter_lb->SelectEntryPos( 0 );
+}
+
+OUString RemoteFilesDialog::GetPath() const
+{
+ return m_sPath;
+}
+
+FileViewResult RemoteFilesDialog::OpenURL( OUString const & sURL )
+{
+ FileViewResult eResult = eFailure;
+
+ if( m_pFileView )
+ {
+ m_pTreeView->EndSelection();
+ DisableControls();
+
+ EnableChildPointerOverwrite( true );
+ SetPointer( PointerStyle::Wait );
+ Invalidate(INVALIDATE_UPDATE);
+
+ if( !sURL.isEmpty() )
+ {
+ OUString sFilter = FILEDIALOG_FILTER_ALL;
+
+ if( m_nCurrentFilter != LISTBOX_ENTRY_NOTFOUND )
+ {
+ sFilter = m_aFilters[m_nCurrentFilter].second;
+ }
+
+ m_pFileView->EndInplaceEditing( false );
+
+ DBG_ASSERT( !m_pCurrentAsyncAction.is(), "SvtFileDialog::executeAsync: previous async action not yet finished!" );
+
+ m_pCurrentAsyncAction = new AsyncPickerAction( this, m_pFileView, AsyncPickerAction::Action::eOpenURL );
+
+ // -1 timeout - sync
+ m_pCurrentAsyncAction->execute( sURL, sFilter, -1, -1, GetBlackList() );
+
+ if( m_eMode != REMOTEDLG_MODE_SAVE )
+ m_pName_ed->SetText( "" );
+
+ m_pFileView->GrabFocus();
+ }
+ else
+ {
+ SetPointer( PointerStyle::Arrow );
+ EnableChildPointerOverwrite( false );
+
+ // content doesn't exist
+ ErrorHandler::HandleError( ERRCODE_IO_NOTEXISTS );
+
+ EnableControls();
+ return eFailure;
+ }
+
+ SetPointer( PointerStyle::Arrow );
+ EnableChildPointerOverwrite( false );
+ }
+
+ return eResult;
+}
+
+void RemoteFilesDialog::AddFileExtension()
+{
+ if( m_nCurrentFilter != LISTBOX_ENTRY_NOTFOUND )
+ {
+ OUString sExt = m_aFilters[m_nCurrentFilter].second;
+ OUString sFileName = m_pName_ed->GetText();
+
+ sal_Int32 nDotPos = sFileName.lastIndexOf( '.' );
+
+ if ( nDotPos == -1 )
+ {
+ sFileName += sExt.copy( 1 ); // without '*'
+ m_pName_ed->SetText( sFileName );
+ }
+ }
+}
+
+void RemoteFilesDialog::EnableControls()
+{
+ if( m_pServices_lb->GetEntryCount() > 0 )
+ {
+ m_pServices_lb->Enable( true );
+
+ if( m_pServices_lb->GetSelectEntryCount() )
+ {
+ m_pAddMenu->EnableItem( "change_password", false );
+
+ try
+ {
+ if( m_xMasterPasswd->isPersistentStoringAllowed() )
+ {
+ int nPos = GetSelectedServicePos();
+
+ if( nPos >= 0 )
+ {
+ OUString sUrl( m_aServices[nPos]->GetUrl() );
+
+ UrlRecord aURLEntries = m_xMasterPasswd->find( sUrl, Reference< XInteractionHandler>() );
+
+ if( aURLEntries.UserList.getLength() )
+ {
+ m_pAddMenu->EnableItem( "change_password" );
+ }
+ }
+ }
+ }
+ catch( const Exception& )
+ {}
+ }
+ }
+ else
+ m_pServices_lb->Enable( false );
+
+ if( m_bIsConnected )
+ {
+ m_pFilter_lb->Enable( true );
+ m_pName_ed->Enable( true );
+ m_pContainer->Enable( true );
+
+ if( !m_pName_ed->GetText().isEmpty() )
+ m_pOk_btn->Enable( true );
+ else
+ m_pOk_btn->Enable( false );
+ }
+ else
+ {
+ m_pFilter_lb->Enable( false );
+ m_pName_ed->Enable( false );
+ m_pContainer->Enable( false );
+ m_pOk_btn->Enable( false );
+ }
+
+ m_pPath->EnableFields( true );
+ m_pAddService_btn->Enable( true );
+
+ Invalidate(INVALIDATE_UPDATE);
+}
+
+void RemoteFilesDialog::DisableControls()
+{
+ m_pServices_lb->Enable( false );
+ m_pFilter_lb->Enable( false );
+ m_pAddService_btn->Enable( false );
+ m_pName_ed->Enable( false );
+ m_pContainer->Enable( false );
+ m_pOk_btn->Enable( false );
+ m_pPath->EnableFields( false );
+
+ m_pCancel_btn->Enable( true );
+}
+
+void RemoteFilesDialog::SavePassword( const OUString& rURL, const OUString& rUser
+ , const OUString& rPassword, bool bPersistent )
+{
+ if( rURL.isEmpty() || rUser.isEmpty() || rPassword.isEmpty() )
+ return;
+
+ try
+ {
+ if( !bPersistent ||
+ ( m_xMasterPasswd->isPersistentStoringAllowed()
+ && m_xMasterPasswd->authorizateWithMasterPassword( Reference< XInteractionHandler>() ) )
+ )
+ {
+ Reference< XInteractionHandler > xInteractionHandler(
+ InteractionHandler::createWithParent( m_xContext, 0 ),
+ UNO_QUERY );
+
+ Sequence< OUString > aPasswd( 1 );
+ aPasswd[0] = rPassword;
+
+ if( bPersistent )
+ m_xMasterPasswd->addPersistent(
+ rURL, rUser, aPasswd, xInteractionHandler );
+ else
+ m_xMasterPasswd->add( rURL, rUser, aPasswd, xInteractionHandler );
+ }
+ }
+ catch( const Exception& )
+ {}
+}
+
+IMPL_LINK_NOARG ( RemoteFilesDialog, AddServiceHdl )
+{
+ ScopedVclPtrInstance< PlaceEditDialog > aDlg( this );
+ aDlg->ShowPasswordControl();
+ short aRetCode = aDlg->Execute();
+
+ switch( aRetCode )
+ {
+ case RET_OK :
+ {
+ ServicePtr newService = aDlg->GetPlace();
+ m_aServices.push_back( newService );
+
+ OUString sPassword = aDlg->GetPassword();
+ OUString sUser = aDlg->GetUser();
+ if( !sUser.isEmpty() && !sPassword.isEmpty() )
+ {
+ bool bPersistent = aDlg->IsRememberChecked();
+ SavePassword( newService->GetUrl(), sUser, sPassword, bPersistent );
+ }
+
+ OUString sPrefix = lcl_GetServiceType( newService );
+
+ if(!sPrefix.isEmpty())
+ sPrefix += ": ";
+
+ m_pServices_lb->InsertEntry( sPrefix + newService->GetName() );
+ m_pServices_lb->SelectEntryPos( m_pServices_lb->GetEntryCount() - 1 );
+ m_pAddService_btn->SetPopupMenu( m_pAddMenu );
+ SelectServiceHdl( NULL );
+
+ m_bIsUpdated = true;
+
+ EnableControls();
+ break;
+ }
+ case RET_CANCEL :
+ default :
+ // Do Nothing
+ break;
+ };
+
+ return 1;
+}
+
+IMPL_LINK_NOARG ( RemoteFilesDialog, SelectServiceHdl )
+{
+ int nPos = GetSelectedServicePos();
+
+ if( nPos >= 0 )
+ {
+ OUString sURL = m_aServices[nPos]->GetUrl();
+ m_pAddService_btn->SetPopupMenu( m_pAddMenu );
+
+ m_bServiceChanged = true;
+ OpenURL( sURL );
+ }
+
+ return 1;
+}
+
+IMPL_LINK_TYPED ( RemoteFilesDialog, EditServiceMenuHdl, MenuButton *, pButton, void )
+{
+ OString sIdent( pButton->GetCurItemIdent() );
+ if( sIdent == "edit_service" && m_pServices_lb->GetEntryCount() > 0 )
+ {
+ unsigned int nSelected = m_pServices_lb->GetSelectEntryPos();
+ int nPos = GetSelectedServicePos();
+
+ if( nPos >= 0 )
+ {
+ ScopedVclPtrInstance< PlaceEditDialog > aDlg( this, m_aServices[nPos] );
+ short aRetCode = aDlg->Execute();
+
+ switch( aRetCode )
+ {
+ case RET_OK :
+ {
+ ServicePtr pEditedService = aDlg->GetPlace();
+
+ m_aServices[nPos] = pEditedService;
+ m_pServices_lb->RemoveEntry( nSelected );
+
+ OUString sPrefix = lcl_GetServiceType( pEditedService );
+
+ if(!sPrefix.isEmpty())
+ sPrefix += ": ";
+
+ m_pServices_lb->InsertEntry( sPrefix + pEditedService->GetName(), nSelected );
+ m_pServices_lb->SelectEntryPos( nSelected );
+
+ m_bIsUpdated = true;
+ break;
+ }
+ case RET_NO:
+ sIdent = "delete_service";
+ break;
+ case RET_CANCEL :
+ default :
+ // Do Nothing
+ break;
+ };
+ }
+ }
+ if( sIdent == "delete_service" && m_pServices_lb->GetEntryCount() > 0 )
+ {
+ unsigned int nSelected = m_pServices_lb->GetSelectEntryPos();
+ int nPos = GetSelectedServicePos();
+
+ if( nPos >= 0 )
+ {
+ OUString sMsg = fpicker::SvtResId( STR_SVT_DELETESERVICE );
+ sMsg = sMsg.replaceFirst( "$servicename$", m_pServices_lb->GetSelectEntry() );
+ ScopedVclPtrInstance< MessageDialog > aBox( this, sMsg, VCL_MESSAGE_QUESTION, VCL_BUTTONS_YES_NO );
+
+ if( aBox->Execute() == RET_YES )
+ {
+ // remove password
+ try
+ {
+ if( m_xMasterPasswd->isPersistentStoringAllowed() )
+ {
+ OUString sUrl( m_aServices[nPos]->GetUrl() );
+
+ Reference< XInteractionHandler > xInteractionHandler(
+ InteractionHandler::createWithParent( m_xContext, 0 ),
+ UNO_QUERY );
+
+ UrlRecord aURLEntries = m_xMasterPasswd->find( sUrl, xInteractionHandler );
+
+ if( aURLEntries.Url == sUrl && aURLEntries.UserList.getLength() )
+ {
+ OUString sUserName = aURLEntries.UserList[0].UserName;
+
+ m_xMasterPasswd->removePersistent( sUrl, sUserName );
+ }
+ }
+ }
+ catch( const Exception& )
+ {}
+
+ m_aServices.erase( m_aServices.begin() + nPos );
+ m_pServices_lb->RemoveEntry( nSelected );
+
+ m_pServices_lb->SetNoSelection();
+ m_pAddService_btn->SetPopupMenu( NULL );
+
+ m_bIsUpdated = true;
+
+ m_bIsConnected = false;
+ EnableControls();
+ }
+ }
+ }
+ else if( sIdent == "change_password" )
+ {
+ try
+ {
+ if( m_xMasterPasswd->isPersistentStoringAllowed() && m_xMasterPasswd->authorizateWithMasterPassword( Reference< XInteractionHandler>() ) )
+ {
+ int nPos = GetSelectedServicePos();
+
+ if( nPos >= 0 )
+ {
+ OUString sUrl( m_aServices[nPos]->GetUrl() );
+
+ Reference< XInteractionHandler > xInteractionHandler(
+ InteractionHandler::createWithParent( m_xContext, 0 ),
+ UNO_QUERY );
+
+ UrlRecord aURLEntries = m_xMasterPasswd->find( sUrl, xInteractionHandler );
+
+ if( aURLEntries.Url == sUrl && aURLEntries.UserList.getLength() )
+ {
+ OUString sUserName = aURLEntries.UserList[0].UserName;
+
+ ::comphelper::SimplePasswordRequest* pPasswordRequest
+ = new ::comphelper::SimplePasswordRequest( PasswordRequestMode_PASSWORD_CREATE );
+ Reference< XInteractionRequest > rRequest( pPasswordRequest );
+
+ xInteractionHandler->handle( rRequest );
+
+ if ( pPasswordRequest->isPassword() )
+ {
+ OUString aNewPass = pPasswordRequest->getPassword();
+ Sequence< OUString > aPasswd( 1 );
+ aPasswd[0] = aNewPass;
+
+ m_xMasterPasswd->addPersistent(
+ sUrl, sUserName, aPasswd, xInteractionHandler );
+ }
+ }
+ }
+ }
+ }
+ catch( const Exception& )
+ {}
+ }
+
+ EnableControls();
+}
+
+IMPL_LINK_NOARG ( RemoteFilesDialog, DoubleClickHdl )
+{
+ if( m_pFileView->GetSelectionCount() )
+ {
+ SvTreeListEntry* pEntry = m_pFileView->FirstSelected();
+
+ if( pEntry )
+ {
+ SvtContentEntry* pData = static_cast< SvtContentEntry* >( pEntry->GetUserData() );
+
+ if( pData )
+ {
+ if( !pData->mbIsFolder )
+ {
+ EndDialog( RET_OK );
+ }
+ else
+ {
+ OpenURL( pData->maURL );
+ }
+ }
+ }
+ }
+
+ return 1;
+}
+
+IMPL_LINK_NOARG ( RemoteFilesDialog, SelectHdl )
+{
+ SvTreeListEntry* pEntry = m_pFileView->FirstSelected();
+
+ if( pEntry )
+ {
+ SvtContentEntry* pData = static_cast< SvtContentEntry* >( pEntry->GetUserData() );
+
+ if( pData )
+ {
+ if( ( pData->mbIsFolder && ( m_eType == REMOTEDLG_TYPE_PATHDLG ) )
+ || ( !pData->mbIsFolder && ( m_eType == REMOTEDLG_TYPE_FILEDLG ) ) )
+ {
+ // url must contain user info, because we need this info in recent files entry
+ // (to fill user field in login box by default)
+ INetURLObject aURL( pData->maURL );
+ INetURLObject aCurrentURL( m_sLastServiceUrl );
+ aURL.SetUser( aCurrentURL.GetUser() );
+
+ m_sPath = aURL.GetMainURL( INetURLObject::NO_DECODE );
+
+ m_pName_ed->SetText( INetURLObject::decode( aURL.GetLastName(), INetURLObject::DECODE_WITH_CHARSET ) );
+ }
+ else
+ {
+ if( m_eMode == REMOTEDLG_MODE_OPEN )
+ {
+ m_sPath.clear();
+ m_pName_ed->SetText( "" );
+ }
+ }
+
+ EnableControls();
+ }
+ }
+
+ return 1;
+}
+
+IMPL_LINK_NOARG( RemoteFilesDialog, FileNameGetFocusHdl )
+{
+ m_pFileView->SetNoSelection();
+ return 1;
+}
+
+IMPL_LINK_NOARG( RemoteFilesDialog, FileNameModifyHdl )
+{
+ m_pFileView->SetNoSelection();
+ if( !m_pOk_btn->IsEnabled() )
+ EnableControls();
+
+ return 1;
+}
+
+IMPL_LINK_NOARG ( RemoteFilesDialog, SplitHdl )
+{
+ sal_Int32 nSplitPos = m_pSplitter->GetSplitPosPixel();
+
+ // Resize the tree list box
+ sal_Int32 nPlaceX = m_pTreeView->GetPosPixel().X();
+ Size placeSize = m_pTreeView->GetSizePixel();
+ placeSize.Width() = nSplitPos - nPlaceX;
+ m_pTreeView->SetSizePixel( placeSize );
+
+ // Change Pos and size of the fileview
+ Point fileViewPos = m_pFileView->GetPosPixel();
+ sal_Int32 nOldX = fileViewPos.X();
+ sal_Int32 nNewX = nSplitPos + m_pSplitter->GetSizePixel().Width();
+ fileViewPos.X() = nNewX;
+ Size fileViewSize = m_pFileView->GetSizePixel();
+ fileViewSize.Width() -= ( nNewX - nOldX );
+ m_pFileView->SetPosSizePixel( fileViewPos, fileViewSize );
+
+ m_pSplitter->SetPosPixel( Point( placeSize.Width(), m_pSplitter->GetPosPixel().Y() ) );
+
+ return 1;
+}
+
+IMPL_LINK_NOARG ( RemoteFilesDialog, SelectFilterHdl )
+{
+ unsigned int nPos = m_pFilter_lb->GetSelectEntryPos();
+
+ if( nPos != LISTBOX_ENTRY_NOTFOUND && !m_aFilters[nPos].second.isEmpty() )
+ {
+ m_nCurrentFilter = nPos;
+
+ OUString sCurrentURL = m_pFileView->GetViewURL();
+
+ if( !sCurrentURL.isEmpty() && m_bIsConnected )
+ OpenURL( sCurrentURL );
+ }
+
+ return 1;
+}
+
+IMPL_LINK ( RemoteFilesDialog, TreeSelectHdl, FolderTree *, pBox )
+{
+ OUString* sURL = static_cast< OUString* >( pBox->GetHdlEntry()->GetUserData() );
+
+ if( sURL )
+ {
+ OpenURL( *sURL );
+ m_pFileView->GrabFocus();
+ }
+
+ return 1;
+}
+
+IMPL_LINK ( RemoteFilesDialog, SelectBreadcrumbHdl, Breadcrumb*, pPtr )
+{
+ if( pPtr )
+ {
+ OpenURL( pPtr->GetHdlURL() );
+ }
+
+ return 1;
+}
+
+IMPL_LINK_NOARG ( RemoteFilesDialog, NewFolderHdl )
+{
+ m_pFileView->EndInplaceEditing( false );
+
+ SmartContent aContent( m_pFileView->GetViewURL() );
+ OUString aTitle;
+ aContent.getTitle( aTitle );
+ ScopedVclPtrInstance< QueryFolderNameDialog > aDlg( this, aTitle, fpicker::SVT_RESSTR( STR_SVT_NEW_FOLDER ) );
+ bool bHandled = false;
+
+ while( !bHandled )
+ {
+ if( aDlg->Execute() == RET_OK )
+ {
+ OUString aUrl = aContent.createFolder( aDlg->GetName() );
+ if( !aUrl.isEmpty() )
+ {
+ m_pFileView->CreatedFolder( aUrl, aDlg->GetName() );
+ bHandled = true;
+ }
+ }
+ else
+ bHandled = true;
+ }
+
+ return 1;
+}
+
+IMPL_LINK_NOARG ( RemoteFilesDialog, OkHdl )
+{
+ OUString sNameNoExt = m_pName_ed->GetText();
+ OUString sPathNoExt;
+
+ // auto extension
+ if( m_eMode == REMOTEDLG_MODE_SAVE )
+ AddFileExtension();
+
+ // check if file/path exists
+
+ OUString sCurrentPath = m_pFileView->GetViewURL();
+ OUString sSelectedItem = m_pFileView->GetCurrentURL();
+ OUString sName = m_pName_ed->GetText();
+
+ bool bFileDlg = ( m_eType == REMOTEDLG_TYPE_FILEDLG );
+ bool bSelected = ( m_pFileView->GetSelectionCount() > 0 );
+
+ if( !sCurrentPath.endsWith("/") )
+ sCurrentPath += "/";
+
+ if( !bSelected )
+ {
+ m_sPath = sCurrentPath + INetURLObject::encode( sName, INetURLObject::PART_FPATH, INetURLObject::ENCODE_ALL );
+ sPathNoExt = sCurrentPath + INetURLObject::encode( sNameNoExt, INetURLObject::PART_FPATH, INetURLObject::ENCODE_ALL );
+ }
+ else
+ {
+ if( m_eType == REMOTEDLG_TYPE_PATHDLG )
+ m_sPath = sCurrentPath;
+ else
+ m_sPath = sSelectedItem;
+
+ // url must contain user info, because we need this info in recent files entry
+ // (to fill user field in login box by default)
+ INetURLObject aURL( m_sPath );
+ INetURLObject aCurrentURL( m_sLastServiceUrl );
+ aURL.SetUser( aCurrentURL.GetUser() );
+
+ m_sPath = aURL.GetMainURL( INetURLObject::NO_DECODE );
+ }
+
+ bool bExists = false;
+
+ if( bFileDlg )
+ bExists = ContentIsDocument( m_sPath );
+ else
+ bExists = ContentIsFolder( m_sPath );
+
+ if( bExists )
+ {
+ if( m_eMode == REMOTEDLG_MODE_SAVE )
+ {
+ OUString sMsg = fpicker::SvtResId( STR_SVT_ALREADYEXISTOVERWRITE );
+ sMsg = sMsg.replaceFirst( "$filename$", sName );
+ ScopedVclPtrInstance< MessageDialog > aBox( this, sMsg, VCL_MESSAGE_QUESTION, VCL_BUTTONS_YES_NO );
+ if( aBox->Execute() != RET_YES )
+ return 0;
+ }
+ }
+ else
+ {
+ if( ContentIsFolder( sPathNoExt ) )
+ {
+ OpenURL( sPathNoExt );
+ m_pName_ed->SetText( "" );
+
+ if( !bSelected )
+ m_pName_ed->GrabFocus();
+
+ return 0;
+ }
+
+ if( m_eMode == REMOTEDLG_MODE_OPEN )
+ return 0;
+ }
+
+ EndDialog( RET_OK );
+ return 1;
+}
+
+IMPL_LINK_NOARG ( RemoteFilesDialog, CancelHdl )
+{
+ if( m_pCurrentAsyncAction.is() )
+ {
+ m_pCurrentAsyncAction->cancel();
+ onAsyncOperationFinished();
+ }
+ else
+ {
+ EndDialog( RET_CANCEL );
+ }
+ return 1;
+}
+
+// SvtFileDialog_Base
+
+SvtFileView* RemoteFilesDialog::GetView()
+{
+ return m_pFileView;
+}
+
+void RemoteFilesDialog::SetHasFilename( bool )
+{
+}
+
+void RemoteFilesDialog::SetBlackList( const ::com::sun::star::uno::Sequence< OUString >& rBlackList )
+{
+ m_aBlackList = rBlackList;
+ m_pTreeView->SetBlackList( rBlackList );
+}
+
+const ::com::sun::star::uno::Sequence< OUString >& RemoteFilesDialog::GetBlackList() const
+{
+ return m_aBlackList;
+}
+
+void RemoteFilesDialog::SetStandardDir( const OUString& rStdDir )
+{
+ m_sStdDir = rStdDir;
+}
+
+const OUString& RemoteFilesDialog::GetStandardDir() const
+{
+ return m_sStdDir;
+}
+
+void RemoteFilesDialog::SetPath( const OUString& rNewURL )
+{
+ m_sPath = rNewURL;
+
+ if( m_eMode == REMOTEDLG_MODE_SAVE )
+ {
+ INetURLObject aUrl( m_sPath );
+ OUString sFileName = aUrl.GetLastName( INetURLObject::DECODE_WITH_CHARSET );
+
+ m_pName_ed->SetText( sFileName );
+ }
+}
+
+OUString RemoteFilesDialog::getCurrentFileText() const
+{
+ OUString sReturn;
+ if( m_pName_ed )
+ sReturn = m_pName_ed->GetText();
+ return sReturn;
+}
+
+void RemoteFilesDialog::setCurrentFileText( const OUString& rText, bool bSelectAll )
+{
+ if( m_pName_ed )
+ {
+ m_pName_ed->SetText( rText );
+ if( bSelectAll )
+ m_pName_ed->SetSelection( Selection( 0, rText.getLength() ) );
+ }
+}
+
+void RemoteFilesDialog::AddFilterGroup(
+ const OUString& rFilter,
+ const com::sun::star::uno::Sequence< com::sun::star::beans::StringPair >& rFilters )
+{
+ AddFilter( rFilter, OUString() );
+ const StringPair* pSubFilters = rFilters.getConstArray();
+ const StringPair* pSubFiltersEnd = pSubFilters + rFilters.getLength();
+ for ( ; pSubFilters != pSubFiltersEnd; ++pSubFilters )
+ AddFilter( pSubFilters->First, pSubFilters->Second );
+}
+
+OUString RemoteFilesDialog::GetCurFilter() const
+{
+ OUString sFilter;
+
+ if( m_nCurrentFilter != LISTBOX_ENTRY_NOTFOUND )
+ {
+ sFilter = m_aFilters[m_nCurrentFilter].first;
+ }
+
+ return sFilter;
+}
+
+OUString RemoteFilesDialog::getCurFilter( ) const
+{
+ return GetCurFilter();
+}
+
+void RemoteFilesDialog::SetCurFilter( const OUString& rFilter )
+{
+ DBG_ASSERT( !IsInExecute(), "SvtFileDialog::SetCurFilter: currently executing!" );
+
+ // look for corresponding filter
+ sal_uInt16 nPos = m_aFilters.size();
+
+ while ( nPos-- )
+ {
+ if ( m_aFilters[nPos].first == rFilter )
+ {
+ m_nCurrentFilter = nPos;
+ m_pFilter_lb->SelectEntryPos( m_nCurrentFilter );
+ break;
+ }
+ }
+}
+
+void RemoteFilesDialog::FilterSelect()
+{
+}
+
+void RemoteFilesDialog::SetFileCallback( ::svt::IFilePickerListener *pNotifier )
+{
+ m_pFileNotifier = pNotifier;
+}
+
+void RemoteFilesDialog::onAsyncOperationStarted()
+{
+ DisableControls();
+}
+
+void RemoteFilesDialog::onAsyncOperationFinished()
+{
+ m_pCurrentAsyncAction = NULL;
+ EnableControls();
+}
+
+void RemoteFilesDialog::UpdateControls( const OUString& rURL )
+{
+ int nPos = GetSelectedServicePos();
+
+ if( nPos >= 0 && m_bServiceChanged && rURL == m_aServices[nPos]->GetUrl() )
+ {
+ OUString sURL = m_aServices[nPos]->GetUrl();
+
+ m_pPath->SetRootName( m_sRootLabel );
+ m_pTreeView->Clear();
+
+ SvTreeListEntry* pRoot = m_pTreeView->InsertEntry( m_sRootLabel, NULL, true );
+ OUString* sData = new OUString( rURL );
+ pRoot->SetUserData( static_cast< void* >( sData ) );
+
+ m_pName_ed->GrabFocus();
+
+ m_sLastServiceUrl = sURL;
+
+ m_bServiceChanged = false;
+ }
+
+ m_pPath->SetURL( rURL );
+
+ m_pTreeView->SetSelectHdl( Link<>() );
+
+ // read cached data for this url and fill the tree
+ const ::std::vector< SvtContentEntry >& rFolders = m_pFileView->GetContent();
+ ::std::vector< std::pair< OUString, OUString > > aFolders;
+
+ m_pName_ed->ClearEntries();
+
+ for( ::std::vector< SvtContentEntry >::size_type i = 0; i < rFolders.size(); i++ )
+ {
+ int nTitleStart = rFolders[i].maURL.lastIndexOf( '/' );
+ if( nTitleStart != -1 )
+ {
+ OUString sTitle( INetURLObject::decode(
+ rFolders[i].maURL.copy( nTitleStart + 1 ),
+ INetURLObject::DECODE_WITH_CHARSET ) );
+
+ if( rFolders[i].mbIsFolder )
+ {
+ aFolders.push_back( std::pair< OUString, OUString > ( sTitle, rFolders[i].maURL ) );
+ }
+
+ // add entries to the autocompletion mechanism
+ m_pName_ed->AddEntry( sTitle );
+ }
+ }
+
+ m_pTreeView->FillTreeEntry( rURL, aFolders );
+
+ m_pTreeView->SetSelectHdl( LINK( this, RemoteFilesDialog, TreeSelectHdl ) );
+
+ m_bIsConnected = true;
+ EnableControls();
+}
+
+void RemoteFilesDialog::EnableAutocompletion( bool )
+{
+ // This dialog contains Breadcrumb, not Edit
+}
+
+const OUString& RemoteFilesDialog::GetPath()
+{
+ return m_sPath;
+}
+
+std::vector<OUString> RemoteFilesDialog::GetPathList() const
+{
+ std::vector<OUString> aList;
+ sal_uLong nCount = m_pFileView->GetSelectionCount();
+ SvTreeListEntry* pEntry = nCount ? m_pFileView->FirstSelected() : NULL;
+
+ while( pEntry )
+ {
+ // url must contain user info, because we need this info in recent files entry
+ // (to fill user field in login box by default)
+ INetURLObject aURL( SvtFileView::GetURL( pEntry ) );
+ INetURLObject aCurrentURL( m_sLastServiceUrl );
+ aURL.SetUser( aCurrentURL.GetUser() );
+
+ aList.push_back( aURL.GetMainURL( INetURLObject::NO_DECODE ) );
+ pEntry = m_pFileView->NextSelected( pEntry );
+ }
+
+ if( aList.size() == 0 && !m_sPath.isEmpty() )
+ aList.push_back( m_sPath );
+
+ return aList;
+}
+
+bool RemoteFilesDialog::ContentIsFolder( const OUString& rURL )
+{
+ try
+ {
+ Reference< XInteractionHandler > xInteractionHandler(
+ InteractionHandler::createWithParent( m_xContext, 0 ), UNO_QUERY_THROW );
+ Reference< XCommandEnvironment > xEnv = new ::ucbhelper::CommandEnvironment( xInteractionHandler, Reference< XProgressHandler >() );
+ ::ucbhelper::Content aContent( rURL, xEnv, m_xContext );
+
+ return aContent.isFolder();
+ }
+ catch( const Exception& )
+ {
+ // a content doesn't exist
+ }
+
+ return false;
+}
+
+bool RemoteFilesDialog::ContentIsDocument( const OUString& rURL )
+{
+ try
+ {
+ Reference< XInteractionHandler > xInteractionHandler(
+ InteractionHandler::createWithParent( m_xContext, 0 ), UNO_QUERY_THROW );
+ Reference< XCommandEnvironment > xEnv = new ::ucbhelper::CommandEnvironment( xInteractionHandler, Reference< XProgressHandler >() );
+ ::ucbhelper::Content aContent( rURL, xEnv, m_xContext );
+
+ return aContent.isDocument();
+ }
+ catch( const Exception& )
+ {
+ // a content doesn't exist
+ }
+
+ return false;
+}
+
+sal_Int32 RemoteFilesDialog::getTargetColorDepth()
+{
+ // This dialog doesn't contain preview
+ return 0;
+}
+
+sal_Int32 RemoteFilesDialog::getAvailableWidth()
+{
+ // This dialog doesn't contain preview
+ return 0;
+}
+
+sal_Int32 RemoteFilesDialog::getAvailableHeight()
+{
+ // This dialog doesn't contain preview
+ return 0;
+}
+
+void RemoteFilesDialog::setImage( sal_Int16, const ::com::sun::star::uno::Any& )
+{
+ // This dialog doesn't contain preview
+}
+
+bool RemoteFilesDialog::getShowState()
+{
+ // This dialog doesn't contain preview
+ return false;
+}
+
+Control* RemoteFilesDialog::getControl( sal_Int16, bool) const
+{
+ return NULL;
+}
+void RemoteFilesDialog::enableControl( sal_Int16, bool )
+{
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/fpicker/source/office/RemoteFilesDialog.hxx b/fpicker/source/office/RemoteFilesDialog.hxx
new file mode 100644
index 0000000..10dc3ba
--- /dev/null
+++ b/fpicker/source/office/RemoteFilesDialog.hxx
@@ -0,0 +1,215 @@
+/* -*- Mode: C++; 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/.
+ */
+
+#ifndef INCLUDED_SVTOOLS_REMOTEFILESDIALOG_HXX
+#define INCLUDED_SVTOOLS_REMOTEFILESDIALOG_HXX
+
+#include <comphelper/docpasswordrequest.hxx>
+
+#include <svtools/autocmpledit.hxx>
+#include <svtools/foldertree.hxx>
+#include <svtools/place.hxx>
+#include <svtools/PlaceEditDialog.hxx>
+#include <svtools/breadcrumb.hxx>
+#include <svtools/fileview.hxx>
+
+#include <tools/errinf.hxx>
+#include <tools/resid.hxx>
+
+#include <unotools/viewoptions.hxx>
+
+#include <vcl/button.hxx>
+#include <vcl/fpicker.hrc>
+#include <vcl/menubtn.hxx>
+#include <vcl/dialog.hxx>
+#include <vcl/vclptr.hxx>
+#include <vcl/split.hxx>
+#include <vcl/svapp.hxx>
+
+#include <officecfg/Office/Common.hxx>
+#include <com/sun/star/beans/StringPair.hpp>
+#include <com/sun/star/uno/Sequence.hxx>
+#include <com/sun/star/task/PasswordContainer.hpp>
+#include <com/sun/star/task/XPasswordContainer2.hpp>
+
+#include <vector>
+
+#include "fpdialogbase.hxx"
+#include "fpsofficeResMgr.hxx"
+#include "OfficeFilePicker.hrc"
+#include "QueryFolderName.hxx"
+#include "iodlg.hrc"
+
+using namespace ::com::sun::star::beans;
+using namespace ::com::sun::star::task;
+using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star::ui::dialogs;
+
+enum SvtRemoteDlgMode
+{
+ REMOTEDLG_MODE_OPEN = 0,
+ REMOTEDLG_MODE_SAVE = 1
+};
+
+enum SvtRemoteDlgType
+{
+ REMOTEDLG_TYPE_FILEDLG = 0,
+ REMOTEDLG_TYPE_PATHDLG = 1
+};
+
+typedef std::shared_ptr< Place > ServicePtr;
+typedef ::com::sun::star::uno::Sequence< OUString > OUStringList;
+
+class FileViewContainer;
+
+class RemoteFilesDialog : public SvtFileDialog_Base
+{
+public:
+ RemoteFilesDialog( vcl::Window* pParent, WinBits nBits );
+ virtual ~RemoteFilesDialog();
+
+ virtual void dispose() SAL_OVERRIDE;
+ virtual void Resize() SAL_OVERRIDE;
+ virtual short Execute() SAL_OVERRIDE;
+ virtual void Show();
+
+ OUString GetPath() const;
+
+ // SvtFileDialog_Base
+
+ virtual SvtFileView* GetView() SAL_OVERRIDE;
+
+ virtual void SetHasFilename( bool ) SAL_OVERRIDE;
+ virtual void SetBlackList( const ::com::sun::star::uno::Sequence< OUString >& rBlackList ) SAL_OVERRIDE;
+ virtual const ::com::sun::star::uno::Sequence< OUString >& GetBlackList() const SAL_OVERRIDE;
+ virtual void SetStandardDir( const OUString& rStdDir ) SAL_OVERRIDE;
+ virtual const OUString& GetStandardDir() const SAL_OVERRIDE;
+ virtual void SetPath( const OUString& rNewURL ) SAL_OVERRIDE;
+ virtual const OUString& GetPath() SAL_OVERRIDE;
+ virtual std::vector<OUString> GetPathList() const SAL_OVERRIDE;
+ virtual bool ContentIsFolder( const OUString& rURL ) SAL_OVERRIDE;
+ virtual bool ContentIsDocument( const OUString& rURL );
+
+ virtual OUString getCurrentFileText() const SAL_OVERRIDE;
+ virtual void setCurrentFileText( const OUString& rText, bool bSelectAll = false ) SAL_OVERRIDE;
+
+ virtual void AddFilter( const OUString& rFilter, const OUString& rType ) SAL_OVERRIDE;
+ virtual void AddFilterGroup( const OUString& _rFilter,
+ const com::sun::star::uno::Sequence< com::sun::star::beans::StringPair >& rFilters ) SAL_OVERRIDE;
+ virtual OUString GetCurFilter() const SAL_OVERRIDE;
+ virtual void SetCurFilter( const OUString& rFilter ) SAL_OVERRIDE;
+ virtual void FilterSelect() SAL_OVERRIDE;
+
+ virtual void SetFileCallback( ::svt::IFilePickerListener *pNotifier ) SAL_OVERRIDE;
+ virtual void onAsyncOperationStarted() SAL_OVERRIDE;
+ virtual void onAsyncOperationFinished() SAL_OVERRIDE;
+ virtual void UpdateControls( const OUString& rURL ) SAL_OVERRIDE;
+
+ virtual void EnableAutocompletion( bool ) SAL_OVERRIDE;
+
+ virtual sal_Int32 getTargetColorDepth() SAL_OVERRIDE;
+ virtual sal_Int32 getAvailableWidth() SAL_OVERRIDE;
+ virtual sal_Int32 getAvailableHeight() SAL_OVERRIDE;
+
+ virtual void setImage( sal_Int16 aImageFormat, const ::com::sun::star::uno::Any& rImage ) SAL_OVERRIDE;
+
+ virtual bool getShowState() SAL_OVERRIDE;
+
+ virtual Control* getControl( sal_Int16 nControlId, bool bLabelControl = false ) const SAL_OVERRIDE;
+ virtual void enableControl( sal_Int16 nControlId, bool bEnable ) SAL_OVERRIDE;
+ virtual OUString getCurFilter( ) const SAL_OVERRIDE;
+
+private:
+ Reference< XComponentContext > m_xContext;
+ Reference< XPasswordContainer2 > m_xMasterPasswd;
+
+ SvtRemoteDlgMode m_eMode;
+ SvtRemoteDlgType m_eType;
+ bool m_bMultiselection;
+ bool m_bIsUpdated;
+ bool m_bIsConnected;
+ bool m_bServiceChanged;
+
+ OUString m_sIniKey;
+ int m_nWidth;
+ int m_nHeight;
+
+ OUString m_sPath;
+ OUString m_sStdDir;
+ OUString m_sRootLabel;
+ OUString m_sLastServiceUrl;
+ unsigned int m_nCurrentFilter;
+
+ ::rtl::Reference< ::svt::AsyncPickerAction > m_pCurrentAsyncAction;
+
+ ::com::sun::star::uno::Sequence< OUString > m_aBlackList;
+ ::svt::IFilePickerListener* m_pFileNotifier;
+
+ VclPtr< PushButton > m_pOk_btn;
+ VclPtr< CancelButton > m_pCancel_btn;
+ VclPtr< MenuButton > m_pAddService_btn;
+ VclPtr< ListBox > m_pServices_lb;
+ VclPtr< Breadcrumb > m_pPath;
+ VclPtr<PushButton> m_pNewFolder;
+ VclPtr< Splitter > m_pSplitter;
+ VclPtr< FolderTree > m_pTreeView;
+ VclPtr< SvtFileView > m_pFileView;
+ VclPtr< FileViewContainer > m_pContainer;
+ VclPtr< ListBox > m_pFilter_lb;
+ VclPtr< AutocompleteEdit > m_pName_ed;
+ PopupMenu* m_pAddMenu;
+
+ ImageList m_aImages;
+
+ std::vector< ServicePtr > m_aServices;
+ std::vector< std::pair< OUString, OUString > > m_aFilters;
+
+ void InitSize();
+
+ void FillServicesListbox();
+
+ /* If failure returns < 0 */
+ int GetSelectedServicePos();
+
+ FileViewResult OpenURL( OUString const & sURL );
+
+ void AddFileExtension();
+
+ void EnableControls();
+ void DisableControls();
+
+ void SavePassword( const OUString& rURL, const OUString& rUser
+ , const OUString& rPassword, bool bPersistent );
+
+ DECL_LINK ( AddServiceHdl, void * );
+ DECL_LINK ( SelectServiceHdl, void * );
+ DECL_LINK_TYPED ( EditServiceMenuHdl, MenuButton *, void );
+
+ DECL_LINK( DoubleClickHdl, void * );
+ DECL_LINK( SelectHdl, void * );
+
+ DECL_LINK( FileNameGetFocusHdl, void * );
+ DECL_LINK( FileNameModifyHdl, void * );
+
+ DECL_LINK( SplitHdl, void * );
+
+ DECL_LINK( SelectFilterHdl, void * );
+
+ DECL_LINK( TreeSelectHdl, FolderTree * );
+
+ DECL_LINK( SelectBreadcrumbHdl, Breadcrumb * );
+
+ DECL_LINK( NewFolderHdl, void * );
+
+ DECL_LINK( OkHdl, void * );
+ DECL_LINK( CancelHdl, void * );
+};
+
+#endif // INCLUDED_SVTOOLS_REMOTEFILESDIALOG_HXX
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/fpicker/source/office/asyncfilepicker.cxx b/fpicker/source/office/asyncfilepicker.cxx
index cf6b17b..8e4c9e3 100644
--- a/fpicker/source/office/asyncfilepicker.cxx
+++ b/fpicker/source/office/asyncfilepicker.cxx
@@ -28,7 +28,7 @@
namespace svt
{
- AsyncPickerAction::AsyncPickerAction( SvtFileDialog* _pDialog, SvtFileView* _pView, const Action _eAction )
+ AsyncPickerAction::AsyncPickerAction( SvtFileDialog_Base* _pDialog, SvtFileView* _pView, const Action _eAction )
:m_eAction ( _eAction )
,m_pView ( _pView )
,m_pDialog ( _pDialog )
diff --git a/fpicker/source/office/asyncfilepicker.hxx b/fpicker/source/office/asyncfilepicker.hxx
index 2174eb5..bd40153 100644
--- a/fpicker/source/office/asyncfilepicker.hxx
+++ b/fpicker/source/office/asyncfilepicker.hxx
@@ -28,7 +28,7 @@
#include <vcl/vclptr.hxx>
class SvtFileView;
-class SvtFileDialog;
+class SvtFileDialog_Base;
typedef ::com::sun::star::uno::Sequence< OUString > OUStringList;
@@ -54,13 +54,13 @@ namespace svt
private:
Action m_eAction;
VclPtr<SvtFileView> m_pView;
- VclPtr<SvtFileDialog> m_pDialog;
+ VclPtr<SvtFileDialog_Base> m_pDialog;
OUString m_sURL;
OUString m_sFileName;
bool m_bRunning;
public:
- AsyncPickerAction( SvtFileDialog* _pDialog, SvtFileView* _pView, const Action _eAction );
+ AsyncPickerAction( SvtFileDialog_Base* _pDialog, SvtFileView* _pView, const Action _eAction );
/** executes the action
diff --git a/fpicker/source/office/commonpicker.hxx b/fpicker/source/office/commonpicker.hxx
index a08c31e..b74f1a9 100644
--- a/fpicker/source/office/commonpicker.hxx
+++ b/fpicker/source/office/commonpicker.hxx
@@ -35,7 +35,7 @@
#include <tools/link.hxx>
#include <vcl/vclptr.hxx>
-class SvtFileDialog;
+class SvtFileDialog_Base;
namespace vcl { class Window; }
struct ImplSVEvent;
@@ -65,7 +65,7 @@ namespace svt
::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > m_xWindow;
// </properties>
- VclPtr<SvtFileDialog> m_pDlg;
+ VclPtr<SvtFileDialog_Base> m_pDlg;
ImplSVEvent * m_nCancelEvent;
bool m_bExecuting;
@@ -79,7 +79,7 @@ namespace svt
OUString m_aDisplayDirectory;
protected:
- inline SvtFileDialog* getDialog() { return m_pDlg; }
+ inline SvtFileDialog_Base* getDialog() { return m_pDlg; }
inline const ::cppu::OBroadcastHelper& GetBroadcastHelper() const { return OCommonPicker_Base::rBHelper; }
inline ::cppu::OBroadcastHelper& GetBroadcastHelper() { return OCommonPicker_Base::rBHelper; }
@@ -93,7 +93,7 @@ namespace svt
// overridables
// will be called with locked SolarMutex
- virtual VclPtr<SvtFileDialog> implCreateDialog( vcl::Window* _pParent ) = 0;
+ virtual VclPtr<SvtFileDialog_Base> implCreateDialog( vcl::Window* _pParent ) = 0;
virtual sal_Int16 implExecutePicker( ) = 0;
// do NOT override XExecutableDialog::execute! We need to do some stuff there ourself ...
diff --git a/fpicker/source/office/fpdialogbase.hxx b/fpicker/source/office/fpdialogbase.hxx
new file mode 100644
index 0000000..19a26a4
--- /dev/null
+++ b/fpicker/source/office/fpdialogbase.hxx
@@ -0,0 +1,120 @@
+/* -*- Mode: C++; 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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef INCLUDED_FPICKER_SOURCE_OFFICE_FPDIALOGBASE_HXX
+#define INCLUDED_FPICKER_SOURCE_OFFICE_FPDIALOGBASE_HXX
+
+#include <vcl/dialog.hxx>
+#include <com/sun/star/beans/StringPair.hpp>
+#include <com/sun/star/uno/Any.hxx>
+#include <com/sun/star/uno/Sequence.hxx>
+#include <com/sun/star/uno/Reference.hxx>
+#include "svl/inettype.hxx"
+#include "asyncfilepicker.hxx"
+#include "OfficeControlAccess.hxx"
+#include "fpsmartcontent.hxx"
+
+#include <set>
+
+// @@@ using namespace com::sun::star::ucb;
+
+
+
+class SvTabListBox;
+class SvtFileView;
+class SvtFileDialogFilter_Impl;
+
+
+#define SFXWB_INSERT ( 0x04000000L | WB_OPEN )
+#define SFXWB_PASSWORD WB_PASSWORD
+#define SFXWB_READONLY WB_READONLY
+#define SFXWB_PATHDIALOG WB_PATH
+#define SFXWB_CLASSPATH ( 0x08000000L | SFXWB_PATHDIALOG )
+#define SFXWB_MULTISELECTION 0x20000000L // activate Multiselection
+#define SFXWB_NOREMOTE 0x40000000L
+
+#define SFX_EXTRA_AUTOEXTENSION 0x00000001L
+#define SFX_EXTRA_FILTEROPTIONS 0x00000002L
+#define SFX_EXTRA_SHOWVERSIONS 0x00000004L
+#define SFX_EXTRA_INSERTASLINK 0x00000008L
+#define SFX_EXTRA_SHOWPREVIEW 0x00000010L
+#define SFX_EXTRA_TEMPLATES 0x00000020L
+#define SFX_EXTRA_PLAYBUTTON 0x00000040L
+#define SFX_EXTRA_SELECTION 0x00000080L
+#define SFX_EXTRA_IMAGE_TEMPLATE 0x00000100L
+
+#define FILEDIALOG_FILTER_ALL "*.*"
+
+// SvtFileDialog_Base
+
+class SvtFileDialog_Base : public ModalDialog, public ::svt::IFilePickerController
+{
+public:
+ SvtFileDialog_Base( vcl::Window* pParent, const OUString& rID, const OUString& rUIXMLDescription )
+ : ModalDialog( pParent, rID, rUIXMLDescription )
+ {
+ }
+
+ virtual SvtFileView* GetView() = 0;
+
+ virtual void SetHasFilename( bool bHasFilename ) = 0;
+ virtual void SetBlackList( const ::com::sun::star::uno::Sequence< OUString >& rBlackList ) = 0;
+ virtual const ::com::sun::star::uno::Sequence< OUString >& GetBlackList() const = 0;
+ virtual void SetStandardDir( const OUString& rStdDir ) = 0;
+ virtual const OUString& GetStandardDir() const = 0;
+ virtual void SetPath( const OUString& rNewURL ) = 0;
+ virtual const OUString& GetPath() = 0;
+ virtual std::vector<OUString> GetPathList() const = 0;
+ virtual bool ContentIsFolder( const OUString& rURL ) = 0;
+
+ virtual OUString getCurrentFileText() const = 0;
+ virtual void setCurrentFileText( const OUString& rText, bool bSelectAll = false ) = 0;
+
+ virtual void AddFilter( const OUString& rFilter, const OUString& rType ) = 0;
+ virtual void AddFilterGroup( const OUString& _rFilter,
+ const com::sun::star::uno::Sequence< com::sun::star::beans::StringPair >& rFilters ) = 0;
+ virtual OUString GetCurFilter() const = 0;
+ virtual void SetCurFilter( const OUString& rFilter ) = 0;
+ virtual void FilterSelect() = 0;
+
+ virtual void SetFileCallback( ::svt::IFilePickerListener *pNotifier ) = 0;
+ virtual void onAsyncOperationStarted() = 0;
+ virtual void onAsyncOperationFinished() = 0;
+ virtual void UpdateControls( const OUString& rURL ) = 0;
+
+ virtual void EnableAutocompletion( bool _bEnable = true ) = 0;
+
+ virtual sal_Int32 getTargetColorDepth() = 0;
+ virtual sal_Int32 getAvailableWidth() = 0;
+ virtual sal_Int32 getAvailableHeight() = 0;
+
+ virtual void setImage( sal_Int16 aImageFormat, const ::com::sun::star::uno::Any& rImage ) = 0;
+
+ virtual bool getShowState() = 0;
+};
+
+#define FILE_SELECTION_CHANGED 1
+#define DIRECTORY_CHANGED 2
+#define HELP_REQUESTED 3
+#define CTRL_STATE_CHANGED 4
+#define DIALOG_SIZE_CHANGED 5
+
+
+#endif // INCLUDED_FPICKER_SOURCE_OFFICE_IODLG_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/fpicker/source/office/fps_office.component b/fpicker/source/office/fps_office.component
index 8804be2..b76edc6 100644
--- a/fpicker/source/office/fps_office.component
+++ b/fpicker/source/office/fps_office.component
@@ -22,6 +22,9 @@
<implementation name="com.sun.star.svtools.OfficeFilePicker">
<service name="com.sun.star.ui.dialogs.OfficeFilePicker"/>
</implementation>
+ <implementation name="com.sun.star.svtools.RemoteFilePicker">
+ <service name="com.sun.star.ui.dialogs.RemoteFilePicker"/>
+ </implementation>
<implementation name="com.sun.star.svtools.OfficeFolderPicker">
<service name="com.sun.star.ui.dialogs.OfficeFolderPicker"/>
</implementation>
diff --git a/fpicker/source/office/fps_office.cxx b/fpicker/source/office/fps_office.cxx
index c98b21f..5e33e83 100644
--- a/fpicker/source/office/fps_office.cxx
+++ b/fpicker/source/office/fps_office.cxx
@@ -28,6 +28,12 @@
static const cppu::ImplementationEntry g_entries[] =
{
{
+ SvtRemoteFilePicker::impl_createInstance,
+ SvtRemoteFilePicker::impl_getStaticImplementationName,
+ SvtRemoteFilePicker::impl_getStaticSupportedServiceNames,
+ cppu::createSingleComponentFactory, 0, 0
+ },
+ {
SvtFilePicker::impl_createInstance,
SvtFilePicker::impl_getStaticImplementationName,
SvtFilePicker::impl_getStaticSupportedServiceNames,
diff --git a/fpicker/source/office/fpsmartcontent.hxx b/fpicker/source/office/fpsmartcontent.hxx
index cce20ec..b6ffd72 100644
--- a/fpicker/source/office/fpsmartcontent.hxx
+++ b/fpicker/source/office/fpsmartcontent.hxx
@@ -198,8 +198,6 @@ namespace svt
}
inline bool isFolder( ) { return isFolder( getURL() ); }
- inline bool isDocument( ) { return isDocument( getURL() ); }
- inline bool is( ) { return is( getURL() ); }
};
diff --git a/fpicker/source/office/fpsofficeResMgr.hxx b/fpicker/source/office/fpsofficeResMgr.hxx
index 76b4538..359fc88 100644
--- a/fpicker/source/office/fpsofficeResMgr.hxx
+++ b/fpicker/source/office/fpsofficeResMgr.hxx
@@ -13,7 +13,7 @@
#include <osl/getglobalmutex.hxx>
#include <tools/resmgr.hxx>
-namespace
+namespace fpicker
{
struct ResMgrHolder
{
diff --git a/fpicker/source/office/iodlg.cxx b/fpicker/source/office/iodlg.cxx
index 4e0d5f7..a1ac408 100644
--- a/fpicker/source/office/iodlg.cxx
+++ b/fpicker/source/office/iodlg.cxx
@@ -100,6 +100,7 @@ using namespace ::com::sun::star::ucb;
using namespace ::com::sun::star::container;
using namespace ::com::sun::star::task;
using namespace ::com::sun::star::sdbc;
+using namespace ::fpicker;
using namespace ::utl;
using namespace ::svt;
@@ -303,7 +304,7 @@ SvtFileDialog::SvtFileDialog
WinBits nBits,
WinBits nExtraBits
) :
- ModalDialog( _pParent, "ExplorerFileDialog", "fps/ui/explorerfiledialog.ui" )
+ SvtFileDialog_Base( _pParent, "ExplorerFileDialog", "fps/ui/explorerfiledialog.ui" )
,_pCbReadOnly( NULL )
,_pCbLinkBox( NULL)
@@ -327,7 +328,7 @@ SvtFileDialog::SvtFileDialog
SvtFileDialog::SvtFileDialog ( vcl::Window* _pParent, WinBits nBits )
- :ModalDialog( _pParent, "ExplorerFileDialog", "fps/ui/explorerfiledialog.ui" )
+ :SvtFileDialog_Base( _pParent, "ExplorerFileDialog", "fps/ui/explorerfiledialog.ui" )
,_pCbReadOnly( NULL )
,_pCbLinkBox( NULL)
,_pCbPreviewBox( NULL )
diff --git a/fpicker/source/office/iodlg.hxx b/fpicker/source/office/iodlg.hxx
index bf01b49..3856139 100644
--- a/fpicker/source/office/iodlg.hxx
+++ b/fpicker/source/office/iodlg.hxx
@@ -39,6 +39,7 @@
#include "fpsmartcontent.hxx"
#include <comphelper/configuration.hxx>
#include <comphelper/processfactory.hxx>
+#include "fpdialogbase.hxx"
#include <set>
@@ -50,36 +51,13 @@ class SvTabListBox;
class SvtFileView;
class SvtFileDialogFilter_Impl;
-
-
-#define SFXWB_INSERT ( 0x04000000L | WB_OPEN )
-#define SFXWB_PASSWORD WB_PASSWORD
-#define SFXWB_READONLY WB_READONLY
-#define SFXWB_PATHDIALOG WB_PATH
-#define SFXWB_CLASSPATH ( 0x08000000L | SFXWB_PATHDIALOG )
-#define SFXWB_MULTISELECTION 0x20000000L // activate Multiselection
-#define SFXWB_NOREMOTE 0x40000000L
-
-#define SFX_EXTRA_AUTOEXTENSION 0x00000001L
-#define SFX_EXTRA_FILTEROPTIONS 0x00000002L
-#define SFX_EXTRA_SHOWVERSIONS 0x00000004L
-#define SFX_EXTRA_INSERTASLINK 0x00000008L
-#define SFX_EXTRA_SHOWPREVIEW 0x00000010L
-#define SFX_EXTRA_TEMPLATES 0x00000020L
-#define SFX_EXTRA_PLAYBUTTON 0x00000040L
-#define SFX_EXTRA_SELECTION 0x00000080L
-#define SFX_EXTRA_IMAGE_TEMPLATE 0x00000100L
-
-#define FILEDIALOG_FILTER_ALL "*.*"
-
-
// SvtFileDialog
class SvtExpFileDlg_Impl;
class CustomContainer;
-class SvtFileDialog : public ModalDialog, public ::svt::IFilePickerController
+class SvtFileDialog : public SvtFileDialog_Base
{
private:
VclPtr<CheckBox> _pCbReadOnly;
@@ -162,7 +140,6 @@ private:
protected:
virtual bool Notify( NotifyEvent& rNEvt ) SAL_OVERRIDE;
- void EnableInternet( bool bInternet );
// originally from VclFileDialog
Link<> _aOKHdl;
@@ -201,23 +178,23 @@ public:
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list