diff options
author | Pranav Kant <pranavk@collabora.co.uk> | 2017-08-04 11:17:06 +0530 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2017-11-15 17:07:12 +0100 |
commit | 3b487140f424d3cf515852c1cc12dbf3000b9358 (patch) | |
tree | 1a1069d6cecf050434825061a07f7ed3d4afda70 /desktop | |
parent | 1b8c684c0d0e8edf3bb740693bd76c1f2f4ad298 (diff) |
lokdialog: Mouse events for dialog floating child windows
Change-Id: I06a081835d246f752e57f8cc289162ed31fc91d4
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/source/lib/init.cxx | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index 66f340f71df5..8f582b639c69 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -583,6 +583,14 @@ static void doc_postDialogMouseEvent (LibreOfficeKitDocument* pThis, int nCount, int nButtons, int nModifier); +static void doc_postDialogChildMouseEvent (LibreOfficeKitDocument* pThis, + const char* pDialogId, + int nType, + int nX, + int nY, + int nCount, + int nButtons, + int nModifier); static void doc_postUnoCommand(LibreOfficeKitDocument* pThis, const char* pCommand, const char* pArguments, @@ -655,6 +663,7 @@ LibLODocument_Impl::LibLODocument_Impl(const uno::Reference <css::lang::XCompone m_pDocumentClass->postDialogKeyEvent = doc_postDialogKeyEvent; m_pDocumentClass->postMouseEvent = doc_postMouseEvent; m_pDocumentClass->postDialogMouseEvent = doc_postDialogMouseEvent; + m_pDocumentClass->postDialogChildMouseEvent = doc_postDialogChildMouseEvent; m_pDocumentClass->postUnoCommand = doc_postUnoCommand; m_pDocumentClass->setTextSelection = doc_setTextSelection; m_pDocumentClass->getTextSelection = doc_getTextSelection; @@ -2312,6 +2321,21 @@ static void doc_postDialogMouseEvent(LibreOfficeKitDocument* pThis, const char* pDoc->postDialogMouseEvent(aDialogID, nType, nX, nY, nCount, nButtons, nModifier); } +static void doc_postDialogChildMouseEvent(LibreOfficeKitDocument* pThis, const char* pDialogId, int nType, int nX, int nY, int nCount, int nButtons, int nModifier) +{ + SolarMutexGuard aGuard; + + IDialogRenderable* pDoc = getDialogRenderable(pThis); + if (!pDoc) + { + gImpl->maLastExceptionMsg = "Document doesn't support dialog rendering"; + return; + } + + vcl::DialogID aDialogID = OUString::createFromAscii(pDialogId); + pDoc->postDialogChildMouseEvent(aDialogID, nType, nX, nY, nCount, nButtons, nModifier); +} + static void doc_setTextSelection(LibreOfficeKitDocument* pThis, int nType, int nX, int nY) { SolarMutexGuard aGuard; |