*
* \author Bo Peng
* \author Edwin Leuven
+ * \author Jürgen Spitzmüller
*
* Full author contact details are available in file CREDITS.
*/
#ifndef CUSTOMIZEDWIDGETS_H
#define CUSTOMIZEDWIDGETS_H
-#include <QEvent>
-#include <QCloseEvent>
-#include <QLineEdit>
+#include <QLabel>
+#include "KeySequence.h"
-/**
- * A lineedit for inputting shortcuts
- */
-class ShortcutLineEdit : public QLineEdit {
- Q_OBJECT
-public:
- ShortcutLineEdit(QWidget * parent) : QLineEdit(parent) {}
-protected Q_SLOTS:
- void keyPressEvent(QKeyEvent * e);
- bool event(QEvent* e);
-};
+class QEvent;
+class QKeyEvent;
+namespace lyx {
+namespace frontend {
/**
- * A lineedit that displays a hint message when there is no
- * text and not under focus.
- */
-class SearchLineEdit : public QLineEdit {
+ * A widget for inputting shortcuts
+ */
+class ShortcutWidget : public QLabel {
Q_OBJECT
public:
- QString const hintMessage();
- SearchLineEdit(QWidget * parent) : QLineEdit(parent) {}
+ ShortcutWidget(QWidget * parent);
+ void reset();
+ bool eventFilter(QObject*, QEvent* e );
+ KeySequence const getKeySequence() const;
+ void setKeySequence(lyx::KeySequence const s);
+ void removeFromSequence();
protected Q_SLOTS:
- void focusInEvent(QFocusEvent * e);
- void focusOutEvent(QFocusEvent * e);
+ bool event(QEvent* e);
+ void keyPressEvent(QKeyEvent * e);
+private:
+ void appendToSequence(QKeyEvent * e);
+ KeySequence keysequence_;
+ bool has_cursor_;
};
+} // namespace frontend
+} // namespace lyx
#endif // CUSTOMIZEDWIDGETS_H