diff --git a/src/plugins/cpaster/codepasterprotocol.cpp b/src/plugins/cpaster/codepasterprotocol.cpp index 00831a04eb921b4c6588aec4025363c8e91e4ca1..91b6489411e6fce064d15a169c3afc012782793c 100644 --- a/src/plugins/cpaster/codepasterprotocol.cpp +++ b/src/plugins/cpaster/codepasterprotocol.cpp @@ -102,7 +102,7 @@ void CodePasterProtocol::fetch(const QString &id) QTC_ASSERT(!m_fetchReply, return; ) QString hostName = m_page->hostName(); - const QString httpPrefix = "http://"; + const QString httpPrefix = QLatin1String("http://"); QString link; // Did the user enter a complete URL instead of an id? if (id.startsWith(httpPrefix)) { @@ -114,7 +114,7 @@ void CodePasterProtocol::fetch(const QString &id) } else { link = httpPrefix; link.append(hostName); - link.append("/?format=raw&id="); + link.append(QLatin1String("/?format=raw&id=")); link.append(id); m_fetchId = id; } @@ -193,10 +193,10 @@ void CodePasterProtocol::fetchFinished() if (error) { content = m_fetchReply->errorString(); } else { - content = m_fetchReply->readAll(); + content = QString::fromAscii(m_fetchReply->readAll()); // Codepaster does not support special characters. if (debug) qDebug() << content; - if (content.contains("<B>No such paste!</B>")) { + if (content.contains(QLatin1String("<B>No such paste!</B>"))) { content = tr("No such paste"); error = true; } diff --git a/src/plugins/cpaster/columnindicatortextedit.cpp b/src/plugins/cpaster/columnindicatortextedit.cpp index 3b1f255ad21f69534bc8d73a2cbcbdf68dec53b6..48e55662ae37d782f24ec0820a859044ae30a6ab 100644 --- a/src/plugins/cpaster/columnindicatortextedit.cpp +++ b/src/plugins/cpaster/columnindicatortextedit.cpp @@ -49,7 +49,7 @@ ColumnIndicatorTextEdit::ColumnIndicatorTextEdit(QWidget *parent) : setSizePolicy(sizePolicy); int cmx = 0, cmy = 0, cmw = 0, cmh = 0; getContentsMargins(&cmx, &cmy, &cmw, &cmh); - m_columnIndicator = QFontMetrics(font).width('W') * 100 + cmx + 1; + m_columnIndicator = QFontMetrics(font).width(QLatin1Char('W')) * 100 + cmx + 1; m_columnIndicatorFont.setFamily(QString::fromUtf8("Times")); m_columnIndicatorFont.setPointSizeF(7.0); } @@ -63,7 +63,7 @@ void ColumnIndicatorTextEdit::paintEvent(QPaintEvent *event) p.setPen(QPen(QColor(0xa0, 0xa0, 0xa0, 0xa0))); p.drawLine(m_columnIndicator, 0, m_columnIndicator, viewport()->height()); int yOffset = verticalScrollBar()->value(); - p.drawText(m_columnIndicator + 1, m_columnIndicatorFont.pointSize() - yOffset, "100"); + p.drawText(m_columnIndicator + 1, m_columnIndicatorFont.pointSize() - yOffset, QLatin1String("100")); } } // namespace CodePaster diff --git a/src/plugins/cpaster/cpaster.pro b/src/plugins/cpaster/cpaster.pro index 6760aeef5c2ec5a2b62a3d5b2eb7ed8f0d8da6d0..0d5e29929a3c049163fcaa1b44510a632dec538b 100644 --- a/src/plugins/cpaster/cpaster.pro +++ b/src/plugins/cpaster/cpaster.pro @@ -3,6 +3,7 @@ TEMPLATE = lib TARGET = CodePaster include(../../qtcreatorplugin.pri) include(cpaster_dependencies.pri) +DEFINES += QT_NO_CAST_FROM_ASCII HEADERS += cpasterplugin.h \ settingspage.h \ protocol.h \ diff --git a/src/plugins/cpaster/cpasterplugin.cpp b/src/plugins/cpaster/cpasterplugin.cpp index b97cee8a3537a1476950a467d2c2b0839ef986dc..8c527d7a7b211fcf10696b79f86d1ba7a2b32788 100644 --- a/src/plugins/cpaster/cpasterplugin.cpp +++ b/src/plugins/cpaster/cpasterplugin.cpp @@ -256,7 +256,7 @@ void CodepasterPlugin::post(QString data, const QString &mimeType) PasteView view(m_protocols, mimeType, 0); view.setProtocol(m_settings->protocol); - const FileDataList diffChunks = splitDiffToFiles(data.toLatin1()); + const FileDataList diffChunks = splitDiffToFiles(data); const int dialogResult = diffChunks.isEmpty() ? view.show(username, QString(), QString(), data) : view.show(username, QString(), QString(), diffChunks); diff --git a/src/plugins/cpaster/pasteview.cpp b/src/plugins/cpaster/pasteview.cpp index 09a9f992b9b347c6e02d53d294d75c5a6d6dab21..d05aa34320da9981c1a153c3e45ba43751f22330 100644 --- a/src/plugins/cpaster/pasteview.cpp +++ b/src/plugins/cpaster/pasteview.cpp @@ -93,12 +93,12 @@ QString PasteView::comment() const return comment; } -QByteArray PasteView::content() const +QString PasteView::content() const { if (m_mode == PlainTextMode) - return m_ui.plainTextEdit->toPlainText().toUtf8(); + return m_ui.plainTextEdit->toPlainText(); - QByteArray newContent; + QString newContent; for (int i = 0; i < m_ui.uiPatchList->count(); ++i) { QListWidgetItem *item = m_ui.uiPatchList->item(i); if (item->checkState() != Qt::Unchecked) @@ -157,7 +157,7 @@ int PasteView::show(const QString &user, const QString &description, m_ui.uiPatchList->clear(); m_parts = parts; m_mode = DiffChunkMode; - QByteArray content; + QString content; foreach (const FileData &part, parts) { QListWidgetItem *itm = new QListWidgetItem(part.filename, m_ui.uiPatchList); itm->setCheckState(Qt::Checked); @@ -191,7 +191,7 @@ void PasteView::accept() if (!Protocol::ensureConfiguration(protocol, this)) return; - const QByteArray data = content(); + const QString data = content(); if (data.isEmpty()) return; diff --git a/src/plugins/cpaster/pasteview.h b/src/plugins/cpaster/pasteview.h index 1efd0b66a02566a61da1617cd72e6cfaaa0889b9..1f4b971496ea24affe85125a6b62585479e79bb3 100644 --- a/src/plugins/cpaster/pasteview.h +++ b/src/plugins/cpaster/pasteview.h @@ -69,7 +69,7 @@ public: QString user() const; QString description() const; QString comment() const; - QByteArray content() const; + QString content() const; QString protocol() const; virtual void accept(); diff --git a/src/plugins/cpaster/settings.cpp b/src/plugins/cpaster/settings.cpp index 837a77985d4779405e58c88050114d06f77a3e24..9573279022811eee1872c0b1eab9ad7962b8e7a7 100644 --- a/src/plugins/cpaster/settings.cpp +++ b/src/plugins/cpaster/settings.cpp @@ -68,9 +68,9 @@ void Settings::fromSettings(const QSettings *settings) { const QString rootKey = QLatin1String(groupC) + QLatin1Char('/'); #ifdef Q_OS_WIN - const QString defaultUser = qgetenv("USERNAME"); + const QString defaultUser = QString::fromLocal8Bit(qgetenv("USERNAME")); #else - const QString defaultUser = qgetenv("USER"); + const QString defaultUser = QString::fromLocal8Bit(qgetenv("USER")); #endif username = settings->value(rootKey + QLatin1String(userNameKeyC), defaultUser).toString(); protocol = settings->value(rootKey + QLatin1String(defaultProtocolKeyC), PasteBinDotComProtocol::protocolName()).toString(); diff --git a/src/shared/cpaster/cgi.cpp b/src/shared/cpaster/cgi.cpp index 7db3f2d5860b1d0e9a0f3e6caf758342240a5f02..bc9d73bcc704cf1897b53a7ccff1ac8a8b4672d2 100644 --- a/src/shared/cpaster/cgi.cpp +++ b/src/shared/cpaster/cgi.cpp @@ -44,13 +44,13 @@ QString CGI::encodeURL(const QString &rawText) QByteArray::const_iterator it = utf.constBegin(); while (it != utf.constEnd()) { - char ch = *it; + const char ch = *it; if (('A' <= ch && ch <= 'Z') || ('a' <= ch && ch <= 'z') || ('0' <= ch && ch <= '9')) - enc.append(*it); + enc.append(QLatin1Char(ch)); else if (ch == ' ') - enc.append('+'); + enc.append(QLatin1Char('+')); else { switch (ch) { case '-': case '_': @@ -58,14 +58,14 @@ QString CGI::encodeURL(const QString &rawText) case '.': case '!': case '~': case '*': case '\'': - enc.append(ch); + enc.append(QLatin1Char(ch)); break; default: ushort c1 = (*it & 0xF0) >> 4; ushort c2 = (*it & 0x0F); - enc.append('%'); - enc.append(QChar(*(cgi_chars + c1))); - enc.append(QChar(*(cgi_chars + c2))); + enc.append(QLatin1Char('%')); + enc.append(QLatin1Char(*(cgi_chars + c1))); + enc.append(QLatin1Char(*(cgi_chars + c2))); break; } } @@ -403,22 +403,22 @@ QString CGI::encodeHTML(const QString &rawText, int conversionFlags) while (it != rawText.constEnd()) { const char *html = unicodeToHTML((*it).unicode()); if (html) { - enc.append('&'); - enc.append(html); - enc.append(';'); + enc.append(QLatin1Char('&')); + enc.append(QLatin1String(html)); + enc.append(QLatin1Char(';')); } else if ((conversionFlags & CGI::LineBreaks) && ((*it).toLatin1() == '\n')) { - enc.append("<BR>\n"); + enc.append(QLatin1String("<BR>\n")); } else if ((conversionFlags & CGI::Spaces) && ((*it).toLatin1() == ' ')) { - enc.append(" "); + enc.append(QLatin1String(" ")); } else if ((conversionFlags & CGI::Tabs) && ((*it).toLatin1() == '\t')) { - enc.append(" "); + enc.append(QLatin1String(" ")); } else if ((*it).unicode() > 0x00FF) { - enc.append("&#"); + enc.append(QLatin1String("&#")); enc.append(QString::number((*it).unicode())); - enc.append(';'); + enc.append(QLatin1Char(';')); } else { enc.append(*it); } diff --git a/src/shared/cpaster/splitter.cpp b/src/shared/cpaster/splitter.cpp index f850a1c378177139495f15bcc962a867e22587f0..8bb08718a4c05093fd0e8147f812e45e86f96c81 100644 --- a/src/shared/cpaster/splitter.cpp +++ b/src/shared/cpaster/splitter.cpp @@ -34,25 +34,24 @@ #include <QtCore/QRegExp> -FileDataList splitDiffToFiles(const QByteArray &data) +FileDataList splitDiffToFiles(const QString &strData) { FileDataList ret; - QString strData = data; QString splitExpression; - if (data.contains("==== ") && data.contains(" ====\n")) { + if (strData.contains(QLatin1String("==== ")) && strData.contains(QLatin1String(" ====\n"))) { // Perforce diff - splitExpression = "==== ([^\\n\\r]+) - ([^\\n\\r]+) ===="; + splitExpression = QLatin1String("==== ([^\\n\\r]+) - ([^\\n\\r]+) ===="); - } else if (data.contains("--- ") && data.contains("\n+++ ")) { + } else if (strData.contains(QLatin1String("--- ")) && strData.contains(QLatin1String("\n+++ "))) { // Unified contextual diff - splitExpression = "\\-\\-\\- ([^\\n\\r]*)" - "\\n\\+\\+\\+ ([^\\n\\r]*)"; + splitExpression = QLatin1String("\\-\\-\\- ([^\\n\\r]*)" + "\\n\\+\\+\\+ ([^\\n\\r]*)"); - } else if (data.contains("*** ") && data.contains("\n--- ")) { + } else if (strData.contains(QLatin1String("*** ")) && strData.contains(QLatin1String("\n--- "))) { // Copied contextual diff - splitExpression = "\\*\\*\\* ([^\\n\\r]*) [0-9\\-]* [0-9:\\.]*[^\\n\\r]*" - "\\n\\-\\-\\- ([^\\n\\r]*) [0-9\\-]* [0-9:\\.]*[^\\n\\r]*"; + splitExpression = QLatin1String("\\*\\*\\* ([^\\n\\r]*) [0-9\\-]* [0-9:\\.]*[^\\n\\r]*" + "\\n\\-\\-\\- ([^\\n\\r]*) [0-9\\-]* [0-9:\\.]*[^\\n\\r]*"); } else { return FileDataList(); @@ -60,7 +59,7 @@ FileDataList splitDiffToFiles(const QByteArray &data) int splitIndex = 0, previousSplit = -1; QRegExp splitExpr(splitExpression); - QString filename, content; + QString filename; // The algorithm works like this: // On the first match we only get the filename of the first patch part // On the second match (if any) we get the diff content, and the name of the next file patch @@ -68,7 +67,7 @@ FileDataList splitDiffToFiles(const QByteArray &data) while (-1 != (splitIndex = splitExpr.indexIn(strData,splitIndex))) { if (!filename.isEmpty()) { QString content = strData.mid(previousSplit, splitIndex - previousSplit); - ret.append(FileData(filename, content.toLatin1())); + ret.append(FileData(filename, content)); } // If the first index in not at the beginning of the file, then we know there's content @@ -76,7 +75,7 @@ FileDataList splitDiffToFiles(const QByteArray &data) // a 'fake' filename. if (previousSplit == -1 && splitIndex > 0 && filename.isEmpty()) { QString content = strData.left(splitIndex); - ret.append(FileData("<Header information>", content.toLatin1())); + ret.append(FileData(QLatin1String("<Header information>"), content)); } filename = splitExpr.cap(1); @@ -85,8 +84,8 @@ FileDataList splitDiffToFiles(const QByteArray &data) } // Append the last patch content if (!filename.isEmpty()) { - QString content = strData.mid(previousSplit); - ret.append(FileData(filename, content.toLatin1())); + const QString content = strData.mid(previousSplit); + ret.append(FileData(filename, content)); } return ret; diff --git a/src/shared/cpaster/splitter.h b/src/shared/cpaster/splitter.h index a41a2354d50e4737ae615f409b53ebe04007fd27..4f332b23017de4c792dd3488a9d0ce8f525faedc 100644 --- a/src/shared/cpaster/splitter.h +++ b/src/shared/cpaster/splitter.h @@ -39,15 +39,15 @@ struct FileData { - FileData(const QString &f, const QByteArray &c) + FileData(const QString &f, const QString &c) { filename = f; content = c; } QString filename; - QByteArray content; + QString content; }; typedef QList<FileData> FileDataList; -FileDataList splitDiffToFiles(const QByteArray &data); +FileDataList splitDiffToFiles(const QString &data); #endif // SPLITTER_H