From 3fceaeb203d63eac0afe05d2b11342fd6c1994be Mon Sep 17 00:00:00 2001 From: redsky17 Date: Sat, 12 Jan 2019 22:03:25 +0000 Subject: [PATCH] Add hover color for timestamp. Update dark and system themes to provide colors for the hover states for title, subtitle, and timestamp. --- resources/styles/nheko-dark.qss | 4 ++++ resources/styles/nheko.qss | 1 + resources/styles/system.qss | 4 ++++ src/RoomInfoListItem.cpp | 7 +++++-- src/RoomInfoListItem.h | 5 +++++ 5 files changed, 19 insertions(+), 2 deletions(-) diff --git a/resources/styles/nheko-dark.qss b/resources/styles/nheko-dark.qss index 1f6631f..86056bb 100644 --- a/resources/styles/nheko-dark.qss +++ b/resources/styles/nheko-dark.qss @@ -93,6 +93,9 @@ RoomInfoListItem { qproperty-titleColor: #e4e5e8; qproperty-subtitleColor: #caccd1; + qproperty-hoverTitleColor: #f4f5f8; + qproperty-hoverSubtitleColor: white; + qproperty-highlightedTitleColor: #f4f4f5; qproperty-highlightedSubtitleColor: #e4e5e8; @@ -101,6 +104,7 @@ RoomInfoListItem { qproperty-timestampColor: #727274; qproperty-highlightedTimestampColor: #e7e7e9; + qproperty-hoverTimestampColor: #f4f5f8; qproperty-avatarBgColor: #202228; qproperty-avatarFgColor: white; diff --git a/resources/styles/nheko.qss b/resources/styles/nheko.qss index bf616c1..ca5a8f0 100644 --- a/resources/styles/nheko.qss +++ b/resources/styles/nheko.qss @@ -100,6 +100,7 @@ RoomInfoListItem { qproperty-timestampColor: #707070; qproperty-highlightedTimestampColor: #f4f4f5; + qproperty-hoverTimestampColor: white; qproperty-avatarBgColor: #eee; qproperty-avatarFgColor: black; diff --git a/resources/styles/system.qss b/resources/styles/system.qss index 4348d6e..45263e9 100644 --- a/resources/styles/system.qss +++ b/resources/styles/system.qss @@ -92,11 +92,15 @@ RoomInfoListItem { qproperty-highlightedTitleColor: palette(highlightedtext); qproperty-highlightedSubtitleColor: palette(highlightedtext); + qproperty-hoverTitleColor: palette(highlightedtext); + qproperty-hoverSubtitleColor: palette(highlightedtext); + qproperty-btnColor: palette(button); qproperty-btnTextColor: palette(buttonText); qproperty-timestampColor: palette(text); qproperty-highlightedTimestampColor: palette(highlightedtext); + qproperty-hoverTimestampColor: palette(highlightedtext); qproperty-avatarBgColor: palette(base); qproperty-avatarFgColor: palette(text); diff --git a/src/RoomInfoListItem.cpp b/src/RoomInfoListItem.cpp index e9cae16..fcf5bd7 100644 --- a/src/RoomInfoListItem.cpp +++ b/src/RoomInfoListItem.cpp @@ -227,10 +227,13 @@ RoomInfoListItem::paintEvent(QPaintEvent *event) // We show the last message timestamp. p.save(); - if (isPressed_) + if (isPressed_) { p.setPen(QPen(highlightedTimestampColor_)); - else + } else if (underMouse()) { + p.setPen(QPen(hoverTimestampColor_)); + } else { p.setPen(QPen(timestampColor_)); + } p.setFont(tsFont); p.drawText(QPoint(width() - wm.padding - msgStampWidth, top_y), diff --git a/src/RoomInfoListItem.h b/src/RoomInfoListItem.h index 4f3e937..f613e32 100644 --- a/src/RoomInfoListItem.h +++ b/src/RoomInfoListItem.h @@ -49,6 +49,8 @@ class RoomInfoListItem : public QWidget Q_PROPERTY(QColor timestampColor READ timestampColor WRITE setTimestampColor) Q_PROPERTY(QColor highlightedTimestampColor READ highlightedTimestampColor WRITE setHighlightedTimestampColor) + Q_PROPERTY(QColor hoverTimestampColor READ hoverTimestampColor WRITE + setHoverTimestampColor) Q_PROPERTY( QColor highlightedTitleColor READ highlightedTitleColor WRITE setHighlightedTitleColor) @@ -81,6 +83,7 @@ public: QColor hoverBackgroundColor() const { return hoverBackgroundColor_; } QColor hoverTitleColor() const { return hoverTitleColor_; } QColor hoverSubtitleColor() const { return hoverSubtitleColor_; } + QColor hoverTimestampColor() const { return hoverTimestampColor_; } QColor backgroundColor() const { return backgroundColor_; } QColor avatarBgColor() const { return avatarBgColor_; } QColor avatarFgColor() const { return avatarFgColor_; } @@ -102,6 +105,7 @@ public: void setHoverBackgroundColor(QColor &color) { hoverBackgroundColor_ = color; } void setHoverSubtitleColor(QColor &color) { hoverSubtitleColor_ = color; } void setHoverTitleColor(QColor &color) { hoverTitleColor_ = color; } + void setHoverTimestampColor(QColor &color) { hoverTimestampColor_ = color; } void setBackgroundColor(QColor &color) { backgroundColor_ = color; } void setTimestampColor(QColor &color) { timestampColor_ = color; } void setAvatarFgColor(QColor &color) { avatarFgColor_ = color; } @@ -210,6 +214,7 @@ private: QColor timestampColor_; QColor highlightedTimestampColor_; + QColor hoverTimestampColor_; QColor avatarBgColor_; QColor avatarFgColor_;