Windows QPA: Use UTF-16 literals where possible
This should minimize diffs to Qt 6. Change-Id: Id74c0b4085085984bd51251765420718d16e9fc7 Reviewed-by: André de la Rocha <andre.rocha@qt.io>
This commit is contained in:
parent
a1a3a7cd8a
commit
313c2b46fe
@ -82,7 +82,7 @@ static QDebug operator<<(QDebug d, const QMimeData *mimeData)
|
||||
d << "QMimeData(";
|
||||
if (mimeData) {
|
||||
const QStringList formats = mimeData->formats();
|
||||
d << "formats=" << formats.join(QLatin1String(", "));
|
||||
d << "formats=" << formats.join(u", ");
|
||||
if (mimeData->hasText())
|
||||
d << ", text=" << mimeData->text();
|
||||
if (mimeData->hasHtml())
|
||||
@ -339,7 +339,7 @@ void QWindowsClipboard::setMimeData(QMimeData *mimeData, QClipboard::Mode mode)
|
||||
|
||||
if (src != S_OK) {
|
||||
QString mimeDataFormats = mimeData ?
|
||||
mimeData->formats().join(QLatin1String(", ")) : QString(QStringLiteral("NULL"));
|
||||
mimeData->formats().join(u", ") : QString(QStringLiteral("NULL"));
|
||||
qErrnoWarning("OleSetClipboard: Failed to set mime data (%s) on clipboard: %s",
|
||||
qPrintable(mimeDataFormats),
|
||||
QWindowsContext::comErrorString(src).constData());
|
||||
|
@ -91,7 +91,7 @@ static inline QString guidToString(const GUID &g)
|
||||
str << '{' << g.Data1 << ", " << g.Data2 << ", " << g.Data3;
|
||||
str.setFieldWidth(2);
|
||||
str.setFieldAlignment(QTextStream::AlignRight);
|
||||
str.setPadChar(QLatin1Char('0'));
|
||||
str.setPadChar(u'0');
|
||||
str << ",{" << g.Data4[0] << ", " << g.Data4[1] << ", " << g.Data4[2] << ", " << g.Data4[3]
|
||||
<< ", " << g.Data4[4] << ", " << g.Data4[5] << ", " << g.Data4[6] << ", " << g.Data4[7]
|
||||
<< "}};";
|
||||
@ -915,7 +915,7 @@ IShellItem *QWindowsNativeFileDialogBase::shellItem(const QUrl &url)
|
||||
return nullptr;
|
||||
}
|
||||
return result;
|
||||
} else if (url.scheme() == QLatin1String("clsid")) {
|
||||
} else if (url.scheme() == u"clsid") {
|
||||
// Support for virtual folders via GUID
|
||||
// (see https://msdn.microsoft.com/en-us/library/windows/desktop/dd378457(v=vs.85).aspx)
|
||||
// specified as "clsid:<GUID>" (without '{', '}').
|
||||
@ -1040,20 +1040,20 @@ static QList<FilterSpec> filterSpecs(const QStringList &filters,
|
||||
// Split filter specification as 'Texts (*.txt[;] *.doc)', '*.txt[;] *.doc'
|
||||
// into description and filters specification as '*.txt;*.doc'
|
||||
for (const QString &filterString : filters) {
|
||||
const int openingParenPos = filterString.lastIndexOf(QLatin1Char('('));
|
||||
const int openingParenPos = filterString.lastIndexOf(u'(');
|
||||
const int closingParenPos = openingParenPos != -1 ?
|
||||
filterString.indexOf(QLatin1Char(')'), openingParenPos + 1) : -1;
|
||||
filterString.indexOf(u')', openingParenPos + 1) : -1;
|
||||
FilterSpec filterSpec;
|
||||
filterSpec.filter = closingParenPos == -1 ?
|
||||
filterString :
|
||||
filterString.mid(openingParenPos + 1, closingParenPos - openingParenPos - 1).trimmed();
|
||||
if (filterSpec.filter.isEmpty())
|
||||
filterSpec.filter += QLatin1Char('*');
|
||||
filterSpec.filter += u'*';
|
||||
filterSpec.filter.replace(filterSeparatorRE, separator);
|
||||
filterSpec.description = filterString;
|
||||
if (hideFilterDetails && openingParenPos != -1) { // Do not show pattern in description
|
||||
filterSpec.description.truncate(openingParenPos);
|
||||
while (filterSpec.description.endsWith(QLatin1Char(' ')))
|
||||
while (filterSpec.description.endsWith(u' '))
|
||||
filterSpec.description.truncate(filterSpec.description.size() - 1);
|
||||
}
|
||||
*totalStringLength += filterSpec.filter.size() + filterSpec.description.size();
|
||||
@ -1084,8 +1084,8 @@ void QWindowsNativeFileDialogBase::setNameFilters(const QStringList &filters)
|
||||
// 'AAA files (a.*) (a.*)'
|
||||
QString description = specs[i].description;
|
||||
const QString &filter = specs[i].filter;
|
||||
if (!m_hideFiltersDetails && !filter.startsWith(QLatin1String("*."))) {
|
||||
const int pos = description.lastIndexOf(QLatin1Char('('));
|
||||
if (!m_hideFiltersDetails && !filter.startsWith(u"*.")) {
|
||||
const int pos = description.lastIndexOf(u'(');
|
||||
if (pos > 0)
|
||||
description.truncate(pos);
|
||||
}
|
||||
@ -1151,8 +1151,8 @@ static bool isHexRange(const QString& s, int start, int end)
|
||||
for (;start < end; ++start) {
|
||||
QChar ch = s.at(start);
|
||||
if (!(ch.isDigit()
|
||||
|| (ch >= QLatin1Char('a') && ch <= QLatin1Char('f'))
|
||||
|| (ch >= QLatin1Char('A') && ch <= QLatin1Char('F'))))
|
||||
|| (ch >= u'a' && ch <= u'f')
|
||||
|| (ch >= u'A' && ch <= u'F')))
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@ -1161,7 +1161,7 @@ static bool isHexRange(const QString& s, int start, int end)
|
||||
static inline bool isClsid(const QString &s)
|
||||
{
|
||||
// detect "374DE290-123F-4565-9164-39C4925E467B".
|
||||
const QChar dash(QLatin1Char('-'));
|
||||
const QChar dash(u'-');
|
||||
return s.size() == 36
|
||||
&& isHexRange(s, 0, 8)
|
||||
&& s.at(8) == dash
|
||||
@ -1204,7 +1204,7 @@ void QWindowsNativeFileDialogBase::selectNameFilter(const QString &filter)
|
||||
if (index < 0) {
|
||||
qWarning("%s: Invalid parameter '%s' not found in '%s'.",
|
||||
__FUNCTION__, qPrintable(filter),
|
||||
qPrintable(m_nameFilters.join(QLatin1String(", "))));
|
||||
qPrintable(m_nameFilters.join(u", ")));
|
||||
return;
|
||||
}
|
||||
m_fileDialog->SetFileTypeIndex(index + 1); // one-based.
|
||||
@ -1313,15 +1313,15 @@ public:
|
||||
// Also handles the simple name filter case "*.txt" -> "txt"
|
||||
static inline QString suffixFromFilter(const QString &filter)
|
||||
{
|
||||
int suffixPos = filter.indexOf(QLatin1String("*."));
|
||||
int suffixPos = filter.indexOf(u"*.");
|
||||
if (suffixPos < 0)
|
||||
return QString();
|
||||
suffixPos += 2;
|
||||
int endPos = filter.indexOf(QLatin1Char(' '), suffixPos + 1);
|
||||
int endPos = filter.indexOf(u' ', suffixPos + 1);
|
||||
if (endPos < 0)
|
||||
endPos = filter.indexOf(QLatin1Char(';'), suffixPos + 1);
|
||||
endPos = filter.indexOf(u';', suffixPos + 1);
|
||||
if (endPos < 0)
|
||||
endPos = filter.indexOf(QLatin1Char(')'), suffixPos + 1);
|
||||
endPos = filter.indexOf(u')', suffixPos + 1);
|
||||
if (endPos < 0)
|
||||
endPos = filter.size();
|
||||
return filter.mid(suffixPos, endPos - suffixPos);
|
||||
@ -1406,27 +1406,27 @@ static void cleanupTemporaryItemCopies()
|
||||
|
||||
static bool validFileNameCharacter(QChar c)
|
||||
{
|
||||
return c.isLetterOrNumber() || c == QLatin1Char('_') || c == QLatin1Char('-');
|
||||
return c.isLetterOrNumber() || c == u'_' || c == u'-';
|
||||
}
|
||||
|
||||
QString tempFilePattern(QString name)
|
||||
{
|
||||
const int lastSlash = qMax(name.lastIndexOf(QLatin1Char('/')),
|
||||
name.lastIndexOf(QLatin1Char('\\')));
|
||||
const int lastSlash = qMax(name.lastIndexOf(u'/'),
|
||||
name.lastIndexOf(u'\\'));
|
||||
if (lastSlash != -1)
|
||||
name.remove(0, lastSlash + 1);
|
||||
|
||||
int lastDot = name.lastIndexOf(QLatin1Char('.'));
|
||||
int lastDot = name.lastIndexOf(u'.');
|
||||
if (lastDot < 0)
|
||||
lastDot = name.size();
|
||||
name.insert(lastDot, QStringLiteral("_XXXXXX"));
|
||||
|
||||
for (int i = lastDot - 1; i >= 0; --i) {
|
||||
if (!validFileNameCharacter(name.at(i)))
|
||||
name[i] = QLatin1Char('_');
|
||||
name[i] = u'_';
|
||||
}
|
||||
|
||||
name.prepend(QDir::tempPath() + QLatin1Char('/'));
|
||||
name.prepend(QDir::tempPath() + u'/');
|
||||
return name;
|
||||
}
|
||||
|
||||
@ -1456,7 +1456,7 @@ static QString createTemporaryItemCopy(QWindowsShellItem &qItem, QString *errorM
|
||||
static QUrl itemToDialogUrl(QWindowsShellItem &qItem, QString *errorMessage)
|
||||
{
|
||||
QUrl url = qItem.url();
|
||||
if (url.isLocalFile() || url.scheme().startsWith(QLatin1String("http")))
|
||||
if (url.isLocalFile() || url.scheme().startsWith(u"http"))
|
||||
return url;
|
||||
const QString path = qItem.path();
|
||||
if (path.isEmpty() && !qItem.isDir() && qItem.canStream()) {
|
||||
@ -1859,10 +1859,12 @@ void QWindowsXpNativeFileDialog::populateOpenFileName(OPENFILENAME *ofn, HWND ow
|
||||
// for the target. If it contains any invalid character, the dialog
|
||||
// will not show.
|
||||
ofn->nMaxFile = 65535;
|
||||
const QString initiallySelectedFile =
|
||||
QDir::toNativeSeparators(m_data.selectedFile()).remove(QLatin1Char('<')).
|
||||
remove(QLatin1Char('>')).remove(QLatin1Char('"')).remove(QLatin1Char('|'));
|
||||
ofn->lpstrFile = qStringToWCharArray(initiallySelectedFile, ofn->nMaxFile);
|
||||
QString initiallySelectedFile = m_data.selectedFile();
|
||||
initiallySelectedFile.remove(u'<');
|
||||
initiallySelectedFile.remove(u'>');
|
||||
initiallySelectedFile.remove(u'"');
|
||||
initiallySelectedFile.remove(u'|');
|
||||
ofn->lpstrFile = qStringToWCharArray(QDir::toNativeSeparators(initiallySelectedFile), ofn->nMaxFile);
|
||||
ofn->lpstrInitialDir = qStringToWCharArray(QDir::toNativeSeparators(m_data.directory().toLocalFile()));
|
||||
ofn->lpstrTitle = (wchar_t*)m_title.utf16();
|
||||
// Determine lpstrDefExt. Note that the current MSDN docs document this
|
||||
@ -1872,7 +1874,7 @@ void QWindowsXpNativeFileDialog::populateOpenFileName(OPENFILENAME *ofn, HWND ow
|
||||
// the extension of the current filter".
|
||||
if (m_options->acceptMode() == QFileDialogOptions::AcceptSave) {
|
||||
QString defaultSuffix = m_options->defaultSuffix();
|
||||
if (defaultSuffix.startsWith(QLatin1Char('.')))
|
||||
if (defaultSuffix.startsWith(u'.'))
|
||||
defaultSuffix.remove(0, 1);
|
||||
// QTBUG-33156, also create empty strings to trigger the appending mechanism.
|
||||
ofn->lpstrDefExt = qStringToWCharArray(defaultSuffix);
|
||||
@ -1905,7 +1907,7 @@ QList<QUrl> QWindowsXpNativeFileDialog::execFileNames(HWND owner, int *selectedF
|
||||
wchar_t *ptr = ofn.lpstrFile + dir.size() + 1;
|
||||
if (*ptr) {
|
||||
result.pop_front();
|
||||
const QString path = dir + QLatin1Char('/');
|
||||
const QString path = dir + u'/';
|
||||
while (*ptr) {
|
||||
const QString fileName = QString::fromWCharArray(ptr);
|
||||
result.push_back(QUrl::fromLocalFile(path + fileName));
|
||||
|
@ -88,7 +88,7 @@ static void *resolveFunc(HMODULE lib, const char *name)
|
||||
while (!proc && argSize <= 64) {
|
||||
nameStr = baseNameStr;
|
||||
if (argSize >= 0)
|
||||
nameStr += QLatin1Char('@') + QString::number(argSize);
|
||||
nameStr += u'@' + QString::number(argSize);
|
||||
argSize = argSize < 0 ? 0 : argSize + 4;
|
||||
proc = (void *) ::GetProcAddress(lib, nameStr.toLatin1().constData());
|
||||
}
|
||||
|
@ -162,7 +162,7 @@ bool parseIntOption(const QString ¶meter,const QLatin1String &option,
|
||||
IntType minimumValue, IntType maximumValue, IntType *target)
|
||||
{
|
||||
const int valueLength = parameter.size() - option.size() - 1;
|
||||
if (valueLength < 1 || !parameter.startsWith(option) || parameter.at(option.size()) != QLatin1Char('='))
|
||||
if (valueLength < 1 || !parameter.startsWith(option) || parameter.at(option.size()) != u'=')
|
||||
return false;
|
||||
bool ok;
|
||||
const QStringRef valueRef = parameter.rightRef(valueLength);
|
||||
@ -186,38 +186,38 @@ static inline unsigned parseOptions(const QStringList ¶mList,
|
||||
{
|
||||
unsigned options = 0;
|
||||
for (const QString ¶m : paramList) {
|
||||
if (param.startsWith(QLatin1String("fontengine="))) {
|
||||
if (param.endsWith(QLatin1String("freetype"))) {
|
||||
if (param.startsWith(u"fontengine=")) {
|
||||
if (param.endsWith(u"freetype")) {
|
||||
options |= QWindowsIntegration::FontDatabaseFreeType;
|
||||
} else if (param.endsWith(QLatin1String("native"))) {
|
||||
} else if (param.endsWith(u"native")) {
|
||||
options |= QWindowsIntegration::FontDatabaseNative;
|
||||
}
|
||||
} else if (param.startsWith(QLatin1String("dialogs="))) {
|
||||
if (param.endsWith(QLatin1String("xp"))) {
|
||||
} else if (param.startsWith(u"dialogs=")) {
|
||||
if (param.endsWith(u"xp")) {
|
||||
options |= QWindowsIntegration::XpNativeDialogs;
|
||||
} else if (param.endsWith(QLatin1String("none"))) {
|
||||
} else if (param.endsWith(u"none")) {
|
||||
options |= QWindowsIntegration::NoNativeDialogs;
|
||||
}
|
||||
} else if (param == QLatin1String("altgr")) {
|
||||
} else if (param == u"altgr") {
|
||||
options |= QWindowsIntegration::DetectAltGrModifier;
|
||||
} else if (param == QLatin1String("gl=gdi")) {
|
||||
} else if (param == u"gl=gdi") {
|
||||
options |= QWindowsIntegration::DisableArb;
|
||||
} else if (param == QLatin1String("nodirectwrite")) {
|
||||
} else if (param == u"nodirectwrite") {
|
||||
options |= QWindowsIntegration::DontUseDirectWriteFonts;
|
||||
} else if (param == QLatin1String("nocolorfonts")) {
|
||||
} else if (param == u"nocolorfonts") {
|
||||
options |= QWindowsIntegration::DontUseColorFonts;
|
||||
} else if (param == QLatin1String("nomousefromtouch")) {
|
||||
} else if (param == u"nomousefromtouch") {
|
||||
options |= QWindowsIntegration::DontPassOsMouseEventsSynthesizedFromTouch;
|
||||
} else if (parseIntOption(param, QLatin1String("verbose"), 0, INT_MAX, &QWindowsContext::verbose)
|
||||
|| parseIntOption(param, QLatin1String("tabletabsoluterange"), 0, INT_MAX, tabletAbsoluteRange)
|
||||
|| parseIntOption(param, QLatin1String("dpiawareness"), QtWindows::ProcessDpiUnaware, QtWindows::ProcessPerMonitorDpiAware, dpiAwareness)) {
|
||||
} else if (param == QLatin1String("menus=native")) {
|
||||
} else if (param == u"menus=native") {
|
||||
options |= QWindowsIntegration::AlwaysUseNativeMenus;
|
||||
} else if (param == QLatin1String("menus=none")) {
|
||||
} else if (param == u"menus=none") {
|
||||
options |= QWindowsIntegration::NoNativeMenus;
|
||||
} else if (param == QLatin1String("nowmpointer")) {
|
||||
} else if (param == u"nowmpointer") {
|
||||
options |= QWindowsIntegration::DontUseWMPointer;
|
||||
} else if (param == QLatin1String("reverse")) {
|
||||
} else if (param == u"reverse") {
|
||||
options |= QWindowsIntegration::RtlEnabled;
|
||||
} else {
|
||||
qWarning() << "Unknown option" << param;
|
||||
|
@ -445,7 +445,7 @@ QString QWindowsMenuItem::nativeText() const
|
||||
QString result = m_text;
|
||||
#if QT_CONFIG(shortcut)
|
||||
if (!m_shortcut.isEmpty()) {
|
||||
result += QLatin1Char('\t');
|
||||
result += u'\t';
|
||||
result += m_shortcut.toString(QKeySequence::NativeText);
|
||||
}
|
||||
#endif
|
||||
|
@ -635,11 +635,11 @@ bool QWindowsMimeText::convertFromMime(const FORMATETC &formatetc, const QMimeDa
|
||||
int ri = 0;
|
||||
bool cr = false;
|
||||
for (int i=0; i < s; ++i) {
|
||||
if (*u == QLatin1Char('\r'))
|
||||
if (*u == u'\r')
|
||||
cr = true;
|
||||
else {
|
||||
if (*u == QLatin1Char('\n') && !cr)
|
||||
res[ri++] = QLatin1Char('\r');
|
||||
if (*u == u'\n' && !cr)
|
||||
res[ri++] = u'\r';
|
||||
cr = false;
|
||||
}
|
||||
res[ri++] = *u;
|
||||
@ -663,7 +663,7 @@ bool QWindowsMimeText::convertFromMime(const FORMATETC &formatetc, const QMimeDa
|
||||
|
||||
bool QWindowsMimeText::canConvertToMime(const QString &mimeType, IDataObject *pDataObj) const
|
||||
{
|
||||
return mimeType.startsWith(QLatin1String("text/plain"))
|
||||
return mimeType.startsWith(u"text/plain")
|
||||
&& (canGetData(CF_UNICODETEXT, pDataObj)
|
||||
|| canGetData(CF_TEXT, pDataObj));
|
||||
}
|
||||
@ -680,7 +680,7 @@ QString QWindowsMimeText::mimeForFormat(const FORMATETC &formatetc) const
|
||||
QVector<FORMATETC> QWindowsMimeText::formatsForMime(const QString &mimeType, const QMimeData *mimeData) const
|
||||
{
|
||||
QVector<FORMATETC> formatics;
|
||||
if (mimeType.startsWith(QLatin1String("text/plain")) && mimeData->hasText()) {
|
||||
if (mimeType.startsWith(u"text/plain") && mimeData->hasText()) {
|
||||
formatics += setCf(CF_UNICODETEXT);
|
||||
formatics += setCf(CF_TEXT);
|
||||
}
|
||||
@ -816,7 +816,7 @@ bool QWindowsMimeURI::convertFromMime(const FORMATETC &formatetc, const QMimeDat
|
||||
|
||||
bool QWindowsMimeURI::canConvertToMime(const QString &mimeType, IDataObject *pDataObj) const
|
||||
{
|
||||
return mimeType == QLatin1String("text/uri-list")
|
||||
return mimeType == u"text/uri-list"
|
||||
&& (canGetData(CF_HDROP, pDataObj) || canGetData(CF_INETURL_W, pDataObj) || canGetData(CF_INETURL, pDataObj));
|
||||
}
|
||||
|
||||
@ -831,7 +831,7 @@ QString QWindowsMimeURI::mimeForFormat(const FORMATETC &formatetc) const
|
||||
QVector<FORMATETC> QWindowsMimeURI::formatsForMime(const QString &mimeType, const QMimeData *mimeData) const
|
||||
{
|
||||
QVector<FORMATETC> formatics;
|
||||
if (mimeType == QLatin1String("text/uri-list")) {
|
||||
if (mimeType == u"text/uri-list") {
|
||||
if (canConvertFromMime(setCf(CF_HDROP), mimeData))
|
||||
formatics += setCf(CF_HDROP);
|
||||
if (canConvertFromMime(setCf(CF_INETURL_W), mimeData))
|
||||
@ -844,7 +844,7 @@ QVector<FORMATETC> QWindowsMimeURI::formatsForMime(const QString &mimeType, cons
|
||||
|
||||
QVariant QWindowsMimeURI::convertToMime(const QString &mimeType, LPDATAOBJECT pDataObj, QVariant::Type preferredType) const
|
||||
{
|
||||
if (mimeType == QLatin1String("text/uri-list")) {
|
||||
if (mimeType == u"text/uri-list") {
|
||||
if (canGetData(CF_HDROP, pDataObj)) {
|
||||
QList<QVariant> urls;
|
||||
|
||||
@ -916,7 +916,7 @@ QWindowsMimeHtml::QWindowsMimeHtml()
|
||||
QVector<FORMATETC> QWindowsMimeHtml::formatsForMime(const QString &mimeType, const QMimeData *mimeData) const
|
||||
{
|
||||
QVector<FORMATETC> formatetcs;
|
||||
if (mimeType == QLatin1String("text/html") && (!mimeData->html().isEmpty()))
|
||||
if (mimeType == u"text/html" && (!mimeData->html().isEmpty()))
|
||||
formatetcs += setCf(CF_HTML);
|
||||
return formatetcs;
|
||||
}
|
||||
@ -930,7 +930,7 @@ QString QWindowsMimeHtml::mimeForFormat(const FORMATETC &formatetc) const
|
||||
|
||||
bool QWindowsMimeHtml::canConvertToMime(const QString &mimeType, IDataObject *pDataObj) const
|
||||
{
|
||||
return mimeType == QLatin1String("text/html") && canGetData(CF_HTML, pDataObj);
|
||||
return mimeType == u"text/html" && canGetData(CF_HTML, pDataObj);
|
||||
}
|
||||
|
||||
|
||||
@ -1053,7 +1053,7 @@ QWindowsMimeImage::QWindowsMimeImage()
|
||||
QVector<FORMATETC> QWindowsMimeImage::formatsForMime(const QString &mimeType, const QMimeData *mimeData) const
|
||||
{
|
||||
QVector<FORMATETC> formatetcs;
|
||||
if (mimeData->hasImage() && mimeType == QLatin1String("application/x-qt-image")) {
|
||||
if (mimeData->hasImage() && mimeType == u"application/x-qt-image") {
|
||||
//add DIBV5 if image has alpha channel. Do not add CF_PNG here as it will confuse MS Office (QTBUG47656).
|
||||
auto image = qvariant_cast<QImage>(mimeData->imageData());
|
||||
if (!image.isNull() && image.hasAlphaChannel())
|
||||
@ -1075,7 +1075,7 @@ QString QWindowsMimeImage::mimeForFormat(const FORMATETC &formatetc) const
|
||||
|
||||
bool QWindowsMimeImage::canConvertToMime(const QString &mimeType, IDataObject *pDataObj) const
|
||||
{
|
||||
return mimeType == QLatin1String("application/x-qt-image")
|
||||
return mimeType == u"application/x-qt-image"
|
||||
&& (canGetData(CF_DIB, pDataObj) || canGetData(CF_PNG, pDataObj));
|
||||
}
|
||||
|
||||
@ -1149,7 +1149,7 @@ QVariant QWindowsMimeImage::convertToMime(const QString &mimeType, IDataObject *
|
||||
{
|
||||
Q_UNUSED(preferredType);
|
||||
QVariant result;
|
||||
if (mimeType != QLatin1String("application/x-qt-image"))
|
||||
if (mimeType != u"application/x-qt-image")
|
||||
return result;
|
||||
//Try to convert from a format which has more data
|
||||
//DIBV5, use only if its is not synthesized
|
||||
@ -1220,7 +1220,7 @@ bool QBuiltInMimes::convertFromMime(const FORMATETC &formatetc, const QMimeData
|
||||
{
|
||||
if (canConvertFromMime(formatetc, mimeData)) {
|
||||
QByteArray data;
|
||||
if (outFormats.value(getCf(formatetc)) == QLatin1String("text/html")) {
|
||||
if (outFormats.value(getCf(formatetc)) == u"text/html") {
|
||||
// text/html is in wide chars on windows (compatible with mozillia)
|
||||
QString html = mimeData->html();
|
||||
// same code as in the text converter up above
|
||||
@ -1232,11 +1232,11 @@ bool QBuiltInMimes::convertFromMime(const FORMATETC &formatetc, const QMimeData
|
||||
int ri = 0;
|
||||
bool cr = false;
|
||||
for (int i=0; i < s; ++i) {
|
||||
if (*u == QLatin1Char('\r'))
|
||||
if (*u == u'\r')
|
||||
cr = true;
|
||||
else {
|
||||
if (*u == QLatin1Char('\n') && !cr)
|
||||
res[ri++] = QLatin1Char('\r');
|
||||
if (*u == u'\n' && !cr)
|
||||
res[ri++] = u'\r';
|
||||
cr = false;
|
||||
}
|
||||
res[ri++] = *u;
|
||||
@ -1285,7 +1285,7 @@ QVariant QBuiltInMimes::convertToMime(const QString &mimeType, IDataObject *pDat
|
||||
QByteArray data = getData(inFormats.key(mimeType), pDataObj);
|
||||
if (!data.isEmpty()) {
|
||||
qCDebug(lcQpaMime) << __FUNCTION__;
|
||||
if (mimeType == QLatin1String("text/html") && preferredType == QVariant::String) {
|
||||
if (mimeType == u"text/html" && preferredType == QVariant::String) {
|
||||
// text/html is in wide chars on windows (compatible with Mozilla)
|
||||
val = QString::fromWCharArray(reinterpret_cast<const wchar_t *>(data.constData()));
|
||||
} else {
|
||||
@ -1404,12 +1404,12 @@ static bool isCustomMimeType(const QString &mimeType)
|
||||
static QString customMimeType(const QString &mimeType, int *lindex = nullptr)
|
||||
{
|
||||
int len = sizeof(x_qt_windows_mime) - 1;
|
||||
int n = mimeType.lastIndexOf(QLatin1Char('\"')) - len;
|
||||
int n = mimeType.lastIndexOf(u'\"') - len;
|
||||
QString ret = mimeType.mid(len, n);
|
||||
|
||||
const int beginPos = mimeType.indexOf(QLatin1String(";index="));
|
||||
const int beginPos = mimeType.indexOf(u";index=");
|
||||
if (beginPos > -1) {
|
||||
const int endPos = mimeType.indexOf(QLatin1Char(';'), beginPos + 1);
|
||||
const int endPos = mimeType.indexOf(u';', beginPos + 1);
|
||||
const int indexStartPos = beginPos + 7;
|
||||
if (lindex)
|
||||
*lindex = mimeType.midRef(indexStartPos, endPos == -1 ? endPos : endPos - indexStartPos).toInt();
|
||||
@ -1480,7 +1480,7 @@ QString QLastResortMimes::mimeForFormat(const FORMATETC &formatetc) const
|
||||
}
|
||||
}
|
||||
if (!ianaType)
|
||||
format = QLatin1String(x_qt_windows_mime) + clipFormat + QLatin1Char('\"');
|
||||
format = QLatin1String(x_qt_windows_mime) + clipFormat + u'"';
|
||||
else
|
||||
format = clipFormat;
|
||||
}
|
||||
|
@ -206,7 +206,7 @@ QString GpuDescription::toString() const
|
||||
str << " Card name : " << description
|
||||
<< "\n Driver Name : " << driverName
|
||||
<< "\n Driver Version : " << driverVersion.toString()
|
||||
<< "\n Vendor ID : 0x" << qSetPadChar(QLatin1Char('0'))
|
||||
<< "\n Vendor ID : 0x" << qSetPadChar(u'0')
|
||||
<< Qt::uppercasedigits << Qt::hex << qSetFieldWidth(4) << vendorId
|
||||
<< "\n Device ID : 0x" << qSetFieldWidth(4) << deviceId
|
||||
<< "\n SubSys ID : 0x" << qSetFieldWidth(8) << subSysId
|
||||
@ -285,7 +285,7 @@ static inline QString resolveBugListFile(const QString &fileName)
|
||||
// then resolve via QStandardPaths::ConfigLocation.
|
||||
const QString settingsPath = QLibraryInfo::location(QLibraryInfo::SettingsPath);
|
||||
if (!settingsPath.isEmpty()) { // SettingsPath is empty unless specified in qt.conf.
|
||||
const QFileInfo fi(settingsPath + QLatin1Char('/') + fileName);
|
||||
const QFileInfo fi(settingsPath + u'/' + fileName);
|
||||
if (fi.isFile())
|
||||
return fi.absoluteFilePath();
|
||||
}
|
||||
|
@ -87,7 +87,7 @@ static bool monitorData(HMONITOR hMonitor, QWindowsScreenData *data)
|
||||
data->geometry = QRect(QPoint(info.rcMonitor.left, info.rcMonitor.top), QPoint(info.rcMonitor.right - 1, info.rcMonitor.bottom - 1));
|
||||
data->availableGeometry = QRect(QPoint(info.rcWork.left, info.rcWork.top), QPoint(info.rcWork.right - 1, info.rcWork.bottom - 1));
|
||||
data->name = QString::fromWCharArray(info.szDevice);
|
||||
if (data->name == QLatin1String("WinDisc")) {
|
||||
if (data->name == u"WinDisc") {
|
||||
data->flags |= QWindowsScreenData::LockScreen;
|
||||
} else {
|
||||
if (const HDC hdc = CreateDC(info.szDevice, nullptr, nullptr, nullptr)) {
|
||||
|
@ -92,7 +92,7 @@ static inline QString mailCommand()
|
||||
// "rundll32.exe .. url.dll,MailToProtocolHandler %l" is returned. Launching it
|
||||
// silently fails or brings up a broken dialog after a long time, so exclude it and
|
||||
// fall back to ShellExecute() which brings up the URL assocation dialog.
|
||||
if (command.isEmpty() || command.contains(QLatin1String(",MailToProtocolHandler")))
|
||||
if (command.isEmpty() || command.contains(u",MailToProtocolHandler"))
|
||||
return QString();
|
||||
wchar_t expandedCommand[MAX_PATH] = {0};
|
||||
return ExpandEnvironmentStrings(reinterpret_cast<const wchar_t *>(command.utf16()),
|
||||
@ -108,7 +108,7 @@ static inline bool launchMail(const QUrl &url)
|
||||
return false;
|
||||
}
|
||||
//Make sure the path for the process is in quotes
|
||||
const QChar doubleQuote = QLatin1Char('"');
|
||||
const QChar doubleQuote = u'"';
|
||||
if (!command.startsWith(doubleQuote)) {
|
||||
const int exeIndex = command.indexOf(QStringLiteral(".exe "), 0, Qt::CaseInsensitive);
|
||||
if (exeIndex != -1) {
|
||||
@ -140,7 +140,7 @@ static inline bool launchMail(const QUrl &url)
|
||||
bool QWindowsServices::openUrl(const QUrl &url)
|
||||
{
|
||||
const QString scheme = url.scheme();
|
||||
if (scheme == QLatin1String("mailto") && launchMail(url))
|
||||
if (scheme == u"mailto" && launchMail(url))
|
||||
return true;
|
||||
return shellExecute(url);
|
||||
}
|
||||
|
@ -261,7 +261,7 @@ void QWindowsSystemTrayIcon::showMessage(const QString &title, const QString &me
|
||||
// For empty messages, ensures that they show when only title is set
|
||||
QString message = messageIn;
|
||||
if (message.isEmpty() && !title.isEmpty())
|
||||
message.append(QLatin1Char(' '));
|
||||
message.append(u' ');
|
||||
|
||||
NOTIFYICONDATA tnd;
|
||||
initNotifyIconData(tnd);
|
||||
|
@ -96,7 +96,7 @@ static inline QTextStream& operator<<(QTextStream &str, const QColor &c)
|
||||
{
|
||||
str.setIntegerBase(16);
|
||||
str.setFieldWidth(2);
|
||||
str.setPadChar(QLatin1Char('0'));
|
||||
str.setPadChar(u'0');
|
||||
str << " rgb: #" << c.red() << c.green() << c.blue();
|
||||
str.setIntegerBase(10);
|
||||
str.setFieldWidth(0);
|
||||
@ -731,13 +731,13 @@ static QString dirIconPixmapCacheKey(int iIcon, int iconSize, int imageListSize)
|
||||
{
|
||||
QString key = QLatin1String("qt_dir_") + QString::number(iIcon);
|
||||
if (iconSize == SHGFI_LARGEICON)
|
||||
key += QLatin1Char('l');
|
||||
key += u'l';
|
||||
switch (imageListSize) {
|
||||
case sHIL_EXTRALARGE:
|
||||
key += QLatin1Char('e');
|
||||
key += u'e';
|
||||
break;
|
||||
case sHIL_JUMBO:
|
||||
key += QLatin1Char('j');
|
||||
key += u'j';
|
||||
break;
|
||||
}
|
||||
return key;
|
||||
@ -815,9 +815,9 @@ QString QWindowsFileIconEngine::cacheKey() const
|
||||
// It is faster to just look at the file extensions;
|
||||
// avoiding slow QFileInfo::isExecutable() (QTBUG-13182)
|
||||
QString suffix = fileInfo().suffix();
|
||||
if (!suffix.compare(QLatin1String("exe"), Qt::CaseInsensitive)
|
||||
|| !suffix.compare(QLatin1String("lnk"), Qt::CaseInsensitive)
|
||||
|| !suffix.compare(QLatin1String("ico"), Qt::CaseInsensitive)) {
|
||||
if (!suffix.compare(u"exe", Qt::CaseInsensitive)
|
||||
|| !suffix.compare(u"lnk", Qt::CaseInsensitive)
|
||||
|| !suffix.compare(u"ico", Qt::CaseInsensitive)) {
|
||||
return QString();
|
||||
}
|
||||
return QLatin1String("qt_.")
|
||||
|
@ -253,7 +253,7 @@ QDebug operator<<(QDebug d, const GUID &guid)
|
||||
{
|
||||
QDebugStateSaver saver(d);
|
||||
d.nospace();
|
||||
d << '{' << Qt::hex << Qt::uppercasedigits << qSetPadChar(QLatin1Char('0'))
|
||||
d << '{' << Qt::hex << Qt::uppercasedigits << qSetPadChar(u'0')
|
||||
<< qSetFieldWidth(8) << guid.Data1
|
||||
<< qSetFieldWidth(0) << '-' << qSetFieldWidth(4)
|
||||
<< guid.Data2 << qSetFieldWidth(0) << '-' << qSetFieldWidth(4)
|
||||
|
@ -473,7 +473,7 @@ QString QWindowsUiaMainProvider::automationIdForAccessible(const QAccessibleInte
|
||||
if (name.isEmpty())
|
||||
return QString();
|
||||
if (!result.isEmpty())
|
||||
result.prepend(QLatin1Char('.'));
|
||||
result.prepend(u'.');
|
||||
result.prepend(name);
|
||||
obj = obj->parent();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user