X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Futil.h;h=61530a0961e5bab0e5ae074578c55724068c83ce;hp=6fb9c9767fb4a4532fca476fdad829bf10a2cf61;hb=b06a827aea68b050bf23c37e0162189a94595ee9;hpb=8699dd758516d0ded076811e8ea656adc95e69d0 diff --git a/src/common/util.h b/src/common/util.h index 6fb9c976..61530a09 100644 --- a/src/common/util.h +++ b/src/common/util.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005/06 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,40 +15,67 @@ * 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 _UTIL_H_ -#define _UTIL_H_ +#pragma once -#include -#include +#include #include -#include +#include + +QString nickFromMask(const QString &mask); +QString userFromMask(const QString &mask); +QString hostFromMask(const QString &mask); +bool isChannelName(const QString &str); +//! Strip mIRC format codes +QString stripFormatCodes(QString); -// TODO Use versions from NetworkInfo instead -QString nickFromMask(QString mask); -QString userFromMask(QString mask); -QString hostFromMask(QString mask); -bool isChannelName(QString str); +//! Remove accelerator markers (&) from the string +QString stripAcceleratorMarkers(const QString &); +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 * decoded appropriately. Otherwise, the specified text codec is used to transform the string. * \param input The input string containing encoded data - * \param encoding The text codec we use if the input is not utf8 + * \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); -// NOTE: We have static copies of these in SignalProxy... -//void writeDataToDevice(QIODevice *, const QVariant &); -//bool readDataFromDevice(QIODevice *, quint32 &, QVariant &); - uint editingDistance(const QString &s1, const QString &s2); -QByteArray methodName(const QMetaMethod &method); +template +QVariantList toVariantList(const QList &list) +{ + QVariantList variants; + for (int i = 0; i < list.count(); i++) { + variants << QVariant::fromValue(list[i]); + } + return variants; +} + -#endif +template +QList fromVariantList(const QVariantList &variants) +{ + QList list; + for (int i = 0; i < variants.count(); i++) { + list << variants[i].value(); + } + return list; +} + + +QByteArray prettyDigest(const QByteArray &digest); + +/** + * Format a string with %%%% to current date/timestamp via QDateTime. + * + * @param[in] formatStr String with format codes + * @return String with current date/time substituted in via formatting codes + */ +QString formatCurrentDateTimeInString(const QString &formatStr);