1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00
qTox/src/widget/passwordedit.h
Colomban Wendling 5f34a959fc refactor: replace CapsLockIndicator with new PasswordEdit widget
Introduce a new PasswordEdit widget extending QLineEdit that takes care
of all the specifics of a QLineEntry when it is used to input a
password, including echo mode and caps lock indicator.

Also optimize the event handling to only listen to global events when
it is actually needed, e.g. when a password field is actually visible.
2016-06-17 21:55:27 +02:00

38 lines
694 B
C++

#ifndef PASSWORDEDIT_H
#define PASSWORDEDIT_H
#include <QAction>
#include <QLineEdit>
class PasswordEdit : public QLineEdit
{
public:
PasswordEdit(QWidget *parent);
~PasswordEdit();
protected:
virtual void showEvent(QShowEvent* event);
virtual void hideEvent(QHideEvent* event);
private:
class EventHandler : QObject
{
public:
QVector<QAction*> actions;
EventHandler();
~EventHandler();
void updateActions();
bool eventFilter(QObject *obj, QEvent *event);
};
void registerHandler();
void unregisterHandler();
private:
QAction* action;
static EventHandler* eventHandler;
};
#endif // PASSWORDEDIT_H