]> git.lyx.org Git - features.git/commitdiff
* On MacOSX enter is no activation key for a QListWidget. Hence it
authorStefan Schimanski <sts@lyx.org>
Thu, 21 Jun 2007 06:38:50 +0000 (06:38 +0000)
committerStefan Schimanski <sts@lyx.org>
Thu, 21 Jun 2007 06:38:50 +0000 (06:38 +0000)
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.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18840 a592a061-630c-0410-9148-cb99ea01b6c8

src/frontends/qt4/QCommandBuffer.cpp

index b418c990ded6717d4c123c56247a6fa8a29ae39d..faba90d9478d91e3643ec8546ae7fbff09eb3739 100644 (file)
@@ -66,8 +66,11 @@ protected:
                if (ev->key() == Qt::Key_Escape) {
                        hide();
                        return;
-               }
-               QListWidget::keyPressEvent(ev);
+               } else if (ev->key() == Qt::Key_Return || ev->key() == Qt::Key_Space) {
+                       // emit signal
+                       itemPressed(currentItem());
+               } else
+                       QListWidget::keyPressEvent(ev);
        }
 };
 
@@ -185,6 +188,7 @@ void QCommandBuffer::complete_selected(QListWidgetItem * item)
        QWidget const * widget = static_cast<QWidget const *>(sender());
        const_cast<QWidget *>(widget)->hide();
        edit_->setText(item->text() + ' ');
+       edit_->activateWindow();
        edit_->setFocus();
 }