#include <QApplication>
#include <QColor>
-#include <QIcon>
#include "buffersettings.h"
+#include "icon.h"
#include "qssparser.h"
#include "quassel.h"
#include "uistyle.h"
}
UiStyle::UiStyle(QObject *parent)
- : QObject(parent),
- _channelJoinedIcon(QIcon::fromTheme("irc-channel-active", QIcon(":/icons/irc-channel-active.png"))),
- _channelPartedIcon(QIcon::fromTheme("irc-channel-inactive", QIcon(":/icons/irc-channel-inactive.png"))),
- _userOfflineIcon(QIcon::fromTheme("im-user-offline", QIcon::fromTheme("user-offline", QIcon(":/icons/im-user-offline.png")))),
- _userOnlineIcon(QIcon::fromTheme("im-user", QIcon::fromTheme("user-available", QIcon(":/icons/im-user.png")))), // im-user-* are non-standard oxygen extensions
- _userAwayIcon(QIcon::fromTheme("im-user-away", QIcon::fromTheme("user-away", QIcon(":/icons/im-user-away.png")))),
- _categoryOpIcon(QIcon::fromTheme("irc-operator")),
- _categoryVoiceIcon(QIcon::fromTheme("irc-voice")),
- _opIconLimit(UserCategoryItem::categoryFromModes("o")),
- _voiceIconLimit(UserCategoryItem::categoryFromModes("v"))
+ : QObject(parent)
+ , _channelJoinedIcon{icon::get("irc-channel-active")}
+ , _channelPartedIcon{icon::get("irc-channel-inactive")}
+ , _userOfflineIcon{icon::get({"im-user-offline", "user-offline"})}
+ , _userOnlineIcon{icon::get({"im-user-online", "im-user", "user-available"})}
+ , _userAwayIcon{icon::get({"im-user-away", "user-away"})}
+ , _categoryOpIcon{icon::get("irc-operator")}
+ , _categoryVoiceIcon{icon::get("irc-voice")}
+ , _opIconLimit{UserCategoryItem::categoryFromModes("o")}
+ , _voiceIconLimit{UserCategoryItem::categoryFromModes("v")}
{
static bool registered = []() {
qRegisterMetaType<FormatList>();
// Helpful interactive website for debugging and explaining: https://regex101.com/
const QRegExp regExpMatchAMPM(".*(\\b|_)(A|AP)(\\b|_).*", Qt::CaseInsensitive);
- if (regExpMatchAMPM.exactMatch(QLocale::system().timeFormat(QLocale::ShortFormat))) {
+ if (regExpMatchAMPM.exactMatch(QLocale().timeFormat(QLocale::ShortFormat))) {
// AM/PM style used
_systemTimestampFormatString = " h:mm:ss ap";
} else {
// Merge all formats except mIRC and extended colors
mergeFormat(charFormat, format, label & 0xffff0000); // keep nickhash in label
- for (quint32 mask = 0x00000001; mask <= static_cast<quint32>(MessageLabel::Selected); mask <<= 1) {
+ for (quint32 mask = 0x00000001; mask <= static_cast<quint32>(MessageLabel::Last); mask <<= 1) {
if (static_cast<quint32>(label) & mask) {
mergeFormat(charFormat, format, label & (mask | 0xffff0000));
}
// unless the AllowForegroundOverride or AllowBackgroundOverride properties are set (via stylesheet).
if (_allowMircColors) {
mergeColors(charFormat, format, MessageLabel::None);
- for (quint32 mask = 0x00000001; mask <= static_cast<quint32>(MessageLabel::Selected); mask <<= 1) {
+ for (quint32 mask = 0x00000001; mask <= static_cast<quint32>(MessageLabel::Last); mask <<= 1) {
if (static_cast<quint32>(label) & mask) {
mergeColors(charFormat, format, label & mask);
}
/***********************************************************************************/
-#if QT_VERSION < 0x050000
-uint qHash(UiStyle::ItemFormatType key)
-{
- return qHash(static_cast<quint32>(key));
-}
-
-#else
-
uint qHash(UiStyle::ItemFormatType key, uint seed)
{
return qHash(static_cast<quint32>(key), seed);
}
-#endif
+
UiStyle::FormatType operator|(UiStyle::FormatType lhs, UiStyle::FormatType rhs)
{
return static_cast<UiStyle::FormatType>(static_cast<quint32>(lhs) | static_cast<quint32>(rhs));
}
+
UiStyle::FormatType& operator|=(UiStyle::FormatType& lhs, UiStyle::FormatType rhs)
{
lhs = static_cast<UiStyle::FormatType>(static_cast<quint32>(lhs) | static_cast<quint32>(rhs));