+ /**
+ * Gets the unique ID of this rule
+ *
+ * @return Integer ID of the rule
+ */
+ inline int id() const { return _id; }
+ /**
+ * Sets the ID of this rule
+ *
+ * CAUTION: IDs should be kept unique!
+ *
+ * @param id Integer ID of the rule
+ */
+ inline void setId(int id) { _id = id; }
+
+ /**
+ * Gets the message contents this rule matches
+ *
+ * NOTE: Use HighlightRule::contentsMatcher() for performing matches
+ *
+ * @return String representing a phrase or expression to match
+ */
+ inline QString contents() const { return _contents; }
+ /**
+ * Sets the message contents this rule matches
+ *
+ * @param contents String representing a phrase or expression to match
+ */
+ inline void setContents(const QString& contents)
+ {
+ _contents = contents;
+ _cacheInvalid = true;
+ }
+
+ /**
+ * Gets if this is a regular expression rule
+ *
+ * @return True if regular expression, otherwise false
+ */
+ inline bool isRegEx() const { return _isRegEx; }
+ /**
+ * Sets if this rule is a regular expression rule
+ *
+ * @param isRegEx True if regular expression, otherwise false
+ */
+ inline void setIsRegEx(bool isRegEx)
+ {
+ _isRegEx = isRegEx;
+ _cacheInvalid = true;
+ }
+
+ /**
+ * Gets if this rule is case sensitive
+ *
+ * @return True if case sensitive, otherwise false
+ */
+ inline bool isCaseSensitive() const { return _isCaseSensitive; }
+ /**
+ * Sets if this rule is case sensitive
+ *
+ * @param isCaseSensitive True if case sensitive, otherwise false
+ */
+ inline void setIsCaseSensitive(bool isCaseSensitive)
+ {
+ _isCaseSensitive = isCaseSensitive;
+ _cacheInvalid = true;
+ }
+
+ /**
+ * Gets if this rule is enabled and active
+ *
+ * @return True if enabled, otherwise false
+ */
+ inline bool isEnabled() const { return _isEnabled; }
+ /**
+ * Sets if this rule is enabled and active
+ *
+ * @param isEnabled True if enabled, otherwise false
+ */
+ inline void setIsEnabled(bool isEnabled) { _isEnabled = isEnabled; }
+
+ /**
+ * Gets if this rule is a highlight ignore rule
+ *
+ * @return True if rule is treated as highlight ignore, otherwise false
+ */
+ inline bool isInverse() const { return _isInverse; }
+ /**
+ * Sets if this rule is a highlight ignore rule
+ *
+ * @param isInverse True if rule is treated as highlight ignore, otherwise false
+ */
+ inline void setIsInverse(bool isInverse) { _isInverse = isInverse; }
+
+ /**
+ * Gets the message sender this rule matches
+ *
+ * NOTE: Use HighlightRule::senderMatcher() for performing matches
+ *
+ * @return String representing a phrase or expression to match
+ */
+ inline QString sender() const { return _sender; }
+ /**
+ * Sets the message sender this rule matches
+ *
+ * @param sender String representing a phrase or expression to match
+ */
+ inline void setSender(const QString& sender)
+ {
+ _sender = sender;
+ _cacheInvalid = true;