[Libreoffice-commits] core.git: Branch 'feature/gsoc15-open-remote-files-dialog' - 3289 commits - accessibility/inc accessibility/source android/Bootstrap android/CustomTarget_android_desktop.mk android/CustomTarget_lo_android.mk android/experimental android/Makefile android/README android/source animations/source avmedia/inc avmedia/Library_avmediagst_0_10.mk avmedia/Library_avmediagst.mk avmedia/Library_avmediavlc.mk avmedia/source basctl/inc basctl/source basebmp/source basebmp/test basegfx/inc basegfx/Library_basegfx.mk basegfx/qa basegfx/source basegfx/test basic/inc basic/qa basic/source bean/com bean/qa bean/test binaryurp/source bin/find-german-comments bin/gbuild-to-ide bin/get-bugzilla-attachments-by-mimetype bin/includebloat.awk bin/lint-ui.py bin/lo-commit-stat bin/lo-generate-source-tarball bin/lo-pack-sources bin/lo-xlate-lang bridges/inc bridges/Library_cpp_uno.mk bridges/source bridges/test canvas/source chart2/CppunitTest_chart2_trendcalculators.mk chart2/inc chart2/Library_chart controller.mk chart2/Module_chart2.mk chart2/qa chart2/README chart2/source chart2/uiconfig chart2/UIConfig_chart2.mk chart2/workbench cli_ure/source codemaker/source comphelper/inc comphelper/qa comphelper/source compilerplugins/clang config_host/config_dconf.h.in config_host/config_extension_update.h.in config_host/config_global.h.in config_host/config_opengl.h.in config_host.mk.in configmgr/CppunitTest_configmgr_unit.mk configmgr/inc configmgr/Library_configmgr.mk configmgr/qa configmgr/source configure.ac connectivity/inc connectivity/Jar_ConnectivityTools.mk connectivity/qa connectivity/source connectivity/workben cppcanvas/inc cppcanvas/source cppuhelper/inc cppuhelper/qa cppuhelper/source cppuhelper/test cppu/qa cppu/source cpputools/source cui/inc cui/source cui/uiconfig dbaccess/CppunitTest_dbaccess_RowSetClones.mk dbaccess/inc dbaccess/JunitTest_dbaccess_complex.mk dbaccess/qa dbaccess/source desktop/inc desktop/Library_sofficeapp.mk desktop/scripts desktop/source desktop/ test dictionaries distro-configs/LibreOfficeLinux.conf download.lst drawinglayer/Library_drawinglayer.mk drawinglayer/source dtrans/source editeng/inc editeng/source embeddedobj/source embedserv/Library_emser.mk embedserv/source eventattacher/source extensions/Library_oleautobridge.mk extensions/Library_so_activex.mk extensions/Library_so_activex_x64.mk extensions/qa extensions/source extensions/test extensions/uiconfig external/coinmp external/ct2n external/curl external/expat external/firebird external/glew external/graphite external/harfbuzz external/icu external/jfreereport external/lcms2 external/libcmis external/libetonyek external/libfreehand external/libmwaw external/libodfgen external/liborcus external/librevenge external/libwpd external/libwpg external/libwps external/libxml2 external/libxslt external/mdds external/Module_external.mk external/neon external/nss external/owncloud-android-lib external/poppler external/python3 external/redland extras/Package_palettes.mk extras /source filter/Configuration_filter.mk filter/CppunitTest_filter_utils.mk filter/Module_filter.mk filter/qa filter/source forms/JunitTest_forms_unoapi_1.mk forms/JunitTest_forms_unoapi_2.mk forms/JunitTest_forms_unoapi_3.mk forms/JunitTest_forms_unoapi_4.mk forms/JunitTest_forms_unoapi.mk forms/Module_forms.mk forms/qa forms/source formula/Library_for.mk formula/source fpicker/Library_fps_office.mk fpicker/source framework/inc framework/Library_fwk.mk framework/qa framework/source framework/util g .git-hooks/pre-commit .gitignore helpcompiler/Executable_helpindexer.mk helpcompiler/Executable_HelpIndexer.mk helpcompiler/Executable_helplinker.mk helpcompiler/Executable_HelpLinker.mk helpcompiler/inc helpcompiler/Module_helpcompiler.mk helpcompiler/source helpcontent2 hwpfilter/source i18nlangtag/qa i18nlangtag/source i18npool/CustomTarget_localedata.mk i18npool/inc i18npool/Library_localedata_en.mk i18npool/Library_localedata_euro.mk i18npool/Library_localedata_others.mk i18npool/qa i 18npool/source 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 idlc/inc idlc/source idlc/test idl/inc idl/source include/avmedia include/basebmp include/basegfx include/basic include/canvas include/com include/comphelper include/connectivity include/cppu include/cppuhelper include/dbaccess include/drawinglayer include/editeng include/filter include/formula include/framework include/i18nlangtag include/jvmfwk include/LibreOfficeKit include/linguistic include/o3tl include/oox include/osl include/package include/registry include/rtl include/sal include/sax include/sfx2 include/sot include/svl include/svtools include/svx include/test include/toolkit include/tools include/typelib include/ucbhelper include/uno include/unotools include/vbahelper include/vcl include/writerperfect include/xmloff instsetoo_native/CustomTarget_install.mk inst setoo_native/CustomTarget_setup.mk instsetoo_native/inc_openoffice instsetoo_native/util ios/CustomTarget_LibreOffice_app.mk ios/CustomTarget_MobileLibreOffice_app.mk ios/MobileLibreOffice io/source ios/shared javaunohelper/com javaunohelper/source javaunohelper/test jurt/com jurt/test jvmfwk/distributions jvmfwk/inc jvmfwk/plugins jvmfwk/source l10ntools/source Library_merged.mk librelogo/source libreofficekit/Executable_gtktiledviewer.mk libreofficekit/Library_libreofficekitgtk.mk libreofficekit/Module_libreofficekit.mk libreofficekit/qa libreofficekit/source lingucomponent/source linguistic/source logerrit lotuswordpro/inc lotuswordpro/source Makefile.fetch Makefile.in mysqlc/source nlpsolver/ThirdParty o3tl/qa odk/config odk/docs odk/examples odk/index.html odk/index_online.html odk/README odk/source offapi/com offapi/type_reference offapi/UnoApi_offapi.mk officecfg/registry onlineupdate/Executable_mar.mk onlineupdate/Executable_updater.mk onlineupdate/Makefile onlineupdate/Modu le_onlineupdate.mk onlineupdate/README onlineupdate/source oox/inc oox/source opencl/source package/inc package/source postprocess/CustomTarget_images.mk postprocess/CustomTarget_registry.mk postprocess/qa pyuno/inc pyuno/Library_pyuno.mk pyuno/Module_pyuno.mk pyuno/PythonTest_pytests.mk pyuno/PythonTest_pyuno_pytests_testcollections.mk pyuno/qa pyuno/source qadevOOo/qa qadevOOo/runner qadevOOo/testdocs qadevOOo/tests readlicense_oo/license readlicense_oo/Package_files.mk README.cross README.md README.Solaris registry/Executable_regview.mk registry/inc registry/Library_reg.mk registry/source registry/tools remotebridges/source reportbuilder/java reportdesign/inc reportdesign/qa reportdesign/source reportdesign/uiconfig RepositoryExternal.mk Repository.mk RepositoryModule_host.mk ridljar/com rsc/inc rsc/source sal/android sal/cppunittester sal/inc sal/osl sal/qa sal/rtl sal/textenc sal/util sax/inc sax/source scaddins/Library_analysis.mk scaddins/source sc/CppunitTest_sc_annotationsh apeobj.mk sc/inc sc/JunitTest_sc_complex.mk sc/JunitTest_sc_unoapi_1.mk sc/JunitTest_sc_unoapi_2.mk sc/JunitTest_sc_unoapi_3.mk sc/JunitTest_sc_unoapi_4.mk sc/JunitTest_sc_unoapi_5.mk sc/JunitTest_sc_unoapi_6.mk sc/JunitTest_sc_unoapi_7.mk sc/JunitTest_sc_unoapi.mk sc/Library_scfilt.mk sc/Library_sc.mk sc/Module_sc.mk scp2/AutoInstall.mk scp2/inc scp2/source sc/qa sc/README scripting/java scripting/source sc/sdi sc/source sc/uiconfig sc/workben sd/CppunitTest_sd_export_tests.mk sdext/README sdext/source sd/inc sd/Library_sd.mk sd/qa sd/sdi sd/source sd/uiconfig setup_native/source sfx2/CppunitTest_sfx2_controlleritem.mk sfx2/inc sfx2/JunitTest_sfx2_complex.mk sfx2/Library_sfx.mk sfx2/Module_sfx2.mk sfx2/PythonTest_sfx2_python.mk sfx2/qa sfx2/sdi sfx2/source sfx2/uiconfig shell/inc shell/source slideshow/qa slideshow/source smoketest/com smoketest/org solenv/bin solenv/gbuild solenv/gdb solenv/README soltools/cpp sot/inc sot/qa sot/source starmath/inc starmath/Library_sm.mk starmath/ sdi starmath/source starmath/uiconfig stoc/source stoc/test store/source svgio/inc svgio/qa svgio/source svl/inc svl/qa svl/source svtools/inc svtools/langsupport svtools/Library_svt.mk svtools/source svtools/uiconfig svtools/UIConfig_svt.mk svx/inc svx/Library_svxcore.mk svx/Library_svx.mk svx/sdi svx/source svx/uiconfig svx/UIConfig_svx.mk svx/workben sw/CppunitTest_sw_docbookexport.mk swext/mediawiki sw/inc sw/JunitTest_sw_unoapi_1.mk sw/JunitTest_sw_unoapi_2.mk sw/JunitTest_sw_unoapi_3.mk sw/JunitTest_sw_unoapi_4.mk sw/JunitTest_sw_unoapi.mk sw/Library_sw.mk sw/Module_sw.mk sw/ooxmlexport_setup.mk sw/qa sw/README sw/sdi sw/source sw/uiconfig sysui/desktop sysui/productlist.mk test/source testtools/com testtools/source toolkit/inc toolkit/JunitTest_toolkit_unoapi_1.mk toolkit/JunitTest_toolkit_unoapi_2.mk toolkit/JunitTest_toolkit_unoapi_3.mk toolkit/JunitTest_toolkit_unoapi_4.mk toolkit/JunitTest_toolkit_unoapi.mk toolkit/Library_tk.mk toolkit/Module_toolkit.mk toolkit/qa toolki t/source toolkit/test tools/CppunitTest_tools_test.mk tools/inc tools/qa tools/source translations tubes/source ucbhelper/source ucb/qa ucb/source ucb/test udkapi/com UnoControls/inc UnoControls/source unodevtools/source unoidl/source unotest/source unotools/source unoxml/source unusedcode.easy uui/source uui/uiconfig vbahelper/source vcl/android vcl/CppunitTest_vcl_lifecycle.mk vcl/generic vcl/headless vcl/inc vcl/ios vcl/Library_vcl.mk vcl/Module_vcl.mk vcl/opengl vcl/osx vcl/Package_opengl_blacklist.mk vcl/qa vcl/quartz vcl/README.GDIMetaFile vcl/README.lifecycle vcl/source vcl/unx vcl/win vcl/workben winaccessibility/inc winaccessibility/Library_uacccom.mk winaccessibility/source wizards/com wizards/source writerfilter/CppunitTest_writerfilter_rtftok.mk writerfilter/documentation writerfilter/qa writerfilter/source writerperfect/CppunitTest_writerperfect_stream.mk writerperfect/inc writerperfect/Library_wpftcalc.mk writerperfect/Library_wpftdraw.mk writerperfect/Library_wpftimpr ess.mk writerperfect/Library_wpftwriter.mk writerperfect/Library_writerperfect.mk writerperfect/Module_writerperfect.mk writerperfect/qa writerperfect/source writerperfect/uiconfig writerperfect/UIConfig_writerperfect.mk xmerge/source xmlhelp/Library_ucpchelp1.mk xmlhelp/source xmloff/dtd xmloff/inc xmloff/source xmlscript/source xmlsecurity/inc xmlsecurity/source xmlsecurity/workben
Szymon Kłos
eszkadev at gmail.com
Thu Jul 16 01:04:37 PDT 2015
Rebased ref, commits from common ancestor:
commit c09512c30bdaede606547a246d755cda0154cf33
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Tue Jul 14 20:55:52 2015 +0200
question about overwriting the file only in the save mode
Change-Id: Iabb3bc12a8efae65a1c3d221a31c2214de8f6c90
diff --git a/fpicker/source/office/RemoteFilesDialog.cxx b/fpicker/source/office/RemoteFilesDialog.cxx
index 6c200ae..ec34e96 100644
--- a/fpicker/source/office/RemoteFilesDialog.cxx
+++ b/fpicker/source/office/RemoteFilesDialog.cxx
@@ -777,11 +777,14 @@ IMPL_LINK_NOARG ( RemoteFilesDialog, OkHdl )
if ( bExists )
{
- OUString sMsg = ResId( STR_SVT_ALREADYEXISTOVERWRITE, *ResMgrHolder::getOrCreate() );
- sMsg = sMsg.replaceFirst( "$filename$", sName );
- ScopedVclPtrInstance< MessageDialog > aBox( this, sMsg, VCL_MESSAGE_QUESTION, VCL_BUTTONS_YES_NO );
- if( aBox->Execute() != RET_YES )
- return 0;
+ if( m_eMode == REMOTEDLG_MODE_SAVE )
+ {
+ OUString sMsg = ResId( STR_SVT_ALREADYEXISTOVERWRITE, *ResMgrHolder::getOrCreate() );
+ 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
{
commit 84e8159ada9a63ac4fd690406e4295860912ebea
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Tue Jul 14 16:16:06 2015 +0200
FilePickerLastService as a string, not string-list 2
Change-Id: If100617ef968fde94178528327135e15f64c1542
diff --git a/fpicker/source/office/RemoteFilesDialog.cxx b/fpicker/source/office/RemoteFilesDialog.cxx
index 5ea0658..6c200ae 100644
--- a/fpicker/source/office/RemoteFilesDialog.cxx
+++ b/fpicker/source/office/RemoteFilesDialog.cxx
@@ -227,10 +227,7 @@ void RemoteFilesDialog::dispose()
std::shared_ptr< comphelper::ConfigurationChanges > batch( comphelper::ConfigurationChanges::create( m_context ) );
- Sequence< OUString > lastService( 1 );
- lastService[0] = m_sLastServiceUrl;
-
- officecfg::Office::Common::Misc::FilePickerLastService::set( lastService, batch );
+ officecfg::Office::Common::Misc::FilePickerLastService::set( m_sLastServiceUrl, batch );
if( m_bIsUpdated )
{
@@ -324,10 +321,8 @@ void RemoteFilesDialog::FillServicesListbox()
unsigned int nPos = 0;
unsigned int i = 0;
- Sequence< OUString > lastService( officecfg::Office::Common::Misc::FilePickerLastService::get( m_context ) );
- if( lastService.getLength() > 0 )
- m_sLastServiceUrl = lastService[0];
+ m_sLastServiceUrl = officecfg::Office::Common::Misc::FilePickerLastService::get( m_context );
for( sal_Int32 nPlace = 0; nPlace < placesUrlsList.getLength() && nPlace < placesNamesList.getLength(); ++nPlace )
{
commit f587314d8d03cc6ac6e112955b401f098e231223
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Tue Jul 14 16:02:02 2015 +0200
FilePickerLastService as a string, not string-list
Change-Id: I7c379e797250be2f61791f5f3260d23ad24d26b3
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index 5109e66..220a989 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -5828,7 +5828,7 @@
<desc>List of names of the places the user bookmarked in the file picker dialog.</desc>
</info>
</prop>
- <prop oor:name="FilePickerLastService" oor:type="oor:string-list" oor:nillable="false">
+ <prop oor:name="FilePickerLastService" oor:type="xs:string" oor:nillable="false">
<info>
<desc>URL of the last used service in the remote file picker.</desc>
</info>
commit 84d266fa838a3df1cedbcde5ab98c8a8b23f6b48
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Tue Jul 14 13:10:53 2015 +0200
RemoteFilesDialog: remember last used service
Change-Id: I494b1d43d28d8e6c37ce9d391b37580be6a9be31
diff --git a/fpicker/source/office/RemoteFilesDialog.cxx b/fpicker/source/office/RemoteFilesDialog.cxx
index 533940d..5ea0658 100644
--- a/fpicker/source/office/RemoteFilesDialog.cxx
+++ b/fpicker/source/office/RemoteFilesDialog.cxx
@@ -225,6 +225,13 @@ void RemoteFilesDialog::dispose()
{
m_pFileView->SetSelectHdl( Link<>() );
+ std::shared_ptr< comphelper::ConfigurationChanges > batch( comphelper::ConfigurationChanges::create( m_context ) );
+
+ Sequence< OUString > lastService( 1 );
+ lastService[0] = m_sLastServiceUrl;
+
+ officecfg::Office::Common::Misc::FilePickerLastService::set( lastService, batch );
+
if( m_bIsUpdated )
{
Sequence< OUString > placesUrlsList( m_aServices.size() );
@@ -238,12 +245,12 @@ void RemoteFilesDialog::dispose()
++i;
}
- std::shared_ptr< comphelper::ConfigurationChanges > batch( comphelper::ConfigurationChanges::create( m_context ) );
officecfg::Office::Common::Misc::FilePickerPlacesUrls::set( placesUrlsList, batch );
officecfg::Office::Common::Misc::FilePickerPlacesNames::set( placesNamesList, batch );
- batch->commit();
}
+ batch->commit();
+
m_pContainer.disposeAndClear(); // container must be first!
m_pTreeView.disposeAndClear();
m_pFileView.disposeAndClear();
@@ -315,6 +322,13 @@ void RemoteFilesDialog::FillServicesListbox()
Sequence< OUString > placesUrlsList( officecfg::Office::Common::Misc::FilePickerPlacesUrls::get( m_context ) );
Sequence< OUString > placesNamesList( officecfg::Office::Common::Misc::FilePickerPlacesNames::get( m_context ) );
+ unsigned int nPos = 0;
+ unsigned int i = 0;
+ Sequence< OUString > lastService( officecfg::Office::Common::Misc::FilePickerLastService::get( m_context ) );
+
+ if( lastService.getLength() > 0 )
+ m_sLastServiceUrl = lastService[0];
+
for( sal_Int32 nPlace = 0; nPlace < placesUrlsList.getLength() && nPlace < placesNamesList.getLength(); ++nPlace )
{
ServicePtr pService( new Place( placesNamesList[nPlace], placesUrlsList[nPlace], true ) );
@@ -328,12 +342,19 @@ void RemoteFilesDialog::FillServicesListbox()
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( 0 );
+ {
+ m_pServices_lb->SelectEntryPos( nPos );
+ }
EnableControls();
}
@@ -507,6 +528,8 @@ IMPL_LINK_NOARG ( RemoteFilesDialog, SelectServiceHdl )
m_pTreeView->Expand( pRoot );
m_pName_ed->GrabFocus();
+
+ m_sLastServiceUrl = sURL;
}
}
diff --git a/fpicker/source/office/RemoteFilesDialog.hxx b/fpicker/source/office/RemoteFilesDialog.hxx
index 3462305..05f9ca1 100644
--- a/fpicker/source/office/RemoteFilesDialog.hxx
+++ b/fpicker/source/office/RemoteFilesDialog.hxx
@@ -114,6 +114,7 @@ private:
OUString m_sPath;
OUString m_sStdDir;
+ OUString m_sLastServiceUrl;
unsigned int m_nCurrentFilter;
::com::sun::star::uno::Sequence< OUString > m_aBlackList;
diff --git a/officecfg/registry/data/org/openoffice/Office/Common.xcu b/officecfg/registry/data/org/openoffice/Office/Common.xcu
index 6394722..8940778 100644
--- a/officecfg/registry/data/org/openoffice/Office/Common.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/Common.xcu
@@ -568,6 +568,9 @@
<prop oor:name="FilePickerPlacesNames">
<value/>
</prop>
+ <prop oor:name="FilePickerLastService">
+ <value/>
+ </prop>
<prop oor:name="CmisServersUrls">
<value>
<it>https://www.googleapis.com/drive/v2</it>
diff --git a/officecfg/registry/data/org/openoffice/Setup.xcu b/officecfg/registry/data/org/openoffice/Setup.xcu
index 9b17125..2a77ab1 100644
--- a/officecfg/registry/data/org/openoffice/Setup.xcu
+++ b/officecfg/registry/data/org/openoffice/Setup.xcu
@@ -898,6 +898,7 @@
<it>/org.openoffice.Office.Common/Misc/UseSystemPrintDialog</it>
<it>/org.openoffice.Office.Common/Misc/FilePickerPlacesNames</it>
<it>/org.openoffice.Office.Common/Misc/FilePickerPlacesUrls</it>
+ <it>/org.openoffice.Office.Common/Misc/FilePickerLastService</it>
<it>/org.openoffice.Office.Common/ODF</it>
<it>/org.openoffice.Office.Common/Passwords</it>
<it>/org.openoffice.Office.Common/Path</it>
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index 87aa3ed..5109e66 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -5828,6 +5828,11 @@
<desc>List of names of the places the user bookmarked in the file picker dialog.</desc>
</info>
</prop>
+ <prop oor:name="FilePickerLastService" oor:type="oor:string-list" oor:nillable="false">
+ <info>
+ <desc>URL of the last used service in the remote file picker.</desc>
+ </info>
+ </prop>
<prop oor:name="CmisServersUrls" oor:type="oor:string-list" oor:nillable="false">
<info>
<desc>List of sample URLs of the CMIS servers in the place edition dialog.</desc>
commit 871d770378809d49c49369faf7fd2ebfe9dc3881
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Mon Jul 13 16:32:07 2015 +0200
Separators between services types
Change-Id: Ibd26abdb83b86256197311bc7a120b4b025ae814
diff --git a/include/svtools/PlaceEditDialog.hxx b/include/svtools/PlaceEditDialog.hxx
index de321a2..9cba4d5 100644
--- a/include/svtools/PlaceEditDialog.hxx
+++ b/include/svtools/PlaceEditDialog.hxx
@@ -51,6 +51,8 @@ private :
*/
std::vector< std::shared_ptr< DetailsContainer > > m_aDetailsContainers;
+ unsigned int m_nCurrentType;
+
public :
PlaceEditDialog( vcl::Window* pParent);
diff --git a/officecfg/registry/data/org/openoffice/Office/Common.xcu b/officecfg/registry/data/org/openoffice/Office/Common.xcu
index a9b1bf7..6394722 100644
--- a/officecfg/registry/data/org/openoffice/Office/Common.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/Common.xcu
@@ -573,6 +573,7 @@
<it>https://www.googleapis.com/drive/v2</it>
<it>https://apis.live.net/v5.0</it>
<it>https://api.alfresco.com/cmis/versions/1.0/atom/</it>
+ <it></it>
<it>http://<host:port>/alfresco/cmisatom</it>
<it>http://<host>/p8cmis/wsdl</it>
<it>https://apps.lotuslive.com/files/basic/cmis/my/servicedoc</it>
@@ -583,6 +584,7 @@
<it>http://<host>/_vti_bin/CMISSoapwsdl.aspx</it>
<it>http://<host>/_api/Web</it>
<it>http://<host>/</it>
+ <it></it>
</value>
</prop>
<prop oor:name="CmisServersNames">
@@ -590,6 +592,7 @@
<it>Google Drive</it>
<it>OneDrive</it>
<it>Alfresco Cloud</it>
+ <it>--------------------</it>
<it>Alfresco 4</it>
<it>IBM FileNet P8</it>
<it>Lotus Live Files</it>
@@ -600,6 +603,7 @@
<it>SharePoint 2010</it>
<it>SharePoint 2013</it>
<it>Other CMIS</it>
+ <it>--------------------</it>
</value>
</prop>
</node>
diff --git a/svtools/source/dialogs/PlaceEditDialog.cxx b/svtools/source/dialogs/PlaceEditDialog.cxx
index 0d1dced..482b763 100644
--- a/svtools/source/dialogs/PlaceEditDialog.cxx
+++ b/svtools/source/dialogs/PlaceEditDialog.cxx
@@ -20,6 +20,7 @@ using namespace com::sun::star::uno;
PlaceEditDialog::PlaceEditDialog(vcl::Window* pParent)
: ModalDialog(pParent, "PlaceEditDialog", "svt/ui/placeedit.ui")
, m_xCurrentDetails()
+ , m_nCurrentType( 0 )
{
get( m_pEDServerName, "name" );
get( m_pLBServerType, "type" );
@@ -249,11 +250,22 @@ IMPL_LINK_NOARG( PlaceEditDialog, EditUsernameHdl )
IMPL_LINK_NOARG( PlaceEditDialog, SelectTypeHdl )
{
+ if ( m_pLBServerType->GetSelectEntry() == "--------------------" )
+ {
+ if( !m_pLBServerType->IsTravelSelect() )
+ m_pLBServerType->SelectEntryPos( m_nCurrentType );
+ else
+ m_pLBServerType->SetNoSelection();
+
+ return 0;
+ }
+
if (m_xCurrentDetails.get())
m_xCurrentDetails->show(false);
sal_uInt16 nPos = m_pLBServerType->GetSelectEntryPos( );
m_xCurrentDetails = m_aDetailsContainers[nPos];
+ m_nCurrentType = nPos;
m_xCurrentDetails->show(true);
commit 289eb8a70d8be87e9768f48d3d28cf4f0d47709a
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Mon Jul 13 14:31:15 2015 +0200
removed comment
Change-Id: Ia74226be5f7d0776d60f04945c23a5b94cdc11b6
diff --git a/fpicker/source/office/iodlg.hxx b/fpicker/source/office/iodlg.hxx
index bb63729..414da3e 100644
--- a/fpicker/source/office/iodlg.hxx
+++ b/fpicker/source/office/iodlg.hxx
@@ -57,8 +57,7 @@ class SvtFileDialogFilter_Impl;
class SvtExpFileDlg_Impl;
class CustomContainer;
-class SvtFileDialog : //public ModalDialog, public ::svt::IFilePickerController,
-public SvtFileDialog_Base
+class SvtFileDialog : public SvtFileDialog_Base
{
private:
VclPtr<CheckBox> _pCbReadOnly;
commit 2239b486bffaeffafc24ed1b135aa70f3cdd8b1a
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Mon Jul 13 14:29:09 2015 +0200
RemoteFilesDialog moved to fpicker
Change-Id: I8e978d40ee022d15f482aec4567c3171b75b9720
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/source/office/OfficeFilePicker.cxx b/fpicker/source/office/OfficeFilePicker.cxx
index 5846e58..917a520 100644
--- a/fpicker/source/office/OfficeFilePicker.cxx
+++ b/fpicker/source/office/OfficeFilePicker.cxx
@@ -20,7 +20,7 @@
#include "OfficeFilePicker.hxx"
#include "iodlg.hxx"
-#include <svtools/RemoteFilesDialog.hxx>
+#include "RemoteFilesDialog.hxx"
#include <list>
#include <functional>
diff --git a/svtools/source/dialogs/RemoteFilesDialog.cxx b/fpicker/source/office/RemoteFilesDialog.cxx
similarity index 98%
rename from svtools/source/dialogs/RemoteFilesDialog.cxx
rename to fpicker/source/office/RemoteFilesDialog.cxx
index 2eea459..533940d 100644
--- a/svtools/source/dialogs/RemoteFilesDialog.cxx
+++ b/fpicker/source/office/RemoteFilesDialog.cxx
@@ -7,7 +7,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
-#include <svtools/RemoteFilesDialog.hxx>
+#include "RemoteFilesDialog.hxx"
class FileViewContainer : public vcl::Window
{
@@ -757,7 +757,15 @@ IMPL_LINK_NOARG ( RemoteFilesDialog, OkHdl )
bExists = false;
}
- if ( !bExists )
+ if ( bExists )
+ {
+ OUString sMsg = ResId( STR_SVT_ALREADYEXISTOVERWRITE, *ResMgrHolder::getOrCreate() );
+ 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( m_eMode == REMOTEDLG_MODE_OPEN )
return 0;
diff --git a/include/svtools/RemoteFilesDialog.hxx b/fpicker/source/office/RemoteFilesDialog.hxx
similarity index 96%
rename from include/svtools/RemoteFilesDialog.hxx
rename to fpicker/source/office/RemoteFilesDialog.hxx
index db61e17..3462305 100644
--- a/include/svtools/RemoteFilesDialog.hxx
+++ b/fpicker/source/office/RemoteFilesDialog.hxx
@@ -11,13 +11,15 @@
#define INCLUDED_SVTOOLS_REMOTEFILESDIALOG_HXX
#include <svtools/foldertree.hxx>
-#include <svtools/svtdllapi.h>
#include <svtools/place.hxx>
#include <svtools/PlaceEditDialog.hxx>
#include <svtools/breadcrumb.hxx>
#include <svtools/fileview.hxx>
+#include <tools/resid.hxx>
+
#include <vcl/button.hxx>
+#include <vcl/fpicker.hrc>
#include <vcl/menubtn.hxx>
#include <vcl/dialog.hxx>
#include <vcl/vclptr.hxx>
@@ -30,7 +32,8 @@
#include <vector>
-#include "../../../fpicker/source/office/fpdialogbase.hxx"
+#include "fpdialogbase.hxx"
+#include "fpsofficeResMgr.hxx"
using namespace ::com::sun::star::beans;
using namespace ::com::sun::star::uno;
@@ -53,7 +56,7 @@ typedef ::com::sun::star::uno::Sequence< OUString > OUStringList;
class FileViewContainer;
-class SVT_DLLPUBLIC RemoteFilesDialog : public SvtFileDialog_Base
+class RemoteFilesDialog : public SvtFileDialog_Base
{
public:
RemoteFilesDialog( vcl::Window* pParent, WinBits nBits );
diff --git a/svtools/Library_svt.mk b/svtools/Library_svt.mk
index 20a4c2f..f6c834d 100644
--- a/svtools/Library_svt.mk
+++ b/svtools/Library_svt.mk
@@ -139,7 +139,6 @@ $(eval $(call gb_Library_add_exception_objects,svt,\
svtools/source/dialogs/mcvmath \
svtools/source/dialogs/PlaceEditDialog \
svtools/source/dialogs/prnsetup \
- svtools/source/dialogs/RemoteFilesDialog \
svtools/source/dialogs/restartdialog \
svtools/source/dialogs/roadmapwizard \
svtools/source/dialogs/ServerDetailsControls \
commit 1abade4f92a6d1c70ab3e333770e1cb242f29063
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Mon Jul 13 12:01:12 2015 +0200
moved the FolderTree class
Change-Id: I3231b32d3e3ade7dc3b366f03d6e189f5bc4d431
diff --git a/include/svtools/RemoteFilesDialog.hxx b/include/svtools/RemoteFilesDialog.hxx
index fd12f39..db61e17 100644
--- a/include/svtools/RemoteFilesDialog.hxx
+++ b/include/svtools/RemoteFilesDialog.hxx
@@ -10,18 +10,15 @@
#ifndef INCLUDED_SVTOOLS_REMOTEFILESDIALOG_HXX
#define INCLUDED_SVTOOLS_REMOTEFILESDIALOG_HXX
+#include <svtools/foldertree.hxx>
#include <svtools/svtdllapi.h>
#include <svtools/place.hxx>
#include <svtools/PlaceEditDialog.hxx>
-#include <svtools/svtools.hrc>
-#include <svtools/svtresid.hxx>
#include <svtools/breadcrumb.hxx>
#include <svtools/fileview.hxx>
-#include <svtools/treelistentry.hxx>
#include <vcl/button.hxx>
#include <vcl/menubtn.hxx>
-#include <vcl/lstbox.hxx>
#include <vcl/dialog.hxx>
#include <vcl/vclptr.hxx>
#include <vcl/split.hxx>
@@ -30,11 +27,6 @@
#include <officecfg/Office/Common.hxx>
#include <com/sun/star/beans/StringPair.hpp>
#include <com/sun/star/uno/Sequence.hxx>
-#include <com/sun/star/ucb/XCommandEnvironment.hpp>
-#include <com/sun/star/ucb/XProgressHandler.hpp>
-#include <com/sun/star/task/XInteractionHandler.hpp>
-#include <com/sun/star/task/InteractionHandler.hpp>
-#include <ucbhelper/commandenvironment.hxx>
#include <vector>
@@ -42,11 +34,7 @@
using namespace ::com::sun::star::beans;
using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::ucb;
-using namespace ::com::sun::star::task;
using namespace ::com::sun::star::ui::dialogs;
-using namespace ::comphelper;
-using namespace ::svt;
enum SvtRemoteDlgMode
{
@@ -64,8 +52,6 @@ typedef std::shared_ptr< Place > ServicePtr;
typedef ::com::sun::star::uno::Sequence< OUString > OUStringList;
class FileViewContainer;
-class Breadcrumb;
-class FolderTree;
class SVT_DLLPUBLIC RemoteFilesDialog : public SvtFileDialog_Base
{
diff --git a/include/svtools/foldertree.hxx b/include/svtools/foldertree.hxx
new file mode 100644
index 0000000..213c254
--- /dev/null
+++ b/include/svtools/foldertree.hxx
@@ -0,0 +1,56 @@
+/* -*- 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_FOLDERTREE_HXX
+#define INCLUDED_SVTOOLS_FOLDERTREE_HXX
+
+#include <com/sun/star/uno/Sequence.hxx>
+#include <com/sun/star/ucb/XCommandEnvironment.hpp>
+#include <com/sun/star/task/InteractionHandler.hpp>
+
+#include <officecfg/Office/Common.hxx>
+
+#include <svtools/svtdllapi.h>
+#include <svtools/svtools.hrc>
+#include <svtools/svtresid.hxx>
+#include <svtools/treelistentry.hxx>
+
+#include <tools/urlobj.hxx>
+
+#include <ucbhelper/commandenvironment.hxx>
+
+#include <vcl/image.hxx>
+#include <vcl/lstbox.hxx>
+
+using namespace ::com::sun::star::ucb;
+using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star::task;
+using namespace ::svt;
+
+class SVT_DLLPUBLIC FolderTree : public SvTreeListBox
+{
+private:
+ Reference< XCommandEnvironment > m_xEnv;
+ ::osl::Mutex m_aMutex;
+ Sequence< OUString > m_aBlackList;
+ Image m_aFolderImage;
+
+public:
+ FolderTree( vcl::Window* pParent, WinBits nBits );
+
+ virtual void RequestingChildren( SvTreeListEntry* pEntry );
+
+ void FillTreeEntry( SvTreeListEntry* pEntry );
+ void SetTreePath( OUString sUrl );
+ void SetBlackList( const ::com::sun::star::uno::Sequence< OUString >& rBlackList );
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svtools/Library_svt.mk b/svtools/Library_svt.mk
index e3ce0a0..20a4c2f 100644
--- a/svtools/Library_svt.mk
+++ b/svtools/Library_svt.mk
@@ -92,6 +92,7 @@ $(eval $(call gb_Library_add_exception_objects,svt,\
svtools/source/contnr/DocumentInfoPreview \
svtools/source/contnr/contentenumeration \
svtools/source/contnr/fileview \
+ svtools/source/contnr/foldertree \
svtools/source/contnr/imivctl1 \
svtools/source/contnr/imivctl2 \
svtools/source/contnr/ivctrl \
diff --git a/svtools/source/contnr/foldertree.cxx b/svtools/source/contnr/foldertree.cxx
new file mode 100644
index 0000000..b4c27fd
--- /dev/null
+++ b/svtools/source/contnr/foldertree.cxx
@@ -0,0 +1,116 @@
+/* -*- 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 <svtools/foldertree.hxx>
+
+#include "contentenumeration.hxx"
+
+FolderTree::FolderTree( vcl::Window* pParent, WinBits nBits )
+ : SvTreeListBox( pParent, nBits | WB_SORT | WB_TABSTOP )
+ , m_aFolderImage( SvtResId( IMG_SVT_FOLDER ) )
+{
+ Reference< XComponentContext > xContext = ::comphelper::getProcessComponentContext();
+ Reference< XInteractionHandler > xInteractionHandler(
+ InteractionHandler::createWithParent( xContext, 0 ), UNO_QUERY_THROW );
+ m_xEnv = new ::ucbhelper::CommandEnvironment( xInteractionHandler, Reference< XProgressHandler >() );
+
+ SetDefaultCollapsedEntryBmp( m_aFolderImage );
+ SetDefaultExpandedEntryBmp( m_aFolderImage );
+}
+
+void FolderTree::RequestingChildren( SvTreeListEntry* pEntry )
+{
+ FillTreeEntry( pEntry );
+}
+
+void FolderTree::FillTreeEntry( SvTreeListEntry* pEntry )
+{
+ // fill only empty entries
+ if( pEntry && GetChildCount( pEntry ) == 0 )
+ {
+ ::std::vector< SortingData_Impl* > aContent;
+
+ FileViewContentEnumerator* pContentEnumerator = new FileViewContentEnumerator(
+ m_xEnv, aContent, m_aMutex, NULL );
+
+ OUString* pURL = static_cast< OUString* >( pEntry->GetUserData() );
+
+ if( pURL )
+ {
+ FolderDescriptor aFolder( *pURL );
+
+ EnumerationResult eResult =
+ pContentEnumerator->enumerateFolderContentSync( aFolder, m_aBlackList );
+
+ if ( SUCCESS == eResult )
+ {
+ for( unsigned int i = 0; i < aContent.size(); i++ )
+ {
+ if( aContent[i]->mbIsFolder )
+ {
+ SvTreeListEntry* pNewEntry = InsertEntry( aContent[i]->GetTitle(), pEntry, true );
+
+ OUString* sData = new OUString( aContent[i]->maTargetURL );
+ pNewEntry->SetUserData( static_cast< void* >( sData ) );
+ }
+ }
+ }
+ }
+ }
+}
+
+void FolderTree::SetTreePath( OUString sUrl )
+{
+ INetURLObject aUrl( sUrl );
+ aUrl.setFinalSlash();
+
+ OUString sPath = aUrl.GetURLPath( INetURLObject::DECODE_WITH_CHARSET );
+
+ SvTreeListEntry* pEntry = First();
+ bool end = false;
+
+ while( pEntry && !end )
+ {
+ if( pEntry->GetUserData() )
+ {
+ OUString sNodeUrl = *static_cast< OUString* >( pEntry->GetUserData() );
+
+ INetURLObject aUrlObj( sNodeUrl );
+ aUrlObj.setFinalSlash();
+
+ sNodeUrl = aUrlObj.GetURLPath( INetURLObject::DECODE_WITH_CHARSET );
+
+ if( sPath == sNodeUrl )
+ {
+ Select( pEntry );
+ end = true;
+ }
+ else if( sPath.startsWith( sNodeUrl ) )
+ {
+ if( !IsExpanded( pEntry ) )
+ Expand( pEntry );
+
+ pEntry = FirstChild( pEntry );
+ }
+ else
+ {
+ pEntry = NextSibling( pEntry );
+ }
+ }
+ else
+ break;
+ }
+}
+
+void FolderTree::SetBlackList( const ::com::sun::star::uno::Sequence< OUString >& rBlackList )
+{
+ m_aBlackList = rBlackList;
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svtools/source/dialogs/RemoteFilesDialog.cxx b/svtools/source/dialogs/RemoteFilesDialog.cxx
index 41391e7..2eea459 100644
--- a/svtools/source/dialogs/RemoteFilesDialog.cxx
+++ b/svtools/source/dialogs/RemoteFilesDialog.cxx
@@ -8,119 +8,6 @@
*/
#include <svtools/RemoteFilesDialog.hxx>
-#include "../contnr/contentenumeration.hxx"
-
-class FolderTree : public SvTreeListBox
-{
-private:
- Reference< XCommandEnvironment > m_xEnv;
- ::osl::Mutex m_aMutex;
- Sequence< OUString > m_aBlackList;
- Image m_aFolderImage;
-
-public:
- FolderTree( vcl::Window* pParent, WinBits nBits )
- : SvTreeListBox( pParent, nBits | WB_SORT | WB_TABSTOP )
- , m_aFolderImage( SvtResId( IMG_SVT_FOLDER ) )
- {
- Reference< XComponentContext > xContext = ::comphelper::getProcessComponentContext();
- Reference< XInteractionHandler > xInteractionHandler(
- InteractionHandler::createWithParent( xContext, 0 ), UNO_QUERY_THROW );
- m_xEnv = new ::ucbhelper::CommandEnvironment( xInteractionHandler, Reference< XProgressHandler >() );
-
- SetDefaultCollapsedEntryBmp( m_aFolderImage );
- SetDefaultExpandedEntryBmp( m_aFolderImage );
- }
-
- virtual void RequestingChildren( SvTreeListEntry* pEntry )
- {
- FillTreeEntry( pEntry );
- }
-
- void FillTreeEntry( SvTreeListEntry* pEntry )
- {
- // fill only empty entries
- if( pEntry && GetChildCount( pEntry ) == 0 )
- {
- ::std::vector< SortingData_Impl* > aContent;
-
- FileViewContentEnumerator* pContentEnumerator = new FileViewContentEnumerator(
- m_xEnv, aContent, m_aMutex, NULL );
-
- OUString* pURL = static_cast< OUString* >( pEntry->GetUserData() );
-
- if( pURL )
- {
- FolderDescriptor aFolder( *pURL );
-
- EnumerationResult eResult =
- pContentEnumerator->enumerateFolderContentSync( aFolder, m_aBlackList );
-
- if ( SUCCESS == eResult )
- {
- for( unsigned int i = 0; i < aContent.size(); i++ )
- {
- if( aContent[i]->mbIsFolder )
- {
- SvTreeListEntry* pNewEntry = InsertEntry( aContent[i]->GetTitle(), pEntry, true );
-
- OUString* sData = new OUString( aContent[i]->maTargetURL );
- pNewEntry->SetUserData( static_cast< void* >( sData ) );
- }
- }
- }
- }
- }
- }
-
- void SetTreePath( OUString sUrl )
- {
- INetURLObject aUrl( sUrl );
- aUrl.setFinalSlash();
-
- OUString sPath = aUrl.GetURLPath( INetURLObject::DECODE_WITH_CHARSET );
-
- SvTreeListEntry* pEntry = First();
- bool end = false;
-
- while( pEntry && !end )
- {
- if( pEntry->GetUserData() )
- {
- OUString sNodeUrl = *static_cast< OUString* >( pEntry->GetUserData() );
-
- INetURLObject aUrlObj( sNodeUrl );
- aUrlObj.setFinalSlash();
-
- sNodeUrl = aUrlObj.GetURLPath( INetURLObject::DECODE_WITH_CHARSET );
-
- if( sPath == sNodeUrl )
- {
- Select( pEntry );
- end = true;
- }
- else if( sPath.startsWith( sNodeUrl ) )
- {
- if( !IsExpanded( pEntry ) )
- Expand( pEntry );
-
- pEntry = FirstChild( pEntry );
- }
- else
- {
- pEntry = NextSibling( pEntry );
- }
- }
- else
- break;
- }
- }
-
- void SetBlackList( const ::com::sun::star::uno::Sequence< OUString >& rBlackList )
- {
- m_aBlackList = rBlackList;
- }
-};
class FileViewContainer : public vcl::Window
{
commit 1c25093f8abf518e9983b9d23f6f3964001a1aac
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Mon Jul 13 11:08:36 2015 +0200
tree settings moved inside class
Change-Id: I1cf0eb30f143e311a6a8c731f6dcc8e7ad7e4e5d
diff --git a/include/svtools/RemoteFilesDialog.hxx b/include/svtools/RemoteFilesDialog.hxx
index f1dc755..fd12f39 100644
--- a/include/svtools/RemoteFilesDialog.hxx
+++ b/include/svtools/RemoteFilesDialog.hxx
@@ -122,7 +122,6 @@ private:
bool m_bMultiselection;
bool m_bIsUpdated;
bool m_bIsConnected;
- Image m_aFolderImage;
OUString m_sPath;
OUString m_sStdDir;
diff --git a/svtools/source/dialogs/RemoteFilesDialog.cxx b/svtools/source/dialogs/RemoteFilesDialog.cxx
index b3aaaed..41391e7 100644
--- a/svtools/source/dialogs/RemoteFilesDialog.cxx
+++ b/svtools/source/dialogs/RemoteFilesDialog.cxx
@@ -16,15 +16,20 @@ private:
Reference< XCommandEnvironment > m_xEnv;
::osl::Mutex m_aMutex;
Sequence< OUString > m_aBlackList;
+ Image m_aFolderImage;
public:
FolderTree( vcl::Window* pParent, WinBits nBits )
- : SvTreeListBox( pParent, nBits )
+ : SvTreeListBox( pParent, nBits | WB_SORT | WB_TABSTOP )
+ , m_aFolderImage( SvtResId( IMG_SVT_FOLDER ) )
{
Reference< XComponentContext > xContext = ::comphelper::getProcessComponentContext();
Reference< XInteractionHandler > xInteractionHandler(
InteractionHandler::createWithParent( xContext, 0 ), UNO_QUERY_THROW );
m_xEnv = new ::ucbhelper::CommandEnvironment( xInteractionHandler, Reference< XProgressHandler >() );
+
+ SetDefaultCollapsedEntryBmp( m_aFolderImage );
+ SetDefaultExpandedEntryBmp( m_aFolderImage );
}
virtual void RequestingChildren( SvTreeListEntry* pEntry )
@@ -237,7 +242,6 @@ class FileViewContainer : public vcl::Window
RemoteFilesDialog::RemoteFilesDialog( vcl::Window* pParent, WinBits nBits )
: SvtFileDialog_Base( pParent, "RemoteFilesDialog", "svt/ui/remotefilesdialog.ui" )
, m_context( comphelper::getProcessComponentContext() )
- , m_aFolderImage( SvtResId( IMG_SVT_FOLDER ) )
, m_pSplitter( NULL )
, m_pFileView( NULL )
, m_pContainer( NULL )
@@ -293,14 +297,12 @@ RemoteFilesDialog::RemoteFilesDialog( vcl::Window* pParent, WinBits nBits )
m_pSplitter->SetSplitHdl( LINK( this, RemoteFilesDialog, SplitHdl ) );
m_pSplitter->Show();
- m_pTreeView = VclPtr< FolderTree >::Create( m_pContainer, WB_BORDER | WB_SORT | WB_TABSTOP );
+ m_pTreeView = VclPtr< FolderTree >::Create( m_pContainer, WB_BORDER );
Size aSize( 100, 200 );
m_pTreeView->set_height_request( aSize.Height() );
m_pTreeView->set_width_request( aSize.Width() );
m_pTreeView->SetSizePixel( aSize );
m_pTreeView->Show();
- m_pTreeView->SetDefaultCollapsedEntryBmp( m_aFolderImage );
- m_pTreeView->SetDefaultExpandedEntryBmp( m_aFolderImage );
m_pTreeView->SetSelectHdl( LINK( this, RemoteFilesDialog, TreeSelectHdl ) );
commit 1ccb11bc32265ce9916ca594adae727c685d0b32
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Fri Jul 10 21:35:02 2015 +0200
don't expand last url level in the tree
Change-Id: Iea4f650374921f1c50d8edeac384841113640d5e
diff --git a/svtools/source/dialogs/RemoteFilesDialog.cxx b/svtools/source/dialogs/RemoteFilesDialog.cxx
index 6b4e39b..b3aaaed 100644
--- a/svtools/source/dialogs/RemoteFilesDialog.cxx
+++ b/svtools/source/dialogs/RemoteFilesDialog.cxx
@@ -92,10 +92,6 @@ public:
if( sPath == sNodeUrl )
{
Select( pEntry );
-
- if( !IsExpanded( pEntry ) )
- Expand( pEntry );
-
end = true;
}
else if( sPath.startsWith( sNodeUrl ) )
commit 353a8cf59c5cc76444dd0692f0ab7c7f66f45493
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Fri Jul 10 18:11:11 2015 +0200
Open/Save button should be the default button
Change-Id: If2dc98beaff9cefcaf87be8773077524e2f5cb90
diff --git a/svtools/uiconfig/ui/remotefilesdialog.ui b/svtools/uiconfig/ui/remotefilesdialog.ui
index 0ba817b..cd73846 100644
--- a/svtools/uiconfig/ui/remotefilesdialog.ui
+++ b/svtools/uiconfig/ui/remotefilesdialog.ui
@@ -22,8 +22,7 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
- <property name="has_default">True</property>
- <property name="receives_default">True</property>
+ <property name="receives_default">False</property>
<property name="use_stock">True</property>
</object>
<packing>
@@ -37,6 +36,7 @@
<property name="label">gtk-open</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
+ <property name="has_default">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
</object>
@@ -51,6 +51,7 @@
<property name="label">gtk-save</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
+ <property name="has_default">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
</object>
commit 35e3defe9ab17494fa1f240e46fc2bd9bc043c1c
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Fri Jul 10 17:38:04 2015 +0200
Container should be disposed before childs
Change-Id: Ia6feb9c57ce574236e4763c61484fb5a14e55ff4
diff --git a/svtools/source/dialogs/RemoteFilesDialog.cxx b/svtools/source/dialogs/RemoteFilesDialog.cxx
index 4d5c619..6b4e39b 100644
--- a/svtools/source/dialogs/RemoteFilesDialog.cxx
+++ b/svtools/source/dialogs/RemoteFilesDialog.cxx
@@ -196,6 +196,9 @@ class FileViewContainer : public vcl::Window
void changeFocus( bool bReverse )
{
+ if( !m_pFileView || !m_pTreeView )
+ return;
+
if( !bReverse && m_nCurrentFocus < 4 )
{
m_pFocusWidgets[++m_nCurrentFocus]->SetFakeFocus( true );
@@ -210,6 +213,9 @@ class FileViewContainer : public vcl::Window
virtual void GetFocus() SAL_OVERRIDE
{
+ if( !m_pFileView || !m_pTreeView )
+ return;
+
m_nCurrentFocus = 1;
m_pFocusWidgets[m_nCurrentFocus]->SetFakeFocus( true );
m_pFocusWidgets[m_nCurrentFocus]->GrabFocus();
@@ -353,10 +359,10 @@ void RemoteFilesDialog::dispose()
batch->commit();
}
+ m_pContainer.disposeAndClear(); // container must be first!
m_pTreeView.disposeAndClear();
m_pFileView.disposeAndClear();
m_pSplitter.disposeAndClear();
- m_pContainer.disposeAndClear();
m_pPath.disposeAndClear();
m_pOk_btn.clear();
commit 0207ef8930cf047d8e1894e12148addbf27e70f1
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Fri Jul 10 16:21:41 2015 +0200
If user cancels authorization, don't show login dialog again
Change-Id: I4b110c041f1b8908fdfeeec3b4544f8607f23ddb
diff --git a/ucb/source/ucp/cmis/cmis_content.cxx b/ucb/source/ucp/cmis/cmis_content.cxx
index 664ddfc..7be8c45 100644
--- a/ucb/source/ucp/cmis/cmis_content.cxx
+++ b/ucb/source/ucp/cmis/cmis_content.cxx
@@ -377,6 +377,11 @@ namespace cmis
else
{
// Silently fail as the user cancelled the authentication
+ ucbhelper::cancelCommandExecution(
+ ucb::IOErrorCode_ABORT,
+ uno::Sequence< uno::Any >( 0 ),
+ xEnv,
+ OUString( ) );
throw uno::RuntimeException( );
}
}
commit bfbfdc95c68a6ba985daa174b8c30c28c89f9853
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Fri Jul 10 15:31:48 2015 +0200
PlaceEditDialog: only one error after failed auth
Change-Id: I215de03282b3692ebfdc6a7a0e9fd02ecc04f722
diff --git a/svtools/source/dialogs/ServerDetailsControls.cxx b/svtools/source/dialogs/ServerDetailsControls.cxx
index 46b5b05..e2f3ddc 100644
--- a/svtools/source/dialogs/ServerDetailsControls.cxx
+++ b/svtools/source/dialogs/ServerDetailsControls.cxx
@@ -411,10 +411,6 @@ IMPL_LINK_NOARG( CmisDetailsContainer, RefreshReposHdl )
}
catch ( const Exception& )
{
- ScopedVclPtrInstance< ErrorBox > pErrorBox( static_cast< vcl::Window* >( NULL ),
- WB_OK,
- "Auth failed!" );
- pErrorBox->Execute( );
}
// Auto-select the first one
diff --git a/ucb/source/ucp/cmis/cmis_repo_content.cxx b/ucb/source/ucp/cmis/cmis_repo_content.cxx
index 5128b70..82ca6b3 100644
--- a/ucb/source/ucp/cmis/cmis_repo_content.cxx
+++ b/ucb/source/ucp/cmis/cmis_repo_content.cxx
@@ -202,7 +202,11 @@ namespace cmis
catch (const libcmis::Exception& e)
{
SAL_INFO( "ucb.ucp.cmis", "Error getting repositories: " << e.what() );
- throw uno::Exception( );
+ ucbhelper::cancelCommandExecution(
+ ucb::IOErrorCode_INVALID_DEVICE,
+ uno::Sequence< uno::Any >( 0 ),
+ xEnv,
+ OUString( ) );
}
}
else
commit 331c1633b49f6c2110fb249709c9430a4f2efd89
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Fri Jul 10 13:20:06 2015 +0200
Check if OK button should be enabled after changing service type
Change-Id: I64ce981846f4107c8f38e413f1e6eb9e5616ef87
diff --git a/svtools/source/dialogs/PlaceEditDialog.cxx b/svtools/source/dialogs/PlaceEditDialog.cxx
index bbc1f43..0d1dced 100644
--- a/svtools/source/dialogs/PlaceEditDialog.cxx
+++ b/svtools/source/dialogs/PlaceEditDialog.cxx
@@ -258,6 +258,9 @@ IMPL_LINK_NOARG( PlaceEditDialog, SelectTypeHdl )
m_xCurrentDetails->show(true);
SetSizePixel(GetOptimalSize());
+
+ EditHdl(NULL);
+
return 0;
}
commit d58582a6ce0b85fd6cf699d3c935fe4c7257c5b4
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Fri Jul 10 12:58:58 2015 +0200
Add prefix to the name after editing service
Change-Id: Icca2436e5a3782829971bf9e672bbddab81cc97f
diff --git a/svtools/source/dialogs/RemoteFilesDialog.cxx b/svtools/source/dialogs/RemoteFilesDialog.cxx
index d27fccc..4d5c619 100644
--- a/svtools/source/dialogs/RemoteFilesDialog.cxx
+++ b/svtools/source/dialogs/RemoteFilesDialog.cxx
@@ -643,7 +643,13 @@ IMPL_LINK_TYPED ( RemoteFilesDialog, EditServiceMenuHdl, MenuButton *, pButton,
m_aServices[nPos] = pEditedService;
m_pServices_lb->RemoveEntry( nSelected );
- m_pServices_lb->InsertEntry( pEditedService->GetName(), 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;
commit e211999cdf2e54bf15670a89607622737e4acf44
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Fri Jul 10 12:46:58 2015 +0200
PlaceEditDialog: Remember the repository id if wasn't changed
Change-Id: Ib5e63bec0b6b3c2d7d0dc2c114656737979ef6d0
diff --git a/svtools/source/dialogs/ServerDetailsControls.cxx b/svtools/source/dialogs/ServerDetailsControls.cxx
index 3fc26c4..46b5b05 100644
--- a/svtools/source/dialogs/ServerDetailsControls.cxx
+++ b/svtools/source/dialogs/ServerDetailsControls.cxx
@@ -329,12 +329,10 @@ bool CmisDetailsContainer::setUrl( const INetURLObject& rUrl )
if ( bSuccess )
{
- OUString sRepositoryId;
-
OUString sDecodedHost = rUrl.GetHost( INetURLObject::DECODE_WITH_CHARSET );
INetURLObject aHostUrl( sDecodedHost );
m_sBinding = aHostUrl.GetURLNoMark( );
- sRepositoryId = aHostUrl.GetMark( );
+ m_sRepoId = aHostUrl.GetMark( );
m_pEDBinding->SetText( m_sBinding );
m_pEDRoot->SetText( rUrl.GetURLPath() );
commit c7079800dd584ca1d3bd34a6e3fe6bb5402cb31e
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Fri Jul 10 11:52:17 2015 +0200
RemoteFilesDialog: safe doubleclick on file view
Change-Id: I651c8274dfb2776e63c32f0b45d9daf57e5970c6
diff --git a/svtools/source/dialogs/RemoteFilesDialog.cxx b/svtools/source/dialogs/RemoteFilesDialog.cxx
index 869fcdf..d27fccc 100644
--- a/svtools/source/dialogs/RemoteFilesDialog.cxx
+++ b/svtools/source/dialogs/RemoteFilesDialog.cxx
@@ -687,17 +687,24 @@ IMPL_LINK_TYPED ( RemoteFilesDialog, EditServiceMenuHdl, MenuButton *, pButton,
IMPL_LINK_NOARG ( RemoteFilesDialog, DoubleClickHdl )
{
SvTreeListEntry* pEntry = m_pFileView->FirstSelected();
- SvtContentEntry* pData = static_cast< SvtContentEntry* >( pEntry->GetUserData() );
- if( pData->mbIsFolder )
+ if( pEntry )
{
- OUString sURL = m_pFileView->GetCurrentURL();
+ SvtContentEntry* pData = static_cast< SvtContentEntry* >( pEntry->GetUserData() );
- OpenURL( sURL );
- }
- else
- {
- EndDialog( RET_OK );
+ if( pData )
+ {
+ if( pData->mbIsFolder )
+ {
+ OUString sURL = m_pFileView->GetCurrentURL();
+
+ OpenURL( sURL );
+ }
+ else
+ {
+ EndDialog( RET_OK );
+ }
+ }
}
return 1;
commit 31664660b2e1b3fec79ef7ae259be0d2e0e34861
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Fri Jul 10 11:33:23 2015 +0200
RemoteFilesDialog: auto file extension in the save mode
Change-Id: I7b1dd5cc330de0c1ad713d68d93e7d12375033c6
diff --git a/include/svtools/RemoteFilesDialog.hxx b/include/svtools/RemoteFilesDialog.hxx
index 44fce0c..f1dc755 100644
--- a/include/svtools/RemoteFilesDialog.hxx
+++ b/include/svtools/RemoteFilesDialog.hxx
@@ -153,6 +153,8 @@ private:
FileViewResult OpenURL( OUString sURL );
+ void AddFileExtension();
+
void EnableControls();
DECL_LINK ( AddServiceHdl, void * );
diff --git a/svtools/source/dialogs/RemoteFilesDialog.cxx b/svtools/source/dialogs/RemoteFilesDialog.cxx
index 03fa023..869fcdf 100644
--- a/svtools/source/dialogs/RemoteFilesDialog.cxx
+++ b/svtools/source/dialogs/RemoteFilesDialog.cxx
@@ -517,6 +517,23 @@ FileViewResult RemoteFilesDialog::OpenURL( OUString sURL )
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 )
@@ -787,6 +804,10 @@ IMPL_LINK ( RemoteFilesDialog, SelectBreadcrumbHdl, Breadcrumb*, pPtr )
IMPL_LINK_NOARG ( RemoteFilesDialog, OkHdl )
{
+ // auto extension
+ if( m_eMode == REMOTEDLG_MODE_SAVE )
+ AddFileExtension();
+
// check if file/path exists
OUString sCurrentPath = m_pFileView->GetViewURL();
commit 16ba8ede0af90516c9293b76f2f3a534e944b832
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Thu Jul 9 17:01:11 2015 +0200
RemoteFilesDialog: fixes needed for saving documents
Change-Id: I3134f82d81ed2c2de7d6197fbec5610b53814e1e
diff --git a/svtools/source/dialogs/RemoteFilesDialog.cxx b/svtools/source/dialogs/RemoteFilesDialog.cxx
index 05f1ac9..03fa023 100644
--- a/svtools/source/dialogs/RemoteFilesDialog.cxx
+++ b/svtools/source/dialogs/RemoteFilesDialog.cxx
@@ -494,7 +494,12 @@ FileViewResult RemoteFilesDialog::OpenURL( OUString sURL )
if( m_pFileView )
{
- OUString sFilter = GetCurFilter();
+ OUString sFilter = FILEDIALOG_FILTER_ALL;
+
+ if( m_nCurrentFilter != LISTBOX_ENTRY_NOTFOUND )
+ {
+ sFilter = m_aFilters[m_nCurrentFilter].second;
+ }
m_pFileView->EndInplaceEditing( false );
eResult = m_pFileView->Initialize( sURL, sFilter, NULL, GetBlackList() );
@@ -791,9 +796,12 @@ IMPL_LINK_NOARG ( RemoteFilesDialog, OkHdl )
bool bFileDlg = ( m_eType == REMOTEDLG_TYPE_FILEDLG );
bool bSelected = ( m_pFileView->GetSelectionCount() > 0 );
+ if( !sCurrentPath.endsWith( OUString( "/" ) ) )
+ sCurrentPath += OUString( "/" );
+
if( !bSelected )
{
- m_sPath = sCurrentPath + "/" + INetURLObject::encode( sName, INetURLObject::PART_FPATH, INetURLObject::ENCODE_ALL );
+ m_sPath = sCurrentPath + INetURLObject::encode( sName, INetURLObject::PART_FPATH, INetURLObject::ENCODE_ALL );
}
else
{
@@ -826,14 +834,11 @@ IMPL_LINK_NOARG ( RemoteFilesDialog, OkHdl )
if ( !bExists )
{
- // TODO
-
- return 0;
+ if( m_eMode == REMOTEDLG_MODE_OPEN )
+ return 0;
}
- if( bExists )
- EndDialog( RET_OK );
-
+ EndDialog( RET_OK );
return 1;
}
@@ -899,11 +904,7 @@ OUString RemoteFilesDialog::GetCurFilter() const
if( m_nCurrentFilter != LISTBOX_ENTRY_NOTFOUND )
{
- sFilter = m_aFilters[m_nCurrentFilter].second;
- }
- else
- {
- sFilter = FILEDIALOG_FILTER_ALL;
+ sFilter = m_aFilters[m_nCurrentFilter].first;
}
return sFilter;
@@ -967,12 +968,22 @@ std::vector<OUString> RemoteFilesDialog::GetPathList() const
bool RemoteFilesDialog::ContentIsFolder( const OUString& rURL )
{
- Reference< XComponentContext > xContext = ::comphelper::getProcessComponentContext();
- Reference< XInteractionHandler > xInteractionHandler(
- InteractionHandler::createWithParent( xContext, 0 ), UNO_QUERY_THROW );
- Reference< XCommandEnvironment > xEnv = new ::ucbhelper::CommandEnvironment( xInteractionHandler, Reference< XProgressHandler >() );
- ::ucbhelper::Content aContent( rURL, xEnv, xContext );
- return aContent.isFolder();
+ try
+ {
+ Reference< XComponentContext > xContext = ::comphelper::getProcessComponentContext();
+ Reference< XInteractionHandler > xInteractionHandler(
+ InteractionHandler::createWithParent( xContext, 0 ), UNO_QUERY_THROW );
+ Reference< XCommandEnvironment > xEnv = new ::ucbhelper::CommandEnvironment( xInteractionHandler, Reference< XProgressHandler >() );
+ ::ucbhelper::Content aContent( rURL, xEnv, xContext );
+
+ return aContent.isFolder();
+ }
+ catch( const Exception& )
+ {
+ // a content doesn't exist
+ }
+
+ return false;
}
sal_Int32 RemoteFilesDialog::getTargetColorDepth()
commit 2a6cec2caae7a04f9dc16d05aa2402536678c4c1
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Thu Jul 9 13:13:09 2015 +0200
Default focus on filename field after selecting service
Change-Id: I1c1d2855925b3d04b18a0401156b0a8c6e38d8dd
diff --git a/svtools/source/dialogs/RemoteFilesDialog.cxx b/svtools/source/dialogs/RemoteFilesDialog.cxx
index 129dcee..05f1ac9 100644
--- a/svtools/source/dialogs/RemoteFilesDialog.cxx
+++ b/svtools/source/dialogs/RemoteFilesDialog.cxx
@@ -592,6 +592,8 @@ IMPL_LINK_NOARG ( RemoteFilesDialog, SelectServiceHdl )
pRoot->SetUserData( static_cast< void* >( sData ) );
m_pTreeView->Expand( pRoot );
+
+ m_pName_ed->GrabFocus();
}
}
commit 1fbe4809e07d9ef3b38116368012451ca773e16c
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Thu Jul 9 13:03:35 2015 +0200
RemoteFilesDialog: enable controls in one place
Change-Id: I21aab300a71c96308bc335ea4ac641f02ec2a4fc
diff --git a/include/svtools/RemoteFilesDialog.hxx b/include/svtools/RemoteFilesDialog.hxx
index 8bd9361..44fce0c 100644
--- a/include/svtools/RemoteFilesDialog.hxx
+++ b/include/svtools/RemoteFilesDialog.hxx
@@ -121,6 +121,7 @@ private:
SvtRemoteDlgType m_eType;
bool m_bMultiselection;
bool m_bIsUpdated;
+ bool m_bIsConnected;
Image m_aFolderImage;
OUString m_sPath;
@@ -152,6 +153,8 @@ private:
FileViewResult OpenURL( OUString sURL );
+ void EnableControls();
+
DECL_LINK ( AddServiceHdl, void * );
DECL_LINK ( SelectServiceHdl, void * );
DECL_LINK_TYPED ( EditServiceMenuHdl, MenuButton *, void );
diff --git a/svtools/source/dialogs/RemoteFilesDialog.cxx b/svtools/source/dialogs/RemoteFilesDialog.cxx
index 069973b..129dcee 100644
--- a/svtools/source/dialogs/RemoteFilesDialog.cxx
+++ b/svtools/source/dialogs/RemoteFilesDialog.cxx
@@ -250,6 +250,7 @@ RemoteFilesDialog::RemoteFilesDialog( vcl::Window* pParent, WinBits nBits )
m_eType = ( nBits & WB_PATH ) ? REMOTEDLG_TYPE_PATHDLG : REMOTEDLG_TYPE_FILEDLG;
m_bMultiselection = ( nBits & SFXWB_MULTISELECTION ) ? true : false;
m_bIsUpdated = false;
+ m_bIsConnected = false;
m_nCurrentFilter = LISTBOX_ENTRY_NOTFOUND;
m_pFilter_lb->Enable( false );
@@ -442,8 +443,8 @@ void RemoteFilesDialog::FillServicesListbox()
if( m_pServices_lb->GetEntryCount() > 0 )
m_pServices_lb->SelectEntryPos( 0 );
- else
- m_pServices_lb->Enable( false );
+
+ EnableControls();
}
int RemoteFilesDialog::GetSelectedServicePos()
@@ -502,18 +503,42 @@ FileViewResult RemoteFilesDialog::OpenURL( OUString sURL )
{
m_pPath->SetURL( sURL );
m_pTreeView->SetTreePath( sURL );
- 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 );
+ m_bIsConnected = true;
+ EnableControls();
}
}
return eResult;
}
+void RemoteFilesDialog::EnableControls()
+{
+ if( m_pServices_lb->GetEntryCount() > 0 )
+ m_pServices_lb->Enable( true );
+ 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 );
+ }
+}
+
IMPL_LINK_NOARG ( RemoteFilesDialog, AddServiceHdl )
{
ScopedVclPtrInstance< PlaceEditDialog > aDlg( this );
@@ -525,7 +550,6 @@ IMPL_LINK_NOARG ( RemoteFilesDialog, AddServiceHdl )
{
ServicePtr newService = aDlg->GetPlace();
m_aServices.push_back( newService );
- m_pServices_lb->Enable( true );
OUString sPrefix = lcl_GetServiceType( newService );
@@ -536,6 +560,8 @@ IMPL_LINK_NOARG ( RemoteFilesDialog, AddServiceHdl )
m_pServices_lb->SelectEntryPos( m_pServices_lb->GetEntryCount() - 1 );
m_bIsUpdated = true;
+
+ EnableControls();
break;
}
case RET_CANCEL :
@@ -625,12 +651,13 @@ IMPL_LINK_TYPED ( RemoteFilesDialog, EditServiceMenuHdl, MenuButton *, pButton,
else
{
m_pServices_lb->SetNoSelection();
- m_pServices_lb->Enable( false );
}
m_bIsUpdated = true;
}
}
+
+ EnableControls();
}
IMPL_LINK_NOARG ( RemoteFilesDialog, DoubleClickHdl )
@@ -664,16 +691,15 @@ IMPL_LINK_NOARG ( RemoteFilesDialog, SelectHdl )
m_sPath = pData->maURL;
m_pName_ed->SetText( INetURLObject::decode( aURL.GetLastName(), INetURLObject::DECODE_WITH_CHARSET ) );
-
- m_pOk_btn->Enable( true );
}
else
{
- m_pOk_btn->Enable( false );
m_sPath = "";
m_pName_ed->SetText( "" );
}
+ EnableControls();
+
return 1;
}
@@ -686,11 +712,7 @@ IMPL_LINK_NOARG( RemoteFilesDialog, FileNameGetFocusHdl )
IMPL_LINK_NOARG( RemoteFilesDialog, FileNameModifyHdl )
{
m_pFileView->SetNoSelection();
-
- if( !m_pName_ed->GetText().isEmpty() )
- m_pOk_btn->Enable( true );
- else
- m_pOk_btn->Enable( false );
+ EnableControls();
return 1;
}
commit 37928c2a5e7dce68f2027b1a6a47d85f2dc0d533
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Thu Jul 9 12:36:35 2015 +0200
RemoteFilesDialog: enable OK button when file name isn't empty
Change-Id: Idf84d4d46a72c3fb339e28c1f3923cd2f0f3c12d
diff --git a/svtools/source/dialogs/RemoteFilesDialog.cxx b/svtools/source/dialogs/RemoteFilesDialog.cxx
index 574acc5..069973b 100644
--- a/svtools/source/dialogs/RemoteFilesDialog.cxx
+++ b/svtools/source/dialogs/RemoteFilesDialog.cxx
@@ -505,6 +505,9 @@ FileViewResult RemoteFilesDialog::OpenURL( OUString sURL )
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 );
}
}
commit 6f694a6d3b64c9792ef99846b445e38d5be59ee5
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Thu Jul 9 12:25:13 2015 +0200
RemoteFilesDialog: set default filename in the save mode
Change-Id: I4739c101ac6b57e5c17e912515b1c8bccce33b68
diff --git a/svtools/source/dialogs/RemoteFilesDialog.cxx b/svtools/source/dialogs/RemoteFilesDialog.cxx
index 704f287..574acc5 100644
--- a/svtools/source/dialogs/RemoteFilesDialog.cxx
+++ b/svtools/source/dialogs/RemoteFilesDialog.cxx
@@ -845,6 +845,14 @@ const OUString& RemoteFilesDialog::GetStandardDir() const
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 );
+ }
}
void RemoteFilesDialog::AddFilterGroup(
commit c98402270676c3adb232f9c795540b33179f1cc6
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Thu Jul 9 12:07:26 2015 +0200
RemoteFilesDialog: handled save button
Change-Id: Iec9129eac618d21370b8e5ecb331eb9518ecf082
diff --git a/include/svtools/RemoteFilesDialog.hxx b/include/svtools/RemoteFilesDialog.hxx
index 1e9afcb..8bd9361 100644
--- a/include/svtools/RemoteFilesDialog.hxx
+++ b/include/svtools/RemoteFilesDialog.hxx
@@ -110,8 +110,8 @@ public:
virtual bool getShowState();
- virtual Control* getControl( sal_Int16 _nControlId, bool _bLabelControl = false ) const SAL_OVERRIDE;
- virtual void enableControl( sal_Int16 _nControlId, bool _bEnable );
+ virtual Control* getControl( sal_Int16 nControlId, bool bLabelControl = false ) const SAL_OVERRIDE;
+ virtual void enableControl( sal_Int16 nControlId, bool bEnable );
virtual OUString getCurFilter( ) const;
private:
@@ -130,8 +130,7 @@ private:
::com::sun::star::uno::Sequence< OUString > m_aBlackList;
::svt::IFilePickerListener* m_pFileNotifier;
- VclPtr< PushButton > m_pOpen_btn;
- VclPtr< PushButton > m_pSave_btn;
+ VclPtr< PushButton > m_pOk_btn;
VclPtr< CancelButton > m_pCancel_btn;
VclPtr< MenuButton > m_pAddService_btn;
VclPtr< ListBox > m_pServices_lb;
diff --git a/svtools/source/dialogs/RemoteFilesDialog.cxx b/svtools/source/dialogs/RemoteFilesDialog.cxx
index 03c7bcf..704f287 100644
--- a/svtools/source/dialogs/RemoteFilesDialog.cxx
+++ b/svtools/source/dialogs/RemoteFilesDialog.cxx
@@ -240,8 +240,6 @@ RemoteFilesDialog::RemoteFilesDialog( vcl::Window* pParent, WinBits nBits )
, m_pFileView( NULL )
, m_pContainer( NULL )
{
- get( m_pOpen_btn, "open" );
- get( m_pSave_btn, "save" );
get( m_pCancel_btn, "cancel" );
get( m_pAddService_btn, "add_service_btn" );
get( m_pServices_lb, "services_lb" );
@@ -254,23 +252,18 @@ RemoteFilesDialog::RemoteFilesDialog( vcl::Window* pParent, WinBits nBits )
m_bIsUpdated = false;
m_nCurrentFilter = LISTBOX_ENTRY_NOTFOUND;
- m_pOpen_btn->Enable( false );
- m_pSave_btn->Enable( false );
m_pFilter_lb->Enable( false );
m_pName_ed->Enable( false );
if( m_eMode == REMOTEDLG_MODE_OPEN )
- {
- m_pSave_btn->Hide();
- m_pOpen_btn->Show();
- }
+ get( m_pOk_btn, "open" );
else
- {
- m_pSave_btn->Show();
- m_pOpen_btn->Hide();
- }
+ get( m_pOk_btn, "save" );
+
+ m_pOk_btn->Show();
+ m_pOk_btn->Enable( false );
- m_pOpen_btn->SetClickHdl( LINK( this, RemoteFilesDialog, OkHdl ) );
+ m_pOk_btn->SetClickHdl( LINK( this, RemoteFilesDialog, OkHdl ) );
m_pPath = VclPtr<Breadcrumb>::Create( get< vcl::Window >( "breadcrumb_container" ) );
m_pPath->set_hexpand( true );
@@ -365,8 +358,7 @@ void RemoteFilesDialog::dispose()
m_pContainer.disposeAndClear();
m_pPath.disposeAndClear();
- m_pOpen_btn.clear();
- m_pSave_btn.clear();
+ m_pOk_btn.clear();
m_pCancel_btn.clear();
m_pAddService_btn.clear();
m_pServices_lb.clear();
@@ -670,11 +662,11 @@ IMPL_LINK_NOARG ( RemoteFilesDialog, SelectHdl )
m_pName_ed->SetText( INetURLObject::decode( aURL.GetLastName(), INetURLObject::DECODE_WITH_CHARSET ) );
- m_pOpen_btn->Enable( true );
+ m_pOk_btn->Enable( true );
}
else
{
- m_pOpen_btn->Enable( false );
+ m_pOk_btn->Enable( false );
m_sPath = "";
m_pName_ed->SetText( "" );
}
@@ -693,9 +685,9 @@ IMPL_LINK_NOARG( RemoteFilesDialog, FileNameModifyHdl )
m_pFileView->SetNoSelection();
if( !m_pName_ed->GetText().isEmpty() )
- m_pOpen_btn->Enable( true );
+ m_pOk_btn->Enable( true );
else
- m_pOpen_btn->Enable( false );
+ m_pOk_btn->Enable( false );
return 1;
}
diff --git a/svtools/uiconfig/ui/remotefilesdialog.ui b/svtools/uiconfig/ui/remotefilesdialog.ui
index f4a591f..0ba817b 100644
--- a/svtools/uiconfig/ui/remotefilesdialog.ui
+++ b/svtools/uiconfig/ui/remotefilesdialog.ui
@@ -35,7 +35,6 @@
<child>
<object class="GtkButton" id="open">
<property name="label">gtk-open</property>
- <property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">True</property>
commit a26defa1e54c9a5016948b4a987f47530a311647
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Thu Jul 9 10:53:30 2015 +0200
removed warning: 'Unknown item detected'
Change-Id: I36b2faca9205aba870aa993214d0c062ae4f83d9
diff --git a/sfx2/source/appl/appuno.cxx b/sfx2/source/appl/appuno.cxx
index 28e826c..876cf34 100644
--- a/sfx2/source/appl/appuno.cxx
+++ b/sfx2/source/appl/appuno.cxx
@@ -922,7 +922,7 @@ void TransformItems( sal_uInt16 nSlotId, const SfxItemSet& rSet, uno::Sequence<b
if ( nSlotId == SID_OPENURL )
nSlotId = SID_OPENDOC;
- if ( nSlotId == SID_SAVEASURL )
+ if ( nSlotId == SID_SAVEASURL || nSlotId == SID_SAVEASREMOTE )
nSlotId = SID_SAVEASDOC;
// find number of properties to avoid permanent reallocations in the sequence
commit d9fcfef9981a48ddd4472df71fc469884a426baa
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Thu Jul 9 10:43:26 2015 +0200
SaveAsRemote: corresponding dialog type
Change-Id: I5face9064bafc3c99b9a7af7809bd40a105b11bd
diff --git a/sfx2/source/doc/guisaveas.cxx b/sfx2/source/doc/guisaveas.cxx
index 247c2f4..6a204fa 100644
--- a/sfx2/source/doc/guisaveas.cxx
+++ b/sfx2/source/doc/guisaveas.cxx
@@ -544,6 +544,9 @@ uno::Sequence< beans::PropertyValue > ModelData_Impl::GetDocServiceAnyFilter( Sf
uno::Sequence< beans::PropertyValue > ModelData_Impl::GetPreselectedFilter_Impl( sal_Int8 nStoreMode )
{
+ if ( nStoreMode == SAVEASREMOTE_REQUESTED )
+ nStoreMode = SAVEAS_REQUESTED;
+
uno::Sequence< beans::PropertyValue > aFilterProps;
SfxFilterFlags nMust = getMustFlags( nStoreMode );
@@ -882,6 +885,9 @@ bool ModelData_Impl::OutputFileDialog( sal_Int8 nStoreMode,
const OUString& rStandardDir,
const ::com::sun::star::uno::Sequence< OUString >& rBlackList)
{
+ if ( nStoreMode == SAVEASREMOTE_REQUESTED )
+ nStoreMode = SAVEAS_REQUESTED;
+
bool bUseFilterOptions = false;
::comphelper::SequenceAsHashMap::const_iterator aOverwriteIter =
@@ -1396,7 +1402,15 @@ bool SfxStoringHelper::GUIStoreModel( uno::Reference< frame::XModel > xModel,
bool bSetStandardName = false; // can be set only for SaveAs
// parse the slot name
+ bool bRemote = false;
sal_Int8 nStoreMode = getStoreModeFromSlotName( aSlotName );
+
+ if ( nStoreMode == SAVEASREMOTE_REQUESTED )
+ {
+ nStoreMode = SAVEAS_REQUESTED;
+ bRemote = true;
+ }
+
sal_Int8 nStatusSave = STATUS_NO_ACTION;
::comphelper::SequenceAsHashMap::const_iterator aSaveACopyIter =
@@ -1551,7 +1565,7 @@ bool SfxStoringHelper::GUIStoreModel( uno::Reference< frame::XModel > xModel,
{
sal_Int16 nDialog = SFX2_IMPL_DIALOG_CONFIG;
- if( nStoreMode == SAVEASREMOTE_REQUESTED )
+ if( bRemote )
{
nDialog = SFX2_IMPL_DIALOG_REMOTE;
}
diff --git a/sfx2/source/doc/objserv.cxx b/sfx2/source/doc/objserv.cxx
index c510710..bc1a668 100644
--- a/sfx2/source/doc/objserv.cxx
+++ b/sfx2/source/doc/objserv.cxx
@@ -561,7 +561,7 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest &rReq)
{
SfxErrorContext aEc( ERRCTX_SFX_SAVEASDOC, GetTitle() ); // ???
- if ( nId == SID_SAVEASDOC )
+ if ( nId == SID_SAVEASDOC || nId == SID_SAVEASREMOTE )
{
// in case of plugin mode the SaveAs operation means SaveTo
SFX_ITEMSET_ARG( GetMedium()->GetItemSet(), pViewOnlyItem, SfxBoolItem, SID_VIEWONLY, false );
@@ -726,7 +726,7 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest &rReq)
nErrorCode = ( lErr != ERRCODE_IO_ABORT ) && ( nErrorCode == ERRCODE_NONE ) ? nErrorCode : lErr;
}
- if ( nId == SID_SAVEASDOC && nErrorCode == ERRCODE_NONE )
+ if ( ( nId == SID_SAVEASDOC || nId == SID_SAVEASREMOTE ) && nErrorCode == ERRCODE_NONE )
{
SfxBoolItem const * saveTo = static_cast<SfxBoolItem const *>(
rReq.GetArg(SID_SAVETO, false, TYPE(SfxBoolItem)));
commit 548313840238eb3dcbdeb2bcfeec3fbdd9c293f7
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Wed Jul 8 23:17:53 2015 +0200
Working toolbar entry: Save As > Remote file
Change-Id: I5601c7847f30a7d5fb7ede5f90b2a6a89f4c8693
diff --git a/framework/source/uielement/saveasmenucontroller.cxx b/framework/source/uielement/saveasmenucontroller.cxx
index 7e4fd92..6460013 100644
--- a/framework/source/uielement/saveasmenucontroller.cxx
+++ b/framework/source/uielement/saveasmenucontroller.cxx
@@ -41,7 +41,7 @@ using namespace framework;
namespace {
-static const char CMD_SAVE_REMOTE[] = ".uno:OpenRemote"; // TODO
+static const char CMD_SAVE_REMOTE[] = ".uno:SaveAsRemote";
class SaveAsMenuController : public svt::PopupMenuControllerBase
{
@@ -115,9 +115,9 @@ void SaveAsMenuController::fillPopupMenu( Reference< css::awt::XPopupMenu >& rPo
if ( pVCLPopupMenu )
{
// Open remote menu entry
- pVCLPopupMenu->InsertItem( sal_uInt16( 0 ),
+ pVCLPopupMenu->InsertItem( sal_uInt16( 1 ),
FWK_RESSTR( STR_REMOTE_FILE ) );
- pVCLPopupMenu->SetItemCommand( sal_uInt16( 0 ),
+ pVCLPopupMenu->SetItemCommand( sal_uInt16( 1 ),
OUString( CMD_SAVE_REMOTE ) );
}
}
@@ -160,6 +160,7 @@ void SAL_CALL SaveAsMenuController::itemSelected( const css::awt::MenuEvent& rEv
if ( aCommand == CMD_SAVE_REMOTE )
{
Sequence< PropertyValue > aArgsList( 0 );
+
dispatchCommand( CMD_SAVE_REMOTE, aArgsList );
}
}
diff --git a/include/sfx2/sfxsids.hrc b/include/sfx2/sfxsids.hrc
index 0f4344e..1755eb5 100644
--- a/include/sfx2/sfxsids.hrc
+++ b/include/sfx2/sfxsids.hrc
@@ -102,6 +102,7 @@
#define SID_JUMPTOMARK (SID_SFX_START + 598)
#define SID_OPENTEMPLATE (SID_SFX_START + 594)
#define SID_SAVEASDOC (SID_SFX_START + 502)
+#define SID_SAVEASREMOTE (SID_SFX_START + 516)
#define SID_SAVEACOPY (SID_SFX_START + 999)
#define SID_SAVEACOPYITEM (SID_SFX_START + 998)
#define SID_CLOSING (SID_SFX_START +1539)
diff --git a/sfx2/sdi/docslots.sdi b/sfx2/sdi/docslots.sdi
index be17f43..9398f72 100644
--- a/sfx2/sdi/docslots.sdi
+++ b/sfx2/sdi/docslots.sdi
@@ -148,6 +148,11 @@ interface OfficeDocument : Document
ExecMethod = ExecFile_Impl ;
StateMethod = GetState_Impl ;
]
+ SID_SAVEASREMOTE // ole(req) api(final/play/rec)
+ [
+ ExecMethod = ExecFile_Impl ;
+ StateMethod = GetState_Impl ;
+ ]
SID_DOCTEMPLATE // ole(no) api(final/play/rec)
[
ExecMethod = ExecFile_Impl ;
diff --git a/sfx2/sdi/sfx.sdi b/sfx2/sdi/sfx.sdi
index 8ccc619..fbb8f60 100644
--- a/sfx2/sdi/sfx.sdi
+++ b/sfx2/sdi/sfx.sdi
@@ -5013,6 +5013,33 @@ SfxBoolItem SaveAs SID_SAVEASDOC
GroupId = GID_DOCUMENT;
]
+SfxBoolItem SaveAsRemote SID_SAVEASREMOTE
+(SfxStringItem URL SID_FILE_NAME,SfxStringItem FilterName SID_FILTER_NAME,SfxStringItem Password SID_PASSWORD,SfxBoolItem PasswordInteraction SID_PASSWORDINTERACTION,SfxStringItem FilterOptions SID_FILE_FILTEROPTIONS,SfxStringItem VersionComment SID_DOCINFO_COMMENTS,SfxStringItem VersionAuthor SID_DOCINFO_AUTHOR,SfxBoolItem Overwrite SID_OVERWRITE,SfxBoolItem Unpacked SID_UNPACK,SfxBoolItem SaveTo SID_SAVETO)
+[
+ /* flags: */
+ AutoUpdate = FALSE,
+ Cachable = Cachable,
+ FastCall = FALSE,
+ HasCoreId = FALSE,
+ HasDialog = TRUE,
+ ReadOnlyDoc = TRUE,
+ Toggle = FALSE,
+ Container = TRUE,
+ RecordAbsolute = FALSE,
+ RecordPerSet;
+ Synchron;
+
+ /* status: */
+ SlotType = SfxStringItem
+
+ /* config: */
+ AccelConfig = TRUE,
+ MenuConfig = TRUE,
+ StatusBarConfig = FALSE,
+ ToolBoxConfig = TRUE,
+ GroupId = GID_DOCUMENT;
+]
+
SfxBoolItem SaveAsTemplate SID_DOCTEMPLATE
(SfxStringItem TemplateRegion SID_TEMPLATE_REGIONNAME,SfxStringItem TemplateName SID_TEMPLATE_NAME)
diff --git a/sfx2/source/doc/guisaveas.cxx b/sfx2/source/doc/guisaveas.cxx
index 869ec68..247c2f4 100644
--- a/sfx2/source/doc/guisaveas.cxx
+++ b/sfx2/source/doc/guisaveas.cxx
@@ -105,6 +105,7 @@
#define SAVE_REQUESTED 16
#define SAVEAS_REQUESTED 32
#define SAVEACOPY_REQUESTED 64
+#define SAVEASREMOTE_REQUESTED -1
// possible statuses of save operation
#define STATUS_NO_ACTION 0
@@ -136,6 +137,8 @@ static sal_uInt16 getSlotIDFromMode( sal_Int8 nStoreMode )
nResult = SID_DIRECTEXPORTDOCASPDF;
else if ( nStoreMode == SAVEAS_REQUESTED || nStoreMode == ( EXPORT_REQUESTED | WIDEEXPORT_REQUESTED ) )
nResult = SID_SAVEASDOC;
+ else if ( nStoreMode == SAVEASREMOTE_REQUESTED )
+ nResult = SID_SAVEASREMOTE;
else {
DBG_ASSERT( false, "Unacceptable slot name is provided!\n" );
}
@@ -157,6 +160,8 @@ static sal_uInt8 getStoreModeFromSlotName( const OUString& aSlotName )
nResult = SAVE_REQUESTED;
else if ( aSlotName == "SaveAs" )
nResult = SAVEAS_REQUESTED;
+ else if ( aSlotName == "SaveAsRemote" )
+ nResult = SAVEASREMOTE_REQUESTED;
else
throw task::ErrorCodeIOException(
("getStoreModeFromSlotName(\"" + aSlotName
@@ -544,7 +549,7 @@ uno::Sequence< beans::PropertyValue > ModelData_Impl::GetPreselectedFilter_Impl(
SfxFilterFlags nMust = getMustFlags( nStoreMode );
SfxFilterFlags nDont = getDontFlags( nStoreMode );
- if ( nStoreMode & PDFEXPORT_REQUESTED )
+ if ( ( nStoreMode != SAVEASREMOTE_REQUESTED ) && ( nStoreMode & PDFEXPORT_REQUESTED ) )
{
// Preselect PDF-Filter for EXPORT
uno::Sequence< beans::NamedValue > aSearchRequest( 2 );
@@ -1545,17 +1550,25 @@ bool SfxStoringHelper::GUIStoreModel( uno::Reference< frame::XModel > xModel,
if ( aFileNameIter == aModelData.GetMediaDescr().end() )
{
sal_Int16 nDialog = SFX2_IMPL_DIALOG_CONFIG;
- ::comphelper::SequenceAsHashMap::const_iterator aDlgIter =
- aModelData.GetMediaDescr().find( OUString("UseSystemDialog") );
- if ( aDlgIter != aModelData.GetMediaDescr().end() )
+
+ if( nStoreMode == SAVEASREMOTE_REQUESTED )
{
- bool bUseSystemDialog = true;
- if ( aDlgIter->second >>= bUseSystemDialog )
+ nDialog = SFX2_IMPL_DIALOG_REMOTE;
+ }
+ else
+ {
+ ::comphelper::SequenceAsHashMap::const_iterator aDlgIter =
+ aModelData.GetMediaDescr().find( OUString("UseSystemDialog") );
+ if ( aDlgIter != aModelData.GetMediaDescr().end() )
{
- if ( bUseSystemDialog )
- nDialog = SFX2_IMPL_DIALOG_SYSTEM;
- else
- nDialog = SFX2_IMPL_DIALOG_OOO;
+ bool bUseSystemDialog = true;
+ if ( aDlgIter->second >>= bUseSystemDialog )
+ {
+ if ( bUseSystemDialog )
+ nDialog = SFX2_IMPL_DIALOG_SYSTEM;
+ else
+ nDialog = SFX2_IMPL_DIALOG_OOO;
+ }
}
}
diff --git a/sfx2/source/doc/objserv.cxx b/sfx2/source/doc/objserv.cxx
index f35c470..c510710 100644
--- a/sfx2/source/doc/objserv.cxx
+++ b/sfx2/source/doc/objserv.cxx
@@ -528,13 +528,13 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest &rReq)
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
case SID_EXPORTDOCASPDF:
case SID_DIRECTEXPORTDOCASPDF:
bIsPDFExport = true;
//fall-through
case SID_EXPORTDOC:
case SID_SAVEASDOC:
+ case SID_SAVEASREMOTE:
case SID_SAVEDOC:
{
// derived class may decide to abort this
diff --git a/sw/inc/cmdid.h b/sw/inc/cmdid.h
index 7e5bcec..4f77923 100644
--- a/sw/inc/cmdid.h
+++ b/sw/inc/cmdid.h
@@ -62,7 +62,6 @@
// Region: File
#define FN_NEW_GLOBAL_DOC (FN_FILE + 4 ) /* Create Global Document */
-#define FN_SAVE_FILE_AS (FN_FILE + 5 ) /* Save As */
#define FN_OPEN_FILE (FN_FILE + 7 ) /* Open */
#define FN_OUTLINE_TO_IMPRESS (FN_FILE + 36) /* Send outline to impress */
diff --git a/sw/sdi/docsh.sdi b/sw/sdi/docsh.sdi
index 5e9fe78..9085bdf 100644
--- a/sw/sdi/docsh.sdi
+++ b/sw/sdi/docsh.sdi
@@ -59,11 +59,6 @@ interface TextDocument : BaseTextDocument
ExecMethod = Execute;
StateMethod = GetState;
]
- FN_SAVE_FILE_AS
- [
- ExecMethod = Execute;
- StateMethod = GetState;
- ]
}
shell SwDocShell
diff --git a/sw/sdi/swriter.sdi b/sw/sdi/swriter.sdi
index 4059198..6ecfbb8 100644
--- a/sw/sdi/swriter.sdi
+++ b/sw/sdi/swriter.sdi
@@ -10124,33 +10124,6 @@ SfxVoidItem OpenFromWriter FN_OPEN_FILE
GroupId = GID_APPLICATION;
]
-SfxVoidItem SaveAs FN_SAVE_FILE_AS
-()
-[
- /* flags: */
- AutoUpdate = FALSE,
- Cachable = Cachable,
- FastCall = FALSE,
- HasCoreId = FALSE,
- HasDialog = FALSE,
- ReadOnlyDoc = TRUE,
- Toggle = FALSE,
- Container = FALSE,
- RecordAbsolute = FALSE,
- RecordPerSet;
- Synchron;
-
- /* status: */
- SlotType = SfxStringItem
-
- /* config: */
- AccelConfig = TRUE,
- MenuConfig = TRUE,
- StatusBarConfig = FALSE,
- ToolBoxConfig = TRUE,
- GroupId = GID_APPLICATION;
-]
-
SfxInt16Item PageColumnType SID_ATTR_PAGE_COLUMN
[
diff --git a/sw/source/uibase/app/swmodule.cxx b/sw/source/uibase/app/swmodule.cxx
index 8095e43..7d01854 100644
--- a/sw/source/uibase/app/swmodule.cxx
+++ b/sw/source/uibase/app/swmodule.cxx
@@ -296,7 +296,7 @@ void SwDLL::RegisterControls()
SvxColorToolBoxControl::RegisterControl( SID_EXTRUSION_3D_COLOR, pMod );
svx::FontWorkShapeTypeControl::RegisterControl( SID_FONTWORK_SHAPE_TYPE, pMod );
- SfxSaveAsToolBoxControl::RegisterControl(FN_SAVE_FILE_AS, pMod );
+ SfxSaveAsToolBoxControl::RegisterControl(SID_SAVEASDOC, pMod );
SvxClipBoardControl::RegisterControl(SID_PASTE, pMod );
SvxUndoRedoControl::RegisterControl(SID_UNDO, pMod );
SvxUndoRedoControl::RegisterControl(SID_REDO, pMod );
commit 92f32585708a251526492f1eb576744bee8d5a5f
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Tue Jul 7 17:41:09 2015 +0200
'Save As' popup menu in the Calc's toolbar
Change-Id: I5e7d5594062bb722b1076450c1e6e633183279b3
diff --git a/sc/source/ui/app/scdll.cxx b/sc/source/ui/app/scdll.cxx
index be95d7d..e920cc5 100644
--- a/sc/source/ui/app/scdll.cxx
+++ b/sc/source/ui/app/scdll.cxx
@@ -151,6 +151,7 @@ void ScDLL::Init()
ScPageBreakShell ::RegisterInterface(pMod);
SfxRecentFilesToolBoxControl::RegisterControl(SID_OPEN_CALC, pMod);
+ SfxSaveAsToolBoxControl::RegisterControl(SID_SAVEASDOC, pMod );
// Own Controller
ScZoomSliderControl ::RegisterControl(SID_PREVIEW_SCALINGFACTOR, pMod);
diff --git a/sc/uiconfig/scalc/toolbar/standardbar.xml b/sc/uiconfig/scalc/toolbar/standardbar.xml
index 9e2cbca..4368218 100644
--- a/sc/uiconfig/scalc/toolbar/standardbar.xml
+++ b/sc/uiconfig/scalc/toolbar/standardbar.xml
@@ -24,7 +24,7 @@
<toolbar:toolbaritem xlink:href=".uno:OpenFromCalc" toolbar:style="dropdown"/>
<toolbar:toolbaritem xlink:href=".uno:OpenRemote"/>
<toolbar:toolbaritem xlink:href=".uno:Save"/>
- <toolbar:toolbaritem xlink:href=".uno:SaveAs"/>
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:style="dropdown"/>
<toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:visible="false"/>
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:visible="false"/>
commit ce722af0cce170a2aac3a5e01cd66e6c24fba63c
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Tue Jul 7 16:44:59 2015 +0200
'Save As' popup menu in the Writer's toolbar
Change-Id: I1b1cb7fcd2ae0e0f50e4d8e3900bc416435e60bf
diff --git a/framework/Library_fwk.mk b/framework/Library_fwk.mk
index 1979101..d07f8b9 100644
--- a/framework/Library_fwk.mk
+++ b/framework/Library_fwk.mk
@@ -144,6 +144,7 @@ $(eval $(call gb_Library_add_exception_objects,fwk,\
framework/source/uielement/popuptoolbarcontroller \
framework/source/uielement/progressbarwrapper \
framework/source/uielement/recentfilesmenucontroller \
+ framework/source/uielement/saveasmenucontroller \
framework/source/uielement/spinfieldtoolbarcontroller \
framework/source/uielement/statusbar \
framework/source/uielement/statusbaritem \
diff --git a/framework/inc/classes/resource.hrc b/framework/inc/classes/resource.hrc
index 6620c99..2b1ea1c 100644
--- a/framework/inc/classes/resource.hrc
+++ b/framework/inc/classes/resource.hrc
@@ -51,6 +51,7 @@
#define STR_CLEAR_RECENT_FILES_HELP (RID_STR_START+24)
#define STR_LANGSTATUS_HINT (RID_STR_START+25)
#define STR_OPEN_REMOTE (RID_STR_START+26)
+#define STR_REMOTE_FILE (RID_STR_START+27)
#define POPUPMENU_TOOLBAR_QUICKCUSTOMIZATION (RID_MENU_START+0)
diff --git a/framework/source/classes/resource.src b/framework/source/classes/resource.src
index 0ef53ae..4f8ce0e 100644
--- a/framework/source/classes/resource.src
+++ b/framework/source/classes/resource.src
@@ -119,6 +119,11 @@ String STR_OPEN_REMOTE
Text [ en-US ] = "Open remote file";
};
+String STR_REMOTE_FILE
+{
+ Text [ en-US ] = "Remote file";
+};
+
String STR_TOOLBAR_TITLE_ADDON
{
Text [ en-US ] = "Add-On %num%";
diff --git a/framework/source/uielement/saveasmenucontroller.cxx b/framework/source/uielement/saveasmenucontroller.cxx
new file mode 100644
index 0000000..7e4fd92
--- /dev/null
+++ b/framework/source/uielement/saveasmenucontroller.cxx
@@ -0,0 +1,191 @@
+/* -*- 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 .
+ */
+
+#include <classes/resource.hrc>
+#include <classes/fwkresid.hxx>
+
+#include <cppuhelper/implbase1.hxx>
+#include <cppuhelper/supportsservice.hxx>
+#include <osl/file.hxx>
+#include <osl/mutex.hxx>
+#include <rtl/ref.hxx>
+#include <svtools/popupmenucontrollerbase.hxx>
+#include <tools/urlobj.hxx>
+#include <unotools/historyoptions.hxx>
+#include <vcl/menu.hxx>
+#include <vcl/svapp.hxx>
+
+using namespace css;
+using namespace com::sun::star::uno;
+using namespace com::sun::star::lang;
+using namespace com::sun::star::frame;
+using namespace com::sun::star::beans;
+using namespace com::sun::star::util;
+using namespace framework;
+
+namespace {
+
+static const char CMD_SAVE_REMOTE[] = ".uno:OpenRemote"; // TODO
+
+class SaveAsMenuController : public svt::PopupMenuControllerBase
+{
+ using svt::PopupMenuControllerBase::disposing;
+
+public:
+ SaveAsMenuController( const uno::Reference< uno::XComponentContext >& xContext );
+ virtual ~SaveAsMenuController();
+
+ // XServiceInfo
+ virtual OUString SAL_CALL getImplementationName()
+ throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE
+ {
+ return OUString("com.sun.star.comp.framework.SaveAsMenuController");
+ }
+
+ virtual sal_Bool SAL_CALL supportsService(OUString const & ServiceName)
+ throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE
+ {
+ return cppu::supportsService(this, ServiceName);
+ }
+
+ virtual css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames()
+ throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE
+ {
+ css::uno::Sequence< OUString > aSeq(1);
+ aSeq[0] = "com.sun.star.frame.PopupMenuController";
+ return aSeq;
+ }
+
+ // XStatusListener
+ virtual void SAL_CALL statusChanged( const frame::FeatureStateEvent& Event ) throw ( uno::RuntimeException, std::exception ) SAL_OVERRIDE;
+
+ // XMenuListener
+ virtual void SAL_CALL itemSelected( const awt::MenuEvent& rEvent ) throw (uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL itemActivated( const awt::MenuEvent& rEvent ) throw (uno::RuntimeException, std::exception) SAL_OVERRIDE;
+
+ // XEventListener
+ virtual void SAL_CALL disposing( const com::sun::star::lang::EventObject& Source ) throw ( uno::RuntimeException, std::exception ) SAL_OVERRIDE;
+
+private:
+ virtual void impl_setPopupMenu() SAL_OVERRIDE;
+
+ void fillPopupMenu( com::sun::star::uno::Reference< com::sun::star::awt::XPopupMenu >& rPopupMenu );
+
+ bool m_bDisabled : 1;
+};
+
+SaveAsMenuController::SaveAsMenuController( const uno::Reference< uno::XComponentContext >& xContext ) :
+ svt::PopupMenuControllerBase( xContext ),
+ m_bDisabled( false )
+{
+}
+
+SaveAsMenuController::~SaveAsMenuController()
+{
+}
+
+// private function
+void SaveAsMenuController::fillPopupMenu( Reference< css::awt::XPopupMenu >& rPopupMenu )
+{
+ VCLXPopupMenu* pPopupMenu = static_cast<VCLXPopupMenu *>(VCLXMenu::GetImplementation( rPopupMenu ));
+ PopupMenu* pVCLPopupMenu = 0;
+
+ SolarMutexGuard aSolarMutexGuard;
+
+ resetPopupMenu( rPopupMenu );
+ if ( pPopupMenu )
+ pVCLPopupMenu = static_cast<PopupMenu *>(pPopupMenu->GetMenu());
+
+ if ( pVCLPopupMenu )
+ {
+ // Open remote menu entry
+ pVCLPopupMenu->InsertItem( sal_uInt16( 0 ),
+ FWK_RESSTR( STR_REMOTE_FILE ) );
+ pVCLPopupMenu->SetItemCommand( sal_uInt16( 0 ),
+ OUString( CMD_SAVE_REMOTE ) );
+ }
+}
+
+// XEventListener
+void SAL_CALL SaveAsMenuController::disposing( const EventObject& ) throw ( RuntimeException, std::exception )
+{
+ Reference< css::awt::XMenuListener > xHolder(( OWeakObject *)this, UNO_QUERY );
+
+ osl::MutexGuard aLock( m_aMutex );
+ m_xFrame.clear();
+ m_xDispatch.clear();
+
+ if ( m_xPopupMenu.is() )
+ m_xPopupMenu->removeMenuListener( Reference< css::awt::XMenuListener >(( OWeakObject *)this, UNO_QUERY ));
+ m_xPopupMenu.clear();
+}
+
+// XStatusListener
+void SAL_CALL SaveAsMenuController::statusChanged( const FeatureStateEvent& Event ) throw ( RuntimeException, std::exception )
+{
+ osl::MutexGuard aLock( m_aMutex );
+ m_bDisabled = !Event.IsEnabled;
+}
+
+void SAL_CALL SaveAsMenuController::itemSelected( const css::awt::MenuEvent& rEvent ) throw (RuntimeException, std::exception)
+{
+ Reference< css::awt::XPopupMenu > xPopupMenu;
+
+ osl::ClearableMutexGuard aLock( m_aMutex );
+ xPopupMenu = m_xPopupMenu;
+ aLock.clear();
+
+ if ( xPopupMenu.is() )
+ {
+ const OUString aCommand( xPopupMenu->getCommand( rEvent.MenuId ) );
+ OSL_TRACE( "SaveAsMenuController::itemSelected() - Command : %s",
+ OUStringToOString( aCommand, RTL_TEXTENCODING_UTF8 ).getStr() );
+
+ if ( aCommand == CMD_SAVE_REMOTE )
+ {
+ Sequence< PropertyValue > aArgsList( 0 );
+ dispatchCommand( CMD_SAVE_REMOTE, aArgsList );
+ }
+ }
+}
+
+void SAL_CALL SaveAsMenuController::itemActivated( const css::awt::MenuEvent& ) throw (RuntimeException, std::exception)
+{
+ osl::MutexGuard aLock( m_aMutex );
+ impl_setPopupMenu();
+}
+
+// XPopupMenuController
+void SaveAsMenuController::impl_setPopupMenu()
+{
+ if ( m_xPopupMenu.is() )
+ fillPopupMenu( m_xPopupMenu );
+}
+
+}
+
+extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL
+com_sun_star_comp_framework_SaveAsMenuController_get_implementation(
+ css::uno::XComponentContext *context,
+ css::uno::Sequence<css::uno::Any> const &)
+{
+ return cppu::acquire(new SaveAsMenuController(context));
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/framework/util/fwk.component b/framework/util/fwk.component
index 477d524..ad16782 100644
--- a/framework/util/fwk.component
+++ b/framework/util/fwk.component
@@ -117,6 +117,10 @@
constructor="com_sun_star_comp_framework_RecentFilesMenuController_get_implementation">
<service name="com.sun.star.frame.PopupMenuController"/>
</implementation>
+ <implementation name="com.sun.star.comp.framework.SaveAsMenuController"
+ constructor="com_sun_star_comp_framework_SaveAsMenuController_get_implementation">
+ <service name="com.sun.star.frame.PopupMenuController"/>
+ </implementation>
<implementation name="com.sun.star.comp.framework.StatusBarControllerFactory"
constructor="com_sun_star_comp_framework_StatusBarControllerFactory_get_implementation">
<service name="com.sun.star.frame.StatusbarControllerFactory"/>
diff --git a/include/sfx2/tbxctrl.hxx b/include/sfx2/tbxctrl.hxx
index 49b69bb..fe1453a 100644
--- a/include/sfx2/tbxctrl.hxx
+++ b/include/sfx2/tbxctrl.hxx
@@ -315,6 +315,21 @@ protected:
virtual VclPtr<SfxPopupWindow> CreatePopupWindow() SAL_OVERRIDE;
};
+class SfxSaveAsToolBoxControl : public SfxToolBoxControl
+{
+public:
+ // We don't use SFX_DECL_TOOLBOX_CONTROL() here as we need to have this
+ // RegisterControl() marked as SFX2_DLLPUBLIC
+ static SfxToolBoxControl* CreateImpl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox &rTbx );
+ static void SFX2_DLLPUBLIC RegisterControl(sal_uInt16 nSlotId = 0, SfxModule *pMod=NULL);
+
+ SfxSaveAsToolBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rBox );
+ virtual ~SfxSaveAsToolBoxControl();
+
+protected:
+ virtual VclPtr<SfxPopupWindow> CreatePopupWindow() SAL_OVERRIDE;
+};
+
class SfxReloadToolBoxControl_Impl : public SfxToolBoxControl
{
protected:
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu b/officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu
index 20fc41e..46f5d96 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu
@@ -174,6 +174,17 @@
<value>com.sun.star.comp.framework.LanguageSelectionMenuController</value>
</prop>
</node>
+ <node oor:name="c16" oor:op="replace">
+ <prop oor:name="Command">
+ <value>.uno:SaveAsMenu</value>
+ </prop>
+ <prop oor:name="Module">
+ <value/>
+ </prop>
+ <prop oor:name="Controller">
+ <value>com.sun.star.comp.framework.SaveAsMenuController</value>
+ </prop>
+ </node>
</node>
<node oor:name="ToolBar">
<node oor:name="GraphicFilterControl" oor:op="replace">
diff --git a/sfx2/source/toolbox/tbxitem.cxx b/sfx2/source/toolbox/tbxitem.cxx
index 99c466c..aae7ef3 100644
--- a/sfx2/source/toolbox/tbxitem.cxx
+++ b/sfx2/source/toolbox/tbxitem.cxx
@@ -106,6 +106,7 @@ using namespace ::com::sun::star::ui;
SFX_IMPL_TOOLBOX_CONTROL_ARG(SfxToolBoxControl, SfxStringItem, true);
SFX_IMPL_TOOLBOX_CONTROL(SfxRecentFilesToolBoxControl, SfxStringItem);
+SFX_IMPL_TOOLBOX_CONTROL(SfxSaveAsToolBoxControl, SfxStringItem);
static vcl::Window* GetTopMostParentSystemWindow( vcl::Window* pWindow )
{
@@ -1403,4 +1404,53 @@ VclPtr<SfxPopupWindow> SfxRecentFilesToolBoxControl::CreatePopupWindow()
return 0;
}
+SfxSaveAsToolBoxControl::SfxSaveAsToolBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rBox )
+ : SfxToolBoxControl( nSlotId, nId, rBox )
+{
+ rBox.SetItemBits( nId, rBox.GetItemBits( nId ) | ToolBoxItemBits::DROPDOWN);
+}
+
+SfxSaveAsToolBoxControl::~SfxSaveAsToolBoxControl()
+{
+}
+
+VclPtr<SfxPopupWindow> SfxSaveAsToolBoxControl::CreatePopupWindow()
+{
+ ToolBox& rBox = GetToolBox();
+ sal_uInt16 nItemId = GetId();
+ ::Rectangle aRect( rBox.GetItemRect( nItemId ) );
+
+ Sequence< Any > aArgs( 2 );
+ PropertyValue aPropValue;
+
+ aPropValue.Name = "CommandURL";
+ aPropValue.Value <<= OUString( ".uno:SaveAsMenu" );
+ aArgs[0] <<= aPropValue;
+
+ aPropValue.Name = "Frame";
+ aPropValue.Value <<= m_xFrame;
+ aArgs[1] <<= aPropValue;
+
+ uno::Reference< frame::XPopupMenuController > xPopupController( m_xContext->getServiceManager()->createInstanceWithArgumentsAndContext(
+ "com.sun.star.comp.framework.SaveAsMenuController", aArgs, m_xContext ), UNO_QUERY );
+
+ uno::Reference< awt::XPopupMenu > xPopupMenu( m_xContext->getServiceManager()->createInstanceWithContext(
+ "com.sun.star.awt.PopupMenu", m_xContext ), uno::UNO_QUERY );
+
+ if ( xPopupController.is() && xPopupMenu.is() )
+ {
+ xPopupController->setPopupMenu( xPopupMenu );
+
+ rBox.SetItemDown( nItemId, true );
+ Reference< awt::XWindowPeer > xPeer( getParent(), uno::UNO_QUERY );
+
+ if ( xPeer.is() )
+ xPopupMenu->execute( xPeer, VCLUnoHelper::ConvertToAWTRect( aRect ), 0 );
+
+ rBox.SetItemDown( nItemId, false );
+ }
+
+ return 0;
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/inc/cmdid.h b/sw/inc/cmdid.h
index 4f77923..7e5bcec 100644
--- a/sw/inc/cmdid.h
+++ b/sw/inc/cmdid.h
@@ -62,6 +62,7 @@
// Region: File
#define FN_NEW_GLOBAL_DOC (FN_FILE + 4 ) /* Create Global Document */
+#define FN_SAVE_FILE_AS (FN_FILE + 5 ) /* Save As */
#define FN_OPEN_FILE (FN_FILE + 7 ) /* Open */
#define FN_OUTLINE_TO_IMPRESS (FN_FILE + 36) /* Send outline to impress */
diff --git a/sw/sdi/docsh.sdi b/sw/sdi/docsh.sdi
index 9085bdf..5e9fe78 100644
--- a/sw/sdi/docsh.sdi
+++ b/sw/sdi/docsh.sdi
@@ -59,6 +59,11 @@ interface TextDocument : BaseTextDocument
ExecMethod = Execute;
StateMethod = GetState;
]
+ FN_SAVE_FILE_AS
+ [
+ ExecMethod = Execute;
+ StateMethod = GetState;
+ ]
}
shell SwDocShell
diff --git a/sw/sdi/swriter.sdi b/sw/sdi/swriter.sdi
index 6ecfbb8..4059198 100644
--- a/sw/sdi/swriter.sdi
+++ b/sw/sdi/swriter.sdi
@@ -10124,6 +10124,33 @@ SfxVoidItem OpenFromWriter FN_OPEN_FILE
GroupId = GID_APPLICATION;
]
+SfxVoidItem SaveAs FN_SAVE_FILE_AS
+()
+[
+ /* flags: */
+ AutoUpdate = FALSE,
+ Cachable = Cachable,
+ FastCall = FALSE,
+ HasCoreId = FALSE,
+ HasDialog = FALSE,
+ ReadOnlyDoc = TRUE,
+ Toggle = FALSE,
+ Container = FALSE,
+ RecordAbsolute = FALSE,
+ RecordPerSet;
+ Synchron;
+
+ /* status: */
+ SlotType = SfxStringItem
+
+ /* config: */
+ AccelConfig = TRUE,
+ MenuConfig = TRUE,
+ StatusBarConfig = FALSE,
+ ToolBoxConfig = TRUE,
+ GroupId = GID_APPLICATION;
+]
+
SfxInt16Item PageColumnType SID_ATTR_PAGE_COLUMN
[
diff --git a/sw/source/uibase/app/swmodule.cxx b/sw/source/uibase/app/swmodule.cxx
index 779732b..8095e43 100644
--- a/sw/source/uibase/app/swmodule.cxx
+++ b/sw/source/uibase/app/swmodule.cxx
@@ -296,6 +296,7 @@ void SwDLL::RegisterControls()
SvxColorToolBoxControl::RegisterControl( SID_EXTRUSION_3D_COLOR, pMod );
svx::FontWorkShapeTypeControl::RegisterControl( SID_FONTWORK_SHAPE_TYPE, pMod );
+ SfxSaveAsToolBoxControl::RegisterControl(FN_SAVE_FILE_AS, pMod );
SvxClipBoardControl::RegisterControl(SID_PASTE, pMod );
SvxUndoRedoControl::RegisterControl(SID_UNDO, pMod );
SvxUndoRedoControl::RegisterControl(SID_REDO, pMod );
diff --git a/sw/uiconfig/swriter/toolbar/standardbar.xml b/sw/uiconfig/swriter/toolbar/standardbar.xml
index 7912789..39dd890 100644
--- a/sw/uiconfig/swriter/toolbar/standardbar.xml
+++ b/sw/uiconfig/swriter/toolbar/standardbar.xml
@@ -24,7 +24,7 @@
<toolbar:toolbaritem xlink:href=".uno:OpenFromWriter" toolbar:style="dropdown"/>
<toolbar:toolbaritem xlink:href=".uno:OpenRemote"/>
<toolbar:toolbaritem xlink:href=".uno:Save" toolbar:helpid="5505"/>
- <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:helpid="5502"/>
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:style="dropdown" toolbar:helpid="5502"/>
<toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:visible="false" toolbar:helpid="5331"/>
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:helpid="6312" toolbar:visible="false"/>
commit 1ceb7bc53b347deb93e7cca415b90e71057cfac5
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Mon Jul 6 17:42:29 2015 +0200
open remote button in sc toolbar
Change-Id: I3ad382e246cf16270bc78d57726107fe72b0fac3
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu
index 66566f1..3221162 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu
@@ -1829,6 +1829,14 @@
<value>1</value>
</prop>
</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>
+ </prop>
+ <prop oor:name="Properties" oor:type="xs:int">
+ <value>1</value>
+ </prop>
+ </node>
<node oor:name=".uno:ConvertFormulaToValue" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Formula to Value</value>
diff --git a/sc/uiconfig/scalc/toolbar/standardbar.xml b/sc/uiconfig/scalc/toolbar/standardbar.xml
index e61b068..9e2cbca 100644
--- a/sc/uiconfig/scalc/toolbar/standardbar.xml
+++ b/sc/uiconfig/scalc/toolbar/standardbar.xml
@@ -22,6 +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:Save"/>
<toolbar:toolbaritem xlink:href=".uno:SaveAs"/>
<toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:visible="false"/>
commit 32088cd00df1ca5c0a939fe707b55361c77a7f97
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Mon Jul 6 17:14:55 2015 +0200
open remote button in sw standard toolbar
Change-Id: I7e702da5d4ecc8c32d91e86bd209ec4b7d4f4431
diff --git a/icon-themes/breeze/links.txt b/icon-themes/breeze/links.txt
index 1a2de77..7ba9f85 100644
--- a/icon-themes/breeze/links.txt
+++ b/icon-themes/breeze/links.txt
@@ -1,8 +1,10 @@
# Open
cmd/lc_openfromwriter.png cmd/lc_open.png
cmd/lc_openfromcalc.png cmd/lc_open.png
+cmd/lc_openremote.png cmd/lc_open.png
cmd/sc_openfromwriter.png cmd/sc_open.png
cmd/sc_openfromcalc.png cmd/sc_open.png
+cmd/sc_openremote.png cmd/sc_open.png
# Hyperlink
cmd/lc_hyperlinkdialog.png cmd/lc_inserthyperlink.png
diff --git a/icon-themes/tango/links.txt b/icon-themes/tango/links.txt
index 7ee19c8..2fc1b96 100644
--- a/icon-themes/tango/links.txt
+++ b/icon-themes/tango/links.txt
@@ -269,8 +269,10 @@ cmd/sc_nextpage.png cmd/sc_navigateforward.png
res/sc06300.png cmd/sc_navigateforward.png
cmd/lc_openfromwriter.png cmd/lc_open.png
cmd/lc_openfromcalc.png cmd/lc_open.png
+cmd/lc_openremote.png cmd/lc_open.png
cmd/sc_openfromwriter.png cmd/sc_open.png
cmd/sc_openfromcalc.png cmd/sc_open.png
+cmd/sc_openremote.png cmd/sc_open.png
sc/imglst/lc26048.png cmd/lc_autosum.png
sc/imglst/sc26048.png cmd/sc_autosum.png
cmd/lc_fontcolor.png cmd/lc_color.png
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu
index f9a866e..c8546eb 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu
@@ -2317,6 +2317,14 @@
<value>1</value>
</prop>
</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>
+ </prop>
+ <prop oor:name="Properties" oor:type="xs:int">
+ <value>1</value>
+ </prop>
+ </node>
</node>
<node oor:name="Popups">
<node oor:name=".uno:TableMenu" oor:op="replace">
diff --git a/sw/uiconfig/swriter/toolbar/standardbar.xml b/sw/uiconfig/swriter/toolbar/standardbar.xml
index 9366b92..7912789 100644
--- a/sw/uiconfig/swriter/toolbar/standardbar.xml
+++ b/sw/uiconfig/swriter/toolbar/standardbar.xml
@@ -22,6 +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:Save" 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 0cfec3d3bd77d9f19d0dc74ff2516a2460a3ea89
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Mon Jul 6 16:01:26 2015 +0200
open remote entry in the open drop down menu
Change-Id: Idebc8a926c6653c476c2507606d4a89b22e2eaaf
diff --git a/framework/inc/classes/resource.hrc b/framework/inc/classes/resource.hrc
index 8d23371..6620c99 100644
--- a/framework/inc/classes/resource.hrc
+++ b/framework/inc/classes/resource.hrc
@@ -50,6 +50,7 @@
#define STR_CLEAR_RECENT_FILES (RID_STR_START+23)
#define STR_CLEAR_RECENT_FILES_HELP (RID_STR_START+24)
#define STR_LANGSTATUS_HINT (RID_STR_START+25)
+#define STR_OPEN_REMOTE (RID_STR_START+26)
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list