BR#138: prettifyed the whois output of the core
[quassel.git] / src / common / util.cpp
index e47882a..4c1a22f 100644 (file)
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
 
-#include "util.h"
+#include <QCoreApplication>
 #include <QDebug>
 #include <QTextCodec>
 
+#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<int, QString> > 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;
+}