1 files changed, 18 insertions, 3 deletions
diff --git a/src/TypingDisplay.cpp b/src/TypingDisplay.cpp
index 08214a63..cd405a7a 100644
--- a/src/TypingDisplay.cpp
+++ b/src/TypingDisplay.cpp
@@ -1,5 +1,7 @@
+#include <QDebug>
#include <QPainter>
#include <QPoint>
+#include <QShowEvent>
#include "Config.h"
#include "TypingDisplay.h"
@@ -8,21 +10,33 @@
constexpr int LEFT_PADDING = 24;
TypingDisplay::TypingDisplay(QWidget *parent)
- : QWidget(parent)
+ : OverlayWidget(parent)
+ , offset_{conf::textInput::height}
{
QFont f;
f.setPixelSize(conf::typingNotificationFontSize);
-
setFont(f);
setFixedHeight(QFontMetrics(font()).height() + 2);
+ setAttribute(Qt::WA_TransparentForMouseEvents);
+}
+
+void
+TypingDisplay::setOffset(int margin)
+{
+ offset_ = margin;
+ move(0, parentWidget()->height() - offset_ - height());
}
void
TypingDisplay::setUsers(const QStringList &uid)
{
+ move(0, parentWidget()->height() - offset_ - height());
+
+ text_.clear();
+
if (uid.isEmpty()) {
- text_.clear();
+ hide();
update();
return;
@@ -35,6 +49,7 @@ TypingDisplay::setUsers(const QStringList &uid)
else if (uid.size() > 1)
text_ += tr(" are typing");
+ show();
update();
}
|