X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fuistyle.h;h=2a098da1f16f1d7804ebb8c59a93cce1b769fff0;hp=a50519c9f8dce4d304d01d96e9492c9f5d9bbdd7;hb=6eefdfc697067d184a589fc8a231b16316c09106;hpb=a4f4d8fe57d3e70d2f0ebdb31ca17234ccb28faf diff --git a/src/uisupport/uistyle.h b/src/uisupport/uistyle.h index a50519c9..2a098da1 100644 --- a/src/uisupport/uistyle.h +++ b/src/uisupport/uistyle.h @@ -20,6 +20,8 @@ #pragma once +#include "uisupport-export.h" + #include #include @@ -38,14 +40,14 @@ #include "networkmodel.h" #include "settings.h" -class UiStyle : public QObject +class UISUPPORT_EXPORT UiStyle : public QObject { Q_OBJECT Q_ENUMS(SenderPrefixModes) public: - UiStyle(QObject *parent = 0); - virtual ~UiStyle(); + UiStyle(QObject *parent = nullptr); + ~UiStyle() override; //! This enumerates the possible formats a text element may have. */ /** These formats are ordered on increasing importance, in cases where a given property is specified @@ -105,7 +107,9 @@ public: None = 0x00000000, OwnMsg = 0x00000001, Highlight = 0x00000002, - Selected = 0x00000004 // must be last! + Selected = 0x00000004, + Hovered = 0x00000008, + Last = Hovered }; enum class ItemFormatType : quint32 { @@ -164,14 +168,13 @@ public: }; /// Display of sender prefix modes - enum SenderPrefixMode { + enum class SenderPrefixMode { NoModes = 0, ///< Hide sender modes HighestMode = 1, ///< Show the highest active sender mode AllModes = 2 ///< Show all active sender modes }; // Do not change SenderPrefixMode numbering without also adjusting // ChatViewSettingsPage::initSenderPrefixComboBox() and chatviewsettingspage.ui "defaultValue" - // TODO Qt5: Switch to "enum class" struct Format { FormatType type; @@ -295,8 +298,8 @@ protected: /** * Cache the system locale timestamp format string * - * Based on whether or not AM/PM designators are used in the QLocale::system().timeFormat(), - * this extends the system locale timestamp format string to include seconds. + * Based on whether or not AM/PM designators are used in the QLocale.timeFormat(), this extends + * the application locale timestamp format string to include seconds. * * @see UiStyle::systemTimestampFormatString() */ @@ -364,7 +367,7 @@ private: }; -class UiStyle::StyledMessage : public Message +class UISUPPORT_EXPORT UiStyle::StyledMessage : public Message { Q_DECLARE_TR_FUNCTIONS(UiStyle::StyledMessage) @@ -388,34 +391,30 @@ private: mutable quint8 _senderHash; }; -#if QT_VERSION < 0x050000 -uint qHash(UiStyle::ItemFormatType key); -#else uint qHash(UiStyle::ItemFormatType key, uint seed); -#endif // ---- Operators for dealing with enums ---------------------------------------------------------- -UiStyle::FormatType operator|(UiStyle::FormatType lhs, UiStyle::FormatType rhs); -UiStyle::FormatType& operator|=(UiStyle::FormatType &lhs, UiStyle::FormatType rhs); -UiStyle::FormatType operator|(UiStyle::FormatType lhs, quint32 rhs); -UiStyle::FormatType& operator|=(UiStyle::FormatType &lhs, quint32 rhs); -UiStyle::FormatType operator&(UiStyle::FormatType lhs, UiStyle::FormatType rhs); -UiStyle::FormatType& operator&=(UiStyle::FormatType &lhs, UiStyle::FormatType rhs); -UiStyle::FormatType operator&(UiStyle::FormatType lhs, quint32 rhs); -UiStyle::FormatType& operator&=(UiStyle::FormatType &lhs, quint32 rhs); -UiStyle::FormatType& operator^=(UiStyle::FormatType &lhs, UiStyle::FormatType rhs); - -UiStyle::MessageLabel operator|(UiStyle::MessageLabel lhs, UiStyle::MessageLabel rhs); -UiStyle::MessageLabel& operator|=(UiStyle::MessageLabel &lhs, UiStyle::MessageLabel rhs); -UiStyle::MessageLabel operator&(UiStyle::MessageLabel lhs, quint32 rhs); -UiStyle::MessageLabel& operator&=(UiStyle::MessageLabel &lhs, UiStyle::MessageLabel rhs); +UISUPPORT_EXPORT UiStyle::FormatType operator|(UiStyle::FormatType lhs, UiStyle::FormatType rhs); +UISUPPORT_EXPORT UiStyle::FormatType& operator|=(UiStyle::FormatType &lhs, UiStyle::FormatType rhs); +UISUPPORT_EXPORT UiStyle::FormatType operator|(UiStyle::FormatType lhs, quint32 rhs); +UISUPPORT_EXPORT UiStyle::FormatType& operator|=(UiStyle::FormatType &lhs, quint32 rhs); +UISUPPORT_EXPORT UiStyle::FormatType operator&(UiStyle::FormatType lhs, UiStyle::FormatType rhs); +UISUPPORT_EXPORT UiStyle::FormatType& operator&=(UiStyle::FormatType &lhs, UiStyle::FormatType rhs); +UISUPPORT_EXPORT UiStyle::FormatType operator&(UiStyle::FormatType lhs, quint32 rhs); +UISUPPORT_EXPORT UiStyle::FormatType& operator&=(UiStyle::FormatType &lhs, quint32 rhs); +UISUPPORT_EXPORT UiStyle::FormatType& operator^=(UiStyle::FormatType &lhs, UiStyle::FormatType rhs); + +UISUPPORT_EXPORT UiStyle::MessageLabel operator|(UiStyle::MessageLabel lhs, UiStyle::MessageLabel rhs); +UISUPPORT_EXPORT UiStyle::MessageLabel& operator|=(UiStyle::MessageLabel &lhs, UiStyle::MessageLabel rhs); +UISUPPORT_EXPORT UiStyle::MessageLabel operator&(UiStyle::MessageLabel lhs, quint32 rhs); +UISUPPORT_EXPORT UiStyle::MessageLabel& operator&=(UiStyle::MessageLabel &lhs, UiStyle::MessageLabel rhs); // Shifts the label into the upper half of the return value -quint64 operator|(UiStyle::FormatType lhs, UiStyle::MessageLabel rhs); +UISUPPORT_EXPORT quint64 operator|(UiStyle::FormatType lhs, UiStyle::MessageLabel rhs); -UiStyle::ItemFormatType operator|(UiStyle::ItemFormatType lhs, UiStyle::ItemFormatType rhs); -UiStyle::ItemFormatType& operator|=(UiStyle::ItemFormatType &lhs, UiStyle::ItemFormatType rhs); +UISUPPORT_EXPORT UiStyle::ItemFormatType operator|(UiStyle::ItemFormatType lhs, UiStyle::ItemFormatType rhs); +UISUPPORT_EXPORT UiStyle::ItemFormatType& operator|=(UiStyle::ItemFormatType &lhs, UiStyle::ItemFormatType rhs); // ---- Allow for FormatList in QVariant ----------------------------------------------------------