Stefan Schimanski wrote:
The bug: http://bugzilla.lyx.org/show_bug.cgi?id=3588

On MacOSX enter is no activation key for a QListWidget. Hence it does not close the command completion popup. Moreover setFocus does not focus the widget correctly, probably because the popup widget behavior is different. An activateWindow solves the problem by selecting the LyX view again as active window.

I have tested it only on OSX. Would be good if somebody confirms that it works on Windows and Linux.

Stefan

Index: src/frontends/qt4/QCommandBuffer.cpp
===================================================================
--- src/frontends/qt4/QCommandBuffer.cpp    (Revision 18815)
+++ src/frontends/qt4/QCommandBuffer.cpp    (Arbeitskopie)
@@ -66,8 +66,11 @@

Considering this:

         if (ev->key() == Qt::Key_Escape) {
             hide();
             return;
-        }
-        QListWidget::keyPressEvent(ev);

This line looks suspicious:

+ } else if (ev->key() == Qt::Key_Return || ev->key() == Qt::Key_Space) {


@@ -185,6 +188,7 @@
     QWidget const * widget = static_cast<QWidget const *>(sender());
     const_cast<QWidget *>(widget)->hide();
     edit_->setText(item->text() + ' ');
+    edit_->activateWindow();

This is fine I guess.

     edit_->setFocus();
 }


Reply via email to