[Libreoffice-commits] core.git: 2 commits - include/vcl svtools/source vcl/source
Matúš Kukan
matus.kukan at collabora.com
Wed Jan 8 06:02:36 PST 2014
include/vcl/svapp.hxx | 6 +++---
svtools/source/uno/fpicker.cxx | 35 ++++++++++++++++++++++++-----------
vcl/source/app/svapp.cxx | 12 ++----------
3 files changed, 29 insertions(+), 24 deletions(-)
New commits:
commit df002e39f7518036ae1c1d2afec7a525ef902327
Author: Matúš Kukan <matus.kukan at collabora.com>
Date: Wed Jan 8 09:12:17 2014 +0100
These implementations could inherit from XInitialization too.
Change-Id: I70493afcec837411b0f3c6d5165564d2cc0996db
diff --git a/svtools/source/uno/fpicker.cxx b/svtools/source/uno/fpicker.cxx
index a9d06ad..7a4b769 100644
--- a/svtools/source/uno/fpicker.cxx
+++ b/svtools/source/uno/fpicker.cxx
@@ -20,7 +20,8 @@
#include "sal/types.h"
#include "rtl/ustring.hxx"
-#include "com/sun/star/lang/XMultiComponentFactory.hpp"
+#include <com/sun/star/lang/XInitialization.hpp>
+#include <com/sun/star/lang/XMultiComponentFactory.hpp>
#include "svtools/miscopt.hxx"
#include "svl/pickerhistoryaccess.hxx"
@@ -57,7 +58,7 @@ extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL
com_sun_star_comp_svt_FilePicker_get_implementation(
css::uno::XComponentContext *context, uno_Sequence * arguments)
{
- assert(arguments != 0 && arguments->nElements == 0); (void) arguments;
+ assert(arguments != 0);
Reference< css::uno::XInterface > xResult;
Reference< css::lang::XMultiComponentFactory > xFactory (context->getServiceManager());
if (xFactory.is() && SvtMiscOptions().UseSystemFileDialog())
@@ -92,6 +93,14 @@ com_sun_star_comp_svt_FilePicker_get_implementation(
// Add to FilePicker history.
svt::addFilePicker (xResult);
}
+ css::uno::Reference< css::lang::XInitialization > xx(xResult, css::uno::UNO_QUERY);
+ if (xx.is())
+ {
+ css::uno::Sequence<css::uno::Any> aArgs(
+ reinterpret_cast<css::uno::Any *>(arguments->elements),
+ arguments->nElements);
+ xx->initialize(aArgs);
+ }
xResult->acquire();
return xResult.get();
}
@@ -117,7 +126,7 @@ extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL
com_sun_star_comp_svt_FolderPicker_get_implementation(
css::uno::XComponentContext *context, uno_Sequence * arguments)
{
- assert(arguments != 0 && arguments->nElements == 0); (void) arguments;
+ assert(arguments != 0);
Reference< css::uno::XInterface > xResult;
Reference< css::lang::XMultiComponentFactory > xFactory (context->getServiceManager());
if (xFactory.is() && SvtMiscOptions().UseSystemFileDialog())
@@ -149,6 +158,14 @@ com_sun_star_comp_svt_FolderPicker_get_implementation(
// Add to FolderPicker history.
svt::addFolderPicker (xResult);
}
+ css::uno::Reference< css::lang::XInitialization > xx(xResult, css::uno::UNO_QUERY);
+ if (xx.is())
+ {
+ css::uno::Sequence<css::uno::Any> aArgs(
+ reinterpret_cast<css::uno::Any *>(arguments->elements),
+ arguments->nElements);
+ xx->initialize(aArgs);
+ }
xResult->acquire();
return xResult.get();
}
commit 194bdbde25dd70988c94ff5e1af43b530d47d94b
Author: Matúš Kukan <matus.kukan at collabora.com>
Date: Wed Jan 8 09:08:08 2014 +0100
Revert "make FilePicker::createWithMode not crash"
This reverts commit 58ea27124af27bfac21a796b0d13d72354bd0dd3.
It's probably better to fix it another way.
diff --git a/include/vcl/svapp.hxx b/include/vcl/svapp.hxx
index 57814e0..1620efa 100644
--- a/include/vcl/svapp.hxx
+++ b/include/vcl/svapp.hxx
@@ -389,9 +389,9 @@ public:
/** Create a platform specific file picker, if one is available,
otherwise return an empty reference
*/
- static css::uno::Reference<css::ui::dialogs::XFilePicker2>
- createFilePicker(const css::uno::Sequence<css::uno::Any>& rArguments,
- const css::uno::Reference<css::uno::XComponentContext>& rServiceManager);
+ static com::sun::star::uno::Reference< com::sun::star::ui::dialogs::XFilePicker2 >
+ createFilePicker( const com::sun::star::uno::Reference<
+ com::sun::star::uno::XComponentContext >& rServiceManager );
/** Create a platform specific folder picker, if one is available,
otherwise return an empty reference
diff --git a/svtools/source/uno/fpicker.cxx b/svtools/source/uno/fpicker.cxx
index 1034baf..a9d06ad 100644
--- a/svtools/source/uno/fpicker.cxx
+++ b/svtools/source/uno/fpicker.cxx
@@ -57,22 +57,19 @@ extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL
com_sun_star_comp_svt_FilePicker_get_implementation(
css::uno::XComponentContext *context, uno_Sequence * arguments)
{
- assert(arguments != 0 && (arguments->nElements == 0 || arguments->nElements == 1));
- css::uno::Sequence<css::uno::Any> aArgs(reinterpret_cast<css::uno::Any *>(arguments->elements),
- arguments->nElements);
+ assert(arguments != 0 && arguments->nElements == 0); (void) arguments;
Reference< css::uno::XInterface > xResult;
Reference< css::lang::XMultiComponentFactory > xFactory (context->getServiceManager());
if (xFactory.is() && SvtMiscOptions().UseSystemFileDialog())
{
- xResult = Reference<css::uno::XInterface>(Application::createFilePicker(aArgs, context));
+ xResult = Reference< css::uno::XInterface >( Application::createFilePicker( context ) );
if (!xResult.is())
{
try
{
- xResult = xFactory->createInstanceWithArgumentsAndContext(
+ xResult = xFactory->createInstanceWithContext (
FilePicker_getSystemPickerServiceName(),
- aArgs,
context);
}
catch (css::uno::Exception const &)
@@ -86,9 +83,8 @@ com_sun_star_comp_svt_FilePicker_get_implementation(
if (!xResult.is() && xFactory.is())
{
// Always fall back to OfficeFilePicker.
- xResult = xFactory->createInstanceWithArgumentsAndContext(
- "com.sun.star.ui.dialogs.OfficeFilePicker",
- aArgs,
+ xResult = xFactory->createInstanceWithContext (
+ OUString( "com.sun.star.ui.dialogs.OfficeFilePicker"),
context);
}
if (xResult.is())
diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx
index 945229c..5e573d0 100644
--- a/vcl/source/app/svapp.cxx
+++ b/vcl/source/app/svapp.cxx
@@ -62,7 +62,6 @@
#include "com/sun/star/uno/Reference.h"
#include "com/sun/star/awt/XToolkit.hpp"
#include "com/sun/star/uno/XNamingService.hpp"
-#include "com/sun/star/lang/XInitialization.hpp"
#include "com/sun/star/lang/XMultiServiceFactory.hpp"
#include "comphelper/solarmutex.hxx"
#include "osl/process.h"
@@ -1648,17 +1647,10 @@ bool Application::hasNativeFileSelection()
}
Reference< ui::dialogs::XFilePicker2 >
-Application::createFilePicker(const uno::Sequence<uno::Any>& rArguments,
- const Reference< uno::XComponentContext >& xSM)
+Application::createFilePicker( const Reference< uno::XComponentContext >& xSM )
{
ImplSVData* pSVData = ImplGetSVData();
- Reference< ui::dialogs::XFilePicker2 > xRet(pSVData->mpDefInst->createFilePicker(xSM));
- if (xRet.is() && rArguments.getLength())
- {
- uno::Reference<lang::XInitialization> xInit(xRet, uno::UNO_QUERY_THROW);
- xInit->initialize(rArguments);
- }
- return xRet;
+ return pSVData->mpDefInst->createFilePicker( xSM );
}
Reference< ui::dialogs::XFolderPicker2 >
More information about the Libreoffice-commits
mailing list