Stylesheet for system theme now works
This commit is contained in:
parent
9521e692c0
commit
ee893c5adf
@ -38,6 +38,15 @@ struct DescInfo
|
|||||||
class RoomInfoListItem : public QWidget
|
class RoomInfoListItem : public QWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
Q_PROPERTY(QColor highlightedBackgroundColor
|
||||||
|
READ highlightedBackgroundColor
|
||||||
|
WRITE setHighlightedBackgroundColor)
|
||||||
|
Q_PROPERTY(QColor hoverBackgroundColor
|
||||||
|
READ hoverBackgroundColor
|
||||||
|
WRITE setHoverBackgroundColor)
|
||||||
|
Q_PROPERTY(QColor backgroundColor
|
||||||
|
READ backgroundColor
|
||||||
|
WRITE setBackgroundColor)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
RoomInfoListItem(QSharedPointer<RoomSettings> settings,
|
RoomInfoListItem(QSharedPointer<RoomSettings> settings,
|
||||||
@ -51,13 +60,21 @@ public:
|
|||||||
void clearUnreadMessageCount();
|
void clearUnreadMessageCount();
|
||||||
void setState(const RoomState &state);
|
void setState(const RoomState &state);
|
||||||
|
|
||||||
bool isPressed() const { return isPressed_; };
|
bool isPressed() const { return isPressed_; }
|
||||||
RoomState state() const { return state_; };
|
RoomState state() const { return state_; }
|
||||||
int unreadMessageCount() const { return unreadMsgCount_; };
|
int unreadMessageCount() const { return unreadMsgCount_; }
|
||||||
|
|
||||||
void setAvatar(const QImage &avatar_image);
|
void setAvatar(const QImage &avatar_image);
|
||||||
void setDescriptionMessage(const DescInfo &info);
|
void setDescriptionMessage(const DescInfo &info);
|
||||||
|
|
||||||
|
inline QColor highlightedBackgroundColor() const { return highlightedBackgroundColor_; }
|
||||||
|
inline QColor hoverBackgroundColor() const { return hoverBackgroundColor_; }
|
||||||
|
inline QColor backgroundColor() const { return backgroundColor_; }
|
||||||
|
|
||||||
|
inline void setHighlightedBackgroundColor(QColor &color) { highlightedBackgroundColor_ = color; }
|
||||||
|
inline void setHoverBackgroundColor(QColor &color) { hoverBackgroundColor_ = color; }
|
||||||
|
inline void setBackgroundColor(QColor &color) { backgroundColor_ = color; }
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void clicked(const QString &room_id);
|
void clicked(const QString &room_id);
|
||||||
void leaveRoom(const QString &room_id);
|
void leaveRoom(const QString &room_id);
|
||||||
@ -98,4 +115,8 @@ private:
|
|||||||
|
|
||||||
int maxHeight_;
|
int maxHeight_;
|
||||||
int unreadMsgCount_ = 0;
|
int unreadMsgCount_ = 0;
|
||||||
|
|
||||||
|
QColor highlightedBackgroundColor_;
|
||||||
|
QColor hoverBackgroundColor_;
|
||||||
|
QColor backgroundColor_;
|
||||||
};
|
};
|
||||||
|
@ -19,6 +19,9 @@
|
|||||||
|
|
||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
|
#include <QStyle>
|
||||||
|
#include <QStyleOption>
|
||||||
|
#include <QPainter>
|
||||||
|
|
||||||
#include "Emote.h"
|
#include "Emote.h"
|
||||||
#include "Image.h"
|
#include "Image.h"
|
||||||
@ -67,6 +70,9 @@ public:
|
|||||||
|
|
||||||
~TimelineItem();
|
~TimelineItem();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void paintEvent(QPaintEvent *event) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void init();
|
void init();
|
||||||
|
|
||||||
|
@ -21,6 +21,8 @@
|
|||||||
#include <QList>
|
#include <QList>
|
||||||
#include <QQueue>
|
#include <QQueue>
|
||||||
#include <QScrollArea>
|
#include <QScrollArea>
|
||||||
|
#include <QStyle>
|
||||||
|
#include <QStyleOption>
|
||||||
|
|
||||||
#include "Emote.h"
|
#include "Emote.h"
|
||||||
#include "Image.h"
|
#include "Image.h"
|
||||||
@ -120,6 +122,9 @@ private slots:
|
|||||||
signals:
|
signals:
|
||||||
void updateLastTimelineMessage(const QString &user, const DescInfo &info);
|
void updateLastTimelineMessage(const QString &user, const DescInfo &info);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void paintEvent(QPaintEvent *event) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void init();
|
void init();
|
||||||
void addTimelineItem(TimelineItem *item, TimelineDirection direction);
|
void addTimelineItem(TimelineItem *item, TimelineDirection direction);
|
||||||
|
@ -1,2 +1,13 @@
|
|||||||
TimelineView { background-color: red; }
|
TimelineView, TimelineView > * {
|
||||||
TimelineItem { background-color: rgba(255,0,0,255); }
|
background-color: palette(base);
|
||||||
|
}
|
||||||
|
|
||||||
|
FlatButton {
|
||||||
|
qproperty-foregroundColor: palette(text);
|
||||||
|
}
|
||||||
|
|
||||||
|
RoomInfoListItem {
|
||||||
|
qproperty-highlightedBackgroundColor: palette(highlight);
|
||||||
|
qproperty-hoverBackgroundColor: palette(dark);
|
||||||
|
qproperty-backgroundColor: palette(window);
|
||||||
|
}
|
||||||
|
@ -54,7 +54,7 @@ ChatPage::ChatPage(QSharedPointer<MatrixClient> client, QWidget *parent)
|
|||||||
topLayout_->setMargin(0);
|
topLayout_->setMargin(0);
|
||||||
|
|
||||||
auto splitter = new Splitter(this);
|
auto splitter = new Splitter(this);
|
||||||
splitter->setHandleWidth(1);
|
splitter->setHandleWidth(0);
|
||||||
|
|
||||||
topLayout_->addWidget(splitter);
|
topLayout_->addWidget(splitter);
|
||||||
|
|
||||||
|
@ -96,11 +96,11 @@ RoomInfoListItem::paintEvent(QPaintEvent *event)
|
|||||||
p.setRenderHint(QPainter::Antialiasing);
|
p.setRenderHint(QPainter::Antialiasing);
|
||||||
|
|
||||||
if (isPressed_)
|
if (isPressed_)
|
||||||
p.fillRect(rect(), palette().color(QPalette::Highlight));
|
p.fillRect(rect(), highlightedBackgroundColor_);
|
||||||
else if (underMouse())
|
else if (underMouse())
|
||||||
p.fillRect(rect(), palette().color(QPalette::Dark));
|
p.fillRect(rect(), hoverBackgroundColor_);
|
||||||
else
|
else
|
||||||
p.fillRect(rect(), palette().color(QPalette::Window));
|
p.fillRect(rect(), backgroundColor_);
|
||||||
|
|
||||||
QFont font;
|
QFont font;
|
||||||
font.setPixelSize(conf::fontSize);
|
font.setPixelSize(conf::fontSize);
|
||||||
|
@ -468,3 +468,12 @@ TimelineItem::descriptiveTime(const QDateTime &then)
|
|||||||
}
|
}
|
||||||
|
|
||||||
TimelineItem::~TimelineItem() {}
|
TimelineItem::~TimelineItem() {}
|
||||||
|
|
||||||
|
void
|
||||||
|
TimelineItem::paintEvent(QPaintEvent *)
|
||||||
|
{
|
||||||
|
QStyleOption opt;
|
||||||
|
opt.init(this);
|
||||||
|
QPainter p(this);
|
||||||
|
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
|
||||||
|
}
|
||||||
|
@ -639,3 +639,12 @@ TimelineView::handleFailedMessage(int txnid)
|
|||||||
// Note: We do this even if the message has already been echoed.
|
// Note: We do this even if the message has already been echoed.
|
||||||
QTimer::singleShot(500, this, SLOT(sendNextPendingMessage()));
|
QTimer::singleShot(500, this, SLOT(sendNextPendingMessage()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
TimelineView::paintEvent(QPaintEvent *)
|
||||||
|
{
|
||||||
|
QStyleOption opt;
|
||||||
|
opt.init(this);
|
||||||
|
QPainter p(this);
|
||||||
|
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
|
||||||
|
}
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
#include <QNetworkProxy>
|
#include <QNetworkProxy>
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
#include <QTranslator>
|
#include <QTranslator>
|
||||||
|
#include <QFile>
|
||||||
|
|
||||||
#include "MainWindow.h"
|
#include "MainWindow.h"
|
||||||
|
|
||||||
|
@ -197,8 +197,6 @@ TextField::paintEvent(QPaintEvent *event)
|
|||||||
|
|
||||||
if (text().isEmpty()) {
|
if (text().isEmpty()) {
|
||||||
painter.setOpacity(1 - state_machine_->progress());
|
painter.setOpacity(1 - state_machine_->progress());
|
||||||
// painter.fillRect(rect(),
|
|
||||||
// parentWidget()->palette().color(backgroundRole()));
|
|
||||||
painter.fillRect(rect(), backgroundColor());
|
painter.fillRect(rect(), backgroundColor());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user