Hide emoji panel if it's not under the mouse cursor

fixes #254
fixes #246
This commit is contained in:
Konstantinos Sideris 2018-04-08 15:49:53 +03:00
parent 8dc17ccecb
commit 5125433552
4 changed files with 40 additions and 11 deletions

View file

@ -37,8 +37,16 @@ signals:
void emojiSelected(const QString &emoji);
protected:
void leaveEvent(QEvent *event);
void paintEvent(QPaintEvent *event);
void leaveEvent(QEvent *event) override
{
emit leaving();
QWidget::leaveEvent(event);
}
void paintEvent(QPaintEvent *event) override;
signals:
void leaving();
private:
void showCategory(const Category *category);

View file

@ -18,6 +18,7 @@
#pragma once
#include <QEvent>
#include <QTimer>
#include <QWidget>
#include "FlatButton.h"
@ -37,6 +38,7 @@ signals:
protected:
void enterEvent(QEvent *e) override;
void leaveEvent(QEvent *e) override;
private:
// Vertical distance from panel's bottom.
@ -46,5 +48,6 @@ private:
int horizontal_distance_ = 70;
QSharedPointer<Panel> panel_;
QTimer hideTimer_;
};
} // namespace emoji