diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-12-15 14:24:35 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-12-15 14:27:53 +0000 |
commit | ea4c75dcc9c3e53e7ef40bd273ea18a48ea9b18d (patch) | |
tree | fb0162b9210ef365d519ed01cf5635f21374a1e9 /vcl/source/window | |
parent | 4c82edfb3a9286a0bfef3f006e468e5c331987eb (diff) |
gtk3+wayland: enable manual movement of toolbars
via gtk_window_begin_move_drag so add some BYDRAG/ByDrag hints
to select mechanism to move window by
Change-Id: Icc58653dff752a6d4ee49446647d7ede2af9dd9b
Diffstat (limited to 'vcl/source/window')
-rw-r--r-- | vcl/source/window/brdwin.cxx | 7 | ||||
-rw-r--r-- | vcl/source/window/window.cxx | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/vcl/source/window/brdwin.cxx b/vcl/source/window/brdwin.cxx index d46ad02ffdee..1d79dd082393 100644 --- a/vcl/source/window/brdwin.cxx +++ b/vcl/source/window/brdwin.cxx @@ -1243,7 +1243,7 @@ bool ImplStdBorderWindowView::Tracking( const TrackingEvent& rTEvt ) aPos.Y() += aMousePos.Y(); if ( maFrameData.mbDragFull ) { - pBorderWindow->SetPosPixel( aPos ); + pBorderWindow->MoveToByDrag(aPos); pBorderWindow->ImplUpdateAll(); pBorderWindow->ImplGetFrameWindow()->ImplUpdateAll(); } @@ -2179,6 +2179,11 @@ Rectangle ImplBorderWindow::GetMenuRect() const return mpBorderView->GetMenuRect(); } +void ImplBorderWindow::MoveToByDrag(const Point& rNewPos) +{ + setPosSizePixel(rNewPos.X(), rNewPos.Y(), 0, 0, PosSizeFlags::Pos | PosSizeFlags::ByDrag); +} + Size ImplBorderWindow::GetOptimalSize() const { const vcl::Window* pClientWindow = ImplGetClientWindow(); diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx index c988af633fb7..b508ed45f1c7 100644 --- a/vcl/source/window/window.cxx +++ b/vcl/source/window/window.cxx @@ -2909,6 +2909,8 @@ void Window::setPosSizePixel( long nX, long nY, nSysFlags |= SAL_FRAME_POSSIZE_WIDTH; if( nFlags & PosSizeFlags::Height ) nSysFlags |= SAL_FRAME_POSSIZE_HEIGHT; + if( nFlags & PosSizeFlags::ByDrag ) + nSysFlags |= SAL_FRAME_POSSIZE_BYDRAG; if( nFlags & PosSizeFlags::X ) { nSysFlags |= SAL_FRAME_POSSIZE_X; |