X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fqtuistyle.h;h=5a1e8ead42661ec85ab577128deaa33d1cc5f257;hb=b83e459f4ed6deda6e46b7ae12e49e197ef3bb12;hp=d8247401fc404550403d3134677c59741b26c881;hpb=b7cf37ec77eccfde8e515c6638ef8d996c71019f;p=quassel.git diff --git a/src/qtui/qtuistyle.h b/src/qtui/qtuistyle.h index d8247401..5a1e8ead 100644 --- a/src/qtui/qtuistyle.h +++ b/src/qtui/qtuistyle.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2016 by the Quassel Project * + * Copyright (C) 2005-2020 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -21,16 +21,15 @@ #ifndef QTUISTYLE_H_ #define QTUISTYLE_H_ -#include "uistyle.h" #include "qtuisettings.h" +#include "uistyle.h" class QtUiStyle : public UiStyle { Q_OBJECT public: - QtUiStyle(QObject *parent = 0); - virtual ~QtUiStyle(); + QtUiStyle(QObject* parent = nullptr); virtual inline qreal firstColumnSeparator() const { return 6; } virtual inline qreal secondColumnSeparator() const { return 6; } @@ -50,14 +49,28 @@ public slots: void generateSettingsQss() const; private slots: + /** + * Updates knowledge of whether or not to use the custom timestamp format + */ + void updateUseCustomTimestampFormat(); + + /** + * Updates knowledge of the current timestamp format + */ void updateTimestampFormatString(); + + /** + * Updates knowledge of how to display sender prefix modes + */ + void updateSenderPrefixDisplay(); + /** * Updates knowledge of whether or not to show sender brackets */ void updateShowSenderBrackets(); private: - QString fontDescription(const QFont &font) const; + QString fontDescription(const QFont& font) const; /** * Generate a Qt stylesheet color string from a given setting @@ -66,23 +79,44 @@ private: * @param[in] settings UiSettings manager to search * @param[in] defaultColor Fallback color if not found; when unspecified default is black */ - QString color(const QString &key, UiSettings &settings, const QColor &defaultColor = QColor()) const; + QString color(const QString& key, UiSettings& settings, const QColor& defaultColor = QColor()) const; - QString msgTypeQss(const QString &msgType, const QString &key, UiSettings &settings) const; + QString msgTypeQss(const QString& msgType, const QString& key, UiSettings& settings) const; + + /** + * Generates the Qss color palette stylesheet for sender colors + * + * This must be called before generating any Qss dependent on these colors. + * + * @see QtUiStyle::senderQss() + * @param[in] settings Reference to current UI settings, used for loading color values + * @return Quassel-theme-compatible Qss color palette + */ + QString senderPaletteQss(UiSettings& settings) const; /** * Generate a snippet of Qss stylesheet for a given sender-hash index * + * This depends on the color palette generated by QtUiStyle::senderPaletteQss() + * * @param[in] i Sender hash index from 0 - 15 - * @param[in] settings Reference to current UI settings, used for loading color values * @param[in] messageType Type of message to filter, e.g. 'plain' or 'action' * @param[in] includeNick Also apply foreground color to Nick * @return Snippet of Quassel-theme-compatible Qss stylesheet */ - QString senderQss(int i, UiSettings &settings, const QString &messageType, - bool includeNick = false) const; - QString chatListItemQss(const QString &state, const QString &key, UiSettings &settings) const; -}; + QString senderQss(int i, const QString& messageType, bool includeNick = false) const; + + /** + * Generate a snippet of Qss stylesheet for a given IRC nickname sender-hash index + * + * This depends on the color palette generated by QtUiStyle::senderPaletteQss() + * + * @param[in] i Sender hash index from 0 - 15 + * @return Snippet of Quassel-theme-compatible Qss stylesheet + */ + QString nickQss(int i) const; + QString chatListItemQss(const QString& state, const QString& key, UiSettings& settings) const; +}; #endif