X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Futil.cpp;h=4c1a22f2ea47f6a78ee96924aa905f6c6806ded6;hp=e47882abe5711a06125c88d14583d9901a499e9e;hb=b5385b3ddf6f0e8df8f0af7275b59dcc1fcd0ed1;hpb=8699dd758516d0ded076811e8ea656adc95e69d0 diff --git a/src/common/util.cpp b/src/common/util.cpp index e47882ab..4c1a22f2 100644 --- a/src/common/util.cpp +++ b/src/common/util.cpp @@ -18,10 +18,12 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ -#include "util.h" +#include #include #include +#include "util.h" + class QMetaMethod; QString nickFromMask(QString mask) { @@ -138,3 +140,41 @@ QByteArray methodName(const QMetaMethod &method) { QByteArray sig(method.signature()); return sig.left(sig.indexOf("(")); } + +QDir quasselDir() { + // kinda ugly, but I currently see no other way to do that +#ifdef Q_OS_WIN32 + QString quasselDir = qgetenv("APPDATA") + "/quassel/"; +#else + QString 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; +} + + +QString secondsToString(int timeInSeconds) { + QList< QPair > timeUnit; + timeUnit.append(qMakePair(365*60*60, QCoreApplication::translate("Quassel::secondsToString()", "year"))); + timeUnit.append(qMakePair(24*60*60, QCoreApplication::translate("Quassel::secondsToString()", "day"))); + timeUnit.append(qMakePair(60*60, QCoreApplication::translate("Quassel::secondsToString()", "h"))); + timeUnit.append(qMakePair(60, QCoreApplication::translate("Quassel::secondsToString()", "min"))); + timeUnit.append(qMakePair(1, QCoreApplication::translate("Quassel::secondsToString()", "sec"))); + + QString returnString; + for(int i=0; i < timeUnit.size(); i++) { + int n = timeInSeconds / timeUnit[i].first; + if(n > 0) { + returnString += QString("%1 %2 ").arg(QString::number(n), timeUnit[i].second); + } + timeInSeconds = timeInSeconds % timeUnit[i].first; + } + return returnString; +}