Skip to content
Snippets Groups Projects
Commit a339f506 authored by Konstantinos Sideris's avatar Konstantinos Sideris
Browse files

Add solid background in TypingDisplay

parent d0b3254d
No related branches found
No related tags found
No related merge requests found
......@@ -50,6 +50,7 @@ RoomList > * {
TypingDisplay {
qproperty-textColor: #caccd1;
qproperty-backgroundColor: #202228;
}
#roomlist_area {
......
......@@ -35,6 +35,7 @@ InfoMessage {
TypingDisplay {
qproperty-textColor: #333;
qproperty-backgroundColor: white;
}
SuggestionsPopup {
......
......@@ -33,6 +33,7 @@ QuickSwitcher {
TypingDisplay {
qproperty-textColor: palette(text);
qproperty-backgroundColor: palette(window);
}
InfoMessage {
......
......@@ -8,6 +8,7 @@
#include "ui/Painter.h"
constexpr int LEFT_PADDING = 24;
constexpr int RECT_PADDING = 2;
TypingDisplay::TypingDisplay(QWidget *parent)
: OverlayWidget(parent)
......@@ -17,7 +18,7 @@ TypingDisplay::TypingDisplay(QWidget *parent)
f.setPixelSize(conf::typingNotificationFontSize);
setFont(f);
setFixedHeight(QFontMetrics(font()).height() + 2);
setFixedHeight(QFontMetrics(font()).height() + RECT_PADDING);
setAttribute(Qt::WA_TransparentForMouseEvents);
}
......@@ -66,7 +67,11 @@ TypingDisplay::paintEvent(QPaintEvent *)
region.translate(LEFT_PADDING, 0);
QFontMetrics fm(font());
text_ = fm.elidedText(text_, Qt::ElideRight, width() - 3 * LEFT_PADDING);
text_ = fm.elidedText(text_, Qt::ElideRight, (double)(width() * 0.75));
QPainterPath path;
path.addRoundedRect(QRectF(0, 0, fm.width(text_) + 2 * LEFT_PADDING, height()), 3, 3);
p.fillPath(path, backgroundColor());
p.drawText(region, Qt::AlignVCenter, text_);
}
......@@ -9,6 +9,7 @@ class TypingDisplay : public OverlayWidget
Q_OBJECT
Q_PROPERTY(QColor textColor WRITE setTextColor READ textColor)
Q_PROPERTY(QColor backgroundColor WRITE setBackgroundColor READ backgroundColor)
public:
TypingDisplay(QWidget *parent = nullptr);
......@@ -18,6 +19,9 @@ public:
void setTextColor(const QColor &color) { textColor_ = color; };
QColor textColor() const { return textColor_; };
void setBackgroundColor(const QColor &color) { bgColor_ = color; };
QColor backgroundColor() const { return bgColor_; };
public slots:
void setOffset(int margin);
......@@ -27,5 +31,6 @@ protected:
private:
int offset_;
QColor textColor_;
QColor bgColor_;
QString text_;
};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment