X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Futil.cpp;h=817790f8045b461a77a489f22f42b2be28ec7f05;hp=e978a7fba524e0607b8995728d9de611dfecd076;hb=c6a9c963d53a171394b5c25d9925661e2788cec3;hpb=b1c606a9d153c5b501476551af3386b993f5635a diff --git a/src/common/util.cpp b/src/common/util.cpp index e978a7fb..817790f8 100644 --- a/src/common/util.cpp +++ b/src/common/util.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel Project * + * Copyright (C) 2005-09 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -22,9 +22,8 @@ #include #include -#include +#include #include -#include #include "quassel.h" @@ -91,31 +90,6 @@ QString decodeString(const QByteArray &input, QTextCodec *codec) { return codec->toUnicode(input); } -/* not needed anymore -void writeDataToDevice(QIODevice *dev, const QVariant &item) { - QByteArray block; - QDataStream out(&block, QIODevice::WriteOnly); - out.setVersion(QDataStream::Qt_4_2); - out << (quint32)0 << item; - out.device()->seek(0); - out << (quint32)(block.size() - sizeof(quint32)); - dev->write(block); -} - -bool readDataFromDevice(QIODevice *dev, quint32 &blockSize, QVariant &item) { - QDataStream in(dev); - in.setVersion(QDataStream::Qt_4_2); - - if(blockSize == 0) { - if(dev->bytesAvailable() < (int)sizeof(quint32)) return false; - in >> blockSize; - } - if(dev->bytesAvailable() < blockSize) return false; - in >> item; - return true; -} -*/ - uint editingDistance(const QString &s1, const QString &s2) { uint n = s1.size()+1; uint m = s2.size()+1; @@ -150,60 +124,6 @@ uint editingDistance(const QString &s1, const QString &s2) { return matrix[n-1][m-1]; } -QByteArray methodName(const QMetaMethod &method) { - QByteArray sig(method.signature()); - return sig.left(sig.indexOf("(")); -} - -QDir quasselDir() { - QString quasselDir; - if(Quassel::isOptionSet("datadir")) { - quasselDir = Quassel::optionValue("datadir"); - } else { - // FIXME use QDesktopServices -#ifdef Q_OS_WIN32 - quasselDir = qgetenv("APPDATA") + "/quassel/"; -#elif defined Q_WS_MAC - quasselDir = QDir::homePath() + "/Library/Application Support/Quassel/"; -#else - quasselDir = QDir::homePath() + "/.quassel/"; -#endif - } - - QDir qDir(quasselDir); - if(!qDir.exists(quasselDir)) { - if(!qDir.mkpath(quasselDir)) { - qCritical() << "Unable to create Quassel data directory:" << qPrintable(qDir.absolutePath()); - } - } - - return qDir; -} - -void loadTranslation(const QLocale &locale) { - QTranslator *qtTranslator = QCoreApplication::instance()->findChild("QtTr"); - QTranslator *quasselTranslator = QCoreApplication::instance()->findChild("QuasselTr"); - - if(!qtTranslator) { - qtTranslator = new QTranslator(qApp); - qtTranslator->setObjectName("QtTr"); - qApp->installTranslator(qtTranslator); - } - if(!quasselTranslator) { - quasselTranslator = new QTranslator(qApp); - quasselTranslator->setObjectName("QuasselTr"); - qApp->installTranslator(quasselTranslator); - } - - QLocale::setDefault(locale); - - if(locale.language() == QLocale::C) - return; - - qtTranslator->load(QString("%2/qt_%1").arg(locale.name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath))); - quasselTranslator->load(QString(":i18n/quassel_%1").arg(locale.name())); -} - QString secondsToString(int timeInSeconds) { QList< QPair > timeUnit; timeUnit.append(qMakePair(365*24*60*60, QCoreApplication::translate("Quassel::secondsToString()", "year"))); @@ -222,3 +142,14 @@ QString secondsToString(int timeInSeconds) { } return returnString.join(", "); } + +QByteArray prettyDigest(const QByteArray &digest) { + QByteArray hexDigest = digest.toHex(); + QByteArray prettyDigest; + prettyDigest.fill(':', hexDigest.count() + (hexDigest.count() / 2) - 1); + + for(int i = 0; i * 2 < hexDigest.count(); i++) { + prettyDigest.replace(i * 3, 2, hexDigest.mid(i * 2, 2)); + } + return prettyDigest; +}