changeset 19394:2f9d9663b6b0 gui-release

fix double clicks into the borders of floating dock widgets (bug #43662) * octave-dock-widget.cc (eventFilter): new event filter catching double clicks outside the client area; (constructor): install new event filter * octave-dock-widget.h: new eventFilter
author Torsten <ttl@justmail.de>
date Tue, 25 Nov 2014 23:14:24 +0100
parents 998628b7963a
children 76b4256bcbd8
files libgui/src/octave-dock-widget.cc libgui/src/octave-dock-widget.h
diffstat 2 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/src/octave-dock-widget.cc	Tue Nov 25 15:32:58 2014 -0500
+++ b/libgui/src/octave-dock-widget.cc	Tue Nov 25 23:14:24 2014 +0100
@@ -107,6 +107,9 @@
            this, SLOT (pasteClipboard ()));
   connect (p, SIGNAL (selectAll_signal ()),
            this, SLOT (selectAll ()));
+
+  installEventFilter (this);
+
 }
 
 octave_dock_widget::~octave_dock_widget ()
@@ -358,3 +361,14 @@
 
   notice_settings (settings);  // call individual handler
 }
+
+bool octave_dock_widget::eventFilter(QObject *obj, QEvent *e)
+{
+  if (e->type () == QEvent::NonClientAreaMouseButtonDblClick)
+    {
+      e->ignore (); // ignore double clicks into window decoration elements
+      return true;
+    }
+
+  return QDockWidget::eventFilter (obj,e);
+}
--- a/libgui/src/octave-dock-widget.h	Tue Nov 25 15:32:58 2014 -0500
+++ b/libgui/src/octave-dock-widget.h	Tue Nov 25 23:14:24 2014 +0100
@@ -105,6 +105,9 @@
   {
   }
 
+  // event filter for double clicks into the window decoration elements
+  bool eventFilter(QObject *obj, QEvent *e);
+
 private slots:
 
   void change_floating (bool);