X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Futil.h;h=0db903e4679105471a94e64599b521b140b719ce;hp=d72dd8ed5c355d028a82b373b66174c46c38837a;hb=00e1a9c29e792ba4d65dba21b7ba04131bcb13bc;hpb=fa56ee7fc1b94ea27da6b27c919d6df1c0e0490d diff --git a/src/common/util.h b/src/common/util.h index d72dd8ed..0db903e4 100644 --- a/src/common/util.h +++ b/src/common/util.h @@ -80,28 +80,6 @@ QByteArray prettyDigest(const QByteArray &digest); */ QString formatCurrentDateTimeInString(const QString &formatStr); -/** Check if a scope rule matches a string - * - * When isRegEx is false: - * Checks that the string does NOT match ANY inverted rules (prefixed by '!'), then checks that - * it matches AT LEAST one normal (non-inverted) rule. - * - * If only inverted rules are specified, it'll match so long as the string does not match any - * inverted rules (implicit wildcard). - * - * When isRegEx is true: - * Checks that the string matches the entire scopeRule as a regular expression. If scopeRule starts - * with a '!', check that the string does NOT match the regular expression. - * - * @param string String to test, e.g. network/channel name - * @param scopeRule ';'-separated list of wildcard expressions, prefix of '!' inverts subrule - * @param isRegEx If true, treat entire scope rule as regular expression, not wildcards - * @param isCaseSensitive If true, treat as case-sensitive, else case-insensitive - * @return True if matches, otherwise false - */ -bool scopeMatch(const QString &string, const QString &scopeRule, - const bool &isRegEx = false, const bool &isCaseSensitive = false); - /** * Try to localize a given date/time in seconds from Unix epoch, pass through string if invalid * @@ -109,6 +87,19 @@ bool scopeMatch(const QString &string, const QString &scopeRule, * localizing if possible, leaving alone if not. * * @param possibleEpochDate Date/time that might be in seconds since Unix epoch format + * @param dateFormat Desired format of the date/time string + * @param useUTC If true, use UTC timezone, otherwise use local time * @return Localized date/time if parse succeeded, otherwise the source string */ -QString tryFormatUnixEpoch(const QString &possibleEpochDate); +QString tryFormatUnixEpoch(const QString &possibleEpochDate, + Qt::DateFormat dateFormat = Qt::DateFormat::TextDate, + bool useUTC = false); + + +/** + * Format the given date/time in ISO 8601 format with timezone offset + * + * @param dateTime Date/time of interest + * @return Date/time in ISO 8601 format with timezone offset + */ +QString formatDateTimeToOffsetISO(const QDateTime &dateTime);