summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--extensions/source/abpilot/unodialogabp.cxx13
-rw-r--r--extensions/source/abpilot/unodialogabp.hxx3
-rw-r--r--offapi/UnoApi_offapi.mk1
-rw-r--r--offapi/com/sun/star/ui/dialogs/AddressBookSourcePilot.idl43
-rw-r--r--sfx2/source/appl/appserv.cxx40
-rw-r--r--svtools/inc/svtools/addresstemplate.hxx7
-rw-r--r--svtools/source/dialogs/addresstemplate.cxx27
-rw-r--r--svtools/source/uno/addrtempuno.cxx4
8 files changed, 94 insertions, 44 deletions
diff --git a/extensions/source/abpilot/unodialogabp.cxx b/extensions/source/abpilot/unodialogabp.cxx
index 1626d396574d..797bae2b9050 100644
--- a/extensions/source/abpilot/unodialogabp.cxx
+++ b/extensions/source/abpilot/unodialogabp.cxx
@@ -34,6 +34,7 @@ namespace abp
{
//.........................................................................
+ using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::beans;
@@ -147,6 +148,18 @@ namespace abp
return new ::cppu::OPropertyArrayHelper(aProps);
}
+ void SAL_CALL OABSPilotUno::initialize( const Sequence< Any >& aArguments ) throw(Exception, RuntimeException)
+ {
+ Reference<awt::XWindow> xParentWindow;
+ if (aArguments.getLength() == 1 && (aArguments[0] >>= xParentWindow) ) {
+ Sequence< Any > aNewArgs(1);
+ aNewArgs[0] <<= PropertyValue( ::rtl::OUString("ParentWindow"), 0, makeAny(xParentWindow), PropertyState_DIRECT_VALUE );
+ OGenericUnoDialog::initialize(aNewArgs);
+ } else {
+ OGenericUnoDialog::initialize(aArguments);
+ }
+ }
+
//--------------------------------------------------------------------------
Dialog* OABSPilotUno::createDialog(Window* _pParent)
{
diff --git a/extensions/source/abpilot/unodialogabp.hxx b/extensions/source/abpilot/unodialogabp.hxx
index 189e9862b32d..ccfcb4e8f78a 100644
--- a/extensions/source/abpilot/unodialogabp.hxx
+++ b/extensions/source/abpilot/unodialogabp.hxx
@@ -78,6 +78,9 @@ namespace abp
// XJob
virtual ::com::sun::star::uno::Any SAL_CALL execute( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& lArgs ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
+ // XInitialisation
+ virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
+
using OABSPilotUno_DBase::execute;
protected:
// OGenericUnoDialog overridables
diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk
index 99f19c46f1d0..3007e98d0de4 100644
--- a/offapi/UnoApi_offapi.mk
+++ b/offapi/UnoApi_offapi.mk
@@ -357,6 +357,7 @@ $(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/ui,\
WindowStateConfiguration \
))
$(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/ui/dialogs,\
+ AddressBookSourcePilot \
FilePicker \
FolderPicker \
Wizard \
diff --git a/offapi/com/sun/star/ui/dialogs/AddressBookSourcePilot.idl b/offapi/com/sun/star/ui/dialogs/AddressBookSourcePilot.idl
new file mode 100644
index 000000000000..6e3668cb8ba8
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/AddressBookSourcePilot.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_ui_dialogs_AddressBookSourcePilot_idl__
+#define __com_sun_star_ui_dialogs_AddressBookSourcePilot_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/**
+ @since LibreOffice 4.1
+*/
+service AddressBookSourcePilot : XExecutableDialog
+{
+ createWithParent([in] com::sun::star::awt::XWindow ParentWindow);
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx
index 97ebdc494208..55d74f354adb 100644
--- a/sfx2/source/appl/appserv.cxx
+++ b/sfx2/source/appl/appserv.cxx
@@ -17,27 +17,27 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include <com/sun/star/uno/Reference.hxx>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/lang/IllegalArgumentException.hpp>
+#include <com/sun/star/document/XEmbeddedScripts.hpp>
+#include <com/sun/star/embed/XStorage.hpp>
+#include <com/sun/star/embed/ElementModes.hpp>
#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/DispatchResultEvent.hpp>
#include <com/sun/star/frame/DispatchResultState.hpp>
-#include <com/sun/star/task/XJobExecutor.hpp>
-#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
#include <com/sun/star/frame/DispatchHelper.hpp>
#include <com/sun/star/frame/XDesktop.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
-#include <com/sun/star/util/XCloseable.hpp>
-#include <com/sun/star/util/CloseVetoException.hpp>
#include <com/sun/star/frame/XLayoutManager.hpp>
-#include <com/sun/star/document/XEmbeddedScripts.hpp>
-#include <com/sun/star/embed/XStorage.hpp>
-#include <com/sun/star/embed/ElementModes.hpp>
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/lang/IllegalArgumentException.hpp>
+#include <com/sun/star/sdbc/DriverManager.hpp>
#include <com/sun/star/system/SystemShellExecute.hpp>
#include <com/sun/star/system/SystemShellExecuteFlags.hpp>
#include <com/sun/star/system/SystemShellExecuteException.hpp>
-#include <com/sun/star/sdbc/DriverManager.hpp>
+#include <com/sun/star/task/XJobExecutor.hpp>
+#include <com/sun/star/ui/dialogs/AddressBookSourcePilot.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/util/XCloseable.hpp>
+#include <com/sun/star/util/CloseVetoException.hpp>
#include <org/freedesktop/PackageKit/SyncDbusSessionHelper.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
@@ -602,7 +602,7 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq )
case SID_TEMPLATE_ADDRESSBOKSOURCE:
{
- svt::AddressBookSourceDialog aDialog(GetTopWindow(), ::comphelper::getProcessServiceFactory());
+ svt::AddressBookSourceDialog aDialog(GetTopWindow(), ::comphelper::getProcessComponentContext());
aDialog.Execute();
bDone = true;
break;
@@ -1428,20 +1428,16 @@ void SfxApplication::OfaExec_Impl( SfxRequest& rReq )
case SID_ADDRESS_DATA_SOURCE:
{
- ::rtl::OUString sDialogServiceName( "com.sun.star.ui.dialogs.AddressBookSourcePilot" );
try
{
- Reference< com::sun::star::lang::XMultiServiceFactory > xORB = ::comphelper::getProcessServiceFactory();
- Reference< com::sun::star::ui::dialogs::XExecutableDialog > xDialog;
- if (xORB.is())
- xDialog = Reference< com::sun::star::ui::dialogs::XExecutableDialog >(xORB->createInstance(sDialogServiceName), UNO_QUERY);
- if (xDialog.is())
- xDialog->execute();
- else
- ShowServiceNotAvailableError(NULL, sDialogServiceName, sal_True);
+ Reference< uno::XComponentContext > xORB = ::comphelper::getProcessComponentContext();
+ Reference< ui::dialogs::XExecutableDialog > xDialog;
+ xDialog = ui::dialogs::AddressBookSourcePilot::createWithParent(xORB, 0);
+ xDialog->execute();
}
- catch(::com::sun::star::uno::Exception&)
+ catch(const ::com::sun::star::uno::Exception&)
{
+ DBG_UNHANDLED_EXCEPTION();
}
}
break;
diff --git a/svtools/inc/svtools/addresstemplate.hxx b/svtools/inc/svtools/addresstemplate.hxx
index 7d716f644f38..c5e93c112b88 100644
--- a/svtools/inc/svtools/addresstemplate.hxx
+++ b/svtools/inc/svtools/addresstemplate.hxx
@@ -29,7 +29,6 @@
#include <vcl/lstbox.hxx>
#include <vcl/scrbar.hxx>
#include <com/sun/star/container/XNameAccess.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/util/AliasProgrammaticPair.hpp>
#include <com/sun/star/sdb/XDatabaseContext.hpp>
#include <com/sun/star/sdbc/XDataSource.hpp>
@@ -70,7 +69,7 @@ namespace svt
::com::sun::star::uno::Reference< ::com::sun::star::sdb::XDatabaseContext >
m_xDatabaseContext;
// the ORB for creating objects
- ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >
m_xORB;
::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >
m_xCurrentDatasourceTables;
@@ -80,7 +79,7 @@ namespace svt
public:
AddressBookSourceDialog( Window* _pParent,
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB );
+ const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& _rxORB );
/** if you use this ctor, the dialog
<ul><li>will not store it's data in the configuration (nor initially retrieve it from there)</li>
@@ -102,7 +101,7 @@ namespace svt
obtained from <arg>_rxTransientDS</arg>
*/
AddressBookSourceDialog( Window* _pParent,
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& _rxORB,
const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDataSource >& _rxTransientDS,
const ::rtl::OUString& _rDataSourceName,
const ::rtl::OUString& _rTable,
diff --git a/svtools/source/dialogs/addresstemplate.cxx b/svtools/source/dialogs/addresstemplate.cxx
index c0c84718a4d1..2865e991d46c 100644
--- a/svtools/source/dialogs/addresstemplate.cxx
+++ b/svtools/source/dialogs/addresstemplate.cxx
@@ -34,7 +34,7 @@
#include <vcl/waitobj.hxx>
#include <vcl/msgbox.hxx>
#include <toolkit/helper/vclunohelper.hxx>
-#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
+#include <com/sun/star/ui/dialogs/AddressBookSourcePilot.hpp>
#include <com/sun/star/awt/XWindow.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
@@ -562,7 +562,7 @@ void AssignmentPersistentData::Commit()
// -------------------------------------------------------------------
AddressBookSourceDialog::AddressBookSourceDialog(Window* _pParent,
- const Reference< XMultiServiceFactory >& _rxORB )
+ const Reference< XComponentContext >& _rxORB )
:INIT_FIELDS()
,m_pImpl( new AddressBookSourceDialogData )
{
@@ -570,7 +570,7 @@ void AssignmentPersistentData::Commit()
}
// -------------------------------------------------------------------
- AddressBookSourceDialog::AddressBookSourceDialog( Window* _pParent, const Reference< XMultiServiceFactory >& _rxORB,
+ AddressBookSourceDialog::AddressBookSourceDialog( Window* _pParent, const Reference< XComponentContext >& _rxORB,
const Reference< XDataSource >& _rxTransientDS, const ::rtl::OUString& _rDataSourceName,
const ::rtl::OUString& _rTable, const Sequence< AliasProgrammaticPair >& _rMapping )
:INIT_FIELDS()
@@ -791,9 +791,9 @@ void AssignmentPersistentData::Commit()
try
{
- m_xDatabaseContext = DatabaseContext::create(comphelper::getComponentContext(m_xORB));
+ m_xDatabaseContext = DatabaseContext::create(m_xORB);
}
- catch(Exception&) { }
+ catch(const Exception&) { }
if (!m_xDatabaseContext.is())
{
const rtl::OUString sContextServiceName("com.sun.star.sdb.DatabaseContext");
@@ -842,10 +842,10 @@ void AssignmentPersistentData::Commit()
try
{
xHandler.set(
- InteractionHandler::createWithParent(comphelper::getComponentContext(m_xORB), 0),
+ InteractionHandler::createWithParent(m_xORB, 0),
UNO_QUERY_THROW );
}
- catch(Exception&) { }
+ catch(const Exception&) { }
if (!xHandler.is())
{
const rtl::OUString sInteractionHandlerServiceName("com.sun.star.task.InteractionHandler");
@@ -1212,21 +1212,16 @@ void AssignmentPersistentData::Commit()
// -------------------------------------------------------------------
IMPL_LINK_NOARG(AddressBookSourceDialog, OnAdministrateDatasources)
{
- // collect some initial arguments for the dialog
- Sequence< Any > aArgs(1);
- aArgs[0] <<= PropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParentWindow")), 0, makeAny(VCLUnoHelper::GetInterface(this)), PropertyState_DIRECT_VALUE);
-
// create the dialog object
- const rtl::OUString sDialogServiceName("com.sun.star.ui.dialogs.AddressBookSourcePilot");
Reference< XExecutableDialog > xAdminDialog;
try
{
- xAdminDialog = Reference< XExecutableDialog >(m_xORB->createInstanceWithArguments(sDialogServiceName, aArgs), UNO_QUERY);
+ xAdminDialog = AddressBookSourcePilot::createWithParent( m_xORB, VCLUnoHelper::GetInterface(this) );
}
- catch(Exception&) { }
+ catch(const Exception&) { }
if (!xAdminDialog.is())
{
- ShowServiceNotAvailableError(this, sDialogServiceName, sal_True);
+ ShowServiceNotAvailableError(this, rtl::OUString("com.sun.star.ui.dialogs.AddressBookSourcePilot"), sal_True);
return 1L;
}
@@ -1256,7 +1251,7 @@ void AssignmentPersistentData::Commit()
}
}
}
- catch(Exception&)
+ catch(const Exception&)
{
OSL_FAIL("AddressBookSourceDialog::OnAdministrateDatasources: an error occurred while executing the administration dialog!");
}
diff --git a/svtools/source/uno/addrtempuno.cxx b/svtools/source/uno/addrtempuno.cxx
index da4fa51dd5bd..ca255facf1c1 100644
--- a/svtools/source/uno/addrtempuno.cxx
+++ b/svtools/source/uno/addrtempuno.cxx
@@ -252,9 +252,9 @@ namespace svt
Dialog* OAddressBookSourceDialogUno::createDialog(Window* _pParent)
{
if ( m_xDataSource.is() && !m_sTable.isEmpty() )
- return new AddressBookSourceDialog(_pParent, m_aContext.getLegacyServiceFactory(), m_xDataSource, m_sDataSourceName, m_sTable, m_aAliases );
+ return new AddressBookSourceDialog(_pParent, m_aContext.getUNOContext(), m_xDataSource, m_sDataSourceName, m_sTable, m_aAliases );
else
- return new AddressBookSourceDialog( _pParent, m_aContext.getLegacyServiceFactory() );
+ return new AddressBookSourceDialog( _pParent, m_aContext.getUNOContext() );
}
// .......................................................................