~ubuntu-branches/ubuntu/jaunty/quassel/jaunty-backports

« back to all changes in this revision

Viewing changes to src/common/util.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Harald Sitter
  • Date: 2008-11-17 15:22:46 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20081117152246-3lwlpnr4r08910kv
Tags: 0.3.1-0ubuntu1
* New upstream release (LP: #271403)
* Drop all patches originated from upstream (quassel_*)
* Compile with non-builtin quassel icons
  + Introduce new quassel-data package
  + quassel and quassel-client depend on quassel-data
  + Don't manually enforce icon installation for desktop files in debian/rules
  + Add quassel_01_fix_iconloader.patch
* Drop perl build dependency, I have no clue why it was added in the first
  place. Neither changelog nor Bazaar knows, and since quassel compiles just
  fine without it, removing it should be save.

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
 ***************************************************************************/
20
20
 
21
21
#include "util.h"
22
 
#include "global.h"
23
22
 
24
23
#include <QCoreApplication>
25
24
#include <QDebug>
 
25
#include <QLibraryInfo>
26
26
#include <QTextCodec>
27
27
#include <QTranslator>
28
28
 
 
29
#include "quassel.h"
 
30
 
29
31
class QMetaMethod;
30
32
 
31
33
QString nickFromMask(QString mask) {
48
50
  return QString("#&!+").contains(str[0]);
49
51
}
50
52
 
 
53
QString stripFormatCodes(QString str) {
 
54
  str.remove(QRegExp("\x03(\\d\\d?(,\\d\\d?)?)?"));
 
55
  str.remove('\x02');
 
56
  str.remove('\x0f');
 
57
  str.remove('\x12');
 
58
  str.remove('\x16');
 
59
  str.remove('\x1d');
 
60
  str.remove('\x1f');
 
61
  return str;
 
62
}
 
63
 
51
64
QString decodeString(const QByteArray &input, QTextCodec *codec) {
52
65
  // First, we check if it's utf8. It is very improbable to encounter a string that looks like
53
66
  // valid utf8, but in fact is not. This means that if the input string passes as valid utf8, it
124
137
        min = deleteChar;
125
138
      else
126
139
        min = insertChar;
127
 
      
 
140
 
128
141
      if(s1[i-1] == s2[j-1]) {
129
142
        uint inheritChar = matrix[i-1][j-1];
130
143
        if(inheritChar < min)
144
157
 
145
158
QDir quasselDir() {
146
159
  QString quasselDir;
147
 
  if(Global::parser.isSet("datadir")) {
148
 
    quasselDir = Global::parser.value("datadir");
 
160
  if(Quassel::isOptionSet("datadir")) {
 
161
    quasselDir = Quassel::optionValue("datadir");
149
162
  } else {
 
163
    // FIXME use QDesktopServices
150
164
#ifdef Q_OS_WIN32
151
165
    quasselDir = qgetenv("APPDATA") + "/quassel/";
152
166
#elif defined Q_WS_MAC
169
183
void loadTranslation(const QLocale &locale) {
170
184
  QTranslator *qtTranslator = QCoreApplication::instance()->findChild<QTranslator *>("QtTr");
171
185
  QTranslator *quasselTranslator = QCoreApplication::instance()->findChild<QTranslator *>("QuasselTr");
172
 
  Q_ASSERT(qtTranslator);
173
 
  Q_ASSERT(quasselTranslator);
 
186
 
 
187
  if(!qtTranslator) {
 
188
    qtTranslator = new QTranslator(qApp);
 
189
    qtTranslator->setObjectName("QtTr");
 
190
    qApp->installTranslator(qtTranslator);
 
191
  }
 
192
  if(!quasselTranslator) {
 
193
    quasselTranslator = new QTranslator(qApp);
 
194
    quasselTranslator->setObjectName("QuasselTr");
 
195
    qApp->installTranslator(quasselTranslator);
 
196
  }
174
197
 
175
198
  QLocale::setDefault(locale);
176
199
 
177
 
  QCoreApplication::removeTranslator(qtTranslator);
178
 
  QCoreApplication::removeTranslator(quasselTranslator);
179
 
 
180
200
  if(locale.language() == QLocale::C)
181
201
    return;
182
 
  
183
 
  qtTranslator->load(QString(":i18n/qt_%1").arg(locale.name()));
 
202
 
 
203
  bool success = qtTranslator->load(QString(":i18n/qt_%1").arg(locale.name()));
 
204
  if(!success)
 
205
    qtTranslator->load(QString("%2/qt_%1").arg(locale.name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath)));
184
206
  quasselTranslator->load(QString(":i18n/quassel_%1").arg(locale.name()));
185
 
 
186
 
  QCoreApplication::installTranslator(qtTranslator);
187
 
  QCoreApplication::installTranslator(quasselTranslator);
188
207
}
189
208
 
190
209
QString secondsToString(int timeInSeconds) {