summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2018-08-10 10:58:46 +0300
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2018-08-10 10:58:46 +0300
commita339f5062fa572e4f276b9fe143b772b71af5a5b (patch)
tree00c2c356ede89bef89b5c8384463bcf9f305d4aa /src
parentUpdate polish translation (#402) (diff)
downloadnheko-a339f5062fa572e4f276b9fe143b772b71af5a5b.tar.xz
Add solid background in TypingDisplay
Diffstat (limited to 'src')
-rw-r--r--src/TypingDisplay.cpp9
-rw-r--r--src/TypingDisplay.h5
2 files changed, 12 insertions, 2 deletions
diff --git a/src/TypingDisplay.cpp b/src/TypingDisplay.cpp

index cd405a7a..6b731740 100644 --- a/src/TypingDisplay.cpp +++ b/src/TypingDisplay.cpp
@@ -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_); } diff --git a/src/TypingDisplay.h b/src/TypingDisplay.h
index c4e6c357..332d9c66 100644 --- a/src/TypingDisplay.h +++ b/src/TypingDisplay.h
@@ -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_; };