diff options
author | Tamás Zolnai <tamas.zolnai@collabora.com> | 2020-04-07 10:31:51 +0200 |
---|---|---|
committer | Tamás Zolnai <tamas.zolnai@collabora.com> | 2020-04-07 18:17:24 +0200 |
commit | f91745c82128bfd6bf795f4e2e1cc290448f1cdb (patch) | |
tree | 2e1d0a4d9fda11f9fd90a27a6c3445796b5aa356 | |
parent | bb0c4119b7e63e370bb3a66d0debbe5e3b19b67a (diff) |
lok: Use a different window type for tooltips.
Change-Id: I211cd6bc2249475dbacd80f944e22465b19aff77
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91829
Tested-by: Jenkins
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
-rw-r--r-- | include/LibreOfficeKit/LibreOfficeKitEnums.h | 1 | ||||
-rw-r--r-- | vcl/source/window/floatwin.cxx | 7 | ||||
-rw-r--r-- | vcl/source/window/winproc.cxx | 10 |
3 files changed, 7 insertions, 11 deletions
diff --git a/include/LibreOfficeKit/LibreOfficeKitEnums.h b/include/LibreOfficeKit/LibreOfficeKitEnums.h index e1321898bd2d..5ad801a7a74f 100644 --- a/include/LibreOfficeKit/LibreOfficeKitEnums.h +++ b/include/LibreOfficeKit/LibreOfficeKitEnums.h @@ -614,6 +614,7 @@ typedef enum * - "dialog" - window is a dialog * - "child" - window is a floating window (combo boxes, etc.) * - "deck" - window is a docked/floating deck (i.e. the sidebar) + * - "tooltip" - window is a tooltip popup * * "action" can take following values: * - "created" - window is created in the backend, client can render it now diff --git a/vcl/source/window/floatwin.cxx b/vcl/source/window/floatwin.cxx index a010533c79aa..749ceacd09d0 100644 --- a/vcl/source/window/floatwin.cxx +++ b/vcl/source/window/floatwin.cxx @@ -21,6 +21,7 @@ #include <brdwin.hxx> #include <window.h> #include <salframe.hxx> +#include <helpwin.hxx> #include <comphelper/lok.hxx> #include <sal/log.hxx> @@ -653,7 +654,11 @@ void FloatingWindow::StateChanged( StateChangedType nType ) else { SetLOKNotifier(pParent->GetLOKNotifier()); - aItems.emplace_back("type", "child"); + if (dynamic_cast<HelpTextWindow*>(this)) + aItems.emplace_back("type", "tooltip"); + else + aItems.emplace_back("type", "child"); + aItems.emplace_back("parentId", OString::number(pParent->GetLOKWindowId())); if (mbInPopupMode) aItems.emplace_back("position", mpImplData->maPos.toString()); // pixels diff --git a/vcl/source/window/winproc.cxx b/vcl/source/window/winproc.cxx index e0fad45bf34f..6ae5be59debb 100644 --- a/vcl/source/window/winproc.cxx +++ b/vcl/source/window/winproc.cxx @@ -160,16 +160,6 @@ static bool ImplHandleMouseFloatMode( vcl::Window* pChild, const Point& rMousePo static void ImplHandleMouseHelpRequest( vcl::Window* pChild, const Point& rMousePos ) { - if (comphelper::LibreOfficeKit::isActive()) - { - // Ignore tooltips in popup color palettes - // (e.g. Character Properties dialog -> Font Effects -> Font Color) - if(pChild->GetType() == WindowType::CONTROL && - pChild->GetParent() && pChild->GetParent()->GetParent() && - pChild->GetParent()->GetParent()->GetType() == WindowType::DOCKINGWINDOW) - return; - } - ImplSVHelpData& aHelpData = ImplGetSVHelpData(); if ( !aHelpData.mpHelpWin || !( aHelpData.mpHelpWin->IsWindowOrChild( pChild ) || |