X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fchatviewsettings.h;h=cb57b68aa38cd953f21a13b0a140da3d5e4728bd;hp=01d9d71ffe5ab6915c3d1367b986625d95141040;hb=b7cf37ec77eccfde8e515c6638ef8d996c71019f;hpb=0f16a547d17c536cc567bfb2746824bfca3424cd diff --git a/src/qtui/chatviewsettings.h b/src/qtui/chatviewsettings.h index 01d9d71f..cb57b68a 100644 --- a/src/qtui/chatviewsettings.h +++ b/src/qtui/chatviewsettings.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 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 * @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ #ifndef CHATVIEWSETTINGS_H @@ -23,9 +23,60 @@ #include "qtuisettings.h" -class ChatViewSettings : public QtUiSettings { +class ChatScene; +class ChatView; + +class ChatViewSettings : public QtUiSettings +{ +public: + Q_ENUMS(OperationMode) public: - ChatViewSettings(const QString &id = "__default__"); + enum OperationMode { + InvalidMode = 0, + OptIn = 1, + OptOut = 2 + }; + 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 void enableWebPreview(bool enabled) { setLocalValue("ShowWebPreview", enabled); } + + /** + * Gets the format string for chat log timestamps + * + * @returns String representing timestamp format, e.g. "[hh:mm:ss]" or " hh:mm:ss" + */ + inline QString timestampFormatString() { return localValue("TimestampFormat", " hh:mm:ss").toString(); } + // 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" + */ + inline void setTimestampFormatString(const QString &format) { setLocalValue("TimestampFormat", format); } + + /** + * Gets if brackets are shown around sender names + * + * @returns True if sender brackets enabled, otherwise false + */ + inline bool showSenderBrackets() { return localValue("ShowSenderBrackets", false).toBool(); } + /** + * Sets whether brackets are shown around around sender names. + * + * @param[in] enabled True if enabling sender brackets, otherwise false + */ + inline void enableSenderBrackets(bool enabled) { setLocalValue("ShowSenderBrackets", enabled); } + + inline QString webSearchUrlFormatString() { return localValue("WebSearchUrlFormat", "https://www.google.com/search?q=%s").toString(); } + inline void setWebSearchUrlFormatString(const QString &format) { setLocalValue("WebSearchUrlFormat", format); } }; + +Q_DECLARE_METATYPE(ChatViewSettings::OperationMode) #endif //CHATVIEWSETTINGS_H