aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJarkko Koivikko <jarkko.koivikko@code-q.fi>2018-08-23 21:51:19 +0300
committerMitch Curtis <mitch.curtis@qt.io>2018-09-07 08:21:22 +0000
commitea088ff4c53e625be194f4c915fed912f9518bcf (patch)
treecca6f1294f85e4337422097b71df30e6168df2e9
parenta046dd2d5486e4805481fd360e486f869d0fa36d (diff)
Fix string cast
Enforce proper string cast using QT_NO_CAST_TO_ASCII and friends. Change-Id: I039b23144c8d57f12aad1c27f29654b382078222 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
-rw-r--r--src/plugin/plugin.cpp4
-rw-r--r--src/plugin/plugin.pro6
-rw-r--r--src/plugins/hangul/hangul.pro6
-rw-r--r--src/plugins/hunspell/hunspellinputmethod/hunspellinputmethod.pro6
-rw-r--r--src/plugins/hunspell/hunspellinputmethod/hunspellworker.cpp2
-rw-r--r--src/plugins/hunspell/plugin/plugin.pro6
-rw-r--r--src/plugins/lipi-toolkit/plugin/lipiinputmethod.cpp41
-rw-r--r--src/plugins/lipi-toolkit/plugin/lipisharedrecognizer.cpp36
-rw-r--r--src/plugins/lipi-toolkit/plugin/lipiworker.cpp10
-rw-r--r--src/plugins/lipi-toolkit/plugin/plugin.pro6
-rw-r--r--src/plugins/openwnn/3rdparty/openwnn/openwnn.pro6
-rw-r--r--src/plugins/openwnn/3rdparty/openwnn/wnnEngine/composingtext.cpp2
-rw-r--r--src/plugins/openwnn/3rdparty/openwnn/wnnEngine/openwnnenginejajp.cpp4
-rw-r--r--src/plugins/openwnn/plugin/openwnninputmethod.cpp2
-rw-r--r--src/plugins/openwnn/plugin/plugin.pro6
-rw-r--r--src/plugins/pinyin/3rdparty/pinyin/patches/0005-Fix-string-cast.patch28
-rw-r--r--src/plugins/pinyin/3rdparty/pinyin/pinyin.pro6
-rw-r--r--src/plugins/pinyin/3rdparty/pinyin/share/dicttrie.cpp2
-rw-r--r--src/plugins/pinyin/3rdparty/pinyin/update-patches.sh4
-rw-r--r--src/plugins/pinyin/plugin/pinyindecoderservice.cpp6
-rw-r--r--src/plugins/pinyin/plugin/pinyininputmethod.cpp4
-rw-r--r--src/plugins/pinyin/plugin/plugin.pro6
-rw-r--r--src/plugins/t9write/plugin/plugin.pro6
-rw-r--r--src/plugins/t9write/plugin/t9writeinputmethod.cpp49
-rw-r--r--src/plugins/t9write/plugin/t9writeworker.cpp8
-rw-r--r--src/plugins/tcime/3rdparty/tcime/cangjiedictionary.cpp2
-rw-r--r--src/plugins/tcime/3rdparty/tcime/tcime.pro6
-rw-r--r--src/plugins/tcime/3rdparty/tcime/zhuyintable.cpp2
-rw-r--r--src/plugins/tcime/plugin/plugin.pro6
-rw-r--r--src/plugins/tcime/plugin/tcinputmethod.cpp6
-rw-r--r--src/plugins/thai/plugin/plugin.pro6
-rw-r--r--src/plugins/thai/plugin/thaiinputmethod.cpp2
-rw-r--r--src/styles/styles.pro6
-rw-r--r--src/styles/svgimageprovider.cpp12
-rw-r--r--src/virtualkeyboard/desktopinputpanel.cpp2
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardabstractinputmethod.cpp2
-rw-r--r--src/virtualkeyboard/unipentrace.cpp14
-rw-r--r--src/virtualkeyboard/virtualkeyboard.pro6
-rw-r--r--src/virtualkeyboard/virtualkeyboardsettings.cpp20
39 files changed, 239 insertions, 115 deletions
diff --git a/src/plugin/plugin.cpp b/src/plugin/plugin.cpp
index fb54ce65..e1e03df7 100644
--- a/src/plugin/plugin.cpp
+++ b/src/plugin/plugin.cpp
@@ -84,10 +84,10 @@ QPlatformInputContext *QVirtualKeyboardPlugin::create(const QString &system, con
qCWarning(qlcVirtualKeyboard) << "Error loading extension - metadata not found!";
continue;
}
- const QString inputMethod = metaData.value("InputMethod").toString();
+ const QString inputMethod = metaData.value(QLatin1String("InputMethod")).toString();
if (!inputMethod.isEmpty() && inputMethodList.contains(inputMethod)) {
qCWarning(qlcVirtualKeyboard) << "Ignored extension" << extensionName <<
- "by" << metaData.value("Provider").toString() <<
+ "by" << metaData.value(QLatin1String("Provider")).toString() <<
"-" << inputMethod << "is already registered!";
continue;
}
diff --git a/src/plugin/plugin.pro b/src/plugin/plugin.pro
index 2256b677..8cf53c9a 100644
--- a/src/plugin/plugin.pro
+++ b/src/plugin/plugin.pro
@@ -12,6 +12,12 @@ HEADERS += \
OTHER_FILES += \
qtvirtualkeyboard.json
+DEFINES += \
+ QT_NO_CAST_TO_ASCII \
+ QT_ASCII_CAST_WARNINGS \
+ QT_NO_CAST_FROM_ASCII \
+ QT_NO_CAST_FROM_BYTEARRAY
+
win32 {
QMAKE_TARGET_PRODUCT = "Qt Virtual Keyboard (Qt $$QT_VERSION)"
QMAKE_TARGET_DESCRIPTION = "Virtual Keyboard for Qt."
diff --git a/src/plugins/hangul/hangul.pro b/src/plugins/hangul/hangul.pro
index 5106ce34..5ce08a65 100644
--- a/src/plugins/hangul/hangul.pro
+++ b/src/plugins/hangul/hangul.pro
@@ -12,6 +12,12 @@ SOURCES += \
OTHER_FILES += \
hangul.json
+DEFINES += \
+ QT_NO_CAST_TO_ASCII \
+ QT_ASCII_CAST_WARNINGS \
+ QT_NO_CAST_FROM_ASCII \
+ QT_NO_CAST_FROM_BYTEARRAY
+
include(../../config.pri)
LAYOUT_FILES += \
diff --git a/src/plugins/hunspell/hunspellinputmethod/hunspellinputmethod.pro b/src/plugins/hunspell/hunspellinputmethod/hunspellinputmethod.pro
index d2a47e0c..9dc2e654 100644
--- a/src/plugins/hunspell/hunspellinputmethod/hunspellinputmethod.pro
+++ b/src/plugins/hunspell/hunspellinputmethod/hunspellinputmethod.pro
@@ -16,6 +16,12 @@ HEADERS += \
hunspellworker_p.h \
qhunspellinputmethod_global.h
+DEFINES += \
+ QT_NO_CAST_TO_ASCII \
+ QT_ASCII_CAST_WARNINGS \
+ QT_NO_CAST_FROM_ASCII \
+ QT_NO_CAST_FROM_BYTEARRAY
+
include(../../../config.pri)
hunspell-library: QMAKE_USE += hunspell
diff --git a/src/plugins/hunspell/hunspellinputmethod/hunspellworker.cpp b/src/plugins/hunspell/hunspellinputmethod/hunspellworker.cpp
index 6387ee16..15af0841 100644
--- a/src/plugins/hunspell/hunspellinputmethod/hunspellworker.cpp
+++ b/src/plugins/hunspell/hunspellinputmethod/hunspellworker.cpp
@@ -763,7 +763,7 @@ void HunspellWorker::run()
continue;
perf.start();
currentTask->run();
- qCDebug(lcHunspell) << QString(QLatin1String(currentTask->metaObject()->className()) + "::run(): time:").toLatin1().constData() << perf.elapsed() << "ms";
+ qCDebug(lcHunspell) << QString(QLatin1String(currentTask->metaObject()->className()) + QLatin1String("::run(): time:")).toLatin1().constData() << perf.elapsed() << "ms";
}
}
if (hunspell) {
diff --git a/src/plugins/hunspell/plugin/plugin.pro b/src/plugins/hunspell/plugin/plugin.pro
index 99eab6c9..1981b5e5 100644
--- a/src/plugins/hunspell/plugin/plugin.pro
+++ b/src/plugins/hunspell/plugin/plugin.pro
@@ -8,6 +8,12 @@ SOURCES += \
OTHER_FILES += \
hunspell.json
+DEFINES += \
+ QT_NO_CAST_TO_ASCII \
+ QT_ASCII_CAST_WARNINGS \
+ QT_NO_CAST_FROM_ASCII \
+ QT_NO_CAST_FROM_BYTEARRAY
+
include(../../../config.pri)
hunspell-library {
diff --git a/src/plugins/lipi-toolkit/plugin/lipiinputmethod.cpp b/src/plugins/lipi-toolkit/plugin/lipiinputmethod.cpp
index 00e82541..ca23c491 100644
--- a/src/plugins/lipi-toolkit/plugin/lipiinputmethod.cpp
+++ b/src/plugins/lipi-toolkit/plugin/lipiinputmethod.cpp
@@ -117,19 +117,19 @@ public:
if (context == currentContext)
return;
- qCDebug(lcLipi) << "LipiInputMethodPrivate::setContext():" << QString(context.toHex());
+ qCDebug(lcLipi) << "LipiInputMethodPrivate::setContext():" << QLatin1String(context.toHex());
clearTraces();
deviceInfo.reset(new LTKCaptureDevice());
- deviceInfo->setSamplingRate(traceCaptureDeviceInfo.value("sampleRate", 60).toInt());
- deviceInfo->setXDPI(traceCaptureDeviceInfo.value("dpi", 96).toInt());
+ deviceInfo->setSamplingRate(traceCaptureDeviceInfo.value(QLatin1String("sampleRate"), 60).toInt());
+ deviceInfo->setXDPI(traceCaptureDeviceInfo.value(QLatin1String("dpi"), 96).toInt());
deviceInfo->setYDPI(deviceInfo->getXDPI());
- deviceInfo->setLatency(traceCaptureDeviceInfo.value("latency", 0.0).toFloat());
- deviceInfo->setUniformSampling(traceCaptureDeviceInfo.value("uniform", false).toBool());
+ deviceInfo->setLatency(traceCaptureDeviceInfo.value(QLatin1String("latency"), 0.0).toFloat());
+ deviceInfo->setUniformSampling(traceCaptureDeviceInfo.value(QLatin1String("uniform"), false).toBool());
screenContext.reset(new LTKScreenContext());
- QRectF boundingBox(traceScreenInfo.value("boundingBox").toRectF());
+ QRectF boundingBox(traceScreenInfo.value(QLatin1String("boundingBox")).toRectF());
if (!boundingBox.isEmpty()) {
screenContext->setBboxLeft(boundingBox.left());
screenContext->setBboxTop(boundingBox.top());
@@ -137,7 +137,7 @@ public:
screenContext->setBboxBottom(boundingBox.bottom());
}
- QVariantList horizontalRulers(traceScreenInfo.value("horizontalRulers", QVariantList()).toList());
+ QVariantList horizontalRulers(traceScreenInfo.value(QLatin1String("horizontalRulers"), QVariantList()).toList());
if (!horizontalRulers.isEmpty()) {
for (QVariantList::ConstIterator i = horizontalRulers.constBegin();
i != horizontalRulers.constEnd(); i++) {
@@ -145,7 +145,7 @@ public:
}
}
- QVariantList verticalRulers(traceScreenInfo.value("verticalRulers", QVariantList()).toList());
+ QVariantList verticalRulers(traceScreenInfo.value(QLatin1String("verticalRulers"), QVariantList()).toList());
if (!horizontalRulers.isEmpty()) {
for (QVariantList::ConstIterator i = verticalRulers.constBegin();
i != verticalRulers.constEnd(); i++) {
@@ -182,7 +182,7 @@ public:
#endif
QVirtualKeyboardTrace *trace = new QVirtualKeyboardTrace();
- trace->setChannels(QStringList("t"));
+ trace->setChannels(QStringList(QLatin1String("t")));
traceList.append(trace);
return trace;
@@ -271,7 +271,7 @@ public:
saveTraces(Qt::Key_Space, 100);
#endif
cancelRecognition();
- ic->inputEngine()->virtualKeyClick(Qt::Key_Space, QString(" "), Qt::NoModifier);
+ ic->inputEngine()->virtualKeyClick(Qt::Key_Space, QLatin1String(" "), Qt::NoModifier);
} else if (swipeTouchCount == 2) {
// Double swipe: commit word, or insert space
cancelRecognition();
@@ -282,7 +282,7 @@ public:
return;
}
#endif
- ic->inputEngine()->virtualKeyClick(Qt::Key_Space, QString(" "), Qt::NoModifier);
+ ic->inputEngine()->virtualKeyClick(Qt::Key_Space, QLatin1String(" "), Qt::NoModifier);
}
return;
}
@@ -325,14 +325,14 @@ public:
vector<LTKChannel> channels;
channels.push_back(LTKChannel("X", DT_INT, true));
channels.push_back(LTKChannel("Y", DT_INT, true));
- bool hasTime = trace->channels().contains("t");
+ bool hasTime = trace->channels().contains(QLatin1String("t"));
if (hasTime)
channels.push_back(LTKChannel("T", DT_FLOAT, true));
LTKTraceFormat traceFormat(channels);
LTKTrace ltktrace(traceFormat);
const QVariantList points = trace->points();
- const QVariantList timeData = hasTime ? trace->channelData("t") : QVariantList();
+ const QVariantList timeData = hasTime ? trace->channelData(QLatin1String("t")) : QVariantList();
QVariantList::ConstIterator t = timeData.constBegin();
for (const QVariant &p : points) {
const QPointF pt(p.toPointF());
@@ -355,7 +355,7 @@ public:
#endif
stopRecognizeTimer();
clearTraces();
- if (recognitionTask && !delayedResult.isEmpty() && recognitionTask->resultId() == delayedResult["resultId"].toInt())
+ if (recognitionTask && !delayedResult.isEmpty() && recognitionTask->resultId() == delayedResult[QLatin1String("resultId")].toInt())
processResult(delayedResult);
delayedResult.clear();
recognitionTask.reset();
@@ -408,7 +408,7 @@ public:
{
if (!resultList.isEmpty()) {
const QVariantMap result = resultList.at(0).toMap();
- if (recognitionTask && recognitionTask->resultId() == result["resultId"].toInt())
+ if (recognitionTask && recognitionTask->resultId() == result[QLatin1String("resultId")].toInt())
delayedResult = result;
else
processResult(result);
@@ -417,13 +417,13 @@ public:
void processResult(const QVariantMap &result)
{
- const QChar ch = result["unicode"].toChar();
+ const QChar ch = result[QLatin1String("unicode")].toChar();
const QChar chUpper = ch.toUpper();
#ifdef QT_VIRTUALKEYBOARD_RECORD_TRACE_INPUT
// In recording mode, the text case must match with the current text case
if (unipenTrace) {
if (!ch.isLetter() || (ch.isUpper() == (textCase == QVirtualKeyboardInputEngine::TextCase::Upper)))
- saveTraces(ch.unicode(), qRound(result["confidence"].toDouble() * 100));
+ saveTraces(ch.unicode(), qRound(result[QLatin1String("confidence")].toDouble() * 100));
delete unipenTrace;
unipenTrace = 0;
}
@@ -448,7 +448,7 @@ public:
QStringList homeLocations = QStandardPaths::standardLocations(QStandardPaths::HomeLocation);
if (!homeLocations.isEmpty()) {
- QString filePath = QStringLiteral("%1/%2").arg(homeLocations.at(0)).arg("VIRTUAL_KEYBOARD_TRACES");
+ QString filePath = QStringLiteral("%1/%2").arg(homeLocations.at(0)).arg(QLatin1String("VIRTUAL_KEYBOARD_TRACES"));
unipenTrace->setDirectory(filePath);
unipenTrace->save(unicode, confidence);
}
@@ -625,7 +625,10 @@ void LipiInputMethod::resultsAvailable(const QVariantList &resultList)
qCDebug(lcLipi) << "LipiInputMethod::resultsAvailable():";
for (int i = 0; i < resultList.size(); i++) {
QVariantMap result = resultList.at(i).toMap();
- qCDebug(lcLipi) << QString("%1: %2 (%3)").arg(i + 1).arg(result["unicode"].toChar()).arg(result["confidence"].toFloat()).toUtf8().constData();
+ const QChar unicode = result[QLatin1String("unicode")].toChar();
+ const double confidence = result[QLatin1String("confidence")].toDouble();
+ qCDebug(lcLipi) << QStringLiteral("%1: %2 (%3)").arg(i + 1)
+ .arg(unicode).arg(confidence).toUtf8().constData();
}
}
Q_D(LipiInputMethod);
diff --git a/src/plugins/lipi-toolkit/plugin/lipisharedrecognizer.cpp b/src/plugins/lipi-toolkit/plugin/lipisharedrecognizer.cpp
index 8a45dcb6..090f129c 100644
--- a/src/plugins/lipi-toolkit/plugin/lipisharedrecognizer.cpp
+++ b/src/plugins/lipi-toolkit/plugin/lipisharedrecognizer.cpp
@@ -90,7 +90,7 @@ bool LipiSharedRecognizer::setModel(const QString &modelName)
qCDebug(lcLipi) << "LipiSharedRecognizer::setModel():" << modelName;
if (!s_lipiEngine) {
- qWarning() << "Engine not initialized";
+ qCWarning(lcLipi) << "Engine not initialized";
return false;
}
@@ -187,16 +187,16 @@ int LipiSharedRecognizer::loadLipiInterface()
*/
bool lipiRootVarIsEmpty = qEnvironmentVariableIsEmpty("LIPI_ROOT");
s_lipiRoot = lipiRootVarIsEmpty ?
- QDir(QLibraryInfo::location(QLibraryInfo::DataPath) + "/qtvirtualkeyboard/lipi_toolkit").absolutePath() :
+ QDir(QLibraryInfo::location(QLibraryInfo::DataPath) + QLatin1String("/qtvirtualkeyboard/lipi_toolkit")).absolutePath() :
qEnvironmentVariable("LIPI_ROOT");
bool lipiLibVarIsEmpty = qEnvironmentVariableIsEmpty("LIPI_LIB");
if (!lipiLibVarIsEmpty)
s_lipiLib = qEnvironmentVariable("LIPI_LIB");
else if (!lipiRootVarIsEmpty)
- s_lipiLib = s_lipiRoot + "/lib";
+ s_lipiLib = s_lipiRoot + QLatin1String("/lib");
else
- s_lipiLib = QDir(QLibraryInfo::location(QLibraryInfo::PluginsPath) + "/lipi_toolkit").absolutePath();
+ s_lipiLib = QDir(QLibraryInfo::location(QLibraryInfo::PluginsPath) + QLatin1String("/lipi_toolkit")).absolutePath();
}
QScopedPointer<LTKOSUtil> osUtil(LTKOSUtilFactory::getInstance());
@@ -205,7 +205,7 @@ int LipiSharedRecognizer::loadLipiInterface()
int result = osUtil->loadSharedLib(lipiLibPath, LIPIENGINE_MODULE_STR, &s_lipiEngineHandle);
if (result != SUCCESS) {
- qWarning() << QString("Error %1: Could not open shared library for module '%2'").arg(result).arg(LIPIENGINE_MODULE_STR);
+ qCWarning(lcLipi) << QStringLiteral("Error %1: Could not open shared library for module '%2'").arg(result).arg(QLatin1String(LIPIENGINE_MODULE_STR));
return result;
}
@@ -215,13 +215,13 @@ int LipiSharedRecognizer::loadLipiInterface()
result = osUtil->getFunctionAddress(s_lipiEngineHandle, "createLTKLipiEngine", (void **)&s_createLTKLipiEngine);
if (result != SUCCESS) {
- qWarning() << QString("Error %1: %2").arg(result).arg(getErrorMessage(result).c_str());
+ qCWarning(lcLipi) << QStringLiteral("Error %1: %2").arg(result).arg(QLatin1String(getErrorMessage(result).c_str()));
return result;
}
result = osUtil->getFunctionAddress(s_lipiEngineHandle, "deleteLTKLipiEngine", (void **)&s_deleteLTKLipiEngine);
if (result != SUCCESS) {
- qWarning() << QString("Error %1: %2").arg(result).arg(getErrorMessage(result).c_str());
+ qCWarning(lcLipi) << QStringLiteral("Error %1: %2").arg(result).arg(QLatin1String(getErrorMessage(result).c_str()));
return result;
}
@@ -235,7 +235,7 @@ int LipiSharedRecognizer::loadLipiInterface()
result = s_lipiEngine->initializeLipiEngine();
if (result != SUCCESS) {
- qWarning() << QString("Error %1: %2").arg(result).arg(getErrorMessage(result).c_str());
+ qCWarning(lcLipi) << QStringLiteral("Error %1: %2").arg(result).arg(QLatin1String(getErrorMessage(result).c_str()));
return result;
}
}
@@ -266,9 +266,9 @@ int LipiSharedRecognizer::loadLipiEngineConfig()
{
s_lipiEngineConfigEntries.clear();
- const QString &lipiEngineConfigFile(QDir::toNativeSeparators(QString("%1/projects/lipiengine.cfg").arg(s_lipiRoot)));
+ const QString &lipiEngineConfigFile(QDir::toNativeSeparators(QStringLiteral("%1/projects/lipiengine.cfg").arg(s_lipiRoot)));
if (!QFileInfo::exists(lipiEngineConfigFile)) {
- qWarning() << "File not found" << lipiEngineConfigFile;
+ qCWarning(lcLipi) << "File not found" << lipiEngineConfigFile;
return FAILURE;
}
@@ -291,11 +291,11 @@ int LipiSharedRecognizer::resolveLogicalNameToProjectProfile(const QString &logi
if (configEntry == s_lipiEngineConfigEntries.end())
return FAILURE;
- QStringList parts = QString(configEntry->second.c_str()).split('(', QString::SkipEmptyParts);
+ QStringList parts = QString::fromLatin1(configEntry->second.c_str()).split(QLatin1Char('('), QString::SkipEmptyParts);
if (parts.length() != 2)
return FAILURE;
- parts[1].replace(')', "");
+ parts[1].replace(QLatin1Char(')'), QString());
outProjectName = parts[0].trimmed();
outProfileName = parts[1].trimmed();
@@ -323,7 +323,7 @@ int LipiSharedRecognizer::loadModelData(const QString &logicalName)
string strProfile = profile.toStdString();
int result = s_lipiEngine->createShapeRecognizer(strProject, strProfile, &s_shapeRecognizer);
if (result == SUCCESS) {
- result = loadMapping(QDir::toNativeSeparators(QString("%1/projects/%2/config/unicodeMapfile_%2.ini").arg(s_lipiRoot).arg(project)));
+ result = loadMapping(QDir::toNativeSeparators(QStringLiteral("%1/projects/%2/config/unicodeMapfile_%2.ini").arg(s_lipiRoot).arg(project)));
if (result == SUCCESS) {
s_lipiWorker = new LipiWorker(s_shapeRecognizer);
QSharedPointer<LipiLoadModelDataTask> loadModelDataTask(new LipiLoadModelDataTask());
@@ -337,7 +337,7 @@ int LipiSharedRecognizer::loadModelData(const QString &logicalName)
qCDebug(lcLipi) << "LipiSharedRecognizer::loadModelData(): time:" << perf.elapsed() << "ms";
if (result != SUCCESS) {
- qWarning() << QString("Error %1: %2").arg(result).arg(getErrorMessage(result).c_str());
+ qCWarning(lcLipi) << QStringLiteral("Error %1: %2").arg(result).arg(QLatin1String(getErrorMessage(result).c_str()));
unloadModelData();
}
@@ -370,7 +370,7 @@ void LipiSharedRecognizer::unloadModelData()
int LipiSharedRecognizer::loadMapping(const QString &mapFile)
{
if (!QFileInfo(mapFile).exists()) {
- qWarning() << "File not found" << mapFile;
+ qCWarning(lcLipi) << "File not found" << mapFile;
return FAILURE;
}
@@ -381,15 +381,15 @@ int LipiSharedRecognizer::loadMapping(const QString &mapFile)
for (stringStringMap::const_iterator i = cfgFileMap.begin(); i != cfgFileMap.end(); i++) {
if (i->first.empty())
continue;
- if (!QChar(i->first.at(0)).isDigit())
+ if (!QChar::fromLatin1(i->first.at(0)).isDigit())
continue;
bool ok;
- int id = QString(i->first.c_str()).toInt(&ok, 10);
+ int id = QString::fromLatin1(i->first.c_str()).toInt(&ok, 10);
if (!ok)
continue;
- QChar ch = QChar(QString(i->second.c_str()).toInt(&ok, 16));
+ QChar ch = QChar(QString::fromLatin1(i->second.c_str()).toInt(&ok, 16));
if (!ok)
continue;
diff --git a/src/plugins/lipi-toolkit/plugin/lipiworker.cpp b/src/plugins/lipi-toolkit/plugin/lipiworker.cpp
index b1e8320d..ffe5c3b7 100644
--- a/src/plugins/lipi-toolkit/plugin/lipiworker.cpp
+++ b/src/plugins/lipi-toolkit/plugin/lipiworker.cpp
@@ -58,7 +58,7 @@ void LipiLoadModelDataTask::run()
int result = shapeRecognizer->loadModelData();
qCDebug(lcLipi) << "LipiLoadModelDataTask::run(): time:" << perf.elapsed() << "ms";
if (result != SUCCESS)
- qWarning() << QString("Error %1: %2").arg(result).arg(getErrorMessage(result).c_str());
+ qCWarning(lcLipi) << QStringLiteral("Error %1: %2").arg(result).arg(QLatin1String(getErrorMessage(result).c_str()));
}
/*!
@@ -159,10 +159,10 @@ void LipiRecognitionResultsTask::run()
i != resultVector->end(); i++) {
QVariantMap result;
int shapeId = i->getShapeId();
- result["resultId"] = _resultId;
- result["shapeId"] = shapeId;
- result["unicode"] = unicodeMap.value(shapeId);
- result["confidence"] = i->getConfidence();
+ result[QLatin1String("resultId")] = _resultId;
+ result[QLatin1String("shapeId")] = shapeId;
+ result[QLatin1String("unicode")] = unicodeMap.value(shapeId);
+ result[QLatin1String("confidence")] = i->getConfidence();
resultList.append(result);
}
diff --git a/src/plugins/lipi-toolkit/plugin/plugin.pro b/src/plugins/lipi-toolkit/plugin/plugin.pro
index 427d2aa8..c3a12440 100644
--- a/src/plugins/lipi-toolkit/plugin/plugin.pro
+++ b/src/plugins/lipi-toolkit/plugin/plugin.pro
@@ -15,6 +15,12 @@ SOURCES += \
OTHER_FILES += \
lipi.json
+DEFINES += \
+ QT_NO_CAST_TO_ASCII \
+ QT_ASCII_CAST_WARNINGS \
+ QT_NO_CAST_FROM_ASCII \
+ QT_NO_CAST_FROM_BYTEARRAY
+
include(../../../config.pri)
INCLUDEPATH += \
diff --git a/src/plugins/openwnn/3rdparty/openwnn/openwnn.pro b/src/plugins/openwnn/3rdparty/openwnn/openwnn.pro
index 6c75d8ee..150ed169 100644
--- a/src/plugins/openwnn/3rdparty/openwnn/openwnn.pro
+++ b/src/plugins/openwnn/3rdparty/openwnn/openwnn.pro
@@ -51,6 +51,12 @@ HEADERS += \
wnnEngine/include/romkanhalfkatakana.h \
wnnEngine/include/wnnlookuptable.h
+DEFINES += \
+ QT_NO_CAST_TO_ASCII \
+ QT_ASCII_CAST_WARNINGS \
+ QT_NO_CAST_FROM_ASCII \
+ QT_NO_CAST_FROM_BYTEARRAY
+
load(qt_helper_lib)
CONFIG += qt
diff --git a/src/plugins/openwnn/3rdparty/openwnn/wnnEngine/composingtext.cpp b/src/plugins/openwnn/3rdparty/openwnn/wnnEngine/composingtext.cpp
index 82022c8e..1f9ca4ff 100644
--- a/src/plugins/openwnn/3rdparty/openwnn/wnnEngine/composingtext.cpp
+++ b/src/plugins/openwnn/3rdparty/openwnn/wnnEngine/composingtext.cpp
@@ -210,7 +210,7 @@ void ComposingText::debugout() const
QString tmp;
for (QList<StrSegment>::ConstIterator it = d->mStringLayer[i].constBegin();
it != d->mStringLayer[i].constEnd(); it++) {
- tmp += QString("(%1,%2,%3)").arg(it->string).arg(it->from).arg(it->to);
+ tmp += QStringLiteral("(%1,%2,%3)").arg(it->string).arg(it->from).arg(it->to);
}
}
}
diff --git a/src/plugins/openwnn/3rdparty/openwnn/wnnEngine/openwnnenginejajp.cpp b/src/plugins/openwnn/3rdparty/openwnn/wnnEngine/openwnnenginejajp.cpp
index dbcb7c37..534e97b6 100644
--- a/src/plugins/openwnn/3rdparty/openwnn/wnnEngine/openwnnenginejajp.cpp
+++ b/src/plugins/openwnn/3rdparty/openwnn/wnnEngine/openwnnenginejajp.cpp
@@ -178,8 +178,8 @@ public:
}
if (input.length() == 0) {
- mInputHiragana = "";
- mInputRomaji = "";
+ mInputHiragana.clear();
+ mInputRomaji.clear();
return 0;
}
diff --git a/src/plugins/openwnn/plugin/openwnninputmethod.cpp b/src/plugins/openwnn/plugin/openwnninputmethod.cpp
index 4d47a0a5..d6206732 100644
--- a/src/plugins/openwnn/plugin/openwnninputmethod.cpp
+++ b/src/plugins/openwnn/plugin/openwnninputmethod.cpp
@@ -184,7 +184,7 @@ public:
{
if (composingText.size(ComposingText::LAYER0) != 0) {
Q_Q(OpenWnnInputMethod);
- q->inputContext()->commit("");
+ q->inputContext()->commit(QString());
}
composingText.clear();
exactMatchMode = false;
diff --git a/src/plugins/openwnn/plugin/plugin.pro b/src/plugins/openwnn/plugin/plugin.pro
index 76234f89..7e11d890 100644
--- a/src/plugins/openwnn/plugin/plugin.pro
+++ b/src/plugins/openwnn/plugin/plugin.pro
@@ -10,6 +10,12 @@ SOURCES += \
OTHER_FILES += \
openwnn.json
+DEFINES += \
+ QT_NO_CAST_TO_ASCII \
+ QT_ASCII_CAST_WARNINGS \
+ QT_NO_CAST_FROM_ASCII \
+ QT_NO_CAST_FROM_BYTEARRAY
+
include(../../../config.pri)
LAYOUT_FILES += \
diff --git a/src/plugins/pinyin/3rdparty/pinyin/patches/0005-Fix-string-cast.patch b/src/plugins/pinyin/3rdparty/pinyin/patches/0005-Fix-string-cast.patch
new file mode 100644
index 00000000..63e126d1
--- /dev/null
+++ b/src/plugins/pinyin/3rdparty/pinyin/patches/0005-Fix-string-cast.patch
@@ -0,0 +1,28 @@
+From 821c869ad7af125a7a718093f8d4730108cffe5b Mon Sep 17 00:00:00 2001
+From: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
+Date: Thu, 23 Aug 2018 21:51:19 +0300
+Subject: [PATCH] Fix string cast
+
+Enforce proper string cast using QT_NO_CAST_TO_ASCII and friends.
+
+Change-Id: I039b23144c8d57f12aad1c27f29654b382078222
+---
+ src/plugins/pinyin/3rdparty/pinyin/share/dicttrie.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/plugins/pinyin/3rdparty/pinyin/share/dicttrie.cpp b/src/plugins/pinyin/3rdparty/pinyin/share/dicttrie.cpp
+index e7d194f..a084395 100644
+--- a/src/plugins/pinyin/3rdparty/pinyin/share/dicttrie.cpp
++++ b/src/plugins/pinyin/3rdparty/pinyin/share/dicttrie.cpp
+@@ -245,7 +245,7 @@ bool DictTrie::load_dict(const char *filename, LemmaIdType start_id,
+ if (NULL == filename || end_id <= start_id)
+ return false;
+
+- QFile file(filename);
++ QFile file(QString::fromUtf8(filename));
+ if (!file.open(QIODevice::ReadOnly))
+ return false;
+ QFile *fp = &file;
+--
+2.14.1.windows.1
+
diff --git a/src/plugins/pinyin/3rdparty/pinyin/pinyin.pro b/src/plugins/pinyin/3rdparty/pinyin/pinyin.pro
index 0aedbb31..193f571a 100644
--- a/src/plugins/pinyin/3rdparty/pinyin/pinyin.pro
+++ b/src/plugins/pinyin/3rdparty/pinyin/pinyin.pro
@@ -45,6 +45,12 @@ HEADERS += \
include/utf16char.h \
include/utf16reader.h
+DEFINES += \
+ QT_NO_CAST_TO_ASCII \
+ QT_ASCII_CAST_WARNINGS \
+ QT_NO_CAST_FROM_ASCII \
+ QT_NO_CAST_FROM_BYTEARRAY
+
OTHER_FILES +=\
data/rawdict_utf16_65105_freq.txt \
data/valid_utf16.txt
diff --git a/src/plugins/pinyin/3rdparty/pinyin/share/dicttrie.cpp b/src/plugins/pinyin/3rdparty/pinyin/share/dicttrie.cpp
index e7d194f6..a084395e 100644
--- a/src/plugins/pinyin/3rdparty/pinyin/share/dicttrie.cpp
+++ b/src/plugins/pinyin/3rdparty/pinyin/share/dicttrie.cpp
@@ -245,7 +245,7 @@ bool DictTrie::load_dict(const char *filename, LemmaIdType start_id,
if (NULL == filename || end_id <= start_id)
return false;
- QFile file(filename);
+ QFile file(QString::fromUtf8(filename));
if (!file.open(QIODevice::ReadOnly))
return false;
QFile *fp = &file;
diff --git a/src/plugins/pinyin/3rdparty/pinyin/update-patches.sh b/src/plugins/pinyin/3rdparty/pinyin/update-patches.sh
index 98d7af6e..ed67686a 100644
--- a/src/plugins/pinyin/3rdparty/pinyin/update-patches.sh
+++ b/src/plugins/pinyin/3rdparty/pinyin/update-patches.sh
@@ -29,8 +29,8 @@
#############################################################################
REV_FILTER=". :!./patches :!./update-patches.sh :!./pinyin.pro :!./qt_attribution.json"
-REV_LIST=$(git rev-list --reverse HEAD -- $REV_FILTER)
-N=0
+REV_LIST=$(git rev-list --reverse 59208edaaf40be982904a6c8cad4eab2d14f938e..HEAD -- $REV_FILTER)
+N=5
for REV in $REV_LIST; do
if [ $N -gt 0 ]; then
diff --git a/src/plugins/pinyin/plugin/pinyindecoderservice.cpp b/src/plugins/pinyin/plugin/pinyindecoderservice.cpp
index e01f7e63..4d9890f4 100644
--- a/src/plugins/pinyin/plugin/pinyindecoderservice.cpp
+++ b/src/plugins/pinyin/plugin/pinyindecoderservice.cpp
@@ -82,11 +82,11 @@ bool PinyinDecoderService::init()
if (!QFileInfo::exists(sysDict)) {
sysDict = QLatin1String(":///QtQuick/VirtualKeyboard/3rdparty/pinyin/data/dict_pinyin.dat");
if (!QFileInfo::exists(sysDict))
- sysDict = QLibraryInfo::location(QLibraryInfo::DataPath) + "/qtvirtualkeyboard/pinyin/dict_pinyin.dat";
+ sysDict = QLibraryInfo::location(QLibraryInfo::DataPath) + QLatin1String("/qtvirtualkeyboard/pinyin/dict_pinyin.dat");
}
QString usrDictPath = QStandardPaths::writableLocation(QStandardPaths::ConfigLocation);
- QFileInfo usrDictInfo(usrDictPath + "/qtvirtualkeyboard/pinyin/usr_dict.dat");
+ QFileInfo usrDictInfo(usrDictPath + QLatin1String("/qtvirtualkeyboard/pinyin/usr_dict.dat"));
if (!usrDictInfo.exists()) {
qCWarning(lcPinyin) << "PinyinDecoderService::init(): creating directory for user dictionary" << usrDictInfo.absolutePath();
QDir().mkpath(usrDictInfo.absolutePath());
@@ -105,7 +105,7 @@ void PinyinDecoderService::setUserDictionary(bool enabled)
return;
if (enabled) {
QString usrDictPath = QStandardPaths::writableLocation(QStandardPaths::ConfigLocation);
- QFileInfo usrDictInfo(usrDictPath + "/qtvirtualkeyboard/pinyin/usr_dict.dat");
+ QFileInfo usrDictInfo(usrDictPath + QLatin1String("/qtvirtualkeyboard/pinyin/usr_dict.dat"));
im_init_user_dictionary(usrDictInfo.absoluteFilePath().toUtf8().constData());
} else {
im_init_user_dictionary(nullptr);
diff --git a/src/plugins/pinyin/plugin/pinyininputmethod.cpp b/src/plugins/pinyin/plugin/pinyininputmethod.cpp
index 8cc13c79..35d481c8 100644
--- a/src/plugins/pinyin/plugin/pinyininputmethod.cpp
+++ b/src/plugins/pinyin/plugin/pinyininputmethod.cpp
@@ -88,7 +88,7 @@ public:
finishSelection = true;
composingStr.clear();
if (inputContext)
- inputContext->setPreeditText("");
+ inputContext->setPreeditText(QString());
activeCmpsLen = 0;
posDelSpl = -1;
isPosInSpl = false;
@@ -231,7 +231,7 @@ public:
for (int pos = fixedLen + 1; pos < splStart.size() - 1; pos++) {
composingStrDisplay += surface.mid(splStart[pos], splStart[pos + 1] - splStart[pos]).toUpper();
if (splStart[pos + 1] < surfaceDecodedLen)
- composingStrDisplay += " ";
+ composingStrDisplay += QLatin1String(" ");
}
if (surfaceDecodedLen < surface.length())
composingStrDisplay += surface.mid(surfaceDecodedLen).toLower();
diff --git a/src/plugins/pinyin/plugin/plugin.pro b/src/plugins/pinyin/plugin/plugin.pro
index 980862b4..f66c887e 100644
--- a/src/plugins/pinyin/plugin/plugin.pro
+++ b/src/plugins/pinyin/plugin/plugin.pro
@@ -12,6 +12,12 @@ SOURCES += \
OTHER_FILES += \
pinyin.json
+DEFINES += \
+ QT_NO_CAST_TO_ASCII \
+ QT_ASCII_CAST_WARNINGS \
+ QT_NO_CAST_FROM_ASCII \
+ QT_NO_CAST_FROM_BYTEARRAY
+
include(../../../config.pri)
LAYOUT_FILES += \
diff --git a/src/plugins/t9write/plugin/plugin.pro b/src/plugins/t9write/plugin/plugin.pro
index 1c6393cf..0f68f8c4 100644
--- a/src/plugins/t9write/plugin/plugin.pro
+++ b/src/plugins/t9write/plugin/plugin.pro
@@ -15,6 +15,12 @@ SOURCES += \
OTHER_FILES += \
t9write.json
+DEFINES += \
+ QT_NO_CAST_TO_ASCII \
+ QT_ASCII_CAST_WARNINGS \
+ QT_NO_CAST_FROM_ASCII \
+ QT_NO_CAST_FROM_BYTEARRAY
+
include(../../../config.pri)
include(../3rdparty/t9write/t9write-build.pri)
diff --git a/src/plugins/t9write/plugin/t9writeinputmethod.cpp b/src/plugins/t9write/plugin/t9writeinputmethod.cpp
index 2ec9d073..63647e85 100644
--- a/src/plugins/t9write/plugin/t9writeinputmethod.cpp
+++ b/src/plugins/t9write/plugin/t9writeinputmethod.cpp
@@ -346,7 +346,7 @@ public:
{
srcType = numberOfSrcDictionaryTypes;
- QStringList languageCountry = locale.name().split("_");
+ QStringList languageCountry = locale.name().split(QLatin1String("_"));
if (languageCountry.length() != 2)
return QString();
@@ -355,7 +355,7 @@ public:
while (it.hasNext()) {
QString fileEntry = it.next();
- if (!fileEntry.contains("_" + languageCountry[0].toUpper()))
+ if (!fileEntry.contains(QLatin1String("_") + languageCountry[0].toUpper()))
continue;
if (fileEntry.endsWith(QLatin1String(".ldb"))) {
@@ -1007,7 +1007,7 @@ public:
return;
currentContext = context;
- qCDebug(lcT9Write) << "T9WriteInputMethodPrivate::setContext():" << QString(context.toHex());
+ qCDebug(lcT9Write) << "T9WriteInputMethodPrivate::setContext():" << QLatin1String((context.toHex()));
// Finish recognition, but preserve current input
Q_Q(T9WriteInputMethod);
@@ -1027,7 +1027,7 @@ public:
emit q->selectionListActiveItemChanged(QVirtualKeyboardSelectionListModel::Type::WordCandidateList, activeWordIndex);
}
- const int dpi = traceCaptureDeviceInfo.value("dpi", 96).toInt();
+ const int dpi = traceCaptureDeviceInfo.value(QLatin1String("dpi"), 96).toInt();
static const int INSTANT_GESTURE_WIDTH_THRESHOLD_MM = 25;
static const int INSTANT_GESTURE_HEIGHT_THRESHOLD_MM = 25;
instantGestureSettings.widthThreshold = INSTANT_GESTURE_WIDTH_THRESHOLD_MM / 25.4 * dpi;
@@ -1035,7 +1035,7 @@ public:
gestureRecognizer.setDpi(dpi);
- QVariantList horizontalRulers(traceScreenInfo.value("horizontalRulers", QVariantList()).toList());
+ QVariantList horizontalRulers(traceScreenInfo.value(QLatin1String("horizontalRulers"), QVariantList()).toList());
if (horizontalRulers.count() >= 2) {
sessionSettings.baseline = horizontalRulers.last().toInt();
sessionSettings.helpline = 0;
@@ -1343,8 +1343,8 @@ public:
if (resultList.isEmpty())
return;
- if (resultList.first().toMap()["resultId"] != resultId) {
- qCDebug(lcT9Write) << "T9WriteInputMethodPrivate::processResult(): resultId mismatch" << resultList.first().toMap()["resultId"] << "(" << resultId << ")";
+ if (resultList.first().toMap()[QLatin1String("resultId")] != resultId) {
+ qCDebug(lcT9Write) << "T9WriteInputMethodPrivate::processResult(): resultId mismatch" << resultList.first().toMap()[QLatin1String("resultId")] << "(" << resultId << ")";
resultList.clear();
return;
}
@@ -1352,7 +1352,7 @@ public:
for (int i = 0; i < resultList.size(); i++) {
QVariantMap result = resultList.at(i).toMap();
- QString resultChars = result["chars"].toString();
+ QString resultChars = result[QLatin1String("chars")].toString();
if (i == 0) {
if (ic->shift()) {
caseFormatter.ensureLength(1, textCase);
@@ -1370,16 +1370,16 @@ public:
}
if (i == 0) {
resultString = resultChars;
- if (result.contains("gesture"))
- gesture = result["gesture"].toString();
- if (sessionSettings.recognitionMode != scrMode && result.contains("symbolStrokes"))
- symbolStrokes = result["symbolStrokes"].toList();
+ if (result.contains(QLatin1String("gesture")))
+ gesture = result[QLatin1String("gesture")].toString();
+ if (sessionSettings.recognitionMode != scrMode && result.contains(QLatin1String("symbolStrokes")))
+ symbolStrokes = result[QLatin1String("symbolStrokes")].toList();
if (sessionSettings.recognitionMode == scrMode)
break;
} else {
// Add a gesture symbol to the secondary candidate
- if (sessionSettings.recognitionMode != scrMode && result.contains("gesture")) {
- QString gesture2 = result["gesture"].toString();
+ if (sessionSettings.recognitionMode != scrMode && result.contains(QLatin1String("gesture"))) {
+ QString gesture2 = result[QLatin1String("gesture")].toString();
if (gesture2.length() == 1) {
QChar symbol = T9WriteInputMethodPrivate::mapGestureToSymbol(gesture2.at(0).unicode());
if (!symbol.isNull()) {
@@ -1485,9 +1485,9 @@ public:
{
switch (symbol.unicode()) {
case 0x23CE:
- return QChar('\r');
+ return QLatin1Char('\r');
case 0x2423:
- return QChar(' ');
+ return QLatin1Char(' ');
default:
return QChar();
}
@@ -1553,7 +1553,7 @@ public:
if (swipeAngle <= SWIPE_ANGLE_THRESHOLD || swipeAngle >= 360 - SWIPE_ANGLE_THRESHOLD) {
if (swipeTouchCount == 1) {
// Single swipe: space
- ic->inputEngine()->virtualKeyClick(Qt::Key_Space, QString(" "), Qt::NoModifier);
+ ic->inputEngine()->virtualKeyClick(Qt::Key_Space, QLatin1String(" "), Qt::NoModifier);
return true;
}
return false;
@@ -2089,15 +2089,18 @@ void T9WriteInputMethod::resultsAvailable(const QVariantList &resultList)
qCDebug(lcT9Write) << "T9WriteInputMethod::resultsAvailable():";
for (int i = 0; i < resultList.size(); i++) {
QVariantMap result = resultList.at(i).toMap();
- QString resultPrint = QString("%1: ").arg(i + 1);
- QString resultChars = result.value("chars").toString();
+ QString resultPrint = QStringLiteral("%1: ").arg(i + 1);
+ QString resultChars = result.value(QLatin1String("chars")).toString();
if (!resultChars.isEmpty())
resultPrint.append(resultChars);
- if (result.contains("gesture")) {
+ if (result.contains(QLatin1String("gesture"))) {
if (!resultChars.isEmpty())
- resultPrint.append(", ");
- resultPrint.append("gesture = 0x");
- resultPrint.append(result["gesture"].toString().toUtf8().toHex());
+ resultPrint.append(QLatin1String(", "));
+ QString gesture = result[QLatin1String("gesture")].toString();
+ resultPrint.append(QLatin1String("gesture ="));
+ for (const QChar &chr : gesture) {
+ resultPrint.append(QString::fromLatin1(" 0x%1").arg(chr.unicode(), 0, 16));
+ }
}
qCDebug(lcT9Write) << resultPrint.toUtf8().constData();
}
diff --git a/src/plugins/t9write/plugin/t9writeworker.cpp b/src/plugins/t9write/plugin/t9writeworker.cpp
index 68fadf27..be9b4d9e 100644
--- a/src/plugins/t9write/plugin/t9writeworker.cpp
+++ b/src/plugins/t9write/plugin/t9writeworker.cpp
@@ -288,11 +288,11 @@ void T9WriteRecognitionResultsTask::run()
symbolStrokes.append(QVariant((int)hwrResult.pSymbolStrokes[symbolIndex]));
}
- resultMap["resultId"] = result->id;
- resultMap["chars"] = resultString;
- resultMap["symbolStrokes"] = symbolStrokes;
+ resultMap[QLatin1String("resultId")] = result->id;
+ resultMap[QLatin1String("chars")] = resultString;
+ resultMap[QLatin1String("symbolStrokes")] = symbolStrokes;
if (!gesture.isEmpty())
- resultMap["gesture"] = gesture;
+ resultMap[QLatin1String("gesture")] = gesture;
resultList.append(resultMap);
}
diff --git a/src/plugins/tcime/3rdparty/tcime/cangjiedictionary.cpp b/src/plugins/tcime/3rdparty/tcime/cangjiedictionary.cpp
index 1a50d371..7326b839 100644
--- a/src/plugins/tcime/3rdparty/tcime/cangjiedictionary.cpp
+++ b/src/plugins/tcime/3rdparty/tcime/cangjiedictionary.cpp
@@ -28,7 +28,7 @@ bool CangjieDictionary::_simplified = false;
CangjieDictionary::CangjieDictionary() :
WordDictionary(),
- _collator(QLocale("zh_TW"))
+ _collator(QLocale(QLatin1String("zh_TW")))
{
}
diff --git a/src/plugins/tcime/3rdparty/tcime/tcime.pro b/src/plugins/tcime/3rdparty/tcime/tcime.pro
index 55ce8f81..d9fc4f2e 100644
--- a/src/plugins/tcime/3rdparty/tcime/tcime.pro
+++ b/src/plugins/tcime/3rdparty/tcime/tcime.pro
@@ -22,6 +22,12 @@ OTHER_FILES += \
data/dict_cangjie.dat \
data/dict_phrases.dat
+DEFINES += \
+ QT_NO_CAST_TO_ASCII \
+ QT_ASCII_CAST_WARNINGS \
+ QT_NO_CAST_FROM_ASCII \
+ QT_NO_CAST_FROM_BYTEARRAY
+
MODULE_INCLUDEPATH = $$PWD
MODULE_DEFINES = HAVE_TCIME
diff --git a/src/plugins/tcime/3rdparty/tcime/zhuyintable.cpp b/src/plugins/tcime/3rdparty/tcime/zhuyintable.cpp
index c405b1e3..8198122a 100644
--- a/src/plugins/tcime/3rdparty/tcime/zhuyintable.cpp
+++ b/src/plugins/tcime/3rdparty/tcime/zhuyintable.cpp
@@ -41,7 +41,7 @@ const QChar ZhuyinTable::WU_FINALS = 0x3128;
const QChar ZhuyinTable::YU_FINALS = 0x3129;
const QList<QChar> ZhuyinTable::tones = QList<QChar>()
<< ZhuyinTable::DEFAULT_TONE << 0x02d9 << 0x02ca << 0x02c7 << 0x02cb;
-const QChar ZhuyinTable::DEFAULT_TONE = QChar(' ');
+const QChar ZhuyinTable::DEFAULT_TONE = QLatin1Char(' ');
int ZhuyinTable::getInitials(const QChar &initials)
{
diff --git a/src/plugins/tcime/plugin/plugin.pro b/src/plugins/tcime/plugin/plugin.pro
index b50b8402..9ac49798 100644
--- a/src/plugins/tcime/plugin/plugin.pro
+++ b/src/plugins/tcime/plugin/plugin.pro
@@ -10,6 +10,12 @@ SOURCES += \
OTHER_FILES += \
tcime.json
+DEFINES += \
+ QT_NO_CAST_TO_ASCII \
+ QT_ASCII_CAST_WARNINGS \
+ QT_NO_CAST_FROM_ASCII \
+ QT_NO_CAST_FROM_BYTEARRAY
+
include(../../../config.pri)
LAYOUT_FILES += \
diff --git a/src/plugins/tcime/plugin/tcinputmethod.cpp b/src/plugins/tcime/plugin/tcinputmethod.cpp
index e347979a..abbbdd36 100644
--- a/src/plugins/tcime/plugin/tcinputmethod.cpp
+++ b/src/plugins/tcime/plugin/tcinputmethod.cpp
@@ -378,7 +378,7 @@ bool TCInputMethod::setInputMode(const QString &locale, QVirtualKeyboardInputEng
if (!QFileInfo::exists(cangjieDictionary)) {
cangjieDictionary = QLatin1String(":///QtQuick/VirtualKeyboard/3rdparty/tcime/data/qt/dict_cangjie.dat");
if (!QFileInfo::exists(cangjieDictionary))
- cangjieDictionary = QLibraryInfo::location(QLibraryInfo::DataPath) + "/qtvirtualkeyboard/tcime/dict_cangjie.dat";
+ cangjieDictionary = QLibraryInfo::location(QLibraryInfo::DataPath) + QLatin1String("/qtvirtualkeyboard/tcime/dict_cangjie.dat");
}
d->cangjieDictionary.load(cangjieDictionary);
}
@@ -392,7 +392,7 @@ bool TCInputMethod::setInputMode(const QString &locale, QVirtualKeyboardInputEng
if (!QFileInfo::exists(zhuyinDictionary)) {
zhuyinDictionary = QLatin1String(":///QtQuick/VirtualKeyboard/3rdparty/tcime/data/qt/dict_zhuyin.dat");
if (!QFileInfo::exists(zhuyinDictionary))
- zhuyinDictionary = QLibraryInfo::location(QLibraryInfo::DataPath) + "/qtvirtualkeyboard/tcime/dict_zhuyin.dat";
+ zhuyinDictionary = QLibraryInfo::location(QLibraryInfo::DataPath) + QLatin1String("/qtvirtualkeyboard/tcime/dict_zhuyin.dat");
}
d->zhuyinDictionary.load(zhuyinDictionary);
}
@@ -405,7 +405,7 @@ bool TCInputMethod::setInputMode(const QString &locale, QVirtualKeyboardInputEng
if (!QFileInfo::exists(phraseDictionary)) {
phraseDictionary = QLatin1String(":///QtQuick/VirtualKeyboard/3rdparty/tcime/data/qt/dict_phrases.dat");
if (!QFileInfo::exists(phraseDictionary))
- phraseDictionary = QLibraryInfo::location(QLibraryInfo::DataPath) + "/qtvirtualkeyboard/tcime/dict_phrases.dat";
+ phraseDictionary = QLibraryInfo::location(QLibraryInfo::DataPath) + QLatin1String("/qtvirtualkeyboard/tcime/dict_phrases.dat");
}
d->phraseDictionary.load(phraseDictionary);
}
diff --git a/src/plugins/thai/plugin/plugin.pro b/src/plugins/thai/plugin/plugin.pro
index 65d61709..81f05b4b 100644
--- a/src/plugins/thai/plugin/plugin.pro
+++ b/src/plugins/thai/plugin/plugin.pro
@@ -10,6 +10,12 @@ SOURCES += \
OTHER_FILES += \
thai.json
+DEFINES += \
+ QT_NO_CAST_TO_ASCII \
+ QT_ASCII_CAST_WARNINGS \
+ QT_NO_CAST_FROM_ASCII \
+ QT_NO_CAST_FROM_BYTEARRAY
+
include(../../../config.pri)
!disable-hunspell {
diff --git a/src/plugins/thai/plugin/thaiinputmethod.cpp b/src/plugins/thai/plugin/thaiinputmethod.cpp
index 02e7603a..57dc8a67 100644
--- a/src/plugins/thai/plugin/thaiinputmethod.cpp
+++ b/src/plugins/thai/plugin/thaiinputmethod.cpp
@@ -71,7 +71,7 @@ bool ThaiInputMethod::keyEvent(Qt::Key key,
const QString &text,
Qt::KeyboardModifiers modifiers)
{
- const bool isMark = text.length() == 2 && text.at(0) == QChar(' ');
+ const bool isMark = text.length() == 2 && text.at(0) == QLatin1Char(' ');
#ifdef QT_HUNSPELLINPUTMETHOD_LIB
if (isMark) {
const QString mark(text.right(1));
diff --git a/src/styles/styles.pro b/src/styles/styles.pro
index 85c99f05..aa7280e2 100644
--- a/src/styles/styles.pro
+++ b/src/styles/styles.pro
@@ -20,6 +20,12 @@ OTHER_FILES += \
plugins.qmltypes \
qmldir
+DEFINES += \
+ QT_NO_CAST_TO_ASCII \
+ QT_ASCII_CAST_WARNINGS \
+ QT_NO_CAST_FROM_ASCII \
+ QT_NO_CAST_FROM_BYTEARRAY
+
win32 {
QMAKE_TARGET_PRODUCT = "Qt Virtual Keyboard (Qt $$QT_VERSION)"
QMAKE_TARGET_DESCRIPTION = "Virtual Keyboard for Qt."
diff --git a/src/styles/svgimageprovider.cpp b/src/styles/svgimageprovider.cpp
index 1dd2930f..d4e16d80 100644
--- a/src/styles/svgimageprovider.cpp
+++ b/src/styles/svgimageprovider.cpp
@@ -46,24 +46,24 @@ QPixmap SvgImageProvider::requestPixmap(const QString &id, QSize *size, const QS
{
QSize imageSize(-1, -1);
QUrl request(id);
- QString imagePath = ":/" + request.path();
+ QString imagePath = QLatin1String(":/") + request.path();
if (request.hasQuery()) {
const QString query = request.query();
- const QStringList paramList = query.split(QChar('&'), QString::SkipEmptyParts);
+ const QStringList paramList = query.split(QLatin1Char('&'), QString::SkipEmptyParts);
QVariantMap params;
for (const QString &param : paramList) {
- QStringList keyValue = param.split(QChar('='), QString::SkipEmptyParts);
+ QStringList keyValue = param.split(QLatin1Char('='), QString::SkipEmptyParts);
if (keyValue.length() == 2)
params[keyValue[0]] = keyValue[1];
}
- const auto widthIt = params.constFind("width");
+ const auto widthIt = params.constFind(QLatin1String("width"));
if (widthIt != params.cend()) {
bool ok = false;
int value = widthIt.value().toInt(&ok);
if (ok)
imageSize.setWidth(value);
}
- const auto heightIt = params.constFind("height");
+ const auto heightIt = params.constFind(QLatin1String("height"));
if (heightIt != params.cend()) {
bool ok = false;
int value = heightIt.value().toInt(&ok);
@@ -75,7 +75,7 @@ QPixmap SvgImageProvider::requestPixmap(const QString &id, QSize *size, const QS
}
QPixmap image;
- if ((imageSize.width() > 0 || imageSize.height() > 0) && imagePath.endsWith(".svg")) {
+ if ((imageSize.width() > 0 || imageSize.height() > 0) && imagePath.endsWith(QLatin1String(".svg"))) {
QSvgRenderer renderer(imagePath);
QSize defaultSize(renderer.defaultSize());
if (defaultSize.isEmpty())
diff --git a/src/virtualkeyboard/desktopinputpanel.cpp b/src/virtualkeyboard/desktopinputpanel.cpp
index 5b5e52d3..aee0f100 100644
--- a/src/virtualkeyboard/desktopinputpanel.cpp
+++ b/src/virtualkeyboard/desktopinputpanel.cpp
@@ -154,7 +154,7 @@ void DesktopInputPanel::createView()
break;
}
d->view->setColor(QColor(Qt::transparent));
- d->view->setSource(QUrl("qrc:///QtQuick/VirtualKeyboard/content/InputPanel.qml"));
+ d->view->setSource(QUrl(QLatin1String("qrc:///QtQuick/VirtualKeyboard/content/InputPanel.qml")));
if (QGuiApplication *app = qGuiApp)
connect(app, SIGNAL(aboutToQuit()), SLOT(destroyView()));
}
diff --git a/src/virtualkeyboard/qvirtualkeyboardabstractinputmethod.cpp b/src/virtualkeyboard/qvirtualkeyboardabstractinputmethod.cpp
index e4cca1b1..8ca0cdba 100644
--- a/src/virtualkeyboard/qvirtualkeyboardabstractinputmethod.cpp
+++ b/src/virtualkeyboard/qvirtualkeyboardabstractinputmethod.cpp
@@ -151,7 +151,7 @@ QVariant QVirtualKeyboardAbstractInputMethod::selectionListData(QVirtualKeyboard
Q_UNUSED(index)
switch (role) {
case QVirtualKeyboardSelectionListModel::Role::Display:
- return QVariant("");
+ return QVariant(QString());
case QVirtualKeyboardSelectionListModel::Role::WordCompletionLength:
return QVariant(0);
case QVirtualKeyboardSelectionListModel::Role::Dictionary:
diff --git a/src/virtualkeyboard/unipentrace.cpp b/src/virtualkeyboard/unipentrace.cpp
index 1ced292d..eca531c2 100644
--- a/src/virtualkeyboard/unipentrace.cpp
+++ b/src/virtualkeyboard/unipentrace.cpp
@@ -45,19 +45,19 @@ UnipenTrace::UnipenTrace(const QVariantMap &traceCaptureDeviceInfo,
m_lines.append(QLatin1String(".HIERARCHY CHARACTER"));
m_lines.append(QLatin1String(".COORD X Y T"));
m_lines.append(QLatin1String(".SEGMENT CHARACTER"));
- const QRectF boundingBox = traceScreenInfo["boundingBox"].toRectF();
+ const QRectF boundingBox = traceScreenInfo[QLatin1String("boundingBox")].toRectF();
if (!boundingBox.isEmpty()) {
m_lines.append(QStringLiteral(".X_DIM %1").arg(qRound(boundingBox.right())));
m_lines.append(QStringLiteral(".Y_DIM %1").arg(qRound(boundingBox.bottom())));
}
bool ok = false;
- int dpi = traceCaptureDeviceInfo["dpi"].toInt(&ok);
+ int dpi = traceCaptureDeviceInfo[QLatin1String("dpi")].toInt(&ok);
if (ok) {
m_lines.append(QStringLiteral(".X_POINTS_PER_INCH %1").arg(dpi));
m_lines.append(QStringLiteral(".Y_POINTS_PER_INCH %1").arg(dpi));
}
ok = false;
- int sampleRate = traceCaptureDeviceInfo["sampleRate"].toInt(&ok);
+ int sampleRate = traceCaptureDeviceInfo[QLatin1String("sampleRate")].toInt(&ok);
if (ok)
m_lines.append(QStringLiteral(".POINTS_PER_SECOND %1").arg(sampleRate));
}
@@ -67,8 +67,8 @@ void UnipenTrace::record(const QList<QVirtualKeyboardTrace *> &traceList)
qlonglong t0 = 0;
for (const QVirtualKeyboardTrace *trace : qAsConst(traceList)) {
const QVariantList &points = trace->points();
- const bool hasTime = trace->channels().contains("t");
- const QVariantList timeData = hasTime ? trace->channelData("t") : QVariantList();
+ const bool hasTime = trace->channels().contains(QLatin1String("t"));
+ const QVariantList timeData = hasTime ? trace->channelData(QLatin1String("t")) : QVariantList();
QVariantList::ConstIterator t = timeData.constBegin();
if (t0 == 0 && hasTime)
t0 = t->toLongLong();
@@ -107,8 +107,8 @@ void UnipenTrace::save(uint unicode, uint confidence)
} while (QFileInfo::exists(fileName));
}
- QString dataStr(m_lines.join('\n'));
- dataStr.append('\n');
+ QString dataStr(m_lines.join(QLatin1Char('\n')));
+ dataStr.append(QLatin1Char('\n'));
QFile file(fileName);
if (file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Truncate)) {
file.write(dataStr.toUtf8().constData());
diff --git a/src/virtualkeyboard/virtualkeyboard.pro b/src/virtualkeyboard/virtualkeyboard.pro
index 92cdab88..cb28d6a1 100644
--- a/src/virtualkeyboard/virtualkeyboard.pro
+++ b/src/virtualkeyboard/virtualkeyboard.pro
@@ -387,6 +387,12 @@ no-builtin-style {
DEFINES += QT_VIRTUALKEYBOARD_DEFAULT_LAYOUTS_DIR=\\\"qrc:/QtQuick/VirtualKeyboard/content/layouts\\\"
+DEFINES += \
+ QT_NO_CAST_TO_ASCII \
+ QT_ASCII_CAST_WARNINGS \
+ QT_NO_CAST_FROM_ASCII \
+ QT_NO_CAST_FROM_BYTEARRAY
+
OTHER_FILES += \
content/styles/default/*.qml \
content/styles/retro/*.qml \
diff --git a/src/virtualkeyboard/virtualkeyboardsettings.cpp b/src/virtualkeyboard/virtualkeyboardsettings.cpp
index b5c1a339..5f9e82f0 100644
--- a/src/virtualkeyboard/virtualkeyboardsettings.cpp
+++ b/src/virtualkeyboard/virtualkeyboardsettings.cpp
@@ -49,8 +49,8 @@ public:
QString buildStyleImportPath(const QString &path, const QString &name) const
{
- QString importPath(path + name + "/style.qml");
- if (!importPath.startsWith("qrc:")) {
+ QString importPath(path + name + QLatin1String("/style.qml"));
+ if (!importPath.startsWith(QLatin1String("qrc:"))) {
QUrl url = QUrl::fromLocalFile(importPath);
importPath = url.toString();
}
@@ -60,9 +60,9 @@ public:
QString buildStyleFilePath(const QString &path, const QString &name) const
{
QString filePath(path);
- if (filePath.startsWith("qrc:"))
+ if (filePath.startsWith(QLatin1String("qrc:")))
filePath.remove(0, 3);
- return filePath + name + "/style.qml";
+ return filePath + name + QLatin1String("/style.qml");
}
QString styleImportPath(const QString &name) const
@@ -71,12 +71,12 @@ public:
return QString();
QStringList styleImportPathList;
- styleImportPathList << "qrc:/QtQuick/VirtualKeyboard/content/styles/";
+ styleImportPathList << QLatin1String("qrc:/QtQuick/VirtualKeyboard/content/styles/");
const QStringList importPathList = engine->importPathList();
// Add QML import path (Note: the QML base dir is usually the last entry in the list)
for (int i = importPathList.size() - 1; i >= 0; --i) {
const QString stylesPath = importPathList.at(i)
- + QStringLiteral("/QtQuick/VirtualKeyboard/Styles/");
+ + QLatin1String("/QtQuick/VirtualKeyboard/Styles/");
styleImportPathList += stylesPath;
}
@@ -226,7 +226,7 @@ void VirtualKeyboardSettings::setLayoutPath(const QUrl &layoutPath)
void VirtualKeyboardSettings::resetLayoutPath()
{
Settings *settings = Settings::instance();
- QUrl layoutPath(QT_VIRTUALKEYBOARD_DEFAULT_LAYOUTS_DIR);
+ QUrl layoutPath(QLatin1String(QT_VIRTUALKEYBOARD_DEFAULT_LAYOUTS_DIR));
const QString customLayoutPath(QDir::fromNativeSeparators(qEnvironmentVariable("QT_VIRTUALKEYBOARD_LAYOUT_PATH")));
if (!customLayoutPath.isEmpty()) {
bool found = false;
@@ -293,12 +293,12 @@ void VirtualKeyboardSettings::resetStyle()
{
Q_D(VirtualKeyboardSettings);
Settings *settings = Settings::instance();
- QString styleName = QT_VIRTUALKEYBOARD_DEFAULT_STYLE;
+ QString styleName = QLatin1String(QT_VIRTUALKEYBOARD_DEFAULT_STYLE);
QString style = d->styleImportPath(styleName);
- QString customStyleName = qgetenv("QT_VIRTUALKEYBOARD_STYLE");
+ QString customStyleName = QString::fromLatin1(qgetenv("QT_VIRTUALKEYBOARD_STYLE"));
if (!customStyleName.isEmpty()) {
bool found = false;
- QRegularExpression styleNameValidator("\\A(?:\\w+)\\z");
+ QRegularExpression styleNameValidator(QLatin1String("\\A(?:\\w+)\\z"));
QRegularExpressionMatch match = styleNameValidator.match(customStyleName);
if (match.hasMatch()) {
QString customStyle = d->styleImportPath(customStyleName);