X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fqtuistyle.h;h=733e73e580bcbd33eac8471a2ff63727b18ab4e1;hb=d93a32a6d25f2a3aef89e7c948d468d892d8f768;hp=365640c79af4e4a92e886210adf7510816494729;hpb=6b2bda5908bc1ddcc242d13adc3390eb1510f4e0;p=quassel.git diff --git a/src/qtui/qtuistyle.h b/src/qtui/qtuistyle.h index 365640c7..733e73e5 100644 --- a/src/qtui/qtuistyle.h +++ b/src/qtui/qtuistyle.h @@ -36,10 +36,30 @@ public: virtual inline qreal secondColumnSeparator() const { return 6; } public slots: + /** + * Generates initial settingsQss if it doesn't exist + * + * This allows for default fonts, colors, etc to specified. + */ + + void initializeSettingsQss(); + + /** + * Generates UI stylesheet based on selected fonts, colors, etc + */ 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 whether or not to show sender brackets */ @@ -47,21 +67,51 @@ private slots: private: QString fontDescription(const QFont &font) const; - QString color(const QString &key, UiSettings &settings) const; + + /** + * Generate a Qt stylesheet color string from a given setting + * + * @param[in] key Reference to settings key containing a QColor + * @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 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 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; };