From 1e618a8df61fd585d9e546148790b3856bf9c68d Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Mon, 7 Jan 2013 15:15:57 +0200 Subject: fdo#46808, Adapt ui::AddressBookSourceDialog UNO service to new style The service already existed, it just did not have an IDL file. Change-Id: I34f9c29b7d5c91735cf1763b74d02516466bc78c --- extensions/source/abpilot/fieldmappingimpl.cxx | 42 ++++++++------------------ extensions/source/abpilot/fieldmappingimpl.hxx | 2 +- extensions/source/abpilot/fieldmappingpage.cxx | 3 +- 3 files changed, 15 insertions(+), 32 deletions(-) (limited to 'extensions') diff --git a/extensions/source/abpilot/fieldmappingimpl.cxx b/extensions/source/abpilot/fieldmappingimpl.cxx index e4e20f84dbd2..c872943400d6 100644 --- a/extensions/source/abpilot/fieldmappingimpl.cxx +++ b/extensions/source/abpilot/fieldmappingimpl.cxx @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -45,6 +46,7 @@ namespace abp using namespace ::com::sun::star::lang; using namespace ::com::sun::star::beans; using namespace ::com::sun::star::sdb; + using namespace ::com::sun::star::ui; using namespace ::com::sun::star::ui::dialogs; //--------------------------------------------------------------------- @@ -67,7 +69,7 @@ namespace abp //..................................................................... //----------------------------------------------------------------- - sal_Bool invokeDialog( const Reference< XMultiServiceFactory >& _rxORB, class Window* _pParent, + sal_Bool invokeDialog( const Reference< XComponentContext >& _rxORB, class Window* _pParent, const Reference< XPropertySet >& _rxDataSource, AddressSettings& _rSettings ) SAL_THROW ( ( ) ) { _rSettings.aFieldMapping.clear(); @@ -80,37 +82,17 @@ namespace abp try { // ........................................................ - // the parameters for creating the dialog - Sequence< Any > aArguments(5); - Any* pArguments = aArguments.getArray(); - - // the parent window + // create an instance of the dialog service Reference< XWindow > xDialogParent = VCLUnoHelper::GetInterface( _pParent ); - *pArguments++ <<= PropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ParentWindow" )), -1, makeAny( xDialogParent ), PropertyState_DIRECT_VALUE); - - // the data source to use - *pArguments++ <<= PropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "DataSource" )), -1, makeAny( _rxDataSource ), PropertyState_DIRECT_VALUE); - *pArguments++ <<= PropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "DataSourceName" )), -1, makeAny( (sal_Bool)_rSettings.bRegisterDataSource ? _rSettings.sRegisteredDataSourceName : _rSettings.sDataSourceName ), PropertyState_DIRECT_VALUE); - - // the table to use - *pArguments++ <<= PropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Command" )), -1, makeAny( _rSettings.sSelectedTable ), PropertyState_DIRECT_VALUE); - - // the title ::rtl::OUString sTitle = String( ModuleRes( RID_STR_FIELDDIALOGTITLE ) ); - *pArguments++ <<= PropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Title" )), -1, makeAny( sTitle ), PropertyState_DIRECT_VALUE); - - // ........................................................ - // create an instance of the dialog service - static ::rtl::OUString s_sAdressBookFieldAssignmentServiceName(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.ui.AddressBookSourceDialog" )); - Reference< XExecutableDialog > xDialog( - _rxORB->createInstanceWithArguments( s_sAdressBookFieldAssignmentServiceName, aArguments ), - UNO_QUERY - ); - if ( !xDialog.is( ) ) - { - ShowServiceNotAvailableError( _pParent, s_sAdressBookFieldAssignmentServiceName, sal_True ); - return sal_False; - } + Reference< XExecutableDialog > xDialog = AddressBookSourceDialog::createWithDataSource(_rxORB, + // the parent window + xDialogParent, + _rxDataSource, + (sal_Bool)_rSettings.bRegisterDataSource ? _rSettings.sRegisteredDataSourceName : _rSettings.sDataSourceName, + // the table to use + _rSettings.sSelectedTable, + sTitle); // execute the dialog if ( xDialog->execute() ) diff --git a/extensions/source/abpilot/fieldmappingimpl.hxx b/extensions/source/abpilot/fieldmappingimpl.hxx index ffafaec1ac29..f3fb6af4f2b9 100644 --- a/extensions/source/abpilot/fieldmappingimpl.hxx +++ b/extensions/source/abpilot/fieldmappingimpl.hxx @@ -60,7 +60,7 @@ namespace abp field mapping dialog. */ sal_Bool invokeDialog( - const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB, + const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& _rxORB, class Window* _pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxDataSource, AddressSettings& _rSettings diff --git a/extensions/source/abpilot/fieldmappingpage.cxx b/extensions/source/abpilot/fieldmappingpage.cxx index 60716a7e1d05..1e2077c36e71 100644 --- a/extensions/source/abpilot/fieldmappingpage.cxx +++ b/extensions/source/abpilot/fieldmappingpage.cxx @@ -21,6 +21,7 @@ #include "fieldmappingimpl.hxx" #include "addresssettings.hxx" #include "abspilot.hxx" +#include //......................................................................... namespace abp @@ -91,7 +92,7 @@ namespace abp AddressSettings& rSettings = getSettings(); // invoke the dialog doing the mapping - if ( fieldmapping::invokeDialog( getORB(), this, getDialog()->getDataSource().getDataSource(), rSettings ) ) + if ( fieldmapping::invokeDialog( comphelper::getComponentContext(getORB()), this, getDialog()->getDataSource().getDataSource(), rSettings ) ) { if ( rSettings.aFieldMapping.size() ) getDialog()->travelNext(); -- cgit