diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-03-08 09:35:49 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2021-03-08 21:39:07 +0100 |
commit | 3bcf251cfe9bb11df63697c14a53c81e0e23c851 (patch) | |
tree | a252fd926cae027967725e90cf4ce860d9033b49 /editeng | |
parent | 19caafc967441982ba47a1016dbb1b8bf70d675e (diff) |
tdf#140498 middle-button paste doesn't depend on a vcl::Window
Change-Id: I4f1f14994b35cec51761689875bf6b5135612f3c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112161
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'editeng')
-rw-r--r-- | editeng/source/editeng/editeng.cxx | 7 | ||||
-rw-r--r-- | editeng/source/editeng/impedit.cxx | 21 |
2 files changed, 12 insertions, 16 deletions
diff --git a/editeng/source/editeng/editeng.cxx b/editeng/source/editeng/editeng.cxx index da9520aae81a..3c06cbf96f51 100644 --- a/editeng/source/editeng/editeng.cxx +++ b/editeng/source/editeng/editeng.cxx @@ -64,6 +64,7 @@ #include <rtl/strbuf.hxx> #include <sal/log.hxx> #include <vcl/help.hxx> +#include <vcl/transfer.hxx> #include <com/sun/star/datatransfer/clipboard/XClipboard.hpp> #if OSL_DEBUG_LEVEL > 1 @@ -1112,10 +1113,8 @@ bool EditEngine::PostKeyEvent( const KeyEvent& rKeyEvent, EditView* pEditView, v aCurSel = pImpEditEngine->MoveCursor( rKeyEvent, pEditView ); if ( aCurSel.HasRange() ) { - if (vcl::Window* pWindow = pEditView->GetWindow()) { - Reference<css::datatransfer::clipboard::XClipboard> aSelection(pWindow->GetPrimarySelection()); - pEditView->pImpEditView->CutCopy( aSelection, false ); - } + Reference<css::datatransfer::clipboard::XClipboard> aSelection(GetSystemPrimarySelection()); + pEditView->pImpEditView->CutCopy( aSelection, false ); } bMoved = true; diff --git a/editeng/source/editeng/impedit.cxx b/editeng/source/editeng/impedit.cxx index 728ed10ae3e9..f42ae0071a3c 100644 --- a/editeng/source/editeng/impedit.cxx +++ b/editeng/source/editeng/impedit.cxx @@ -1671,19 +1671,16 @@ bool ImpEditView::MouseButtonUp( const MouseEvent& rMouseEvent ) nExtraCursorFlags = GetCursorFlags::NONE; bClickedInSelection = false; - if (vcl::Window* pWindow = GetWindow()) + if ( rMouseEvent.IsMiddle() && !bReadOnly && + Application::GetSettings().GetMouseSettings().GetMiddleButtonAction() == MouseMiddleButtonAction::PasteSelection ) { - if ( rMouseEvent.IsMiddle() && !bReadOnly && - ( pWindow->GetSettings().GetMouseSettings().GetMiddleButtonAction() == MouseMiddleButtonAction::PasteSelection ) ) - { - Reference<css::datatransfer::clipboard::XClipboard> aClipBoard(GetSelection()); - Paste( aClipBoard ); - } - else if ( rMouseEvent.IsLeft() && GetEditSelection().HasRange() ) - { - Reference<css::datatransfer::clipboard::XClipboard> aClipBoard(GetSelection()); - CutCopy( aClipBoard, false ); - } + Reference<css::datatransfer::clipboard::XClipboard> aClipBoard(GetSelection()); + Paste( aClipBoard ); + } + else if ( rMouseEvent.IsLeft() && GetEditSelection().HasRange() ) + { + Reference<css::datatransfer::clipboard::XClipboard> aClipBoard(GetSelection()); + CutCopy( aClipBoard, false ); } return pEditEngine->pImpEditEngine->MouseButtonUp( rMouseEvent, GetEditViewPtr() ); |