X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fqtuistyle.h;h=d8247401fc404550403d3134677c59741b26c881;hp=da5012b67fa207238b58cd006695ba4da886601e;hb=b7cf37ec77eccfde8e515c6638ef8d996c71019f;hpb=e50ae7a06fc4e5d3a911c361d30953410deab609 diff --git a/src/qtui/qtuistyle.h b/src/qtui/qtuistyle.h index da5012b6..d8247401 100644 --- a/src/qtui/qtuistyle.h +++ b/src/qtui/qtuistyle.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2015 by the Quassel Project * + * Copyright (C) 2005-2016 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -36,17 +36,51 @@ 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: void updateTimestampFormatString(); + /** + * Updates knowledge of whether or not to show sender brackets + */ + void updateShowSenderBrackets(); 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; - QString senderQss(int i, UiSettings &settings) const; + + /** + * Generate a snippet of Qss stylesheet for a given sender-hash index + * + * @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; };