diff options
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/aqua/source/dtrans/aqua_clipboard.cxx | 2 | ||||
-rw-r--r-- | vcl/aqua/source/dtrans/aqua_clipboard.hxx | 6 | ||||
-rw-r--r-- | vcl/ios/source/dtrans/ios_clipboard.cxx | 2 | ||||
-rw-r--r-- | vcl/ios/source/dtrans/ios_clipboard.hxx | 6 | ||||
-rw-r--r-- | vcl/source/components/dtranscomp.cxx | 12 | ||||
-rw-r--r-- | vcl/source/window/window.cxx | 36 | ||||
-rw-r--r-- | vcl/unx/generic/dtrans/X11_clipboard.cxx | 8 | ||||
-rw-r--r-- | vcl/unx/generic/dtrans/X11_clipboard.hxx | 12 |
8 files changed, 33 insertions, 51 deletions
diff --git a/vcl/aqua/source/dtrans/aqua_clipboard.cxx b/vcl/aqua/source/dtrans/aqua_clipboard.cxx index db6c3b0a0558..06b4e487debe 100644 --- a/vcl/aqua/source/dtrans/aqua_clipboard.cxx +++ b/vcl/aqua/source/dtrans/aqua_clipboard.cxx @@ -82,7 +82,7 @@ Sequence<OUString> clipboard_getSupportedServiceNames() AquaClipboard::AquaClipboard(NSPasteboard* pasteboard, bool bUseSystemPasteboard) : - WeakComponentImplHelper4<XClipboardEx, XClipboardNotifier, XFlushableClipboard, XServiceInfo>(m_aMutex), + WeakComponentImplHelper3<XSystemClipboard, XFlushableClipboard, XServiceInfo>(m_aMutex), mIsSystemPasteboard(bUseSystemPasteboard) { Reference<XMultiServiceFactory> mrServiceMgr = comphelper::getProcessServiceFactory(); diff --git a/vcl/aqua/source/dtrans/aqua_clipboard.hxx b/vcl/aqua/source/dtrans/aqua_clipboard.hxx index 40e471ed26da..a12a3ec20f5e 100644 --- a/vcl/aqua/source/dtrans/aqua_clipboard.hxx +++ b/vcl/aqua/source/dtrans/aqua_clipboard.hxx @@ -23,12 +23,13 @@ #include "DataFlavorMapping.hxx" #include <rtl/ustring.hxx> #include <sal/types.h> -#include <cppuhelper/compbase4.hxx> +#include <cppuhelper/compbase3.hxx> #include <com/sun/star/datatransfer/XTransferable.hpp> #include <com/sun/star/datatransfer/clipboard/XClipboardEx.hpp> #include <com/sun/star/datatransfer/clipboard/XClipboardOwner.hpp> #include <com/sun/star/datatransfer/clipboard/XClipboardListener.hpp> #include <com/sun/star/datatransfer/clipboard/XClipboardNotifier.hpp> +#include <com/sun/star/datatransfer/clipboard/XSystemClipboard.hpp> #include <com/sun/star/datatransfer/XMimeContentTypeFactory.hpp> #include <com/sun/star/datatransfer/clipboard/XFlushableClipboard.hpp> #include <com/sun/star/lang/XServiceInfo.hpp> @@ -63,8 +64,7 @@ class AquaClipboard; class AquaClipboard : public ::cppu::BaseMutex, - public ::cppu::WeakComponentImplHelper4< com::sun::star::datatransfer::clipboard::XClipboardEx, - com::sun::star::datatransfer::clipboard::XClipboardNotifier, + public ::cppu::WeakComponentImplHelper3< com::sun::star::datatransfer::clipboard::XSystemClipboard, com::sun::star::datatransfer::clipboard::XFlushableClipboard, com::sun::star::lang::XServiceInfo >, private ::boost::noncopyable diff --git a/vcl/ios/source/dtrans/ios_clipboard.cxx b/vcl/ios/source/dtrans/ios_clipboard.cxx index 8b75fd7ebc2e..03c8c9c7e629 100644 --- a/vcl/ios/source/dtrans/ios_clipboard.cxx +++ b/vcl/ios/source/dtrans/ios_clipboard.cxx @@ -81,7 +81,7 @@ Sequence<OUString> clipboard_getSupportedServiceNames() IosClipboard::IosClipboard(UIPasteboard* pasteboard, bool bUseSystemPasteboard) : - WeakComponentImplHelper4<XClipboardEx, XClipboardNotifier, XFlushableClipboard, XServiceInfo>(m_aMutex), + WeakComponentImplHelper3<XSystemClipboard, XFlushableClipboard, XServiceInfo>(m_aMutex), mIsSystemPasteboard(bUseSystemPasteboard) { Reference<XMultiServiceFactory> mrServiceMgr = comphelper::getProcessServiceFactory(); diff --git a/vcl/ios/source/dtrans/ios_clipboard.hxx b/vcl/ios/source/dtrans/ios_clipboard.hxx index 1b67022a94ce..1c3dc40392af 100644 --- a/vcl/ios/source/dtrans/ios_clipboard.hxx +++ b/vcl/ios/source/dtrans/ios_clipboard.hxx @@ -22,12 +22,13 @@ #include <rtl/ustring.hxx> #include <sal/types.h> -#include <cppuhelper/compbase4.hxx> +#include <cppuhelper/compbase3.hxx> #include <com/sun/star/datatransfer/XTransferable.hpp> #include <com/sun/star/datatransfer/clipboard/XClipboardEx.hpp> #include <com/sun/star/datatransfer/clipboard/XClipboardOwner.hpp> #include <com/sun/star/datatransfer/clipboard/XClipboardListener.hpp> #include <com/sun/star/datatransfer/clipboard/XClipboardNotifier.hpp> +#include <com/sun/star/datatransfer/clipboard/XSystemClipboard.hpp> #include <com/sun/star/datatransfer/XMimeContentTypeFactory.hpp> #include <com/sun/star/datatransfer/clipboard/XFlushableClipboard.hpp> #include <com/sun/star/lang/XServiceInfo.hpp> @@ -62,8 +63,7 @@ class IosClipboard; class IosClipboard : public ::cppu::BaseMutex, - public ::cppu::WeakComponentImplHelper4< com::sun::star::datatransfer::clipboard::XClipboardEx, - com::sun::star::datatransfer::clipboard::XClipboardNotifier, + public ::cppu::WeakComponentImplHelper3< com::sun::star::datatransfer::clipboard::XSystemClipboard, com::sun::star::datatransfer::clipboard::XFlushableClipboard, com::sun::star::lang::XServiceInfo >, private ::boost::noncopyable diff --git a/vcl/source/components/dtranscomp.cxx b/vcl/source/components/dtranscomp.cxx index 88242e5e8849..18881de9e0cb 100644 --- a/vcl/source/components/dtranscomp.cxx +++ b/vcl/source/components/dtranscomp.cxx @@ -34,13 +34,13 @@ #include "com/sun/star/datatransfer/clipboard/XClipboardEx.hpp" #include "com/sun/star/datatransfer/clipboard/XClipboardNotifier.hpp" #include "com/sun/star/datatransfer/clipboard/XClipboardListener.hpp" +#include "com/sun/star/datatransfer/clipboard/XSystemClipboard.hpp" #include "com/sun/star/datatransfer/dnd/XDragSource.hpp" #include "com/sun/star/datatransfer/dnd/XDropTarget.hpp" #include "com/sun/star/datatransfer/dnd/DNDConstants.hpp" #include "cppuhelper/compbase1.hxx" #include "cppuhelper/compbase2.hxx" -#include "cppuhelper/compbase3.hxx" #include "cppuhelper/implbase1.hxx" using rtl::OUString; @@ -54,9 +54,8 @@ namespace vcl { // generic implementation to satisfy SalInstance class GenericClipboard : - public cppu::WeakComponentImplHelper3 < - datatransfer::clipboard::XClipboardEx, - datatransfer::clipboard::XClipboardNotifier, + public cppu::WeakComponentImplHelper2 < + datatransfer::clipboard::XSystemClipboard, XServiceInfo > { @@ -70,9 +69,8 @@ class GenericClipboard : public: - GenericClipboard() : cppu::WeakComponentImplHelper3< - datatransfer::clipboard::XClipboardEx, - datatransfer::clipboard::XClipboardNotifier, + GenericClipboard() : cppu::WeakComponentImplHelper2< + datatransfer::clipboard::XSystemClipboard, XServiceInfo >( m_aMutex ) {} diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx index 4e926f936e07..eac1351ced80 100644 --- a/vcl/source/window/window.cxx +++ b/vcl/source/window/window.cxx @@ -79,6 +79,7 @@ #include "com/sun/star/datatransfer/dnd/XDragSource.hpp" #include "com/sun/star/datatransfer/dnd/XDropTarget.hpp" #include "com/sun/star/datatransfer/clipboard/XClipboard.hpp" +#include "com/sun/star/datatransfer/clipboard/SystemClipboard.hpp" #include "com/sun/star/awt/XTopWindow.hpp" #include "com/sun/star/awt/XDisplayConnection.hpp" #include "com/sun/star/lang/XInitialization.hpp" @@ -8429,30 +8430,21 @@ uno::Reference< XClipboard > Window::GetClipboard() try { uno::Reference< XMultiServiceFactory > xFactory( comphelper::getProcessServiceFactory() ); + uno::Reference< XComponentContext > xContext( comphelper::getProcessComponentContext() ); mpWindowImpl->mpFrameData->mxClipboard = uno::Reference< XClipboard >( xFactory->createInstance( OUString("com.sun.star.datatransfer.clipboard.SystemClipboardExt") ), UNO_QUERY ); if( !mpWindowImpl->mpFrameData->mxClipboard.is() ) - mpWindowImpl->mpFrameData->mxClipboard = uno::Reference< XClipboard >( xFactory->createInstance( OUString("com.sun.star.datatransfer.clipboard.SystemClipboard") ), UNO_QUERY ); - -#if defined(UNX) && !defined(MACOSX) // unix clipboard needs to be initialized - if( mpWindowImpl->mpFrameData->mxClipboard.is() ) { - uno::Reference< XInitialization > xInit = uno::Reference< XInitialization >( mpWindowImpl->mpFrameData->mxClipboard, UNO_QUERY ); - - if( xInit.is() ) - { - Sequence< Any > aArgumentList( 3 ); - aArgumentList[ 0 ] = makeAny( Application::GetDisplayConnection() ); - aArgumentList[ 1 ] = makeAny( OUString("CLIPBOARD") ); - aArgumentList[ 2 ] = makeAny( vcl::createBmpConverter() ); - - xInit->initialize( aArgumentList ); - } - } + Reference<XSystemClipboard> xSystemClipboard; +#if defined(UNX) && !defined(MACOSX) // unix clipboard needs to be initialized + xSystemClipboard = SystemClipboard::createUnix( xContext, Application::GetDisplayConnection(), "CLIPBOARD", vcl::createBmpConverter() ); +#else + xSystemClipboard = SystemClipboard::createDefault(xContext); #endif + mpWindowImpl->mpFrameData->mxClipboard = uno::Reference< XClipboard >( xSystemClipboard, UNO_QUERY ); + } } - // createInstance can throw any exception catch (const Exception&) { @@ -8480,15 +8472,11 @@ uno::Reference< XClipboard > Window::GetPrimarySelection() try { uno::Reference< XMultiServiceFactory > xFactory( comphelper::getProcessServiceFactory() ); + uno::Reference< XComponentContext > xContext( comphelper::getProcessComponentContext() ); #if defined(UNX) && !defined(MACOSX) - Sequence< Any > aArgumentList( 3 ); - aArgumentList[ 0 ] = makeAny( Application::GetDisplayConnection() ); - aArgumentList[ 1 ] = makeAny( OUString("PRIMARY") ); - aArgumentList[ 2 ] = makeAny( vcl::createBmpConverter() ); - - mpWindowImpl->mpFrameData->mxSelection = uno::Reference< XClipboard >( xFactory->createInstanceWithArguments( - OUString("com.sun.star.datatransfer.clipboard.SystemClipboard"), aArgumentList ), UNO_QUERY ); + Reference<XSystemClipboard> xSystemClipboard = SystemClipboard::createUnix( xContext, Application::GetDisplayConnection(), "CLIPBOARD", vcl::createBmpConverter() ); + mpWindowImpl->mpFrameData->mxSelection = uno::Reference< XClipboard >( xSystemClipboard, UNO_QUERY ); # else static uno::Reference< XClipboard > s_xSelection; diff --git a/vcl/unx/generic/dtrans/X11_clipboard.cxx b/vcl/unx/generic/dtrans/X11_clipboard.cxx index d0b2a7389714..dee55c4b47c1 100644 --- a/vcl/unx/generic/dtrans/X11_clipboard.cxx +++ b/vcl/unx/generic/dtrans/X11_clipboard.cxx @@ -47,11 +47,9 @@ using namespace x11; using ::rtl::OUString; X11Clipboard::X11Clipboard( SelectionManager& rManager, Atom aSelection ) : - ::cppu::WeakComponentImplHelper4< - ::com::sun::star::datatransfer::clipboard::XClipboardEx, - ::com::sun::star::datatransfer::clipboard::XClipboardNotifier, - ::com::sun::star::lang::XServiceInfo, - ::com::sun::star::lang::XInitialization + ::cppu::WeakComponentImplHelper2< + ::com::sun::star::datatransfer::clipboard::XSystemClipboard, + ::com::sun::star::lang::XServiceInfo >( rManager.getMutex() ), m_rSelectionManager( rManager ), diff --git a/vcl/unx/generic/dtrans/X11_clipboard.hxx b/vcl/unx/generic/dtrans/X11_clipboard.hxx index 05b6b5a46cfb..19f56e842780 100644 --- a/vcl/unx/generic/dtrans/X11_clipboard.hxx +++ b/vcl/unx/generic/dtrans/X11_clipboard.hxx @@ -23,9 +23,9 @@ #include <X11_selection.hxx> #include <com/sun/star/datatransfer/clipboard/XClipboardEx.hpp> - #include <com/sun/star/datatransfer/clipboard/XClipboardNotifier.hpp> -#include <cppuhelper/compbase4.hxx> +#include <com/sun/star/datatransfer/clipboard/XSystemClipboard.hpp> +#include <cppuhelper/compbase2.hxx> // ------------------------------------------------------------------------ @@ -34,11 +34,9 @@ namespace x11 { class X11Clipboard : - public ::cppu::WeakComponentImplHelper4 < - ::com::sun::star::datatransfer::clipboard::XClipboardEx, - ::com::sun::star::datatransfer::clipboard::XClipboardNotifier, - ::com::sun::star::lang::XServiceInfo, - ::com::sun::star::lang::XInitialization + public ::cppu::WeakComponentImplHelper2 < + ::com::sun::star::datatransfer::clipboard::XSystemClipboard, + ::com::sun::star::lang::XServiceInfo >, public SelectionAdaptor { |