summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTamás Zolnai <tamas.zolnai@collabora.com>2020-04-07 10:31:51 +0200
committerTamás Zolnai <tamas.zolnai@collabora.com>2020-04-07 18:17:24 +0200
commitf91745c82128bfd6bf795f4e2e1cc290448f1cdb (patch)
tree2e1d0a4d9fda11f9fd90a27a6c3445796b5aa356
parentbb0c4119b7e63e370bb3a66d0debbe5e3b19b67a (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.h1
-rw-r--r--vcl/source/window/floatwin.cxx7
-rw-r--r--vcl/source/window/winproc.cxx10
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 ) ||