diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-11-24 15:04:33 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-11-24 15:53:45 +0100 |
commit | d562df03098ecb91a89e91ccf69dd6a1eeb98c89 (patch) | |
tree | cef7c427bab8b70a56fb033cc420d2ff925cee4a | |
parent | d7acb44b148893fe0cc48a54c3eb73406c251668 (diff) |
sw lok comments: implement drag of the scrollbar
With this, if a comment has a vertical scrollbar, then not only the
buttons of the scrollbar can be clicked on, but also the slider of the
scrollbar can be dragged.
Change-Id: I2e39e18bf60c42a878bb8bfd808f1d47be27eecb
-rw-r--r-- | sw/source/uibase/docvw/SidebarScrollBar.cxx | 5 | ||||
-rw-r--r-- | sw/source/uibase/docvw/SidebarScrollBar.hxx | 1 | ||||
-rw-r--r-- | sw/source/uibase/docvw/SidebarWin.cxx | 10 |
3 files changed, 11 insertions, 5 deletions
diff --git a/sw/source/uibase/docvw/SidebarScrollBar.cxx b/sw/source/uibase/docvw/SidebarScrollBar.cxx index 909aa763dba1..ede46100b37c 100644 --- a/sw/source/uibase/docvw/SidebarScrollBar.cxx +++ b/sw/source/uibase/docvw/SidebarScrollBar.cxx @@ -60,6 +60,11 @@ void SidebarScrollBar::LogicInvalidate(const Rectangle* pRectangle) rWrtShell.libreOfficeKitCallback(LOK_CALLBACK_INVALIDATE_TILES, sRectangle.getStr()); } +void SidebarScrollBar::MouseMove(const MouseEvent& rMouseEvent) +{ + TrackingEvent aEvent(rMouseEvent); + Tracking(aEvent); +} SidebarScrollBar::~SidebarScrollBar() { diff --git a/sw/source/uibase/docvw/SidebarScrollBar.hxx b/sw/source/uibase/docvw/SidebarScrollBar.hxx index 9543205387df..ea5639e42e92 100644 --- a/sw/source/uibase/docvw/SidebarScrollBar.hxx +++ b/sw/source/uibase/docvw/SidebarScrollBar.hxx @@ -30,6 +30,7 @@ class SidebarScrollBar : public ScrollBar protected: /// @see OutputDevice::LogicInvalidate(). void LogicInvalidate(const Rectangle* pRectangle) override; + void MouseMove(const MouseEvent& rMouseEvent) override; public: SidebarScrollBar(SwSidebarWin& rSidebarWin, WinBits nStyle, SwView& rView); virtual ~SidebarScrollBar(); diff --git a/sw/source/uibase/docvw/SidebarWin.cxx b/sw/source/uibase/docvw/SidebarWin.cxx index a9a97c244b0f..fc4c79091848 100644 --- a/sw/source/uibase/docvw/SidebarWin.cxx +++ b/sw/source/uibase/docvw/SidebarWin.cxx @@ -463,15 +463,15 @@ void SwSidebarWin::KeyInput(const KeyEvent& rKeyEvent) void SwSidebarWin::MouseMove(const MouseEvent& rMouseEvent) { - if (mpSidebarTextControl) + if (vcl::Window* pHit = lcl_getHitWindow(*this, rMouseEvent)) { - mpSidebarTextControl->Push(PushFlags::MAPMODE); + pHit->Push(PushFlags::MAPMODE); MouseEvent aMouseEvent(rMouseEvent); - lcl_translateTwips(EditWin(), *mpSidebarTextControl, &aMouseEvent); + lcl_translateTwips(EditWin(), *pHit, &aMouseEvent); - mpSidebarTextControl->MouseMove(aMouseEvent); + pHit->MouseMove(aMouseEvent); - mpSidebarTextControl->Pop(); + pHit->Pop(); } } |