# HG changeset patch # User Torsten # Date 1416953664 -3600 # Node ID 2f9d9663b6b000521f59f8333da73d3f22315db8 # Parent 998628b7963a13eac2017dc30fc175e95dcfc18f 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 diff -r 998628b7963a -r 2f9d9663b6b0 libgui/src/octave-dock-widget.cc --- 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); +} diff -r 998628b7963a -r 2f9d9663b6b0 libgui/src/octave-dock-widget.h --- 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);