summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2012-12-14 12:58:00 +0200
committerNoel Grandin <noel@peralex.com>2012-12-21 10:57:09 +0200
commitbb121c864cc3c101ef733a4088c7ba3e36eced14 (patch)
tree2d528ca830aace6e563b7cdc93eb8f8d6c4f70cf
parent6d818ed651aaafcfb12ebc21449d35947d2e85a9 (diff)
fdo#46808, Convert frame::Desktop to new style service.
I had to drop XEventBroadcaster from the merged interface because it introduced method name conflicts (addEventListener). Shouldn't be an issue since it was scheduled to be dropped anyhow, and the service implementation still implements it, so existing clients will be fine. I dropped the interface XPropertySet from the combined IDL because nobody seems to be using it, and it's primary purpose appears to be to set weird flags. I dropped the optional interfaces XStatusIndicatorFactory XDispatchInformationProvider from the combined IDL because the service does not implement them, and nobody seems to be using them. I suspect they were mistakenly copied from XFrame. I also did not convert the Title, UserDefinedAttributes and LayoutManager properties to attributes, again because no-one is using them. Change-Id: I678a00006ed2cca2d6c37c4e39465811442c33af
-rw-r--r--basctl/source/basicide/documentenumeration.cxx10
-rw-r--r--basctl/source/basicide/iderdll.cxx3
-rw-r--r--basic/source/basmgr/basicmanagerrepository.cxx8
-rw-r--r--basic/source/basmgr/vbahelper.cxx5
-rw-r--r--basic/source/classes/eventatt.cxx48
-rw-r--r--basic/source/classes/sbxmod.cxx10
-rw-r--r--bridges/test/testoffice.cxx7
-rw-r--r--chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx24
-rw-r--r--chart2/source/controller/main/ChartController_Window.cxx5
-rw-r--r--comphelper/source/misc/officerestartmanager.cxx8
-rw-r--r--connectivity/source/cpool/ZPoolCollection.cxx19
-rw-r--r--connectivity/source/cpool/ZPoolCollection.hxx9
-rw-r--r--connectivity/source/drivers/calc/CConnection.cxx10
-rw-r--r--connectivity/source/drivers/hsqldb/HDriver.cxx11
-rw-r--r--connectivity/source/drivers/kab/KDriver.cxx23
-rw-r--r--connectivity/source/drivers/kab/KDriver.hxx14
-rw-r--r--connectivity/source/drivers/macab/MacabDriver.cxx20
-rw-r--r--connectivity/source/drivers/macab/MacabDriver.hxx14
-rw-r--r--connectivity/source/drivers/mozab/mozillasrc/MNSTerminateListener.cxx13
-rw-r--r--cui/source/customize/acccfg.cxx4
-rw-r--r--cui/source/customize/cfg.cxx33
-rw-r--r--cui/source/customize/cfgutil.cxx9
-rw-r--r--cui/source/customize/eventdlg.cxx7
-rw-r--r--cui/source/customize/selector.cxx9
-rw-r--r--cui/source/dialogs/hlmarkwn.cxx92
-rw-r--r--cui/source/dialogs/scriptdlg.cxx8
-rw-r--r--cui/source/inc/treeopt.hxx3
-rw-r--r--cui/source/options/optupdt.cxx14
-rw-r--r--cui/source/options/treeopt.cxx27
-rw-r--r--dbaccess/inc/dataview.hxx8
-rw-r--r--dbaccess/qa/extras/macros-test.cxx5
-rw-r--r--dbaccess/source/core/dataaccess/databasecontext.cxx12
-rw-r--r--dbaccess/source/core/dataaccess/databasedocument.cxx7
-rw-r--r--dbaccess/source/core/dataaccess/documentdefinition.cxx22
-rw-r--r--dbaccess/source/core/dataaccess/documentdefinition.hxx2
-rw-r--r--dbaccess/source/filter/xml/dbloader2.cxx26
-rw-r--r--dbaccess/source/filter/xml/xmlfilter.cxx9
-rw-r--r--dbaccess/source/inc/stringconstants.inc1
-rw-r--r--dbaccess/source/ui/app/AppController.cxx2
-rw-r--r--dbaccess/source/ui/app/AppDetailPageHelper.cxx11
-rw-r--r--dbaccess/source/ui/app/AppDetailView.cxx4
-rw-r--r--dbaccess/source/ui/app/AppView.cxx2
-rw-r--r--dbaccess/source/ui/app/AppView.hxx2
-rw-r--r--dbaccess/source/ui/browser/brwctrlr.cxx2
-rw-r--r--dbaccess/source/ui/browser/brwview.cxx6
-rw-r--r--dbaccess/source/ui/browser/dataview.cxx6
-rw-r--r--dbaccess/source/ui/browser/unodatbr.cxx60
-rw-r--r--dbaccess/source/ui/dlg/dbwizsetup.cxx6
-rw-r--r--dbaccess/source/ui/inc/JoinDesignView.hxx2
-rw-r--r--dbaccess/source/ui/inc/QueryDesignView.hxx2
-rw-r--r--dbaccess/source/ui/inc/QueryViewSwitch.hxx4
-rw-r--r--dbaccess/source/ui/inc/RelationDesignView.hxx2
-rw-r--r--dbaccess/source/ui/inc/TableDesignView.hxx2
-rw-r--r--dbaccess/source/ui/inc/brwview.hxx2
-rw-r--r--dbaccess/source/ui/inc/querycontainerwindow.hxx2
-rw-r--r--dbaccess/source/ui/inc/queryview.hxx2
-rw-r--r--dbaccess/source/ui/querydesign/JoinDesignView.cxx4
-rw-r--r--dbaccess/source/ui/querydesign/QueryDesignView.cxx4
-rw-r--r--dbaccess/source/ui/querydesign/QueryViewSwitch.cxx6
-rw-r--r--dbaccess/source/ui/querydesign/querycontainerwindow.cxx8
-rw-r--r--dbaccess/source/ui/querydesign/querycontroller.cxx2
-rw-r--r--dbaccess/source/ui/querydesign/queryview.cxx4
-rw-r--r--dbaccess/source/ui/relationdesign/RelationController.cxx2
-rw-r--r--dbaccess/source/ui/relationdesign/RelationDesignView.cxx4
-rw-r--r--dbaccess/source/ui/tabledesign/TableController.cxx2
-rw-r--r--dbaccess/source/ui/tabledesign/TableDesignView.cxx2
-rw-r--r--desktop/source/app/app.cxx167
-rw-r--r--desktop/source/app/dispatchwatcher.cxx31
-rw-r--r--desktop/source/deployment/gui/dp_gui_theextmgr.cxx7
-rw-r--r--desktop/source/deployment/gui/dp_gui_theextmgr.hxx4
-rw-r--r--desktop/source/deployment/gui/dp_gui_updatedialog.cxx9
-rw-r--r--desktop/test/deployment/active/active_native.cxx24
-rw-r--r--desktop/test/deployment/passive/passive_native.cxx24
-rw-r--r--editeng/source/misc/unolingu.cxx28
-rw-r--r--embeddedobj/source/general/docholder.cxx46
-rw-r--r--embeddedobj/source/msole/ownview.cxx85
-rw-r--r--embedserv/source/embed/docholder.cxx42
-rw-r--r--extensions/source/nsplugin/source/so_instance.cxx12
-rw-r--r--extensions/source/plugin/base/context.cxx49
-rw-r--r--extensions/source/plugin/base/manager.cxx13
-rw-r--r--extensions/source/plugin/inc/plugin/impl.hxx4
-rw-r--r--extensions/source/propctrlr/formstrings.hxx2
-rw-r--r--extensions/source/propctrlr/genericpropertyhandler.cxx3
-rw-r--r--extensions/source/propctrlr/sqlcommanddesign.cxx11
-rw-r--r--extensions/source/scanner/scanwin.cxx44
-rw-r--r--extensions/source/update/check/updatecheck.cxx9
-rw-r--r--extensions/source/update/check/updatecheckjob.cxx9
-rw-r--r--extensions/source/update/check/updatehdl.cxx13
-rw-r--r--filter/source/flash/swffilter.cxx7
-rw-r--r--filter/source/svg/svgexport.cxx2
-rw-r--r--filter/source/svg/svgfilter.cxx8
-rw-r--r--filter/source/svg/svgfilter.hxx2
-rw-r--r--filter/source/svg/svgimport.cxx4
-rw-r--r--filter/source/xsltdialog/xmlfilterdialogcomponent.cxx12
-rw-r--r--filter/source/xsltdialog/xmlfiltertestdialog.cxx79
-rw-r--r--forms/source/xforms/submission/replace.cxx5
-rw-r--r--framework/inc/classes/menumanager.hxx2
-rw-r--r--framework/inc/jobs/helponstartup.hxx9
-rw-r--r--framework/inc/jobs/job.hxx4
-rw-r--r--framework/inc/services.h1
-rw-r--r--framework/inc/services/desktop.hxx9
-rw-r--r--framework/source/classes/menumanager.cxx75
-rw-r--r--framework/source/classes/taskcreator.cxx3
-rw-r--r--framework/source/dispatch/closedispatcher.cxx10
-rw-r--r--framework/source/dispatch/startmoduledispatcher.cxx7
-rw-r--r--framework/source/jobs/helponstartup.cxx24
-rw-r--r--framework/source/jobs/job.cxx18
-rw-r--r--framework/source/loadenv/loadenv.cxx7
-rw-r--r--framework/source/services/autorecovery.cxx13
-rw-r--r--framework/source/services/backingwindow.cxx8
-rw-r--r--framework/source/services/backingwindow.hxx1
-rw-r--r--framework/source/services/desktop.cxx10
-rw-r--r--framework/source/services/sessionlistener.cxx4
-rw-r--r--framework/source/uielement/menubarmanager.cxx35
-rw-r--r--linguistic/inc/linguistic/misc.hxx5
-rw-r--r--linguistic/source/misc.cxx23
-rw-r--r--odk/examples/DevelopersGuide/ProfUNO/SimpleBootstrap_cpp/SimpleBootstrap_cpp.cxx6
-rw-r--r--odk/examples/cpp/DocumentLoader/DocumentLoader.cxx6
-rw-r--r--offapi/UnoApi_offapi.mk3
-rw-r--r--offapi/com/sun/star/frame/Desktop.idl34
-rw-r--r--offapi/com/sun/star/frame/XDesktop2.idl94
-rw-r--r--offapi/type_reference/types.rdbbin7439872 -> 7440384 bytes
-rw-r--r--oox/source/helper/graphichelper.cxx9
-rw-r--r--remotebridges/examples/officeclient.cxx69
-rw-r--r--reportdesign/source/core/api/ReportDefinition.cxx18
-rw-r--r--reportdesign/source/core/api/ReportEngineJFree.cxx6
-rw-r--r--reportdesign/source/ui/inc/DesignView.hxx2
-rw-r--r--reportdesign/source/ui/inc/ReportController.hxx4
-rw-r--r--reportdesign/source/ui/report/DesignView.cxx2
-rw-r--r--reportdesign/source/ui/report/ReportController.cxx9
-rw-r--r--sc/qa/extras/macros-test.cxx5
-rw-r--r--sc/qa/extras/regression-test.cxx5
-rw-r--r--sc/source/filter/excel/xlroot.cxx4
-rw-r--r--sc/source/ui/docshell/docsh4.cxx7
-rw-r--r--sc/source/ui/vba/testvba/testvba.cxx4
-rw-r--r--sc/source/ui/vba/vbahelper.cxx6
-rw-r--r--sc/source/ui/vba/vbawindows.cxx8
-rw-r--r--sc/source/ui/vba/vbaworksheet.cxx9
-rw-r--r--scripting/source/basprov/basmethnode.cxx47
-rw-r--r--sd/source/ui/dlg/sdtreelb.cxx12
-rw-r--r--sd/source/ui/dlg/tpoption.cxx12
-rw-r--r--sd/source/ui/remotecontrol/Communicator.cxx6
-rw-r--r--sd/source/ui/remotecontrol/Receiver.cxx6
-rw-r--r--sd/source/ui/toolpanel/controls/MasterPageContainer.cxx8
-rw-r--r--sdext/source/minimizer/graphiccollector.cxx4
-rw-r--r--sdext/source/minimizer/impoptimizer.cxx8
-rw-r--r--sfx2/inc/templatedlg.hxx3
-rw-r--r--sfx2/source/appl/appinit.cxx6
-rw-r--r--sfx2/source/appl/appopen.cxx4
-rw-r--r--sfx2/source/appl/appserv.cxx27
-rw-r--r--sfx2/source/appl/sfxhelp.cxx24
-rw-r--r--sfx2/source/appl/shutdownicon.cxx36
-rw-r--r--sfx2/source/appl/shutdownicon.hxx8
-rw-r--r--sfx2/source/doc/doctempl.cxx6
-rw-r--r--sfx2/source/doc/objxtor.cxx4
-rw-r--r--sfx2/source/doc/sfxbasemodel.cxx4
-rw-r--r--sfx2/source/doc/templatedlg.cxx3
-rw-r--r--sfx2/source/inet/inettbc.cxx5
-rw-r--r--sfx2/source/menu/virtmenu.cxx71
-rw-r--r--sfx2/source/notify/eventsupplier.cxx10
-rw-r--r--sfx2/source/toolbox/tbxitem.cxx29
-rw-r--r--sfx2/source/view/frame2.cxx6
-rw-r--r--sfx2/source/view/viewfrm.cxx12
-rw-r--r--sfx2/source/view/viewsh.cxx2
-rw-r--r--smoketest/smoketest.cxx16
-rw-r--r--starmath/source/view.cxx38
-rw-r--r--svtools/inc/svtools/acceleratorexecute.hxx7
-rw-r--r--svtools/source/contnr/templwin.cxx12
-rw-r--r--svtools/source/misc/acceleratorexecute.cxx21
-rw-r--r--svtools/source/misc/transfer.cxx35
-rw-r--r--svx/source/inc/docrecovery.hxx1
-rw-r--r--svx/source/inc/recoveryui.hxx5
-rw-r--r--svx/source/unodraw/recoveryui.cxx17
-rw-r--r--sw/CppunitTest_sw_subsequent_odfexport.mk1
-rw-r--r--sw/CppunitTest_sw_subsequent_odfimport.mk1
-rw-r--r--sw/CppunitTest_sw_subsequent_ooxmlexport.mk1
-rw-r--r--sw/CppunitTest_sw_subsequent_ooxmlimport.mk1
-rw-r--r--sw/CppunitTest_sw_subsequent_rtfexport.mk1
-rw-r--r--sw/CppunitTest_sw_subsequent_rtfimport.mk1
-rw-r--r--sw/CppunitTest_sw_subsequent_ww8export.mk1
-rw-r--r--sw/CppunitTest_sw_subsequent_ww8import.mk1
-rw-r--r--sw/inc/dlelstnr.hxx4
-rw-r--r--sw/qa/core/layout-test.cxx6
-rw-r--r--sw/qa/core/macros-test.cxx6
-rw-r--r--sw/qa/extras/inc/swmodeltestbase.hxx5
-rw-r--r--sw/source/core/docnode/finalthreadmanager.cxx28
-rw-r--r--sw/source/ui/app/swdll.cxx5
-rw-r--r--sw/source/ui/uno/dlelstnr.cxx10
-rw-r--r--sw/source/ui/uno/unomailmerge.cxx4
-rw-r--r--test/source/unoapi_test.cxx6
-rw-r--r--touch/source/uno/Document.cxx9
-rw-r--r--tubes/source/manager.cxx10
-rw-r--r--unotest/inc/unotest/macros_test.hxx4
-rw-r--r--unotest/source/cpp/officeconnection.cxx10
-rw-r--r--unotools/source/misc/desktopterminationobserver.cxx9
-rw-r--r--uui/source/newerverwarn.cxx5
-rw-r--r--vbahelper/source/vbahelper/vbadocumentsbase.cxx21
-rw-r--r--vcl/source/app/svmain.cxx8
-rw-r--r--vcl/unx/generic/dtrans/X11_selection.cxx11
-rw-r--r--vcl/unx/generic/dtrans/X11_selection.hxx4
-rw-r--r--vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx3
-rw-r--r--vcl/unx/gtk/fpicker/SalGtkFolderPicker.cxx5
-rw-r--r--vcl/unx/gtk/gdi/salprn-gtk.cxx5
203 files changed, 1172 insertions, 1578 deletions
diff --git a/basctl/source/basicide/documentenumeration.cxx b/basctl/source/basicide/documentenumeration.cxx
index 1527a8a6931d..0ac8d4220c51 100644
--- a/basctl/source/basicide/documentenumeration.cxx
+++ b/basctl/source/basicide/documentenumeration.cxx
@@ -20,7 +20,7 @@
#include "documentenumeration.hxx"
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XModel2.hpp>
#include <com/sun/star/frame/FrameSearchFlag.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
@@ -40,7 +40,8 @@ namespace basctl { namespace docs {
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::UNO_QUERY_THROW;
using ::com::sun::star::uno::UNO_SET_THROW;
- using ::com::sun::star::frame::XDesktop;
+ using ::com::sun::star::frame::Desktop;
+ using ::com::sun::star::frame::XDesktop2;
using ::com::sun::star::container::XEnumerationAccess;
using ::com::sun::star::container::XEnumeration;
using ::com::sun::star::uno::Any;
@@ -174,9 +175,8 @@ namespace basctl { namespace docs {
try
{
- const Reference< XDesktop > xDesktop( m_pData->aContext->getServiceManager()->createInstanceWithContext( "com.sun.star.frame.Desktop", m_pData->aContext ), UNO_QUERY_THROW );
- const Reference< XFramesSupplier > xSuppFrames( xDesktop, UNO_QUERY_THROW );
- const Reference< XFrames > xFrames( xSuppFrames->getFrames(), UNO_SET_THROW );
+ const Reference< XDesktop2 > xDesktop = Desktop::create( m_pData->aContext );
+ const Reference< XFrames > xFrames( xDesktop->getFrames(), UNO_SET_THROW );
const Sequence< Reference< XFrame > > aFrames( xFrames->queryFrames( FrameSearchFlag::ALL ) );
lcl_getDocuments_nothrow( aFrames, _out_rDocuments, m_pData->pFilter );
diff --git a/basctl/source/basicide/iderdll.cxx b/basctl/source/basicide/iderdll.cxx
index 966a6ece6a30..e88f1bbefb31 100644
--- a/basctl/source/basicide/iderdll.cxx
+++ b/basctl/source/basicide/iderdll.cxx
@@ -39,6 +39,7 @@
#include <propbrw.hxx>
#include <svl/srchitem.hxx>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/script/XLibraryContainerPassword.hpp>
#include <boost/scoped_ptr.hpp>
@@ -70,7 +71,7 @@ public:
class DllInstance : public comphelper::scoped_disposing_solar_mutex_reset_ptr<Dll>
{
public:
- DllInstance() : comphelper::scoped_disposing_solar_mutex_reset_ptr<Dll>(::com::sun::star::uno::Reference<com::sun::star::lang::XComponent>(comphelper::getProcessServiceFactory()->createInstance(OUString("com.sun.star.frame.Desktop")), ::com::sun::star::uno::UNO_QUERY_THROW), new Dll)
+ DllInstance() : comphelper::scoped_disposing_solar_mutex_reset_ptr<Dll>(Reference<lang::XComponent>( frame::Desktop::create(comphelper::getProcessComponentContext()), UNO_QUERY_THROW), new Dll)
{ }
};
diff --git a/basic/source/basmgr/basicmanagerrepository.cxx b/basic/source/basmgr/basicmanagerrepository.cxx
index 5f0078d67660..7175fe93ebe3 100644
--- a/basic/source/basmgr/basicmanagerrepository.cxx
+++ b/basic/source/basmgr/basicmanagerrepository.cxx
@@ -27,6 +27,7 @@
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/document/XStorageBasedDocument.hpp>
#include <com/sun/star/document/XEmbeddedScripts.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <svtools/ehdl.hxx>
#include <svtools/sfxecode.hxx>
#include <unotools/pathoptions.hxx>
@@ -52,7 +53,9 @@ namespace basic
/** === begin UNO using === **/
using ::com::sun::star::uno::Reference;
+ using ::com::sun::star::uno::XComponentContext;
using ::com::sun::star::frame::XModel;
+ using ::com::sun::star::frame::Desktop;
using ::com::sun::star::uno::XInterface;
using ::com::sun::star::uno::UNO_QUERY;
using ::com::sun::star::embed::XStorage;
@@ -328,9 +331,8 @@ namespace basic
// global constants
// StarDesktop
- Reference< XMultiServiceFactory > xSMgr = ::comphelper::getProcessServiceFactory();
- pBasicManager->SetGlobalUNOConstant( "StarDesktop",
- makeAny( xSMgr->createInstance("com.sun.star.frame.Desktop")));
+ Reference< XComponentContext > xContext = ::comphelper::getProcessComponentContext();
+ pBasicManager->SetGlobalUNOConstant( "StarDesktop", makeAny( Desktop::create(xContext)));
// (BasicLibraries and DialogLibraries have automatically been added in SetLibraryContainerInfo)
diff --git a/basic/source/basmgr/vbahelper.cxx b/basic/source/basmgr/vbahelper.cxx
index d5c24667f39a..d1c34e4025c8 100644
--- a/basic/source/basmgr/vbahelper.cxx
+++ b/basic/source/basmgr/vbahelper.cxx
@@ -23,7 +23,7 @@
#include <map>
#include <vector>
#include <com/sun/star/container/XEnumeration.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XModel2.hpp>
#include <com/sun/star/frame/ModuleManager.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
@@ -70,8 +70,7 @@ DocumentsEnumeration::DocumentsEnumeration( const uno::Reference< frame::XModel
{
uno::Reference< frame::XModuleManager2 > xModuleManager( lclCreateModuleManager() );
::rtl::OUString aIdentifier = xModuleManager->identify( rxModel );
- uno::Reference< lang::XMultiServiceFactory > xFactory( ::comphelper::getProcessServiceFactory(), uno::UNO_QUERY_THROW );
- uno::Reference< frame::XDesktop > xDesktop( xFactory->createInstance( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ) ) ), uno::UNO_QUERY_THROW );
+ uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create( ::comphelper::getProcessComponentContext() );
uno::Reference< container::XEnumerationAccess > xComponentsEA( xDesktop->getComponents(), uno::UNO_SET_THROW );
uno::Reference< container::XEnumeration > xEnumeration( xComponentsEA->createEnumeration(), uno::UNO_SET_THROW );
while( xEnumeration->hasMoreElements() )
diff --git a/basic/source/classes/eventatt.cxx b/basic/source/classes/eventatt.cxx
index 173a3cee2ac1..d3da40a5a4a6 100644
--- a/basic/source/classes/eventatt.cxx
+++ b/basic/source/classes/eventatt.cxx
@@ -44,7 +44,7 @@
#include <com/sun/star/awt/XDialogProvider.hpp>
#include <com/sun/star/frame/XModel.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/container/XEnumerationAccess.hpp>
#include <basic/basicmanagerrepository.hxx>
#include <basic/basmgr.hxx>
@@ -433,8 +433,6 @@ void RTL_Impl_CreateUnoDialog( StarBASIC* pBasic, SbxArray& rPar, sal_Bool bWrit
(void)bWrite;
Reference< XMultiServiceFactory > xMSF( comphelper::getProcessServiceFactory() );
- if( !xMSF.is() )
- return;
// We need at least 1 parameter
if ( rPar.Count() < 2 )
@@ -473,8 +471,7 @@ void RTL_Impl_CreateUnoDialog( StarBASIC* pBasic, SbxArray& rPar, sal_Bool bWrit
{
return;
}
- Reference< XComponentContext > xContext(
- comphelper::getComponentContext( xMSF ) );
+ Reference< XComponentContext > xContext( comphelper::getComponentContext( xMSF ) );
// Import the DialogModel
Reference< XInputStream > xInput( xISP->createInputStream() );
@@ -510,33 +507,30 @@ void RTL_Impl_CreateUnoDialog( StarBASIC* pBasic, SbxArray& rPar, sal_Bool bWrit
// If we found the dialog then it belongs to the Search basic
if ( !pFoundBasic )
{
- Reference< frame::XDesktop > xDesktop( xMSF->createInstance(OUString("com.sun.star.frame.Desktop")), UNO_QUERY);
+ Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create( xContext );
Reference< container::XEnumeration > xModels;
- if ( xDesktop.is() )
+ Reference< container::XEnumerationAccess > xComponents( xDesktop->getComponents(), UNO_QUERY );
+ if ( xComponents.is() )
{
- Reference< container::XEnumerationAccess > xComponents( xDesktop->getComponents(), UNO_QUERY );
- if ( xComponents.is() )
- {
- xModels.set( xComponents->createEnumeration(), UNO_QUERY );
- }
- if ( xModels.is() )
+ xModels.set( xComponents->createEnumeration(), UNO_QUERY );
+ }
+ if ( xModels.is() )
+ {
+ while ( xModels->hasMoreElements() )
{
- while ( xModels->hasMoreElements() )
+ Reference< frame::XModel > xNextModel( xModels->nextElement(), UNO_QUERY );
+ if ( xNextModel.is() )
{
- Reference< frame::XModel > xNextModel( xModels->nextElement(), UNO_QUERY );
- if ( xNextModel.is() )
+ BasicManager* pMgr = basic::BasicManagerRepository::getDocumentBasicManager( xNextModel );
+ if ( pMgr )
{
- BasicManager* pMgr = basic::BasicManagerRepository::getDocumentBasicManager( xNextModel );
- if ( pMgr )
- {
- aDlgLibAny = implFindDialogLibForDialogBasic( aAnyISP, pMgr->GetLib(0), pFoundBasic );
- }
- if ( aDlgLibAny.hasValue() )
- {
- bDocDialog = true;
- xModel = xNextModel;
- break;
- }
+ aDlgLibAny = implFindDialogLibForDialogBasic( aAnyISP, pMgr->GetLib(0), pFoundBasic );
+ }
+ if ( aDlgLibAny.hasValue() )
+ {
+ bDocDialog = true;
+ xModel = xNextModel;
+ break;
}
}
}
diff --git a/basic/source/classes/sbxmod.cxx b/basic/source/classes/sbxmod.cxx
index b192a4f12913..dc6688777f99 100644
--- a/basic/source/classes/sbxmod.cxx
+++ b/basic/source/classes/sbxmod.cxx
@@ -44,6 +44,7 @@
#include <basic/vbahelper.hxx>
#include <cppuhelper/implbase3.hxx>
#include <unotools/eventcfg.hxx>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/script/ModuleType.hpp>
#include <com/sun/star/script/vba/XVBACompatibility.hpp>
@@ -477,13 +478,8 @@ public:
void QuitApplication()
{
- uno::Reference< lang::XMultiServiceFactory > xFactory = comphelper::getProcessServiceFactory();
- if ( xFactory.is() )
- {
- uno::Reference< frame::XDesktop > xDeskTop( xFactory->createInstance( OUString( "com.sun.star.frame.Desktop" ) ), uno::UNO_QUERY );
- if ( xDeskTop.is() )
- xDeskTop->terminate();
- }
+ uno::Reference< frame::XDesktop2 > xDeskTop = frame::Desktop::create( comphelper::getProcessComponentContext() );
+ xDeskTop->terminate();
}
DECL_LINK( OnAsyncQuit, void* );
};
diff --git a/bridges/test/testoffice.cxx b/bridges/test/testoffice.cxx
index 9d01beed3ced..0fca5082a61b 100644
--- a/bridges/test/testoffice.cxx
+++ b/bridges/test/testoffice.cxx
@@ -37,6 +37,7 @@
#include <com/sun/star/lang/XComponent.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <cppuhelper/weak.hxx>
@@ -128,11 +129,7 @@ void testWriter( const Reference < XComponent > & rCmp )
void testDocument( const Reference < XMultiServiceFactory > & rSmgr )
{
- Reference < XComponentLoader > rLoader(
- rSmgr->createInstance( OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop" ))),
- UNO_QUERY );
-
- OSL_ASSERT( rLoader.is() );
+ Reference < XDesktop2 > rLoader = Desktop::create( comphelper::getComponentContext(rSmgr) );
sal_Char *urls[] = {
"private:factory/swriter",
diff --git a/chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx b/chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx
index 5d4e8a593b46..67ff9fa490fe 100644
--- a/chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx
+++ b/chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx
@@ -36,7 +36,7 @@
#include <com/sun/star/awt/Point.hpp>
#include <com/sun/star/awt/Size.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
//.............................................................................
namespace chart
@@ -52,14 +52,9 @@ CreationWizardUnoDlg::CreationWizardUnoDlg( const uno::Reference< uno::XComponen
, m_pDialog( 0 )
, m_bUnlockControllersOnExecute(false)
{
- uno::Reference< frame::XDesktop > xDesktop(
- m_xCC->getServiceManager()->createInstanceWithContext(
- "com.sun.star.frame.Desktop" , m_xCC ), uno::UNO_QUERY );
- if( xDesktop.is() )
- {
- uno::Reference< frame::XTerminateListener > xListener( this );
- xDesktop->addTerminateListener( xListener );
- }
+ uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(m_xCC);
+ uno::Reference< frame::XTerminateListener > xListener( this );
+ xDesktop->addTerminateListener( xListener );
}
CreationWizardUnoDlg::~CreationWizardUnoDlg()
{
@@ -290,14 +285,9 @@ void SAL_CALL CreationWizardUnoDlg::disposing()
try
{
- uno::Reference< frame::XDesktop > xDesktop(
- m_xCC->getServiceManager()->createInstanceWithContext(
- "com.sun.star.frame.Desktop" , m_xCC ), uno::UNO_QUERY );
- if( xDesktop.is() )
- {
- uno::Reference< frame::XTerminateListener > xListener( this );
- xDesktop->removeTerminateListener( xListener );
- }
+ uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(m_xCC);
+ uno::Reference< frame::XTerminateListener > xListener( this );
+ xDesktop->removeTerminateListener( xListener );
}
catch( const uno::Exception & ex )
{
diff --git a/chart2/source/controller/main/ChartController_Window.cxx b/chart2/source/controller/main/ChartController_Window.cxx
index bfb89202cbbe..7f66efbc628b 100644
--- a/chart2/source/controller/main/ChartController_Window.cxx
+++ b/chart2/source/controller/main/ChartController_Window.cxx
@@ -1323,13 +1323,12 @@ bool ChartController::execute_KeyInput( const KeyEvent& rKEvt )
return bReturn;
// handle accelerators
- if( ! m_apAccelExecute.get() && m_xFrame.is() && m_xCC.is() && m_xCC->getServiceManager().is() )
+ if( ! m_apAccelExecute.get() && m_xFrame.is() && m_xCC.is() )
{
m_apAccelExecute.reset( ::svt::AcceleratorExecute::createAcceleratorHelper());
OSL_ASSERT( m_apAccelExecute.get());
if( m_apAccelExecute.get() )
- m_apAccelExecute->init(
- uno::Reference< lang::XMultiServiceFactory >( m_xCC->getServiceManager(), uno::UNO_QUERY ), m_xFrame );
+ m_apAccelExecute->init( m_xCC, m_xFrame );
}
KeyCode aKeyCode( rKEvt.GetKeyCode());
diff --git a/comphelper/source/misc/officerestartmanager.cxx b/comphelper/source/misc/officerestartmanager.cxx
index 4dd42bddb931..dfbd2070d9a2 100644
--- a/comphelper/source/misc/officerestartmanager.cxx
+++ b/comphelper/source/misc/officerestartmanager.cxx
@@ -20,7 +20,7 @@
#include <com/sun/star/lang/XMultiComponentFactory.hpp>
#include <com/sun/star/awt/XRequestCallback.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <comphelper_module.hxx>
@@ -129,11 +129,7 @@ void SAL_CALL OOfficeRestartManager::notify( const uno::Any& /* aData */ )
if ( m_xContext.is() )
{
- uno::Reference< lang::XMultiComponentFactory > xFactory( m_xContext->getServiceManager(), uno::UNO_SET_THROW );
- uno::Reference< frame::XDesktop > xDesktop(
- xFactory->createInstanceWithContext(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ) ), m_xContext ),
- uno::UNO_QUERY_THROW );
+ uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(m_xContext);
// Turn Quickstarter veto off
uno::Reference< beans::XPropertySet > xPropertySet( xDesktop, uno::UNO_QUERY_THROW );
diff --git a/connectivity/source/cpool/ZPoolCollection.cxx b/connectivity/source/cpool/ZPoolCollection.cxx
index b7d0abd075d5..3ab3f752719d 100644
--- a/connectivity/source/cpool/ZPoolCollection.cxx
+++ b/connectivity/source/cpool/ZPoolCollection.cxx
@@ -24,6 +24,7 @@
#include <com/sun/star/container/XHierarchicalNameAccess.hpp>
#include <com/sun/star/beans/NamedValue.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/reflection/ProxyFactory.hpp>
#include <com/sun/star/sdbc/DriverManager.hpp>
#include <comphelper/extract.hxx>
@@ -72,13 +73,13 @@ static const ::rtl::OUString& getEnableNodeName()
}
//--------------------------------------------------------------------
-OPoolCollection::OPoolCollection(const Reference< XMultiServiceFactory >& _rxFactory)
- :m_xServiceFactory(_rxFactory)
+OPoolCollection::OPoolCollection(const Reference< XComponentContext >& _rxContext)
+ :m_xContext(_rxContext)
{
// bootstrap all objects supporting the .sdb.Driver service
- m_xManager = DriverManager::create( comphelper::getComponentContext(m_xServiceFactory) );
+ m_xManager = DriverManager::create( m_xContext );
- m_xProxyFactory = ProxyFactory::create( comphelper::getComponentContext(m_xServiceFactory) );
+ m_xProxyFactory = ProxyFactory::create( m_xContext );
Reference<XPropertySet> xProp(getConfigPoolRoot(),UNO_QUERY);
if ( xProp.is() )
@@ -87,9 +88,8 @@ OPoolCollection::OPoolCollection(const Reference< XMultiServiceFactory >& _rxF
osl_atomic_increment( &m_refCount );
{
- m_xDesktop = Reference< ::com::sun::star::frame::XDesktop>( m_xServiceFactory->createInstance(::rtl::OUString("com.sun.star.frame.Desktop") ), UNO_QUERY);
- if ( m_xDesktop.is() )
- m_xDesktop->addTerminateListener(this);
+ m_xDesktop = ::com::sun::star::frame::Desktop::create( m_xContext );
+ m_xDesktop->addTerminateListener(this);
}
osl_atomic_decrement( &m_refCount );
@@ -164,7 +164,7 @@ Sequence< ::rtl::OUString > SAL_CALL OPoolCollection::getSupportedServiceNames(
//---------------------------------------OPoolCollection----------------------------------
Reference< XInterface > SAL_CALL OPoolCollection::CreateInstance(const Reference< XMultiServiceFactory >& _rxFactory)
{
- return static_cast<XDriverManager*>(new OPoolCollection(_rxFactory));
+ return static_cast<XDriverManager*>(new OPoolCollection(comphelper::getComponentContext(_rxFactory)));
}
//--------------------------------------------------------------------------
@@ -332,8 +332,7 @@ OConnectionPool* OPoolCollection::getConnectionPool(const ::rtl::OUString& _sImp
Reference< XInterface > OPoolCollection::createWithServiceFactory(const ::rtl::OUString& _rPath) const
{
return createWithProvider(
- com::sun::star::configuration::theDefaultProvider::get(
- comphelper::getComponentContext(m_xServiceFactory)),
+ com::sun::star::configuration::theDefaultProvider::get(m_xContext),
_rPath);
}
//------------------------------------------------------------------------
diff --git a/connectivity/source/cpool/ZPoolCollection.hxx b/connectivity/source/cpool/ZPoolCollection.hxx
index 6fb05bb31339..b601c53a21e2 100644
--- a/connectivity/source/cpool/ZPoolCollection.hxx
+++ b/connectivity/source/cpool/ZPoolCollection.hxx
@@ -29,7 +29,8 @@
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/lang/XEventListener.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
+#include <com/sun/star/frame/XDesktop2.hpp>
#include <com/sun/star/frame/XTerminateListener.hpp>
#include <com/sun/star/reflection/XProxyFactory.hpp>
#include <comphelper/stl_types.hxx>
@@ -65,11 +66,11 @@ namespace connectivity
MapDriver2DriverRef m_aDriverProxies;
::osl::Mutex m_aMutex;
OConnectionPools m_aPools; // the driver pools
- ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xServiceFactory;
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDriverManager2 > m_xManager;
::com::sun::star::uno::Reference< ::com::sun::star::reflection::XProxyFactory > m_xProxyFactory;
::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > m_xConfigNode; // config node for generel connection pooling
- ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDesktop> m_xDesktop;
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDesktop2> m_xDesktop;
private:
OPoolCollection(); // never implemented
@@ -77,7 +78,7 @@ namespace connectivity
int operator= (const OPoolCollection&); // never implemented
OPoolCollection(
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory);
+ const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& _rxContext);
// some configuration helper methods
::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > createWithServiceFactory(const ::rtl::OUString& _rPath) const;
diff --git a/connectivity/source/drivers/calc/CConnection.cxx b/connectivity/source/drivers/calc/CConnection.cxx
index 6576fc1a729b..3ba98f43182c 100644
--- a/connectivity/source/drivers/calc/CConnection.cxx
+++ b/connectivity/source/drivers/calc/CConnection.cxx
@@ -24,6 +24,7 @@
#include "resource/calc_res.hrc"
#include "resource/sharedresources.hxx"
#include <com/sun/star/lang/DisposedException.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/sheet/XSpreadsheetDocument.hpp>
#include <tools/urlobj.hxx>
@@ -32,6 +33,7 @@
#include <unotools/pathoptions.hxx>
#include <connectivity/dbexception.hxx>
#include <cppuhelper/exc_hlp.hxx>
+#include <comphelper/processfactory.hxx>
#include <rtl/logfile.hxx>
using namespace connectivity::calc;
@@ -126,13 +128,7 @@ Reference< XSpreadsheetDocument> OCalcConnection::acquireDoc()
aArgs[nPos].Value <<= m_sPassword;
}
- Reference< XComponentLoader > xDesktop( getDriver()->getFactory()->createInstance(
- ::rtl::OUString("com.sun.star.frame.Desktop")), UNO_QUERY );
- if (!xDesktop.is())
- {
- OSL_FAIL("no desktop");
- throw SQLException();
- }
+ Reference< XDesktop2 > xDesktop = Desktop::create( comphelper::getComponentContext(getDriver()->getFactory()) );
Reference< XComponent > xComponent;
Any aLoaderException;
try
diff --git a/connectivity/source/drivers/hsqldb/HDriver.cxx b/connectivity/source/drivers/hsqldb/HDriver.cxx
index a805bfcf7756..25087d2ebd24 100644
--- a/connectivity/source/drivers/hsqldb/HDriver.cxx
+++ b/connectivity/source/drivers/hsqldb/HDriver.cxx
@@ -33,7 +33,7 @@
#include <jvmfwk/framework.h>
#include <com/sun/star/reflection/XProxyFactory.hpp>
#include <com/sun/star/embed/XStorage.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/lang/Locale.hpp>
#include <com/sun/star/util/XFlushable.hpp>
#include "HTerminateListener.hxx"
@@ -372,13 +372,10 @@ namespace connectivity
static Reference< XTerminateListener> s_xTerminateListener;
if( !s_xTerminateListener.is() )
{
- Reference< XDesktop > xDesktop( m_xFactory->createInstance( ::rtl::OUString("com.sun.star.frame.Desktop") ), UNO_QUERY );
+ Reference< XDesktop2 > xDesktop = Desktop::create( comphelper::getComponentContext(m_xFactory) );
- if( xDesktop.is() )
- {
- s_xTerminateListener = new OConnectionController(this);
- xDesktop->addTerminateListener(s_xTerminateListener);
- }
+ s_xTerminateListener = new OConnectionController(this);
+ xDesktop->addTerminateListener(s_xTerminateListener);
}
Reference< XComponent> xIfc = new OHsqlConnection( this, xOrig, comphelper::getComponentContext(m_xFactory) );
xConnection.set(xIfc,UNO_QUERY);
diff --git a/connectivity/source/drivers/kab/KDriver.cxx b/connectivity/source/drivers/kab/KDriver.cxx
index 04ee1195631d..9f32fdb54329 100644
--- a/connectivity/source/drivers/kab/KDriver.cxx
+++ b/connectivity/source/drivers/kab/KDriver.cxx
@@ -45,8 +45,8 @@ using namespace connectivity::kab;
// = KabImplModule
// =======================================================================
// --------------------------------------------------------------------------------
-KabImplModule::KabImplModule( const Reference< XMultiServiceFactory >& _rxFactory )
- :m_xORB(_rxFactory)
+KabImplModule::KabImplModule( const Reference< XComponentContext >& _rxContext )
+ :m_xContext(_rxContext)
,m_bAttemptedLoadModule(false)
,m_bAttemptedInitialize(false)
,m_hConnectorModule(NULL)
@@ -55,7 +55,7 @@ KabImplModule::KabImplModule( const Reference< XMultiServiceFactory >& _rxFactor
,m_pApplicationShutdownFunc(NULL)
,m_pKDEVersionCheckFunc(NULL)
{
- if ( !m_xORB.is() )
+ if ( !m_xContext.is() )
throw NullPointerException();
}
@@ -181,8 +181,7 @@ bool KabImplModule::impl_doAllowNewKDEVersion()
try
{
Reference< XMultiServiceFactory > xConfigProvider(
- com::sun::star::configuration::theDefaultProvider::get(
- comphelper::getComponentContext( m_xORB ) ) );
+ com::sun::star::configuration::theDefaultProvider::get( m_xContext ) );
Sequence< Any > aCreationArgs(1);
aCreationArgs[0] <<= PropertyValue(
::rtl::OUString( "nodepath" ),
@@ -303,20 +302,18 @@ void KabImplModule::shutdown()
// = KabDriver
// =======================================================================
KabDriver::KabDriver(
- const Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory)
+ const Reference< ::com::sun::star::uno::XComponentContext >& _rxContext)
: KDriver_BASE(m_aMutex),
- m_xMSFactory(_rxFactory),
- m_aImplModule(_rxFactory)
+ m_xContext(_rxContext),
+ m_aImplModule(_rxContext)
{
- if ( !m_xMSFactory.is() )
+ if ( !m_xContext.is() )
throw NullPointerException();
osl_atomic_increment( &m_refCount );
try
{
- Reference< XDesktop > xDesktop(
- m_xMSFactory->createInstance( ::rtl::OUString( "com.sun.star.frame.Desktop" ) ),
- UNO_QUERY_THROW );
+ Reference< XDesktop2 > xDesktop = css::frame::Desktop::create( m_xContext);
xDesktop->addTerminateListener( this );
}
catch( const Exception& )
@@ -462,7 +459,7 @@ const sal_Char* KabDriver::impl_getAsciiImplementationName()
// --------------------------------------------------------------------------------
Reference< XInterface > SAL_CALL KabDriver::Create( const Reference< XMultiServiceFactory >& _rxFactory ) throw( Exception )
{
- return *(new KabDriver(_rxFactory));
+ return *(new KabDriver( comphelper::getComponentContext(_rxFactory)));
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/kab/KDriver.hxx b/connectivity/source/drivers/kab/KDriver.hxx
index 1243f7425185..678f5a835924 100644
--- a/connectivity/source/drivers/kab/KDriver.hxx
+++ b/connectivity/source/drivers/kab/KDriver.hxx
@@ -47,8 +47,8 @@ namespace connectivity
class KabImplModule
{
private:
- ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >
- m_xORB;
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >
+ m_xContext;
/// Did we already attempt to load the module and to retrieve the symbols?
bool m_bAttemptedLoadModule;
@@ -62,7 +62,7 @@ namespace connectivity
KDEVersionCheckFunction m_pKDEVersionCheckFunc;
public:
- KabImplModule( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory );
+ KabImplModule( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& _rxContext );
/** determines whether there is a KDE present in the environment
*/
@@ -151,8 +151,8 @@ namespace connectivity
::osl::Mutex m_aMutex; // mutex is need to control member access
OWeakRefArray m_xConnections; // vector containing a list of all the
// KabConnection objects for this Driver
- ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >
- m_xMSFactory; // the multi-service factory
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >
+ m_xContext; // the multi-service factory
KabImplModule m_aImplModule;
public:
@@ -163,7 +163,7 @@ namespace connectivity
static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static( ) throw (::com::sun::star::uno::RuntimeException);
::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >
- getComponentContext() const { return comphelper::getComponentContext(m_xMSFactory); }
+ getComponentContext() const { return m_xContext; }
/** returns the driver's implementation name (being pure ASCII) for reference in various places
*/
@@ -174,7 +174,7 @@ namespace connectivity
static ::rtl::OUString impl_getConfigurationSettingsPath();
protected:
- KabDriver(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory);
+ KabDriver(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& _rxContext);
// OComponentHelper
virtual void SAL_CALL disposing(void);
diff --git a/connectivity/source/drivers/macab/MacabDriver.cxx b/connectivity/source/drivers/macab/MacabDriver.cxx
index ea60ded3156c..a2adc78d11b2 100644
--- a/connectivity/source/drivers/macab/MacabDriver.cxx
+++ b/connectivity/source/drivers/macab/MacabDriver.cxx
@@ -27,6 +27,7 @@
#include <rtl/ustrbuf.hxx>
#include <tools/diagnose_ex.h>
#include "resource/macab_res.hrc"
+#include <comphelper/processfactory.hxx>
using namespace com::sun::star::uno;
using namespace com::sun::star::lang;
@@ -40,14 +41,11 @@ using namespace connectivity::macab;
// = MacabImplModule
// =======================================================================
// --------------------------------------------------------------------------------
-MacabImplModule::MacabImplModule( const Reference< XMultiServiceFactory >& _rxFactory )
- :m_xORB(_rxFactory)
- ,m_bAttemptedLoadModule(false)
+MacabImplModule::MacabImplModule( const Reference< XMultiServiceFactory >& _rxContext )
+ :m_bAttemptedLoadModule(false)
,m_hConnectorModule(NULL)
,m_pConnectionFactoryFunc(NULL)
{
- if ( !m_xORB.is() )
- throw NullPointerException();
}
// --------------------------------------------------------------------------------
@@ -172,20 +170,18 @@ void MacabImplModule::shutdown()
// = MacabDriver
// =======================================================================
MacabDriver::MacabDriver(
- const Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory)
+ const Reference< ::com::sun::star::uno::XComponentContext >& _rxContext)
: MacabDriver_BASE(m_aMutex),
- m_xMSFactory(_rxFactory),
+ m_xContext(_rxContext),
m_aImplModule(_rxFactory)
{
- if ( !m_xMSFactory.is() )
+ if ( !m_xContext.is() )
throw NullPointerException();
osl_atomic_increment( &m_refCount );
try
{
- Reference< XDesktop > xDesktop(
- m_xMSFactory->createInstance( ::rtl::OUString( "com.sun.star.frame.Desktop" ) ),
- UNO_QUERY_THROW );
+ Reference< XDesktop2 > xDesktop = frame::Desktop::create( m_xContext );
xDesktop->addTerminateListener( this );
}
catch( const Exception& )
@@ -331,7 +327,7 @@ const sal_Char* MacabDriver::impl_getAsciiImplementationName()
// --------------------------------------------------------------------------------
Reference< XInterface > SAL_CALL MacabDriver::Create( const Reference< XMultiServiceFactory >& _rxFactory ) throw( Exception )
{
- return *(new MacabDriver(_rxFactory));
+ return *(new MacabDriver(comphelper::getComponentContext(_rxFactory)));
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabDriver.hxx b/connectivity/source/drivers/macab/MacabDriver.hxx
index cbfe0c035bdc..d1d6fe24515b 100644
--- a/connectivity/source/drivers/macab/MacabDriver.hxx
+++ b/connectivity/source/drivers/macab/MacabDriver.hxx
@@ -23,7 +23,6 @@
#include <com/sun/star/sdbc/XDriver.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/frame/XTerminateListener.hpp>
-#include <comphelper/processfactory.hxx>
#include <cppuhelper/compbase3.hxx>
#include <osl/module.h>
@@ -49,16 +48,13 @@ namespace connectivity
class MacabImplModule
{
private:
- ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >
- m_xORB;
-
/// Did we already attempt to load the module and to retrieve the symbols?
bool m_bAttemptedLoadModule;
oslModule m_hConnectorModule;
ConnectionFactoryFunction m_pConnectionFactoryFunc;
public:
- MacabImplModule( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory );
+ MacabImplModule();
/** determines whether there is a mac OS present in the environment
*/
@@ -124,8 +120,8 @@ namespace connectivity
::osl::Mutex m_aMutex; // mutex is need to control member access
OWeakRefArray m_xConnections; // vector containing a list of all the
// MacabConnection objects for this Driver
- ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >
- m_xMSFactory; // the multi-service factory
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >
+ m_xContext; // the multi-service factory
MacabImplModule m_aImplModule;
public:
@@ -136,7 +132,7 @@ namespace connectivity
static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static( ) throw (::com::sun::star::uno::RuntimeException);
::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >
- getComponentContext() const { return comphelper::getComponentContext(m_xMSFactory); }
+ getComponentContext() const { return m_xContext; }
/** returns the driver's implementation name (being pure ASCII) for reference in various places
*/
@@ -147,7 +143,7 @@ namespace connectivity
static ::rtl::OUString impl_getConfigurationSettingsPath();
protected:
- MacabDriver(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory);
+ MacabDriver(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& _rxContext);
// OComponentHelper
virtual void SAL_CALL disposing(void);
diff --git a/connectivity/source/drivers/mozab/mozillasrc/MNSTerminateListener.cxx b/connectivity/source/drivers/mozab/mozillasrc/MNSTerminateListener.cxx
index 389aa6dcd546..be8d8e637ae2 100644
--- a/connectivity/source/drivers/mozab/mozillasrc/MNSTerminateListener.cxx
+++ b/connectivity/source/drivers/mozab/mozillasrc/MNSTerminateListener.cxx
@@ -19,7 +19,7 @@
#include "MNSTerminateListener.hxx"
#include <comphelper/processfactory.hxx>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include "bootstrap/MNSInit.hxx"
@@ -63,15 +63,8 @@ void SAL_CALL MNSTerminateListener::notifyTermination( const EventObject& /*aEve
void MNSTerminateListener::addTerminateListener()
{
- Reference< XMultiServiceFactory > xFact( ::comphelper::getProcessServiceFactory() );
-
- if( xFact.is() )
- {
- Reference< XDesktop > xDesktop( xFact->createInstance( ::rtl::OUString("com.sun.star.frame.Desktop") ), UNO_QUERY );
-
- if( xDesktop.is() )
- xDesktop->addTerminateListener(mxTerminateListener);
- }
+ Reference< XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
+ xDesktop->addTerminateListener(mxTerminateListener);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/source/customize/acccfg.cxx b/cui/source/customize/acccfg.cxx
index e261ad09a8d6..d9125aff8927 100644
--- a/cui/source/customize/acccfg.cxx
+++ b/cui/source/customize/acccfg.cxx
@@ -32,6 +32,7 @@
#include <svl/stritem.hxx>
#include "svtools/treelistentry.hxx"
#include <com/sun/star/embed/StorageFactory.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/ui/GlobalAcceleratorConfiguration.hpp>
#include <sal/macros.h>
@@ -77,7 +78,6 @@ using namespace com::sun::star;
//-----------------------------------------------
static ::rtl::OUString SERVICE_UICONFIGMGR (RTL_CONSTASCII_USTRINGPARAM("com.sun.star.ui.UIConfigurationManager" ));
-static ::rtl::OUString SERVICE_DESKTOP (RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop" ));
static ::rtl::OUString MODULEPROP_SHORTNAME (RTL_CONSTASCII_USTRINGPARAM("ooSetupFactoryShortName" ));
static ::rtl::OUString MODULEPROP_UINAME (RTL_CONSTASCII_USTRINGPARAM("ooSetupFactoryUIName" ));
@@ -839,7 +839,7 @@ void SfxAcceleratorConfigPage::InitAccCfg()
m_xFrame = GetFrame();
if ( !m_xFrame.is() )
{
- css::uno::Reference< css::frame::XFramesSupplier > xDesktop(m_xSMGR->createInstance(SERVICE_DESKTOP), css::uno::UNO_QUERY_THROW);
+ css::uno::Reference< css::frame::XDesktop2 > xDesktop = css::frame::Desktop::create( comphelper::getComponentContext(m_xSMGR) );
m_xFrame = xDesktop->getActiveFrame();
}
diff --git a/cui/source/customize/cfg.cxx b/cui/source/customize/cfg.cxx
index aadccd82cb94..3b4e49f6f572 100644
--- a/cui/source/customize/cfg.cxx
+++ b/cui/source/customize/cfg.cxx
@@ -67,7 +67,7 @@
#include <com/sun/star/ui/ModuleUIConfigurationManagerSupplier.hpp>
#include <com/sun/star/frame/ModuleManager.hpp>
#include <com/sun/star/frame/XController.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/UICommandDescription.hpp>
#include <com/sun/star/ui/XUIConfiguration.hpp>
#include <com/sun/star/ui/XUIConfigurationListener.hpp>
@@ -760,15 +760,13 @@ SfxTabPage *CreateSvxEventConfigPage( Window *pParent, const SfxItemSet& rSet )
sal_Bool impl_showKeyConfigTabPage( const css::uno::Reference< css::frame::XFrame >& xFrame )
{
- static ::rtl::OUString SERVICENAME_DESKTOP ("com.sun.star.frame.Desktop" );
static ::rtl::OUString MODULEID_STARTMODULE ("com.sun.star.frame.StartModule" );
try
{
- css::uno::Reference< css::lang::XMultiServiceFactory > xSMGR = ::comphelper::getProcessServiceFactory();
- css::uno::Reference< css::uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext();
- css::uno::Reference< css::frame::XFramesSupplier > xDesktop(xSMGR->createInstance(SERVICENAME_DESKTOP), css::uno::UNO_QUERY_THROW);
- css::uno::Reference< css::frame::XModuleManager2 > xMM (css::frame::ModuleManager::create(xContext));
+ css::uno::Reference< css::uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext();
+ css::uno::Reference< css::frame::XDesktop2 > xDesktop = css::frame::Desktop::create( xContext );
+ css::uno::Reference< css::frame::XModuleManager2 > xMM = css::frame::ModuleManager::create(xContext);
if (xFrame.is())
{
@@ -1650,8 +1648,6 @@ void SvxConfigPage::Reset( const SfxItemSet& )
uno::Reference < css::ui::XUIConfigurationManager > xCfgMgr;
uno::Reference < css::ui::XUIConfigurationManager > xDocCfgMgr;
- uno::Reference< lang::XMultiServiceFactory > xServiceManager(
- ::comphelper::getProcessServiceFactory(), uno::UNO_QUERY_THROW );
uno::Reference< uno::XComponentContext > xContext(
::comphelper::getProcessComponentContext(), uno::UNO_QUERY_THROW );
@@ -1780,10 +1776,8 @@ void SvxConfigPage::Reset( const SfxItemSet& )
uno::Sequence< uno::Reference< frame::XFrame > > aFrameList;
try
{
- uno::Reference< frame::XFramesSupplier > xFramesSupplier(
- xServiceManager->createInstance(
- OUString( "com.sun.star.frame.Desktop" ) ),
- uno::UNO_QUERY_THROW );
+ uno::Reference< frame::XDesktop2 > xFramesSupplier = frame::Desktop::create(
+ xContext );
uno::Reference< frame::XFrames > xFrames =
xFramesSupplier->getFrames();
@@ -1876,20 +1870,17 @@ void SvxConfigPage::Reset( const SfxItemSet& )
::rtl::OUString sModuleID;
try
{
- uno::Reference< lang::XMultiServiceFactory > xServiceManager(
- ::comphelper::getProcessServiceFactory(), uno::UNO_QUERY_THROW );
+ uno::Reference< uno::XComponentContext > xContext(
+ ::comphelper::getProcessComponentContext() );
- uno::Reference< frame::XFramesSupplier > xFramesSupplier(
- xServiceManager->createInstance(
- OUString( "com.sun.star.frame.Desktop" ) ),
- uno::UNO_QUERY_THROW );
+ uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(
+ xContext );
if ( !_inout_rxFrame.is() )
- _inout_rxFrame = xFramesSupplier->getActiveFrame();
+ _inout_rxFrame = xDesktop->getActiveFrame();
if ( !_inout_rxFrame.is() )
{
- uno::Reference< frame::XDesktop > xDesktop( xFramesSupplier, uno::UNO_QUERY_THROW );
_inout_rxFrame = xDesktop->getCurrentFrame();
}
@@ -1903,7 +1894,7 @@ void SvxConfigPage::Reset( const SfxItemSet& )
}
uno::Reference< css::frame::XModuleManager2 > xModuleManager(
- css::frame::ModuleManager::create( comphelper::getComponentContext(xServiceManager) ) );
+ css::frame::ModuleManager::create( xContext ) );
try
{
diff --git a/cui/source/customize/cfgutil.cxx b/cui/source/customize/cfgutil.cxx
index 4043252a4967..3b0344c1a3f0 100644
--- a/cui/source/customize/cfgutil.cxx
+++ b/cui/source/customize/cfgutil.cxx
@@ -30,7 +30,7 @@
#include <com/sun/star/script/browse/XBrowseNodeFactory.hpp>
#include <com/sun/star/script/browse/BrowseNodeFactoryViewTypes.hpp>
#include <com/sun/star/frame/ModuleManager.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/container/XEnumerationAccess.hpp>
#include <com/sun/star/container/XEnumeration.hpp>
#include <com/sun/star/document/XScriptInvocationContext.hpp>
@@ -802,12 +802,7 @@ Reference< XInterface >
SfxConfigGroupListBox_Impl::getDocumentModel( Reference< XComponentContext >& xCtx, ::rtl::OUString& docName )
{
Reference< XInterface > xModel;
- Reference< lang::XMultiComponentFactory > mcf =
- xCtx->getServiceManager();
- Reference< frame::XDesktop > desktop (
- mcf->createInstanceWithContext(
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop") ), xCtx ),
- UNO_QUERY );
+ Reference< frame::XDesktop2 > desktop = frame::Desktop::create( xCtx );
Reference< container::XEnumerationAccess > componentsAccess =
desktop->getComponents();
diff --git a/cui/source/customize/eventdlg.cxx b/cui/source/customize/eventdlg.cxx
index 8020deb3ecd6..fa994c25cad6 100644
--- a/cui/source/customize/eventdlg.cxx
+++ b/cui/source/customize/eventdlg.cxx
@@ -20,6 +20,7 @@
#include <svtools/svmedit.hxx>
#include <tools/diagnose_ex.h>
#include <com/sun/star/document/XEventsSupplier.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/GlobalEventBroadcaster.hpp>
#include <com/sun/star/frame/XModuleManager.hpp>
@@ -179,10 +180,8 @@ IMPL_LINK( SvxEventConfigPage, SelectHdl_Impl, ListBox *, pBox )
{
bool isReadonly = sal_False;
- uno::Reference< frame::XFramesSupplier > xFramesSupplier(
- ::comphelper::getProcessServiceFactory()->createInstance(
- OUString(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" )) ),
- uno::UNO_QUERY );
+ uno::Reference< frame::XDesktop2 > xFramesSupplier = frame::Desktop::create(
+ ::comphelper::getProcessComponentContext() );
uno::Reference< frame::XFrame > xFrame =
xFramesSupplier->getActiveFrame();
diff --git a/cui/source/customize/selector.cxx b/cui/source/customize/selector.cxx
index dfa8af78f897..658c81a822f4 100644
--- a/cui/source/customize/selector.cxx
+++ b/cui/source/customize/selector.cxx
@@ -44,7 +44,7 @@
#include <com/sun/star/script/browse/XBrowseNodeFactory.hpp>
#include <com/sun/star/script/browse/BrowseNodeFactoryViewTypes.hpp>
#include <com/sun/star/frame/ModuleManager.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/container/XEnumerationAccess.hpp>
#include <com/sun/star/container/XEnumeration.hpp>
#include <com/sun/star/document/XEmbeddedScripts.hpp>
@@ -591,12 +591,7 @@ SvxConfigGroupListBox::getDocumentModel(
Reference< XComponentContext >& xCtx, OUString& docName )
{
Reference< XInterface > xModel;
- Reference< lang::XMultiComponentFactory > mcf =
- xCtx->getServiceManager();
- Reference< frame::XDesktop > desktop (
- mcf->createInstanceWithContext(
- OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop")), xCtx ),
- UNO_QUERY );
+ Reference< frame::XDesktop2 > desktop = Desktop::create(xCtx);
Reference< container::XEnumerationAccess > componentsAccess =
desktop->getComponents();
diff --git a/cui/source/dialogs/hlmarkwn.cxx b/cui/source/dialogs/hlmarkwn.cxx
index 3ce1ba13ce7c..6430658f0b09 100644
--- a/cui/source/dialogs/hlmarkwn.cxx
+++ b/cui/source/dialogs/hlmarkwn.cxx
@@ -26,7 +26,7 @@
// UNO-Stuff
#include <comphelper/processfactory.hxx>
#include <com/sun/star/awt/XBitmap.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/document/XLinkTargetSupplier.hpp>
@@ -244,66 +244,58 @@ sal_Bool SvxHlinkDlgMarkWnd::RefreshFromDoc( OUString aURL )
{
mnError = LERR_NOERROR;
- uno::Reference< lang::XMultiServiceFactory > xFactory( ::comphelper::getProcessServiceFactory() );
- if( xFactory.is() )
+ uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create( ::comphelper::getProcessComponentContext() );
+ uno::Reference< lang::XComponent > xComp;
+
+ if( !aURL.isEmpty() )
{
- uno::Reference< frame::XDesktop > xDesktop( xFactory->createInstance( OUString(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" )) ),
- uno::UNO_QUERY );
- if( xDesktop.is() )
+ // load from url
+ uno::Reference< frame::XComponentLoader > xLoader( xDesktop, uno::UNO_QUERY );
+ if( xLoader.is() )
{
- uno::Reference< lang::XComponent > xComp;
-
- if( !aURL.isEmpty() )
- {
- // load from url
- uno::Reference< frame::XComponentLoader > xLoader( xDesktop, uno::UNO_QUERY );
- if( xLoader.is() )
- {
- try
- {
- uno::Sequence< beans::PropertyValue > aArg(1);
- aArg.getArray()[0].Name = OUString(RTL_CONSTASCII_USTRINGPARAM( "Hidden" ));
- aArg.getArray()[0].Value <<= (sal_Bool) sal_True;
- xComp = xLoader->loadComponentFromURL( aURL, OUString(RTL_CONSTASCII_USTRINGPARAM( "_blank" )), 0, aArg );
- }
- catch( const io::IOException& )
- {
-
- }
- catch( const lang::IllegalArgumentException& )
- {
-
- }
- }
- }
- else
+ try
{
- // the component with user focus ( current document )
- xComp = xDesktop->getCurrentComponent();
+ uno::Sequence< beans::PropertyValue > aArg(1);
+ aArg.getArray()[0].Name = OUString(RTL_CONSTASCII_USTRINGPARAM( "Hidden" ));
+ aArg.getArray()[0].Value <<= (sal_Bool) sal_True;
+ xComp = xLoader->loadComponentFromURL( aURL, OUString(RTL_CONSTASCII_USTRINGPARAM( "_blank" )), 0, aArg );
}
-
- if( xComp.is() )
+ catch( const io::IOException& )
{
- uno::Reference< document::XLinkTargetSupplier > xLTS( xComp, uno::UNO_QUERY );
- if( xLTS.is() )
- {
- if( FillTree( xLTS->getLinks() ) == 0 )
- mnError = LERR_NOENTRIES;
- }
- else
- mnError = LERR_DOCNOTOPEN;
-
- if ( !aURL.isEmpty() )
- xComp->dispose();
}
- else
+ catch( const lang::IllegalArgumentException& )
{
- if( !aURL.isEmpty() )
- mnError=LERR_DOCNOTOPEN;
+
}
}
}
+ else
+ {
+ // the component with user focus ( current document )
+ xComp = xDesktop->getCurrentComponent();
+ }
+
+ if( xComp.is() )
+ {
+ uno::Reference< document::XLinkTargetSupplier > xLTS( xComp, uno::UNO_QUERY );
+
+ if( xLTS.is() )
+ {
+ if( FillTree( xLTS->getLinks() ) == 0 )
+ mnError = LERR_NOENTRIES;
+ }
+ else
+ mnError = LERR_DOCNOTOPEN;
+
+ if ( !aURL.isEmpty() )
+ xComp->dispose();
+ }
+ else
+ {
+ if( !aURL.isEmpty() )
+ mnError=LERR_DOCNOTOPEN;
+ }
return (mnError==0);
}
/*************************************************************************
diff --git a/cui/source/dialogs/scriptdlg.cxx b/cui/source/dialogs/scriptdlg.cxx
index c3ee4883e789..f4b1e9480cf1 100644
--- a/cui/source/dialogs/scriptdlg.cxx
+++ b/cui/source/dialogs/scriptdlg.cxx
@@ -40,6 +40,7 @@
#include <com/sun/star/script/provider/ScriptErrorRaisedException.hpp>
#include <com/sun/star/script/provider/ScriptExceptionRaisedException.hpp>
#include <com/sun/star/script/provider/ScriptFrameworkErrorType.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/ModuleManager.hpp>
#include <com/sun/star/script/XInvocation.hpp>
#include <com/sun/star/document/XEmbeddedScripts.hpp>
@@ -252,12 +253,7 @@ Reference< XInterface >
SFTreeListBox::getDocumentModel( Reference< XComponentContext >& xCtx, ::rtl::OUString& docName )
{
Reference< XInterface > xModel;
- Reference< lang::XMultiComponentFactory > mcf =
- xCtx->getServiceManager();
- Reference< frame::XDesktop > desktop (
- mcf->createInstanceWithContext(
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop") ), xCtx ),
- UNO_QUERY );
+ Reference< frame::XDesktop2 > desktop = frame::Desktop::create(xCtx);
Reference< container::XEnumerationAccess > componentsAccess =
desktop->getComponents();
diff --git a/cui/source/inc/treeopt.hxx b/cui/source/inc/treeopt.hxx
index ee6fa4069664..36a02501d356 100644
--- a/cui/source/inc/treeopt.hxx
+++ b/cui/source/inc/treeopt.hxx
@@ -129,7 +129,6 @@ struct LastPageSaver
// class OfaTreeOptionsDialog --------------------------------------------
namespace com { namespace sun { namespace star { namespace frame { class XFrame; } } } }
-namespace com { namespace sun { namespace star { namespace lang { class XMultiServiceFactory; } } } }
namespace com { namespace sun { namespace star { namespace awt { class XContainerWindowProvider; } } } }
struct OptionsPageInfo;
@@ -179,8 +178,6 @@ private:
void LoadExtensionOptions( const rtl::OUString& rExtensionId );
rtl::OUString GetModuleIdentifier( const com::sun::star::uno::Reference<
- com::sun::star::lang::XMultiServiceFactory >& xMFac,
- const com::sun::star::uno::Reference<
com::sun::star::frame::XFrame >& xFrame );
Module* LoadModule( const rtl::OUString& rModuleIdentifier );
VectorOfNodes LoadNodes( Module* pModule, const rtl::OUString& rExtensionId );
diff --git a/cui/source/options/optupdt.cxx b/cui/source/options/optupdt.cxx
index c1539fccf9d2..10db1d46f87a 100644
--- a/cui/source/options/optupdt.cxx
+++ b/cui/source/options/optupdt.cxx
@@ -30,7 +30,7 @@
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/ui/dialogs/FolderPicker.hpp>
#include <com/sun/star/ui/dialogs/ExecutableDialogResults.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XDispatchProvider.hpp>
#include <com/sun/star/util/XChangesBatch.hpp>
#include <com/sun/star/util/URLTransformer.hpp>
@@ -324,13 +324,12 @@ IMPL_LINK_NOARG(SvxOnlineUpdateTabPage, FileDialogHdl_Impl)
IMPL_LINK_NOARG(SvxOnlineUpdateTabPage, CheckNowHdl_Impl)
{
- uno::Reference < lang::XMultiServiceFactory > xFactory( ::comphelper::getProcessServiceFactory() );
+ uno::Reference < uno::XComponentContext> xContext( ::comphelper::getProcessComponentContext() );
try
{
uno::Reference< lang::XMultiServiceFactory > xConfigProvider(
- com::sun::star::configuration::theDefaultProvider::get(
- comphelper::getProcessComponentContext() ) );
+ com::sun::star::configuration::theDefaultProvider::get( xContext ) );
beans::NamedValue aProperty;
aProperty.Name = "nodepath";
@@ -347,14 +346,11 @@ IMPL_LINK_NOARG(SvxOnlineUpdateTabPage, CheckNowHdl_Impl)
util::URL aURL;
xNameAccess->getByName("URL") >>= aURL.Complete;
- uno::Reference < util::XURLTransformer > xTransformer(
- util::URLTransformer::create( comphelper::getProcessComponentContext() ) );
+ uno::Reference < util::XURLTransformer > xTransformer( util::URLTransformer::create( xContext ) );
xTransformer->parseStrict(aURL);
- uno::Reference < frame::XDesktop > xDesktop(
- xFactory->createInstance( "com.sun.star.frame.Desktop" ),
- uno::UNO_QUERY_THROW );
+ uno::Reference < frame::XDesktop2 > xDesktop = frame::Desktop::create( xContext );
uno::Reference< frame::XDispatchProvider > xDispatchProvider(
xDesktop->getCurrentFrame(), uno::UNO_QUERY );
diff --git a/cui/source/options/treeopt.cxx b/cui/source/options/treeopt.cxx
index df853efc0c43..30cffee230f2 100644
--- a/cui/source/options/treeopt.cxx
+++ b/cui/source/options/treeopt.cxx
@@ -55,7 +55,7 @@
#include <com/sun/star/awt/XContainerWindowProvider.hpp>
#include <com/sun/star/awt/XControl.hpp>
#include <com/sun/star/awt/PosSize.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/ModuleManager.hpp>
#include <com/sun/star/loader/CannotActivateFactoryException.hpp>
#include <com/sun/star/util/XMacroExpander.hpp>
@@ -1490,13 +1490,11 @@ rtl::OUString getCurrentFactory_Impl( const Reference< XFrame >& _xFrame )
{
rtl::OUString sIdentifier;
Reference < XFrame > xCurrentFrame( _xFrame );
- Reference < XModuleManager2 > xModuleManager( ModuleManager::create(::comphelper::getProcessComponentContext()) );
+ Reference < XModuleManager2 > xModuleManager = ModuleManager::create(::comphelper::getProcessComponentContext());
if ( !xCurrentFrame.is() )
{
- Reference< XDesktop > xDesktop( ::comphelper::getProcessServiceFactory()->createInstance(
- DEFINE_CONST_UNICODE("com.sun.star.frame.Desktop") ), UNO_QUERY );
- if ( xDesktop.is() )
- xCurrentFrame = xDesktop->getCurrentFrame();
+ Reference< XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
+ xCurrentFrame = xDesktop->getCurrentFrame();
}
if ( xCurrentFrame.is() )
@@ -1599,7 +1597,7 @@ void OfaTreeOptionsDialog::Initialize( const Reference< XFrame >& _xFrame )
rtl::OUString aFactory = getCurrentFactory_Impl( _xFrame );
- rtl::OUString sTemp = GetModuleIdentifier( comphelper::getProcessServiceFactory(), _xFrame );
+ rtl::OUString sTemp = GetModuleIdentifier( _xFrame );
DBG_ASSERT( sTemp == aFactory, "S H I T!!!" );
// Writer and Writer/Web options
@@ -1927,8 +1925,7 @@ void OfaTreeOptionsDialog::LoadExtensionOptions( const rtl::OUString& rExtension
// when called by Tools - Options then load nodes of active module
if ( rExtensionId.isEmpty() )
{
- Reference< XMultiServiceFactory > xMSFac = comphelper::getProcessServiceFactory();
- pModule = LoadModule( GetModuleIdentifier( xMSFac, Reference< XFrame >() ) );
+ pModule = LoadModule( GetModuleIdentifier( Reference< XFrame >() ) );
}
VectorOfNodes aNodeList = LoadNodes( pModule, rExtensionId );
@@ -1937,19 +1934,17 @@ void OfaTreeOptionsDialog::LoadExtensionOptions( const rtl::OUString& rExtension
delete pModule;
}
-rtl::OUString OfaTreeOptionsDialog::GetModuleIdentifier(
- const Reference< XMultiServiceFactory >& xMFac, const Reference< XFrame >& rFrame )
+rtl::OUString OfaTreeOptionsDialog::GetModuleIdentifier( const Reference< XFrame >& rFrame )
{
rtl::OUString sModule;
Reference < XFrame > xCurrentFrame( rFrame );
- Reference < XModuleManager2 > xModuleManager( ModuleManager::create(comphelper::getComponentContext(xMFac)) );
+ Reference< XComponentContext > xContext = comphelper::getProcessComponentContext();
+ Reference < XModuleManager2 > xModuleManager = ModuleManager::create(xContext);
if ( !xCurrentFrame.is() )
{
- Reference < XDesktop > xDesktop( xMFac->createInstance(
- "com.sun.star.frame.Desktop" ), UNO_QUERY );
- if ( xDesktop.is() )
- xCurrentFrame = xDesktop->getCurrentFrame();
+ Reference < XDesktop2 > xDesktop = Desktop::create( xContext );
+ xCurrentFrame = xDesktop->getCurrentFrame();
}
if ( xCurrentFrame.is() )
diff --git a/dbaccess/inc/dataview.hxx b/dbaccess/inc/dataview.hxx
index 11e7fc0291be..70fcf034af6f 100644
--- a/dbaccess/inc/dataview.hxx
+++ b/dbaccess/inc/dataview.hxx
@@ -21,7 +21,7 @@
#include "dbaccessdllapi.h"
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
#include <svtools/acceleratorexecute.hxx>
#include <sal/macros.h>
#include <vcl/fixed.hxx>
@@ -34,7 +34,7 @@ namespace dbaui
class IController;
class DBACCESS_DLLPUBLIC ODataView : public Window
{
- ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xServiceFactory; // the service factory to work with
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext; // the service factory to work with
protected:
IController& m_rController; // the controller in where we resides in
@@ -44,7 +44,7 @@ namespace dbaui
public:
ODataView( Window* pParent,
IController& _rController,
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& ,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& ,
WinBits nStyle = 0 );
virtual ~ODataView();
@@ -63,7 +63,7 @@ namespace dbaui
*/
virtual void resizeControls(const Size& /*_rDiff*/) { Resize(); }
- ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > getORB() { return m_xServiceFactory;}
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > getORB() { return m_xContext;}
// the default implementation simply calls resizeAll( GetSizePixel() )
virtual void Resize();
diff --git a/dbaccess/qa/extras/macros-test.cxx b/dbaccess/qa/extras/macros-test.cxx
index 4be3e655c455..b3f30b9f432c 100644
--- a/dbaccess/qa/extras/macros-test.cxx
+++ b/dbaccess/qa/extras/macros-test.cxx
@@ -33,6 +33,7 @@
#include <unotest/macros_test.hxx>
#include <rtl/strbuf.hxx>
#include <osl/file.hxx>
+#include <com/sun/star/frame/Desktop.hpp>
#include <sfx2/app.hxx>
#include <sfx2/docfilt.hxx>
@@ -99,9 +100,7 @@ void DBAccessTest::setUp()
// This is a bit of a fudge, we do this to ensure that ScGlobals::ensure,
// which is a private symbol to us, gets called
- mxDesktop = Reference<com::sun::star::frame::XDesktop>( getMultiServiceFactory()->createInstance(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ))), UNO_QUERY );
- CPPUNIT_ASSERT(mxDesktop.is());
+ mxDesktop = com::sun::star::frame::Desktop::create( comphelper::getComponentContext(getMultiServiceFactory()) );
}
void DBAccessTest::tearDown()
diff --git a/dbaccess/source/core/dataaccess/databasecontext.cxx b/dbaccess/source/core/dataaccess/databasecontext.cxx
index c4c625fde1d4..b5372d42f0d0 100644
--- a/dbaccess/source/core/dataaccess/databasecontext.cxx
+++ b/dbaccess/source/core/dataaccess/databasecontext.cxx
@@ -34,7 +34,7 @@
#include <com/sun/star/document/MacroExecMode.hpp>
#include <com/sun/star/document/XFilter.hpp>
#include <com/sun/star/document/XImporter.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XModel.hpp>
#include <com/sun/star/frame/XModel2.hpp>
#include <com/sun/star/frame/XTerminateListener.hpp>
@@ -97,11 +97,11 @@ namespace dbaccess
class DatabaseDocumentLoader : public DatabaseDocumentLoader_Base
{
private:
- Reference< XDesktop > m_xDesktop;
+ Reference< XDesktop2 > m_xDesktop;
::std::list< const ODatabaseModelImpl* > m_aDatabaseDocuments;
public:
- DatabaseDocumentLoader( const comphelper::ComponentContext& _aContext);
+ DatabaseDocumentLoader( const Reference<XComponentContext> & rxContext);
inline void append(const ODatabaseModelImpl& _rModelImpl )
{
@@ -117,12 +117,12 @@ namespace dbaccess
virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw (::com::sun::star::uno::RuntimeException);
};
- DatabaseDocumentLoader::DatabaseDocumentLoader( const comphelper::ComponentContext& _aContext )
+ DatabaseDocumentLoader::DatabaseDocumentLoader( const Reference<XComponentContext> & rxContext )
{
acquire();
try
{
- m_xDesktop.set( _aContext.createComponent( (rtl::OUString)SERVICE_FRAME_DESKTOP ), UNO_QUERY_THROW );
+ m_xDesktop.set( Desktop::create(rxContext) );
m_xDesktop->addTerminateListener( this );
}
catch( const Exception& )
@@ -173,7 +173,7 @@ ODatabaseContext::ODatabaseContext( const Reference< XComponentContext >& _rxCon
,m_aContext( _rxContext )
,m_aContainerListeners(m_aMutex)
{
- m_pDatabaseDocumentLoader = new DatabaseDocumentLoader( m_aContext );
+ m_pDatabaseDocumentLoader = new DatabaseDocumentLoader( _rxContext );
#ifndef DISABLE_SCRIPTING
::basic::BasicManagerRepository::registerCreationListener( *this );
diff --git a/dbaccess/source/core/dataaccess/databasedocument.cxx b/dbaccess/source/core/dataaccess/databasedocument.cxx
index ece5bc465e82..e3c799d49acc 100644
--- a/dbaccess/source/core/dataaccess/databasedocument.cxx
+++ b/dbaccess/source/core/dataaccess/databasedocument.cxx
@@ -38,6 +38,7 @@
#include <com/sun/star/embed/XEmbedPersist.hpp>
#include <com/sun/star/embed/XTransactedObject.hpp>
#include <com/sun/star/embed/XTransactionBroadcaster.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/ModuleManager.hpp>
#include <com/sun/star/io/XActiveDataSource.hpp>
#include <com/sun/star/io/XSeekable.hpp>
@@ -2061,10 +2062,8 @@ Reference< XTitle > ODatabaseDocument::impl_getTitleHelper_throw()
{
if ( ! m_xTitleHelper.is ())
{
- Reference< XUntitledNumbers > xDesktop(
- m_pImpl->m_aContext.createComponent( "com.sun.star.frame.Desktop" ),
- UNO_QUERY_THROW );
- uno::Reference< frame::XModel > xThis (getThis(), uno::UNO_QUERY_THROW);
+ Reference< XUntitledNumbers > xDesktop(Desktop::create(m_pImpl->m_aContext.getUNOContext()), uno::UNO_QUERY_THROW);
+ Reference< frame::XModel > xThis (getThis(), uno::UNO_QUERY_THROW);
::framework::TitleHelper* pHelper = new ::framework::TitleHelper(m_pImpl->m_aContext.getUNOContext());
m_xTitleHelper.set(static_cast< ::cppu::OWeakObject* >(pHelper), uno::UNO_QUERY_THROW);
diff --git a/dbaccess/source/core/dataaccess/documentdefinition.cxx b/dbaccess/source/core/dataaccess/documentdefinition.cxx
index d3e660e3ea3e..d0fd4dc0d9fd 100644
--- a/dbaccess/source/core/dataaccess/documentdefinition.cxx
+++ b/dbaccess/source/core/dataaccess/documentdefinition.cxx
@@ -34,6 +34,7 @@
#include <com/sun/star/awt/Size.hpp>
#include <com/sun/star/lang/DisposedException.hpp>
#include <com/sun/star/beans/PropertyAttribute.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XModel.hpp>
#include <com/sun/star/frame/XTitle.hpp>
#include <com/sun/star/frame/XController.hpp>
@@ -603,9 +604,9 @@ namespace
}
}
-void ODocumentDefinition::impl_removeFrameFromDesktop_throw( const ::comphelper::ComponentContext& _rContxt, const Reference< XFrame >& _rxFrame )
+void ODocumentDefinition::impl_removeFrameFromDesktop_throw( const Reference<XComponentContext> & _rxContext, const Reference< XFrame >& _rxFrame )
{
- Reference< XFramesSupplier > xDesktop( _rContxt.createComponent( (::rtl::OUString)SERVICE_FRAME_DESKTOP ), UNO_QUERY_THROW );
+ Reference< XDesktop2 > xDesktop = Desktop::create( _rxContext );
Reference< XFrames > xFrames( xDesktop->getFrames(), UNO_QUERY_THROW );
xFrames->remove( _rxFrame );
}
@@ -630,7 +631,7 @@ void ODocumentDefinition::impl_onActivateEmbeddedObject_nothrow( const bool i_bR
xTopWindow->toFront();
// remove the frame from the desktop's frame collection because we need full control of it.
- impl_removeFrameFromDesktop_throw( m_aContext, xFrame );
+ impl_removeFrameFromDesktop_throw( m_aContext.getUNOContext(), xFrame );
// ensure that we ourself are kept alive as long as the embedded object's frame is
// opened
@@ -1560,16 +1561,13 @@ Sequence< PropertyValue > ODocumentDefinition::fillLoadArgs( const Reference< XC
xParentFrame = lcl_getDatabaseDocumentFrame( *m_pImpl->m_pDataSource );
if ( !xParentFrame.is() )
{ // i87957 we need a parent frame
- Reference< XComponentLoader > xDesktop( m_aContext.createComponent( (::rtl::OUString)SERVICE_FRAME_DESKTOP ), UNO_QUERY_THROW );
- xParentFrame.set( xDesktop, UNO_QUERY );
- if ( xParentFrame.is() )
+ Reference< XDesktop2 > xDesktop = Desktop::create( m_aContext.getUNOContext() );
+ xParentFrame.set( xDesktop, UNO_QUERY_THROW );
+ Reference<util::XCloseable> xCloseable(m_pImpl->m_pDataSource->getModel_noCreate(),UNO_QUERY);
+ if ( xCloseable.is() )
{
- Reference<util::XCloseable> xCloseable(m_pImpl->m_pDataSource->getModel_noCreate(),UNO_QUERY);
- if ( xCloseable.is() )
- {
- xCloseable->addCloseListener(this);
- m_bRemoveListener = sal_True;
- }
+ xCloseable->addCloseListener(this);
+ m_bRemoveListener = sal_True;
}
}
OSL_ENSURE( xParentFrame.is(), "ODocumentDefinition::fillLoadArgs: no parent frame!" );
diff --git a/dbaccess/source/core/dataaccess/documentdefinition.hxx b/dbaccess/source/core/dataaccess/documentdefinition.hxx
index 7b426031ea72..553a61f28cee 100644
--- a/dbaccess/source/core/dataaccess/documentdefinition.hxx
+++ b/dbaccess/source/core/dataaccess/documentdefinition.hxx
@@ -214,7 +214,7 @@ private:
@raises ::com::sun::star::uno::RuntimeException
*/
static void impl_removeFrameFromDesktop_throw(
- const ::comphelper::ComponentContext& _rContxt,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& _rContxt,
const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _rxFrame
);
diff --git a/dbaccess/source/filter/xml/dbloader2.cxx b/dbaccess/source/filter/xml/dbloader2.cxx
index e75835cc66bb..a7c48330db81 100644
--- a/dbaccess/source/filter/xml/dbloader2.cxx
+++ b/dbaccess/source/filter/xml/dbloader2.cxx
@@ -28,6 +28,7 @@
#include <com/sun/star/document/XFilter.hpp>
#include <com/sun/star/embed/ElementModes.hpp>
#include <com/sun/star/embed/XStorage.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XController.hpp>
#include <com/sun/star/frame/XFrame.hpp>
#include <com/sun/star/frame/XFrameLoader.hpp>
@@ -343,24 +344,21 @@ namespace
}
// ...................................................................
- Reference< XWindow > lcl_getTopMostWindow( const ::comphelper::ComponentContext& _rContext )
+ Reference< XWindow > lcl_getTopMostWindow( const Reference<XComponentContext> & _rxContext )
{
Reference< XWindow > xWindow;
// get the top most window
- Reference < XFramesSupplier > xDesktop;
- if ( _rContext.createComponent( "com.sun.star.frame.Desktop", xDesktop ) )
+ Reference < XDesktop2 > xDesktop = Desktop::create(_rxContext);
+ Reference < XFrame > xActiveFrame = xDesktop->getActiveFrame();
+ if ( xActiveFrame.is() )
{
- Reference < XFrame > xActiveFrame = xDesktop->getActiveFrame();
- if ( xActiveFrame.is() )
- {
- xWindow = xActiveFrame->getContainerWindow();
- Reference<XFrame> xFrame = xActiveFrame;
- while ( xFrame.is() && !xFrame->isTop() )
- xFrame.set(xFrame->getCreator(),UNO_QUERY);
+ xWindow = xActiveFrame->getContainerWindow();
+ Reference<XFrame> xFrame = xActiveFrame;
+ while ( xFrame.is() && !xFrame->isTop() )
+ xFrame.set(xFrame->getCreator(),UNO_QUERY);
- if ( xFrame.is() )
- xWindow = xFrame->getContainerWindow();
- }
+ if ( xFrame.is() )
+ xWindow = xFrame->getContainerWindow();
}
return xWindow;
}
@@ -373,7 +371,7 @@ sal_Bool DBContentLoader::impl_executeNewDatabaseWizard( Reference< XModel >& _r
aWizardArgs[0] <<= PropertyValue(
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParentWindow")),
0,
- makeAny( lcl_getTopMostWindow( m_aContext ) ),
+ makeAny( lcl_getTopMostWindow( m_aContext.getUNOContext() ) ),
PropertyState_DIRECT_VALUE);
aWizardArgs[1] <<= PropertyValue(
diff --git a/dbaccess/source/filter/xml/xmlfilter.cxx b/dbaccess/source/filter/xml/xmlfilter.cxx
index 990e5ae4edaf..8ad67807c5d5 100644
--- a/dbaccess/source/filter/xml/xmlfilter.cxx
+++ b/dbaccess/source/filter/xml/xmlfilter.cxx
@@ -46,6 +46,7 @@
#include <xmloff/xmluconv.hxx>
#include "xmlHelper.hxx"
#include <com/sun/star/util/XModifiable.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/frame/FrameSearchFlag.hpp>
#include <com/sun/star/lang/WrappedTargetRuntimeException.hpp>
@@ -124,13 +125,11 @@ namespace dbaxml
s_bFirstTime = false;
try
{
- uno::Reference<frame::XComponentLoader> xFrameLoad( m_xFactory->createInstance(
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop")))
- ,uno::UNO_QUERY);
+ uno::Reference<frame::XDesktop2> xDesktop = frame::Desktop::create( comphelper::getComponentContext(m_xFactory) );
const ::rtl::OUString sTarget(RTL_CONSTASCII_USTRINGPARAM("_blank"));
sal_Int32 nFrameSearchFlag = frame::FrameSearchFlag::TASKS | frame::FrameSearchFlag::CREATE;
- uno::Reference< frame::XFrame> xFrame = uno::Reference< frame::XFrame>(xFrameLoad,uno::UNO_QUERY_THROW)->findFrame(sTarget,nFrameSearchFlag);
- xFrameLoad.set( xFrame,uno::UNO_QUERY);
+ uno::Reference< frame::XFrame> xFrame = xDesktop->findFrame(sTarget,nFrameSearchFlag);
+ uno::Reference<frame::XComponentLoader> xFrameLoad(xFrame,uno::UNO_QUERY);
if ( xFrameLoad.is() )
{
diff --git a/dbaccess/source/inc/stringconstants.inc b/dbaccess/source/inc/stringconstants.inc
index 390d92dd7541..50be6eceb979 100644
--- a/dbaccess/source/inc/stringconstants.inc
+++ b/dbaccess/source/inc/stringconstants.inc
@@ -208,7 +208,6 @@ IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_TABLES, "com.sun.star.sdbcx.Tables");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_QUERIES, "com.sun.star.sdb.Queries");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_INDEXCOLUMN, "com.sun.star.sdbcx.IndexColumn");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_KEYCOLUMN, "com.sun.star.sdbcx.KeyColumn");
-IMPLEMENT_CONSTASCII_USTRING(SERVICE_FRAME_DESKTOP, "com.sun.star.frame.Desktop");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_I18N_COLLATOR, "com.sun.star.i18n.Collator");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_TABLEDEFINITION, "com.sun.star.sdb.TableDefinition");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_COMMAND_DEFINITION, "com.sun.star.sdb.CommandDefinition");
diff --git a/dbaccess/source/ui/app/AppController.cxx b/dbaccess/source/ui/app/AppController.cxx
index e3e51372d225..43366805df60 100644
--- a/dbaccess/source/ui/app/AppController.cxx
+++ b/dbaccess/source/ui/app/AppController.cxx
@@ -444,7 +444,7 @@ void SAL_CALL OApplicationController::disposing()
//--------------------------------------------------------------------
sal_Bool OApplicationController::Construct(Window* _pParent)
{
- setView( * new OApplicationView( _pParent, getORB(), *this, m_ePreviewMode ) );
+ setView( * new OApplicationView( _pParent, comphelper::getComponentContext(getORB()), *this, m_ePreviewMode ) );
getView()->SetUniqueId(UID_APP_VIEW);
// late construction
diff --git a/dbaccess/source/ui/app/AppDetailPageHelper.cxx b/dbaccess/source/ui/app/AppDetailPageHelper.cxx
index e4e41dd96417..a053679f1436 100644
--- a/dbaccess/source/ui/app/AppDetailPageHelper.cxx
+++ b/dbaccess/source/ui/app/AppDetailPageHelper.cxx
@@ -604,7 +604,7 @@ void OAppDetailPageHelper::createTablesPage(const Reference< XConnection>& _xCon
if ( !m_pLists[E_TABLE] )
{
OTableTreeListBox* pTreeView = new OTableTreeListBox(this
- ,getBorderWin().getView()->getORB()
+ ,uno::Reference<lang::XMultiServiceFactory>(getBorderWin().getView()->getORB()->getServiceManager(), uno::UNO_QUERY_THROW)
,WB_HASLINES | WB_SORT | WB_HASBUTTONS | WB_HSCROLL |WB_HASBUTTONSATROOT | WB_TABSTOP
,sal_False);
pTreeView->SetHelpId(HID_APP_TABLE_TREE);
@@ -776,7 +776,9 @@ void OAppDetailPageHelper::fillNames( const Reference< XNameAccess >& _xContaine
// -----------------------------------------------------------------------------
DBTreeListBox* OAppDetailPageHelper::createSimpleTree( const rtl::OString& _sHelpId, const Image& _rImage)
{
- DBTreeListBox* pTreeView = new DBTreeListBox(this,getBorderWin().getView()->getORB(),WB_HASLINES | WB_SORT | WB_HASBUTTONS | WB_HSCROLL |WB_HASBUTTONSATROOT | WB_TABSTOP);
+ DBTreeListBox* pTreeView = new DBTreeListBox(this,
+ uno::Reference<lang::XMultiServiceFactory>(getBorderWin().getView()->getORB()->getServiceManager(), uno::UNO_QUERY_THROW),
+ WB_HASLINES | WB_SORT | WB_HASBUTTONS | WB_HSCROLL |WB_HASBUTTONSATROOT | WB_TABSTOP);
pTreeView->SetHelpId( _sHelpId );
return createTree( pTreeView, _rImage );
}
@@ -1142,7 +1144,7 @@ void OAppDetailPageHelper::showPreview( const ::rtl::OUString& _sDataSourceName,
{
try
{
- m_xFrame = Reference < XFrame > ( getBorderWin().getView()->getORB()->createInstance( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Frame")) ), UNO_QUERY );
+ m_xFrame = Reference < XFrame > ( getBorderWin().getView()->getORB()->getServiceManager()->createInstanceWithContext( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Frame")), getBorderWin().getView()->getORB() ), UNO_QUERY );
m_xFrame->initialize( m_xWindow );
// no layout manager (and thus no toolbars) in the preview
@@ -1166,7 +1168,8 @@ void OAppDetailPageHelper::showPreview( const ::rtl::OUString& _sDataSourceName,
Reference< XDatabaseDocumentUI > xApplication( getBorderWin().getView()->getAppController().getXController(), UNO_QUERY );
SAL_WNODEPRECATED_DECLARATIONS_PUSH
::std::auto_ptr< DatabaseObjectView > pDispatcher( new ResultSetBrowser(
- getBorderWin().getView()->getORB(), xApplication, NULL, _bTable
+ uno::Reference<lang::XMultiServiceFactory>(getBorderWin().getView()->getORB()->getServiceManager(), uno::UNO_QUERY_THROW),
+ xApplication, NULL, _bTable
) );
SAL_WNODEPRECATED_DECLARATIONS_POP
pDispatcher->setTargetFrame( m_xFrame );
diff --git a/dbaccess/source/ui/app/AppDetailView.cxx b/dbaccess/source/ui/app/AppDetailView.cxx
index cb26fabd6b27..d33d0e75066e 100644
--- a/dbaccess/source/ui/app/AppDetailView.cxx
+++ b/dbaccess/source/ui/app/AppDetailView.cxx
@@ -477,8 +477,8 @@ void OTasksWindow::fillTaskEntryList( const TaskEntryList& _rList )
try
{
- Reference< XModuleUIConfigurationManagerSupplier > xModuleCfgMgrSupplier(
- ModuleUIConfigurationManagerSupplier::create(comphelper::getComponentContext(getDetailView()->getBorderWin().getView()->getORB())) );
+ Reference< XModuleUIConfigurationManagerSupplier > xModuleCfgMgrSupplier =
+ ModuleUIConfigurationManagerSupplier::create( getDetailView()->getBorderWin().getView()->getORB() );
Reference< XUIConfigurationManager > xUIConfigMgr = xModuleCfgMgrSupplier->getUIConfigurationManager(
::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.sdb.OfficeDatabaseDocument" ) )
);
diff --git a/dbaccess/source/ui/app/AppView.cxx b/dbaccess/source/ui/app/AppView.cxx
index a57b03dd30d9..1402466c31c4 100644
--- a/dbaccess/source/ui/app/AppView.cxx
+++ b/dbaccess/source/ui/app/AppView.cxx
@@ -200,7 +200,7 @@ OApplicationDetailView* OAppBorderWindow::getDetailView() const
DBG_NAME(OApplicationView);
//------------------------------------------------------------------------------
OApplicationView::OApplicationView( Window* pParent
- ,const Reference< XMultiServiceFactory >& _rxOrb
+ ,const Reference< XComponentContext >& _rxOrb
,IApplicationController& _rAppController
,PreviewMode _ePreviewMode
) :
diff --git a/dbaccess/source/ui/app/AppView.hxx b/dbaccess/source/ui/app/AppView.hxx
index ab2c3ff50452..9c9cddf0e239 100644
--- a/dbaccess/source/ui/app/AppView.hxx
+++ b/dbaccess/source/ui/app/AppView.hxx
@@ -101,7 +101,7 @@ namespace dbaui
virtual void DataChanged( const DataChangedEvent& rDCEvt );
public:
OApplicationView( Window* pParent
- ,const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >&
+ ,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >&
,IApplicationController& _rAppController
,PreviewMode _ePreviewMode
);
diff --git a/dbaccess/source/ui/browser/brwctrlr.cxx b/dbaccess/source/ui/browser/brwctrlr.cxx
index fc7237eb1f24..13b59603bf2a 100644
--- a/dbaccess/source/ui/browser/brwctrlr.cxx
+++ b/dbaccess/source/ui/browser/brwctrlr.cxx
@@ -849,7 +849,7 @@ sal_Bool SbaXDataBrowserController::Construct(Window* pParent)
// ---------------
// create the view
- setView( * new UnoDataBrowserView( pParent, *this, getORB() ) );
+ setView( * new UnoDataBrowserView( pParent, *this, comphelper::getComponentContext(getORB()) ) );
if (!getBrowserView())
return sal_False;
diff --git a/dbaccess/source/ui/browser/brwview.cxx b/dbaccess/source/ui/browser/brwview.cxx
index 168a494dc29e..c29ea1d53246 100644
--- a/dbaccess/source/ui/browser/brwview.cxx
+++ b/dbaccess/source/ui/browser/brwview.cxx
@@ -72,8 +72,8 @@ DBG_NAME(UnoDataBrowserView)
// -------------------------------------------------------------------------
UnoDataBrowserView::UnoDataBrowserView( Window* pParent,
IController& _rController,
- const Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rFactory)
- :ODataView(pParent,_rController,_rFactory)
+ const Reference< ::com::sun::star::uno::XComponentContext >& _rxContext)
+ :ODataView(pParent,_rController,_rxContext)
,m_pTreeView(NULL)
,m_pSplitter(NULL)
,m_pVclControl(NULL)
@@ -93,7 +93,7 @@ void UnoDataBrowserView::Construct(const Reference< ::com::sun::star::awt::XCont
m_xMe = VCLUnoHelper::CreateControlContainer(this);
// create the (UNO-) control
- m_xGrid = new SbaXGridControl(getORB());
+ m_xGrid = new SbaXGridControl(Reference<XMultiServiceFactory>(getORB()->getServiceManager(), UNO_QUERY_THROW) );
OSL_ENSURE(m_xGrid.is(), "UnoDataBrowserView::Construct : could not create a grid control !");
// in design mode (for the moment)
m_xGrid->setDesignMode(sal_True);
diff --git a/dbaccess/source/ui/browser/dataview.cxx b/dbaccess/source/ui/browser/dataview.cxx
index 923b9d1e3fbc..b9c5f81e5e61 100644
--- a/dbaccess/source/ui/browser/dataview.cxx
+++ b/dbaccess/source/ui/browser/dataview.cxx
@@ -67,10 +67,10 @@ namespace dbaui
// -------------------------------------------------------------------------
ODataView::ODataView( Window* pParent,
IController& _rController,
- const Reference< XMultiServiceFactory >& _rFactory,
+ const Reference< XComponentContext >& _rxContext,
WinBits nStyle)
:Window(pParent,nStyle)
- ,m_xServiceFactory(_rFactory)
+ ,m_xContext(_rxContext)
,m_rController( _rController )
,m_aSeparator( this )
{
@@ -205,7 +205,7 @@ namespace dbaui
// -----------------------------------------------------------------------------
void ODataView::attachFrame(const Reference< XFrame >& _xFrame)
{
- m_pAccel->init(m_xServiceFactory,_xFrame);
+ m_pAccel->init(m_xContext, _xFrame);
}
//.........................................................................
}
diff --git a/dbaccess/source/ui/browser/unodatbr.cxx b/dbaccess/source/ui/browser/unodatbr.cxx
index a3f7a48a23fa..8d123a6878b8 100644
--- a/dbaccess/source/ui/browser/unodatbr.cxx
+++ b/dbaccess/source/ui/browser/unodatbr.cxx
@@ -56,6 +56,7 @@
#include <com/sun/star/form/XGridColumnFactory.hpp>
#include <com/sun/star/form/XLoadable.hpp>
#include <com/sun/star/form/XReset.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/FrameSearchFlag.hpp>
#include <com/sun/star/frame/XLayoutManager.hpp>
#include <com/sun/star/lang/DisposedException.hpp>
@@ -3515,41 +3516,38 @@ void SbaTableQueryBrowser::implAdministrate( SvTreeListEntry* _pApplyTo )
{
// get the desktop object
sal_Int32 nFrameSearchFlag = FrameSearchFlag::ALL | FrameSearchFlag::GLOBAL ;
- Reference< XComponentLoader > xFrameLoader(getORB()->createInstance(SERVICE_FRAME_DESKTOP),UNO_QUERY);
+ Reference< XDesktop2 > xFrameLoader = Desktop::create( comphelper::getComponentContext(getORB()) );
- if ( xFrameLoader.is() )
+ // the initial selection
+ SvTreeListEntry* pTopLevelSelected = _pApplyTo;
+ while (pTopLevelSelected && m_pTreeView->getListBox().GetParent(pTopLevelSelected))
+ pTopLevelSelected = m_pTreeView->getListBox().GetParent(pTopLevelSelected);
+ ::rtl::OUString sInitialSelection;
+ if (pTopLevelSelected)
+ sInitialSelection = getDataSourceAcessor( pTopLevelSelected );
+
+ Reference< XDataSource > xDataSource( getDataSourceByName( sInitialSelection, getView(), comphelper::getComponentContext(getORB()), NULL ) );
+ Reference< XModel > xDocumentModel( getDataSourceOrModel( xDataSource ), UNO_QUERY );
+
+ if ( xDocumentModel.is() )
{
- // the initial selection
- SvTreeListEntry* pTopLevelSelected = _pApplyTo;
- while (pTopLevelSelected && m_pTreeView->getListBox().GetParent(pTopLevelSelected))
- pTopLevelSelected = m_pTreeView->getListBox().GetParent(pTopLevelSelected);
- ::rtl::OUString sInitialSelection;
- if (pTopLevelSelected)
- sInitialSelection = getDataSourceAcessor( pTopLevelSelected );
+ Reference< XInteractionHandler2 > xInteractionHandler(
+ InteractionHandler::createWithParent(comphelper::getComponentContext(getORB()), 0) );
- Reference< XDataSource > xDataSource( getDataSourceByName( sInitialSelection, getView(), comphelper::getComponentContext(getORB()), NULL ) );
- Reference< XModel > xDocumentModel( getDataSourceOrModel( xDataSource ), UNO_QUERY );
+ ::comphelper::NamedValueCollection aLoadArgs;
+ aLoadArgs.put( "Model", xDocumentModel );
+ aLoadArgs.put( "InteractionHandler", xInteractionHandler );
+ aLoadArgs.put( "MacroExecutionMode", MacroExecMode::USE_CONFIG );
- if ( xDocumentModel.is() )
- {
- Reference< XInteractionHandler2 > xInteractionHandler(
- InteractionHandler::createWithParent(comphelper::getComponentContext(getORB()), 0) );
-
- ::comphelper::NamedValueCollection aLoadArgs;
- aLoadArgs.put( "Model", xDocumentModel );
- aLoadArgs.put( "InteractionHandler", xInteractionHandler );
- aLoadArgs.put( "MacroExecutionMode", MacroExecMode::USE_CONFIG );
-
- Sequence< PropertyValue > aLoadArgPV;
- aLoadArgs >>= aLoadArgPV;
-
- xFrameLoader->loadComponentFromURL(
- xDocumentModel->getURL(),
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("_default")),
- nFrameSearchFlag,
- aLoadArgPV
- );
- }
+ Sequence< PropertyValue > aLoadArgPV;
+ aLoadArgs >>= aLoadArgPV;
+
+ xFrameLoader->loadComponentFromURL(
+ xDocumentModel->getURL(),
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("_default")),
+ nFrameSearchFlag,
+ aLoadArgPV
+ );
}
}
catch( const Exception& )
diff --git a/dbaccess/source/ui/dlg/dbwizsetup.cxx b/dbaccess/source/ui/dlg/dbwizsetup.cxx
index 55690f915e2f..2ea3cd0896fb 100644
--- a/dbaccess/source/ui/dlg/dbwizsetup.cxx
+++ b/dbaccess/source/ui/dlg/dbwizsetup.cxx
@@ -55,6 +55,7 @@
#include <com/sun/star/container/XNameAccess.hpp>
#include <com/sun/star/sdb/DatabaseContext.hpp>
#include <com/sun/star/sdb/XDocumentDataSource.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/FrameSearchFlag.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/frame/XModel.hpp>
@@ -65,7 +66,6 @@
#include <com/sun/star/ucb/InteractiveIOException.hpp>
#include <com/sun/star/io/IOException.hpp>
#include <com/sun/star/frame/XTerminateListener.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
#include <com/sun/star/sdbc/XDriverAccess.hpp>
#include <com/sun/star/document/MacroExecMode.hpp>
#include <com/sun/star/ucb/IOErrorCode.hpp>
@@ -963,7 +963,7 @@ sal_Bool ODbTypeWizDialogSetup::SaveDatabaseDocument()
{
private:
Reference< XComponentLoader > m_xFrameLoader;
- Reference< XDesktop > m_xDesktop;
+ Reference< XDesktop2 > m_xDesktop;
Reference< XInteractionHandler2 > m_xInteractionHandler;
::rtl::OUString m_sURL;
OAsyncronousLink m_aAsyncCaller;
@@ -990,7 +990,7 @@ sal_Bool ODbTypeWizDialogSetup::SaveDatabaseDocument()
{
try
{
- m_xDesktop.set( _rxORB->createInstance( SERVICE_FRAME_DESKTOP ), UNO_QUERY_THROW );
+ m_xDesktop.set( Desktop::create(comphelper::getComponentContext(_rxORB)) );
m_xFrameLoader.set( m_xDesktop, UNO_QUERY_THROW );
m_xInteractionHandler =
InteractionHandler::createWithParent(comphelper::getComponentContext(_rxORB), 0);
diff --git a/dbaccess/source/ui/inc/JoinDesignView.hxx b/dbaccess/source/ui/inc/JoinDesignView.hxx
index e0e9321abd65..d21f722748d2 100644
--- a/dbaccess/source/ui/inc/JoinDesignView.hxx
+++ b/dbaccess/source/ui/inc/JoinDesignView.hxx
@@ -45,7 +45,7 @@ namespace dbaui
public:
OJoinDesignView(Window* pParent,
OJoinController& _rController,
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& );
+ const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& );
virtual ~OJoinDesignView();
// set the view readonly or not
diff --git a/dbaccess/source/ui/inc/QueryDesignView.hxx b/dbaccess/source/ui/inc/QueryDesignView.hxx
index 07a55ce1e537..ff95e71a6a2b 100644
--- a/dbaccess/source/ui/inc/QueryDesignView.hxx
+++ b/dbaccess/source/ui/inc/QueryDesignView.hxx
@@ -75,7 +75,7 @@ namespace dbaui
sal_Bool m_bInSplitHandler;
public:
- OQueryDesignView(OQueryContainerWindow* pParent, OQueryController& _rController,const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& );
+ OQueryDesignView(OQueryContainerWindow* pParent, OQueryController& _rController,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& );
virtual ~OQueryDesignView();
virtual sal_Bool isCutAllowed();
diff --git a/dbaccess/source/ui/inc/QueryViewSwitch.hxx b/dbaccess/source/ui/inc/QueryViewSwitch.hxx
index 9fab832cd6fa..c8fc0809389b 100644
--- a/dbaccess/source/ui/inc/QueryViewSwitch.hxx
+++ b/dbaccess/source/ui/inc/QueryViewSwitch.hxx
@@ -38,7 +38,7 @@ namespace dbaui
OQueryTextView* m_pTextView;
sal_Bool m_bAddTableDialogWasVisible; // true if so
public:
- OQueryViewSwitch(OQueryContainerWindow* pParent, OQueryController& _rController,const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& );
+ OQueryViewSwitch(OQueryContainerWindow* pParent, OQueryController& _rController,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& );
virtual ~OQueryViewSwitch();
virtual sal_Bool isCutAllowed();
@@ -82,7 +82,7 @@ namespace dbaui
OQueryContainerWindow* getContainer() const;
void SetPosSizePixel( Point _rPt,Size _rSize);
- ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > getORB() const;
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > getORB() const;
protected:
// return the Rectangle where I can paint myself
virtual void resizeDocumentView(Rectangle& rRect);
diff --git a/dbaccess/source/ui/inc/RelationDesignView.hxx b/dbaccess/source/ui/inc/RelationDesignView.hxx
index 850effc813b9..0d106bf584bf 100644
--- a/dbaccess/source/ui/inc/RelationDesignView.hxx
+++ b/dbaccess/source/ui/inc/RelationDesignView.hxx
@@ -34,7 +34,7 @@ namespace dbaui
class ORelationDesignView : public OJoinDesignView
{
public:
- ORelationDesignView(Window* pParent, ORelationController& _rController,const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& );
+ ORelationDesignView(Window* pParent, ORelationController& _rController,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& );
virtual ~ORelationDesignView();
// set the statement for representation
diff --git a/dbaccess/source/ui/inc/TableDesignView.hxx b/dbaccess/source/ui/inc/TableDesignView.hxx
index 06a5f6f3b8ec..79c6e42ea600 100644
--- a/dbaccess/source/ui/inc/TableDesignView.hxx
+++ b/dbaccess/source/ui/inc/TableDesignView.hxx
@@ -77,7 +77,7 @@ namespace dbaui
public:
OTableDesignView( Window* pParent,
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >&,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >&,
OTableController& _rController);
virtual ~OTableDesignView();
diff --git a/dbaccess/source/ui/inc/brwview.hxx b/dbaccess/source/ui/inc/brwview.hxx
index f5c39e7c16e7..049227cef2b5 100644
--- a/dbaccess/source/ui/inc/brwview.hxx
+++ b/dbaccess/source/ui/inc/brwview.hxx
@@ -62,7 +62,7 @@ namespace dbaui
public:
UnoDataBrowserView( Window* pParent,
IController& _rController,
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& );
+ const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& );
virtual ~UnoDataBrowserView();
/// late construction
diff --git a/dbaccess/source/ui/inc/querycontainerwindow.hxx b/dbaccess/source/ui/inc/querycontainerwindow.hxx
index ff6d5fffb650..7301f094364e 100644
--- a/dbaccess/source/ui/inc/querycontainerwindow.hxx
+++ b/dbaccess/source/ui/inc/querycontainerwindow.hxx
@@ -54,7 +54,7 @@ namespace dbaui
DECL_LINK( SplitHdl, void* );
public:
- OQueryContainerWindow(Window* pParent, OQueryController& _rController,const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >&);
+ OQueryContainerWindow(Window* pParent, OQueryController& _rController,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >&);
~OQueryContainerWindow();
virtual void Construct();
diff --git a/dbaccess/source/ui/inc/queryview.hxx b/dbaccess/source/ui/inc/queryview.hxx
index 5e9302174f15..62a27a937c3e 100644
--- a/dbaccess/source/ui/inc/queryview.hxx
+++ b/dbaccess/source/ui/inc/queryview.hxx
@@ -27,7 +27,7 @@ namespace dbaui
class OQueryView : public OJoinDesignView
{
public:
- OQueryView(Window* pParent, OQueryController& _rController,const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& );
+ OQueryView(Window* pParent, OQueryController& _rController,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& );
virtual ~OQueryView();
virtual sal_Bool isCutAllowed() = 0;
diff --git a/dbaccess/source/ui/querydesign/JoinDesignView.cxx b/dbaccess/source/ui/querydesign/JoinDesignView.cxx
index ad7cf9eace71..b5d0c440cd30 100644
--- a/dbaccess/source/ui/querydesign/JoinDesignView.cxx
+++ b/dbaccess/source/ui/querydesign/JoinDesignView.cxx
@@ -53,8 +53,8 @@ namespace dbaui
// = OJoinDesignView
// =============================================================================
// -----------------------------------------------------------------------------
-OJoinDesignView::OJoinDesignView(Window* _pParent, OJoinController& _rController,const Reference< XMultiServiceFactory >& _rFactory)
- :ODataView( _pParent, _rController, _rFactory )
+OJoinDesignView::OJoinDesignView(Window* _pParent, OJoinController& _rController,const Reference< XComponentContext >& _rxContext)
+ :ODataView( _pParent, _rController, _rxContext )
,m_pTableView(NULL)
,m_rController( _rController )
{
diff --git a/dbaccess/source/ui/querydesign/QueryDesignView.cxx b/dbaccess/source/ui/querydesign/QueryDesignView.cxx
index 816991ad8a8d..20a6ebd003de 100644
--- a/dbaccess/source/ui/querydesign/QueryDesignView.cxx
+++ b/dbaccess/source/ui/querydesign/QueryDesignView.cxx
@@ -2520,8 +2520,8 @@ DBG_NAME(OQueryDesignView)
OQueryDesignView::OQueryDesignView( OQueryContainerWindow* _pParent,
OQueryController& _rController,
- const Reference< XMultiServiceFactory >& _rFactory)
- :OQueryView( _pParent, _rController, _rFactory )
+ const Reference< XComponentContext >& _rxContext)
+ :OQueryView( _pParent, _rController, _rxContext )
,m_aSplitter( this )
,m_eChildFocus(NONE)
,m_bInSplitHandler( sal_False )
diff --git a/dbaccess/source/ui/querydesign/QueryViewSwitch.cxx b/dbaccess/source/ui/querydesign/QueryViewSwitch.cxx
index 4a584efdf845..b6a9dbe00ee8 100644
--- a/dbaccess/source/ui/querydesign/QueryViewSwitch.cxx
+++ b/dbaccess/source/ui/querydesign/QueryViewSwitch.cxx
@@ -32,13 +32,13 @@ using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::lang;
DBG_NAME(OQueryViewSwitch)
-OQueryViewSwitch::OQueryViewSwitch(OQueryContainerWindow* _pParent, OQueryController& _rController,const Reference< XMultiServiceFactory >& _rFactory)
+OQueryViewSwitch::OQueryViewSwitch(OQueryContainerWindow* _pParent, OQueryController& _rController,const Reference< XComponentContext >& _rxContext)
: m_bAddTableDialogWasVisible(sal_False)
{
DBG_CTOR(OQueryViewSwitch,NULL);
m_pTextView = new OQueryTextView(_pParent);
- m_pDesignView = new OQueryDesignView( _pParent, _rController, _rFactory );
+ m_pDesignView = new OQueryDesignView( _pParent, _rController, _rxContext );
}
// -----------------------------------------------------------------------------
OQueryViewSwitch::~OQueryViewSwitch()
@@ -309,7 +309,7 @@ void OQueryViewSwitch::SetPosSizePixel( Point _rPt,Size _rSize)
m_pTextView->SetPosSizePixel( _rPt,_rSize);
}
// -----------------------------------------------------------------------------
-Reference< XMultiServiceFactory > OQueryViewSwitch::getORB() const
+Reference< XComponentContext > OQueryViewSwitch::getORB() const
{
return m_pDesignView->getORB();
}
diff --git a/dbaccess/source/ui/querydesign/querycontainerwindow.cxx b/dbaccess/source/ui/querydesign/querycontainerwindow.cxx
index 06d84f3989bc..dc342f56ae04 100644
--- a/dbaccess/source/ui/querydesign/querycontainerwindow.cxx
+++ b/dbaccess/source/ui/querydesign/querycontainerwindow.cxx
@@ -45,13 +45,13 @@ namespace dbaui
//= OQueryContainerWindow
//=====================================================================
DBG_NAME(OQueryContainerWindow)
- OQueryContainerWindow::OQueryContainerWindow(Window* pParent, OQueryController& _rController,const Reference< XMultiServiceFactory >& _rFactory)
- :ODataView( pParent, _rController, _rFactory )
+ OQueryContainerWindow::OQueryContainerWindow(Window* pParent, OQueryController& _rController,const Reference< XComponentContext >& _rxContext)
+ :ODataView( pParent, _rController, _rxContext )
,m_pViewSwitch(NULL)
,m_pBeamer(NULL)
{
DBG_CTOR(OQueryContainerWindow,NULL);
- m_pViewSwitch = new OQueryViewSwitch( this, _rController, _rFactory );
+ m_pViewSwitch = new OQueryViewSwitch( this, _rController, _rxContext );
m_pSplitter = new Splitter(this,WB_VSCROLL);
m_pSplitter->Hide();
@@ -195,7 +195,7 @@ namespace dbaui
::dbaui::notifySystemWindow(this,m_pBeamer,::comphelper::mem_fun(&TaskPaneList::AddWindow));
- Reference < XFrame > xBeamerFrame( m_pViewSwitch->getORB()->createInstance(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Frame"))),UNO_QUERY );
+ Reference < XFrame > xBeamerFrame( m_pViewSwitch->getORB()->getServiceManager()->createInstanceWithContext(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Frame")), m_pViewSwitch->getORB()),UNO_QUERY );
m_xBeamer.set( xBeamerFrame );
OSL_ENSURE(m_xBeamer.is(),"No frame created!");
m_xBeamer->initialize( VCLUnoHelper::GetInterface ( m_pBeamer ) );
diff --git a/dbaccess/source/ui/querydesign/querycontroller.cxx b/dbaccess/source/ui/querydesign/querycontroller.cxx
index d0ea41b81516..22109df206bd 100644
--- a/dbaccess/source/ui/querydesign/querycontroller.cxx
+++ b/dbaccess/source/ui/querydesign/querycontroller.cxx
@@ -1107,7 +1107,7 @@ sal_Bool OQueryController::Construct(Window* pParent)
{
// TODO: we have to check if we should create the text- or the design- view
- setView( * new OQueryContainerWindow( pParent, *this, getORB() ) );
+ setView( * new OQueryContainerWindow( pParent, *this, comphelper::getComponentContext(getORB()) ) );
return OJoinController::Construct(pParent);
}
diff --git a/dbaccess/source/ui/querydesign/queryview.cxx b/dbaccess/source/ui/querydesign/queryview.cxx
index 124540498195..e49c7b000c9f 100644
--- a/dbaccess/source/ui/querydesign/queryview.cxx
+++ b/dbaccess/source/ui/querydesign/queryview.cxx
@@ -27,8 +27,8 @@ using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::lang;
DBG_NAME(OQueryView)
// -------------------------------------------------------------------------
-OQueryView::OQueryView(Window* _pParent, OQueryController& _rController,const Reference< XMultiServiceFactory >& _rFactory)
- :OJoinDesignView( _pParent, _rController, _rFactory )
+OQueryView::OQueryView(Window* _pParent, OQueryController& _rController,const Reference< XComponentContext >& _rxContext)
+ :OJoinDesignView( _pParent, _rController, _rxContext )
{
DBG_CTOR(OQueryView,NULL);
diff --git a/dbaccess/source/ui/relationdesign/RelationController.cxx b/dbaccess/source/ui/relationdesign/RelationController.cxx
index abe665bd88b2..2e999e8e118e 100644
--- a/dbaccess/source/ui/relationdesign/RelationController.cxx
+++ b/dbaccess/source/ui/relationdesign/RelationController.cxx
@@ -249,7 +249,7 @@ void ORelationController::impl_initialize()
// -----------------------------------------------------------------------------
sal_Bool ORelationController::Construct(Window* pParent)
{
- setView( * new ORelationDesignView( pParent, *this, getORB() ) );
+ setView( * new ORelationDesignView( pParent, *this, comphelper::getComponentContext(getORB()) ) );
OJoinController::Construct(pParent);
return sal_True;
}
diff --git a/dbaccess/source/ui/relationdesign/RelationDesignView.cxx b/dbaccess/source/ui/relationdesign/RelationDesignView.cxx
index 31676ce96f7b..602b79323d89 100644
--- a/dbaccess/source/ui/relationdesign/RelationDesignView.cxx
+++ b/dbaccess/source/ui/relationdesign/RelationDesignView.cxx
@@ -46,8 +46,8 @@ using namespace ::com::sun::star::beans;
using namespace ::com::sun::star::container;
DBG_NAME(ORelationDesignView)
-ORelationDesignView::ORelationDesignView(Window* _pParent, ORelationController& _rController,const Reference< XMultiServiceFactory >& _rFactory)
- :OJoinDesignView( _pParent, _rController, _rFactory )
+ORelationDesignView::ORelationDesignView(Window* _pParent, ORelationController& _rController,const Reference< XComponentContext >& _rxContext)
+ :OJoinDesignView( _pParent, _rController, _rxContext )
{
DBG_CTOR(ORelationDesignView,NULL);
}
diff --git a/dbaccess/source/ui/tabledesign/TableController.cxx b/dbaccess/source/ui/tabledesign/TableController.cxx
index 869af3d4268e..91c5352e923b 100644
--- a/dbaccess/source/ui/tabledesign/TableController.cxx
+++ b/dbaccess/source/ui/tabledesign/TableController.cxx
@@ -565,7 +565,7 @@ void OTableController::impl_initialize()
// -----------------------------------------------------------------------------
sal_Bool OTableController::Construct(Window* pParent)
{
- setView( * new OTableDesignView( pParent, getORB(), *this ) );
+ setView( * new OTableDesignView( pParent, comphelper::getComponentContext(getORB()), *this ) );
OTableController_BASE::Construct(pParent);
return sal_True;
}
diff --git a/dbaccess/source/ui/tabledesign/TableDesignView.cxx b/dbaccess/source/ui/tabledesign/TableDesignView.cxx
index 499d2149c594..a82ae839d9cc 100644
--- a/dbaccess/source/ui/tabledesign/TableDesignView.cxx
+++ b/dbaccess/source/ui/tabledesign/TableDesignView.cxx
@@ -187,7 +187,7 @@ void OTableBorderWindow::GetFocus()
DBG_NAME(OTableDesignView);
//------------------------------------------------------------------------------
OTableDesignView::OTableDesignView( Window* pParent,
- const Reference< XMultiServiceFactory >& _rxOrb,
+ const Reference< XComponentContext >& _rxOrb,
OTableController& _rController
) :
ODataView( pParent, _rController,_rxOrb )
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 493f19065491..7f87969d82ff 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -44,7 +44,7 @@
#include <com/sun/star/configuration/theDefaultProvider.hpp>
#include <com/sun/star/util/XFlushable.hpp>
#include <com/sun/star/system/SystemShellExecuteFlags.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/view/XPrintable.hpp>
#include <com/sun/star/awt/XTopWindow.hpp>
@@ -632,7 +632,7 @@ void Desktop::DeInit()
Reference< XComponent >(
comphelper::getProcessComponentContext(), UNO_QUERY_THROW )->
dispose();
- // nobody should get a destroyd service factory...
+ // nobody should get a destroyed service factory...
::comphelper::setProcessServiceFactory( NULL );
// clear lockfile
@@ -663,26 +663,15 @@ sal_Bool Desktop::QueryExit()
const sal_Char SUSPEND_QUICKSTARTVETO[] = "SuspendQuickstartVeto";
- Reference< ::com::sun::star::frame::XDesktop >
- xDesktop( ::comphelper::getProcessServiceFactory()->createInstance( OUString("com.sun.star.frame.Desktop") ),
- UNO_QUERY );
+ Reference< XDesktop2 > xDesktop = css::frame::Desktop::create( ::comphelper::getProcessComponentContext() );
+ Reference< XPropertySet > xPropertySet(xDesktop, UNO_QUERY_THROW);
+ xPropertySet->setPropertyValue( OUString(SUSPEND_QUICKSTARTVETO ), Any((sal_Bool)sal_True) );
- Reference < ::com::sun::star::beans::XPropertySet > xPropertySet( xDesktop, UNO_QUERY );
- if ( xPropertySet.is() )
- {
- Any a;
- a <<= (sal_Bool)sal_True;
- xPropertySet->setPropertyValue( OUString(SUSPEND_QUICKSTARTVETO ), a );
- }
-
- sal_Bool bExit = ( !xDesktop.is() || xDesktop->terminate() );
+ sal_Bool bExit = xDesktop->terminate();
-
- if ( !bExit && xPropertySet.is() )
+ if ( !bExit )
{
- Any a;
- a <<= (sal_Bool)sal_False;
- xPropertySet->setPropertyValue( OUString(SUSPEND_QUICKSTARTVETO ), a );
+ xPropertySet->setPropertyValue( OUString(SUSPEND_QUICKSTARTVETO ), Any((sal_Bool)sal_False) );
}
else
{
@@ -1104,8 +1093,8 @@ sal_Bool impl_callRecoveryUI(sal_Bool bEmergencySave ,
xSMGR->createInstance(SERVICENAME_RECOVERYUI),
css::uno::UNO_QUERY_THROW);
- Reference< css::util::XURLTransformer > xURLParser(
- css::util::URLTransformer::create(::comphelper::getProcessComponentContext()) );
+ Reference< css::util::XURLTransformer > xURLParser =
+ css::util::URLTransformer::create(::comphelper::getProcessComponentContext());
css::util::URL aURL;
if (bEmergencySave)
@@ -1404,16 +1393,15 @@ int Desktop::Main()
utl::Bootstrap::reloadData();
SetSplashScreenProgress(20);
- Reference< XMultiServiceFactory > xSMgr =
- ::comphelper::getProcessServiceFactory();
+ Reference< XMultiServiceFactory > xSMgr = ::comphelper::getProcessServiceFactory();
+ Reference< XComponentContext > xContext = ::comphelper::getProcessComponentContext();
- Reference< XRestartManager > xRestartManager(
- OfficeRestartManager::get(comphelper::getProcessComponentContext()));
+ Reference< XRestartManager > xRestartManager( OfficeRestartManager::get(xContext) );
- Reference< XDesktop > xDesktop;
+ Reference< XDesktop2 > xDesktop;
try
{
- RegisterServices(comphelper::getProcessComponentContext());
+ RegisterServices(xContext);
SetSplashScreenProgress(25);
@@ -1495,12 +1483,11 @@ int Desktop::Main()
SvtPathOptions().SetWorkPath( aWorkPath );
}
- xDesktop = Reference<XDesktop>( xSMgr->createInstance(
- OUString( "com.sun.star.frame.Desktop" )), UNO_QUERY );
+ xDesktop = css::frame::Desktop::create( xContext );
// create service for loadin SFX (still needed in startup)
pExecGlobals->xGlobalBroadcaster = Reference < css::document::XEventListener >
- ( css::frame::GlobalEventBroadcaster::create(comphelper::getComponentContext(xSMgr)), UNO_QUERY_THROW );
+ ( css::frame::GlobalEventBroadcaster::create(xContext), UNO_QUERY_THROW );
/* ensure existance of a default window that messages can be dispatched to
This is for the benefit of testtool which uses PostUserEvent extensively
@@ -1848,7 +1835,7 @@ sal_Bool Desktop::InitializeQuickstartMode( Reference< XMultiServiceFactory >& r
sal_Bool bQuickstart = shouldLaunchQuickstart();
- // Try to instanciate quickstart service. This service is not mandatory, so
+ // Try to instantiate quickstart service. This service is not mandatory, so
// do nothing if service is not available
// #i105753# the following if was invented for performance
@@ -1984,17 +1971,13 @@ void Desktop::PreloadModuleData( const CommandLineArgs& rArgs )
Sequence < com::sun::star::beans::PropertyValue > args(1);
args[0].Name = ::rtl::OUString("Hidden");
args[0].Value <<= sal_True;
- Reference < XComponentLoader > xLoader( ::comphelper::getProcessServiceFactory()->createInstance(
- ::rtl::OUString("com.sun.star.frame.Desktop") ), UNO_QUERY );
-
- if ( !xLoader.is() )
- return;
+ Reference < XDesktop2 > xDesktop = css::frame::Desktop::create( ::comphelper::getProcessComponentContext() );
if ( rArgs.IsWriter() )
{
try
{
- Reference < ::com::sun::star::util::XCloseable > xDoc( xLoader->loadComponentFromURL( rtl::OUString("private:factory/swriter"),
+ Reference < ::com::sun::star::util::XCloseable > xDoc( xDesktop->loadComponentFromURL( rtl::OUString("private:factory/swriter"),
::rtl::OUString("_blank"), 0, args ), UNO_QUERY_THROW );
xDoc->close( sal_False );
}
@@ -2006,7 +1989,7 @@ void Desktop::PreloadModuleData( const CommandLineArgs& rArgs )
{
try
{
- Reference < ::com::sun::star::util::XCloseable > xDoc( xLoader->loadComponentFromURL( rtl::OUString("private:factory/scalc"),
+ Reference < ::com::sun::star::util::XCloseable > xDoc( xDesktop->loadComponentFromURL( rtl::OUString("private:factory/scalc"),
::rtl::OUString("_blank"), 0, args ), UNO_QUERY_THROW );
xDoc->close( sal_False );
}
@@ -2018,7 +2001,7 @@ void Desktop::PreloadModuleData( const CommandLineArgs& rArgs )
{
try
{
- Reference < ::com::sun::star::util::XCloseable > xDoc( xLoader->loadComponentFromURL( rtl::OUString("private:factory/sdraw"),
+ Reference < ::com::sun::star::util::XCloseable > xDoc( xDesktop->loadComponentFromURL( rtl::OUString("private:factory/sdraw"),
::rtl::OUString("_blank"), 0, args ), UNO_QUERY_THROW );
xDoc->close( sal_False );
}
@@ -2030,7 +2013,7 @@ void Desktop::PreloadModuleData( const CommandLineArgs& rArgs )
{
try
{
- Reference < ::com::sun::star::util::XCloseable > xDoc( xLoader->loadComponentFromURL( rtl::OUString("private:factory/simpress"),
+ Reference < ::com::sun::star::util::XCloseable > xDoc( xDesktop->loadComponentFromURL( rtl::OUString("private:factory/simpress"),
::rtl::OUString("_blank"), 0, args ), UNO_QUERY_THROW );
xDoc->close( sal_False );
}
@@ -2044,8 +2027,7 @@ void Desktop::PreloadConfigurationData()
{
Reference< XMultiServiceFactory > rFactory = ::comphelper::getProcessServiceFactory();
Reference< XComponentContext > xContext = ::comphelper::getProcessComponentContext();
- Reference< XNameAccess > xNameAccess(
- css::frame::UICommandDescription::create(xContext) );
+ Reference< XNameAccess > xNameAccess = css::frame::UICommandDescription::create(xContext);
rtl::OUString aWriterDoc( "com.sun.star.text.TextDocument" );
rtl::OUString aCalcDoc( "com.sun.star.sheet.SpreadsheetDocument" );
@@ -2445,10 +2427,8 @@ void Desktop::OpenClients()
}
// no default document if a document was loaded by recovery or by command line or if soffice is used as server
- Reference< XFramesSupplier > xTasksSupplier(
- ::comphelper::getProcessServiceFactory()->createInstance( OUString("com.sun.star.frame.Desktop") ),
- ::com::sun::star::uno::UNO_QUERY_THROW );
- Reference< XElementAccess > xList( xTasksSupplier->getFrames(), UNO_QUERY_THROW );
+ Reference< XDesktop2 > xDesktop = css::frame::Desktop::create( ::comphelper::getProcessComponentContext() );
+ Reference< XElementAccess > xList( xDesktop->getFrames(), UNO_QUERY_THROW );
if ( xList->hasElements() )
return;
@@ -2582,18 +2562,17 @@ void Desktop::HandleAppEvent( const ApplicationEvent& rAppEvent )
case ApplicationEvent::TYPE_APPEAR:
if ( !GetCommandLineArgs().IsInvisible() )
{
- css::uno::Reference< css::lang::XMultiServiceFactory > xSMGR = ::comphelper::getProcessServiceFactory();
+ Reference< css::lang::XMultiServiceFactory > xSMGR = ::comphelper::getProcessServiceFactory();
+ Reference< css::uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext();
// find active task - the active task is always a visible task
- ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFramesSupplier >
- xDesktop( xSMGR->createInstance( OUString("com.sun.star.frame.Desktop") ),
- ::com::sun::star::uno::UNO_QUERY );
- ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > xTask = xDesktop->getActiveFrame();
+ Reference< css::frame::XDesktop2 > xDesktop = css::frame::Desktop::create( xContext );
+ Reference< css::frame::XFrame > xTask = xDesktop->getActiveFrame();
if ( !xTask.is() )
{
// get any task if there is no active one
- ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > xList( xDesktop->getFrames(), ::com::sun::star::uno::UNO_QUERY );
- if ( xList->getCount()>0 )
+ Reference< css::container::XIndexAccess > xList( xDesktop->getFrames(), ::com::sun::star::uno::UNO_QUERY );
+ if ( xList->getCount() > 0 )
xList->getByIndex(0) >>= xTask;
}
@@ -2605,11 +2584,8 @@ void Desktop::HandleAppEvent( const ApplicationEvent& rAppEvent )
else
{
// no visible task that could be activated found
- Reference< XFrame > xBackingFrame;
Reference< ::com::sun::star::awt::XWindow > xContainerWindow;
- ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > xDesktopFrame( xDesktop, UNO_QUERY );
-
- xBackingFrame = xDesktopFrame->findFrame(OUString( "_blank" ), 0);
+ Reference< XFrame > xBackingFrame = xDesktop->findFrame(OUString( "_blank" ), 0);
if (xBackingFrame.is())
xContainerWindow = xBackingFrame->getContainerWindow();
if (xContainerWindow.is())
@@ -2709,17 +2685,11 @@ void Desktop::HandleAppEvent( const ApplicationEvent& rAppEvent )
// The user will try it again, in case nothing happens .-)
try
{
- Reference< css::lang::XMultiServiceFactory > xSMGR = ::comphelper::getProcessServiceFactory();
+ Reference< css::uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext();
- Reference< css::frame::XDispatchProvider >
- xDesktop( xSMGR->createInstance( OUString("com.sun.star.frame.Desktop") ),
- ::com::sun::star::uno::UNO_QUERY );
+ Reference< css::frame::XDesktop2 > xDesktop = css::frame::Desktop::create( xContext );
- // check provider ... we know it's weak reference only
- if ( ! xDesktop.is())
- return;
-
- Reference< css::util::XURLTransformer > xParser( css::util::URLTransformer::create(::comphelper::getProcessComponentContext()) );
+ Reference< css::util::XURLTransformer > xParser = css::util::URLTransformer::create(xContext);
css::util::URL aCommand;
if( rAppEvent.GetData() == ::rtl::OUString("PREFERENCES") )
aCommand.Complete = rtl::OUString( ".uno:OptionsTreeDialog" );
@@ -2845,52 +2815,47 @@ void Desktop::ShowBackingComponent(Desktop * progress)
{
return;
}
- Reference< XMultiServiceFactory > xSMgr(
- comphelper::getProcessServiceFactory(), UNO_SET_THROW);
- Reference< XFrame > xDesktopFrame(
- xSMgr->createInstance("com.sun.star.frame.Desktop"), UNO_QUERY);
- if (xDesktopFrame.is())
+ Reference< XComponentContext > xContext = comphelper::getProcessComponentContext();
+ Reference< css::lang::XMultiServiceFactory > xSMgr = ::comphelper::getProcessServiceFactory();
+ Reference< XDesktop2 > xDesktop = css::frame::Desktop::create(xContext);
+ if (progress != 0)
{
+ progress->SetSplashScreenProgress(60);
+ }
+ Reference< XFrame > xBackingFrame = xDesktop->findFrame(OUString( "_blank" ), 0);
+ Reference< ::com::sun::star::awt::XWindow > xContainerWindow;
+
+ if (xBackingFrame.is())
+ xContainerWindow = xBackingFrame->getContainerWindow();
+ if (xContainerWindow.is())
+ {
+ SetDocumentExtendedStyle(xContainerWindow);
if (progress != 0)
{
- progress->SetSplashScreenProgress(60);
+ progress->SetSplashScreenProgress(75);
}
- Reference< XFrame > xBackingFrame;
- Reference< ::com::sun::star::awt::XWindow > xContainerWindow;
+ Sequence< Any > lArgs(1);
+ lArgs[0] <<= xContainerWindow;
- xBackingFrame = xDesktopFrame->findFrame(OUString( "_blank" ), 0);
- if (xBackingFrame.is())
- xContainerWindow = xBackingFrame->getContainerWindow();
- if (xContainerWindow.is())
+ Reference< XController > xBackingComp(
+ xSMgr->createInstanceWithArguments(OUString( "com.sun.star.frame.StartModule" ), lArgs), UNO_QUERY);
+ if (xBackingComp.is())
{
- SetDocumentExtendedStyle(xContainerWindow);
+ Reference< ::com::sun::star::awt::XWindow > xBackingWin(xBackingComp, UNO_QUERY);
+ // Attention: You MUST(!) call setComponent() before you call attachFrame().
+ // Because the backing component set the property "IsBackingMode" of the frame
+ // to true inside attachFrame(). But setComponent() reset this state everytimes ...
+ xBackingFrame->setComponent(xBackingWin, xBackingComp);
if (progress != 0)
{
- progress->SetSplashScreenProgress(75);
+ progress->SetSplashScreenProgress(100);
}
- Sequence< Any > lArgs(1);
- lArgs[0] <<= xContainerWindow;
-
- Reference< XController > xBackingComp(
- xSMgr->createInstanceWithArguments(OUString( "com.sun.star.frame.StartModule" ), lArgs), UNO_QUERY);
- if (xBackingComp.is())
+ xBackingComp->attachFrame(xBackingFrame);
+ if (progress != 0)
{
- Reference< ::com::sun::star::awt::XWindow > xBackingWin(xBackingComp, UNO_QUERY);
- // Attention: You MUST(!) call setComponent() before you call attachFrame().
- // Because the backing component set the property "IsBackingMode" of the frame
- // to true inside attachFrame(). But setComponent() reset this state everytimes ...
- xBackingFrame->setComponent(xBackingWin, xBackingComp);
- if (progress != 0)
- {
- progress->SetSplashScreenProgress(100);
- }
- xBackingComp->attachFrame(xBackingFrame);
- if (progress != 0)
- {
- progress->CloseSplashScreen();
- }
- xContainerWindow->setVisible(sal_True);
+ progress->CloseSplashScreen();
}
+ xContainerWindow->setVisible(sal_True);
}
}
}
diff --git a/desktop/source/app/dispatchwatcher.cxx b/desktop/source/app/dispatchwatcher.cxx
index e832377ff418..0ac65aa72a7e 100644
--- a/desktop/source/app/dispatchwatcher.cxx
+++ b/desktop/source/app/dispatchwatcher.cxx
@@ -34,7 +34,7 @@
#include <com/sun/star/util/CloseVetoException.hpp>
#include <com/sun/star/task/InteractionHandler.hpp>
#include <com/sun/star/util/URL.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/container/XEnumeration.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
#include <com/sun/star/frame/XDispatch.hpp>
@@ -165,9 +165,7 @@ DispatchWatcher::~DispatchWatcher()
sal_Bool DispatchWatcher::executeDispatchRequests( const DispatchList& aDispatchRequestsList, bool bNoTerminate )
{
- Reference< XComponentLoader > xDesktop( ::comphelper::getProcessServiceFactory()->createInstance(
- OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop")) ),
- UNO_QUERY );
+ Reference< XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
DispatchList::const_iterator p;
std::vector< DispatchHolder > aDispatches;
@@ -279,14 +277,12 @@ sal_Bool DispatchWatcher::executeDispatchRequests( const DispatchList& aDispatch
aURL.Complete = aName;
Reference < XDispatch > xDispatcher ;
- Reference < XDispatchProvider > xProvider ( xDesktop, UNO_QUERY );
Reference < XURLTransformer > xParser ( URLTransformer::create(::comphelper::getProcessComponentContext()) );
if( xParser.is() == sal_True )
xParser->parseStrict( aURL );
- if( xProvider.is() == sal_True )
- xDispatcher = xProvider->queryDispatch( aURL, ::rtl::OUString(), 0 );
+ xDispatcher = xDesktop->queryDispatch( aURL, ::rtl::OUString(), 0 );
if( xDispatcher.is() == sal_True )
{
@@ -309,14 +305,12 @@ sal_Bool DispatchWatcher::executeDispatchRequests( const DispatchList& aDispatch
aURL.Complete = aName;
Reference < XDispatch > xDispatcher ;
- Reference < XDispatchProvider > xProvider ( xDesktop, UNO_QUERY );
Reference < XURLTransformer > xParser ( URLTransformer::create(::comphelper::getProcessComponentContext()) );
if( xParser.is() == sal_True )
xParser->parseStrict( aURL );
- if( xProvider.is() == sal_True )
- xDispatcher = xProvider->queryDispatch( aURL, ::rtl::OUString(), 0 );
+ xDispatcher = xDesktop->queryDispatch( aURL, ::rtl::OUString(), 0 );
if( xDispatcher.is() == sal_True )
{
@@ -605,16 +599,13 @@ sal_Bool DispatchWatcher::executeDispatchRequests( const DispatchList& aDispatch
if ( bEmpty && !bNoTerminate /*m_aRequestContainer.empty()*/ )
{
// We have to check if we have an open task otherwise we have to shutdown the office.
- Reference< XFramesSupplier > xTasksSupplier( xDesktop, UNO_QUERY );
aGuard.clear();
- Reference< XElementAccess > xList( xTasksSupplier->getFrames(), UNO_QUERY );
+ Reference< XElementAccess > xList( xDesktop->getFrames(), UNO_QUERY );
if ( !xList->hasElements() )
{
// We don't have any task open so we have to shutdown ourself!!
- Reference< XDesktop > xDesktop2( xTasksSupplier, UNO_QUERY );
- if ( xDesktop2.is() )
- return xDesktop2->terminate();
+ return xDesktop->terminate();
}
}
@@ -637,17 +628,13 @@ void SAL_CALL DispatchWatcher::dispatchFinished( const DispatchResultEvent& ) th
if ( !nCount && !OfficeIPCThread::AreRequestsPending() )
{
// We have to check if we have an open task otherwise we have to shutdown the office.
- Reference< XFramesSupplier > xTasksSupplier( ::comphelper::getProcessServiceFactory()->createInstance(
- OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop")) ),
- UNO_QUERY );
- Reference< XElementAccess > xList( xTasksSupplier->getFrames(), UNO_QUERY );
+ Reference< XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
+ Reference< XElementAccess > xList( xDesktop->getFrames(), UNO_QUERY );
if ( !xList->hasElements() )
{
// We don't have any task open so we have to shutdown ourself!!
- Reference< XDesktop > xDesktop( xTasksSupplier, UNO_QUERY );
- if ( xDesktop.is() )
- xDesktop->terminate();
+ xDesktop->terminate();
}
}
}
diff --git a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx
index 579c5bc840f9..65ca88fa73cf 100644
--- a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx
+++ b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx
@@ -26,6 +26,7 @@
#include "com/sun/star/beans/XPropertySet.hpp"
#include "com/sun/star/configuration/theDefaultProvider.hpp"
+#include "com/sun/star/frame/Desktop.hpp"
#include "dp_gui_dialog2.hxx"
#include "dp_gui_extensioncmdqueue.hxx"
@@ -91,10 +92,8 @@ TheExtensionManager::TheExtensionManager( Window *pParent,
{
// the registration should be done after the construction has been ended
// otherwise an exception prevents object creation, but it is registered as a listener
- m_xDesktop.set( xContext->getServiceManager()->createInstanceWithContext(
- OUString("com.sun.star.frame.Desktop"), xContext ), uno::UNO_QUERY );
- if ( m_xDesktop.is() )
- m_xDesktop->addTerminateListener( this );
+ m_xDesktop.set( frame::Desktop::create(xContext), uno::UNO_QUERY_THROW );
+ m_xDesktop->addTerminateListener( this );
}
}
diff --git a/desktop/source/deployment/gui/dp_gui_theextmgr.hxx b/desktop/source/deployment/gui/dp_gui_theextmgr.hxx
index e292baf03532..ec2734e80cee 100644
--- a/desktop/source/deployment/gui/dp_gui_theextmgr.hxx
+++ b/desktop/source/deployment/gui/dp_gui_theextmgr.hxx
@@ -27,7 +27,7 @@
#include "com/sun/star/container/XNameAccess.hpp"
#include "com/sun/star/deployment/XExtensionManager.hpp"
#include "com/sun/star/deployment/ExtensionManager.hpp"
-#include "com/sun/star/frame/XDesktop.hpp"
+#include "com/sun/star/frame/XDesktop2.hpp"
#include "com/sun/star/frame/XTerminateListener.hpp"
#include "com/sun/star/uno/XComponentContext.hpp"
#include "com/sun/star/util/XModifyListener.hpp"
@@ -49,7 +49,7 @@ class TheExtensionManager :
{
private:
::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
- ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDesktop > m_xDesktop;
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDesktop2 > m_xDesktop;
::com::sun::star::uno::Reference< ::com::sun::star::deployment::XExtensionManager > m_xExtensionManager;
::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > m_xNameAccessNodes;
diff --git a/desktop/source/deployment/gui/dp_gui_updatedialog.cxx b/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
index d41d57f37419..0664071ef5aa 100644
--- a/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
+++ b/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
@@ -49,7 +49,7 @@
#include "com/sun/star/deployment/XExtensionManager.hpp"
#include "com/sun/star/deployment/ExtensionManager.hpp"
#include "com/sun/star/deployment/XUpdateInformationProvider.hpp"
-#include "com/sun/star/frame/XDesktop.hpp"
+#include "com/sun/star/frame/Desktop.hpp"
#include "com/sun/star/frame/XDispatch.hpp"
#include "com/sun/star/frame/XDispatchProvider.hpp"
#include "com/sun/star/lang/IllegalArgumentException.hpp"
@@ -837,13 +837,12 @@ void UpdateDialog::createNotifyJob( bool bPrepareOnly,
util::URL aURL;
xNameAccess->getByName(OUSTR("URL")) >>= aURL.Complete;
- uno::Reference< lang::XMultiServiceFactory > xFactory( ::comphelper::getProcessServiceFactory() );
- uno::Reference < util::XURLTransformer > xTransformer( util::URLTransformer::create(::comphelper::getProcessComponentContext()) );
+ uno::Reference< uno::XComponentContext > xContext( ::comphelper::getProcessComponentContext() );
+ uno::Reference < util::XURLTransformer > xTransformer = util::URLTransformer::create(xContext);
xTransformer->parseStrict(aURL);
- uno::Reference < frame::XDesktop > xDesktop( xFactory->createInstance( OUSTR( "com.sun.star.frame.Desktop" ) ),
- uno::UNO_QUERY_THROW );
+ uno::Reference < frame::XDesktop2 > xDesktop = frame::Desktop::create( xContext );
uno::Reference< frame::XDispatchProvider > xDispatchProvider( xDesktop->getCurrentFrame(),
uno::UNO_QUERY_THROW );
uno::Reference< frame::XDispatch > xDispatch = xDispatchProvider->queryDispatch(aURL, rtl::OUString(), 0);
diff --git a/desktop/test/deployment/active/active_native.cxx b/desktop/test/deployment/active/active_native.cxx
index 3e5e0c5581c8..ce88274c63c7 100644
--- a/desktop/test/deployment/active/active_native.cxx
+++ b/desktop/test/deployment/active/active_native.cxx
@@ -29,7 +29,7 @@
#include "com/sun/star/awt/XWindowPeer.hpp"
#include "com/sun/star/beans/PropertyValue.hpp"
#include "com/sun/star/frame/DispatchDescriptor.hpp"
-#include "com/sun/star/frame/XDesktop.hpp"
+#include "com/sun/star/frame/Desktop.hpp"
#include "com/sun/star/frame/XDispatch.hpp"
#include "com/sun/star/frame/XDispatchProvider.hpp"
#include "com/sun/star/frame/XFrame.hpp"
@@ -216,23 +216,21 @@ void Dispatch::dispatch(
css::uno::Sequence< css::beans::PropertyValue > const &)
throw (css::uno::RuntimeException)
{
+ css::uno::Reference< css::frame::XDesktop2 > xDesktop = css::frame::Desktop::create(context_);
+ css::uno::Reference< css::frame::XFrame > xFrame = xDesktop->getCurrentFrame();
+ css::uno::Reference< css::awt::XWindowPeer > xWindowPeer( xFrame->getComponentWindow(), css::uno::UNO_QUERY_THROW );
+ css::uno::Reference< css::awt::XToolkit2 > xToolkit = css::awt::Toolkit::create(context_);
css::uno::Reference< css::awt::XMessageBox > box(
- css::awt::Toolkit::create(context_)->createMessageBox(
- css::uno::Reference< css::awt::XWindowPeer >(
- css::uno::Reference< css::frame::XFrame >(
- css::uno::Reference< css::frame::XDesktop >(
- (context_->getServiceManager()->
- createInstanceWithContext(
- "com.sun.star.frame.Desktop", context_)),
- css::uno::UNO_QUERY_THROW)->getCurrentFrame(),
- css::uno::UNO_SET_THROW)->getComponentWindow(),
- css::uno::UNO_QUERY_THROW),
+ xToolkit->createMessageBox(
+ xWindowPeer,
css::awt::Rectangle(), "infobox",
css::awt::MessageBoxButtons::BUTTONS_OK, "active", "native"),
css::uno::UNO_SET_THROW);
+
box->execute();
- css::uno::Reference< css::lang::XComponent >(
- box, css::uno::UNO_QUERY_THROW)->dispose();
+
+ css::uno::Reference< css::lang::XComponent > xComponent(box, css::uno::UNO_QUERY_THROW);
+ xComponent->dispose();
}
static cppu::ImplementationEntry const services[] = {
diff --git a/desktop/test/deployment/passive/passive_native.cxx b/desktop/test/deployment/passive/passive_native.cxx
index c3fb5a3b0e72..819f6ab0ef59 100644
--- a/desktop/test/deployment/passive/passive_native.cxx
+++ b/desktop/test/deployment/passive/passive_native.cxx
@@ -29,7 +29,7 @@
#include "com/sun/star/awt/XWindowPeer.hpp"
#include "com/sun/star/beans/PropertyValue.hpp"
#include "com/sun/star/frame/DispatchDescriptor.hpp"
-#include "com/sun/star/frame/XDesktop.hpp"
+#include "com/sun/star/frame/Desktop.hpp"
#include "com/sun/star/frame/XDispatch.hpp"
#include "com/sun/star/frame/XDispatchProvider.hpp"
#include "com/sun/star/frame/XFrame.hpp"
@@ -213,23 +213,21 @@ void Dispatch::dispatch(
css::uno::Sequence< css::beans::PropertyValue > const &)
throw (css::uno::RuntimeException)
{
+ css::uno::Reference< css::frame::XDesktop2 > xDesktop = css::frame::Desktop::create(context_);
+ css::uno::Reference< css::frame::XFrame > xFrame = xDesktop->getCurrentFrame();
+ css::uno::Reference< css::awt::XWindowPeer > xWindowPeer( xFrame->getComponentWindow(), css::uno::UNO_QUERY_THROW );
+ css::uno::Reference< css::awt::XToolkit2 > xToolkit = css::awt::Toolkit::create(context_);
css::uno::Reference< css::awt::XMessageBox > box(
- css::awt::Toolkit::create(context_)->createMessageBox(
- css::uno::Reference< css::awt::XWindowPeer >(
- css::uno::Reference< css::frame::XFrame >(
- css::uno::Reference< css::frame::XDesktop >(
- (context_->getServiceManager()->
- createInstanceWithContext(
- "com.sun.star.frame.Desktop", context_)),
- css::uno::UNO_QUERY_THROW)->getCurrentFrame(),
- css::uno::UNO_SET_THROW)->getComponentWindow(),
- css::uno::UNO_QUERY_THROW),
+ xToolkit->createMessageBox(
+ xWindowPeer,
css::awt::Rectangle(), "infobox",
css::awt::MessageBoxButtons::BUTTONS_OK, "passive", "native"),
css::uno::UNO_SET_THROW);
+
box->execute();
- css::uno::Reference< css::lang::XComponent >(
- box, css::uno::UNO_QUERY_THROW)->dispose();
+
+ css::uno::Reference< css::lang::XComponent > xComponent(box, css::uno::UNO_QUERY_THROW);
+ xComponent->dispose();
}
static cppu::ImplementationEntry const services[] = {
diff --git a/editeng/source/misc/unolingu.cxx b/editeng/source/misc/unolingu.cxx
index 7fa98c15481c..733e66b3d2cc 100644
--- a/editeng/source/misc/unolingu.cxx
+++ b/editeng/source/misc/unolingu.cxx
@@ -25,6 +25,7 @@
#include <editeng/unolingu.hxx>
#include <rtl/logfile.hxx>
#include <unotools/pathoptions.hxx>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XModel.hpp>
#include <com/sun/star/frame/XStorable.hpp>
#include <com/sun/star/lang/XEventListener.hpp>
@@ -441,7 +442,7 @@ typedef cppu::WeakImplHelper1 < XEventListener > LinguMgrAppExitLstnrBaseClass;
class LinguMgrAppExitLstnr : public LinguMgrAppExitLstnrBaseClass
{
- uno::Reference< XComponent > xDesktop;
+ uno::Reference< XDesktop2 > xDesktop;
public:
LinguMgrAppExitLstnr();
@@ -460,14 +461,9 @@ LinguMgrAppExitLstnr::LinguMgrAppExitLstnr()
// add object to frame::Desktop EventListeners in order to properly call
// the AtExit function at appliction exit.
- uno::Reference< XMultiServiceFactory > xMgr = getProcessServiceFactory();
- if ( xMgr.is() )
- {
- xDesktop = uno::Reference< XComponent > ( xMgr->createInstance(
- OUString( RTL_CONSTASCII_USTRINGPARAM ( "com.sun.star.frame.Desktop" ) ) ), UNO_QUERY ) ;
- if (xDesktop.is())
- xDesktop->addEventListener( this );
- }
+ uno::Reference< XComponentContext > xContext = getProcessComponentContext();
+ xDesktop = Desktop::create( xContext );
+ xDesktop->addEventListener( this );
}
LinguMgrAppExitLstnr::~LinguMgrAppExitLstnr()
@@ -637,11 +633,8 @@ uno::Reference< XDictionaryList > LinguMgr::GetDicList()
pExitLstnr = new LinguMgrExitLstnr;
uno::Reference< XMultiServiceFactory > xMgr( getProcessServiceFactory() );
- if (xMgr.is())
- {
- xDicList = uno::Reference< XDictionaryList > ( xMgr->createInstance(
- A2OU("com.sun.star.linguistic2.DictionaryList") ), UNO_QUERY );
- }
+ xDicList = uno::Reference< XDictionaryList > ( xMgr->createInstance(
+ A2OU("com.sun.star.linguistic2.DictionaryList") ), UNO_QUERY );
return xDicList;
}
@@ -654,11 +647,8 @@ uno::Reference< XPropertySet > LinguMgr::GetProp()
pExitLstnr = new LinguMgrExitLstnr;
uno::Reference< XMultiServiceFactory > xMgr( getProcessServiceFactory() );
- if (xMgr.is())
- {
- xProp = uno::Reference< XPropertySet > ( xMgr->createInstance(
- A2OU("com.sun.star.linguistic2.LinguProperties") ), UNO_QUERY );
- }
+ xProp = uno::Reference< XPropertySet > ( xMgr->createInstance(
+ A2OU("com.sun.star.linguistic2.LinguProperties") ), UNO_QUERY );
return xProp;
}
diff --git a/embeddedobj/source/general/docholder.cxx b/embeddedobj/source/general/docholder.cxx
index f30eb5e1a6b0..47367f7cfa74 100644
--- a/embeddedobj/source/general/docholder.cxx
+++ b/embeddedobj/source/general/docholder.cxx
@@ -31,7 +31,7 @@
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/beans/NamedValue.hpp>
#include <com/sun/star/frame/XModel.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
#include <com/sun/star/frame/XDispatchHelper.hpp>
#include <com/sun/star/frame/FrameSearchFlag.hpp>
@@ -173,26 +173,20 @@ DocumentHolder::DocumentHolder( const uno::Reference< lang::XMultiServiceFactory
aArg.Value <<= sal_False;
m_aOutplaceFrameProps[1] <<= aArg;
- const ::rtl::OUString aServiceName ( RTL_CONSTASCII_USTRINGPARAM ( "com.sun.star.frame.Desktop" ) );
- uno::Reference< frame::XDesktop > xDesktop( m_xFactory->createInstance( aServiceName ), uno::UNO_QUERY );
- if ( xDesktop.is() )
+ uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create( comphelper::getComponentContext(m_xFactory) );
+ m_refCount++;
+ try
{
- m_refCount++;
- try
- {
- xDesktop->addTerminateListener( this );
- }
- catch ( const uno::Exception& )
- {
- }
- m_refCount--;
-
- aArg.Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParentFrame"));
- aArg.Value <<= xDesktop; //TODO/LATER: should use parent document frame
- m_aOutplaceFrameProps[2] <<= aArg;
+ xDesktop->addTerminateListener( this );
}
- else
- m_aOutplaceFrameProps.realloc( 2 );
+ catch ( const uno::Exception& )
+ {
+ }
+ m_refCount--;
+
+ aArg.Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParentFrame"));
+ aArg.Value <<= xDesktop; //TODO/LATER: should use parent document frame
+ m_aOutplaceFrameProps[2] <<= aArg;
}
//---------------------------------------------------------------------------
@@ -253,15 +247,12 @@ void DocumentHolder::CloseFrame()
//---------------------------------------------------------------------------
void DocumentHolder::FreeOffice()
{
- const ::rtl::OUString aServiceName ( RTL_CONSTASCII_USTRINGPARAM ( "com.sun.star.frame.Desktop" ) );
- uno::Reference< frame::XDesktop > xDesktop( m_xFactory->createInstance( aServiceName ), uno::UNO_QUERY );
- if ( xDesktop.is() )
- {
- xDesktop->removeTerminateListener( this );
+ uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create( comphelper::getComponentContext(m_xFactory) );
+ xDesktop->removeTerminateListener( this );
- // the following code is commented out since for now there is still no completely correct way to detect
- // whether the office can be terminated, so it is better to have unnecessary process running than
- // to loose any data
+ // the following code is commented out since for now there is still no completely correct way to detect
+ // whether the office can be terminated, so it is better to have unnecessary process running than
+ // to loose any data
// uno::Reference< frame::XFramesSupplier > xFramesSupplier( xDesktop, uno::UNO_QUERY );
// if ( xFramesSupplier.is() )
@@ -277,7 +268,6 @@ void DocumentHolder::FreeOffice()
// {}
// }
// }
- }
}
//---------------------------------------------------------------------------
diff --git a/embeddedobj/source/msole/ownview.cxx b/embeddedobj/source/msole/ownview.cxx
index 01475efcc85a..7447b9c68315 100644
--- a/embeddedobj/source/msole/ownview.cxx
+++ b/embeddedobj/source/msole/ownview.cxx
@@ -17,6 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XFrame.hpp>
#include <com/sun/star/frame/XController.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
@@ -115,64 +116,58 @@ sal_Bool OwnView_Impl::CreateModelFromURL( const ::rtl::OUString& aFileURL )
if ( !aFileURL.isEmpty() )
{
try {
- uno::Reference < frame::XComponentLoader > xDocumentLoader(
- m_xFactory->createInstance (
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ) )),
- uno::UNO_QUERY );
+ uno::Reference < frame::XDesktop2 > xDocumentLoader = frame::Desktop::create(comphelper::getComponentContext(m_xFactory));
- if ( xDocumentLoader.is() )
- {
- uno::Sequence< beans::PropertyValue > aArgs( m_aFilterName.isEmpty() ? 4 : 5 );
+ uno::Sequence< beans::PropertyValue > aArgs( m_aFilterName.isEmpty() ? 4 : 5 );
- aArgs[0].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "URL" ));
- aArgs[0].Value <<= aFileURL;
+ aArgs[0].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "URL" ));
+ aArgs[0].Value <<= aFileURL;
- aArgs[1].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ReadOnly" ));
- aArgs[1].Value <<= sal_True;
+ aArgs[1].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ReadOnly" ));
+ aArgs[1].Value <<= sal_True;
- aArgs[2].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "InteractionHandler" ));
- aArgs[2].Value <<= uno::Reference< task::XInteractionHandler >(
- static_cast< ::cppu::OWeakObject* >( new DummyHandler_Impl() ), uno::UNO_QUERY );
+ aArgs[2].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "InteractionHandler" ));
+ aArgs[2].Value <<= uno::Reference< task::XInteractionHandler >(
+ static_cast< ::cppu::OWeakObject* >( new DummyHandler_Impl() ), uno::UNO_QUERY );
- aArgs[3].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "DontEdit" ));
- aArgs[3].Value <<= sal_True;
+ aArgs[3].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "DontEdit" ));
+ aArgs[3].Value <<= sal_True;
- if ( !m_aFilterName.isEmpty() )
- {
- aArgs[4].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "FilterName" ));
- aArgs[4].Value <<= m_aFilterName;
- }
+ if ( !m_aFilterName.isEmpty() )
+ {
+ aArgs[4].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "FilterName" ));
+ aArgs[4].Value <<= m_aFilterName;
+ }
- uno::Reference< frame::XModel > xModel( xDocumentLoader->loadComponentFromURL(
- aFileURL,
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "_blank" )),
- 0,
- aArgs ),
- uno::UNO_QUERY );
+ uno::Reference< frame::XModel > xModel( xDocumentLoader->loadComponentFromURL(
+ aFileURL,
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "_blank" )),
+ 0,
+ aArgs ),
+ uno::UNO_QUERY );
- if ( xModel.is() )
+ if ( xModel.is() )
+ {
+ uno::Reference< document::XEventBroadcaster > xBroadCaster( xModel, uno::UNO_QUERY );
+ if ( xBroadCaster.is() )
+ xBroadCaster->addEventListener( uno::Reference< document::XEventListener >(
+ static_cast< ::cppu::OWeakObject* >( this ),
+ uno::UNO_QUERY ) );
+
+ uno::Reference< util::XCloseable > xCloseable( xModel, uno::UNO_QUERY );
+ if ( xCloseable.is() )
{
- uno::Reference< document::XEventBroadcaster > xBroadCaster( xModel, uno::UNO_QUERY );
- if ( xBroadCaster.is() )
- xBroadCaster->addEventListener( uno::Reference< document::XEventListener >(
- static_cast< ::cppu::OWeakObject* >( this ),
- uno::UNO_QUERY ) );
-
- uno::Reference< util::XCloseable > xCloseable( xModel, uno::UNO_QUERY );
- if ( xCloseable.is() )
- {
- xCloseable->addCloseListener( uno::Reference< util::XCloseListener >(
- static_cast< ::cppu::OWeakObject* >( this ),
- uno::UNO_QUERY ) );
+ xCloseable->addCloseListener( uno::Reference< util::XCloseListener >(
+ static_cast< ::cppu::OWeakObject* >( this ),
+ uno::UNO_QUERY ) );
- ::osl::MutexGuard aGuard( m_aMutex );
- m_xModel = xModel;
- bResult = sal_True;
- }
+ ::osl::MutexGuard aGuard( m_aMutex );
+ m_xModel = xModel;
+ bResult = sal_True;
}
}
}
- catch( uno::Exception& )
+ catch( const uno::Exception& )
{
}
}
diff --git a/embedserv/source/embed/docholder.cxx b/embedserv/source/embed/docholder.cxx
index 8ddfb66703ff..acd4d57ec440 100644
--- a/embedserv/source/embed/docholder.cxx
+++ b/embedserv/source/embed/docholder.cxx
@@ -45,7 +45,7 @@
#include <com/sun/star/container/XNameAccess.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/frame/XModel.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
#include <com/sun/star/frame/FrameSearchFlag.hpp>
#include <com/sun/star/frame/XStatusListener.hpp>
@@ -91,13 +91,8 @@ DocumentHolder::DocumentHolder(
m_nMacroExecMode( document::MacroExecMode::USE_CONFIG ),
m_bLink( sal_False )
{
- static const ::rtl::OUString aServiceName (
- RTL_CONSTASCII_USTRINGPARAM ( "com.sun.star.frame.Desktop" ) );
- uno::Reference< frame::XDesktop > xDesktop(
- m_xFactory->createInstance( aServiceName ),
- uno::UNO_QUERY );
- if ( xDesktop.is() )
- xDesktop->addTerminateListener( (frame::XTerminateListener*)this );
+ uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(comphelper::getComponentContext(m_xFactory));
+ xDesktop->addTerminateListener( (frame::XTerminateListener*)this );
}
@@ -390,13 +385,8 @@ HRESULT DocumentHolder::InPlaceActivate(
// load the model into the frame
LoadDocInFrame( sal_True );
- static const ::rtl::OUString aDesktopServiceName (
- RTL_CONSTASCII_USTRINGPARAM ( "com.sun.star.frame.Desktop" ) );
- uno::Reference< frame::XFramesSupplier > xDesktop(
- m_xFactory->createInstance( aDesktopServiceName ),
- uno::UNO_QUERY );
- if(xDesktop.is())
- xDesktop->getFrames()->append(m_xFrame);
+ uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(comphelper::getComponentContext(m_xFactory));
+ xDesktop->getFrames()->append(m_xFrame);
// determine the menuhandle to get menutitems.
if(m_xLayoutManager.is()) {
@@ -645,15 +635,9 @@ BOOL DocumentHolder::Undo(void)
void DocumentHolder::FreeOffice()
{
- const ::rtl::OUString aServiceName(
- RTL_CONSTASCII_USTRINGPARAM ( "com.sun.star.frame.Desktop" ) );
- uno::Reference< frame::XDesktop > xDesktop(
- m_xFactory->createInstance( aServiceName ), uno::UNO_QUERY );
- if ( xDesktop.is() )
- {
- xDesktop->removeTerminateListener(
- (frame::XTerminateListener*)this );
- }
+ uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(comphelper::getComponentContext(m_xFactory));
+ xDesktop->removeTerminateListener(
+ (frame::XTerminateListener*)this );
}
void DocumentHolder::DisconnectFrameDocument( sal_Bool bComplete )
@@ -812,15 +796,9 @@ uno::Reference< frame::XFrame > DocumentHolder::DocumentFrame()
{
if(! m_xFrame.is() )
{
- rtl::OUString aDesktopSrvNm(
- RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop"));
-
- uno::Reference<frame::XDesktop> xDesktop(
- m_xFactory->createInstance(aDesktopSrvNm),
- uno::UNO_QUERY);
+ uno::Reference<frame::XDesktop2> xDesktop = frame::Desktop::create(comphelper::getComponentContext(m_xFactory));
- uno::Reference<frame::XFrame> xFrame(
- xDesktop,uno::UNO_QUERY);
+ uno::Reference<frame::XFrame> xFrame(xDesktop,uno::UNO_QUERY);
// the frame will be registered on desktop here, later when the document
// is loaded into the frame in ::show() method the terminate listener will be removed
diff --git a/extensions/source/nsplugin/source/so_instance.cxx b/extensions/source/nsplugin/source/so_instance.cxx
index 7e636836aedc..20f54c1a025b 100644
--- a/extensions/source/nsplugin/source/so_instance.cxx
+++ b/extensions/source/nsplugin/source/so_instance.cxx
@@ -28,6 +28,7 @@
#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/DispatchHelper.hpp>
#include <com/sun/star/frame/XDispatchProviderInterception.hpp>
#include <com/sun/star/lang/SystemDependent.hpp>
@@ -199,17 +200,10 @@ sal_Bool SoPluginInstance::LoadDocument(NSP_HWND hParent)
{}
// get frames supplier
- Reference< frame::XFramesSupplier > m_xFramesSupplier(
- mxRemoteMSF->createInstance( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop")) ),
- uno::UNO_QUERY );
- if ( !m_xFramesSupplier.is() )
- {
- debug_fprintf(NSP_LOG_APPEND, "can not get desktop\n");
- return sal_False;
- }
+ Reference< frame::XDesktop2 > xFramesSupplier = frame::Desktop::create( xContext );
// get frames
- m_xFrames = m_xFramesSupplier->getFrames();
+ m_xFrames = xFramesSupplier->getFrames();
if ( !m_xFrames.is() )
{
debug_fprintf(NSP_LOG_APPEND, "can not get frames from FramesSupplier\n");
diff --git a/extensions/source/plugin/base/context.cxx b/extensions/source/plugin/base/context.cxx
index c916431d35b0..fa504aacdea5 100644
--- a/extensions/source/plugin/base/context.cxx
+++ b/extensions/source/plugin/base/context.cxx
@@ -47,27 +47,29 @@
#include <sal/log.hxx>
#include <com/sun/star/frame/FrameSearchFlag.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <tools/fsys.hxx>
#include <tools/urlobj.hxx>
#include <cppuhelper/implbase1.hxx>
using namespace com::sun::star::io;
+using namespace com::sun::star::frame;
namespace ext_plug {
class FileSink : public ::cppu::WeakAggImplHelper1< ::com::sun::star::io::XOutputStream >
{
private:
- Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xSMgr;
+ Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
FILE* fp;
- Reference< ::com::sun::star::plugin::XPlugin > m_xPlugin;
+ Reference< ::com::sun::star::plugin::XPlugin > m_xPlugin;
::rtl::OUString m_aMIMEType;
::rtl::OUString m_aTarget;
::rtl::OUString m_aFileName;
public:
- FileSink( const Reference< ::com::sun::star::lang::XMultiServiceFactory > &,
+ FileSink( const Reference< ::com::sun::star::uno::XComponentContext > &,
const Reference< ::com::sun::star::plugin::XPlugin > & plugin,
const ::rtl::OUString& mimetype,
const ::rtl::OUString& target,
@@ -85,11 +87,11 @@ using namespace ext_plug;
class XPluginContext_Impl : public ::cppu::WeakAggImplHelper1< ::com::sun::star::plugin::XPluginContext >
{
- Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xSMgr;
+ Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
rtl_TextEncoding m_aEncoding;
public:
- XPluginContext_Impl( const Reference< ::com::sun::star::lang::XMultiServiceFactory > & );
+ XPluginContext_Impl( const Reference< ::com::sun::star::uno::XComponentContext > & );
virtual ~XPluginContext_Impl();
@@ -105,11 +107,11 @@ public:
Reference< ::com::sun::star::plugin::XPluginContext > XPluginManager_Impl::createPluginContext() throw()
{
- return new XPluginContext_Impl( m_xSMgr );
+ return new XPluginContext_Impl( m_xContext );
}
-XPluginContext_Impl::XPluginContext_Impl( const Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr )
- : m_xSMgr( rSMgr ),
+XPluginContext_Impl::XPluginContext_Impl( const Reference< ::com::sun::star::uno::XComponentContext > & rxContext )
+ : m_xContext( rxContext ),
m_aEncoding( osl_getThreadTextEncoding() )
{
}
@@ -127,9 +129,7 @@ XPluginContext_Impl::~XPluginContext_Impl()
void XPluginContext_Impl::getURL(const Reference< ::com::sun::star::plugin::XPlugin > & plugin, const ::rtl::OUString& url, const ::rtl::OUString& target) throw( ::com::sun::star::plugin::PluginException, RuntimeException )
{
- Reference< XInterface > xInst = m_xSMgr->createInstance( ::rtl::OUString("com.sun.star.frame.Desktop") );
- if( ! xInst.is() )
- return;
+ Reference< XDesktop2 > xDesktop = Desktop::create(m_xContext);
if( target.isEmpty() )
{
@@ -146,10 +146,9 @@ void XPluginContext_Impl::getURL(const Reference< ::com::sun::star::plugin::XPlu
return;
}
- Reference< ::com::sun::star::frame::XComponentLoader > xLoader( xInst, UNO_QUERY );
XPlugin_Impl* pPlugin = XPluginManager_Impl::getPluginImplementation( plugin );
- if( xLoader.is() && pPlugin )
+ if( pPlugin )
{
try
{
@@ -159,7 +158,7 @@ void XPluginContext_Impl::getURL(const Reference< ::com::sun::star::plugin::XPlu
Sequence< ::com::sun::star::beans::PropertyValue > aArgs( &aValue, 1 );
Reference< ::com::sun::star::lang::XComponent > xComp =
- xLoader->loadComponentFromURL(
+ xDesktop->loadComponentFromURL(
url,
target,
::com::sun::star::frame::FrameSearchFlag::PARENT |
@@ -220,13 +219,10 @@ void XPluginContext_Impl::postURL(const Reference< ::com::sun::star::plugin::XPl
}
}
- Reference< XInterface > xInst = m_xSMgr->createInstance( ::rtl::OUString("com.sun.star.frame.Desktop") );
- if( ! xInst.is() )
- return ;
+ Reference< XDesktop2 > xDesktop = Desktop::create(m_xContext);
- Reference< ::com::sun::star::frame::XComponentLoader > xLoader( xInst, UNO_QUERY );
XPlugin_Impl* pPlugin = XPluginManager_Impl::getPluginImplementation( plugin );
- if( xLoader.is() && pPlugin )
+ if( pPlugin )
{
try
{
@@ -238,7 +234,7 @@ void XPluginContext_Impl::postURL(const Reference< ::com::sun::star::plugin::XPl
aValues[1].Value <<= ::rtl::OStringToOUString( (char*)( file ? aBuf : buf ).getConstArray(), m_aEncoding );
Sequence< ::com::sun::star::beans::PropertyValue > aArgs( aValues, 2 );
Reference< ::com::sun::star::lang::XComponent > xComp =
- xLoader->loadComponentFromURL(
+ xDesktop->loadComponentFromURL(
url,
target,
::com::sun::star::frame::FrameSearchFlag::PARENT |
@@ -268,16 +264,16 @@ void XPluginContext_Impl::postURLNotify(const Reference< ::com::sun::star::plugi
void XPluginContext_Impl::newStream( const Reference< ::com::sun::star::plugin::XPlugin > & plugin, const ::rtl::OUString& mimetype, const ::rtl::OUString& target, const Reference< ::com::sun::star::io::XActiveDataSource > & source )
throw( ::com::sun::star::plugin::PluginException, RuntimeException )
{
- FileSink* pNewSink = new FileSink( m_xSMgr, plugin, mimetype, target, source );
+ FileSink* pNewSink = new FileSink( m_xContext, plugin, mimetype, target, source );
pNewSink->acquire();
}
-FileSink::FileSink( const Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr, const Reference< ::com::sun::star::plugin::XPlugin > & plugin,
+FileSink::FileSink( const Reference< ::com::sun::star::uno::XComponentContext > & rxContext, const Reference< ::com::sun::star::plugin::XPlugin > & plugin,
const ::rtl::OUString& mimetype,
const ::rtl::OUString& target, const Reference< ::com::sun::star::io::XActiveDataSource > & source ) :
- m_xSMgr( rSMgr ),
+ m_xContext( rxContext ),
m_xPlugin( plugin ),
m_aMIMEType( mimetype ),
m_aTarget( target )
@@ -305,11 +301,10 @@ void FileSink::closeOutput() throw()
if( fp )
fclose( fp );
- Reference< XInterface > xInst = m_xSMgr->createInstance( ::rtl::OUString("com.sun.star.frame.Desktop") );
- Reference< ::com::sun::star::frame::XComponentLoader > xLoader( xInst, UNO_QUERY );
+ Reference< XDesktop2 > xDesktop = Desktop::create(m_xContext);
XPlugin_Impl* pPlugin = XPluginManager_Impl::getPluginImplementation( m_xPlugin );
- if( xLoader.is() && pPlugin )
+ if( pPlugin )
{
try
{
@@ -319,7 +314,7 @@ void FileSink::closeOutput() throw()
Sequence< ::com::sun::star::beans::PropertyValue > aArgs( &aValue, 1 );
Reference< ::com::sun::star::lang::XComponent > xComp =
- xLoader->loadComponentFromURL(
+ xDesktop->loadComponentFromURL(
m_aFileName,
m_aTarget,
::com::sun::star::frame::FrameSearchFlag::PARENT |
diff --git a/extensions/source/plugin/base/manager.cxx b/extensions/source/plugin/base/manager.cxx
index 12ff1a457f4e..80c6939a3e65 100644
--- a/extensions/source/plugin/base/manager.cxx
+++ b/extensions/source/plugin/base/manager.cxx
@@ -42,6 +42,7 @@
#include <cstdarg>
#include <comphelper/string.hxx>
+#include <comphelper/processfactory.hxx>
#include "plugin/impl.hxx"
@@ -99,7 +100,7 @@ const Sequence< ::rtl::OUString >& PluginManager::getAdditionalSearchPaths()
//==================================================================================================
Reference< XInterface > SAL_CALL PluginManager_CreateInstance( const Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr ) throw( Exception )
{
- Reference< XInterface > xService = *new XPluginManager_Impl( rSMgr );
+ Reference< XInterface > xService = *new XPluginManager_Impl( comphelper::getComponentContext(rSMgr) );
return xService;
}
@@ -136,10 +137,10 @@ Sequence< ::rtl::OUString > XPluginManager_Impl::getSupportedServiceNames_Static
return aSNS;
}
-XPluginManager_Impl::XPluginManager_Impl( const Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr )
-: m_xSMgr( rSMgr )
+XPluginManager_Impl::XPluginManager_Impl( const Reference< ::com::sun::star::uno::XComponentContext > & rxContext )
+: m_xContext( rxContext )
{
- PluginManager::setServiceFactory( rSMgr );
+ PluginManager::setServiceFactory( Reference< ::com::sun::star::lang::XMultiServiceFactory>(rxContext->getServiceManager(), UNO_QUERY_THROW) );
}
XPluginManager_Impl::~XPluginManager_Impl()
@@ -189,7 +190,7 @@ Sequence<com::sun::star::plugin::PluginDescription> XPluginManager_Impl::getPlug
Reference< ::com::sun::star::plugin::XPlugin > XPluginManager_Impl::createPlugin( const Reference< ::com::sun::star::plugin::XPluginContext >& acontext, sal_Int16 mode, const Sequence< ::rtl::OUString >& argn, const Sequence< ::rtl::OUString >& argv, const ::com::sun::star::plugin::PluginDescription& plugintype)
throw( RuntimeException,::com::sun::star::plugin::PluginException )
{
- XPlugin_Impl* pImpl = new XPlugin_Impl( m_xSMgr );
+ XPlugin_Impl* pImpl = new XPlugin_Impl( Reference< ::com::sun::star::lang::XMultiServiceFactory>(m_xContext->getServiceManager(), UNO_QUERY_THROW) );
pImpl->setPluginContext( acontext );
PluginManager::get().getPlugins().push_back( pImpl );
@@ -204,7 +205,7 @@ Reference< ::com::sun::star::plugin::XPlugin > XPluginManager_Impl::createPlugin
Reference< ::com::sun::star::plugin::XPlugin > XPluginManager_Impl::createPluginFromURL( const Reference< ::com::sun::star::plugin::XPluginContext > & acontext, sal_Int16 mode, const Sequence< ::rtl::OUString >& argn, const Sequence< ::rtl::OUString >& argv, const Reference< ::com::sun::star::awt::XToolkit > & toolkit, const Reference< ::com::sun::star::awt::XWindowPeer > & parent, const ::rtl::OUString& url ) throw()
{
- XPlugin_Impl* pImpl = new XPlugin_Impl( m_xSMgr );
+ XPlugin_Impl* pImpl = new XPlugin_Impl( Reference< ::com::sun::star::lang::XMultiServiceFactory>(m_xContext->getServiceManager(), UNO_QUERY_THROW) );
Reference< ::com::sun::star::plugin::XPlugin > xRef = pImpl;
pImpl->setPluginContext( acontext );
diff --git a/extensions/source/plugin/inc/plugin/impl.hxx b/extensions/source/plugin/inc/plugin/impl.hxx
index 5316fbe4eed7..dbb06a06be67 100644
--- a/extensions/source/plugin/inc/plugin/impl.hxx
+++ b/extensions/source/plugin/inc/plugin/impl.hxx
@@ -287,9 +287,9 @@ public:
class XPluginManager_Impl :
public cppu::WeakAggImplHelper1< com::sun::star::plugin::XPluginManager >
{
- Reference< com::sun::star::lang::XMultiServiceFactory > m_xSMgr;
+ Reference< com::sun::star::uno::XComponentContext > m_xContext;
public:
- XPluginManager_Impl( const Reference< com::sun::star::lang::XMultiServiceFactory > & );
+ XPluginManager_Impl( const Reference< com::sun::star::uno::XComponentContext > & );
virtual ~XPluginManager_Impl();
static XPlugin_Impl* getXPluginFromNPP( NPP );
diff --git a/extensions/source/propctrlr/formstrings.hxx b/extensions/source/propctrlr/formstrings.hxx
index 48eab4cff6ed..49401768bacc 100644
--- a/extensions/source/propctrlr/formstrings.hxx
+++ b/extensions/source/propctrlr/formstrings.hxx
@@ -293,8 +293,6 @@ namespace pcr
PCR_CONSTASCII_STRING( SERVICE_ADDRESS_CONVERSION, "com.sun.star.table.CellAddressConversion" );
PCR_CONSTASCII_STRING( SERVICE_RANGEADDRESS_CONVERSION, "com.sun.star.table.CellRangeAddressConversion" );
- PCR_CONSTASCII_STRING( SERVICE_DESKTOP, "com.sun.star.frame.Desktop" );
-
//............................................................................
} // namespace pcr
//............................................................................
diff --git a/extensions/source/propctrlr/genericpropertyhandler.cxx b/extensions/source/propctrlr/genericpropertyhandler.cxx
index 56f2d0fc63c3..134c3c7af3f3 100644
--- a/extensions/source/propctrlr/genericpropertyhandler.cxx
+++ b/extensions/source/propctrlr/genericpropertyhandler.cxx
@@ -30,6 +30,7 @@
#include <com/sun/star/script/Converter.hpp>
#include <com/sun/star/util/URLTransformer.hpp>
#include <com/sun/star/util/XURLTransformer.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XDispatchProvider.hpp>
#include <tools/debug.hxx>
#include <comphelper/extract.hxx>
@@ -285,7 +286,7 @@ namespace pcr
URL aURL; aURL.Complete = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:OpenHyperlink" ) );
xTransformer->parseStrict( aURL );
- Reference< XDispatchProvider > xDispProv( m_aContext.createComponent( "com.sun.star.frame.Desktop" ), UNO_QUERY_THROW );
+ Reference< XDesktop2 > xDispProv = Desktop::create( m_aContext.getUNOContext() );
Reference< XDispatch > xDispatch( xDispProv->queryDispatch( aURL, ::rtl::OUString(), 0 ), UNO_QUERY_THROW );
Sequence< PropertyValue > aDispatchArgs(1);
diff --git a/extensions/source/propctrlr/sqlcommanddesign.cxx b/extensions/source/propctrlr/sqlcommanddesign.cxx
index c6405ea43631..c419ec7f8ee6 100644
--- a/extensions/source/propctrlr/sqlcommanddesign.cxx
+++ b/extensions/source/propctrlr/sqlcommanddesign.cxx
@@ -26,6 +26,7 @@
#include <com/sun/star/awt/XWindow.hpp>
#include <com/sun/star/awt/XTopWindow.hpp>
#include <com/sun/star/uno/Sequence.hxx>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XTitle.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/frame/XController.hpp>
@@ -79,6 +80,8 @@ namespace pcr
using ::com::sun::star::lang::XMultiServiceFactory;
using ::com::sun::star::frame::XDispatchProvider;
using ::com::sun::star::frame::XDispatch;
+ using ::com::sun::star::frame::Desktop;
+ using ::com::sun::star::frame::XDesktop2;
using ::com::sun::star::uno::Any;
/** === end UNO using === **/
namespace FrameSearchFlag = ::com::sun::star::frame::FrameSearchFlag;
@@ -290,12 +293,10 @@ namespace pcr
Reference< XFrame > xFrame;
try
{
- Reference< XInterface > xDesktop ( m_xORB->createInstanceWithContext( SERVICE_DESKTOP, m_xContext ) );
- Reference< XFrame > xDesktopFrame ( xDesktop, UNO_QUERY_THROW );
- Reference< XFramesSupplier > xSuppDesktopFrames( xDesktopFrame, UNO_QUERY_THROW );
+ Reference< XDesktop2 > xDesktop = Desktop::create(m_xContext);
- Reference< XFrames > xDesktopFramesCollection( xSuppDesktopFrames->getFrames(), UNO_QUERY_THROW );
- xFrame = xDesktopFrame->findFrame( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "_blank" ) ), FrameSearchFlag::CREATE );
+ Reference< XFrames > xDesktopFramesCollection( xDesktop->getFrames(), UNO_QUERY_THROW );
+ xFrame = xDesktop->findFrame( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "_blank" ) ), FrameSearchFlag::CREATE );
OSL_ENSURE( xFrame.is(), "SQLCommandDesigner::impl_createEmptyParentlessTask_nothrow: could not create an empty frame!" );
xDesktopFramesCollection->remove( xFrame );
}
diff --git a/extensions/source/scanner/scanwin.cxx b/extensions/source/scanner/scanwin.cxx
index 002e69104152..5a8f242447a2 100644
--- a/extensions/source/scanner/scanwin.cxx
+++ b/extensions/source/scanner/scanwin.cxx
@@ -23,7 +23,7 @@
#include <com/sun/star/util/XCloseBroadcaster.hpp>
#include <com/sun/star/util/XCloseListener.hpp>
#include <com/sun/star/frame/XFrame.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <cppuhelper/implbase1.hxx>
#include <comphelper/processfactory.hxx>
@@ -565,44 +565,14 @@ uno::Reference< frame::XFrame > ImpTwain::ImplGetActiveFrame()
{
try
{
- uno::Reference< lang::XMultiServiceFactory > xMgr( ::comphelper::getProcessServiceFactory() );
+ // query desktop instance
+ uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create( ::comphelper::getProcessComponentContext() );
- if( xMgr.is() )
- {
- // query desktop instance
- uno::Reference< frame::XDesktop > xDesktop( xMgr->createInstance(
- OUString("com.sun.star.frame.Desktop") ), uno::UNO_QUERY );
-
- if( xDesktop.is() )
- {
- // query property set from desktop, which contains the currently active frame
- uno::Reference< beans::XPropertySet > xDesktopProps( xDesktop, uno::UNO_QUERY );
-
- if( xDesktopProps.is() )
- {
- uno::Any aActiveFrame;
-
- try
- {
- aActiveFrame = xDesktopProps->getPropertyValue(
- OUString("ActiveFrame") );
- }
- catch( const beans::UnknownPropertyException& )
- {
- // property unknown.
- OSL_FAIL("ImpTwain::ImplGetActiveFrame: ActiveFrame property unknown, cannot determine active frame!");
- return uno::Reference< frame::XFrame >();
- }
+ uno::Reference< frame::XFrame > xActiveFrame = xDesktop->getActiveFrame();
- uno::Reference< frame::XFrame > xActiveFrame;
-
- if( (aActiveFrame >>= xActiveFrame) &&
- xActiveFrame.is() )
- {
- return xActiveFrame;
- }
- }
- }
+ if( xActiveFrame.is() )
+ {
+ return xActiveFrame;
}
}
catch( const uno::Exception& )
diff --git a/extensions/source/update/check/updatecheck.cxx b/extensions/source/update/check/updatecheck.cxx
index c8d25735bead..3deb8461980f 100644
--- a/extensions/source/update/check/updatecheck.cxx
+++ b/extensions/source/update/check/updatecheck.cxx
@@ -23,7 +23,7 @@
#include <cppuhelper/implbase1.hxx>
#include <com/sun/star/beans/XFastPropertySet.hpp>
#include <com/sun/star/lang/XComponent.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XFrame.hpp>
#include <com/sun/star/frame/DispatchResultEvent.hpp>
#include <com/sun/star/frame/DispatchResultState.hpp>
@@ -724,12 +724,9 @@ ShutdownThread::run()
xQuickStarter->setFastPropertyValue(0, uno::makeAny(false));
// Shutdown the office
- uno::Reference< frame::XDesktop > xDesktop(
- UpdateCheck::createService(UNISTRING("com.sun.star.frame.Desktop"), m_xContext),
- uno::UNO_QUERY);
+ uno::Reference< frame::XDesktop2 > xDesktop = Desktop::create(m_xContext);
- if( xDesktop.is() )
- xDesktop->terminate();
+ xDesktop->terminate();
}
//------------------------------------------------------------------------------
diff --git a/extensions/source/update/check/updatecheckjob.cxx b/extensions/source/update/check/updatecheckjob.cxx
index 2360daf7c722..62913cfd467c 100644
--- a/extensions/source/update/check/updatecheckjob.cxx
+++ b/extensions/source/update/check/updatecheckjob.cxx
@@ -28,7 +28,7 @@
#include <cppuhelper/implbase3.hxx>
#include <cppuhelper/implementationentry.hxx>
-#include "com/sun/star/frame/XDesktop.hpp"
+#include "com/sun/star/frame/Desktop.hpp"
#include "com/sun/star/frame/XTerminateListener.hpp"
#include <com/sun/star/task/XJob.hpp>
@@ -102,7 +102,7 @@ public:
private:
uno::Reference<uno::XComponentContext> m_xContext;
- uno::Reference< frame::XDesktop > m_xDesktop;
+ uno::Reference< frame::XDesktop2 > m_xDesktop;
std::auto_ptr< InitUpdateCheckJobThread > m_pInitThread;
void handleExtensionUpdates( const uno::Sequence< beans::NamedValue > &rListProp );
@@ -152,9 +152,8 @@ void InitUpdateCheckJobThread::setTerminating() {
UpdateCheckJob::UpdateCheckJob( const uno::Reference<uno::XComponentContext>& xContext ) :
m_xContext(xContext)
{
- m_xDesktop.set( xContext->getServiceManager()->createInstanceWithContext( UNISTRING("com.sun.star.frame.Desktop"), xContext ), uno::UNO_QUERY );
- if ( m_xDesktop.is() )
- m_xDesktop->addTerminateListener( this );
+ m_xDesktop.set( Desktop::create(xContext) );
+ m_xDesktop->addTerminateListener( this );
}
//------------------------------------------------------------------------------
diff --git a/extensions/source/update/check/updatehdl.cxx b/extensions/source/update/check/updatehdl.cxx
index ff04abcfe192..98657d0c1216 100644
--- a/extensions/source/update/check/updatehdl.cxx
+++ b/extensions/source/update/check/updatehdl.cxx
@@ -53,7 +53,7 @@
#include "com/sun/star/container/XNameContainer.hpp"
-#include "com/sun/star/frame/XDesktop.hpp"
+#include "com/sun/star/frame/Desktop.hpp"
#include "com/sun/star/lang/XMultiServiceFactory.hpp"
#include "com/sun/star/task/InteractionHandler.hpp"
@@ -1085,15 +1085,10 @@ void UpdateHandler::createDialog()
return;
}
- uno::Reference< lang::XMultiComponentFactory > xServiceManager( mxContext->getServiceManager() );
-
- if( xServiceManager.is() )
+ if( mxContext.is() )
{
- uno::Reference< frame::XDesktop > xDesktop(
- xServiceManager->createInstanceWithContext( UNISTRING( "com.sun.star.frame.Desktop"), mxContext ),
- uno::UNO_QUERY );
- if ( xDesktop.is() )
- xDesktop->addTerminateListener( this );
+ uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create( mxContext );
+ xDesktop->addTerminateListener( this );
}
loadStrings();
diff --git a/filter/source/flash/swffilter.cxx b/filter/source/flash/swffilter.cxx
index 2b4ecac979bb..7f5037cf9865 100644
--- a/filter/source/flash/swffilter.cxx
+++ b/filter/source/flash/swffilter.cxx
@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XStorable.hpp>
#include <com/sun/star/document/XFilter.hpp>
#include <com/sun/star/document/XExporter.hpp>
@@ -31,6 +31,7 @@
#include <com/sun/star/io/XOutputStream.hpp>
#include <cppuhelper/implbase1.hxx>
#include <cppuhelper/implbase4.hxx>
+#include <comphelper/processfactory.hxx>
#include <osl/file.hxx>
#include "swfexporter.hxx"
@@ -263,9 +264,7 @@ sal_Bool FlashExportFilter::ExportAsMultipleFiles(const Sequence< PropertyValue
if(!xDrawPages.is())
return sal_False;
- Reference< XDesktop > rDesktop( mxMSF->createInstance(OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ))), UNO_QUERY);
- if (!rDesktop.is())
- return sal_False;
+ Reference< XDesktop2 > rDesktop = Desktop::create( comphelper::getComponentContext(mxMSF) );
Reference< XStorable > xStorable(rDesktop->getCurrentComponent(), UNO_QUERY);
if (!xStorable.is())
diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx
index 4289a30abb67..2bf32d0ce995 100644
--- a/filter/source/svg/svgexport.cxx
+++ b/filter/source/svg/svgexport.cxx
@@ -2018,7 +2018,7 @@ sal_Bool SVGFilter::implCreateObjectsFromShape( const Reference< XDrawPage > & r
sal_Bool SVGFilter::implCreateObjectsFromBackground( const Reference< XDrawPage >& rxDrawPage )
{
- Reference< XExporter > xExporter( mxMSF->createInstance( B2UCONST( "com.sun.star.drawing.GraphicExportFilter" ) ), UNO_QUERY );
+ Reference< XExporter > xExporter( mxContext->getServiceManager()->createInstanceWithContext( B2UCONST( "com.sun.star.drawing.GraphicExportFilter" ), mxContext ), UNO_QUERY );
sal_Bool bRet = sal_False;
if( xExporter.is() )
diff --git a/filter/source/svg/svgfilter.cxx b/filter/source/svg/svgfilter.cxx
index bbe2a3c35dfd..2570fee33b30 100644
--- a/filter/source/svg/svgfilter.cxx
+++ b/filter/source/svg/svgfilter.cxx
@@ -24,7 +24,7 @@
#include <uno/environment.h>
#include <com/sun/star/drawing/XDrawPage.hpp>
#include <com/sun/star/drawing/XDrawView.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XController.hpp>
#include <com/sun/star/view/XSelectionSupplier.hpp>
#include <com/sun/star/drawing/XDrawSubController.hpp>
@@ -52,8 +52,7 @@ using namespace ::com::sun::star;
// -------------
SVGFilter::SVGFilter( const Reference< XComponentContext >& rxCtx ) :
- mxMSF( rxCtx->getServiceManager(),
- uno::UNO_QUERY_THROW ),
+ mxContext( rxCtx ),
mpSVGDoc( NULL ),
mpSVGExport( NULL ),
mpSVGFontExport( NULL ),
@@ -97,8 +96,7 @@ sal_Bool SAL_CALL SVGFilter::filter( const Sequence< PropertyValue >& rDescripto
{
if( !mbExportAll && !mSelectedPages.hasElements() )
{
- uno::Reference< frame::XDesktop > xDesktop(mxMSF->createInstance( "com.sun.star.frame.Desktop" ),
- uno::UNO_QUERY_THROW);
+ uno::Reference< frame::XDesktop2 > xDesktop(frame::Desktop::create(mxContext));
uno::Reference< frame::XFrame > xFrame(xDesktop->getCurrentFrame(),
uno::UNO_QUERY_THROW);
uno::Reference<frame::XController > xController(xFrame->getController(),
diff --git a/filter/source/svg/svgfilter.hxx b/filter/source/svg/svgfilter.hxx
index 975b7c6f226e..86694f217a23 100644
--- a/filter/source/svg/svgfilter.hxx
+++ b/filter/source/svg/svgfilter.hxx
@@ -277,7 +277,7 @@ public:
private:
- Reference< XMultiServiceFactory > mxMSF;
+ Reference< XComponentContext > mxContext;
SvXMLElementExport* mpSVGDoc;
SVGExport* mpSVGExport;
SVGFontExport* mpSVGFontExport;
diff --git a/filter/source/svg/svgimport.cxx b/filter/source/svg/svgimport.cxx
index 15e1fe1b89c7..e3e7a7b7ee2b 100644
--- a/filter/source/svg/svgimport.cxx
+++ b/filter/source/svg/svgimport.cxx
@@ -64,13 +64,13 @@ sal_Bool SVGFilter::implImport( const Sequence< PropertyValue >& rDescriptor )
return sal_False;
rtl::OUString sXMLImportService ( RTL_CONSTASCII_USTRINGPARAM ( "com.sun.star.comp.Draw.XMLOasisImporter" ) );
- Reference < XDocumentHandler > xInternalHandler( mxMSF->createInstance( sXMLImportService ), UNO_QUERY );
+ Reference < XDocumentHandler > xInternalHandler( mxContext->getServiceManager()->createInstanceWithContext( sXMLImportService, mxContext ), UNO_QUERY );
// The XImporter sets up an empty target document for XDocumentHandler to write to..
uno::Reference < XImporter > xImporter(xInternalHandler, UNO_QUERY);
xImporter->setTargetDocument(mxDstDoc);
- SVGReader aReader(mxMSF, xInputStream, xInternalHandler);
+ SVGReader aReader(uno::Reference<lang::XMultiServiceFactory>(mxContext->getServiceManager(), uno::UNO_QUERY_THROW), xInputStream, xInternalHandler);
return aReader.parseAndConvert();
}
diff --git a/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx b/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx
index 0c1cbfd30176..3bf4119c00b3 100644
--- a/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx
+++ b/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx
@@ -25,7 +25,7 @@
#include <cppuhelper/typeprovider.hxx>
#include <cppuhelper/component.hxx>
#include <com/sun/star/lang/XSingleServiceFactory.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XTerminateListener.hpp>
#include <cppuhelper/implbase4.hxx>
#include <com/sun/star/lang/XServiceInfo.hpp>
@@ -36,6 +36,7 @@
#include <tools/resmgr.hxx>
#include <vcl/svapp.hxx>
#include <rtl/instance.hxx>
+#include <comphelper/processfactory.hxx>
#include <svl/solar.hrc>
@@ -125,12 +126,9 @@ XMLFilterDialogComponent::XMLFilterDialogComponent( const com::sun::star::uno::R
mxMSF( rxMSF ),
mpDialog( NULL )
{
- Reference< XDesktop > xDesktop( mxMSF->createInstance( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" )) ), UNO_QUERY );
- if( xDesktop.is() )
- {
- Reference< XTerminateListener > xListener( this );
- xDesktop->addTerminateListener( xListener );
- }
+ Reference< XDesktop2 > xDesktop = Desktop::create( comphelper::getComponentContext(mxMSF) );
+ Reference< XTerminateListener > xListener( this );
+ xDesktop->addTerminateListener( xListener );
}
//-------------------------------------------------------------------------
diff --git a/filter/source/xsltdialog/xmlfiltertestdialog.cxx b/filter/source/xsltdialog/xmlfiltertestdialog.cxx
index 64932a96aaff..0c04cad42b1c 100644
--- a/filter/source/xsltdialog/xmlfiltertestdialog.cxx
+++ b/filter/source/xsltdialog/xmlfiltertestdialog.cxx
@@ -26,7 +26,7 @@
#include <com/sun/star/document/XEmbeddedObjectResolver.hpp>
#include <com/sun/star/frame/GlobalEventBroadcaster.hpp>
#include <com/sun/star/frame/XConfigManager.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/frame/XStorable.hpp>
#include <com/sun/star/io/XActiveDataSource.hpp>
@@ -415,19 +415,16 @@ void XMLFilterTestDialog::onExportBrowse()
{
m_sExportRecentFile = aDlg.GetPath();
- Reference< XComponentLoader > xLoader( mxMSF->createInstance( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" )) ), UNO_QUERY );
+ Reference< XDesktop2 > xLoader = Desktop::create( comphelper::getComponentContext(mxMSF) );
Reference< XInteractionHandler2 > xInter( InteractionHandler::createWithParent(comphelper::getComponentContext(mxMSF), 0) );
- if( xLoader.is() )
+ OUString aFrame( RTL_CONSTASCII_USTRINGPARAM( "_default" ) );
+ Sequence< PropertyValue > aArguments(1);
+ aArguments[0].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "InteractionHandler" ));
+ aArguments[0].Value <<= xInter;
+ Reference< XComponent > xComp( xLoader->loadComponentFromURL( m_sExportRecentFile, aFrame, 0, aArguments ) );
+ if( xComp.is() )
{
- OUString aFrame( RTL_CONSTASCII_USTRINGPARAM( "_default" ) );
- Sequence< PropertyValue > aArguments(1);
- aArguments[0].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "InteractionHandler" ));
- aArguments[0].Value <<= xInter;
- Reference< XComponent > xComp( xLoader->loadComponentFromURL( m_sExportRecentFile, aFrame, 0, aArguments ) );
- if( xComp.is() )
- {
- doExport( xComp );
- }
+ doExport( xComp );
}
}
}
@@ -603,20 +600,17 @@ void XMLFilterTestDialog::import( const OUString& rURL )
{
try
{
- Reference< XComponentLoader > xLoader( mxMSF->createInstance( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" )) ), UNO_QUERY );
+ Reference< XDesktop2 > xLoader = Desktop::create( comphelper::getComponentContext(mxMSF) );
Reference< XInteractionHandler2 > xInter( InteractionHandler::createWithParent(comphelper::getComponentContext(mxMSF), 0) );
- if( xLoader.is() )
- {
- OUString aFrame( RTL_CONSTASCII_USTRINGPARAM( "_default" ) );
- Sequence< PropertyValue > aArguments(2);
- aArguments[0].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "FilterName" ));
- aArguments[0].Value <<= m_pFilterInfo->maFilterName;
- aArguments[1].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "InteractionHandler" ));
- aArguments[1].Value <<= xInter;
+ OUString aFrame( RTL_CONSTASCII_USTRINGPARAM( "_default" ) );
+ Sequence< PropertyValue > aArguments(2);
+ aArguments[0].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "FilterName" ));
+ aArguments[0].Value <<= m_pFilterInfo->maFilterName;
+ aArguments[1].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "InteractionHandler" ));
+ aArguments[1].Value <<= xInter;
- xLoader->loadComponentFromURL( rURL, aFrame, 0, aArguments );
- }
+ xLoader->loadComponentFromURL( rURL, aFrame, 0, aArguments );
if( m_pCBXDisplaySource->IsChecked() )
{
@@ -700,39 +694,36 @@ Reference< XComponent > XMLFilterTestDialog::getFrontMostDocument( const OUStrin
try
{
- Reference< XDesktop > xDesktop( mxMSF->createInstance( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" )) ), UNO_QUERY );
- if( xDesktop.is() )
+ Reference< XDesktop2 > xDesktop = Desktop::create( comphelper::getComponentContext(mxMSF) );
+ Reference< XComponent > xTest( mxLastFocusModel );
+ if( checkComponent( xTest, rServiceName ) )
+ {
+ xRet = xTest;
+ }
+ else
{
- Reference< XComponent > xTest( mxLastFocusModel );
+ xTest = (Reference< XComponent >)xDesktop->getCurrentComponent();
+
if( checkComponent( xTest, rServiceName ) )
{
xRet = xTest;
}
else
{
- xTest = (Reference< XComponent >)xDesktop->getCurrentComponent();
-
- if( checkComponent( xTest, rServiceName ) )
- {
- xRet = xTest;
- }
- else
+ Reference< XEnumerationAccess > xAccess( xDesktop->getComponents() );
+ if( xAccess.is() )
{
- Reference< XEnumerationAccess > xAccess( xDesktop->getComponents() );
- if( xAccess.is() )
+ Reference< XEnumeration > xEnum( xAccess->createEnumeration() );
+ if( xEnum.is() )
{
- Reference< XEnumeration > xEnum( xAccess->createEnumeration() );
- if( xEnum.is() )
+ while( xEnum->hasMoreElements() )
{
- while( xEnum->hasMoreElements() )
+ if( (xEnum->nextElement() >>= xTest) && xTest.is() )
{
- if( (xEnum->nextElement() >>= xTest) && xTest.is() )
+ if( checkComponent( xTest, rServiceName ) )
{
- if( checkComponent( xTest, rServiceName ) )
- {
- xRet = xTest;
- break;
- }
+ xRet = xTest;
+ break;
}
}
}
diff --git a/forms/source/xforms/submission/replace.cxx b/forms/source/xforms/submission/replace.cxx
index 1ec494f91b88..f08b3f628a7e 100644
--- a/forms/source/xforms/submission/replace.cxx
+++ b/forms/source/xforms/submission/replace.cxx
@@ -29,6 +29,7 @@
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/xml/dom/XDocument.hpp>
#include <com/sun/star/xml/dom/DocumentBuilder.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/frame/FrameSearchFlag.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
@@ -49,7 +50,6 @@ CSubmission::SubmissionResult CSubmission::replace(const ::rtl::OUString& aRepla
return CSubmission::UNKNOWN_ERROR;
try {
- Reference< XMultiServiceFactory > xFactory = comphelper::getProcessServiceFactory();
Reference< XComponentContext > xContext = comphelper::getProcessComponentContext();
if (aReplace.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("all"))
|| aReplace.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("document"))) {
@@ -58,8 +58,7 @@ CSubmission::SubmissionResult CSubmission::replace(const ::rtl::OUString& aRepla
xLoader = Reference< XComponentLoader >(aFrame, UNO_QUERY);
if (!xLoader.is())
- xLoader = Reference< XComponentLoader >(xFactory->createInstance(
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop") ) ), UNO_QUERY_THROW);
+ xLoader = Reference< XComponentLoader >( Desktop::create(xContext), UNO_QUERY_THROW);
// open the stream from the result...
// build media descriptor
diff --git a/framework/inc/classes/menumanager.hxx b/framework/inc/classes/menumanager.hxx
index 81e1711b4fef..8e2ac6f076e8 100644
--- a/framework/inc/classes/menumanager.hxx
+++ b/framework/inc/classes/menumanager.hxx
@@ -83,7 +83,7 @@ class MenuManager : public ThreadHelpBase ,
const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& getServiceFactory();
- static void UpdateSpecialWindowMenu( Menu* pMenu ,const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory,IMutex& _rMutex);
+ static void UpdateSpecialWindowMenu( Menu* pMenu ,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& xContext,IMutex& _rMutex);
static void FillMenuImages(
::com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& xFrame,
Menu* _pMenu,
diff --git a/framework/inc/jobs/helponstartup.hxx b/framework/inc/jobs/helponstartup.hxx
index 4111c98bbae0..09f949aae37b 100644
--- a/framework/inc/jobs/helponstartup.hxx
+++ b/framework/inc/jobs/helponstartup.hxx
@@ -31,6 +31,7 @@
#include <com/sun/star/task/XJob.hpp>
#include <com/sun/star/lang/XEventListener.hpp>
#include <com/sun/star/container/XNameAccess.hpp>
+#include <com/sun/star/frame/XDesktop2.hpp>
#include <com/sun/star/frame/XModuleManager2.hpp>
@@ -53,7 +54,7 @@ class HelpOnStartup : private ThreadHelpBase
//.......................................
/** @short reference to an uno service manager. */
- css::uno::Reference< css::lang::XMultiServiceFactory > m_xSMGR;
+ css::uno::Reference< css::uno::XComponentContext > m_xContext;
//.......................................
/** @short such module manager is used to classify new opened documents. */
@@ -61,7 +62,7 @@ class HelpOnStartup : private ThreadHelpBase
//.......................................
/** @short is needed to locate a might open help frame. */
- css::uno::Reference< css::frame::XFrame > m_xDesktop;
+ css::uno::Reference< css::frame::XDesktop2 > m_xDesktop;
//.......................................
/** @short provides read access to the underlying configuration. */
@@ -86,11 +87,11 @@ class HelpOnStartup : private ThreadHelpBase
//---------------------------------------
/** @short create new instance of this class.
- @param xSMGR
+ @param xContext
reference to the uno service manager, which created this instance.
Can be used later to create own needed uno resources on demand.
*/
- HelpOnStartup(const css::uno::Reference< css::lang::XMultiServiceFactory >& xSMGR);
+ HelpOnStartup(const css::uno::Reference< css::uno::XComponentContext >& xContext);
//---------------------------------------
/** @short does nothing real ...
diff --git a/framework/inc/jobs/job.hxx b/framework/inc/jobs/job.hxx
index cd03bff7c824..7f18dc69a18f 100644
--- a/framework/inc/jobs/job.hxx
+++ b/framework/inc/jobs/job.hxx
@@ -32,7 +32,7 @@
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/lang/XTypeProvider.hpp>
#include <com/sun/star/frame/XFrame.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/XDesktop2.hpp>
#include <com/sun/star/frame/XDispatchResultListener.hpp>
#include <com/sun/star/task/XJobListener.hpp>
#include <com/sun/star/util/XCloseListener.hpp>
@@ -128,7 +128,7 @@ class Job : public css::lang::XTypeProvider
We are registered at this instance to listen for office shutdown events.
It's neccessary supress it (if possible) or to react in the right way.
*/
- css::uno::Reference< css::frame::XDesktop > m_xDesktop;
+ css::uno::Reference< css::frame::XDesktop2 > m_xDesktop;
/**
A job can return a dispatch result event after finishing its work.
diff --git a/framework/inc/services.h b/framework/inc/services.h
index 6606328fcab5..e3131365e2ec 100644
--- a/framework/inc/services.h
+++ b/framework/inc/services.h
@@ -29,7 +29,6 @@ namespace framework{
//_________________________________________________________________________________________________________________
#define SERVICENAME_FRAME DECLARE_ASCII("com.sun.star.frame.Frame" )
-#define SERVICENAME_DESKTOP DECLARE_ASCII("com.sun.star.frame.Desktop" )
#define SERVICENAME_TASK DECLARE_ASCII("com.sun.star.frame.Task" )
#define SERVICENAME_FRAMELOADERFACTORY DECLARE_ASCII("com.sun.star.frame.FrameLoaderFactory" )
#define SERVICENAME_FILTERFACTORY DECLARE_ASCII("com.sun.star.document.FilterFactory" )
diff --git a/framework/inc/services/desktop.hxx b/framework/inc/services/desktop.hxx
index 0f5c65d1a3f9..d6d2aaea260f 100644
--- a/framework/inc/services/desktop.hxx
+++ b/framework/inc/services/desktop.hxx
@@ -32,7 +32,7 @@
#include <com/sun/star/frame/XUntitledNumbers.hpp>
#include <com/sun/star/frame/XController.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/XDesktop2.hpp>
#include <com/sun/star/frame/WindowArrange.hpp>
#include <com/sun/star/frame/TerminationVetoException.hpp>
#include <com/sun/star/frame/XTerminateListener.hpp>
@@ -47,7 +47,6 @@
#include <com/sun/star/frame/XDispatchProviderInterception.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/frame/FrameAction.hpp>
-#include <com/sun/star/task/XStatusIndicatorFactory.hpp>
#include <com/sun/star/frame/XTasksSupplier.hpp>
#include <com/sun/star/container/XEnumerationAccess.hpp>
#include <com/sun/star/lang/Locale.hpp>
@@ -107,12 +106,8 @@ enum ELoadState
class Desktop : // interfaces
public css::lang::XTypeProvider ,
public css::lang::XServiceInfo ,
- public css::frame::XDesktop ,
- public css::frame::XComponentLoader ,
+ public css::frame::XDesktop2 ,
public css::frame::XTasksSupplier ,
- public css::frame::XDispatchProvider ,
- public css::frame::XDispatchProviderInterception,
- public css::frame::XFramesSupplier , // => XFrame => XComponent
public css::frame::XDispatchResultListener , // => XEventListener
public css::task::XInteractionHandler ,
public css::frame::XUntitledNumbers ,
diff --git a/framework/source/classes/menumanager.cxx b/framework/source/classes/menumanager.cxx
index d12f80c54555..54e4dc34ffd1 100644
--- a/framework/source/classes/menumanager.cxx
+++ b/framework/source/classes/menumanager.cxx
@@ -35,7 +35,7 @@
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/container/XEnumeration.hpp>
#include <com/sun/star/util/XStringWidth.hpp>
@@ -622,39 +622,35 @@ void MenuManager::UpdateSpecialFileMenu( Menu* pMenu )
}
}
-void MenuManager::UpdateSpecialWindowMenu( Menu* pMenu,const Reference< XMultiServiceFactory >& xServiceFactory,framework::IMutex& _rMutex )
+void MenuManager::UpdateSpecialWindowMenu( Menu* pMenu,const Reference< XComponentContext >& xContext,framework::IMutex& _rMutex )
{
// update window list
::std::vector< ::rtl::OUString > aNewWindowListVector;
- Reference< XDesktop > xDesktop( xServiceFactory->createInstance( SERVICENAME_DESKTOP ), UNO_QUERY );
+ Reference< XDesktop2 > xDesktop = Desktop::create( xContext );
sal_uInt16 nActiveItemId = 0;
sal_uInt16 nItemId = START_ITEMID_WINDOWLIST;
- if ( xDesktop.is() )
+ Reference< XFrame > xCurrentFrame = xDesktop->getCurrentFrame();
+ Reference< XIndexAccess > xList( xDesktop->getFrames(), UNO_QUERY );
+ sal_Int32 nFrameCount = xList->getCount();
+ aNewWindowListVector.reserve(nFrameCount);
+ for (sal_Int32 i=0; i<nFrameCount; ++i )
{
- Reference< XFramesSupplier > xTasksSupplier( xDesktop, UNO_QUERY );
- Reference< XFrame > xCurrentFrame = xDesktop->getCurrentFrame();
- Reference< XIndexAccess > xList( xTasksSupplier->getFrames(), UNO_QUERY );
- sal_Int32 nCount = xList->getCount();
- aNewWindowListVector.reserve(nCount);
- for (sal_Int32 i=0; i<nCount; ++i )
+ Reference< XFrame > xFrame;
+ xList->getByIndex(i) >>= xFrame;
+
+ if (xFrame.is())
{
- Reference< XFrame > xFrame;
- xList->getByIndex(i) >>= xFrame;
+ if ( xFrame == xCurrentFrame )
+ nActiveItemId = nItemId;
- if (xFrame.is())
+ Window* pWin = VCLUnoHelper::GetWindow( xFrame->getContainerWindow() );
+ if ( pWin && pWin->IsVisible() )
{
- if ( xFrame == xCurrentFrame )
- nActiveItemId = nItemId;
-
- Window* pWin = VCLUnoHelper::GetWindow( xFrame->getContainerWindow() );
- if ( pWin && pWin->IsVisible() )
- {
- aNewWindowListVector.push_back( pWin->GetText() );
- ++nItemId;
- }
+ aNewWindowListVector.push_back( pWin->GetText() );
+ ++nItemId;
}
}
}
@@ -767,7 +763,7 @@ IMPL_LINK( MenuManager, Activate, Menu *, pMenu )
if ( m_aMenuItemCommand == aSpecialFileMenu || m_aMenuItemCommand == aSlotSpecialFileMenu || aCommand == aSpecialFileCommand )
UpdateSpecialFileMenu( pMenu );
else if ( m_aMenuItemCommand == aSpecialWindowMenu || m_aMenuItemCommand == aSlotSpecialWindowMenu || aCommand == aSpecialWindowCommand )
- UpdateSpecialWindowMenu( pMenu, getServiceFactory(), m_aLock );
+ UpdateSpecialWindowMenu( pMenu, comphelper::getComponentContext(getServiceFactory()), m_aLock );
// Check if some modes have changed so we have to update our menu images
if ( bShowMenuImages != m_bShowMenuImages )
@@ -866,28 +862,25 @@ IMPL_LINK( MenuManager, Select, Menu *, pMenu )
{
// window list menu item selected
- Reference< XFramesSupplier > xDesktop( getServiceFactory()->createInstance( SERVICENAME_DESKTOP ), UNO_QUERY );
+ Reference< XDesktop2 > xDesktop = Desktop::create( comphelper::getComponentContext(getServiceFactory()) );
- if ( xDesktop.is() )
+ sal_uInt16 nTaskId = START_ITEMID_WINDOWLIST;
+ Reference< XIndexAccess > xList( xDesktop->getFrames(), UNO_QUERY );
+ sal_Int32 nCount = xList->getCount();
+ for ( sal_Int32 i=0; i<nCount; ++i )
{
- sal_uInt16 nTaskId = START_ITEMID_WINDOWLIST;
- Reference< XIndexAccess > xList( xDesktop->getFrames(), UNO_QUERY );
- sal_Int32 nCount = xList->getCount();
- for ( sal_Int32 i=0; i<nCount; ++i )
- {
- Reference< XFrame > xFrame;
- xList->getByIndex(i) >>= xFrame;
+ Reference< XFrame > xFrame;
+ xList->getByIndex(i) >>= xFrame;
- if ( xFrame.is() && nTaskId == nCurItemId )
- {
- Window* pWin = VCLUnoHelper::GetWindow( xFrame->getContainerWindow() );
- pWin->GrabFocus();
- pWin->ToTop( TOTOP_RESTOREWHENMIN );
- break;
- }
-
- nTaskId++;
+ if ( xFrame.is() && nTaskId == nCurItemId )
+ {
+ Window* pWin = VCLUnoHelper::GetWindow( xFrame->getContainerWindow() );
+ pWin->GrabFocus();
+ pWin->ToTop( TOTOP_RESTOREWHENMIN );
+ break;
}
+
+ nTaskId++;
}
}
else
diff --git a/framework/source/classes/taskcreator.cxx b/framework/source/classes/taskcreator.cxx
index 74e212bdc6d2..87dd6d302073 100644
--- a/framework/source/classes/taskcreator.cxx
+++ b/framework/source/classes/taskcreator.cxx
@@ -23,6 +23,7 @@
#include <loadenv/targethelper.hxx>
#include <services.h>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/lang/XSingleServiceFactory.hpp>
#include <com/sun/star/beans/NamedValue.hpp>
@@ -102,7 +103,7 @@ css::uno::Reference< css::frame::XFrame > TaskCreator::createTask( const ::rtl::
css::beans::NamedValue aArg ;
aArg.Name = rtl::OUString(ARGUMENT_PARENTFRAME);
- aArg.Value <<= css::uno::Reference< css::frame::XFrame >(xSMGR->createInstance(SERVICENAME_DESKTOP), css::uno::UNO_QUERY_THROW);
+ aArg.Value <<= css::uno::Reference< css::frame::XFrame >( css::frame::Desktop::create( comphelper::getComponentContext(xSMGR) ), css::uno::UNO_QUERY_THROW);
lArgs[0] <<= aArg;
aArg.Name = rtl::OUString(ARGUMENT_CREATETOPWINDOW);
diff --git a/framework/source/dispatch/closedispatcher.cxx b/framework/source/dispatch/closedispatcher.cxx
index 258b5b575acd..675c507ab898 100644
--- a/framework/source/dispatch/closedispatcher.cxx
+++ b/framework/source/dispatch/closedispatcher.cxx
@@ -25,7 +25,7 @@
#include <services.h>
#include <general.h>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XController.hpp>
#include <com/sun/star/frame/CommandGroup.hpp>
#include <com/sun/star/lang/DisposedException.hpp>
@@ -39,6 +39,7 @@
#include "vcl/syswin.hxx"
#include <osl/mutex.hxx>
#include <unotools/moduleoptions.hxx>
+#include <comphelper/processfactory.hxx>
using namespace com::sun::star;
@@ -299,7 +300,7 @@ IMPL_LINK_NOARG(CloseDispatcher, impl_asyncCallback)
// Analyze the environment a first time.
// If we found some special cases, we can
// make some decisions erliar!
- css::uno::Reference< css::frame::XFramesSupplier > xDesktop(xSMGR->createInstance(SERVICENAME_DESKTOP), css::uno::UNO_QUERY_THROW);
+ css::uno::Reference< css::frame::XFramesSupplier > xDesktop( css::frame::Desktop::create(comphelper::getComponentContext(xSMGR)), css::uno::UNO_QUERY_THROW);
FrameListAnalyzer aCheck1(xDesktop, xCloseFrame, FrameListAnalyzer::E_HELP | FrameListAnalyzer::E_BACKINGCOMPONENT);
// a) If the curent frame (where the close dispatch was requested for) does not have
@@ -471,7 +472,7 @@ sal_Bool CloseDispatcher::implts_prepareFrameForClosing(const css::uno::Referenc
aReadLock.unlock();
// <- SAFE ----------------------------------
- css::uno::Reference< css::frame::XFramesSupplier > xDesktop(xSMGR->createInstance(SERVICENAME_DESKTOP), css::uno::UNO_QUERY_THROW);
+ css::uno::Reference< css::frame::XFramesSupplier > xDesktop( css::frame::Desktop::create( comphelper::getComponentContext(xSMGR) ), css::uno::UNO_QUERY_THROW);
FrameListAnalyzer aCheck(xDesktop, xFrame, FrameListAnalyzer::E_ALL);
sal_Int32 c = aCheck.m_lModelFrames.getLength();
@@ -573,8 +574,7 @@ sal_Bool CloseDispatcher::implts_terminateApplication()
aReadLock.unlock();
// <- SAFE ----------------------------------
- css::uno::Reference< css::frame::XDesktop > xDesktop(
- xSMGR->createInstance(SERVICENAME_DESKTOP), css::uno::UNO_QUERY_THROW);
+ css::uno::Reference< css::frame::XDesktop2 > xDesktop = css::frame::Desktop::create( comphelper::getComponentContext(xSMGR) );
return xDesktop->terminate();
}
diff --git a/framework/source/dispatch/startmoduledispatcher.cxx b/framework/source/dispatch/startmoduledispatcher.cxx
index c609a83a6ecb..ed7959d41116 100644
--- a/framework/source/dispatch/startmoduledispatcher.cxx
+++ b/framework/source/dispatch/startmoduledispatcher.cxx
@@ -29,7 +29,7 @@
#include <services.h>
#include <general.h>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XController.hpp>
#include <com/sun/star/frame/CommandGroup.hpp>
#include <com/sun/star/awt/XTopWindow.hpp>
@@ -41,6 +41,7 @@
#include <vcl/svapp.hxx>
#include <osl/mutex.hxx>
#include <unotools/moduleoptions.hxx>
+#include <comphelper/processfactory.hxx>
namespace framework{
@@ -152,7 +153,7 @@ void SAL_CALL StartModuleDispatcher::removeStatusListener(const css::uno::Refere
// <- SAFE ----------------------------------
css::uno::Reference< css::frame::XFramesSupplier > xDesktop(
- xSMGR->createInstance(SERVICENAME_DESKTOP), css::uno::UNO_QUERY);
+ css::frame::Desktop::create( comphelper::getComponentContext(xSMGR) ), css::uno::UNO_QUERY);
FrameListAnalyzer aCheck(
xDesktop,
@@ -182,7 +183,7 @@ void SAL_CALL StartModuleDispatcher::removeStatusListener(const css::uno::Refere
aReadLock.unlock();
// <- SAFE ----------------------------------
- css::uno::Reference< css::frame::XFrame > xDesktop (xSMGR->createInstance(SERVICENAME_DESKTOP), css::uno::UNO_QUERY);
+ css::uno::Reference< css::frame::XDesktop2> xDesktop = css::frame::Desktop::create( comphelper::getComponentContext(xSMGR) );
css::uno::Reference< css::frame::XFrame > xFrame = xDesktop->findFrame (SPECIALTARGET_BLANK, 0);
css::uno::Reference< css::awt::XWindow > xContainerWindow = xFrame->getContainerWindow ();
diff --git a/framework/source/jobs/helponstartup.cxx b/framework/source/jobs/helponstartup.cxx
index 3d1285e3c222..0d90cf279467 100644
--- a/framework/source/jobs/helponstartup.cxx
+++ b/framework/source/jobs/helponstartup.cxx
@@ -39,7 +39,7 @@
#include <com/sun/star/frame/FrameSearchFlag.hpp>
#include <com/sun/star/frame/ModuleManager.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
namespace framework{
@@ -69,7 +69,7 @@ static ::rtl::OUString ENVTYPE_DOCUMENTEVENT ("DOCUMENTEVENT");
//-----------------------------------------------
-DEFINE_XSERVICEINFO_MULTISERVICE(HelpOnStartup ,
+DEFINE_XSERVICEINFO_MULTISERVICE_2(HelpOnStartup ,
::cppu::OWeakObject ,
SERVICENAME_JOB ,
IMPLEMENTATIONNAME_HELPONSTARTUP)
@@ -82,23 +82,20 @@ DEFINE_INIT_SERVICE(HelpOnStartup,
see macro DEFINE_XSERVICEINFO_MULTISERVICE and "impl_initService()" for further informations!
*/
// create some needed uno services and cache it
- css::uno::Reference<css::uno::XComponentContext> xContext = comphelper::getComponentContext(m_xSMGR);
- m_xModuleManager = css::frame::ModuleManager::create( xContext );
+ m_xModuleManager = css::frame::ModuleManager::create( m_xContext );
- m_xDesktop = css::uno::Reference< css::frame::XFrame >(
- m_xSMGR->createInstance(SERVICENAME_DESKTOP),
- css::uno::UNO_QUERY_THROW);
+ m_xDesktop = css::frame::Desktop::create(m_xContext);
m_xConfig = css::uno::Reference< css::container::XNameAccess >(
::comphelper::ConfigurationHelper::openConfig(
- xContext,
+ m_xContext,
CFG_PACKAGE_MODULES,
::comphelper::ConfigurationHelper::E_READONLY),
css::uno::UNO_QUERY_THROW);
// ask for office locale
::comphelper::ConfigurationHelper::readDirectKey(
- xContext,
+ m_xContext,
CFG_PACKAGE_SETUP,
CFG_PATH_L10N,
CFG_KEY_LOCALE,
@@ -106,7 +103,7 @@ DEFINE_INIT_SERVICE(HelpOnStartup,
// detect system
::comphelper::ConfigurationHelper::readDirectKey(
- xContext,
+ m_xContext,
CFG_PACKAGE_COMMON,
CFG_PATH_HELP,
CFG_KEY_HELPSYSTEM,
@@ -128,9 +125,9 @@ DEFINE_INIT_SERVICE(HelpOnStartup,
)
//-----------------------------------------------
-HelpOnStartup::HelpOnStartup(const css::uno::Reference< css::lang::XMultiServiceFactory >& xSMGR)
+HelpOnStartup::HelpOnStartup(const css::uno::Reference< css::uno::XComponentContext >& xContext)
: ThreadHelpBase( )
- , m_xSMGR (xSMGR)
+ , m_xContext (xContext)
{
}
@@ -265,7 +262,7 @@ void SAL_CALL HelpOnStartup::disposing(const css::lang::EventObject& aEvent)
{
// SAFE ->
ResetableGuard aLock(m_aLock);
- css::uno::Reference< css::frame::XFrame > xDesktop = m_xDesktop;
+ css::uno::Reference< css::frame::XDesktop2 > xDesktop = m_xDesktop;
aLock.unlock();
// <- SAFE
@@ -310,7 +307,6 @@ void SAL_CALL HelpOnStartup::disposing(const css::lang::EventObject& aEvent)
// SAFE ->
ResetableGuard aLock(m_aLock);
- css::uno::Reference< css::lang::XMultiServiceFactory > xSMGR (m_xSMGR, css::uno::UNO_QUERY_THROW);
css::uno::Reference< css::container::XNameAccess > xConfig = m_xConfig;
::rtl::OUString sLocale = m_sLocale;
::rtl::OUString sSystem = m_sSystem;
diff --git a/framework/source/jobs/job.cxx b/framework/source/jobs/job.cxx
index 62ec7ebdd573..a38c2f499c92 100644
--- a/framework/source/jobs/job.cxx
+++ b/framework/source/jobs/job.cxx
@@ -23,6 +23,7 @@
#include <general.h>
#include <services.h>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/task/XJob.hpp>
#include <com/sun/star/task/XAsyncJob.hpp>
#include <com/sun/star/util/XCloseBroadcaster.hpp>
@@ -337,7 +338,7 @@ void Job::die()
m_xJob = css::uno::Reference< css::uno::XInterface >();
m_xFrame = css::uno::Reference< css::frame::XFrame >();
m_xModel = css::uno::Reference< css::frame::XModel >();
- m_xDesktop = css::uno::Reference< css::frame::XDesktop >();
+ m_xDesktop = css::uno::Reference< css::frame::XDesktop2 >();
m_xResultListener = css::uno::Reference< css::frame::XDispatchResultListener >();
m_xResultSourceFake = css::uno::Reference< css::uno::XInterface >();
m_bPendingCloseFrame = sal_False;
@@ -541,17 +542,14 @@ void Job::impl_startListening()
{
try
{
- m_xDesktop = css::uno::Reference< css::frame::XDesktop >(m_xSMGR->createInstance(SERVICENAME_DESKTOP), css::uno::UNO_QUERY);
+ m_xDesktop = css::frame::Desktop::create( comphelper::getComponentContext(m_xSMGR) );
css::uno::Reference< css::frame::XTerminateListener > xThis(static_cast< ::cppu::OWeakObject* >(this), css::uno::UNO_QUERY);
- if (m_xDesktop.is())
- {
- m_xDesktop->addTerminateListener(xThis);
- m_bListenOnDesktop = sal_True;
- }
+ m_xDesktop->addTerminateListener(xThis);
+ m_bListenOnDesktop = sal_True;
}
catch(const css::uno::Exception&)
{
- m_xDesktop = css::uno::Reference< css::frame::XDesktop >();
+ m_xDesktop.clear();
}
}
@@ -614,7 +612,7 @@ void Job::impl_stopListening()
{
css::uno::Reference< css::frame::XTerminateListener > xThis(static_cast< ::cppu::OWeakObject* >(this) , css::uno::UNO_QUERY);
m_xDesktop->removeTerminateListener(xThis);
- m_xDesktop = css::uno::Reference< css::frame::XDesktop >();
+ m_xDesktop.clear();
m_bListenOnDesktop = sal_False;
}
catch(const css::uno::Exception&)
@@ -887,7 +885,7 @@ void SAL_CALL Job::disposing( const css::lang::EventObject& aEvent ) throw(css::
if (m_xDesktop.is() && aEvent.Source == m_xDesktop)
{
- m_xDesktop = css::uno::Reference< css::frame::XDesktop >();
+ m_xDesktop.clear();
m_bListenOnDesktop = sal_False;
}
else if (m_xFrame.is() && aEvent.Source == m_xFrame)
diff --git a/framework/source/loadenv/loadenv.cxx b/framework/source/loadenv/loadenv.cxx
index 78bc67c8c42f..0b5f95db11a1 100644
--- a/framework/source/loadenv/loadenv.cxx
+++ b/framework/source/loadenv/loadenv.cxx
@@ -50,6 +50,7 @@
#include <com/sun/star/awt/XWindow.hpp>
#include <com/sun/star/awt/XWindow2.hpp>
#include <com/sun/star/awt/XTopWindow.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XModel.hpp>
#include <com/sun/star/frame/XFrameLoader.hpp>
#include <com/sun/star/frame/XSynchronousFrameLoader.hpp>
@@ -972,7 +973,7 @@ sal_Bool LoadEnv::impl_furtherDocsAllowed()
aVal >>= nMaxOpenDocuments;
css::uno::Reference< css::frame::XFramesSupplier > xDesktop(
- xSMGR->createInstance(SERVICENAME_DESKTOP),
+ css::frame::Desktop::create( comphelper::getComponentContext(xSMGR)),
css::uno::UNO_QUERY_THROW);
FrameListAnalyzer aAnalyzer(xDesktop,
@@ -1295,7 +1296,7 @@ css::uno::Reference< css::frame::XFrame > LoadEnv::impl_searchAlreadyLoaded()
// otherwhise - iterate through the tasks of the desktop container
// to find out, which of them might contains the requested document
- css::uno::Reference< css::frame::XFramesSupplier > xSupplier(m_xSMGR->createInstance(SERVICENAME_DESKTOP), css::uno::UNO_QUERY);
+ css::uno::Reference< css::frame::XDesktop2 > xSupplier = css::frame::Desktop::create( comphelper::getComponentContext(m_xSMGR) );
css::uno::Reference< css::container::XIndexAccess > xTaskList(xSupplier->getFrames() , css::uno::UNO_QUERY);
if (!xTaskList.is())
@@ -1436,7 +1437,7 @@ css::uno::Reference< css::frame::XFrame > LoadEnv::impl_searchRecycleTarget()
if (m_lMediaDescriptor.getUnpackedValueOrDefault(::comphelper::MediaDescriptor::PROP_HIDDEN(), sal_False) == sal_True)
return css::uno::Reference< css::frame::XFrame >();
- css::uno::Reference< css::frame::XFramesSupplier > xSupplier(m_xSMGR->createInstance(SERVICENAME_DESKTOP), css::uno::UNO_QUERY);
+ css::uno::Reference< css::frame::XFramesSupplier > xSupplier( css::frame::Desktop::create( comphelper::getComponentContext(m_xSMGR) ), css::uno::UNO_QUERY);
FrameListAnalyzer aTasksAnalyzer(xSupplier, css::uno::Reference< css::frame::XFrame >(), FrameListAnalyzer::E_BACKINGCOMPONENT);
if (aTasksAnalyzer.m_xBackingComponent.is())
{
diff --git a/framework/source/services/autorecovery.cxx b/framework/source/services/autorecovery.cxx
index 3d4a794eba89..d84086b69c0f 100644
--- a/framework/source/services/autorecovery.cxx
+++ b/framework/source/services/autorecovery.cxx
@@ -36,6 +36,7 @@
#include <com/sun/star/ucb/NameClash.hpp>
#include <com/sun/star/container/XNameAccess.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/GlobalEventBroadcaster.hpp>
#include <com/sun/star/frame/XLoadable.hpp>
#include <com/sun/star/frame/XModel2.hpp>
@@ -1988,7 +1989,7 @@ void AutoRecovery::implts_changeAllDocVisibility(sal_Bool bVisible)
aReadLock.unlock();
// <- SAFE ----------------------------------
- css::uno::Reference< css::frame::XFramesSupplier > xDesktop(xSMGR->createInstance(SERVICENAME_DESKTOP), css::uno::UNO_QUERY);
+ css::uno::Reference< css::frame::XFramesSupplier > xDesktop( css::frame::Desktop::create( comphelper::getComponentContext(xSMGR) ), css::uno::UNO_QUERY);
lcl_changeVisibility( xDesktop, bVisible );
aReadLock.unlock();
@@ -2128,8 +2129,8 @@ AutoRecovery::ETimerType AutoRecovery::implts_saveDocs( sal_Bool bAl
if (pParams)
xExternalProgress = pParams->m_xProgress;
- css::uno::Reference< css::frame::XFramesSupplier > xDesktop (xSMGR->createInstance(SERVICENAME_DESKTOP), css::uno::UNO_QUERY);
- ::rtl::OUString sBackupPath (SvtPathOptions().GetBackupPath());
+ css::uno::Reference< css::frame::XDesktop2 > xDesktop = css::frame::Desktop::create( comphelper::getComponentContext(xSMGR));
+ ::rtl::OUString sBackupPath(SvtPathOptions().GetBackupPath());
css::uno::Reference< css::frame::XController > xActiveController;
css::uno::Reference< css::frame::XModel > xActiveModel ;
@@ -2625,7 +2626,7 @@ void AutoRecovery::implts_openOneDoc(const ::rtl::OUString& sURL
aReadLock.unlock();
// <- SAFE ----------------------------------
- css::uno::Reference< css::frame::XFrame > xDesktop( xSMGR->createInstance(SERVICENAME_DESKTOP), css::uno::UNO_QUERY_THROW );
+ css::uno::Reference< css::frame::XDesktop2 > xDesktop = css::frame::Desktop::create( comphelper::getComponentContext(xSMGR));
::std::vector< Reference< XComponent > > aCleanup;
try
@@ -3361,9 +3362,7 @@ void AutoRecovery::implts_verifyCacheAgainstDesktopDocumentList()
try
{
- css::uno::Reference< css::frame::XFramesSupplier > xDesktop(
- xSMGR->createInstance(SERVICENAME_DESKTOP),
- css::uno::UNO_QUERY_THROW);
+ css::uno::Reference< css::frame::XDesktop2 > xDesktop = css::frame::Desktop::create( comphelper::getComponentContext(xSMGR));
css::uno::Reference< css::container::XIndexAccess > xContainer(
xDesktop->getFrames(),
diff --git a/framework/source/services/backingwindow.cxx b/framework/source/services/backingwindow.cxx
index c6d83b3cc86f..d633f8760b49 100644
--- a/framework/source/services/backingwindow.cxx
+++ b/framework/source/services/backingwindow.cxx
@@ -51,6 +51,7 @@
#include "rtl/ustrbuf.hxx"
#include "osl/file.h"
+#include "com/sun/star/frame/Desktop.hpp"
#include "com/sun/star/lang/XMultiServiceFactory.hpp"
#include "com/sun/star/container/XNameAccess.hpp"
#include "com/sun/star/configuration/theDefaultProvider.hpp"
@@ -213,9 +214,8 @@ BackingWindow::BackingWindow( Window* i_pParent ) :
maToolbox.ShowItem( nItemId_Info );
// get dispatch provider
- mxDesktop = Reference<XDesktop>( comphelper::getProcessServiceFactory()->createInstance(SERVICENAME_DESKTOP ),UNO_QUERY );
- if( mxDesktop.is() )
- mxDesktopDispatchProvider = Reference< XDispatchProvider >( mxDesktop, UNO_QUERY );
+ Reference<XDesktop2> xDesktop = Desktop::create( comphelper::getProcessComponentContext() );
+ mxDesktopDispatchProvider = Reference< XDispatchProvider >( xDesktop, UNO_QUERY );
maWriterButton.SetHelpId( ".HelpId:StartCenter:WriterButton" );
maCalcButton.SetHelpId( ".HelpId:StartCenter:CalcButton" );
@@ -702,7 +702,7 @@ long BackingWindow::Notify( NotifyEvent& rNEvt )
if( ! mpAccExec )
{
mpAccExec = svt::AcceleratorExecute::createAcceleratorHelper();
- mpAccExec->init( comphelper::getProcessServiceFactory(), mxFrame);
+ mpAccExec->init( comphelper::getProcessComponentContext(), mxFrame);
}
const KeyEvent* pEvt = rNEvt.GetKeyEvent();
diff --git a/framework/source/services/backingwindow.hxx b/framework/source/services/backingwindow.hxx
index fdacdbfa630e..94c16dd24eb6 100644
--- a/framework/source/services/backingwindow.hxx
+++ b/framework/source/services/backingwindow.hxx
@@ -75,7 +75,6 @@ namespace framework
com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > aArgSeq;
};
- com::sun::star::uno::Reference<com::sun::star::frame::XDesktop> mxDesktop;
com::sun::star::uno::Reference<com::sun::star::frame::XDispatchProvider > mxDesktopDispatchProvider;
com::sun::star::uno::Reference<com::sun::star::frame::XFrame> mxFrame;
com::sun::star::uno::Reference<com::sun::star::document::XEventBroadcaster> mxBroadcaster;
diff --git a/framework/source/services/desktop.cxx b/framework/source/services/desktop.cxx
index 7913bdb1db5a..a695eb2000a9 100644
--- a/framework/source/services/desktop.cxx
+++ b/framework/source/services/desktop.cxx
@@ -79,10 +79,11 @@ namespace framework{
//*****************************************************************************************************************
// XInterface, XTypeProvider, XServiceInfo
//*****************************************************************************************************************
-DEFINE_XINTERFACE_15 ( Desktop ,
+DEFINE_XINTERFACE_16 ( Desktop ,
OWeakObject ,
DIRECT_INTERFACE( css::lang::XTypeProvider ),
DIRECT_INTERFACE( css::lang::XServiceInfo ),
+ DIRECT_INTERFACE( css::frame::XDesktop2 ),
DIRECT_INTERFACE( css::frame::XDesktop ),
DIRECT_INTERFACE( css::frame::XComponentLoader ),
DIRECT_INTERFACE( css::frame::XTasksSupplier ),
@@ -98,9 +99,10 @@ DEFINE_XINTERFACE_15 ( Desktop
DIRECT_INTERFACE( css::frame::XUntitledNumbers )
)
-DEFINE_XTYPEPROVIDER_15 ( Desktop ,
+DEFINE_XTYPEPROVIDER_16 ( Desktop ,
css::lang::XTypeProvider ,
css::lang::XServiceInfo ,
+ css::frame::XDesktop2 ,
css::frame::XDesktop ,
css::frame::XComponentLoader ,
css::frame::XTasksSupplier ,
@@ -118,7 +120,7 @@ DEFINE_XTYPEPROVIDER_15 ( Desktop
DEFINE_XSERVICEINFO_ONEINSTANCESERVICE ( Desktop ,
::cppu::OWeakObject ,
- SERVICENAME_DESKTOP ,
+ DECLARE_ASCII("com.sun.star.frame.Desktop" ),
IMPLEMENTATIONNAME_DESKTOP
)
@@ -198,7 +200,7 @@ Desktop::Desktop( const css::uno::Reference< css::lang::XMultiServiceFactory >&
// Init baseclasses first
// Attention: Don't change order of initialization!
// ThreadHelpBase is a struct with a lock as member. We can't use a lock as direct member!
- // We must garant right initialization and a valid value of this to initialize other baseclasses!
+ // We must guarantee right initialization and a valid value of this to initialize other baseclasses!
: ThreadHelpBase ( &Application::GetSolarMutex() )
, TransactionBase ( )
, ::cppu::OBroadcastHelperVar< ::cppu::OMultiTypeInterfaceContainerHelper, ::cppu::OMultiTypeInterfaceContainerHelper::keyType > ( m_aLock.getShareableOslMutex() )
diff --git a/framework/source/services/sessionlistener.cxx b/framework/source/services/sessionlistener.cxx
index 1cda58996e62..51f7a398ee86 100644
--- a/framework/source/services/sessionlistener.cxx
+++ b/framework/source/services/sessionlistener.cxx
@@ -41,7 +41,7 @@
#include <com/sun/star/frame/XStorable.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/frame/XDispatch.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/util/XModifiable.hpp>
#include <com/sun/star/util/XChangesBatch.hpp>
#include <com/sun/star/util/URLTransformer.hpp>
@@ -301,7 +301,7 @@ void SAL_CALL SessionListener::approveInteraction( sal_Bool bInteractionGranted
// first of all let the session be stored to be sure that we lose no information
StoreSession( sal_False );
- css::uno::Reference< css::frame::XDesktop > xDesktop( m_xSMGR->createInstance(SERVICENAME_DESKTOP), css::uno::UNO_QUERY_THROW);
+ css::uno::Reference< css::frame::XDesktop2 > xDesktop = css::frame::Desktop::create( comphelper::getComponentContext(m_xSMGR) );
// honestly: how many implementations of XDesktop will we ever have?
// so casting this directly to the implementation
Desktop* pDesktop(dynamic_cast<Desktop*>(xDesktop.get()));
diff --git a/framework/source/uielement/menubarmanager.cxx b/framework/source/uielement/menubarmanager.cxx
index 49c35c4cc83f..4303f4e58bc1 100644
--- a/framework/source/uielement/menubarmanager.cxx
+++ b/framework/source/uielement/menubarmanager.cxx
@@ -35,7 +35,7 @@
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/lang/DisposedException.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/PopupMenuControllerFactory.hpp>
#include <com/sun/star/container/XEnumeration.hpp>
#include <com/sun/star/util/XStringWidth.hpp>
@@ -853,7 +853,7 @@ IMPL_LINK( MenuBarManager, Activate, Menu *, pMenu )
::rtl::OUString aMenuCommand( m_aMenuItemCommand );
if ( m_aMenuItemCommand == aSpecialWindowMenu || m_aMenuItemCommand == aSlotSpecialWindowMenu || aMenuCommand == aSpecialWindowCommand )
- MenuManager::UpdateSpecialWindowMenu( pMenu,getServiceFactory(),m_aLock );
+ MenuManager::UpdateSpecialWindowMenu( pMenu, comphelper::getComponentContext(getServiceFactory()), m_aLock );
// Check if some modes have changed so we have to update our menu images
sal_Int16 nSymbolsStyle = SvtMiscOptions().GetCurrentSymbolsStyle();
@@ -1078,27 +1078,24 @@ IMPL_LINK( MenuBarManager, Select, Menu *, pMenu )
{
// window list menu item selected
- Reference< XFramesSupplier > xDesktop( getServiceFactory()->createInstance( SERVICENAME_DESKTOP ), UNO_QUERY );
+ Reference< XDesktop2 > xDesktop = Desktop::create( comphelper::getComponentContext(getServiceFactory()) );
- if ( xDesktop.is() )
+ sal_uInt16 nTaskId = START_ITEMID_WINDOWLIST;
+ Reference< XIndexAccess > xList( xDesktop->getFrames(), UNO_QUERY );
+ sal_Int32 nCount = xList->getCount();
+ for ( sal_Int32 i=0; i<nCount; ++i )
{
- sal_uInt16 nTaskId = START_ITEMID_WINDOWLIST;
- Reference< XIndexAccess > xList( xDesktop->getFrames(), UNO_QUERY );
- sal_Int32 nCount = xList->getCount();
- for ( sal_Int32 i=0; i<nCount; ++i )
+ Reference< XFrame > xFrame;
+ xList->getByIndex(i) >>= xFrame;
+ if ( xFrame.is() && nTaskId == nCurItemId )
{
- Reference< XFrame > xFrame;
- xList->getByIndex(i) >>= xFrame;
- if ( xFrame.is() && nTaskId == nCurItemId )
- {
- Window* pWin = VCLUnoHelper::GetWindow( xFrame->getContainerWindow() );
- pWin->GrabFocus();
- pWin->ToTop( TOTOP_RESTOREWHENMIN );
- break;
- }
-
- nTaskId++;
+ Window* pWin = VCLUnoHelper::GetWindow( xFrame->getContainerWindow() );
+ pWin->GrabFocus();
+ pWin->ToTop( TOTOP_RESTOREWHENMIN );
+ break;
}
+
+ nTaskId++;
}
}
else
diff --git a/linguistic/inc/linguistic/misc.hxx b/linguistic/inc/linguistic/misc.hxx
index 32637ab6c90c..3f17f045a705 100644
--- a/linguistic/inc/linguistic/misc.hxx
+++ b/linguistic/inc/linguistic/misc.hxx
@@ -46,7 +46,7 @@ namespace com { namespace sun { namespace star { namespace beans {
}}}}
namespace com { namespace sun { namespace star { namespace frame {
- class XDesktop;
+ class XDesktop2;
}}}}
class LocaleDataWrapper;
@@ -59,7 +59,6 @@ class LocaleDataWrapper;
#define SN_THESAURUS "com.sun.star.linguistic2.Thesaurus"
#define SN_LINGU_PROPERTIES "com.sun.star.linguistic2.LinguProperties"
#define SN_DICTIONARY_LIST "com.sun.star.linguistic2.DictionaryList"
-#define SN_DESKTOP "com.sun.star.frame.Desktop"
namespace linguistic
@@ -168,7 +167,7 @@ class AppExitListener :
>
{
::com::sun::star::uno::Reference<
- ::com::sun::star::frame::XDesktop > xDesktop;
+ ::com::sun::star::frame::XDesktop2 > xDesktop;
public:
AppExitListener();
diff --git a/linguistic/source/misc.cxx b/linguistic/source/misc.cxx
index 536daf4a933d..d5f237224972 100644
--- a/linguistic/source/misc.cxx
+++ b/linguistic/source/misc.cxx
@@ -12,7 +12,7 @@
* 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
+ * License, Version 2.0 (the "License"); you may not use this file754
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
@@ -30,7 +30,7 @@
#include <com/sun/star/beans/XFastPropertySet.hpp>
#include <com/sun/star/beans/XPropertyChangeListener.hpp>
#include <com/sun/star/frame/XTerminateListener.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XStorable.hpp>
#include <com/sun/star/beans/PropertyValues.hpp>
@@ -743,20 +743,15 @@ AppExitListener::AppExitListener()
{
// add object to Desktop EventListeners in order to properly call
// the AtExit function at appliction exit.
- uno::Reference< XMultiServiceFactory > xMgr(
- comphelper::getProcessServiceFactory() );
+ uno::Reference< XComponentContext > xContext( comphelper::getProcessComponentContext() );
- if (xMgr.is())
+ try
{
- try
- {
- xDesktop = uno::Reference< frame::XDesktop >(
- xMgr->createInstance( A2OU( SN_DESKTOP ) ), UNO_QUERY );
- }
- catch (uno::Exception &)
- {
- DBG_ASSERT( 0, "createInstance failed" );
- }
+ xDesktop = frame::Desktop::create(xContext);
+ }
+ catch (const uno::Exception &)
+ {
+ DBG_ASSERT( 0, "createInstance failed" );
}
}
diff --git a/odk/examples/DevelopersGuide/ProfUNO/SimpleBootstrap_cpp/SimpleBootstrap_cpp.cxx b/odk/examples/DevelopersGuide/ProfUNO/SimpleBootstrap_cpp/SimpleBootstrap_cpp.cxx
index e76f64a05a24..780c18ebcd5b 100644
--- a/odk/examples/DevelopersGuide/ProfUNO/SimpleBootstrap_cpp/SimpleBootstrap_cpp.cxx
+++ b/odk/examples/DevelopersGuide/ProfUNO/SimpleBootstrap_cpp/SimpleBootstrap_cpp.cxx
@@ -38,6 +38,7 @@
#include <sal/main.h>
#include <cppuhelper/bootstrap.hxx>
#include <com/sun/star/bridge/XUnoUrlResolver.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/lang/XMultiComponentFactory.hpp>
@@ -71,10 +72,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
// get an instance of the remote office desktop UNO service
// and query the XComponentLoader interface
- Reference < XComponentLoader > xComponentLoader(
- xServiceManager->createInstanceWithContext(
- OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ) ),
- xContext ), UNO_QUERY_THROW );
+ Reference < XDesktop2 > xComponentLoader = Desktop::create(xContext);
// open a spreadsheet document
Reference< XComponent > xComponent( xComponentLoader->loadComponentFromURL(
diff --git a/odk/examples/cpp/DocumentLoader/DocumentLoader.cxx b/odk/examples/cpp/DocumentLoader/DocumentLoader.cxx
index a41008172fc8..988f15e896ab 100644
--- a/odk/examples/cpp/DocumentLoader/DocumentLoader.cxx
+++ b/odk/examples/cpp/DocumentLoader/DocumentLoader.cxx
@@ -53,6 +53,7 @@
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/bridge/XUnoUrlResolver.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/lang/XMultiComponentFactory.hpp>
#include <com/sun/star/registry/XSimpleRegistry.hpp>
@@ -131,10 +132,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
/* Creates an instance of a component which supports the services specified
by the factory. Important: using the office component context.
*/
- Reference < XComponentLoader > xComponentLoader(
- xMultiComponentFactoryServer->createInstanceWithContext(
- OUString( "com.sun.star.frame.Desktop" ),
- xComponentContext ), UNO_QUERY );
+ Reference < XDesktop2 > xComponentLoader = Desktop::create(xComponentContext);
/* Loads a component specified by an URL into the specified new or existing
frame.
diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk
index 4ae182e80eb0..56e5f4811ba8 100644
--- a/offapi/UnoApi_offapi.mk
+++ b/offapi/UnoApi_offapi.mk
@@ -123,6 +123,7 @@ $(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/form/runti
))
$(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/frame,\
AutoRecovery \
+ Desktop \
DispatchHelper \
DispatchRecorderSupplier \
DocumentTemplates \
@@ -829,7 +830,6 @@ $(eval $(call gb_UnoApi_add_idlfiles_noheader,offapi,offapi/com/sun/star/frame,\
ContentHandler \
ContentHandlerFactory \
Controller \
- Desktop \
DesktopTask \
DesktopTasks \
DispatchProvider \
@@ -2480,6 +2480,7 @@ $(eval $(call gb_UnoApi_add_idlfiles,offapi,offapi/com/sun/star/frame,\
XController2 \
XControllerBorder \
XDesktop \
+ XDesktop2 \
XDesktopTask \
XDispatch \
XDispatchHelper \
diff --git a/offapi/com/sun/star/frame/Desktop.idl b/offapi/com/sun/star/frame/Desktop.idl
index d7a91c9009bb..c1a1c04c094a 100644
--- a/offapi/com/sun/star/frame/Desktop.idl
+++ b/offapi/com/sun/star/frame/Desktop.idl
@@ -19,11 +19,7 @@
#ifndef __com_sun_star_frame_Desktop_idl__
#define __com_sun_star_frame_Desktop_idl__
-#include <com/sun/star/frame/Frame.idl>
-#include <com/sun/star/frame/XDesktop.idl>
-#include <com/sun/star/frame/XComponentLoader.idl>
-#include <com/sun/star/document/XEventBroadcaster.idl>
-#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/frame/XDesktop2.idl>
module com { module sun { module star { module frame {
@@ -37,33 +33,7 @@
interfaces, it's just because these frames use task windows.
</p>
*/
-published service Desktop
-{
- /** make it possible to be the global root of different separated frame trees
-
- <p>
- It's not a must for a frame (neither a frame tree) to be a part of this
- global tree. But such outstanding frames won't be accessible by the normal
- frame API.
- </p>
- */
- service Frame;
-
- /** regulate life time of desktop environment and support high level
- access to components of sub frame tree
- */
- interface XDesktop;
-
- /** supports simple API for loading components into the frame environment
- */
- interface XComponentLoader;
-
- /** @deprecated This interface is a documentation error. It was never thought to be supported
- by this service. Please use the service <type cope="com::sun::star::frame">GlobalEventBroadcaster</type>
- instead of this interface.
- */
- interface com::sun::star::document::XEventBroadcaster;
-};
+published service Desktop : XDesktop2;
}; }; }; };
diff --git a/offapi/com/sun/star/frame/XDesktop2.idl b/offapi/com/sun/star/frame/XDesktop2.idl
new file mode 100644
index 000000000000..4d81cc774185
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDesktop2.idl
@@ -0,0 +1,94 @@
+/* -*- 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_frame_XDesktop2_idl__
+#define __com_sun_star_frame_XDesktop2_idl__
+
+#include <com/sun/star/frame/XComponentLoader.idl>
+#include <com/sun/star/frame/XDesktop.idl>
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#include <com/sun/star/frame/XDispatchProviderInterception.idl>
+#include <com/sun/star/frame/XFrame.idl>
+#include <com/sun/star/frame/XFramesSupplier.idl>
+#include <com/sun/star/task/XStatusIndicatorFactory.idl>
+
+
+module com { module sun { module star { module frame {
+
+/**
+ @since LibreOffice 4.1
+*/
+published interface XDesktop2
+{
+ /** provides access to dispatchers for the frame.
+
+ <p>
+ What kind of URLs a frame accepts in the calls to <member>XDispatchProvider::queryDispatch()</member>,
+ and how the returned dispatcher handles dispatches is completely implementation dependent
+ (though of course the restrictions of <type>XDispatchProvider</type> must be met).
+ Frame implementations may (optionally) support special targets in the call to
+ <member>XDispatchProvider::queryDispatch()</member>.
+ Such special targets are passed as target frame name. They may, in addition,
+ require special frame search flags (see <type>FrameSearchFlag</type>), or,
+ in opposite, limit the set of allowed flags.<br>
+ Common special targets include:
+ <ul>
+ <li><b>_blank</b><br> is used to create a new frame when dispatching the URL.</li>
+ <li><b>_default</b><br> is used to recycle empty or create a new frame when dispatching the URL.</li>
+ <li><b>_self</b><br> forces the frame to dispatch the URL into itself. ("" means the same)</li>
+ <li><b>_parent</b><br> dispatches the URL into the parent frame.</li>
+ <li><b>_top</b><br> dispatches the URL into the top level frame, the frame where this is invoked belongs to.</li>
+ </ul>
+ </p>
+
+ @see XDispatch
+ @see XFrame::findFrame()
+ */
+ interface XDispatchProvider;
+
+ /** supports interception mechanism for dispatched URLs
+
+ <p>
+ Registered objects can intercept, suppress or reroute dispatched URLs.
+ If they support another interface too (<type>XInterceptorInfo</type>)
+ it's possible to perform it by directly calling of right interceptor without
+ using list of all registered ones.
+ </p>
+ */
+ interface XDispatchProviderInterception;
+
+ /** provides access to sub frames within this frame
+ */
+ interface XFramesSupplier;
+
+ /** regulate life time of desktop environment and support high level
+ access to components of sub frame tree
+ */
+ interface XDesktop;
+
+ /** supports simple API for loading components into the frame environment
+ */
+ interface XComponentLoader;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/type_reference/types.rdb b/offapi/type_reference/types.rdb
index 7df2fa7e1ba5..cebc489d5865 100644
--- a/offapi/type_reference/types.rdb
+++ b/offapi/type_reference/types.rdb
Binary files differ
diff --git a/oox/source/helper/graphichelper.cxx b/oox/source/helper/graphichelper.cxx
index 95dd078a82ad..8cd4d8d86928 100644
--- a/oox/source/helper/graphichelper.cxx
+++ b/oox/source/helper/graphichelper.cxx
@@ -25,6 +25,7 @@
#include <com/sun/star/awt/XDevice.hpp>
#include <com/sun/star/awt/XUnitConversion.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
#include <com/sun/star/graphic/GraphicObject.hpp>
#include <com/sun/star/graphic/GraphicProvider.hpp>
@@ -69,9 +70,7 @@ GraphicHelper::GraphicHelper( const Reference< XComponentContext >& rxContext, c
maGraphicObjScheme( CREATE_OUSTRING( "vnd.sun.star.GraphicObject:" ) )
{
OSL_ENSURE( mxContext.is(), "GraphicHelper::GraphicHelper - missing component context" );
- Reference< XMultiServiceFactory > xFactory( mxContext->getServiceManager(), UNO_QUERY );
- OSL_ENSURE( xFactory.is(), "GraphicHelper::GraphicHelper - missing service factory" );
- if( xFactory.is() )
+ if( mxContext.is() )
mxGraphicProvider.set( graphic::GraphicProvider::create( mxContext ) );
//! TODO: get colors from system
@@ -109,9 +108,9 @@ GraphicHelper::GraphicHelper( const Reference< XComponentContext >& rxContext, c
// if no target frame has been passed (e.g. OLE objects), try to fallback to the active frame
// TODO: we need some mechanism to keep and pass the parent frame
Reference< XFrame > xFrame = rxTargetFrame;
- if( !xFrame.is() && xFactory.is() ) try
+ if( !xFrame.is() && mxContext.is() ) try
{
- Reference< XFramesSupplier > xFramesSupp( xFactory->createInstance( CREATE_OUSTRING( "com.sun.star.frame.Desktop" ) ), UNO_QUERY_THROW );
+ Reference< XDesktop2 > xFramesSupp = Desktop::create( mxContext );
xFrame = xFramesSupp->getActiveFrame();
}
catch( Exception& )
diff --git a/remotebridges/examples/officeclient.cxx b/remotebridges/examples/officeclient.cxx
index c672dd8463c6..400459e8e081 100644
--- a/remotebridges/examples/officeclient.cxx
+++ b/remotebridges/examples/officeclient.cxx
@@ -33,6 +33,7 @@
#include <com/sun/star/lang/XMain.hpp>
#include <com/sun/star/lang/XComponent.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/text/XTextDocument.hpp>
@@ -157,47 +158,41 @@ sal_Int32 OfficeClientMain::run( const Sequence< OUString > & aArguments ) throw
Reference< XMultiServiceFactory > rRemoteSMgr( r , UNO_QUERY );
- Reference < XComponentLoader > rLoader(
- rRemoteSMgr->createInstance( OUString( "com.sun.star.frame.Desktop" )),
- UNO_QUERY );
-
- if( rLoader.is() )
+ Reference < XDesktop2 > rLoader = Desktop::create( comphelper::getComponentContext(r) );
+
+ sal_Char *urls[] = {
+ "private:factory/swriter",
+ "private:factory/sdraw",
+ "private:factory/simpress",
+ "private:factory/scalc"
+ };
+
+ sal_Char *docu[]= {
+ "a new writer document ...\n",
+ "a new draw document ...\n",
+ "a new schedule document ...\n" ,
+ "a new calc document ...\n"
+ };
+ sal_Int32 i;
+ for( i = 0 ; i < 4 ; i ++ )
{
+ printf( "press any key to open %s\n" , docu[i] );
+ getchar();
+
+ Reference< XComponent > rComponent =
+ rLoader->loadComponentFromURL(
+ OUString::createFromAscii( urls[i] ) ,
+ OUString( "_blank"),
+ 0 ,
+ Sequence < ::com::sun::star::beans::PropertyValue >() );
- sal_Char *urls[] = {
- "private:factory/swriter",
- "private:factory/sdraw",
- "private:factory/simpress",
- "private:factory/scalc"
- };
-
- sal_Char *docu[]= {
- "a new writer document ...\n",
- "a new draw document ...\n",
- "a new schedule document ...\n" ,
- "a new calc document ...\n"
- };
- sal_Int32 i;
- for( i = 0 ; i < 4 ; i ++ )
+ if( 0 == i )
{
- printf( "press any key to open %s\n" , docu[i] );
- getchar();
-
- Reference< XComponent > rComponent =
- rLoader->loadComponentFromURL(
- OUString::createFromAscii( urls[i] ) ,
- OUString( "_blank"),
- 0 ,
- Sequence < ::com::sun::star::beans::PropertyValue >() );
-
- if( 0 == i )
- {
- testWriter( rComponent );
- }
- printf( "press any key to close the document\n" );
- getchar();
- rComponent->dispose();
+ testWriter( rComponent );
}
+ printf( "press any key to close the document\n" );
+ getchar();
+ rComponent->dispose();
}
}
diff --git a/reportdesign/source/core/api/ReportDefinition.cxx b/reportdesign/source/core/api/ReportDefinition.cxx
index 92267c311fd5..fdfe2c715cf3 100644
--- a/reportdesign/source/core/api/ReportDefinition.cxx
+++ b/reportdesign/source/core/api/ReportDefinition.cxx
@@ -52,6 +52,7 @@
#include <com/sun/star/embed/XEmbedPersist.hpp>
#include <com/sun/star/embed/XTransactedObject.hpp>
#include <com/sun/star/embed/StorageFactory.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/FrameSearchFlag.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/io/XActiveDataSource.hpp>
@@ -501,14 +502,12 @@ namespace
{
try
{
- uno::Reference<frame::XComponentLoader> xFrameLoad( m_xContext->getServiceManager()->createInstanceWithContext(
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop"))
- ,m_xContext)
- ,uno::UNO_QUERY);
+ uno::Reference<frame::XDesktop2> xDesktop = frame::Desktop::create(m_xContext);
+ uno::Reference<frame::XComponentLoader> xFrameLoad(xDesktop,uno::UNO_QUERY);
::rtl::OUString sTarget(RTL_CONSTASCII_USTRINGPARAM("_blank"));
sal_Int32 nFrameSearchFlag = frame::FrameSearchFlag::TASKS | frame::FrameSearchFlag::CREATE;
- uno::Reference< frame::XFrame> xFrame = uno::Reference< frame::XFrame>(xFrameLoad,uno::UNO_QUERY)->findFrame(sTarget,nFrameSearchFlag);
- xFrameLoad.set( xFrame,uno::UNO_QUERY);
+ uno::Reference< frame::XFrame> xFrame = xDesktop->findFrame(sTarget,nFrameSearchFlag);
+ xFrameLoad.set(xFrame,uno::UNO_QUERY);
if ( xFrameLoad.is() )
{
@@ -2673,14 +2672,13 @@ uno::Reference< frame::XTitle > OReportDefinition::impl_getTitleHelper_throw()
if ( ! m_pImpl->m_xTitleHelper.is ())
{
- uno::Reference< frame::XUntitledNumbers > xDesktop(m_aProps->m_xContext->getServiceManager()->createInstanceWithContext(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop")) ,m_aProps->m_xContext),uno::UNO_QUERY_THROW);
- uno::Reference< frame::XModel > xThis (static_cast< frame::XModel* >(this), uno::UNO_QUERY_THROW);
+ uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(m_aProps->m_xContext);
+ uno::Reference< frame::XModel > xThis(static_cast< frame::XModel* >(this), uno::UNO_QUERY_THROW);
::framework::TitleHelper* pHelper = new ::framework::TitleHelper( m_aProps->m_xContext );
m_pImpl->m_xTitleHelper = uno::Reference< frame::XTitle >(static_cast< ::cppu::OWeakObject* >(pHelper), uno::UNO_QUERY_THROW);
pHelper->setOwner (xThis );
- pHelper->connectWithUntitledNumbers (xDesktop);
+ pHelper->connectWithUntitledNumbers (uno::Reference<frame::XUntitledNumbers>(xDesktop, uno::UNO_QUERY_THROW));
}
return m_pImpl->m_xTitleHelper;
diff --git a/reportdesign/source/core/api/ReportEngineJFree.cxx b/reportdesign/source/core/api/ReportEngineJFree.cxx
index 4af87c18e2e9..cc005a39ccfa 100644
--- a/reportdesign/source/core/api/ReportEngineJFree.cxx
+++ b/reportdesign/source/core/api/ReportEngineJFree.cxx
@@ -28,6 +28,7 @@
#include <comphelper/string.hxx>
#include <com/sun/star/beans/PropertyAttribute.hpp>
#include <com/sun/star/beans/NamedValue.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/frame/FrameSearchFlag.hpp>
#include <com/sun/star/embed/XTransactedObject.hpp>
@@ -293,10 +294,7 @@ uno::Reference< frame::XModel > SAL_CALL OReportEngineJFree::createDocumentAlive
if ( !xFrameLoad.is() )
{
// if there is no frame given, find the right
- xFrameLoad.set( m_xContext->getServiceManager()->createInstanceWithContext(
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop"))
- ,m_xContext)
- ,uno::UNO_QUERY);
+ xFrameLoad.set( frame::Desktop::create(m_xContext), uno::UNO_QUERY);
::rtl::OUString sTarget(RTL_CONSTASCII_USTRINGPARAM("_blank"));
sal_Int32 nFrameSearchFlag = frame::FrameSearchFlag::TASKS | frame::FrameSearchFlag::CREATE;
uno::Reference< frame::XFrame> xFrame = uno::Reference< frame::XFrame>(xFrameLoad,uno::UNO_QUERY)->findFrame(sTarget,nFrameSearchFlag);
diff --git a/reportdesign/source/ui/inc/DesignView.hxx b/reportdesign/source/ui/inc/DesignView.hxx
index 37edf05fe71f..efaae2c8bafd 100644
--- a/reportdesign/source/ui/inc/DesignView.hxx
+++ b/reportdesign/source/ui/inc/DesignView.hxx
@@ -97,7 +97,7 @@ namespace rptui
public:
ODesignView(Window* pParent,
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >&,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >&,
OReportController& _rController);
virtual ~ODesignView();
diff --git a/reportdesign/source/ui/inc/ReportController.hxx b/reportdesign/source/ui/inc/ReportController.hxx
index 004cbe73b105..7e42e54a30f6 100644
--- a/reportdesign/source/ui/inc/ReportController.hxx
+++ b/reportdesign/source/ui/inc/ReportController.hxx
@@ -28,7 +28,7 @@
#include <com/sun/star/beans/XPropertyChangeListener.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/embed/XVisualObject.hpp>
-#include <com/sun/star/frame/XComponentLoader.hpp>
+#include <com/sun/star/frame/XDesktop2.hpp>
#include <com/sun/star/frame/XFrame.hpp>
#include <com/sun/star/io/XObjectInputStream.hpp>
#include <com/sun/star/io/XObjectOutputStream.hpp>
@@ -102,7 +102,7 @@ namespace rptui
::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition > m_xReportDefinition;
::com::sun::star::uno::Reference< ::com::sun::star::report::XReportEngine > m_xReportEngine;
- ::com::sun::star::uno::Reference< ::com::sun::star::frame::XComponentLoader > m_xFrameLoader;
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDesktop2 > m_xFrameLoader;
::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet > m_xRowSet;
::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener > m_xRowSetMediator;
diff --git a/reportdesign/source/ui/report/DesignView.cxx b/reportdesign/source/ui/report/DesignView.cxx
index d9a4f7f0b83f..8014a820dd96 100644
--- a/reportdesign/source/ui/report/DesignView.cxx
+++ b/reportdesign/source/ui/report/DesignView.cxx
@@ -87,7 +87,7 @@ public:
DBG_NAME( rpt_ODesignView )
//------------------------------------------------------------------------------
ODesignView::ODesignView( Window* pParent,
- const Reference< XMultiServiceFactory >& _rxOrb,
+ const Reference< XComponentContext >& _rxOrb,
OReportController& _rController) :
ODataView( pParent, _rController, _rxOrb, WB_DIALOGCONTROL )
,m_aSplitWin(this)
diff --git a/reportdesign/source/ui/report/ReportController.cxx b/reportdesign/source/ui/report/ReportController.cxx
index 8a46d0a29cd2..da66390983a8 100644
--- a/reportdesign/source/ui/report/ReportController.cxx
+++ b/reportdesign/source/ui/report/ReportController.cxx
@@ -87,6 +87,7 @@
#include <com/sun/star/awt/FontUnderline.hpp>
#include <com/sun/star/awt/TextAlign.hpp>
#include <com/sun/star/awt/FontSlant.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/status/FontHeight.hpp>
#include <com/sun/star/report/XFormattedField.hpp>
#include <com/sun/star/sdb/SQLContext.hpp>
@@ -1692,7 +1693,7 @@ void OReportController::impl_initialize( )
listen(true);
setEditable( !m_aReportModel->IsReadOnly() );
- m_xFormatter.set(util::NumberFormatter::create(comphelper::getComponentContext(getORB())), UNO_QUERY_THROW);
+ m_xFormatter.set(util::NumberFormatter::create(m_xContext), UNO_QUERY_THROW);
m_xFormatter->attachNumberFormatsSupplier(Reference< XNumberFormatsSupplier>(m_xReportDefinition,uno::UNO_QUERY));
::comphelper::MediaDescriptor aDescriptor( m_xReportDefinition->getArgs() );
@@ -1801,7 +1802,7 @@ void OReportController::doOpenHelpAgent()
// -----------------------------------------------------------------------------
sal_Bool OReportController::Construct(Window* pParent)
{
- ODesignView* pMyOwnView = new ODesignView( pParent, getORB(), *this );
+ ODesignView* pMyOwnView = new ODesignView( pParent, m_xContext, *this );
StartListening( *pMyOwnView );
setView( *pMyOwnView );
@@ -2844,11 +2845,11 @@ Reference<XFrame> OReportController::getXFrame()
{
if ( !m_xFrameLoader.is() )
{
- m_xFrameLoader.set(getORB()->createInstance(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop"))),uno::UNO_QUERY_THROW);
+ m_xFrameLoader.set( frame::Desktop::create(m_xContext) );
}
const sal_Int32 nFrameSearchFlag = frame::FrameSearchFlag::TASKS | frame::FrameSearchFlag::CREATE;
const ::rtl::OUString sTarget(RTL_CONSTASCII_USTRINGPARAM("_blank"));
- Reference<XFrame> xFrame = Reference<XFrame>(m_xFrameLoader,uno::UNO_QUERY_THROW)->findFrame(sTarget,nFrameSearchFlag);
+ Reference<XFrame> xFrame = m_xFrameLoader->findFrame(sTarget,nFrameSearchFlag);
return xFrame;
}
diff --git a/sc/qa/extras/macros-test.cxx b/sc/qa/extras/macros-test.cxx
index 4d63089cc4bb..364ca1b6207e 100644
--- a/sc/qa/extras/macros-test.cxx
+++ b/sc/qa/extras/macros-test.cxx
@@ -39,6 +39,7 @@
#include <sfx2/docfile.hxx>
#include <sfx2/sfxmodelfactory.hxx>
#include <svl/intitem.hxx>
+#include <com/sun/star/frame/Desktop.hpp>
#include <basic/sbxdef.hxx>
@@ -177,9 +178,7 @@ void ScMacrosTest::setUp()
getMultiServiceFactory()->createInstance(rtl::OUString(
RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.Calc.SpreadsheetDocument")));
CPPUNIT_ASSERT_MESSAGE("no calc component!", m_xCalcComponent.is());
- mxDesktop = Reference<com::sun::star::frame::XDesktop>( getMultiServiceFactory()->createInstance(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ))), UNO_QUERY );
- CPPUNIT_ASSERT(mxDesktop.is());
+ mxDesktop = com::sun::star::frame::Desktop::create( comphelper::getComponentContext(getMultiServiceFactory()) );
}
void ScMacrosTest::tearDown()
diff --git a/sc/qa/extras/regression-test.cxx b/sc/qa/extras/regression-test.cxx
index d41755fbc51f..5658618ba0d9 100644
--- a/sc/qa/extras/regression-test.cxx
+++ b/sc/qa/extras/regression-test.cxx
@@ -40,6 +40,7 @@
#include <sfx2/sfxmodelfactory.hxx>
#include <svl/intitem.hxx>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/sheet/XSpreadsheetDocument.hpp>
#include <com/sun/star/sheet/XSpreadsheet.hpp>
#include <com/sun/star/container/XIndexAccess.hpp>
@@ -166,9 +167,7 @@ void ScChartRegressionTest::setUp()
getMultiServiceFactory()->createInstance(rtl::OUString(
RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.Calc.SpreadsheetDocument")));
CPPUNIT_ASSERT_MESSAGE("no calc component!", m_xCalcComponent.is());
- mxDesktop = Reference<com::sun::star::frame::XDesktop>( getMultiServiceFactory()->createInstance(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ))), UNO_QUERY );
- CPPUNIT_ASSERT(mxDesktop.is());
+ mxDesktop = com::sun::star::frame::Desktop::create( comphelper::getComponentContext(getMultiServiceFactory()) );
}
void ScChartRegressionTest::tearDown()
diff --git a/sc/source/filter/excel/xlroot.cxx b/sc/source/filter/excel/xlroot.cxx
index b8c9796a4682..dbc470346115 100644
--- a/sc/source/filter/excel/xlroot.cxx
+++ b/sc/source/filter/excel/xlroot.cxx
@@ -20,6 +20,7 @@
#include "xlroot.hxx"
#include <rtl/strbuf.hxx>
#include <com/sun/star/awt/XDevice.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XFrame.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
#include <com/sun/star/i18n/ScriptType.hpp>
@@ -141,8 +142,7 @@ XclRootData::XclRootData( XclBiff eBiff, SfxMedium& rMedium,
// screen pixel size
try
{
- Reference< XMultiServiceFactory > xFactory( ::comphelper::getProcessServiceFactory(), UNO_SET_THROW );
- Reference< XFramesSupplier > xFramesSupp( xFactory->createInstance( "com.sun.star.frame.Desktop" ), UNO_QUERY_THROW );
+ Reference< frame::XDesktop2 > xFramesSupp = frame::Desktop::create( ::comphelper::getProcessComponentContext() );
Reference< XFrame > xFrame( xFramesSupp->getActiveFrame(), UNO_SET_THROW );
Reference< XDevice > xDevice( xFrame->getContainerWindow(), UNO_QUERY_THROW );
DeviceInfo aDeviceInfo = xDevice->getInfo();
diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx
index 7dba3539522b..df3f2ade6650 100644
--- a/sc/source/ui/docshell/docsh4.cxx
+++ b/sc/source/ui/docshell/docsh4.cxx
@@ -18,6 +18,7 @@
*/
#include <com/sun/star/embed/XEmbeddedObject.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
using namespace ::com::sun::star;
@@ -2254,11 +2255,7 @@ uno::Reference< frame::XModel > ScDocShell::LoadSharedDocument()
try
{
SC_MOD()->SetInSharedDocLoading( true );
- uno::Reference< lang::XMultiServiceFactory > xFactory(
- ::comphelper::getProcessServiceFactory(), uno::UNO_QUERY_THROW );
- uno::Reference< frame::XComponentLoader > xLoader(
- xFactory->createInstance( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ) ) ),
- uno::UNO_QUERY_THROW );
+ uno::Reference< frame::XDesktop2 > xLoader = frame::Desktop::create( ::comphelper::getProcessComponentContext() );
uno::Sequence < beans::PropertyValue > aArgs( 1 );
aArgs[0].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Hidden" ));
aArgs[0].Value <<= sal_True;
diff --git a/sc/source/ui/vba/testvba/testvba.cxx b/sc/source/ui/vba/testvba/testvba.cxx
index 8d68d0ddbd23..433dea872408 100644
--- a/sc/source/ui/vba/testvba/testvba.cxx
+++ b/sc/source/ui/vba/testvba/testvba.cxx
@@ -24,6 +24,7 @@
#include <com/sun/star/beans/XPropertySetInfo.hpp>
#include <com/sun/star/container/XNameAccess.hpp>
#include <com/sun/star/container/XNameContainer.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/lang/XMultiComponentFactory.hpp>
#include <com/sun/star/sheet/XSpreadsheet.hpp>
@@ -293,8 +294,7 @@ int main( int argv, char** argc )
Reference<XMultiComponentFactory> xFactory = xCC->getServiceManager();
OSL_TRACE("got servicemanager");
std::cout << "got servicemanager" << std::endl;
- Reference<XInterface> desktop = xFactory->createInstanceWithContext(
- ascii("com.sun.star.frame.Desktop"), xCC);
+ Reference<XDesktop2> desktop = Desktop::create(xCC);
OSL_TRACE("got desktop");
std::cout << "got desktop" << std::endl;
Reference<frame::XComponentLoader> xLoader(desktop, UNO_QUERY_THROW);
diff --git a/sc/source/ui/vba/vbahelper.cxx b/sc/source/ui/vba/vbahelper.cxx
index f8ae29e0ad91..96c1aeb44df0 100644
--- a/sc/source/ui/vba/vbahelper.cxx
+++ b/sc/source/ui/vba/vbahelper.cxx
@@ -21,7 +21,7 @@
#include <com/sun/star/frame/XDispatchProvider.hpp>
#include <com/sun/star/frame/XModel.hpp>
#include <com/sun/star/frame/XFrame.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XController.hpp>
#include <com/sun/star/script/Converter.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
@@ -270,9 +270,7 @@ getCurrentDocument() throw (uno::RuntimeException)
{
uno::Reference< uno::XComponentContext > xCtx(
comphelper::getProcessComponentContext() );
- uno::Reference<lang::XMultiComponentFactory > xSMgr(
- xCtx->getServiceManager() );
- uno::Reference< frame::XDesktop > xDesktop (xSMgr->createInstanceWithContext(::rtl::OUString("com.sun.star.frame.Desktop"), xCtx), uno::UNO_QUERY_THROW );
+ uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(xCtx);
xModel.set( xDesktop->getCurrentComponent(), uno::UNO_QUERY );
if ( !xModel.is() )
{
diff --git a/sc/source/ui/vba/vbawindows.cxx b/sc/source/ui/vba/vbawindows.cxx
index b78d8eb1eff3..56ddccf9e9c0 100644
--- a/sc/source/ui/vba/vbawindows.cxx
+++ b/sc/source/ui/vba/vbawindows.cxx
@@ -21,7 +21,7 @@
#include <boost/unordered_map.hpp>
#include <com/sun/star/sheet/XSpreadsheetDocument.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <cppuhelper/implbase3.hxx>
#include "vbawindow.hxx"
@@ -66,11 +66,7 @@ public:
WindowComponentEnumImpl( const uno::Reference< uno::XComponentContext >& xContext ) throw ( uno::RuntimeException ) : m_xContext( xContext )
{
- uno::Reference< lang::XMultiComponentFactory > xSMgr(
- m_xContext->getServiceManager(), uno::UNO_QUERY_THROW );
-
- uno::Reference< frame::XDesktop > xDesktop
- (xSMgr->createInstanceWithContext(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop")), m_xContext), uno::UNO_QUERY_THROW );
+ uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(m_xContext);
uno::Reference< container::XEnumeration > mxComponents = xDesktop->getComponents()->createEnumeration();
while( mxComponents->hasMoreElements() )
{
diff --git a/sc/source/ui/vba/vbaworksheet.cxx b/sc/source/ui/vba/vbaworksheet.cxx
index fac9a46dcf95..3fdc2c8bab22 100644
--- a/sc/source/ui/vba/vbaworksheet.cxx
+++ b/sc/source/ui/vba/vbaworksheet.cxx
@@ -47,7 +47,7 @@
#include <com/sun/star/sheet/XNamedRanges.hpp>
#include <com/sun/star/util/XURLTransformer.hpp>
#include <com/sun/star/frame/XDispatchProvider.hpp>
-#include <com/sun/star/frame/XComponentLoader.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/table/XColumnRowRange.hpp>
#include <com/sun/star/table/XTableChartsSupplier.hpp>
#include <com/sun/star/drawing/XDrawPageSupplier.hpp>
@@ -160,13 +160,8 @@ openNewDoc(rtl::OUString aSheetName )
{
uno::Reference< uno::XComponentContext > xContext(
comphelper::getProcessComponentContext() );
- uno::Reference<lang::XMultiComponentFactory > xServiceManager(
- xContext->getServiceManager() );
- uno::Reference <frame::XComponentLoader > xComponentLoader(
- xServiceManager->createInstanceWithContext(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ) ),
- xContext ), uno::UNO_QUERY_THROW );
+ uno::Reference <frame::XDesktop2 > xComponentLoader = frame::Desktop::create(xContext);
uno::Reference<lang::XComponent > xComponent( xComponentLoader->loadComponentFromURL(
rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "private:factory/scalc" ) ),
diff --git a/scripting/source/basprov/basmethnode.cxx b/scripting/source/basprov/basmethnode.cxx
index d81b7133f32f..5b826cd8510f 100644
--- a/scripting/source/basprov/basmethnode.cxx
+++ b/scripting/source/basprov/basmethnode.cxx
@@ -20,7 +20,7 @@
#include "basmethnode.hxx"
#include <com/sun/star/beans/PropertyAttribute.hpp>
#include <com/sun/star/frame/DispatchHelper.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XDispatchProvider.hpp>
#include <com/sun/star/lang/XMultiComponentFactory.hpp>
#include <com/sun/star/script/browse/BrowseNodeTypes.hpp>
@@ -250,35 +250,26 @@ namespace basprov
if ( m_xContext.is() )
{
- Reference< XMultiComponentFactory > xSMgr( m_xContext->getServiceManager() );
+ Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create( m_xContext );
- if ( xSMgr.is() )
- {
- Reference< frame::XDesktop > xDesktop( xSMgr->createInstanceWithContext(
- ::rtl::OUString( "com.sun.star.frame.Desktop" ), m_xContext ), UNO_QUERY );
-
- if ( xDesktop.is() )
- {
- Reference < frame::XDispatchProvider > xProv( xDesktop->getCurrentFrame(), UNO_QUERY );
+ Reference < frame::XDispatchProvider > xProv( xDesktop->getCurrentFrame(), UNO_QUERY );
- if ( xProv.is() )
- {
- Reference< frame::XDispatchHelper > xHelper( frame::DispatchHelper::create( m_xContext ) );
-
- Sequence < PropertyValue > aArgs(7);
- aArgs[0].Name = ::rtl::OUString("Document");
- aArgs[0].Value <<= sDocURL;
- aArgs[1].Name = ::rtl::OUString("LibName");
- aArgs[1].Value <<= sLibName;
- aArgs[2].Name = ::rtl::OUString("Name");
- aArgs[2].Value <<= sModName;
- aArgs[3].Name = ::rtl::OUString("Type");
- aArgs[3].Value <<= ::rtl::OUString("Module");
- aArgs[4].Name = ::rtl::OUString("Line");
- aArgs[4].Value <<= static_cast< sal_uInt32 >( nLine1 );
- xHelper->executeDispatch( xProv, ::rtl::OUString(".uno:BasicIDEAppear"), ::rtl::OUString(), 0, aArgs );
- }
- }
+ if ( xProv.is() )
+ {
+ Reference< frame::XDispatchHelper > xHelper( frame::DispatchHelper::create( m_xContext ) );
+
+ Sequence < PropertyValue > aArgs(7);
+ aArgs[0].Name = ::rtl::OUString("Document");
+ aArgs[0].Value <<= sDocURL;
+ aArgs[1].Name = ::rtl::OUString("LibName");
+ aArgs[1].Value <<= sLibName;
+ aArgs[2].Name = ::rtl::OUString("Name");
+ aArgs[2].Value <<= sModName;
+ aArgs[3].Name = ::rtl::OUString("Type");
+ aArgs[3].Value <<= ::rtl::OUString("Module");
+ aArgs[4].Name = ::rtl::OUString("Line");
+ aArgs[4].Value <<= static_cast< sal_uInt32 >( nLine1 );
+ xHelper->executeDispatch( xProv, ::rtl::OUString(".uno:BasicIDEAppear"), ::rtl::OUString(), 0, aArgs );
}
}
}
diff --git a/sd/source/ui/dlg/sdtreelb.cxx b/sd/source/ui/dlg/sdtreelb.cxx
index 45155eeae38f..902001c76ecb 100644
--- a/sd/source/ui/dlg/sdtreelb.cxx
+++ b/sd/source/ui/dlg/sdtreelb.cxx
@@ -47,7 +47,7 @@
#include "ViewShellBase.hxx"
#include <com/sun/star/embed/XEmbedPersist.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
#include <svtools/embedtransfer.hxx>
#include "svtools/treelistentry.hxx"
@@ -1383,15 +1383,9 @@ void SdPageObjsTLB::AddShapeToTransferable (
try
{
// Get a component enumeration from the desktop and search it for documents.
- uno::Reference<lang::XMultiServiceFactory> xFactory (
- ::comphelper::getProcessServiceFactory ());
- if ( ! xFactory.is())
- return NULL;
+ uno::Reference<uno::XComponentContext> xContext( ::comphelper::getProcessComponentContext());
- uno::Reference<frame::XDesktop> xDesktop (xFactory->createInstance (
- ::rtl::OUString::createFromAscii("com.sun.star.frame.Desktop")), uno::UNO_QUERY);
- if ( ! xDesktop.is())
- return NULL;
+ uno::Reference<frame::XDesktop2> xDesktop = frame::Desktop::create(xContext);
uno::Reference<frame::XFramesSupplier> xFrameSupplier (xDesktop, uno::UNO_QUERY);
if ( ! xFrameSupplier.is())
diff --git a/sd/source/ui/dlg/tpoption.cxx b/sd/source/ui/dlg/tpoption.cxx
index 8e819662efee..ecb7d9efa5e6 100644
--- a/sd/source/ui/dlg/tpoption.cxx
+++ b/sd/source/ui/dlg/tpoption.cxx
@@ -24,7 +24,7 @@
#include <com/sun/star/document/PrinterIndependentLayout.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/lang/XComponent.hpp>
#include <com/sun/star/container/XEnumerationAccess.hpp>
#include <comphelper/processfactory.hxx>
@@ -721,16 +721,10 @@ void SdTpOptionsMisc::UpdateCompatibilityControls (void)
try
{
// Get a component enumeration from the desktop and search it for documents.
- Reference<lang::XMultiServiceFactory> xFactory (
- ::comphelper::getProcessServiceFactory ());
+ Reference<uno::XComponentContext> xContext( ::comphelper::getProcessComponentContext());
do
{
- if ( ! xFactory.is())
- break;
-
- Reference<frame::XDesktop> xDesktop (xFactory->createInstance ("com.sun.star.frame.Desktop"), UNO_QUERY);
- if ( ! xDesktop.is())
- break;
+ Reference<frame::XDesktop2> xDesktop = frame::Desktop::create(xContext);
Reference<container::XEnumerationAccess> xComponents (
xDesktop->getComponents(), UNO_QUERY);
diff --git a/sd/source/ui/remotecontrol/Communicator.cxx b/sd/source/ui/remotecontrol/Communicator.cxx
index f567b106ff8d..ebe5627e2442 100644
--- a/sd/source/ui/remotecontrol/Communicator.cxx
+++ b/sd/source/ui/remotecontrol/Communicator.cxx
@@ -9,6 +9,7 @@
#include <algorithm>
#include <vector>
+#include <com/sun/star/frame/Desktop.hpp>
#include <comphelper/processfactory.hxx>
#include "Communicator.hxx"
@@ -43,10 +44,7 @@ void Communicator::execute()
Transmitter::PRIORITY_HIGH );
Receiver aReceiver( pTransmitter );
try {
- uno::Reference< lang::XMultiServiceFactory > xServiceManager(
- ::comphelper::getProcessServiceFactory(), uno::UNO_QUERY_THROW );
- uno::Reference< frame::XFramesSupplier > xFramesSupplier( xServiceManager->createInstance(
- "com.sun.star.frame.Desktop" ) , uno::UNO_QUERY_THROW );
+ uno::Reference< frame::XDesktop2 > xFramesSupplier = frame::Desktop::create( ::comphelper::getProcessComponentContext() );
uno::Reference< frame::XFrame > xFrame ( xFramesSupplier->getActiveFrame(), uno::UNO_QUERY_THROW );
uno::Reference<presentation::XPresentationSupplier> xPS ( xFrame->getController()->getModel(), uno::UNO_QUERY_THROW);
uno::Reference<presentation::XPresentation2> xPresentation(
diff --git a/sd/source/ui/remotecontrol/Receiver.cxx b/sd/source/ui/remotecontrol/Receiver.cxx
index 968fbb4e4ee7..e0d05b0b09ea 100644
--- a/sd/source/ui/remotecontrol/Receiver.cxx
+++ b/sd/source/ui/remotecontrol/Receiver.cxx
@@ -11,6 +11,7 @@
#include <com/sun/star/presentation/XSlideShowController.hpp>
#include <com/sun/star/presentation/XPresentationSupplier.hpp>
#include <com/sun/star/presentation/XPresentation2.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
#include <com/sun/star/uno/RuntimeException.hpp>
@@ -41,10 +42,7 @@ void Receiver::parseCommand( std::vector<OString> aCommand )
uno::Reference<presentation::XSlideShowController> xSlideShowController;
uno::Reference<presentation::XPresentation2> xPresentation;
try {
- uno::Reference< lang::XMultiServiceFactory > xServiceManager(
- ::comphelper::getProcessServiceFactory(), uno::UNO_QUERY_THROW );
- uno::Reference< frame::XFramesSupplier > xFramesSupplier( xServiceManager->createInstance(
- "com.sun.star.frame.Desktop" ) , uno::UNO_QUERY_THROW );
+ uno::Reference< frame::XDesktop2 > xFramesSupplier = frame::Desktop::create( ::comphelper::getProcessComponentContext() );
uno::Reference< frame::XFrame > xFrame ( xFramesSupplier->getActiveFrame(), uno::UNO_QUERY_THROW );
uno::Reference<presentation::XPresentationSupplier> xPS ( xFrame->getController()->getModel(), uno::UNO_QUERY_THROW);
xPresentation = uno::Reference<presentation::XPresentation2>(
diff --git a/sd/source/ui/toolpanel/controls/MasterPageContainer.cxx b/sd/source/ui/toolpanel/controls/MasterPageContainer.cxx
index c35e08bc3555..f5bd19d90e52 100644
--- a/sd/source/ui/toolpanel/controls/MasterPageContainer.cxx
+++ b/sd/source/ui/toolpanel/controls/MasterPageContainer.cxx
@@ -31,6 +31,7 @@
#include <set>
#include "unomodel.hxx"
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/io/XStream.hpp>
#include <com/sun/star/io/XInputStream.hpp>
@@ -990,11 +991,8 @@ Reference<frame::XModel> MasterPageContainer::Implementation::GetModel (void)
if ( ! mxModel.is())
{
// Get the desktop a s service factory.
- ::rtl::OUString sDesktopServiceName ( "com.sun.star.frame.Desktop");
- uno::Reference<frame::XComponentLoader> xDesktop (
- ::comphelper::getProcessServiceFactory()->createInstance(
- sDesktopServiceName),
- uno::UNO_QUERY);
+ uno::Reference<frame::XDesktop2> xDesktop = frame::Desktop::create(
+ ::comphelper::getProcessComponentContext() );
// Create a new model.
::rtl::OUString sModelServiceName ( "com.sun.star.presentation.PresentationDocument");
diff --git a/sdext/source/minimizer/graphiccollector.cxx b/sdext/source/minimizer/graphiccollector.cxx
index 8c13a1c59ae3..10558e2933e1 100644
--- a/sdext/source/minimizer/graphiccollector.cxx
+++ b/sdext/source/minimizer/graphiccollector.cxx
@@ -20,6 +20,7 @@
#include "graphiccollector.hxx"
#include <com/sun/star/awt/XDevice.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
#include <com/sun/star/drawing/FillStyle.hpp>
#include <com/sun/star/drawing/BitmapMode.hpp>
@@ -46,8 +47,7 @@ const DeviceInfo& GraphicCollector::GetDeviceInfo( const Reference< XComponentCo
{
try
{
- Reference< XFramesSupplier > xDesktop( rxFact->getServiceManager()->createInstanceWithContext(
- OUString( "com.sun.star.frame.Desktop" ), rxFact ), UNO_QUERY_THROW );
+ Reference< XDesktop2 > xDesktop = Desktop::create( rxFact );
Reference< XFrame > xFrame( xDesktop->getActiveFrame() );
Reference< XWindow > xWindow( xFrame->getContainerWindow() );
Reference< XDevice > xDevice( xWindow, UNO_QUERY_THROW );
diff --git a/sdext/source/minimizer/impoptimizer.cxx b/sdext/source/minimizer/impoptimizer.cxx
index c8882639312e..4a496d57e6f2 100644
--- a/sdext/source/minimizer/impoptimizer.cxx
+++ b/sdext/source/minimizer/impoptimizer.cxx
@@ -32,7 +32,7 @@
#include <com/sun/star/awt/Size.hpp>
#include <com/sun/star/util/MeasureUnit.hpp>
#include <com/sun/star/frame/XModel.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/awt/XWindow.hpp>
#include <com/sun/star/frame/XStorable.hpp>
#include <com/sun/star/frame/FrameSearchFlag.hpp>
@@ -681,10 +681,8 @@ sal_Bool ImpOptimizer::Optimize( const Sequence< PropertyValue >& rArguments )
SetStatusValue( TK_Status, Any( TKGet( STR_DUPLICATING_PRESENTATION ) ) );
DispatchStatus();
- Reference< XDesktop > xDesktop( mxMSF->getServiceManager()->createInstanceWithContext(
- OUString( "com.sun.star.frame.Desktop" ), mxMSF ), UNO_QUERY );
- Reference< XFrame > xFrame( xDesktop, UNO_QUERY );
- xSelf = xFrame->findFrame( TKGet( TK__blank ), FrameSearchFlag::CREATE );
+ Reference< XDesktop2 > xDesktop = Desktop::create( mxMSF );
+ xSelf = xDesktop->findFrame( TKGet( TK__blank ), FrameSearchFlag::CREATE );
Reference< XComponentLoader > xComponentLoader( xSelf, UNO_QUERY );
Sequence< PropertyValue > aLoadProps( 1 );
diff --git a/sfx2/inc/templatedlg.hxx b/sfx2/inc/templatedlg.hxx
index 44a665312dce..4a18ab2afa4e 100644
--- a/sfx2/inc/templatedlg.hxx
+++ b/sfx2/inc/templatedlg.hxx
@@ -15,6 +15,7 @@
#include <vcl/dialog.hxx>
#include <vcl/button.hxx>
#include <vcl/tabctrl.hxx>
+#include <com/sun/star/frame/XDesktop2.hpp>
class Edit;
class PopupMenu;
@@ -143,7 +144,7 @@ private:
bool mbIsSaveMode; ///< Flag that indicates if we are in save mode or not.
com::sun::star::uno::Reference< com::sun::star::frame::XModel > m_xModel;
- com::sun::star::uno::Reference< com::sun::star::frame::XComponentLoader > mxDesktop;
+ com::sun::star::uno::Reference< com::sun::star::frame::XDesktop2 > mxDesktop;
bool mbIsSynced; ///< Tells whether maRepositories is synchronized with the user config
std::vector<TemplateRepository*> maRepositories; ///< Stores the remote repositories for templates
diff --git a/sfx2/source/appl/appinit.cxx b/sfx2/source/appl/appinit.cxx
index e4fd8cde0e8f..1e0864f0f694 100644
--- a/sfx2/source/appl/appinit.cxx
+++ b/sfx2/source/appl/appinit.cxx
@@ -22,7 +22,7 @@
#include <com/sun/star/frame/XTerminateListener.hpp>
#include <com/sun/star/uno/Reference.hxx>
#include <com/sun/star/frame/GlobalEventBroadcaster.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <svtools/soerr.hxx>
@@ -215,9 +215,7 @@ bool SfxApplication::Initialize_Impl()
StgIo::SetErrorLink( LINK( this, SfxStorageErrHdl, Error ) );
#endif
- Reference < XDesktop > xDesktop ( ::comphelper::getProcessServiceFactory()->createInstance( DEFINE_CONST_UNICODE("com.sun.star.frame.Desktop") ), UNO_QUERY );
- if (!xDesktop.is())
- throw RuntimeException( rtl::OUString( "Couldn't create mandatory desktop service!" ), xDesktop );
+ Reference < XDesktop2 > xDesktop = Desktop::create ( ::comphelper::getProcessComponentContext() );
xDesktop->addTerminateListener( new SfxTerminateListener_Impl() );
Application::EnableAutoHelpId();
diff --git a/sfx2/source/appl/appopen.cxx b/sfx2/source/appl/appopen.cxx
index 9a295b726c38..f9714d41a636 100644
--- a/sfx2/source/appl/appopen.cxx
+++ b/sfx2/source/appl/appopen.cxx
@@ -25,7 +25,7 @@
#include <com/sun/star/frame/XDispatchProvider.hpp>
#include <com/sun/star/util/XCloseable.hpp>
#include <com/sun/star/frame/XFrame.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/DispatchResultState.hpp>
#include <com/sun/star/frame/XDispatchResultListener.hpp>
#include <com/sun/star/util/URL.hpp>
@@ -1147,7 +1147,7 @@ void SfxApplication::OpenDocExec_Impl( SfxRequest& rReq )
}
else
{
- xTargetFrame.set( ::comphelper::getProcessServiceFactory()->createInstance(::rtl::OUString("com.sun.star.frame.Desktop")), UNO_QUERY );
+ xTargetFrame.set( Desktop::create(::comphelper::getProcessComponentContext()), UNO_QUERY );
}
}
diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx
index 4a4fc90f94a5..3d09aece7037 100644
--- a/sfx2/source/appl/appserv.cxx
+++ b/sfx2/source/appl/appserv.cxx
@@ -20,6 +20,7 @@
#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/frame/Desktop.hpp>
#include <com/sun/star/frame/DispatchResultEvent.hpp>
#include <com/sun/star/frame/DispatchResultState.hpp>
#include <com/sun/star/task/XJobExecutor.hpp>
@@ -205,7 +206,7 @@ static sal_Bool checkURL( const char *pName, const char *pExt, rtl::OUString &rU
static void showDocument( const char* pBaseName )
{
try {
- Reference < XComponentLoader > xLoader( ::comphelper::getProcessServiceFactory()->createInstance(::rtl::OUString("com.sun.star.frame.Desktop") ), UNO_QUERY );
+ Reference < XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
Sequence < com::sun::star::beans::PropertyValue > args(2);
args[0].Name = ::rtl::OUString("ViewOnly");
args[0].Value <<= sal_True;
@@ -216,7 +217,7 @@ static void showDocument( const char* pBaseName )
if ( checkURL ( pBaseName, ".odt", aURL ) ||
checkURL ( pBaseName, ".html", aURL ) ||
checkURL ( pBaseName, "", aURL ) ) {
- xLoader->loadComponentFromURL( aURL, ::rtl::OUString("_blank"), 0, args );
+ xDesktop->loadComponentFromURL( aURL, ::rtl::OUString("_blank"), 0, args );
}
} catch (const ::com::sun::star::uno::Exception &) {
}
@@ -353,7 +354,7 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq )
// block reentrant calls
pAppData_Impl->bInQuit = sal_True;
- Reference < XDesktop > xDesktop ( ::comphelper::getProcessServiceFactory()->createInstance( DEFINE_CONST_UNICODE("com.sun.star.frame.Desktop") ), UNO_QUERY );
+ Reference < XDesktop2 > xDesktop = Desktop::create ( ::comphelper::getProcessComponentContext() );
rReq.ForgetAllArgs();
@@ -419,7 +420,7 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq )
case SID_CLOSEWINS:
{
- Reference < XFramesSupplier > xDesktop ( ::comphelper::getProcessServiceFactory()->createInstance( DEFINE_CONST_UNICODE("com.sun.star.frame.Desktop") ), UNO_QUERY );
+ Reference < XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
Reference< XIndexAccess > xTasks( xDesktop->getFrames(), UNO_QUERY );
if ( !xTasks.is() )
break;
@@ -695,10 +696,8 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq )
if ( pToolbarName )
{
- com::sun::star::uno::Reference< com::sun::star::frame::XFrame > xFrame;
- Reference < XFramesSupplier > xDesktop ( ::comphelper::getProcessServiceFactory()->createInstance(
- DEFINE_CONST_UNICODE("com.sun.star.frame.Desktop") ), UNO_QUERY );
- xFrame = xDesktop->getActiveFrame();
+ Reference < XDesktop2 > xDesktop = Desktop::create ( ::comphelper::getProcessComponentContext() );
+ Reference< XFrame > xFrame = xDesktop->getActiveFrame();
Reference< com::sun::star::beans::XPropertySet > xPropSet( xFrame, UNO_QUERY );
Reference< ::com::sun::star::frame::XLayoutManager > xLayoutManager;
@@ -819,7 +818,7 @@ void SfxApplication::MiscState_Impl(SfxItemSet &rSet)
case SID_CLOSEDOCS:
case SID_CLOSEWINS:
{
- Reference < XFramesSupplier > xDesktop ( ::comphelper::getProcessServiceFactory()->createInstance( DEFINE_CONST_UNICODE("com.sun.star.frame.Desktop") ), UNO_QUERY );
+ Reference < XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
Reference< XIndexAccess > xTasks( xDesktop->getFrames(), UNO_QUERY );
if ( !xTasks.is() || !xTasks->getCount() )
rSet.DisableItem(nWhich);
@@ -993,14 +992,14 @@ namespace
}
return pView;
}
- Reference< XFrame > lcl_findStartModuleFrame( const ::comphelper::ComponentContext& i_rContext )
+ Reference< XFrame > lcl_findStartModuleFrame( const Reference<XComponentContext> & rxContext )
{
try
{
- Reference < XFramesSupplier > xSupplier( i_rContext.createComponent( "com.sun.star.frame.Desktop" ), UNO_QUERY_THROW );
- Reference < XIndexAccess > xContainer( xSupplier->getFrames(), UNO_QUERY_THROW );
+ Reference < XDesktop2 > xDesktop = Desktop::create( rxContext );
+ Reference < XIndexAccess > xContainer( xDesktop->getFrames(), UNO_QUERY_THROW );
- Reference< XModuleManager2 > xCheck( ModuleManager::create(i_rContext.getUNOContext()) );
+ Reference< XModuleManager2 > xCheck = ModuleManager::create(rxContext);
sal_Int32 nCount = xContainer->getCount();
for ( sal_Int32 i=0; i<nCount; ++i )
@@ -1166,7 +1165,7 @@ void SfxApplication::OfaExec_Impl( SfxRequest& rReq )
aLoadArgs.put( "Model", pBasicIDE->GetModel() );
aLoadArgs.put( "URL", ::rtl::OUString( "private:factory/sbasic" ) );
- Reference< XFrame > xTargetFrame( lcl_findStartModuleFrame( aContext ) );
+ Reference< XFrame > xTargetFrame( lcl_findStartModuleFrame( aContext.getUNOContext() ) );
if ( !xTargetFrame.is() )
xTargetFrame = SfxFrame::CreateBlankFrame();
ENSURE_OR_THROW( xTargetFrame.is(), "could not obtain a frameto load the Basic IDE into!" );
diff --git a/sfx2/source/appl/sfxhelp.cxx b/sfx2/source/appl/sfxhelp.cxx
index b2be3e3f78de..0adbf1229b34 100644
--- a/sfx2/source/appl/sfxhelp.cxx
+++ b/sfx2/source/appl/sfxhelp.cxx
@@ -22,6 +22,7 @@
#include <set>
#include <algorithm>
#include <com/sun/star/uno/Reference.h>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XFrame.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/lang/XComponent.hpp>
@@ -414,12 +415,10 @@ OUString getDefaultModule_Impl()
OUString getCurrentModuleIdentifier_Impl()
{
OUString sIdentifier;
- Reference < XFrame > xCurrentFrame;
- Reference < XModuleManager2 > xModuleManager( ModuleManager::create(::comphelper::getProcessComponentContext()) );
- Reference < XDesktop > xDesktop( ::comphelper::getProcessServiceFactory()->createInstance(
- DEFINE_CONST_UNICODE("com.sun.star.frame.Desktop") ), UNO_QUERY );
- if ( xDesktop.is() )
- xCurrentFrame = xDesktop->getCurrentFrame();
+ Reference < XComponentContext > xContext = ::comphelper::getProcessComponentContext();
+ Reference < XModuleManager2 > xModuleManager = ModuleManager::create(xContext);
+ Reference < XDesktop2 > xDesktop = Desktop::create(xContext);
+ Reference < XFrame > xCurrentFrame = xDesktop->getCurrentFrame();
if ( xCurrentFrame.is() )
{
@@ -542,8 +541,7 @@ OUString SfxHelp::CreateHelpURL_Impl( const OUString& aCommandURL, const OUStrin
SfxHelpWindow_Impl* impl_createHelp(Reference< XFrame >& rHelpTask ,
Reference< XFrame >& rHelpContent)
{
- Reference < XFrame > xDesktop( ::comphelper::getProcessServiceFactory()->createInstance(
- DEFINE_CONST_UNICODE("com.sun.star.frame.Desktop") ), UNO_QUERY );
+ Reference < XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
// otherwhise - create new help task
Reference< XFrame > xHelpTask = xDesktop->findFrame(
@@ -746,8 +744,7 @@ sal_Bool SfxHelp::Start_Impl(const OUString& rURL, const Window* pWindow, const
}
}
- Reference < XFrame > xDesktop( ::comphelper::getProcessServiceFactory()->createInstance(
- DEFINE_CONST_UNICODE("com.sun.star.frame.Desktop") ), UNO_QUERY );
+ Reference < XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
// check if help window is still open
// If not, create a new one and return access directly to the internal sub frame showing the help content
@@ -813,11 +810,8 @@ void SfxHelp::OpenHelpAgent( const OString& sHelpId )
Reference< XURLTransformer > xTrans( URLTransformer::create( ::comphelper::getProcessComponentContext() ) );
xTrans->parseStrict(aURL);
- Reference < XFrame > xCurrentFrame;
- Reference < XDesktop > xDesktop( ::comphelper::getProcessServiceFactory()->createInstance(
- DEFINE_CONST_UNICODE("com.sun.star.frame.Desktop") ), UNO_QUERY );
- if ( xDesktop.is() )
- xCurrentFrame = xDesktop->getCurrentFrame();
+ Reference < XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
+ Reference < XFrame > xCurrentFrame = xDesktop->getCurrentFrame();
Reference< XDispatchProvider > xDispProv( xCurrentFrame, UNO_QUERY );
Reference< XDispatch > xHelpDispatch;
diff --git a/sfx2/source/appl/shutdownicon.cxx b/sfx2/source/appl/shutdownicon.cxx
index f8cf04083351..ba6fd3f307bb 100644
--- a/sfx2/source/appl/shutdownicon.cxx
+++ b/sfx2/source/appl/shutdownicon.cxx
@@ -24,6 +24,7 @@
#include <svtools/imagemgr.hxx>
#include <svtools/miscopt.hxx>
#include <com/sun/star/task/InteractionHandler.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XDispatchResultListener.hpp>
#include <com/sun/star/frame/XNotifyingDispatch.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
@@ -100,7 +101,7 @@ void SAL_CALL SfxNotificationListener_Impl::disposing( const EventObject& ) thro
{
}
-SFX_IMPL_XSERVICEINFO( ShutdownIcon, "com.sun.star.office.Quickstart", "com.sun.star.comp.desktop.QuickstartWrapper" ) \
+SFX_IMPL_XSERVICEINFO_CTX( ShutdownIcon, "com.sun.star.office.Quickstart", "com.sun.star.comp.desktop.QuickstartWrapper" ) \
SFX_IMPL_ONEINSTANCEFACTORY( ShutdownIcon );
bool ShutdownIcon::bModalMode = false;
@@ -210,9 +211,9 @@ public:
class IdleTerminate : Timer
{
- Reference< XDesktop > m_xDesktop;
+ Reference< XDesktop2 > m_xDesktop;
public:
- IdleTerminate (Reference< XDesktop > xDesktop)
+ IdleTerminate (Reference< XDesktop2 > xDesktop)
{
m_xDesktop = xDesktop;
Start();
@@ -254,14 +255,14 @@ void ShutdownIcon::deInitSystray()
}
-ShutdownIcon::ShutdownIcon( Reference< XMultiServiceFactory > aSMgr ) :
+ShutdownIcon::ShutdownIcon( const Reference< XComponentContext > & rxContext ) :
ShutdownIconServiceBase( m_aMutex ),
m_bVeto ( false ),
m_bListenForTermination ( false ),
m_bSystemDialogs( false ),
m_pResMgr( NULL ),
m_pFileDlg( NULL ),
- m_xServiceManager( aSMgr ),
+ m_xContext( rxContext ),
m_pInitSystray( 0 ),
m_pDeInitSystray( 0 ),
m_pPlugin( 0 ),
@@ -567,7 +568,7 @@ void ShutdownIcon::addTerminateListener()
if (pInst->m_bListenForTermination)
return;
- Reference< XDesktop > xDesktop = pInst->m_xDesktop;
+ Reference< XDesktop2 > xDesktop = pInst->m_xDesktop;
if ( ! xDesktop.is())
return;
@@ -583,7 +584,7 @@ void ShutdownIcon::terminateDesktop()
if ( ! pInst)
return;
- Reference< XDesktop > xDesktop = pInst->m_xDesktop;
+ Reference< XDesktop2 > xDesktop = pInst->m_xDesktop;
if ( ! xDesktop.is())
return;
@@ -592,13 +593,9 @@ void ShutdownIcon::terminateDesktop()
xDesktop->removeTerminateListener( pInst );
// terminate desktop only if no tasks exist
- Reference< XFramesSupplier > xSupplier( xDesktop, UNO_QUERY );
- if ( xSupplier.is() )
- {
- Reference< XIndexAccess > xTasks ( xSupplier->getFrames(), UNO_QUERY );
- if( xTasks.is() && xTasks->getCount() < 1 )
- new IdleTerminate( xDesktop );
- }
+ Reference< XIndexAccess > xTasks ( xDesktop->getFrames(), UNO_QUERY );
+ if( xTasks.is() && xTasks->getCount() < 1 )
+ new IdleTerminate( xDesktop );
// remove the instance pointer
ShutdownIcon::pShutdownIcon = 0;
@@ -621,8 +618,7 @@ ShutdownIcon* ShutdownIcon::createInstance()
ShutdownIcon *pIcon = NULL;
try {
- Reference< XMultiServiceFactory > xSMgr( comphelper::getProcessServiceFactory() );
- pIcon = new ShutdownIcon( xSMgr );
+ pIcon = new ShutdownIcon( comphelper::getProcessComponentContext() );
pIcon->init ();
pShutdownIcon = pIcon;
} catch (...) {
@@ -641,9 +637,7 @@ void ShutdownIcon::init() throw( ::com::sun::star::uno::Exception )
::osl::ResettableMutexGuard aGuard( m_aMutex );
m_pResMgr = pResMgr;
aGuard.clear();
- Reference < XDesktop > xDesktop( m_xServiceManager->createInstance(
- DEFINE_CONST_UNICODE( "com.sun.star.frame.Desktop" )),
- UNO_QUERY );
+ Reference < XDesktop2 > xDesktop = Desktop::create( m_xContext );
aGuard.reset();
m_xDesktop = xDesktop;
}
@@ -652,8 +646,8 @@ void ShutdownIcon::init() throw( ::com::sun::star::uno::Exception )
void SAL_CALL ShutdownIcon::disposing()
{
- m_xServiceManager = Reference< XMultiServiceFactory >();
- m_xDesktop = Reference< XDesktop >();
+ m_xContext.clear();
+ m_xDesktop.clear();
}
// ---------------------------------------------------------------------------
diff --git a/sfx2/source/appl/shutdownicon.hxx b/sfx2/source/appl/shutdownicon.hxx
index b8ed97d5d9e2..cfa5e5371409 100644
--- a/sfx2/source/appl/shutdownicon.hxx
+++ b/sfx2/source/appl/shutdownicon.hxx
@@ -21,7 +21,7 @@
#define __SHUTDOWNICON_HXX__
#include <com/sun/star/frame/XTerminateListener.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/XDesktop2.hpp>
#include <com/sun/star/lang/XSingleServiceFactory.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/lang/XComponent.hpp>
@@ -68,7 +68,7 @@ class SFX2_DLLPUBLIC ShutdownIcon : public ShutdownIconServiceBase
bool m_bSystemDialogs;
ResMgr* m_pResMgr;
sfx2::FileDialogHelper* m_pFileDlg;
- ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xServiceManager;
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
static ShutdownIcon *pShutdownIcon; // one instance
@@ -90,7 +90,7 @@ class SFX2_DLLPUBLIC ShutdownIcon : public ShutdownIconServiceBase
friend class SfxNotificationListener_Impl;
public:
- ShutdownIcon( ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > aSMgr );
+ ShutdownIcon( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > & rxContext );
virtual ~ShutdownIcon();
@@ -159,7 +159,7 @@ class SFX2_DLLPUBLIC ShutdownIcon : public ShutdownIconServiceBase
::com::sun::star::lang::WrappedTargetException,
::com::sun::star::uno::RuntimeException);
- ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDesktop > m_xDesktop;
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDesktop2 > m_xDesktop;
#ifdef WNT
static void EnableAutostartW32( const rtl::OUString &aShortcutName );
diff --git a/sfx2/source/doc/doctempl.cxx b/sfx2/source/doc/doctempl.cxx
index aa3c60327b8e..7d258b46ff95 100644
--- a/sfx2/source/doc/doctempl.cxx
+++ b/sfx2/source/doc/doctempl.cxx
@@ -41,6 +41,7 @@
#include <com/sun/star/beans/XPropertySetInfo.hpp>
#include <com/sun/star/document/XTypeDetection.hpp>
#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/frame/DocumentTemplates.hpp>
#include <com/sun/star/frame/XDocumentTemplates.hpp>
@@ -105,7 +106,6 @@ using ::std::advance;
#define COMMAND_TRANSFER "transfer"
#define SERVICENAME_DOCINFO "com.sun.star.document.DocumentProperties"
-#define SERVICENAME_DESKTOP "com.sun.star.frame.Desktop"
//========================================================================
@@ -889,9 +889,7 @@ sal_Bool SfxDocumentTemplates::CopyFrom
}
else
{
- OUString aService( SERVICENAME_DESKTOP );
- uno::Reference< XComponentLoader > xDesktop( ::comphelper::getProcessServiceFactory()->createInstance( aService ),
- UNO_QUERY );
+ uno::Reference< XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );;
Sequence< PropertyValue > aArgs( 1 );
aArgs[0].Name = ::rtl::OUString("Hidden");
diff --git a/sfx2/source/doc/objxtor.cxx b/sfx2/source/doc/objxtor.cxx
index 08b2743acc7f..6bc7a7260d9e 100644
--- a/sfx2/source/doc/objxtor.cxx
+++ b/sfx2/source/doc/objxtor.cxx
@@ -25,6 +25,7 @@
#include <com/sun/star/util/XCloseable.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/util/XCloseBroadcaster.hpp>
#include <com/sun/star/util/XCloseListener.hpp>
#include <com/sun/star/util/XModifyBroadcaster.hpp>
@@ -1100,8 +1101,7 @@ Reference<lang::XComponent> SfxObjectShell::CreateAndLoadComponent( const SfxIte
xLoader = uno::Reference < frame::XComponentLoader >( pFrame->GetFrameInterface(), uno::UNO_QUERY );
}
else
- xLoader = uno::Reference < frame::XComponentLoader >( comphelper::getProcessServiceFactory()->createInstance(
- ::rtl::OUString("com.sun.star.frame.Desktop") ), uno::UNO_QUERY );
+ xLoader = uno::Reference < frame::XComponentLoader >( frame::Desktop::create(comphelper::getProcessComponentContext()), uno::UNO_QUERY );
Reference <lang::XComponent> xComp;
try
diff --git a/sfx2/source/doc/sfxbasemodel.cxx b/sfx2/source/doc/sfxbasemodel.cxx
index 5dd7d63246c1..d0cb58f35c3b 100644
--- a/sfx2/source/doc/sfxbasemodel.cxx
+++ b/sfx2/source/doc/sfxbasemodel.cxx
@@ -26,6 +26,7 @@
#include <com/sun/star/lang/DisposedException.hpp>
#include <com/sun/star/lang/IllegalArgumentException.hpp>
#include <com/sun/star/lang/WrappedTargetRuntimeException.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/IllegalArgumentIOException.hpp>
#include <com/sun/star/frame/XUntitledNumbers.hpp>
#include <com/sun/star/frame/UntitledNumbersConst.hpp>
@@ -3904,8 +3905,7 @@ css::uno::Reference< css::frame::XTitle > SfxBaseModel::impl_getTitleHelper ()
{
css::uno::Reference< css::lang::XMultiServiceFactory > xSMGR = ::comphelper::getProcessServiceFactory();
css::uno::Reference< css::uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext();
- const ::rtl::OUString SERVICENAME_DESKTOP("com.sun.star.frame.Desktop");
- css::uno::Reference< css::frame::XUntitledNumbers > xDesktop(xSMGR->createInstance(SERVICENAME_DESKTOP), css::uno::UNO_QUERY_THROW);
+ css::uno::Reference< css::frame::XUntitledNumbers > xDesktop( css::frame::Desktop::create(xContext), css::uno::UNO_QUERY_THROW);
css::uno::Reference< css::frame::XModel > xThis (static_cast< css::frame::XModel* >(this), css::uno::UNO_QUERY_THROW);
::framework::TitleHelper* pHelper = new ::framework::TitleHelper(xContext);
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index 26cf58bf8f12..48a7cff69ee8 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -41,6 +41,7 @@
#include <com/sun/star/beans/PropertyValue.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/XComponentLoader.hpp>
#include <com/sun/star/frame/XStorable.hpp>
#include <com/sun/star/lang/XComponent.hpp>
@@ -107,7 +108,7 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent)
maView(new TemplateLocalView(this,SfxResId(TEMPLATE_VIEW))),
mpOnlineView(new TemplateRemoteView(this, WB_VSCROLL,false)),
mbIsSaveMode(false),
- mxDesktop(comphelper::getProcessServiceFactory()->createInstance( "com.sun.star.frame.Desktop" ),uno::UNO_QUERY ),
+ mxDesktop( Desktop::create(comphelper::getProcessComponentContext()) ),
mbIsSynced(false),
maRepositories()
{
diff --git a/sfx2/source/inet/inettbc.cxx b/sfx2/source/inet/inettbc.cxx
index 181204607a10..1a70998f1d2c 100644
--- a/sfx2/source/inet/inettbc.cxx
+++ b/sfx2/source/inet/inettbc.cxx
@@ -21,6 +21,7 @@
#include "inettbc.hxx"
#include <com/sun/star/uno/Any.h>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
#include <com/sun/star/task/XInteractionHandler.hpp>
#include <svl/eitem.hxx>
@@ -182,9 +183,7 @@ IMPL_LINK_NOARG(SfxURLToolBoxControl_Impl, OpenHdl)
if ( m_xServiceManager.is() )
{
- Reference< XFramesSupplier > xDesktop( m_xServiceManager->createInstance(
- ::rtl::OUString("com.sun.star.frame.Desktop")),
- UNO_QUERY );
+ Reference< XDesktop2 > xDesktop = Desktop::create( comphelper::getComponentContext(m_xServiceManager) );
Reference< XFrame > xFrame( xDesktop->getActiveFrame(), UNO_QUERY );
if ( xFrame.is() )
{
diff --git a/sfx2/source/menu/virtmenu.cxx b/sfx2/source/menu/virtmenu.cxx
index d056d9cb9ee4..81f186c3e541 100644
--- a/sfx2/source/menu/virtmenu.cxx
+++ b/sfx2/source/menu/virtmenu.cxx
@@ -23,7 +23,7 @@
#include <svtools/imagemgr.hxx>
#include <svl/imageitm.hxx>
#include <com/sun/star/container/XEnumeration.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
#include <comphelper/processfactory.hxx>
#include <toolkit/unohlp.hxx>
@@ -842,34 +842,29 @@ IMPL_LINK( SfxVirtualMenu, Activate, Menu *, pMenu )
{
// update window list
::std::vector< ::rtl::OUString > aNewWindowListVector;
- Reference< XDesktop > xDesktop( ::comphelper::getProcessServiceFactory()->createInstance(
- DEFINE_CONST_OUSTRING( "com.sun.star.frame.Desktop" ) ), UNO_QUERY );
+ Reference< XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );;
sal_uInt16 nActiveItemId = 0;
sal_uInt16 nItemId = START_ITEMID_WINDOWLIST;
- if ( xDesktop.is() )
+ Reference< XFrame > xCurrentFrame = xDesktop->getCurrentFrame();
+ Reference< XIndexAccess > xList ( xDesktop->getFrames(), UNO_QUERY );
+ sal_Int32 nFrameCount = xList->getCount();
+ for( sal_Int32 i=0; i<nFrameCount; ++i )
{
- Reference< XFramesSupplier > xTasksSupplier( xDesktop, UNO_QUERY );
- Reference< XFrame > xCurrentFrame = xDesktop->getCurrentFrame();
- Reference< XIndexAccess > xList ( xTasksSupplier->getFrames(), UNO_QUERY );
- sal_Int32 nFrameCount = xList->getCount();
- for( sal_Int32 i=0; i<nFrameCount; ++i )
- {
- Reference< XFrame > xFrame;
- Any aVal = xList->getByIndex(i);
- if (!(aVal>>=xFrame) || !xFrame.is() )
- continue;
+ Reference< XFrame > xFrame;
+ Any aVal = xList->getByIndex(i);
+ if (!(aVal>>=xFrame) || !xFrame.is() )
+ continue;
- if ( xFrame == xCurrentFrame )
- nActiveItemId = nItemId;
+ if ( xFrame == xCurrentFrame )
+ nActiveItemId = nItemId;
- Window* pWin = VCLUnoHelper::GetWindow( xFrame->getContainerWindow() );
- if ( pWin && pWin->IsVisible() )
- {
- aNewWindowListVector.push_back( pWin->GetText() );
- ++nItemId;
- }
+ Window* pWin = VCLUnoHelper::GetWindow( xFrame->getContainerWindow() );
+ if ( pWin && pWin->IsVisible() )
+ {
+ aNewWindowListVector.push_back( pWin->GetText() );
+ ++nItemId;
}
}
@@ -974,27 +969,23 @@ IMPL_LINK( SfxVirtualMenu, Select, Menu *, pMenu )
if ( nSlotId >= START_ITEMID_WINDOWLIST && nSlotId <= END_ITEMID_WINDOWLIST )
{
// window list menu item selected
- Reference< XFramesSupplier > xDesktop( ::comphelper::getProcessServiceFactory()->createInstance(
- DEFINE_CONST_OUSTRING( "com.sun.star.frame.Desktop" ) ), UNO_QUERY );
- if ( xDesktop.is() )
+ Reference< XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
+ sal_uInt16 nTaskId = START_ITEMID_WINDOWLIST;
+ Reference< XIndexAccess > xList( xDesktop->getFrames(), UNO_QUERY );
+ sal_Int32 nFrameCount = xList->getCount();
+ for ( sal_Int32 i=0; i<nFrameCount; ++i )
{
- sal_uInt16 nTaskId = START_ITEMID_WINDOWLIST;
- Reference< XIndexAccess > xList( xDesktop->getFrames(), UNO_QUERY );
- sal_Int32 nFrameCount = xList->getCount();
- for ( sal_Int32 i=0; i<nFrameCount; ++i )
+ Any aItem = xList->getByIndex(i);
+ Reference< XFrame > xFrame;
+ if (( aItem >>= xFrame ) && xFrame.is() && nTaskId == nSlotId )
{
- Any aItem = xList->getByIndex(i);
- Reference< XFrame > xFrame;
- if (( aItem >>= xFrame ) && xFrame.is() && nTaskId == nSlotId )
- {
- Window* pWin = VCLUnoHelper::GetWindow( xFrame->getContainerWindow() );
- pWin->GrabFocus();
- pWin->ToTop( TOTOP_RESTOREWHENMIN );
- break;
- }
-
- nTaskId++;
+ Window* pWin = VCLUnoHelper::GetWindow( xFrame->getContainerWindow() );
+ pWin->GrabFocus();
+ pWin->ToTop( TOTOP_RESTOREWHENMIN );
+ break;
}
+
+ nTaskId++;
}
return sal_True;
diff --git a/sfx2/source/notify/eventsupplier.cxx b/sfx2/source/notify/eventsupplier.cxx
index 8218d20236f5..81db58e525c6 100644
--- a/sfx2/source/notify/eventsupplier.cxx
+++ b/sfx2/source/notify/eventsupplier.cxx
@@ -21,6 +21,7 @@
#include <com/sun/star/util/URL.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/task/JobExecutor.hpp>
#include <com/sun/star/util/URLTransformer.hpp>
#include <com/sun/star/util/XURLTransformer.hpp>
@@ -247,12 +248,9 @@ static void Execute( ANY& aEventData, const css::document::DocumentEvent& aTrigg
}
else
{
- xProv = ::com::sun::star::uno::Reference
- < ::com::sun::star::frame::XDispatchProvider > (
- ::comphelper::getProcessServiceFactory()->createInstance(
- rtl::OUString(
- "com.sun.star.frame.Desktop" ) ),
- UNO_QUERY );
+ xProv = css::uno::Reference< css::frame::XDispatchProvider > (
+ css::frame::Desktop::create( ::comphelper::getProcessComponentContext() ),
+ UNO_QUERY );
}
::com::sun::star::uno::Reference < ::com::sun::star::frame::XDispatch > xDisp;
diff --git a/sfx2/source/toolbox/tbxitem.cxx b/sfx2/source/toolbox/tbxitem.cxx
index 64e8901ed514..f88a781da7d4 100644
--- a/sfx2/source/toolbox/tbxitem.cxx
+++ b/sfx2/source/toolbox/tbxitem.cxx
@@ -33,6 +33,7 @@
#include <com/sun/star/lang/XUnoTunnel.hpp>
#include <com/sun/star/document/MacroExecMode.hpp>
#include <com/sun/star/document/UpdateDocMode.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
@@ -1623,33 +1624,27 @@ long Select_Impl( void* /*pHdl*/, void* pVoid )
if( !aURL.Len() )
return 0;
- Reference < ::com::sun::star::frame::XFramesSupplier > xDesktop =
- Reference < ::com::sun::star::frame::XFramesSupplier >( ::comphelper::getProcessServiceFactory()->createInstance(
- DEFINE_CONST_UNICODE("com.sun.star.frame.Desktop") ), UNO_QUERY );
- Reference < ::com::sun::star::frame::XFrame > xFrame( xDesktop, UNO_QUERY );
+ Reference < ::com::sun::star::frame::XDesktop2 > xDesktop =
+ ::com::sun::star::frame::Desktop::create( ::comphelper::getProcessComponentContext() );
URL aTargetURL;
aTargetURL.Complete = aURL;
Reference < XURLTransformer > xTrans( URLTransformer::create( ::comphelper::getProcessComponentContext() ) );
xTrans->parseStrict( aTargetURL );
- Reference < XDispatchProvider > xProv( xFrame, UNO_QUERY );
Reference < XDispatch > xDisp;
- if ( xProv.is() )
+ if ( aTargetURL.Protocol.compareToAscii("slot:") == COMPARE_EQUAL )
+ xDisp = xDesktop->queryDispatch( aTargetURL, ::rtl::OUString(), 0 );
+ else
{
- if ( aTargetURL.Protocol.compareToAscii("slot:") == COMPARE_EQUAL )
- xDisp = xProv->queryDispatch( aTargetURL, ::rtl::OUString(), 0 );
- else
- {
- ::rtl::OUString aTargetFrame( ::rtl::OUString("_blank") );
- ::framework::MenuConfiguration::Attributes* pMenuAttributes =
- (::framework::MenuConfiguration::Attributes*)pMenu->GetUserValue( pMenu->GetCurItemId() );
+ ::rtl::OUString aTargetFrame( ::rtl::OUString("_blank") );
+ ::framework::MenuConfiguration::Attributes* pMenuAttributes =
+ (::framework::MenuConfiguration::Attributes*)pMenu->GetUserValue( pMenu->GetCurItemId() );
- if ( pMenuAttributes )
- aTargetFrame = pMenuAttributes->aTargetFrame;
+ if ( pMenuAttributes )
+ aTargetFrame = pMenuAttributes->aTargetFrame;
- xDisp = xProv->queryDispatch( aTargetURL, aTargetFrame , 0 );
- }
+ xDisp = xDesktop->queryDispatch( aTargetURL, aTargetFrame , 0 );
}
if ( xDisp.is() )
diff --git a/sfx2/source/view/frame2.cxx b/sfx2/source/view/frame2.cxx
index 08dabbbea4c8..3b4c060de69f 100644
--- a/sfx2/source/view/frame2.cxx
+++ b/sfx2/source/view/frame2.cxx
@@ -34,6 +34,7 @@
#include <com/sun/star/awt/XWindow2.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/frame/XFrame.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
@@ -227,8 +228,7 @@ Reference < XFrame > SfxFrame::CreateBlankFrame()
Reference < XFrame > xFrame;
try
{
- ::comphelper::ComponentContext aContext( ::comphelper::getProcessServiceFactory() );
- Reference < XFrame > xDesktop( aContext.createComponent( "com.sun.star.frame.Desktop" ), UNO_QUERY_THROW );
+ Reference < XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
xFrame.set( xDesktop->findFrame( DEFINE_CONST_UNICODE("_blank"), 0 ), UNO_SET_THROW );
}
catch( const Exception& )
@@ -245,7 +245,7 @@ SfxFrame* SfxFrame::Create( SfxObjectShell& rDoc, Window& rWindow, sal_uInt16 nV
{
// create and initialize new top level frame for this window
::comphelper::ComponentContext aContext( ::comphelper::getProcessServiceFactory() );
- Reference < XFramesSupplier > xDesktop( aContext.createComponent( "com.sun.star.frame.Desktop" ), UNO_QUERY_THROW );
+ Reference < XDesktop2 > xDesktop = Desktop::create( aContext.getUNOContext() );
Reference < XFrame > xFrame( aContext.createComponent( "com.sun.star.frame.Frame"), UNO_QUERY_THROW );
Reference< awt::XWindow2 > xWin( VCLUnoHelper::GetInterface ( &rWindow ), uno::UNO_QUERY_THROW );
diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx
index b97f7615ecbf..5cdfe81dccbe 100644
--- a/sfx2/source/view/viewfrm.cxx
+++ b/sfx2/source/view/viewfrm.cxx
@@ -23,6 +23,7 @@
#include <sfx2/infobar.hxx>
#include <sfx2/viewfrm.hxx>
#include <com/sun/star/document/MacroExecMode.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/DispatchRecorderSupplier.hpp>
#include <com/sun/star/frame/XLoadable.hpp>
#include <com/sun/star/frame/XLayoutManager.hpp>
@@ -1869,8 +1870,7 @@ SfxViewFrame* SfxViewFrame::LoadViewIntoFrame_Impl_NoThrow( const SfxObjectShell
{
if ( !xFrame.is() )
{
- ::comphelper::ComponentContext aContext( ::comphelper::getProcessServiceFactory() );
- Reference < XFrame > xDesktop( aContext.createComponent( "com.sun.star.frame.Desktop" ), UNO_QUERY_THROW );
+ Reference < XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
if ( !i_bHidden )
{
@@ -2321,13 +2321,11 @@ void SfxViewFrame::ExecView_Impl
*/
sal_Bool impl_maxOpenDocCountReached()
{
- static ::rtl::OUString SERVICE_DESKTOP("com.sun.star.frame.Desktop");
-
try
{
- css::uno::Reference< css::lang::XMultiServiceFactory > xSMGR = ::comphelper::getProcessServiceFactory();
+ css::uno::Reference< css::uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext();
css::uno::Any aVal = ::comphelper::ConfigurationHelper::readDirectKey(
- ::comphelper::getProcessComponentContext(),
+ xContext,
::rtl::OUString("org.openoffice.Office.Common/"),
::rtl::OUString("Misc"),
::rtl::OUString("MaxOpenDocuments"),
@@ -2341,7 +2339,7 @@ sal_Bool impl_maxOpenDocCountReached()
sal_Int32 nMaxDocs = 0;
aVal >>= nMaxDocs;
- css::uno::Reference< css::frame::XFramesSupplier > xDesktop(xSMGR->createInstance(SERVICE_DESKTOP), css::uno::UNO_QUERY_THROW);
+ css::uno::Reference< css::frame::XDesktop2 > xDesktop = css::frame::Desktop::create(xContext);
css::uno::Reference< css::container::XIndexAccess > xCont (xDesktop->getFrames() , css::uno::UNO_QUERY_THROW);
sal_Int32 c = xCont->getCount();
diff --git a/sfx2/source/view/viewsh.cxx b/sfx2/source/view/viewsh.cxx
index 466d8261b595..ee97af94bc56 100644
--- a/sfx2/source/view/viewsh.cxx
+++ b/sfx2/source/view/viewsh.cxx
@@ -1648,7 +1648,7 @@ sal_Bool SfxViewShell::ExecKey_Impl(const KeyEvent& aKey)
{
pImp->m_pAccExec.reset(
::svt::AcceleratorExecute::createAcceleratorHelper() );
- pImp->m_pAccExec->init(::comphelper::getProcessServiceFactory(),
+ pImp->m_pAccExec->init(::comphelper::getProcessComponentContext(),
pFrame->GetFrame().GetFrameInterface());
}
diff --git a/smoketest/smoketest.cxx b/smoketest/smoketest.cxx
index 8b565f091888..36b3585f40a5 100644
--- a/smoketest/smoketest.cxx
+++ b/smoketest/smoketest.cxx
@@ -24,6 +24,7 @@
#include "com/sun/star/beans/PropertyState.hpp"
#include "com/sun/star/beans/PropertyValue.hpp"
#include "com/sun/star/document/MacroExecMode.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/frame/XComponentLoader.hpp"
@@ -155,21 +156,16 @@ void Test::test() {
RTL_CONSTASCII_USTRINGPARAM(
"vnd.sun.star.script:Standard.Global.StartTestWithDefaultOptions?"
"language=Basic&location=document"));
+
+ css::uno::Reference< css::frame::XDesktop2 > xDesktop = css::frame::Desktop::create(connection_.getComponentContext());
+
css::uno::Reference< css::frame::XNotifyingDispatch > disp(
css::uno::Reference< css::frame::XDispatchProvider >(
css::uno::Reference< css::frame::XController >(
css::uno::Reference< css::frame::XModel >(
- css::uno::Reference< css::frame::XComponentLoader >(
- (connection_.getComponentContext()->
- getServiceManager()->createInstanceWithContext(
- rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.frame.Desktop")),
- connection_.getComponentContext())),
- css::uno::UNO_QUERY_THROW)->loadComponentFromURL(
+ xDesktop->loadComponentFromURL(
test::toAbsoluteFileUrl(doc),
- rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM("_default")),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("_default")),
0, args),
css::uno::UNO_QUERY_THROW)->getCurrentController(),
css::uno::UNO_SET_THROW)->getFrame(),
diff --git a/starmath/source/view.cxx b/starmath/source/view.cxx
index 8214774c9216..e006c1ccb016 100644
--- a/starmath/source/view.cxx
+++ b/starmath/source/view.cxx
@@ -22,7 +22,7 @@
#include <com/sun/star/accessibility/AccessibleStateType.hpp>
#include <com/sun/star/accessibility/XAccessible.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
#include <com/sun/star/container/XChild.hpp>
@@ -812,33 +812,23 @@ IMPL_LINK( SmCmdBoxWindow, InitialFocusTimerHdl, Timer *, EMPTYARG /*pTimer*/ )
try
{
- uno::Reference< frame::XDesktop > xDesktop;
- uno::Reference< lang::XMultiServiceFactory > xSMGR( comphelper::getProcessServiceFactory() );
- if (xSMGR.is())
- {
- xDesktop = uno::Reference< frame::XDesktop >(
- xSMGR->createInstance( "com.sun.star.frame.Desktop"), uno::UNO_QUERY_THROW );
- }
+ uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create( comphelper::getProcessComponentContext() );
aEdit.GrabFocus();
- if (xDesktop.is())
+ bool bInPlace = GetView()->GetViewFrame()->GetFrame().IsInPlace();
+ uno::Reference< frame::XFrame > xFrame( GetBindings().GetDispatcher()->GetFrame()->GetFrame().GetFrameInterface());
+ if ( bInPlace )
{
- bool bInPlace = GetView()->GetViewFrame()->GetFrame().IsInPlace();
- uno::Reference< frame::XFrame > xFrame( GetBindings().GetDispatcher()->GetFrame()->GetFrame().GetFrameInterface());
- if ( bInPlace )
- {
- uno::Reference< container::XChild > xModel( GetView()->GetDoc()->GetModel(), uno::UNO_QUERY_THROW );
- uno::Reference< frame::XModel > xParent( xModel->getParent(), uno::UNO_QUERY_THROW );
- uno::Reference< frame::XController > xParentCtrler( xParent->getCurrentController() );
- uno::Reference< frame::XFramesSupplier > xParentFrame( xParentCtrler->getFrame(), uno::UNO_QUERY_THROW );
- xParentFrame->setActiveFrame( xFrame );
- }
- else
- {
- uno::Reference< frame::XFramesSupplier > xFramesSupplier( xDesktop, uno::UNO_QUERY );
- xFramesSupplier->setActiveFrame( xFrame );
- }
+ uno::Reference< container::XChild > xModel( GetView()->GetDoc()->GetModel(), uno::UNO_QUERY_THROW );
+ uno::Reference< frame::XModel > xParent( xModel->getParent(), uno::UNO_QUERY_THROW );
+ uno::Reference< frame::XController > xParentCtrler( xParent->getCurrentController() );
+ uno::Reference< frame::XFramesSupplier > xParentFrame( xParentCtrler->getFrame(), uno::UNO_QUERY_THROW );
+ xParentFrame->setActiveFrame( xFrame );
+ }
+ else
+ {
+ xDesktop->setActiveFrame( xFrame );
}
}
catch (uno::Exception &)
diff --git a/svtools/inc/svtools/acceleratorexecute.hxx b/svtools/inc/svtools/acceleratorexecute.hxx
index 15a7ae4c4683..a3661adfdcef 100644
--- a/svtools/inc/svtools/acceleratorexecute.hxx
+++ b/svtools/inc/svtools/acceleratorexecute.hxx
@@ -24,7 +24,6 @@
#include <vector>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/frame/XFrame.hpp>
#include <com/sun/star/frame/XDispatchProvider.hpp>
@@ -86,7 +85,7 @@ class SVT_DLLPUBLIC AcceleratorExecute : private TMutexInit
private:
/** TODO document me */
- css::uno::Reference< css::lang::XMultiServiceFactory > m_xSMGR;
+ css::uno::Reference< css::uno::XComponentContext > m_xContext;
/** TODO document me */
css::uno::Reference< css::util::XURLTransformer > m_xURLParser;
@@ -153,7 +152,7 @@ class SVT_DLLPUBLIC AcceleratorExecute : private TMutexInit
executions will be used inside the old and which one
will be used inside the new environment.
- @param xSMGR
+ @param rxContext
reference to an uno service manager.
@param xEnv
@@ -167,7 +166,7 @@ class SVT_DLLPUBLIC AcceleratorExecute : private TMutexInit
is used only. Further the global Desktop instance is
used for dispatch.
*/
- virtual void init(const css::uno::Reference< css::lang::XMultiServiceFactory >& xSMGR,
+ virtual void init(const css::uno::Reference< css::uno::XComponentContext >& rxContext,
const css::uno::Reference< css::frame::XFrame >& xEnv );
//---------------------------------------
diff --git a/svtools/source/contnr/templwin.cxx b/svtools/source/contnr/templwin.cxx
index 011dff19961d..676593564425 100644
--- a/svtools/source/contnr/templwin.cxx
+++ b/svtools/source/contnr/templwin.cxx
@@ -45,6 +45,7 @@
#include <com/sun/star/util/URLTransformer.hpp>
#include <com/sun/star/util/XURLTransformer.hpp>
#include <com/sun/star/util/XOfficeInstallationDirectories.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XDispatchProvider.hpp>
#include <com/sun/star/frame/DocumentTemplates.hpp>
#include <com/sun/star/frame/XDocumentTemplates.hpp>
@@ -717,8 +718,8 @@ void SvtFrameWindow_Impl::OpenFile( const String& rURL, sal_Bool bPreview, sal_B
if ( rURL.Match( sServiceScheme ) != sServiceScheme.Len() )
// service URL has no default target
aTarget = ASCII_STR("_default");
- xProv = Reference < XDispatchProvider >( ::comphelper::getProcessServiceFactory()->
- createInstance( ASCII_STR("com.sun.star.frame.Desktop") ), UNO_QUERY );
+ xProv = Reference < XDispatchProvider >( Desktop::create(::comphelper::getProcessComponentContext() ),
+ UNO_QUERY_THROW );
}
Reference < XDispatch > xDisp = xProv.is() ?
@@ -979,8 +980,7 @@ void SvtTemplateWindow::PrintFile( const String& rURL )
aArgs[1].Name = ASCII_STR("Hidden");
aArgs[1].Value <<= sal_True;
- Reference < XComponentLoader > xDesktop( ::comphelper::getProcessServiceFactory()->
- createInstance( ASCII_STR("com.sun.star.frame.Desktop") ), UNO_QUERY );
+ Reference < XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
Reference < XModel > xModel( xDesktop->loadComponentFromURL(
rURL, ASCII_STR("_blank"), 0, aArgs ), UNO_QUERY );
if ( xModel.is() )
@@ -1617,9 +1617,7 @@ IMPL_LINK_NOARG(SvtDocumentTemplateDialog , OrganizerHdl_Impl)
{
Window* pOldDefWin = Application::GetDefDialogParent();
Application::SetDefDialogParent( this );
- Reference < XFramesSupplier > xDesktop = Reference < XFramesSupplier >(
- ::comphelper::getProcessServiceFactory()->
- createInstance( ASCII_STR("com.sun.star.frame.Desktop") ), UNO_QUERY );
+ Reference < XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
Reference < XFrame > xFrame( xDesktop->getActiveFrame() );
if ( !xFrame.is() )
xFrame = Reference < XFrame >( xDesktop, UNO_QUERY );
diff --git a/svtools/source/misc/acceleratorexecute.cxx b/svtools/source/misc/acceleratorexecute.cxx
index ea21f8640d9c..d68fc58bfff7 100644
--- a/svtools/source/misc/acceleratorexecute.cxx
+++ b/svtools/source/misc/acceleratorexecute.cxx
@@ -20,7 +20,7 @@
#include <svtools/acceleratorexecute.hxx>
#include <com/sun/star/frame/ModuleManager.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/ui/GlobalAcceleratorConfiguration.hpp>
#include <com/sun/star/ui/XUIConfigurationManager.hpp>
#include <com/sun/star/ui/ModuleUIConfigurationManagerSupplier.hpp>
@@ -105,27 +105,25 @@ AcceleratorExecute* AcceleratorExecute::createAcceleratorHelper()
}
//-----------------------------------------------
-void AcceleratorExecute::init(const css::uno::Reference< css::lang::XMultiServiceFactory >& xSMGR,
+void AcceleratorExecute::init(const css::uno::Reference< css::uno::XComponentContext >& rxContext,
const css::uno::Reference< css::frame::XFrame >& xEnv )
{
// SAFE -> ----------------------------------
::osl::ResettableMutexGuard aLock(m_aLock);
// take over the uno service manager
- m_xSMGR = xSMGR;
+ m_xContext = rxContext;
// specify our internal dispatch provider
// frame or desktop?! => document or global config.
sal_Bool bDesktopIsUsed = sal_False;
- m_xDispatcher = css::uno::Reference< css::frame::XDispatchProvider >(xEnv, css::uno::UNO_QUERY);
+ m_xDispatcher = css::uno::Reference< css::frame::XDispatchProvider >(xEnv, css::uno::UNO_QUERY);
if (!m_xDispatcher.is())
{
aLock.clear();
// <- SAFE ------------------------------
- css::uno::Reference< css::frame::XDispatchProvider > xDispatcher(
- xSMGR->createInstance(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ))),
- css::uno::UNO_QUERY_THROW);
+ css::uno::Reference< css::frame::XDispatchProvider > xDispatcher(css::frame::Desktop::create(rxContext), css::uno::UNO_QUERY_THROW);
// SAFE -> ------------------------------
aLock.reset();
@@ -143,11 +141,11 @@ void AcceleratorExecute::init(const css::uno::Reference< css::lang::XMultiServic
css::uno::Reference< css::ui::XAcceleratorConfiguration > xDocCfg ;
// global cfg
- xGlobalCfg = css::ui::GlobalAcceleratorConfiguration::create(comphelper::getComponentContext(xSMGR));
+ xGlobalCfg = css::ui::GlobalAcceleratorConfiguration::create(rxContext);
if (!bDesktopIsUsed)
{
// module cfg
- xModuleCfg = AcceleratorExecute::st_openModuleConfig(comphelper::getComponentContext(xSMGR), xEnv);
+ xModuleCfg = AcceleratorExecute::st_openModuleConfig(rxContext, xEnv);
// doc cfg
css::uno::Reference< css::frame::XController > xController;
@@ -417,13 +415,12 @@ css::uno::Reference< css::util::XURLTransformer > AcceleratorExecute::impl_ts_ge
if (m_xURLParser.is())
return m_xURLParser;
- css::uno::Reference< css::lang::XMultiServiceFactory > xSMGR = m_xSMGR;
+ css::uno::Reference< css::uno::XComponentContext > xContext = m_xContext;
aLock.clear();
// <- SAFE ----------------------------------
- css::uno::Reference< css::util::XURLTransformer > xParser(
- css::util::URLTransformer::create( ::comphelper::getComponentContext(xSMGR) ) );
+ css::uno::Reference< css::util::XURLTransformer > xParser = css::util::URLTransformer::create( xContext );
// SAFE -> ----------------------------------
aLock.reset();
diff --git a/svtools/source/misc/transfer.cxx b/svtools/source/misc/transfer.cxx
index 4bed02dae0c2..735b52eefb40 100644
--- a/svtools/source/misc/transfer.cxx
+++ b/svtools/source/misc/transfer.cxx
@@ -45,7 +45,7 @@
#include <com/sun/star/datatransfer/clipboard/XFlushableClipboard.hpp>
#include <com/sun/star/datatransfer/XMimeContentTypeFactory.hpp>
#include <com/sun/star/datatransfer/XMimeContentType.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/lang/XInitialization.hpp>
#include "svl/urlbmk.hxx"
@@ -527,15 +527,8 @@ void SAL_CALL TransferableHelper::lostOwnership( const Reference< XClipboard >&,
{
if( mxTerminateListener.is() )
{
- Reference< XMultiServiceFactory > xFact( ::comphelper::getProcessServiceFactory() );
-
- if( xFact.is() )
- {
- Reference< XDesktop > xDesktop( xFact->createInstance( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" )) ), UNO_QUERY );
-
- if( xDesktop.is() )
- xDesktop->removeTerminateListener( mxTerminateListener );
- }
+ Reference< XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
+ xDesktop->removeTerminateListener( mxTerminateListener );
mxTerminateListener = Reference< XTerminateListener >();
}
@@ -1053,15 +1046,8 @@ void TransferableHelper::CopyToClipboard( Window *pWindow ) const
try
{
TransferableHelper* pThis = const_cast< TransferableHelper* >( this );
- Reference< XMultiServiceFactory > xFact( ::comphelper::getProcessServiceFactory() );
-
- if( xFact.is() )
- {
- Reference< XDesktop > xDesktop( xFact->createInstance( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" )) ), UNO_QUERY );
-
- if( xDesktop.is() )
- xDesktop->addTerminateListener( pThis->mxTerminateListener = new TerminateListener( *pThis ) );
- }
+ Reference< XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
+ xDesktop->addTerminateListener( pThis->mxTerminateListener = new TerminateListener( *pThis ) );
mxClipboard->setContents( pThis, pThis );
}
@@ -1090,15 +1076,8 @@ void TransferableHelper::CopyToSelection( Window *pWindow ) const
try
{
TransferableHelper* pThis = const_cast< TransferableHelper* >( this );
- Reference< XMultiServiceFactory > xFact( ::comphelper::getProcessServiceFactory() );
-
- if( xFact.is() )
- {
- Reference< XDesktop > xDesktop( xFact->createInstance( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" )) ), UNO_QUERY );
-
- if( xDesktop.is() )
- xDesktop->addTerminateListener( pThis->mxTerminateListener = new TerminateListener( *pThis ) );
- }
+ Reference< XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
+ xDesktop->addTerminateListener( pThis->mxTerminateListener = new TerminateListener( *pThis ) );
xSelection->setContents( pThis, pThis );
}
diff --git a/svx/source/inc/docrecovery.hxx b/svx/source/inc/docrecovery.hxx
index f3e47e0cbc89..e4f7acd6a335 100644
--- a/svx/source/inc/docrecovery.hxx
+++ b/svx/source/inc/docrecovery.hxx
@@ -51,7 +51,6 @@
#define RECOVERY_CMD_DO_ENTRY_CLEANUP rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "vnd.sun.star.autorecovery:/doEntryCleanUp" ))
#define SERVICENAME_PROGRESSFACTORY rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.task.StatusIndicatorFactory"))
-#define SERVICENAME_DESKTOP rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ))
#define PROP_PARENTWINDOW rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "Window" ))
#define PROP_STATUSINDICATOR rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "StatusIndicator" ))
diff --git a/svx/source/inc/recoveryui.hxx b/svx/source/inc/recoveryui.hxx
index c94271774b37..33c5e431cc2a 100644
--- a/svx/source/inc/recoveryui.hxx
+++ b/svx/source/inc/recoveryui.hxx
@@ -20,7 +20,6 @@
#ifndef _RECOVERYUI_HXX
#define _RECOVERYUI_HXX
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/frame/XSynchronousDispatch.hpp>
#include <com/sun/star/task/XStatusIndicatorFactory.hpp>
@@ -56,7 +55,7 @@ class RecoveryUI : public ::cppu::WeakImplHelper2< css::lang::XServiceInfo
private:
/** @short TODO */
- css::uno::Reference< css::lang::XMultiServiceFactory > m_xSMGR;
+ css::uno::Reference< css::uno::XComponentContext > m_xContext;
/** @short TODO */
Window* m_pParentWindow;
@@ -73,7 +72,7 @@ class RecoveryUI : public ::cppu::WeakImplHelper2< css::lang::XServiceInfo
//---------------------------------------
/** @short TODO */
- RecoveryUI(const css::uno::Reference< css::lang::XMultiServiceFactory >& xSMGR);
+ RecoveryUI(const css::uno::Reference< css::uno::XComponentContext >& xContext);
//---------------------------------------
/** @short TODO */
diff --git a/svx/source/unodraw/recoveryui.cxx b/svx/source/unodraw/recoveryui.cxx
index c3e7c45be034..0c6ae0de7c4e 100644
--- a/svx/source/unodraw/recoveryui.cxx
+++ b/svx/source/unodraw/recoveryui.cxx
@@ -20,6 +20,7 @@
#include "recoveryui.hxx"
#include "docrecovery.hxx"
#include <com/sun/star/lang/XInitialization.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
#include <com/sun/star/beans/NamedValue.hpp>
#include <osl/file.hxx>
@@ -45,8 +46,8 @@ using namespace ::rtl;
using namespace ::osl;
//===============================================
-RecoveryUI::RecoveryUI(const css::uno::Reference< css::lang::XMultiServiceFactory >& xSMGR)
- : m_xSMGR (xSMGR )
+RecoveryUI::RecoveryUI(const css::uno::Reference< css::uno::XComponentContext >& xContext)
+ : m_xContext (xContext )
, m_pParentWindow(0 )
, m_eJob (RecoveryUI::E_JOB_UNKNOWN)
{
@@ -164,7 +165,7 @@ css::uno::Sequence< ::rtl::OUString > RecoveryUI::st_getSupportedServiceNames()
//===============================================
css::uno::Reference< css::uno::XInterface > SAL_CALL RecoveryUI::st_createInstance(const css::uno::Reference< css::lang::XMultiServiceFactory >& xSMGR)
{
- RecoveryUI* pNew = new RecoveryUI(xSMGR);
+ RecoveryUI* pNew = new RecoveryUI(comphelper::getComponentContext(xSMGR));
return css::uno::Reference< css::uno::XInterface >(static_cast< css::lang::XServiceInfo* >(pNew));
}
@@ -252,7 +253,7 @@ RecoveryUI::EJob RecoveryUI::impl_classifyJob(const css::util::URL& aURL)
sal_Bool RecoveryUI::impl_doEmergencySave()
{
// create core service, which implements the real "emergency save" algorithm.
- svxdr::RecoveryCore* pCore = new svxdr::RecoveryCore(comphelper::getComponentContext(m_xSMGR), sal_True);
+ svxdr::RecoveryCore* pCore = new svxdr::RecoveryCore(m_xContext, sal_True);
css::uno::Reference< css::frame::XStatusListener > xCore(pCore);
// create all needed dialogs for this operation
@@ -281,7 +282,7 @@ void RecoveryUI::impl_doRecovery()
sal_Bool bCrashRepEnabled(sal_False);
css::uno::Any aVal = ::comphelper::ConfigurationHelper::readDirectKey(
- comphelper::getComponentContext(m_xSMGR),
+ m_xContext,
CFG_PACKAGE_RECOVERY,
CFG_PATH_CRASHREPORTER,
CFG_ENTRY_ENABLED,
@@ -290,7 +291,7 @@ void RecoveryUI::impl_doRecovery()
bRecoveryOnly = !bCrashRepEnabled;
// create core service, which implements the real "emergency save" algorithm.
- svxdr::RecoveryCore* pCore = new svxdr::RecoveryCore(comphelper::getComponentContext(m_xSMGR), sal_False);
+ svxdr::RecoveryCore* pCore = new svxdr::RecoveryCore(m_xContext, sal_False);
css::uno::Reference< css::frame::XStatusListener > xCore(pCore);
// create all needed dialogs for this operation
@@ -347,9 +348,7 @@ void RecoveryUI::impl_doCrashReport()
//===============================================
void RecoveryUI::impl_showAllRecoveredDocs()
{
- css::uno::Reference< css::frame::XFramesSupplier > xDesktop(
- m_xSMGR->createInstance(SERVICENAME_DESKTOP),
- css::uno::UNO_QUERY_THROW);
+ css::uno::Reference< css::frame::XDesktop2 > xDesktop = css::frame::Desktop::create( m_xContext );
css::uno::Reference< css::container::XIndexAccess > xTaskContainer(
xDesktop->getFrames(),
diff --git a/sw/CppunitTest_sw_subsequent_odfexport.mk b/sw/CppunitTest_sw_subsequent_odfexport.mk
index 64e63184e854..604db89a3d9f 100644
--- a/sw/CppunitTest_sw_subsequent_odfexport.mk
+++ b/sw/CppunitTest_sw_subsequent_odfexport.mk
@@ -35,6 +35,7 @@ $(eval $(call gb_CppunitTest_add_exception_objects,sw_subsequent_odfexport, \
))
$(eval $(call gb_CppunitTest_use_libraries,sw_subsequent_odfexport, \
+ comphelper \
cppu \
cppuhelper \
sal \
diff --git a/sw/CppunitTest_sw_subsequent_odfimport.mk b/sw/CppunitTest_sw_subsequent_odfimport.mk
index f7ad4eb8dadf..e634356025d7 100644
--- a/sw/CppunitTest_sw_subsequent_odfimport.mk
+++ b/sw/CppunitTest_sw_subsequent_odfimport.mk
@@ -35,6 +35,7 @@ $(eval $(call gb_CppunitTest_add_exception_objects,sw_subsequent_odfimport, \
))
$(eval $(call gb_CppunitTest_use_libraries,sw_subsequent_odfimport, \
+ comphelper \
cppu \
cppuhelper \
sal \
diff --git a/sw/CppunitTest_sw_subsequent_ooxmlexport.mk b/sw/CppunitTest_sw_subsequent_ooxmlexport.mk
index 576bb5a125b7..ea355bc96074 100644
--- a/sw/CppunitTest_sw_subsequent_ooxmlexport.mk
+++ b/sw/CppunitTest_sw_subsequent_ooxmlexport.mk
@@ -35,6 +35,7 @@ $(eval $(call gb_CppunitTest_add_exception_objects,sw_subsequent_ooxmlexport, \
))
$(eval $(call gb_CppunitTest_use_libraries,sw_subsequent_ooxmlexport, \
+ comphelper \
cppu \
cppuhelper \
sal \
diff --git a/sw/CppunitTest_sw_subsequent_ooxmlimport.mk b/sw/CppunitTest_sw_subsequent_ooxmlimport.mk
index 48e08c58b4b2..eefba78146e6 100644
--- a/sw/CppunitTest_sw_subsequent_ooxmlimport.mk
+++ b/sw/CppunitTest_sw_subsequent_ooxmlimport.mk
@@ -35,6 +35,7 @@ $(eval $(call gb_CppunitTest_add_exception_objects,sw_subsequent_ooxmlimport, \
))
$(eval $(call gb_CppunitTest_use_libraries,sw_subsequent_ooxmlimport, \
+ comphelper \
cppu \
cppuhelper \
sal \
diff --git a/sw/CppunitTest_sw_subsequent_rtfexport.mk b/sw/CppunitTest_sw_subsequent_rtfexport.mk
index a214830eba2e..9883141845cc 100644
--- a/sw/CppunitTest_sw_subsequent_rtfexport.mk
+++ b/sw/CppunitTest_sw_subsequent_rtfexport.mk
@@ -35,6 +35,7 @@ $(eval $(call gb_CppunitTest_add_exception_objects,sw_subsequent_rtfexport, \
))
$(eval $(call gb_CppunitTest_use_libraries,sw_subsequent_rtfexport, \
+ comphelper \
cppu \
cppuhelper \
sal \
diff --git a/sw/CppunitTest_sw_subsequent_rtfimport.mk b/sw/CppunitTest_sw_subsequent_rtfimport.mk
index ca1c00c8de9b..0f1b2bdeb151 100644
--- a/sw/CppunitTest_sw_subsequent_rtfimport.mk
+++ b/sw/CppunitTest_sw_subsequent_rtfimport.mk
@@ -35,6 +35,7 @@ $(eval $(call gb_CppunitTest_add_exception_objects,sw_subsequent_rtfimport, \
))
$(eval $(call gb_CppunitTest_use_libraries,sw_subsequent_rtfimport, \
+ comphelper \
cppu \
cppuhelper \
sal \
diff --git a/sw/CppunitTest_sw_subsequent_ww8export.mk b/sw/CppunitTest_sw_subsequent_ww8export.mk
index 340afec32602..ebf6d1334a3d 100644
--- a/sw/CppunitTest_sw_subsequent_ww8export.mk
+++ b/sw/CppunitTest_sw_subsequent_ww8export.mk
@@ -35,6 +35,7 @@ $(eval $(call gb_CppunitTest_add_exception_objects,sw_subsequent_ww8export, \
))
$(eval $(call gb_CppunitTest_use_libraries,sw_subsequent_ww8export, \
+ comphelper \
cppu \
cppuhelper \
emboleobj \
diff --git a/sw/CppunitTest_sw_subsequent_ww8import.mk b/sw/CppunitTest_sw_subsequent_ww8import.mk
index b59f32be5b72..39d8e84d7018 100644
--- a/sw/CppunitTest_sw_subsequent_ww8import.mk
+++ b/sw/CppunitTest_sw_subsequent_ww8import.mk
@@ -35,6 +35,7 @@ $(eval $(call gb_CppunitTest_add_exception_objects,sw_subsequent_ww8import, \
))
$(eval $(call gb_CppunitTest_use_libraries,sw_subsequent_ww8import, \
+ comphelper \
cppu \
cppuhelper \
sal \
diff --git a/sw/inc/dlelstnr.hxx b/sw/inc/dlelstnr.hxx
index 88ee1ccaaba8..8ce12ebc54f0 100644
--- a/sw/inc/dlelstnr.hxx
+++ b/sw/inc/dlelstnr.hxx
@@ -24,7 +24,7 @@
#include <com/sun/star/linguistic2/XDictionaryListEventListener.hpp>
#include <com/sun/star/linguistic2/XLinguServiceEventListener.hpp>
#include <com/sun/star/frame/XTerminateListener.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/XDesktop2.hpp>
#include <cppuhelper/implbase2.hxx> // helper for implementations
@@ -54,7 +54,7 @@ class SwLinguServiceEventListener :
>
{
com::sun::star::uno::Reference<
- com::sun::star::frame::XDesktop > xDesktop;
+ com::sun::star::frame::XDesktop2 > xDesktop;
com::sun::star::uno::Reference<
com::sun::star::linguistic2::XLinguServiceManager2 > xLngSvcMgr;
com::sun::star::uno::Reference<
diff --git a/sw/qa/core/layout-test.cxx b/sw/qa/core/layout-test.cxx
index 8d6e36b5a6ba..188d5942b9a7 100644
--- a/sw/qa/core/layout-test.cxx
+++ b/sw/qa/core/layout-test.cxx
@@ -34,7 +34,7 @@
#include <rtl/strbuf.hxx>
#include <osl/file.hxx>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/lang/XComponent.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
@@ -109,9 +109,7 @@ void SwLayoutTest::setUp()
getMultiServiceFactory()->createInstance(rtl::OUString(
RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.Writer.TextDocument")));
CPPUNIT_ASSERT_MESSAGE("no calc component!", m_xWriterComponent.is());
- mxDesktop = Reference<com::sun::star::frame::XDesktop>( getMultiServiceFactory()->createInstance(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ))), UNO_QUERY );
- CPPUNIT_ASSERT_MESSAGE("", mxDesktop.is());
+ mxDesktop = com::sun::star::frame::Desktop::create( comphelper::getComponentContext(getMultiServiceFactory()) );
}
void SwLayoutTest::tearDown()
diff --git a/sw/qa/core/macros-test.cxx b/sw/qa/core/macros-test.cxx
index bdd7deea1ab4..1f127d09a8b6 100644
--- a/sw/qa/core/macros-test.cxx
+++ b/sw/qa/core/macros-test.cxx
@@ -39,6 +39,7 @@
#include <com/sun/star/lang/XComponent.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/document/MacroExecMode.hpp>
#include <com/sun/star/drawing/XDrawPageSupplier.hpp>
@@ -52,6 +53,7 @@
#include <sfx2/docfile.hxx>
#include <sfx2/sfxmodelfactory.hxx>
#include <svl/intitem.hxx>
+#include <comphelper/processfactory.hxx>
#include <basic/sbxdef.hxx>
@@ -220,9 +222,7 @@ void SwMacrosTest::setUp()
getMultiServiceFactory()->createInstance(rtl::OUString(
RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.Writer.TextDocument")));
CPPUNIT_ASSERT_MESSAGE("no calc component!", m_xWriterComponent.is());
- mxDesktop = Reference<com::sun::star::frame::XDesktop>( getMultiServiceFactory()->createInstance(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ))), UNO_QUERY );
- CPPUNIT_ASSERT_MESSAGE("", mxDesktop.is());
+ mxDesktop = com::sun::star::frame::Desktop::create( comphelper::getComponentContext(getMultiServiceFactory()) );
}
void SwMacrosTest::tearDown()
diff --git a/sw/qa/extras/inc/swmodeltestbase.hxx b/sw/qa/extras/inc/swmodeltestbase.hxx
index ae0af3db2daf..378dc15dd787 100644
--- a/sw/qa/extras/inc/swmodeltestbase.hxx
+++ b/sw/qa/extras/inc/swmodeltestbase.hxx
@@ -26,6 +26,7 @@
*/
#include <com/sun/star/container/XContentEnumerationAccess.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
#include <com/sun/star/text/XTextDocument.hpp>
#include <com/sun/star/text/XTextRange.hpp>
@@ -33,6 +34,7 @@
#include <test/bootstrapfixture.hxx>
#include <unotest/macros_test.hxx>
#include <rtl/ustrbuf.hxx>
+#include <comphelper/processfactory.hxx>
#include <unotxdoc.hxx>
#include <docsh.hxx>
@@ -65,8 +67,7 @@ public:
{
test::BootstrapFixture::setUp();
- mxDesktop.set(getMultiServiceFactory()->createInstance("com.sun.star.frame.Desktop"), uno::UNO_QUERY);
- CPPUNIT_ASSERT(mxDesktop.is());
+ mxDesktop.set( com::sun::star::frame::Desktop::create(comphelper::getComponentContext(getMultiServiceFactory())) );
}
virtual void tearDown()
diff --git a/sw/source/core/docnode/finalthreadmanager.cxx b/sw/source/core/docnode/finalthreadmanager.cxx
index 947596ca5988..6caa65e6c808 100644
--- a/sw/source/core/docnode/finalthreadmanager.cxx
+++ b/sw/source/core/docnode/finalthreadmanager.cxx
@@ -22,7 +22,7 @@
#include <pausethreadstarting.hxx>
#include <swthreadjoiner.hxx>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <rtl/ustring.hxx>
#include <com/sun/star/frame/XFramesSupplier.hpp>
@@ -205,18 +205,9 @@ void SAL_CALL TerminateOfficeThread::run()
void TerminateOfficeThread::PerformOfficeTermination()
{
- css::uno::Reference< css::frame::XFramesSupplier > xTasksSupplier(
- mxContext->getServiceManager()->createInstanceWithContext(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop") ),
- mxContext ),
- css::uno::UNO_QUERY );
- if ( !xTasksSupplier.is() )
- {
- OSL_FAIL( "<TerminateOfficeThread::PerformOfficeTermination()> - no XFramesSupplier!" );
- return;
- }
+ css::uno::Reference< css::frame::XDesktop2 > xDesktop = css::frame::Desktop::create(mxContext);
- css::uno::Reference< css::container::XElementAccess > xList( xTasksSupplier->getFrames(), css::uno::UNO_QUERY );
+ css::uno::Reference< css::container::XElementAccess > xList( xDesktop->getFrames(), css::uno::UNO_QUERY );
if ( !xList.is() )
{
OSL_FAIL( "<TerminateOfficeThread::PerformOfficeTermination()> - no XElementAccess!" );
@@ -225,8 +216,7 @@ void TerminateOfficeThread::PerformOfficeTermination()
if ( !xList->hasElements() )
{
- css::uno::Reference< css::frame::XDesktop > xDesktop( xTasksSupplier, css::uno::UNO_QUERY );
- if ( xDesktop.is() && !OfficeTerminationStopped() )
+ if ( !OfficeTerminationStopped() )
xDesktop->terminate();
}
}
@@ -256,14 +246,8 @@ FinalThreadManager::FinalThreadManager(css::uno::Reference< css::uno::XComponent
void FinalThreadManager::registerAsListenerAtDesktop()
{
- css::uno::Reference< css::frame::XDesktop > xDesktop(
- m_xContext->getServiceManager()->createInstanceWithContext(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop") ),
- m_xContext ),
- css::uno::UNO_QUERY );
-
- if ( xDesktop.is() )
- xDesktop->addTerminateListener( css::uno::Reference< css::frame::XTerminateListener >( static_cast< cppu::OWeakObject* >( this ), css::uno::UNO_QUERY ) );
+ css::uno::Reference< css::frame::XDesktop2 > xDesktop = css::frame::Desktop::create(m_xContext);
+ xDesktop->addTerminateListener( css::uno::Reference< css::frame::XTerminateListener >( static_cast< cppu::OWeakObject* >( this ), css::uno::UNO_QUERY ) );
}
FinalThreadManager::~FinalThreadManager()
diff --git a/sw/source/ui/app/swdll.cxx b/sw/source/ui/app/swdll.cxx
index 0890a0558bfa..4ffa8ce72418 100644
--- a/sw/source/ui/app/swdll.cxx
+++ b/sw/source/ui/app/swdll.cxx
@@ -32,6 +32,7 @@
#include <dobjfac.hxx>
#include <cfgid.h>
+#include <com/sun/star/frame/Desktop.hpp>
#include <unotools/moduleoptions.hxx>
#include <comphelper/scoped_disposing_ptr.hxx>
#include <comphelper/processfactory.hxx>
@@ -44,6 +45,8 @@
#include "swdllimpl.hxx"
+using namespace com::sun::star;
+
namespace
{
//Holds a SwDLL and release it on exit, or dispose of the
@@ -51,7 +54,7 @@ namespace
class SwDLLInstance : public comphelper::scoped_disposing_solar_mutex_reset_ptr<SwDLL>
{
public:
- SwDLLInstance() : comphelper::scoped_disposing_solar_mutex_reset_ptr<SwDLL>(::com::sun::star::uno::Reference<com::sun::star::lang::XComponent>(comphelper::getProcessServiceFactory()->createInstance(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop"))), ::com::sun::star::uno::UNO_QUERY_THROW), new SwDLL)
+ SwDLLInstance() : comphelper::scoped_disposing_solar_mutex_reset_ptr<SwDLL>(uno::Reference<lang::XComponent>( frame::Desktop::create(comphelper::getProcessComponentContext()), uno::UNO_QUERY_THROW), new SwDLL)
{
}
};
diff --git a/sw/source/ui/uno/dlelstnr.cxx b/sw/source/ui/uno/dlelstnr.cxx
index 18be1bf1b4d0..31572d9e8c24 100644
--- a/sw/source/ui/uno/dlelstnr.cxx
+++ b/sw/source/ui/uno/dlelstnr.cxx
@@ -18,6 +18,7 @@
*/
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/linguistic2/DictionaryListEventFlags.hpp>
#include <com/sun/star/linguistic2/XDictionaryList.hpp>
#include <com/sun/star/linguistic2/LinguServiceManager.hpp>
@@ -51,18 +52,15 @@ SwLinguServiceEventListener::SwLinguServiceEventListener()
Reference< XComponentContext > xContext( comphelper::getProcessComponentContext() );
try
{
- OUString aSvcName( OUString( "com.sun.star.frame.Desktop" ) );
- xDesktop = Reference< frame::XDesktop >(
- xMgr->createInstance( aSvcName ), UNO_QUERY );
- if (xDesktop.is())
- xDesktop->addTerminateListener( this );
+ xDesktop = frame::Desktop::create(xContext);
+ xDesktop->addTerminateListener( this );
xLngSvcMgr = LinguServiceManager::create(xContext);
xLngSvcMgr->addLinguServiceManagerListener( (XLinguServiceEventListener *) this );
if (SvtLinguConfig().HasGrammarChecker())
{
- aSvcName = OUString( "com.sun.star.linguistic2.ProofreadingIterator" );
+ OUString aSvcName( "com.sun.star.linguistic2.ProofreadingIterator" );
xGCIterator = Reference< XProofreadingIterator >( xMgr->createInstance( aSvcName ), UNO_QUERY );
Reference< XLinguServiceEventBroadcaster > xBC( xGCIterator, UNO_QUERY );
if (xBC.is())
diff --git a/sw/source/ui/uno/unomailmerge.cxx b/sw/source/ui/uno/unomailmerge.cxx
index af1d72414042..386afe304d10 100644
--- a/sw/source/ui/uno/unomailmerge.cxx
+++ b/sw/source/ui/uno/unomailmerge.cxx
@@ -40,6 +40,7 @@
#include <com/sun/star/sdbc/XResultSet.hpp>
#include <com/sun/star/sdbc/XConnection.hpp>
#include <com/sun/star/sdbc/XRowSet.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/util/XCloseable.hpp>
#include <com/sun/star/util/CloseVetoException.hpp>
@@ -153,8 +154,7 @@ static sal_Bool LoadFromURL_impl(
aArgs[0].Value <<= bVal;
try
{
- Reference < XComponentLoader > xDesktop( ::comphelper::getProcessServiceFactory()->
- createInstance( C2U("com.sun.star.frame.Desktop") ), UNO_QUERY );
+ Reference < XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
xTmpModel = Reference < XModel >( xDesktop->loadComponentFromURL(
rURL, C2U("_blank"), 0, aArgs ), UNO_QUERY );
}
diff --git a/test/source/unoapi_test.cxx b/test/source/unoapi_test.cxx
index 2d9292a87041..81b961c2cc93 100644
--- a/test/source/unoapi_test.cxx
+++ b/test/source/unoapi_test.cxx
@@ -29,6 +29,8 @@
#include "test/unoapi_test.hxx"
#include <com/sun/star/util/XCloseable.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
+#include <comphelper/processfactory.hxx>
UnoApiTest::UnoApiTest()
: m_aBaseString(RTL_CONSTASCII_USTRINGPARAM("/sc/qa/extras/testdocuments"))
@@ -45,9 +47,7 @@ void UnoApiTest::setUp()
getMultiServiceFactory()->createInstance(rtl::OUString(
RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.Calc.SpreadsheetDocument")));
CPPUNIT_ASSERT_MESSAGE("no calc component!", m_xCalcComponent.is());
- mxDesktop = Reference<com::sun::star::frame::XDesktop>( getMultiServiceFactory()->createInstance(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ))), UNO_QUERY );
- CPPUNIT_ASSERT_MESSAGE("", mxDesktop.is());
+ mxDesktop = com::sun::star::frame::Desktop::create( comphelper::getComponentContext(getMultiServiceFactory()) );
}
void UnoApiTest::tearDown()
diff --git a/touch/source/uno/Document.cxx b/touch/source/uno/Document.cxx
index 0acb9031d775..d59e4e1e4af1 100644
--- a/touch/source/uno/Document.cxx
+++ b/touch/source/uno/Document.cxx
@@ -15,7 +15,7 @@
#include <com/sun/star/beans/NamedValue.hpp>
#include <com/sun/star/beans/PropertyValues.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/lang/XInitialization.hpp>
#include <com/sun/star/view/XRenderable.hpp>
@@ -147,10 +147,7 @@ public:
if ( arguments[0] >>= m_sURI )
{
// create( [in] string uri );
- uno::Reference< frame::XDesktop > desktop( m_rContext->getServiceManager()->createInstanceWithContext( "com.sun.star.frame.Desktop", m_rContext ), uno::UNO_QUERY_THROW );
- uno::Reference< frame::XComponentLoader > componentLoader( desktop, uno::UNO_QUERY_THROW );
-
- (void) componentLoader;
+ uno::Reference< frame::XDesktop2 > desktop = frame::Desktop::Create( m_rContext );
beans::PropertyValues loadProps(3);
loadProps[0].Name = "Hidden";
@@ -160,7 +157,7 @@ public:
loadProps[2].Name = "Preview";
loadProps[2].Value <<= sal_Bool(true);
- m_xComponent = componentLoader->loadComponentFromURL( m_sURI, "_blank", 0, loadProps );
+ m_xComponent = desktop->loadComponentFromURL( m_sURI, "_blank", 0, loadProps );
m_xToolkit = uno::Reference< awt::XToolkitExperimental >( m_rContext->getServiceManager()->createInstanceWithContext( "com.sun.star.awt.ToolkitExperimental", m_rContext ), uno::UNO_QUERY_THROW );
diff --git a/tubes/source/manager.cxx b/tubes/source/manager.cxx
index b924e8f790df..1a152cec3ae8 100644
--- a/tubes/source/manager.cxx
+++ b/tubes/source/manager.cxx
@@ -34,6 +34,7 @@
#include <tubes/file-transfer-helper.h>
#include <com/sun/star/uno/Sequence.hxx>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
@@ -269,13 +270,8 @@ void TeleManager_fileReceived( const OUString& rStr, const OString& rUuid )
try
{
- css::uno::Reference< css::lang::XMultiServiceFactory > rFactory =
- comphelper::getProcessServiceFactory();
-
- css::uno::Reference < css::frame::XComponentLoader > xLoader(
- ::comphelper::getProcessServiceFactory()->createInstance(
- "com.sun.star.frame.Desktop" ),
- css::uno::UNO_QUERY_THROW );
+ css::uno::Reference < css::frame::XDesktop2 > xLoader = css::frame::Desktop::create(
+ ::comphelper::getProcessComponentContext() );
css::uno::Sequence < css::beans::PropertyValue > args(0);
css::uno::Reference < css::util::XCloseable > xDoc(
xLoader->loadComponentFromURL( rStr, "_blank", 0, args ),
diff --git a/unotest/inc/unotest/macros_test.hxx b/unotest/inc/unotest/macros_test.hxx
index a1c750f161d8..1a82b83fc48f 100644
--- a/unotest/inc/unotest/macros_test.hxx
+++ b/unotest/inc/unotest/macros_test.hxx
@@ -33,7 +33,7 @@
#include "unotest/detail/unotestdllapi.hxx"
#include <com/sun/star/lang/XComponent.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/XDesktop2.hpp>
struct TestMacroInfo
{
@@ -49,7 +49,7 @@ public:
com::sun::star::uno::Reference< com::sun::star::lang::XComponent > loadFromDesktop(const rtl::OUString& rURL);
protected:
- com::sun::star::uno::Reference< com::sun::star::frame::XDesktop> mxDesktop;
+ com::sun::star::uno::Reference< com::sun::star::frame::XDesktop2> mxDesktop;
};
}
diff --git a/unotest/source/cpp/officeconnection.cxx b/unotest/source/cpp/officeconnection.cxx
index 69c28283edcd..4de06f66cc96 100644
--- a/unotest/source/cpp/officeconnection.cxx
+++ b/unotest/source/cpp/officeconnection.cxx
@@ -20,7 +20,7 @@
#include "com/sun/star/bridge/UnoUrlResolver.hpp"
#include "com/sun/star/bridge/XUnoUrlResolver.hpp"
#include "com/sun/star/connection/NoConnectException.hpp"
-#include "com/sun/star/frame/XDesktop.hpp"
+#include "com/sun/star/frame/Desktop.hpp"
#include "com/sun/star/lang/DisposedException.hpp"
#include "com/sun/star/uno/Reference.hxx"
#include "com/sun/star/uno/XComponentContext.hpp"
@@ -131,13 +131,7 @@ void OfficeConnection::setUp() {
void OfficeConnection::tearDown() {
if (process_ != 0) {
if (context_.is()) {
- css::uno::Reference< css::frame::XDesktop > desktop(
- context_->getServiceManager()->createInstanceWithContext(
- rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.frame.Desktop")),
- context_),
- css::uno::UNO_QUERY_THROW);
+ css::uno::Reference< css::frame::XDesktop2 > desktop = css::frame::Desktop::create( context_ );
context_.clear();
try {
CPPUNIT_ASSERT(desktop->terminate());
diff --git a/unotools/source/misc/desktopterminationobserver.cxx b/unotools/source/misc/desktopterminationobserver.cxx
index bacac54dfc37..1aa7b32c0aca 100644
--- a/unotools/source/misc/desktopterminationobserver.cxx
+++ b/unotools/source/misc/desktopterminationobserver.cxx
@@ -20,7 +20,7 @@
#include <unotools/desktopterminationobserver.hxx>
#include <com/sun/star/frame/XTerminateListener.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <cppuhelper/implbase1.hxx>
#include <comphelper/processfactory.hxx>
@@ -102,11 +102,8 @@ namespace utl
try
{
- Reference< XDesktop > xDesktop;
- xDesktop = xDesktop.query( ::comphelper::getProcessServiceFactory()->createInstance( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ) ) ) );
- OSL_ENSURE( xDesktop.is(), "OObserverImpl::ensureObservation: could not ensureObservation the desktop!" );
- if ( xDesktop.is() )
- xDesktop->addTerminateListener( new OObserverImpl );
+ Reference< XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
+ xDesktop->addTerminateListener( new OObserverImpl );
}
catch( const Exception& )
{
diff --git a/uui/source/newerverwarn.cxx b/uui/source/newerverwarn.cxx
index 02a9a3272710..4ddad6110fad 100644
--- a/uui/source/newerverwarn.cxx
+++ b/uui/source/newerverwarn.cxx
@@ -21,7 +21,7 @@
#include "newerverwarn.hrc"
#include "ids.hrc"
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XDispatchProvider.hpp>
#include <com/sun/star/system/SystemShellExecute.hpp>
#include <com/sun/star/system/SystemShellExecuteFlags.hpp>
@@ -127,8 +127,7 @@ IMPL_LINK_NOARG(NewerVersionWarningDialog, UpdateHdl)
uno::Reference< util::XURLTransformer > xTransformer( util::URLTransformer::create(aContext.getUNOContext()) );
xTransformer->parseStrict( aURL );
- uno::Reference < frame::XDesktop > xDesktop(
- aContext.createComponent( "com.sun.star.frame.Desktop" ), uno::UNO_QUERY_THROW );
+ uno::Reference < frame::XDesktop2 > xDesktop = frame::Desktop::create(aContext.getUNOContext());
uno::Reference< frame::XDispatchProvider > xDispatchProvider(
xDesktop->getCurrentFrame(), uno::UNO_QUERY );
diff --git a/vbahelper/source/vbahelper/vbadocumentsbase.cxx b/vbahelper/source/vbahelper/vbadocumentsbase.cxx
index 479074f72a15..36abda68207d 100644
--- a/vbahelper/source/vbahelper/vbadocumentsbase.cxx
+++ b/vbahelper/source/vbahelper/vbadocumentsbase.cxx
@@ -27,6 +27,7 @@
#include <com/sun/star/container/XEnumerationAccess.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
#include <com/sun/star/lang/XComponent.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/frame/XModel.hpp>
#include <com/sun/star/frame/XFrame.hpp>
#include <com/sun/star/frame/XTitle.hpp>
@@ -80,11 +81,7 @@ public:
}
DocumentsEnumImpl( const uno::Reference< uno::XComponentContext >& xContext ) throw ( uno::RuntimeException ) : m_xContext( xContext )
{
- uno::Reference< lang::XMultiComponentFactory > xSMgr(
- m_xContext->getServiceManager(), uno::UNO_QUERY_THROW );
-
- uno::Reference< frame::XDesktop > xDesktop
- (xSMgr->createInstanceWithContext( "com.sun.star.frame.Desktop" , m_xContext), uno::UNO_QUERY_THROW );
+ uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create( m_xContext );
uno::Reference< container::XEnumeration > mxComponents = xDesktop->getComponents()->createEnumeration();
while( mxComponents->hasMoreElements() )
{
@@ -243,11 +240,7 @@ uno::Any VbaDocumentsBase::createDocument() throw (uno::RuntimeException)
sal_Bool bScreenUpdating = !xApplication.is() || xApplication->getScreenUpdating();
sal_Bool bInteractive = !xApplication.is() || xApplication->getInteractive();
- uno::Reference< lang::XMultiComponentFactory > xSMgr(
- mxContext->getServiceManager(), uno::UNO_QUERY_THROW );
-
- uno::Reference< frame::XComponentLoader > xLoader(
- xSMgr->createInstanceWithContext("com.sun.star.frame.Desktop" , mxContext), uno::UNO_QUERY_THROW );
+ uno::Reference< frame::XDesktop2 > xLoader = frame::Desktop::create(mxContext);
OUString sURL;
if( meDocType == WORD_DOCUMENT )
sURL = "private:factory/swriter";
@@ -302,11 +295,7 @@ uno::Any VbaDocumentsBase::openDocument( const OUString& rFileName, const uno::A
aURL = rFileName;
else
osl::FileBase::getFileURLFromSystemPath( rFileName, aURL );
- uno::Reference< lang::XMultiComponentFactory > xSMgr(
- mxContext->getServiceManager(), uno::UNO_QUERY_THROW );
- uno::Reference< frame::XDesktop > xDesktop(xSMgr->createInstanceWithContext( "com.sun.star.frame.Desktop" , mxContext), uno::UNO_QUERY_THROW );
- uno::Reference< frame::XComponentLoader > xLoader(
- xSMgr->createInstanceWithContext( "com.sun.star.frame.Desktop" , mxContext), uno::UNO_QUERY_THROW );
+ uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create( mxContext );
uno::Sequence< beans::PropertyValue > sProps( rProps );
sProps.realloc( sProps.getLength() + 1 );
@@ -324,7 +313,7 @@ uno::Any VbaDocumentsBase::openDocument( const OUString& rFileName, const uno::A
}
}
- uno::Reference< lang::XComponent > xComponent = xLoader->loadComponentFromURL( aURL,
+ uno::Reference< lang::XComponent > xComponent = xDesktop->loadComponentFromURL( aURL,
"_default" ,
frame::FrameSearchFlag::CREATE,
sProps);
diff --git a/vcl/source/app/svmain.cxx b/vcl/source/app/svmain.cxx
index f2135b292b9f..4fef497585e4 100644
--- a/vcl/source/app/svmain.cxx
+++ b/vcl/source/app/svmain.cxx
@@ -71,6 +71,7 @@
#include "osl/process.h"
#include "com/sun/star/lang/XMultiServiceFactory.hpp"
#include "com/sun/star/lang/XComponent.hpp"
+#include "com/sun/star/frame/Desktop.hpp"
#include "cppuhelper/implbase1.hxx"
#include "uno/current_context.hxx"
@@ -472,11 +473,8 @@ void DeInitVCL()
{
try
{
- uno::Reference<lang::XComponent> const xDesktop(
- comphelper::getProcessServiceFactory()->createInstance(
- OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop"))),
- uno::UNO_QUERY_THROW)
- ;
+ uno::Reference<frame::XDesktop2> const xDesktop = frame::Desktop::create(
+ comphelper::getProcessComponentContext() );
xDesktop->addEventListener(new VCLUnoWrapperDeleter());
}
catch (uno::Exception const&)
diff --git a/vcl/unx/generic/dtrans/X11_selection.cxx b/vcl/unx/generic/dtrans/X11_selection.cxx
index 9c11fe0587d2..d4cccb2488bc 100644
--- a/vcl/unx/generic/dtrans/X11_selection.cxx
+++ b/vcl/unx/generic/dtrans/X11_selection.cxx
@@ -59,6 +59,7 @@
#include <com/sun/star/datatransfer/dnd/DNDConstants.hpp>
#include <com/sun/star/awt/MouseEvent.hpp>
#include <com/sun/star/awt/MouseButton.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <rtl/tencinfo.h>
#include <osl/process.h>
@@ -3746,13 +3747,9 @@ void SelectionManager::run( void* pThis )
timeval aLast;
gettimeofday( &aLast, 0 );
- css::uno::Reference< XMultiServiceFactory > xFact( ::comphelper::getProcessServiceFactory() );
- if( xFact.is() )
- {
- This->m_xDesktop.set(xFact->createInstance( ::rtl::OUString("com.sun.star.frame.Desktop") ), UNO_QUERY);
- if (This->m_xDesktop.is())
- This->m_xDesktop->addTerminateListener(This);
- }
+ css::uno::Reference< XComponentContext > xContext( ::comphelper::getProcessComponentContext() );
+ This->m_xDesktop.set( Desktop::create(xContext) );
+ This->m_xDesktop->addTerminateListener(This);
while( osl_scheduleThread(This->m_aThread) )
{
diff --git a/vcl/unx/generic/dtrans/X11_selection.hxx b/vcl/unx/generic/dtrans/X11_selection.hxx
index 95e9e98813f3..823cd5f259b7 100644
--- a/vcl/unx/generic/dtrans/X11_selection.hxx
+++ b/vcl/unx/generic/dtrans/X11_selection.hxx
@@ -29,7 +29,7 @@
#include <com/sun/star/lang/XInitialization.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/script/XInvocation.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/XDesktop2.hpp>
#include <osl/thread.h>
#include <osl/conditn.hxx>
@@ -253,7 +253,7 @@ namespace x11 {
oslThread m_aDragExecuteThread;
::osl::Condition m_aDragRunning;
XLIB_Window m_aWindow;
- com::sun::star::uno::Reference< ::com::sun::star::frame::XDesktop > m_xDesktop;
+ com::sun::star::uno::Reference< ::com::sun::star::frame::XDesktop2 > m_xDesktop;
com::sun::star::uno::Reference< ::com::sun::star::awt::XDisplayConnection >
m_xDisplayConnection;
com::sun::star::uno::Reference< com::sun::star::script::XInvocation >
diff --git a/vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx b/vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx
index b4f1c6a0418b..386395b3bbe8 100644
--- a/vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx
+++ b/vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx
@@ -24,6 +24,7 @@
#endif
#include <com/sun/star/awt/Toolkit.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/ui/dialogs/ExecutableDialogResults.hpp>
#include <com/sun/star/ui/dialogs/CommonFilePickerElementIds.hpp>
@@ -971,7 +972,7 @@ sal_Int16 SAL_CALL SalGtkFilePicker::execute() throw( uno::RuntimeException )
UNO_QUERY_THROW );
uno::Reference< frame::XDesktop > xDesktop(
- createInstance( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop")) ),
+ frame::Desktop::create(m_xContext),
UNO_QUERY_THROW );
RunDialog* pRunDialog = new RunDialog(m_pDialog, xToolkit, xDesktop);
diff --git a/vcl/unx/gtk/fpicker/SalGtkFolderPicker.cxx b/vcl/unx/gtk/fpicker/SalGtkFolderPicker.cxx
index 931f197a9242..4da4b1e74040 100644
--- a/vcl/unx/gtk/fpicker/SalGtkFolderPicker.cxx
+++ b/vcl/unx/gtk/fpicker/SalGtkFolderPicker.cxx
@@ -24,6 +24,7 @@
#endif
#include <com/sun/star/awt/Toolkit.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/lang/XMultiComponentFactory.hpp>
#include <com/sun/star/ui/dialogs/ExecutableDialogResults.hpp>
#include <com/sun/star/ui/dialogs/CommonFilePickerElementIds.hpp>
@@ -140,9 +141,7 @@ sal_Int16 SAL_CALL SalGtkFolderPicker::execute() throw( uno::RuntimeException )
awt::Toolkit::create(m_xContext),
uno::UNO_QUERY);
- uno::Reference< frame::XDesktop > xDesktop(
- createInstance( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop")) ),
- uno::UNO_QUERY);
+ uno::Reference< frame::XDesktop > xDesktop( frame::Desktop::create(m_xContext), uno::UNO_QUERY);
RunDialog* pRunDialog = new RunDialog(m_pDialog, xToolkit, xDesktop);
uno::Reference < awt::XTopWindowListener > xLifeCycle(pRunDialog);
diff --git a/vcl/unx/gtk/gdi/salprn-gtk.cxx b/vcl/unx/gtk/gdi/salprn-gtk.cxx
index 79a94327589d..e787bae6e96a 100644
--- a/vcl/unx/gtk/gdi/salprn-gtk.cxx
+++ b/vcl/unx/gtk/gdi/salprn-gtk.cxx
@@ -938,10 +938,7 @@ GtkPrintDialog::run()
#if 0
void GtkPrintDialog::ExportAsPDF(const rtl::OUString &rFileURL, GtkPrintSettings *pSettings) const
{
- uno::Reference < XFramesSupplier > xDesktop =
- uno::Reference < XFramesSupplier >(
- ::comphelper::getProcessServiceFactory()->
- createInstance(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop"))), UNO_QUERY);
+ uno::Reference < XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
uno::Reference < XFrame > xFrame(xDesktop->getActiveFrame());
if (!xFrame.is())
xFrame = uno::Reference < XFrame >(xDesktop, UNO_QUERY);