X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Futil.h;h=28639ba97be6b1e3efe726ae2dddf06f7a89665f;hb=946e79e0243dda74433016060f12abc65883f243;hp=36ef8139694005a1574dd2a933146d9c22463866;hpb=665faa937a52fc6175741292737c4a52875b4f75;p=quassel.git diff --git a/src/common/util.h b/src/common/util.h index 36ef8139..28639ba9 100644 --- a/src/common/util.h +++ b/src/common/util.h @@ -34,6 +34,8 @@ QString userFromMask(QString mask); QString hostFromMask(QString mask); bool isChannelName(QString str); +//! Strip mIRC format codes +QString stripFormatCodes(QString); QString secondsToString(int timeInSeconds); @@ -48,10 +50,41 @@ QString decodeString(const QByteArray &input, QTextCodec *codec = 0); uint editingDistance(const QString &s1, const QString &s2); -QByteArray methodName(const QMetaMethod &method); - QDir quasselDir(); +//! Returns a list of data directory paths +/** There are several locations for applications to install their data files in. On Unix, + * a common location is /usr/share; others include $PREFIX/share and additional directories + * specified in the env variable XDG_DATA_DIRS. + * \return A list of directory paths to look for data files in + */ +QStringList dataDirPaths(); + +//! Searches for a data file in the possible data directories +/** Data files can reside in $DATA_DIR/apps/quassel, where $DATA_DIR is one of the directories + * returned by \sa dataDirPaths(). + * \return The full path to the data file if found; a null QString else + */ +QString findDataFilePath(const QString &fileName); + void loadTranslation(const QLocale &locale); +template +QVariantList toVariantList(const QList &list) { + QVariantList variants; + for(int i = 0; i < list.count(); i++) { + variants << QVariant::fromValue(list[i]); + } + return variants; +} + +template +QList fromVariantList(const QVariantList &variants) { + QList list; + for(int i = 0; i < variants.count(); i++) { + list << variants[i].value(); + } + return list; +} + #endif