]> git.lyx.org Git - lyx.git/blob - src/frontends/qt3/QCommandEdit.C
Extracted from r14281
[lyx.git] / src / frontends / qt3 / QCommandEdit.C
1 /**
2  * \file QCommandEdit.C
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 namespace lyx {
16 namespace frontend {
17
18 QCommandEdit::QCommandEdit(QWidget * parent)
19         : QLineEdit(parent)
20 {
21         setFocusPolicy(QWidget::ClickFocus);
22 }
23
24
25 void QCommandEdit::keyPressEvent(QKeyEvent * e)
26 {
27         switch (e->key()) {
28         case Key_Escape:
29                 // emit signal
30                 escapePressed();
31                 break;
32
33         case Key_Up:
34                 // emit signal
35                 upPressed();
36                 break;
37
38         case Key_Down:
39                 // emit signal
40                 downPressed();
41                 break;
42
43         default:
44                 QLineEdit::keyPressEvent(e);
45                 break;
46         }
47 }
48
49
50 bool QCommandEdit::event(QEvent * e)
51 {
52         if (e->type() != QEvent::KeyPress)
53                 return QLineEdit::event(e);
54
55         QKeyEvent * ev = (QKeyEvent *)e;
56
57         if (ev->key() != Key_Tab)
58                 return QLineEdit::event(e);
59
60         // emit signal
61         tabPressed();
62         return true;
63 }
64
65 } // namespace frontend
66 } // namespace lyx