X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fchatviewsettings.h;h=1728f0104e9dcbd48c6cd4334fdbe1ce35f6e7bb;hp=08d6cb6d202f2d72fd5ce59a8bfa8cf6fc422e2f;hb=52209badc8e769e50aa3019b63689dda0e79e9d0;hpb=e50ae7a06fc4e5d3a911c361d30953410deab609 diff --git a/src/qtui/chatviewsettings.h b/src/qtui/chatviewsettings.h index 08d6cb6d..1728f010 100644 --- a/src/qtui/chatviewsettings.h +++ b/src/qtui/chatviewsettings.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2015 by the Quassel Project * + * Copyright (C) 2005-2019 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,10 +18,10 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef CHATVIEWSETTINGS_H -#define CHATVIEWSETTINGS_H +#pragma once #include "qtuisettings.h" +#include "uistyle.h" class ChatScene; class ChatView; @@ -31,27 +31,71 @@ class ChatViewSettings : public QtUiSettings public: Q_ENUMS(OperationMode) public: - enum OperationMode { + enum OperationMode + { InvalidMode = 0, 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); + ChatViewSettings(const QString& id = "__default__"); + ChatViewSettings(ChatScene* scene); + ChatViewSettings(ChatView* view); - inline bool showWebPreview() { return localValue("ShowWebPreview", true).toBool(); } - inline void enableWebPreview(bool enabled) { setLocalValue("ShowWebPreview", enabled); } + bool showWebPreview() const; + void enableWebPreview(bool enabled); - inline QString timestampFormatString() { return localValue("TimestampFormat", "[hh:mm:ss]").toString(); } - inline void setTimestampFormatString(const QString &format) { setLocalValue("TimestampFormat", format); } + /** + * Gets if a custom timestamp format is used. + * + * @returns True if custom timestamp format used, otherwise false + */ + bool useCustomTimestampFormat() const; + /** + * Sets whether a custom timestamp format is used. + * + * @param[in] enabled True if custom timestamp format used, otherwise false + */ + void setUseCustomTimestampFormat(bool enabled); - inline QString webSearchUrlFormatString() { return localValue("WebSearchUrlFormat", "https://www.google.com/search?q=%s").toString(); } - inline void setWebSearchUrlFormatString(const QString &format) { setLocalValue("WebSearchUrlFormat", format); } -}; + /** + * Gets the format string for chat log timestamps. + * + * @returns String representing timestamp format, e.g. "[hh:mm:ss]" or " hh:mm:ss" + */ + QString timestampFormatString() const; + // Include a space in the default TimestampFormat to give the timestamp a small bit of padding + // between the border of the chat buffer window and the numbers. Helps with readability. + /** + * Sets the format string for chat log timestamps + * + * @param[in] format String representing timestamp format, e.g. "[hh:mm:ss]" or " hh:mm:ss" + */ + void setTimestampFormatString(const QString& format); + + /** + * Gets how prefix modes are shown before sender names + * + * @returns SenderPrefixMode of what format to use for showing sender prefix modes + */ + UiStyle::SenderPrefixMode senderPrefixDisplay() const; + /** + * Gets if brackets are shown around sender names + * + * @returns True if sender brackets enabled, otherwise false + */ + bool showSenderBrackets() const; + /** + * Sets whether brackets are shown around around sender names. + * + * @param[in] enabled True if enabling sender brackets, otherwise false + */ + void enableSenderBrackets(bool enabled); + + QString webSearchUrlFormatString() const; + void setWebSearchUrlFormatString(const QString& format); +}; -Q_DECLARE_METATYPE(ChatViewSettings::OperationMode); -#endif //CHATVIEWSETTINGS_H +Q_DECLARE_METATYPE(ChatViewSettings::OperationMode)