]> git.lyx.org Git - lyx.git/blob - src/frontends/qt4/QCommandEdit.cpp
* src/frontends/qt4/ui/TextLayoutUi.ui:
[lyx.git] / src / frontends / qt4 / QCommandEdit.cpp
1 /**
2  * \file QCommandEdit.cpp
3  * This file is part of LyX, the document processor.
4  * Licence details can be found in the file COPYING.
5  *
6  * \author John Levon
7  *
8  * Full author contact details are available in file CREDITS.
9  */
10
11 #include <config.h>
12
13 #include "QCommandEdit.h"
14
15 #include <QKeyEvent>
16 #include <QEvent>
17
18 namespace lyx {
19 namespace frontend {
20
21 QCommandEdit::QCommandEdit(QWidget * parent)
22         : QLineEdit(parent)
23 {
24         setFocusPolicy(Qt::ClickFocus);
25 }
26
27
28 void QCommandEdit::keyPressEvent(QKeyEvent * e)
29 {
30         switch (e->key()) {
31         case Qt::Key_Escape:
32                 // emit signal
33                 escapePressed();
34                 break;
35
36         case Qt::Key_Up:
37                 // emit signal
38                 upPressed();
39                 break;
40
41         case Qt::Key_Down:
42                 // emit signal
43                 downPressed();
44                 break;
45
46         case Qt::Key_X:
47                 if (e->modifiers() == Qt::AltModifier
48                    || e->modifiers() == Qt::MetaModifier) {
49                         // emit signal
50                         hidePressed();
51                         break;
52                 }
53
54         default:
55                 QLineEdit::keyPressEvent(e);
56                 break;
57         }
58 }
59
60
61 bool QCommandEdit::event(QEvent * e)
62 {
63         if (e->type() != QEvent::KeyPress)
64                 return QLineEdit::event(e);
65
66         QKeyEvent * ev = (QKeyEvent *)e;
67
68         if (ev->key() != Qt::Key_Tab)
69                 return QLineEdit::event(e);
70
71         // emit signal
72         tabPressed();
73         return true;
74 }
75
76 } // namespace frontend
77 } // namespace lyx
78
79 #include "QCommandEdit_moc.cpp"