X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Futil.h;h=63d724c996008712a0e53931d15a4175ad7d721b;hb=d89f4d9cdbc167112e64fca1931e81bc27d17319;hp=514c564f4381a93f14f9ff3fc3e06f94efe0168e;hpb=41a136e99bffde8e203fb1abff7c9affbbb16a8b;p=quassel.git diff --git a/src/common/util.h b/src/common/util.h index 514c564f..63d724c9 100644 --- a/src/common/util.h +++ b/src/common/util.h @@ -20,22 +20,24 @@ #pragma once +#include "common-export.h" + #include #include #include -QString nickFromMask(const QString &mask); -QString userFromMask(const QString &mask); -QString hostFromMask(const QString &mask); -bool isChannelName(const QString &str); +COMMON_EXPORT QString nickFromMask(const QString &mask); +COMMON_EXPORT QString userFromMask(const QString &mask); +COMMON_EXPORT QString hostFromMask(const QString &mask); +COMMON_EXPORT bool isChannelName(const QString &str); //! Strip mIRC format codes -QString stripFormatCodes(QString); +COMMON_EXPORT QString stripFormatCodes(QString); //! Remove accelerator markers (&) from the string -QString stripAcceleratorMarkers(const QString &); +COMMON_EXPORT QString stripAcceleratorMarkers(const QString &); -QString secondsToString(int timeInSeconds); +COMMON_EXPORT QString secondsToString(int timeInSeconds); //! Take a string and decode it using the specified text codec, recognizing utf8. /** This function takes a string and first checks if it is encoded in utf8, in which case it is @@ -44,9 +46,9 @@ QString secondsToString(int timeInSeconds); * \param codec The text codec we use if the input is not utf8 * \return The decoded string. */ -QString decodeString(const QByteArray &input, QTextCodec *codec = 0); +COMMON_EXPORT QString decodeString(const QByteArray &input, QTextCodec *codec = nullptr); -uint editingDistance(const QString &s1, const QString &s2); +COMMON_EXPORT uint editingDistance(const QString &s1, const QString &s2); template QVariantList toVariantList(const QList &list) @@ -70,7 +72,7 @@ QList fromVariantList(const QVariantList &variants) } -QByteArray prettyDigest(const QByteArray &digest); +COMMON_EXPORT QByteArray prettyDigest(const QByteArray &digest); /** * Format a string with %%%% to current date/timestamp via QDateTime. @@ -78,29 +80,7 @@ QByteArray prettyDigest(const QByteArray &digest); * @param[in] formatStr String with format codes * @return String with current date/time substituted in via formatting codes */ -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); +COMMON_EXPORT QString formatCurrentDateTimeInString(const QString &formatStr); /** * Try to localize a given date/time in seconds from Unix epoch, pass through string if invalid @@ -113,9 +93,9 @@ bool scopeMatch(const QString &string, const QString &scopeRule, * @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, - Qt::DateFormat dateFormat = Qt::DateFormat::TextDate, - bool useUTC = false); +COMMON_EXPORT QString tryFormatUnixEpoch(const QString &possibleEpochDate, + Qt::DateFormat dateFormat = Qt::DateFormat::TextDate, + bool useUTC = false); /** @@ -124,4 +104,4 @@ QString tryFormatUnixEpoch(const QString &possibleEpochDate, * @param dateTime Date/time of interest * @return Date/time in ISO 8601 format with timezone offset */ -QString formatDateTimeToOffsetISO(const QDateTime &dateTime); +COMMON_EXPORT QString formatDateTimeToOffsetISO(const QDateTime &dateTime);