lyx_mirror/src/frontends/qt4/CustomizedWidgets.h
Guillaume Munch a645d7f4e5 ShortcutWidget: override shortcuts in the way they are meant to be (#10075)
I would say "by the books" but the documentation was not really clear.

Problems with the logic of the previous implementation were exposed in Qt 5.6 by
commit <https://codereview.qt-project.org/125142>.

<http://mid.gmane.org/20160510070413.wzjpk4w4turnx6pr@cotopaxi>

Note that ShortcutOverride events are used elsewhere in the code where they may
need to be corrected in the same way.
2016-05-20 19:14:35 +01:00

50 lines
996 B
C++

// -*- C++ -*-
/**
* \file CustomizedWidgets.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \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 <QLabel>
#include "KeySequence.h"
class QEvent;
class QKeyEvent;
namespace lyx {
namespace frontend {
/**
* A widget for inputting shortcuts
*/
class ShortcutWidget : public QLabel {
Q_OBJECT
public:
ShortcutWidget(QWidget * parent);
void reset();
KeySequence const getKeySequence() const;
void setKeySequence(lyx::KeySequence const & s);
void removeFromSequence();
protected Q_SLOTS:
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