X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fchatviewsettings.h;h=19aed61e0de9094129fe84d9d1ad029ed72bf87c;hp=286de7cc547328641a4c1c404817b8a15cd4a32f;hb=00e1a9c29e792ba4d65dba21b7ba04131bcb13bc;hpb=b82e9603ab7ce1164e8f550132f0c649653ad8ab diff --git a/src/qtui/chatviewsettings.h b/src/qtui/chatviewsettings.h index 286de7cc..19aed61e 100644 --- a/src/qtui/chatviewsettings.h +++ b/src/qtui/chatviewsettings.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2016 by the Quassel Project * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -22,6 +22,7 @@ #define CHATVIEWSETTINGS_H #include "qtuisettings.h" +#include "uistyle.h" class ChatScene; class ChatView; @@ -36,17 +37,30 @@ public: OptIn = 1, OptOut = 2 }; - Q_DECLARE_FLAGS(operationModes, OperationMode); + Q_DECLARE_FLAGS(operationModes, OperationMode) ChatViewSettings(const QString &id = "__default__"); ChatViewSettings(ChatScene *scene); ChatViewSettings(ChatView *view); - inline bool showWebPreview() { return localValue("ShowWebPreview", true).toBool(); } + inline bool showWebPreview() { return localValue("ShowWebPreview", false).toBool(); } inline void enableWebPreview(bool enabled) { setLocalValue("ShowWebPreview", enabled); } /** - * Gets the format string for chat log timestamps + * Gets if a custom timestamp format is used. + * + * @returns True if custom timestamp format used, otherwise false + */ + inline bool useCustomTimestampFormat() { return localValue("UseCustomTimestampFormat", false).toBool(); } + /** + * Sets whether a custom timestamp format is used. + * + * @param[in] enabled True if custom timestamp format used, otherwise false + */ + inline void setUseCustomTimestampFormat(bool enabled) { setLocalValue("UseCustomTimestampFormat", enabled); } + + /** + * Gets the format string for chat log timestamps. * * @returns String representing timestamp format, e.g. "[hh:mm:ss]" or " hh:mm:ss" */ @@ -60,12 +74,29 @@ public: */ inline void setTimestampFormatString(const QString &format) { setLocalValue("TimestampFormat", format); } + /** + * Gets how prefix modes are shown before sender names + * + * @returns SenderPrefixMode of what format to use for showing sender prefix modes + */ + inline UiStyle::SenderPrefixMode SenderPrefixDisplay() { + return static_cast( + localValue("SenderPrefixMode", + QVariant::fromValue( + UiStyle::SenderPrefixMode::HighestMode)).toInt()); + // Cast the QVariant to an integer, then cast that to the enum class. + // .canConvert() returned true, but + // .value(); always gave the default value 0. + // + // There's probably a cleaner way of doing this. I couldn't find it within 4 hours, so... + } + /** * Gets if brackets are shown around sender names * * @returns True if sender brackets enabled, otherwise false */ - inline bool showSenderBrackets() { return localValue("ShowSenderBrackets", true).toBool(); } + inline bool showSenderBrackets() { return localValue("ShowSenderBrackets", false).toBool(); } /** * Sets whether brackets are shown around around sender names. *