* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
+#include "util.h"
+#include "global.h"
+
#include <QCoreApplication>
#include <QDebug>
#include <QTextCodec>
-
-#include "util.h"
+#include <QTranslator>
class QMetaMethod;
uint editingDistance(const QString &s1, const QString &s2) {
uint n = s1.size()+1;
uint m = s2.size()+1;
- //uint matrix[n][m];
QVector< QVector< uint > >matrix(n,QVector<uint>(m,0));
for(uint i = 0; i < n; i++)
}
QDir quasselDir() {
- // kinda ugly, but I currently see no other way to do that
+ QString quasselDir;
+ if(Global::parser.isSet("datadir")) {
+ quasselDir = Global::parser.value("datadir");
+ } else {
#ifdef Q_OS_WIN32
- QString quasselDir = qgetenv("APPDATA") + "/quassel/";
+ quasselDir = qgetenv("APPDATA") + "/quassel/";
+#elif defined Q_WS_MAC
+ quasselDir = QDir::homePath() + "/Library/Application Support/Quassel/";
#else
- QString quasselDir = QDir::homePath() + "/.quassel/";
+ quasselDir = QDir::homePath() + "/.quassel/";
#endif
+ }
QDir qDir(quasselDir);
if(!qDir.exists(quasselDir)) {
return qDir;
}
+void loadTranslation(const QLocale &locale) {
+ QTranslator *qtTranslator = QCoreApplication::instance()->findChild<QTranslator *>("QtTr");
+ QTranslator *quasselTranslator = QCoreApplication::instance()->findChild<QTranslator *>("QuasselTr");
+ Q_ASSERT(qtTranslator);
+ Q_ASSERT(quasselTranslator);
+
+ QLocale::setDefault(locale);
+
+ QCoreApplication::removeTranslator(qtTranslator);
+ QCoreApplication::removeTranslator(quasselTranslator);
+
+ if(locale.language() == QLocale::C)
+ return;
+
+ qtTranslator->load(QString(":i18n/qt_%1").arg(locale.name()));
+ quasselTranslator->load(QString(":i18n/quassel_%1").arg(locale.name()));
+
+ QCoreApplication::installTranslator(qtTranslator);
+ QCoreApplication::installTranslator(quasselTranslator);
+}
QString secondsToString(int timeInSeconds) {
QList< QPair<int, QString> > timeUnit;
- timeUnit.append(qMakePair(365*60*60, QCoreApplication::translate("Quassel::secondsToString()", "year")));
+ timeUnit.append(qMakePair(365*24*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;
+ QStringList 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);
+ returnString += QString("%1 %2").arg(QString::number(n), timeUnit[i].second);
}
timeInSeconds = timeInSeconds % timeUnit[i].first;
}
- return returnString;
+ return returnString.join(", ");
}