]> git.lyx.org Git - lyx.git/blob - src/frontends/qt4/CustomizedWidgets.h
Fix bug #6997
[lyx.git] / src / frontends / qt4 / CustomizedWidgets.h
1 // -*- C++ -*-
2 /**
3  * \file CustomizedWidgets.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author Bo Peng
8  * \author Edwin Leuven
9  * \author Jürgen Spitzmüller
10  *
11  * Full author contact details are available in file CREDITS.
12  */
13
14 #ifndef CUSTOMIZEDWIDGETS_H
15 #define CUSTOMIZEDWIDGETS_H
16
17 #include <QLabel>
18 #include "KeySequence.h"
19
20 class QEvent;
21 class QKeyEvent;
22
23 namespace lyx {
24 namespace frontend {
25
26 /**
27  * A widget for inputting shortcuts
28  */
29 class ShortcutWidget : public QLabel {
30         Q_OBJECT
31 public:
32         ShortcutWidget(QWidget * parent);
33         void reset();
34         bool eventFilter(QObject*, QEvent* e );
35         KeySequence const getKeySequence() const;
36         void setKeySequence(lyx::KeySequence const s);
37         void removeFromSequence();
38 protected Q_SLOTS:
39         bool event(QEvent* e);
40         void keyPressEvent(QKeyEvent * e);
41 private:
42         void appendToSequence(QKeyEvent * e);
43         KeySequence keysequence_;
44         bool has_cursor_;
45 };
46
47 } // namespace frontend
48 } // namespace lyx
49
50 #endif // CUSTOMIZEDWIDGETS_H