From cd9cbc34db2fc27ba505b68af6f6418642058839 Mon Sep 17 00:00:00 2001 From: Sona Kurazyan Date: Thu, 14 Apr 2022 10:21:11 +0200 Subject: uic: replace QLatin1String uses with _L1 or _s Task-number: QTBUG-98434 Change-Id: I5a9b01d1dd2a2a727cfb71e829dbf631bf25e2db Reviewed-by: Friedemann Kleint Reviewed-by: Marc Mutz --- src/tools/uic/cpp/cppwritedeclaration.cpp | 14 +- src/tools/uic/cpp/cppwriteincludes.cpp | 12 +- src/tools/uic/cpp/cppwriteinitialization.cpp | 373 ++++++++++++------------ src/tools/uic/customwidgetsinfo.cpp | 4 +- src/tools/uic/databaseinfo.cpp | 6 +- src/tools/uic/driver.cpp | 10 +- src/tools/uic/main.cpp | 8 +- src/tools/uic/python/pythonwritedeclaration.cpp | 4 +- src/tools/uic/python/pythonwriteimports.cpp | 10 +- src/tools/uic/shared/language.cpp | 42 +-- src/tools/uic/uic.cpp | 29 +- 11 files changed, 264 insertions(+), 248 deletions(-) diff --git a/src/tools/uic/cpp/cppwritedeclaration.cpp b/src/tools/uic/cpp/cppwritedeclaration.cpp index 9bdfc8ca5c..2ea7294488 100644 --- a/src/tools/uic/cpp/cppwritedeclaration.cpp +++ b/src/tools/uic/cpp/cppwritedeclaration.cpp @@ -39,6 +39,8 @@ QT_BEGIN_NAMESPACE +using namespace Qt::StringLiterals; + namespace { void openNameSpaces(const QStringList &namespaceList, QTextStream &output) { @@ -77,7 +79,7 @@ void WriteDeclaration::acceptUI(DomUI *node) if (!exportMacro.isEmpty()) exportMacro.append(u' '); - QStringList namespaceList = qualifiedClassName.split(QLatin1String("::")); + QStringList namespaceList = qualifiedClassName.split("::"_L1); if (namespaceList.count()) { className = namespaceList.last(); namespaceList.removeLast(); @@ -89,7 +91,7 @@ void WriteDeclaration::acceptUI(DomUI *node) // In this case the generated Ui helper classes will also end up in // the Qt namespace (which is harmless, but not "pretty") const bool needsMacro = namespaceList.count() == 0 - || namespaceList[0] == QLatin1String("qdesigner_internal"); + || namespaceList[0] == "qdesigner_internal"_L1; if (needsMacro) m_output << "QT_BEGIN_NAMESPACE\n\n"; @@ -105,7 +107,7 @@ void WriteDeclaration::acceptUI(DomUI *node) const QStringList connections = m_uic->databaseInfo()->connections(); for (const QString &connection : connections) { - if (connection != QLatin1String("(default)")) + if (connection != "(default)"_L1) m_output << m_option.indent << "QSqlDatabase " << connection << "Connection;\n"; } @@ -125,7 +127,7 @@ void WriteDeclaration::acceptUI(DomUI *node) m_output << "\n"; if (m_option.generateNamespace && !m_option.prefix.isEmpty()) { - namespaceList.append(QLatin1String("Ui")); + namespaceList.append("Ui"_L1); openNameSpaces(namespaceList, m_output); @@ -143,7 +145,7 @@ void WriteDeclaration::acceptUI(DomUI *node) void WriteDeclaration::acceptWidget(DomWidget *node) { - QString className = QLatin1String("QWidget"); + QString className = "QWidget"_L1; if (node->hasAttributeClass()) className = node->attributeClass(); @@ -160,7 +162,7 @@ void WriteDeclaration::acceptSpacer(DomSpacer *node) void WriteDeclaration::acceptLayout(DomLayout *node) { - QString className = QLatin1String("QLayout"); + QString className = "QLayout"_L1; if (node->hasAttributeClass()) className = node->attributeClass(); diff --git a/src/tools/uic/cpp/cppwriteincludes.cpp b/src/tools/uic/cpp/cppwriteincludes.cpp index 9ead840c4d..870f24bcbf 100644 --- a/src/tools/uic/cpp/cppwriteincludes.cpp +++ b/src/tools/uic/cpp/cppwriteincludes.cpp @@ -40,6 +40,8 @@ QT_BEGIN_NAMESPACE +using namespace Qt::StringLiterals; + enum { debugWriteIncludes = 0 }; enum { warnHeaderGeneration = 0 }; @@ -60,7 +62,7 @@ WriteIncludes::WriteIncludes(Uic *uic) : WriteIncludesBase(uic), // When possible (no namespace) use the "QtModule/QClass" convention // and create a re-mapping of the old header "qclass.h" to it. Do not do this // for the "Phonon::Someclass" classes, however. - const QString namespaceDelimiter = QLatin1String("::"); + const QString namespaceDelimiter = "::"_L1; for (const auto &e : classInfoEntries()) { const QString klass = QLatin1String(e.klass); const QString module = QLatin1String(e.module); @@ -113,7 +115,7 @@ void WriteIncludes::insertIncludeForClass(const QString &className, QString head // Quick check by class name to detect includehints provided for custom widgets. // Remove namespaces QString lowerClassName = className.toLower(); - static const QString namespaceSeparator = QLatin1String("::"); + static const QString namespaceSeparator = "::"_L1; const int namespaceIndex = lowerClassName.lastIndexOf(namespaceSeparator); if (namespaceIndex != -1) lowerClassName.remove(0, namespaceIndex + namespaceSeparator.size()); @@ -126,7 +128,7 @@ void WriteIncludes::insertIncludeForClass(const QString &className, QString head if (!uic()->option().implicitIncludes) break; header = lowerClassName; - header += QLatin1String(".h"); + header += ".h"_L1; if (warnHeaderGeneration) { qWarning("%s: Warning: generated header '%s' for class '%s'.", qPrintable(uic()->option().messagePrefix()), @@ -157,7 +159,7 @@ void WriteIncludes::addCppCustomWidget(const QString &className, const DomCustom QString header; bool global = false; if (!m_classToHeader.contains(className)) { - global = domHeader->attributeLocation().toLower() == QLatin1String("global"); + global = domHeader->attributeLocation().toLower() == "global"_L1; header = domHeader->text(); } insertIncludeForClass(className, header, global); @@ -169,7 +171,7 @@ void WriteIncludes::acceptInclude(DomInclude *node) { bool global = true; if (node->hasAttributeLocation()) - global = node->attributeLocation() == QLatin1String("global"); + global = node->attributeLocation() == "global"_L1; insertInclude(node->text(), global); } diff --git a/src/tools/uic/cpp/cppwriteinitialization.cpp b/src/tools/uic/cpp/cppwriteinitialization.cpp index 89acd4b4c5..834b50e16b 100644 --- a/src/tools/uic/cpp/cppwriteinitialization.cpp +++ b/src/tools/uic/cpp/cppwriteinitialization.cpp @@ -46,11 +46,13 @@ QT_BEGIN_NAMESPACE +using namespace Qt::StringLiterals; + namespace { // figure out the toolbar area of a DOM attrib list. // By legacy, it is stored as an integer. As of 4.3.0, it is the enumeration value. QString toolBarAreaStringFromDOMAttributes(const CPP::WriteInitialization::DomPropertyMap &attributes) { - const DomProperty *pstyle = attributes.value(QLatin1String("toolBarArea")); + const DomProperty *pstyle = attributes.value("toolBarArea"_L1); QString result; if (!pstyle) return result; @@ -64,9 +66,9 @@ namespace { default: break; } - if (!result.startsWith(QLatin1String("Qt::"))) - result.prepend(QLatin1String("Qt::")); - return result + QLatin1String(", "); + if (!result.startsWith("Qt::"_L1)) + result.prepend("Qt::"_L1); + return result + ", "_L1; } // Write a statement to create a spacer item. @@ -76,7 +78,7 @@ namespace { int w = 0; int h = 0; - if (const DomProperty *sh = properties.value(QLatin1String("sizeHint"))) { + if (const DomProperty *sh = properties.value("sizeHint"_L1)) { if (const DomSize *sizeHint = sh->elementSize()) { w = sizeHint->elementWidth(); h = sizeHint->elementHeight(); @@ -86,25 +88,25 @@ namespace { // size type QString sizeType; - if (const DomProperty *st = properties.value(QLatin1String("sizeType"))) { + if (const DomProperty *st = properties.value("sizeType"_L1)) { const QString value = st->elementEnum(); - if (value.startsWith(QLatin1String("QSizePolicy::"))) + if (value.startsWith("QSizePolicy::"_L1)) sizeType = value; else - sizeType = QLatin1String("QSizePolicy::") + value; + sizeType = "QSizePolicy::"_L1 + value; } else { sizeType = QStringLiteral("QSizePolicy::Expanding"); } // orientation bool isVspacer = false; - if (const DomProperty *o = properties.value(QLatin1String("orientation"))) { + if (const DomProperty *o = properties.value("orientation"_L1)) { const QString orientation = o->elementEnum(); - if (orientation == QLatin1String("Qt::Vertical") || orientation == QLatin1String("Vertical")) + if (orientation == "Qt::Vertical"_L1 || orientation == "Vertical"_L1) isVspacer = true; } - const QString horizType = isVspacer ? QLatin1String("QSizePolicy::Minimum") : sizeType; - const QString vertType = isVspacer ? sizeType : QLatin1String("QSizePolicy::Minimum"); + const QString horizType = isVspacer ? "QSizePolicy::Minimum"_L1 : sizeType; + const QString vertType = isVspacer ? sizeType : "QSizePolicy::Minimum"_L1; output << language::enumValue(horizType) << ", " << language::enumValue(vertType) << ')'; } @@ -146,7 +148,7 @@ namespace { if (p->attributeName() == u"features" && customWidgetsInfo->extends(className, "QDockWidget") && p->elementSet() == u"QDockWidget::AllDockWidgetFeatures") { - const QString msg = fileName + QLatin1String(": Warning: Deprecated enum value QDockWidget::AllDockWidgetFeatures was encountered."); + const QString msg = fileName + ": Warning: Deprecated enum value QDockWidget::AllDockWidgetFeatures was encountered."_L1; qWarning("%s", qPrintable(msg)); return false; } @@ -155,7 +157,7 @@ namespace { if (p->attributeName() == u"sizeAdjustPolicy" && customWidgetsInfo->extends(className, "QComboBox") && p->elementEnum() == u"QComboBox::AdjustToMinimumContentsLength") { - const QString msg = fileName + QLatin1String(": Warning: Deprecated enum value QComboBox::AdjustToMinimumContentsLength was encountered."); + const QString msg = fileName + ": Warning: Deprecated enum value QComboBox::AdjustToMinimumContentsLength was encountered."_L1; qWarning("%s", qPrintable(msg)); return false; } @@ -388,12 +390,12 @@ void WriteInitialization::LayoutDefaultHandler::acceptLayoutFunction(DomLayoutFu if (node->hasAttributeMargin()) { m_state[Margin] |= HasDefaultFunction; m_functions[Margin] = node->attributeMargin(); - m_functions[Margin] += QLatin1String("()"); + m_functions[Margin] += "()"_L1; } if (node->hasAttributeSpacing()) { m_state[Spacing] |= HasDefaultFunction; m_functions[Spacing] = node->attributeSpacing(); - m_functions[Spacing] += QLatin1String("()"); + m_functions[Spacing] += "()"_L1; } } @@ -401,7 +403,7 @@ static inline void writeContentsMargins(const QString &indent, const QString &ob { QString contentsMargins; QTextStream(&contentsMargins) << value << ", " << value << ", " << value << ", " << value; - writeSetter(indent, objectName, QLatin1String("setContentsMargins"), contentsMargins, str); + writeSetter(indent, objectName, "setContentsMargins"_L1, contentsMargins, str); } void WriteInitialization::LayoutDefaultHandler::writeProperty(int p, const QString &indent, const QString &objectName, @@ -455,11 +457,11 @@ void WriteInitialization::LayoutDefaultHandler::writeProperties(const QString &i // Write out properties and ignore the ones found in // subsequent writing of the property list. int defaultSpacing = marginType == WriteInitialization::Use43UiFile ? -1 : 6; - writeProperty(Spacing, indent, varName, properties, QLatin1String("spacing"), QLatin1String("setSpacing"), + writeProperty(Spacing, indent, varName, properties, "spacing"_L1, "setSpacing"_L1, defaultSpacing, false, str); // We use 9 as TopLevelMargin, since Designer seem to always use 9. static const int layoutmargins[4] = {-1, 9, 9, 0}; - writeProperty(Margin, indent, varName, properties, QLatin1String("margin"), QLatin1String("setMargin"), + writeProperty(Margin, indent, varName, properties, "margin"_L1, "setMargin"_L1, layoutmargins[marginType], suppressMarginDefault, str); } @@ -518,16 +520,16 @@ void WriteInitialization::acceptUI(DomUI *node) const QString widgetClassName = node->elementWidget()->attributeClass(); - const QString parameterType = widgetClassName + QLatin1String(" *"); + const QString parameterType = widgetClassName + " *"_L1; m_output << m_option.indent << language::startFunctionDefinition1("setupUi", parameterType, varName, m_option.indent); const QStringList connections = m_uic->databaseInfo()->connections(); for (const auto &connection : connections) { - if (connection == QLatin1String("(default)")) + if (connection == "(default)"_L1) continue; - const QString varConn = connection + QLatin1String("Connection"); + const QString varConn = connection + "Connection"_L1; m_output << m_indent << varConn << " = QSqlDatabase::database(" << language::charliteral(connection, m_dindent) << ")" << language::eol; } @@ -577,13 +579,13 @@ void WriteInitialization::acceptUI(DomUI *node) if (language::language() == Language::Cpp) { // Mark varName as unused to avoid compiler warnings. m_refreshInitialization += m_indent; - m_refreshInitialization += QLatin1String("(void)"); + m_refreshInitialization += "(void)"_L1; m_refreshInitialization += varName ; m_refreshInitialization += language::eol; } else if (language::language() == Language::Python) { // output a 'pass' to have an empty function m_refreshInitialization += m_indent; - m_refreshInitialization += QLatin1String("pass"); + m_refreshInitialization += "pass"_L1; m_refreshInitialization += language::eol; } } @@ -606,7 +608,7 @@ void WriteInitialization::addWizardPage(const QString &pageVarName, const DomWid const auto &attributes = page->elementAttribute(); if (!attributes.empty()) { for (const DomProperty *p : attributes) { - if (p->attributeName() == QLatin1String("pageId")) { + if (p->attributeName() == "pageId"_L1) { if (const DomString *ds = p->elementString()) id = ds->text(); break; @@ -674,10 +676,10 @@ void WriteInitialization::acceptWidget(DomWidget *node) m_layoutChain.push(nullptr); m_layoutWidget = false; - if (className == QLatin1String("QWidget") && !node->hasAttributeNative()) { + if (className == "QWidget"_L1 && !node->hasAttributeNative()) { if (const DomWidget* parentWidget = m_widgetChain.top()) { const QString parentClass = parentWidget->attributeClass(); - if (parentClass != QLatin1String("QMainWindow") + if (parentClass != "QMainWindow"_L1 && !m_uic->customWidgetsInfo()->isCustomWidgetContainer(parentClass) && !m_uic->isContainer(parentClass)) m_layoutWidget = true; @@ -692,7 +694,7 @@ void WriteInitialization::acceptWidget(DomWidget *node) const DomPropertyMap attributes = propertyMap(node->elementAttribute()); - const QString pageDefaultString = QLatin1String("Page"); + const QString pageDefaultString = "Page"_L1; if (cwi->extends(parentClass, "QMainWindow")) { if (cwi->extends(className, "QMenuBar")) { @@ -703,8 +705,8 @@ void WriteInitialization::acceptWidget(DomWidget *node) << language::enumValue(toolBarAreaStringFromDOMAttributes(attributes)) << varName << ')' << language::eol; - if (const DomProperty *pbreak = attributes.value(QLatin1String("toolBarBreak"))) { - if (pbreak->elementBool() == QLatin1String("true")) { + if (const DomProperty *pbreak = attributes.value("toolBarBreak"_L1)) { + if (pbreak->elementBool() == "true"_L1) { m_output << m_indent << parentWidget << language::derefPointer << "insertToolBarBreak(" << varName << ')' << language::eol; } @@ -712,7 +714,7 @@ void WriteInitialization::acceptWidget(DomWidget *node) } else if (cwi->extends(className, "QDockWidget")) { m_output << m_indent << parentWidget << language::derefPointer << "addDockWidget("; - if (DomProperty *pstyle = attributes.value(QLatin1String("dockWidgetArea"))) { + if (DomProperty *pstyle = attributes.value("dockWidgetArea"_L1)) { m_output << "Qt" << language::qualifier << language::dockWidgetArea(pstyle->elementNumber()) << ", "; } @@ -736,11 +738,11 @@ void WriteInitialization::acceptWidget(DomWidget *node) } else if (m_uic->customWidgetsInfo()->extends(parentClass, "QWizard")) { addWizardPage(varName, node, parentWidget); } else if (m_uic->customWidgetsInfo()->extends(parentClass, "QToolBox")) { - const DomProperty *plabel = attributes.value(QLatin1String("label")); + const DomProperty *plabel = attributes.value("label"_L1); DomString *plabelString = plabel ? plabel->elementString() : nullptr; QString icon; - if (const DomProperty *picon = attributes.value(QLatin1String("icon"))) - icon = QLatin1String(", ") + iconCall(picon); // Side effect: Writes icon definition + if (const DomProperty *picon = attributes.value("icon"_L1)) + icon = ", "_L1 + iconCall(picon); // Side effect: Writes icon definition m_output << m_indent << parentWidget << language::derefPointer << "addItem(" << varName << icon << ", " << noTrCall(plabelString, pageDefaultString) << ')' << language::eol; @@ -750,7 +752,7 @@ void WriteInitialization::acceptWidget(DomWidget *node) << language::derefPointer << "indexOf(" << varName << "), " << autoTrCall(plabelString, pageDefaultString) << ')' << language::eol; - if (DomProperty *ptoolTip = attributes.value(QLatin1String("toolTip"))) { + if (DomProperty *ptoolTip = attributes.value("toolTip"_L1)) { autoTrOutput(ptoolTip->elementString()) << language::openQtConfig(toolTipConfigKey()) << m_indent << parentWidget << language::derefPointer << "setItemToolTip(" << parentWidget @@ -759,11 +761,11 @@ void WriteInitialization::acceptWidget(DomWidget *node) << language::closeQtConfig(toolTipConfigKey()); } } else if (m_uic->customWidgetsInfo()->extends(parentClass, "QTabWidget")) { - const DomProperty *ptitle = attributes.value(QLatin1String("title")); + const DomProperty *ptitle = attributes.value("title"_L1); DomString *ptitleString = ptitle ? ptitle->elementString() : nullptr; QString icon; - if (const DomProperty *picon = attributes.value(QLatin1String("icon"))) - icon = QLatin1String(", ") + iconCall(picon); // Side effect: Writes icon definition + if (const DomProperty *picon = attributes.value("icon"_L1)) + icon = ", "_L1 + iconCall(picon); // Side effect: Writes icon definition m_output << m_indent << parentWidget << language::derefPointer << "addTab(" << varName << icon << ", " << language::emptyString << ')' << language::eol; @@ -772,7 +774,7 @@ void WriteInitialization::acceptWidget(DomWidget *node) << language::derefPointer << "indexOf(" << varName << "), " << autoTrCall(ptitleString, pageDefaultString) << ')' << language::eol; - if (const DomProperty *ptoolTip = attributes.value(QLatin1String("toolTip"))) { + if (const DomProperty *ptoolTip = attributes.value("toolTip"_L1)) { autoTrOutput(ptoolTip->elementString()) << language::openQtConfig(toolTipConfigKey()) << m_indent << parentWidget << language::derefPointer << "setTabToolTip(" @@ -780,7 +782,7 @@ void WriteInitialization::acceptWidget(DomWidget *node) << "), " << autoTrCall(ptoolTip->elementString()) << ')' << language::eol << language::closeQtConfig(toolTipConfigKey()); } - if (const DomProperty *pwhatsThis = attributes.value(QLatin1String("whatsThis"))) { + if (const DomProperty *pwhatsThis = attributes.value("whatsThis"_L1)) { autoTrOutput(pwhatsThis->elementString()) << language::openQtConfig(whatsThisConfigKey()) << m_indent << parentWidget << language::derefPointer << "setTabWhatsThis(" @@ -794,40 +796,40 @@ void WriteInitialization::acceptWidget(DomWidget *node) // Special handling for qtableview/qtreeview fake header attributes // static const QLatin1String realPropertyNames[] = { - QLatin1String("visible"), - QLatin1String("cascadingSectionResizes"), - QLatin1String("minimumSectionSize"), // before defaultSectionSize - QLatin1String("defaultSectionSize"), - QLatin1String("highlightSections"), - QLatin1String("showSortIndicator"), - QLatin1String("stretchLastSection"), + "visible"_L1, + "cascadingSectionResizes"_L1, + "minimumSectionSize"_L1, // before defaultSectionSize + "defaultSectionSize"_L1, + "highlightSections"_L1, + "showSortIndicator"_L1, + "stretchLastSection"_L1, }; static const QStringList trees = { - QLatin1String("QTreeView"), QLatin1String("QTreeWidget") + "QTreeView"_L1, "QTreeWidget"_L1 }; static const QStringList tables = { - QLatin1String("QTableView"), QLatin1String("QTableWidget") + "QTableView"_L1, "QTableWidget"_L1 }; if (cwi->extendsOneOf(className, trees)) { DomPropertyList headerProperties; for (auto realPropertyName : realPropertyNames) { - const QString fakePropertyName = QLatin1String("header") + const QString fakePropertyName = "header"_L1 + QChar(realPropertyName.at(0)).toUpper() + realPropertyName.mid(1); if (DomProperty *fakeProperty = attributes.value(fakePropertyName)) { fakeProperty->setAttributeName(realPropertyName); headerProperties << fakeProperty; } } - writeProperties(varName + language::derefPointer + QLatin1String("header()"), - QLatin1String("QHeaderView"), headerProperties, + writeProperties(varName + language::derefPointer + "header()"_L1, + "QHeaderView"_L1, headerProperties, WritePropertyIgnoreObjectName); } else if (cwi->extendsOneOf(className, tables)) { static const QLatin1String headerPrefixes[] = { - QLatin1String("horizontalHeader"), - QLatin1String("verticalHeader"), + "horizontalHeader"_L1, + "verticalHeader"_L1, }; for (auto headerPrefix : headerPrefixes) { @@ -841,8 +843,8 @@ void WriteInitialization::acceptWidget(DomWidget *node) } } const QString headerVar = varName + language::derefPointer - + headerPrefix + QLatin1String("()"); - writeProperties(headerVar, QLatin1String("QHeaderView"), + + headerPrefix + "()"_L1; + writeProperties(headerVar, "QHeaderView"_L1, headerProperties, WritePropertyIgnoreObjectName); } } @@ -868,7 +870,7 @@ void WriteInitialization::addButtonGroup(const DomWidget *buttonNode, const QStr { const DomPropertyMap attributes = propertyMap(buttonNode->elementAttribute()); // Look up the button group name as specified in the attribute and find the uniquified name - const DomProperty *prop = attributes.value(QLatin1String("buttonGroup")); + const DomProperty *prop = attributes.value("buttonGroup"_L1); if (!prop) return; const QString attributeName = toString(prop->elementString()); @@ -887,7 +889,7 @@ void WriteInitialization::addButtonGroup(const DomWidget *buttonNode, const QStr const QString groupName = m_driver->findOrInsertButtonGroup(group); // Create on demand if (!m_buttonGroups.contains(groupName)) { - const QString className = QLatin1String("QButtonGroup"); + const QString className = "QButtonGroup"_L1; m_output << m_indent; if (createGroupOnTheFly) m_output << className << " *"; @@ -906,7 +908,7 @@ void WriteInitialization::acceptLayout(DomLayout *node) const QString varName = m_driver->findOrInsertLayout(node); const DomPropertyMap properties = propertyMap(node->elementProperty()); - const bool oldLayoutProperties = properties.value(QLatin1String("margin")) != nullptr; + const bool oldLayoutProperties = properties.value("margin"_L1) != nullptr; bool isGroupBox = false; @@ -933,36 +935,36 @@ void WriteInitialization::acceptLayout(DomLayout *node) left = top = right = bottom = false; for (const DomProperty *p : propList) { const QString propertyName = p->attributeName(); - if (propertyName == QLatin1String("leftMargin") && p->kind() == DomProperty::Number) + if (propertyName == "leftMargin"_L1 && p->kind() == DomProperty::Number) left = true; - else if (propertyName == QLatin1String("topMargin") && p->kind() == DomProperty::Number) + else if (propertyName == "topMargin"_L1 && p->kind() == DomProperty::Number) top = true; - else if (propertyName == QLatin1String("rightMargin") && p->kind() == DomProperty::Number) + else if (propertyName == "rightMargin"_L1 && p->kind() == DomProperty::Number) right = true; - else if (propertyName == QLatin1String("bottomMargin") && p->kind() == DomProperty::Number) + else if (propertyName == "bottomMargin"_L1 && p->kind() == DomProperty::Number) bottom = true; } if (!left) { DomProperty *p = new DomProperty(); - p->setAttributeName(QLatin1String("leftMargin")); + p->setAttributeName("leftMargin"_L1); p->setElementNumber(0); newPropList.append(p); } if (!top) { DomProperty *p = new DomProperty(); - p->setAttributeName(QLatin1String("topMargin")); + p->setAttributeName("topMargin"_L1); p->setElementNumber(0); newPropList.append(p); } if (!right) { DomProperty *p = new DomProperty(); - p->setAttributeName(QLatin1String("rightMargin")); + p->setAttributeName("rightMargin"_L1); p->setElementNumber(0); newPropList.append(p); } if (!bottom) { DomProperty *p = new DomProperty(); - p->setAttributeName(QLatin1String("bottomMargin")); + p->setAttributeName("bottomMargin"_L1); p->setElementNumber(0); newPropList.append(p); } @@ -984,11 +986,11 @@ void WriteInitialization::acceptLayout(DomLayout *node) // Stretch? (Unless we are compiling for UIC3) const QString numberNull(u'0'); - writePropertyList(varName, QLatin1String("setStretch"), node->attributeStretch(), numberNull); - writePropertyList(varName, QLatin1String("setRowStretch"), node->attributeRowStretch(), numberNull); - writePropertyList(varName, QLatin1String("setColumnStretch"), node->attributeColumnStretch(), numberNull); - writePropertyList(varName, QLatin1String("setColumnMinimumWidth"), node->attributeColumnMinimumWidth(), numberNull); - writePropertyList(varName, QLatin1String("setRowMinimumHeight"), node->attributeRowMinimumHeight(), numberNull); + writePropertyList(varName, "setStretch"_L1, node->attributeStretch(), numberNull); + writePropertyList(varName, "setRowStretch"_L1, node->attributeRowStretch(), numberNull); + writePropertyList(varName, "setColumnStretch"_L1, node->attributeColumnStretch(), numberNull); + writePropertyList(varName, "setColumnMinimumWidth"_L1, node->attributeColumnMinimumWidth(), numberNull); + writePropertyList(varName, "setRowMinimumHeight"_L1, node->attributeRowMinimumHeight(), numberNull); } // Apply a comma-separated list of values using a function "setSomething(int idx, value)" @@ -1019,21 +1021,20 @@ void WriteInitialization::acceptSpacer(DomSpacer *node) static inline QString formLayoutRole(int column, int colspan) { if (colspan > 1) - return QLatin1String("QFormLayout::SpanningRole"); - return column == 0 ? QLatin1String("QFormLayout::LabelRole") : QLatin1String("QFormLayout::FieldRole"); + return "QFormLayout::SpanningRole"_L1; + return column == 0 ? "QFormLayout::LabelRole"_L1 : "QFormLayout::FieldRole"_L1; } static QString layoutAddMethod(DomLayoutItem::Kind kind, const QString &layoutClass) { - const QString methodPrefix = layoutClass == QLatin1String("QFormLayout") - ? QLatin1String("set") : QLatin1String("add"); + const QString methodPrefix = layoutClass == "QFormLayout"_L1 ? "set"_L1 : "add"_L1; switch (kind) { case DomLayoutItem::Widget: - return methodPrefix + QLatin1String("Widget"); + return methodPrefix + "Widget"_L1; case DomLayoutItem::Layout: - return methodPrefix + QLatin1String("Layout"); + return methodPrefix + "Layout"_L1; case DomLayoutItem::Spacer: - return methodPrefix + QLatin1String("Item"); + return methodPrefix + "Item"_L1; case DomLayoutItem::Unknown: Q_ASSERT( false ); break; @@ -1056,7 +1057,7 @@ void WriteInitialization::acceptLayoutItem(DomLayoutItem *node) m_output << "\n" << m_indent << layoutName << language::derefPointer << "" << layoutAddMethod(node->kind(), layout->attributeClass()) << '('; - if (layout->attributeClass() == QLatin1String("QGridLayout")) { + if (layout->attributeClass() == "QGridLayout"_L1) { const int row = node->attributeRow(); const int col = node->attributeColumn(); @@ -1065,14 +1066,14 @@ void WriteInitialization::acceptLayoutItem(DomLayoutItem *node) m_output << itemName << ", " << row << ", " << col << ", " << rowSpan << ", " << colSpan; if (!node->attributeAlignment().isEmpty()) m_output << ", " << language::enumValue(node->attributeAlignment()); - } else if (layout->attributeClass() == QLatin1String("QFormLayout")) { + } else if (layout->attributeClass() == "QFormLayout"_L1) { const int row = node->attributeRow(); const int colSpan = node->hasAttributeColSpan() ? node->attributeColSpan() : 1; const QString role = formLayoutRole(node->attributeColumn(), colSpan); m_output << row << ", " << language::enumValue(role) << ", " << itemName; } else { m_output << itemName; - if (layout->attributeClass().contains(QLatin1String("Box")) && !node->attributeAlignment().isEmpty()) + if (layout->attributeClass().contains("Box"_L1) && !node->attributeAlignment().isEmpty()) m_output << ", 0, " << language::enumValue(node->attributeAlignment()); } m_output << ")" << language::eol << "\n"; @@ -1088,7 +1089,7 @@ void WriteInitialization::acceptActionGroup(DomActionGroup *node) m_output << m_indent << actionName << " = " << language::operatorNew << "QActionGroup(" << varName << ")" << language::eol; - writeProperties(actionName, QLatin1String("QActionGroup"), node->elementProperty()); + writeProperties(actionName, "QActionGroup"_L1, node->elementProperty()); m_actionGroupChain.push(node); TreeWalker::acceptActionGroup(node); @@ -1108,7 +1109,7 @@ void WriteInitialization::acceptAction(DomAction *node) m_output << m_indent << actionName << " = " << language::operatorNew << "QAction(" << varName << ')' << language::eol; - writeProperties(actionName, QLatin1String("QAction"), node->elementProperty()); + writeProperties(actionName, "QAction"_L1, node->elementProperty()); } void WriteInitialization::acceptActionRef(DomActionRef *node) @@ -1121,7 +1122,7 @@ void WriteInitialization::acceptActionRef(DomActionRef *node) const QString varName = m_driver->findOrInsertWidget(m_widgetChain.top()); - if (m_widgetChain.top() && actionName == QLatin1String("separator")) { + if (m_widgetChain.top() && actionName == "separator"_L1) { // separator is always reserved! m_actionOut << m_indent << varName << language::derefPointer << "addSeparator()" << language::eol; @@ -1169,18 +1170,16 @@ QString WriteInitialization::writeStringListProperty(const DomStringList *list) static QString configKeyForProperty(const QString &propertyName) { - if (propertyName == QLatin1String("toolTip")) + if (propertyName == "toolTip"_L1) return toolTipConfigKey(); - if (propertyName == QLatin1String("whatsThis")) + if (propertyName == "whatsThis"_L1) return whatsThisConfigKey(); - if (propertyName == QLatin1String("statusTip")) + if (propertyName == "statusTip"_L1) return statusTipConfigKey(); - if (propertyName == QLatin1String("shortcut")) + if (propertyName == "shortcut"_L1) return shortcutConfigKey(); - if (propertyName == QLatin1String("accessibleName") - || propertyName == QLatin1String("accessibleDescription")) { + if (propertyName == "accessibleName"_L1 || propertyName == "accessibleDescription"_L1) return accessibilityConfigKey(); - } return QString(); } @@ -1193,7 +1192,7 @@ void WriteInitialization::writeProperties(const QString &varName, if (m_uic->customWidgetsInfo()->extends(className, "QAxWidget")) { DomPropertyMap properties = propertyMap(lst); - if (DomProperty *p = properties.value(QLatin1String("control"))) { + if (DomProperty *p = properties.value("control"_L1)) { m_output << m_indent << varName << language::derefPointer << "setControl(" << language::qstring(toString(p->elementString()), m_dindent) << ')' << language::eol; @@ -1233,58 +1232,58 @@ void WriteInitialization::writeProperties(const QString &varName, bool delayProperty = false; // special case for the property `geometry': Do not use position - if (isTopLevel && propertyName == QLatin1String("geometry") && p->elementRect()) { + if (isTopLevel && propertyName == "geometry"_L1 && p->elementRect()) { const DomRect *r = p->elementRect(); m_output << m_indent << varName << language::derefPointer << "resize(" << r->elementWidth() << ", " << r->elementHeight() << ')' << language::eol; continue; } - if (propertyName == QLatin1String("currentRow") // QListWidget::currentRow + if (propertyName == "currentRow"_L1 // QListWidget::currentRow && m_uic->customWidgetsInfo()->extends(className, "QListWidget")) { m_delayedOut << m_indent << varName << language::derefPointer << "setCurrentRow(" << p->elementNumber() << ')' << language::eol; continue; } static const QStringList currentIndexWidgets = { - QLatin1String("QComboBox"), QLatin1String("QStackedWidget"), - QLatin1String("QTabWidget"), QLatin1String("QToolBox") + "QComboBox"_L1, "QStackedWidget"_L1, + "QTabWidget"_L1, "QToolBox"_L1 }; - if (propertyName == QLatin1String("currentIndex") // set currentIndex later + if (propertyName == "currentIndex"_L1 // set currentIndex later && (m_uic->customWidgetsInfo()->extendsOneOf(className, currentIndexWidgets))) { m_delayedOut << m_indent << varName << language::derefPointer << "setCurrentIndex(" << p->elementNumber() << ')' << language::eol; continue; } - if (propertyName == QLatin1String("tabSpacing") + if (propertyName == "tabSpacing"_L1 && m_uic->customWidgetsInfo()->extends(className, "QToolBox")) { m_delayedOut << m_indent << varName << language::derefPointer << "layout()" << language::derefPointer << "setSpacing(" << p->elementNumber() << ')' << language::eol; continue; } - if (propertyName == QLatin1String("control") // ActiveQt support + if (propertyName == "control"_L1 // ActiveQt support && m_uic->customWidgetsInfo()->extends(className, "QAxWidget")) { // already done ;) continue; } - if (propertyName == QLatin1String("default") + if (propertyName == "default"_L1 && m_uic->customWidgetsInfo()->extends(className, "QPushButton")) { // QTBUG-44406: Setting of QPushButton::default needs to be delayed until the parent is set delayProperty = true; - } else if (propertyName == QLatin1String("database") + } else if (propertyName == "database"_L1 && p->elementStringList()) { // Sql support continue; - } else if (propertyName == QLatin1String("frameworkCode") + } else if (propertyName == "frameworkCode"_L1 && p->kind() == DomProperty::Bool) { // Sql support continue; - } else if (propertyName == QLatin1String("orientation") + } else if (propertyName == "orientation"_L1 && m_uic->customWidgetsInfo()->extends(className, "Line")) { // Line support - QString shape = QLatin1String("QFrame::HLine"); - if (p->elementEnum() == QLatin1String("Qt::Vertical")) - shape = QLatin1String("QFrame::VLine"); + QString shape = "QFrame::HLine"_L1; + if (p->elementEnum() == "Qt::Vertical"_L1) + shape = "QFrame::VLine"_L1; m_output << m_indent << varName << language::derefPointer << "setFrameShape(" << language::enumValue(shape) << ')' << language::eol; @@ -1292,32 +1291,32 @@ void WriteInitialization::writeProperties(const QString &varName, if (!frameShadowEncountered) { m_output << m_indent << varName << language::derefPointer << "setFrameShadow(" - << language::enumValue(QLatin1String("QFrame::Sunken")) + << language::enumValue("QFrame::Sunken"_L1) << ')' << language::eol; } continue; - } else if ((flags & WritePropertyIgnoreMargin) && propertyName == QLatin1String("margin")) { + } else if ((flags & WritePropertyIgnoreMargin) && propertyName == "margin"_L1) { continue; - } else if ((flags & WritePropertyIgnoreSpacing) && propertyName == QLatin1String("spacing")) { + } else if ((flags & WritePropertyIgnoreSpacing) && propertyName == "spacing"_L1) { continue; - } else if (propertyName == QLatin1String("leftMargin") && p->kind() == DomProperty::Number) { + } else if (propertyName == "leftMargin"_L1 && p->kind() == DomProperty::Number) { leftMargin = p->elementNumber(); continue; - } else if (propertyName == QLatin1String("topMargin") && p->kind() == DomProperty::Number) { + } else if (propertyName == "topMargin"_L1 && p->kind() == DomProperty::Number) { topMargin = p->elementNumber(); continue; - } else if (propertyName == QLatin1String("rightMargin") && p->kind() == DomProperty::Number) { + } else if (propertyName == "rightMargin"_L1 && p->kind() == DomProperty::Number) { rightMargin = p->elementNumber(); continue; - } else if (propertyName == QLatin1String("bottomMargin") && p->kind() == DomProperty::Number) { + } else if (propertyName == "bottomMargin"_L1 && p->kind() == DomProperty::Number) { bottomMargin = p->elementNumber(); continue; - } else if (propertyName == QLatin1String("numDigits") // Deprecated in Qt 4, removed in Qt 5. + } else if (propertyName == "numDigits"_L1 // Deprecated in Qt 4, removed in Qt 5. && m_uic->customWidgetsInfo()->extends(className, "QLCDNumber")) { qWarning("Widget '%s': Deprecated property QLCDNumber::numDigits encountered. It has been replaced by QLCDNumber::digitCount.", qPrintable(varName)); - propertyName = QLatin1String("digitCount"); - } else if (propertyName == QLatin1String("frameShadow")) { + propertyName = "digitCount"_L1; + } else if (propertyName == "frameShadow"_L1) { frameShadowEncountered = true; } @@ -1333,7 +1332,7 @@ void WriteInitialization::writeProperties(const QString &varName, str << language::derefPointer <<"set" << propertyName.at(0).toUpper() << QStringView{propertyName}.mid(1) << '('; } else { - str << language::derefPointer << QLatin1String("setProperty(\"") + str << language::derefPointer << "setProperty(\""_L1 << propertyName << "\", "; if (language::language() == Language::Cpp) { str << "QVariant"; @@ -1355,7 +1354,7 @@ void WriteInitialization::writeProperties(const QString &varName, propertyValue = domColor2QString(p->elementColor()); break; case DomProperty::Cstring: - if (propertyName == QLatin1String("buddy") && m_uic->customWidgetsInfo()->extends(className, "QLabel")) { + if (propertyName == "buddy"_L1 && m_uic->customWidgetsInfo()->extends(className, "QLabel")) { Buddy buddy = { varName, p->elementCstring() }; m_buddies.append(std::move(buddy)); } else { @@ -1373,8 +1372,8 @@ void WriteInitialization::writeProperties(const QString &varName, break; case DomProperty::CursorShape: if (p->hasAttributeStdset() && !p->attributeStdset()) - varNewName += language::derefPointer + QLatin1String("viewport()"); - propertyValue = QLatin1String("QCursor(Qt") + language::qualifier + varNewName += language::derefPointer + "viewport()"_L1; + propertyValue = "QCursor(Qt"_L1 + language::qualifier + p->elementCursorShape() + u')'; break; case DomProperty::Enum: @@ -1398,12 +1397,12 @@ void WriteInitialization::writeProperties(const QString &varName, break; case DomProperty::Palette: { const DomPalette *pal = p->elementPalette(); - const QString paletteName = m_driver->unique(QLatin1String("palette")); + const QString paletteName = m_driver->unique("palette"_L1); m_output << m_indent << language::stackVariable("QPalette", paletteName) << language::eol; - writeColorGroup(pal->elementActive(), QLatin1String("QPalette::Active"), paletteName); - writeColorGroup(pal->elementInactive(), QLatin1String("QPalette::Inactive"), paletteName); - writeColorGroup(pal->elementDisabled(), QLatin1String("QPalette::Disabled"), paletteName); + writeColorGroup(pal->elementActive(), "QPalette::Active"_L1, paletteName); + writeColorGroup(pal->elementInactive(), "QPalette::Inactive"_L1, paletteName); + writeColorGroup(pal->elementDisabled(), "QPalette::Disabled"_L1, paletteName); propertyValue = paletteName; break; @@ -1463,7 +1462,7 @@ void WriteInitialization::writeProperties(const QString &varName, break; } case DomProperty::String: { - if (propertyName == QLatin1String("objectName")) { + if (propertyName == "objectName"_L1) { const QString v = p->elementString()->text(); if (v == varName) break; @@ -1482,12 +1481,12 @@ void WriteInitialization::writeProperties(const QString &varName, propertyValue += u'u'; break; case DomProperty::LongLong: - propertyValue = QLatin1String("Q_INT64_C("); + propertyValue = "Q_INT64_C("_L1; propertyValue += QString::number(p->elementLongLong()); propertyValue += u')'; break; case DomProperty::ULongLong: - propertyValue = QLatin1String("Q_UINT64_C("); + propertyValue = "Q_UINT64_C("_L1; propertyValue += QString::number(p->elementULongLong()); propertyValue += u')'; break; @@ -1587,7 +1586,7 @@ QString WriteInitialization::writeSizePolicy(const DomSizePolicy *sp) // insert with new name - const QString spName = m_driver->unique(QLatin1String("sizePolicy")); + const QString spName = m_driver->unique("sizePolicy"_L1); m_sizePolicyNameMap.insert(sizePolicyHandle, spName); m_output << m_indent << language::stackVariableWithInitParameters("QSizePolicy", spName); @@ -1619,7 +1618,7 @@ QString WriteInitialization::writeFontProperties(const DomFont *f) } // insert with new name - const QString fontName = m_driver->unique(QLatin1String("font")); + const QString fontName = m_driver->unique("font"_L1); m_fontPropertiesNameMap.insert(FontHandle(f), fontName); m_output << m_indent << language::stackVariable("QFont", fontName) @@ -1734,42 +1733,42 @@ void WriteInitialization::writePixmapFunctionIcon(QTextStream &output, { if (i->hasElementNormalOff()) { writeIconAddPixmap(output, indent, iconName, - pixCall(QLatin1String("QPixmap"), i->elementNormalOff()->text()), + pixCall("QPixmap"_L1, i->elementNormalOff()->text()), "Normal", "Off"); } if (i->hasElementNormalOn()) { writeIconAddPixmap(output, indent, iconName, - pixCall(QLatin1String("QPixmap"), i->elementNormalOn()->text()), + pixCall("QPixmap"_L1, i->elementNormalOn()->text()), "Normal", "On"); } if (i->hasElementDisabledOff()) { writeIconAddPixmap(output, indent, iconName, - pixCall(QLatin1String("QPixmap"), i->elementDisabledOff()->text()), + pixCall("QPixmap"_L1, i->elementDisabledOff()->text()), "Disabled", "Off"); } if (i->hasElementDisabledOn()) { writeIconAddPixmap(output, indent, iconName, - pixCall(QLatin1String("QPixmap"), i->elementDisabledOn()->text()), + pixCall("QPixmap"_L1, i->elementDisabledOn()->text()), "Disabled", "On"); } if (i->hasElementActiveOff()) { writeIconAddPixmap(output, indent, iconName, - pixCall(QLatin1String("QPixmap"), i->elementActiveOff()->text()), + pixCall("QPixmap"_L1, i->elementActiveOff()->text()), "Active", "Off"); } if (i->hasElementActiveOn()) { writeIconAddPixmap(output, indent, iconName, - pixCall(QLatin1String("QPixmap"), i->elementActiveOn()->text()), + pixCall("QPixmap"_L1, i->elementActiveOn()->text()), "Active", "On"); } if (i->hasElementSelectedOff()) { writeIconAddPixmap(output, indent, iconName, - pixCall(QLatin1String("QPixmap"), i->elementSelectedOff()->text()), + pixCall("QPixmap"_L1, i->elementSelectedOff()->text()), "Selected", "Off"); } if (i->hasElementSelectedOn()) { writeIconAddPixmap(output, indent, iconName, - pixCall(QLatin1String("QPixmap"), i->elementSelectedOn()->text()), + pixCall("QPixmap"_L1, i->elementSelectedOn()->text()), "Selected", "On"); } } @@ -1783,7 +1782,7 @@ QString WriteInitialization::writeIconProperties(const DomResourceIcon *i) return it.value(); // insert with new name - const QString iconName = m_driver->unique(QLatin1String("icon")); + const QString iconName = m_driver->unique("icon"_L1); m_iconPropertiesNameMap.insert(IconHandle(i), iconName); const bool isCpp = language::language() == Language::Cpp; @@ -1792,7 +1791,7 @@ QString WriteInitialization::writeIconProperties(const DomResourceIcon *i) m_output << m_indent; if (isCpp) m_output << "const QIcon "; - m_output << iconName << " = " << pixCall(QLatin1String("QIcon"), i->text()) + m_output << iconName << " = " << pixCall("QIcon"_L1, i->text()) << language::eol; return iconName; } @@ -1868,7 +1867,7 @@ QString WriteInitialization::domColor2QString(const DomColor *c) static inline QVersionNumber colorRoleVersionAdded(const QString &roleName) { - if (roleName == QLatin1String("PlaceholderText")) + if (roleName == "PlaceholderText"_L1) return QVersionNumber(5, 12, 0); return QVersionNumber(); } @@ -1916,7 +1915,7 @@ void WriteInitialization::writeColorGroup(DomColorGroup *colorGroup, const QStri QString WriteInitialization::writeBrushInitialization(const DomBrush *brush) { // Simple solid, colored brushes are cached - const bool solidColoredBrush = !brush->hasAttributeBrushStyle() || brush->attributeBrushStyle() == QLatin1String("SolidPattern"); + const bool solidColoredBrush = !brush->hasAttributeBrushStyle() || brush->attributeBrushStyle() == "SolidPattern"_L1; uint rgb = 0; if (solidColoredBrush) { if (const DomColor *color = brush->elementColor()) { @@ -1930,7 +1929,7 @@ QString WriteInitialization::writeBrushInitialization(const DomBrush *brush) } } // Create and enter into cache if simple - const QString brushName = m_driver->unique(QLatin1String("brush")); + const QString brushName = m_driver->unique("brush"_L1); writeBrush(brush, brushName); if (solidColoredBrush) m_colorBrushHash.insert(rgb, brushName); @@ -1939,24 +1938,24 @@ QString WriteInitialization::writeBrushInitialization(const DomBrush *brush) void WriteInitialization::writeBrush(const DomBrush *brush, const QString &brushName) { - QString style = QLatin1String("SolidPattern"); + QString style = "SolidPattern"_L1; if (brush->hasAttributeBrushStyle()) style = brush->attributeBrushStyle(); - if (style == QLatin1String("LinearGradientPattern") || - style == QLatin1String("RadialGradientPattern") || - style == QLatin1String("ConicalGradientPattern")) { + if (style == "LinearGradientPattern"_L1 || + style == "RadialGradientPattern"_L1 || + style == "ConicalGradientPattern"_L1) { const DomGradient *gradient = brush->elementGradient(); const QString gradientType = gradient->attributeType(); - const QString gradientName = m_driver->unique(QLatin1String("gradient")); - if (gradientType == QLatin1String("LinearGradient")) { + const QString gradientName = m_driver->unique("gradient"_L1); + if (gradientType == "LinearGradient"_L1) { m_output << m_indent << language::stackVariableWithInitParameters("QLinearGradient", gradientName) << gradient->attributeStartX() << ", " << gradient->attributeStartY() << ", " << gradient->attributeEndX() << ", " << gradient->attributeEndY() << ')' << language::eol; - } else if (gradientType == QLatin1String("RadialGradient")) { + } else if (gradientType == "RadialGradient"_L1) { m_output << m_indent << language::stackVariableWithInitParameters("QRadialGradient", gradientName) << gradient->attributeCentralX() @@ -1964,7 +1963,7 @@ void WriteInitialization::writeBrush(const DomBrush *brush, const QString &brush << ", " << gradient->attributeRadius() << ", " << gradient->attributeFocalX() << ", " << gradient->attributeFocalY() << ')' << language::eol; - } else if (gradientType == QLatin1String("ConicalGradient")) { + } else if (gradientType == "ConicalGradient"_L1) { m_output << m_indent << language::stackVariableWithInitParameters("QConicalGradient", gradientName) << gradient->attributeCentralX() @@ -1992,7 +1991,7 @@ void WriteInitialization::writeBrush(const DomBrush *brush, const QString &brush m_output << m_indent << language::stackVariableWithInitParameters("QBrush", brushName) << gradientName << ')' << language::eol; - } else if (style == QLatin1String("TexturePattern")) { + } else if (style == "TexturePattern"_L1) { const DomProperty *property = brush->elementTexture(); const QString iconValue = iconCall(property); @@ -2060,17 +2059,17 @@ QString WriteInitialization::pixCall(const DomProperty *p) const QString type, s; switch (p->kind()) { case DomProperty::IconSet: - type = QLatin1String("QIcon"); + type = "QIcon"_L1; s = p->elementIconSet()->text(); break; case DomProperty::Pixmap: - type = QLatin1String("QPixmap"); + type = "QPixmap"_L1; s = p->elementPixmap()->text(); break; default: qWarning("%s: Warning: Unknown icon format encountered. The ui-file was generated with a too-recent version of Designer.", qPrintable(m_option.messagePrefix())); - return QLatin1String("QIcon()"); + return "QIcon()"_L1; break; } return pixCall(type, s); @@ -2080,7 +2079,7 @@ QString WriteInitialization::pixCall(const QString &t, const QString &text) cons { QString type = t; if (text.isEmpty()) { - type += QLatin1String("()"); + type += "()"_L1; return type; } @@ -2107,8 +2106,8 @@ void WriteInitialization::initializeComboBox(DomWidget *w) for (int i = 0; i < items.size(); ++i) { const DomItem *item = items.at(i); const DomPropertyMap properties = propertyMap(item->elementProperty()); - const DomProperty *text = properties.value(QLatin1String("text")); - const DomProperty *icon = properties.value(QLatin1String("icon")); + const DomProperty *text = properties.value("text"_L1); + const DomProperty *icon = properties.value("icon"_L1); QString iconValue; if (icon) @@ -2135,7 +2134,7 @@ QString WriteInitialization::disableSorting(DomWidget *w, const QString &varName // turn off sortingEnabled to force programmatic item order (setItem()) QString tempName; if (!w->elementItem().isEmpty()) { - tempName = m_driver->unique(QLatin1String("__sortingEnabled")); + tempName = m_driver->unique("__sortingEnabled"_L1); m_refreshOut << "\n"; m_refreshOut << m_indent; if (language::language() == Language::Cpp) @@ -2256,20 +2255,20 @@ void WriteInitialization::addQtEnumInitializer(Item *item, void WriteInitialization::addCommonInitializers(Item *item, const DomPropertyMap &properties, int column) { - if (const DomProperty *icon = properties.value(QLatin1String("icon"))) - addInitializer(item, QLatin1String("icon"), column, iconCall(icon)); - addBrushInitializer(item, properties, QLatin1String("foreground"), column); - addBrushInitializer(item, properties, QLatin1String("background"), column); - if (const DomProperty *font = properties.value(QLatin1String("font"))) - addInitializer(item, QLatin1String("font"), column, writeFontProperties(font->elementFont())); - addQtFlagsInitializer(item, properties, QLatin1String("textAlignment"), column); - addQtEnumInitializer(item, properties, QLatin1String("checkState"), column); - addStringInitializer(item, properties, QLatin1String("text"), column); - addStringInitializer(item, properties, QLatin1String("toolTip"), column, + if (const DomProperty *icon = properties.value("icon"_L1)) + addInitializer(item, "icon"_L1, column, iconCall(icon)); + addBrushInitializer(item, properties, "foreground"_L1, column); + addBrushInitializer(item, properties, "background"_L1, column); + if (const DomProperty *font = properties.value("font"_L1)) + addInitializer(item, "font"_L1, column, writeFontProperties(font->elementFont())); + addQtFlagsInitializer(item, properties, "textAlignment"_L1, column); + addQtEnumInitializer(item, properties, "checkState"_L1, column); + addStringInitializer(item, properties, "text"_L1, column); + addStringInitializer(item, properties, "toolTip"_L1, column, toolTipConfigKey()); - addStringInitializer(item, properties, QLatin1String("whatsThis"), column, + addStringInitializer(item, properties, "whatsThis"_L1, column, whatsThisConfigKey()); - addStringInitializer(item, properties, QLatin1String("statusTip"), column, + addStringInitializer(item, properties, "statusTip"_L1, column, statusTipConfigKey()); } @@ -2290,8 +2289,8 @@ void WriteInitialization::initializeListWidget(DomWidget *w) const DomPropertyMap properties = propertyMap(domItem->elementProperty()); - Item item(QLatin1String("QListWidgetItem"), m_indent, m_output, m_refreshOut, m_driver); - addQtFlagsInitializer(&item, properties, QLatin1String("flags")); + Item item("QListWidgetItem"_L1, m_indent, m_output, m_refreshOut, m_driver); + addQtFlagsInitializer(&item, properties, "flags"_L1); addCommonInitializers(&item, properties); item.writeSetupUi(varName); @@ -2307,7 +2306,7 @@ void WriteInitialization::initializeTreeWidget(DomWidget *w) const QString varName = m_driver->findOrInsertWidget(w); // columns - Item item(QLatin1String("QTreeWidgetItem"), m_indent, m_output, m_refreshOut, m_driver); + Item item("QTreeWidgetItem"_L1, m_indent, m_output, m_refreshOut, m_driver); const auto &columns = w->elementColumn(); for (int i = 0; i < columns.size(); ++i) { @@ -2316,7 +2315,7 @@ void WriteInitialization::initializeTreeWidget(DomWidget *w) const DomPropertyMap properties = propertyMap(column->elementProperty()); addCommonInitializers(&item, properties, i); - if (const DomProperty *p = properties.value(QLatin1String("text"))) { + if (const DomProperty *p = properties.value("text"_L1)) { DomString *str = p->elementString(); if (str && str->text().isEmpty()) { m_output << m_indent << varName << language::derefPointer @@ -2326,7 +2325,7 @@ void WriteInitialization::initializeTreeWidget(DomWidget *w) } } const QString itemName = item.writeSetupUi(QString(), Item::DontConstruct); - item.writeRetranslateUi(varName + language::derefPointer + QLatin1String("headerItem()")); + item.writeRetranslateUi(varName + language::derefPointer + "headerItem()"_L1); if (!itemName.isNull()) { m_output << m_indent << varName << language::derefPointer << "setHeaderItem(" << itemName << ')' << language::eol; @@ -2369,7 +2368,7 @@ WriteInitialization::Items WriteInitialization::initializeTreeWidgetItems(const for (int i = 0; i < numDomItems; ++i) { const DomItem *domItem = domItems.at(i); - Item *item = new Item(QLatin1String("QTreeWidgetItem"), m_indent, m_output, m_refreshOut, m_driver); + Item *item = new Item("QTreeWidgetItem"_L1, m_indent, m_output, m_refreshOut, m_driver); items << item; QHash map; @@ -2377,7 +2376,7 @@ WriteInitialization::Items WriteInitialization::initializeTreeWidgetItems(const int col = -1; const DomPropertyList properties = domItem->elementProperty(); for (DomProperty *p : properties) { - if (p->attributeName() == QLatin1String("text")) { + if (p->attributeName() == "text"_L1) { if (!map.isEmpty()) { addCommonInitializers(item, map, col); map.clear(); @@ -2388,7 +2387,7 @@ WriteInitialization::Items WriteInitialization::initializeTreeWidgetItems(const } addCommonInitializers(item, map, col); // AbstractFromBuilder saves flags last, so they always end up in the last column's map. - addQtFlagsInitializer(item, map, QLatin1String("flags")); + addQtFlagsInitializer(item, map, "flags"_L1); const auto subItems = initializeTreeWidgetItems(domItem->elementItem()); for (Item *subItem : subItems) @@ -2418,7 +2417,7 @@ void WriteInitialization::initializeTableWidget(DomWidget *w) if (!column->elementProperty().isEmpty()) { const DomPropertyMap properties = propertyMap(column->elementProperty()); - Item item(QLatin1String("QTableWidgetItem"), m_indent, m_output, m_refreshOut, m_driver); + Item item("QTableWidgetItem"_L1, m_indent, m_output, m_refreshOut, m_driver); addCommonInitializers(&item, properties); QString itemName = item.writeSetupUi(QString(), Item::ConstructItemAndVariable); @@ -2448,7 +2447,7 @@ void WriteInitialization::initializeTableWidget(DomWidget *w) if (!row->elementProperty().isEmpty()) { const DomPropertyMap properties = propertyMap(row->elementProperty()); - Item item(QLatin1String("QTableWidgetItem"), m_indent, m_output, m_refreshOut, m_driver); + Item item("QTableWidgetItem"_L1, m_indent, m_output, m_refreshOut, m_driver); addCommonInitializers(&item, properties); QString itemName = item.writeSetupUi(QString(), Item::ConstructItemAndVariable); @@ -2471,8 +2470,8 @@ void WriteInitialization::initializeTableWidget(DomWidget *w) const int c = cell->attributeColumn(); const DomPropertyMap properties = propertyMap(cell->elementProperty()); - Item item(QLatin1String("QTableWidgetItem"), m_indent, m_output, m_refreshOut, m_driver); - addQtFlagsInitializer(&item, properties, QLatin1String("flags")); + Item item("QTableWidgetItem"_L1, m_indent, m_output, m_refreshOut, m_driver); + addQtFlagsInitializer(&item, properties, "flags"_L1); addCommonInitializers(&item, properties); QString itemName = item.writeSetupUi(QString(), Item::ConstructItemAndVariable); @@ -2524,7 +2523,7 @@ QString WriteInitialization::trCall(const QString &str, const QString &commentHi void WriteInitialization::initializeMenu(DomWidget *w, const QString &/*parentWidget*/) { const QString menuName = m_driver->findOrInsertWidget(w); - const QString menuAction = menuName + QLatin1String("Action"); + const QString menuAction = menuName + "Action"_L1; const DomAction *action = m_driver->actionByName(menuAction); if (action && action->hasAttributeMenu()) { @@ -2619,7 +2618,7 @@ ConnectionSyntax WriteInitialization::connectionSyntax(const language::SignalSlo return ConnectionSyntax::StringBased; } - return sender.signature.endsWith(QLatin1String("()")) + return sender.signature.endsWith("()"_L1) || (!isCustomWidget(sender.className) && !isCustomWidget(receiver.className)) ? ConnectionSyntax::MemberFunctionPtr : ConnectionSyntax::StringBased; } @@ -2719,7 +2718,7 @@ QString WriteInitialization::Item::writeSetupUi(const QString &parent, Item::Emp if (generateMultiDirective) generateMultiDirectiveBegin(m_setupUiStream, m_setupUiData.directives); - const QString uniqueName = m_driver->unique(QLatin1String("__") + m_itemClassName.toLower()); + const QString uniqueName = m_driver->unique("__"_L1 + m_itemClassName.toLower()); m_setupUiStream << m_indent; if (language::language() == Language::Cpp) m_setupUiStream << m_itemClassName << " *"; @@ -2756,7 +2755,7 @@ void WriteInitialization::Item::writeRetranslateUi(const QString &parentPath) if (m_retranslateUiData.policy == ItemData::GenerateWithMultiDirective) generateMultiDirectiveBegin(m_retranslateUiStream, m_retranslateUiData.directives); - const QString uniqueName = m_driver->unique(QLatin1String("___") + m_itemClassName.toLower()); + const QString uniqueName = m_driver->unique("___"_L1 + m_itemClassName.toLower()); m_retranslateUiStream << m_indent; if (language::language() == Language::Cpp) m_retranslateUiStream << m_itemClassName << " *"; diff --git a/src/tools/uic/customwidgetsinfo.cpp b/src/tools/uic/customwidgetsinfo.cpp index ce30aa9093..45fb365982 100644 --- a/src/tools/uic/customwidgetsinfo.cpp +++ b/src/tools/uic/customwidgetsinfo.cpp @@ -120,8 +120,8 @@ bool CustomWidgetsInfo::isAmbiguousSignal(const QString &className, QString CustomWidgetsInfo::realClassName(const QString &className) const { - if (className == QLatin1String("Line")) - return QLatin1String("QFrame"); + if (className == "Line"_L1) + return "QFrame"_L1; return className; } diff --git a/src/tools/uic/databaseinfo.cpp b/src/tools/uic/databaseinfo.cpp index 9b0d1614ab..6a891f8570 100644 --- a/src/tools/uic/databaseinfo.cpp +++ b/src/tools/uic/databaseinfo.cpp @@ -33,6 +33,8 @@ QT_BEGIN_NAMESPACE +using namespace Qt::StringLiterals; + DatabaseInfo::DatabaseInfo() = default; void DatabaseInfo::acceptUI(DomUI *node) @@ -50,11 +52,11 @@ void DatabaseInfo::acceptWidget(DomWidget *node) { QHash properties = propertyMap(node->elementProperty()); - DomProperty *frameworkCode = properties.value(QLatin1String("frameworkCode")); + DomProperty *frameworkCode = properties.value("frameworkCode"_L1); if (frameworkCode && toBool(frameworkCode->elementBool()) == false) return; - DomProperty *db = properties.value(QLatin1String("database")); + DomProperty *db = properties.value("database"_L1); if (db && db->elementStringList()) { QStringList info = db->elementStringList()->elementString(); if (info.isEmpty() || info.constFirst().isEmpty()) diff --git a/src/tools/uic/driver.cpp b/src/tools/uic/driver.cpp index 7acc8f9c61..0e30d3f930 100644 --- a/src/tools/uic/driver.cpp +++ b/src/tools/uic/driver.cpp @@ -39,6 +39,8 @@ QT_BEGIN_NAMESPACE +using namespace Qt::StringLiterals; + Driver::Driver() : m_stdout(stdout, QFile::WriteOnly | QFile::Text) { @@ -172,7 +174,7 @@ QString Driver::unique(const QString &instanceName, const QString &className) } else if (!className.isEmpty()) { name = unique(qtify(className)); } else { - name = unique(QLatin1String("var")); + name = unique("var"_L1); } if (alreadyUsed && !className.isEmpty()) { @@ -209,7 +211,7 @@ QString Driver::headerFileName() const QString name = m_option.outputFile; if (name.isEmpty()) { - name = QLatin1String("ui_"); // ### use ui_ as prefix. + name = "ui_"_L1; // ### use ui_ as prefix. name.append(m_option.inputFile); } @@ -219,7 +221,7 @@ QString Driver::headerFileName() const QString Driver::headerFileName(const QString &fileName) { if (fileName.isEmpty()) - return headerFileName(QLatin1String("noname")); + return headerFileName("noname"_L1); QFileInfo info(fileName); QString baseName = info.baseName(); @@ -235,7 +237,7 @@ QString Driver::headerFileName(const QString &fileName) i += hex.size() + 1; } } - return baseName.toUpper() + QLatin1String("_H"); + return baseName.toUpper() + "_H"_L1; } bool Driver::printDependencies(const QString &fileName) diff --git a/src/tools/uic/main.cpp b/src/tools/uic/main.cpp index 4a5f0ea309..651f80b6ab 100644 --- a/src/tools/uic/main.cpp +++ b/src/tools/uic/main.cpp @@ -41,6 +41,8 @@ QT_BEGIN_NAMESPACE +using namespace Qt::StringLiterals; + int runUic(int argc, char *argv[]) { qSetGlobalQHashSeed(0); // set the hash seed to 0 @@ -134,15 +136,15 @@ int runUic(int argc, char *argv[]) driver.option().includeFile = parser.value(includeOption); if (parser.isSet(connectionsOption)) { const auto value = parser.value(connectionsOption); - if (value == QLatin1String("pmf")) + if (value == "pmf"_L1) driver.option().forceMemberFnPtrConnectionSyntax = 1; - else if (value == QLatin1String("string")) + else if (value == "string"_L1) driver.option().forceStringConnectionSyntax = 1; } Language language = Language::Cpp; if (parser.isSet(generatorOption)) { - if (parser.value(generatorOption).compare(QLatin1String("python")) == 0) + if (parser.value(generatorOption).compare("python"_L1) == 0) language = Language::Python; } language::setLanguage(language); diff --git a/src/tools/uic/python/pythonwritedeclaration.cpp b/src/tools/uic/python/pythonwritedeclaration.cpp index 5122b18e23..d2596c9980 100644 --- a/src/tools/uic/python/pythonwritedeclaration.cpp +++ b/src/tools/uic/python/pythonwritedeclaration.cpp @@ -38,6 +38,8 @@ QT_BEGIN_NAMESPACE +using namespace Qt::StringLiterals; + namespace Python { WriteDeclaration::WriteDeclaration(Uic *uic) : @@ -51,7 +53,7 @@ WriteDeclaration::WriteDeclaration(Uic *uic) : void WriteDeclaration::acceptUI(DomUI *node) { // remove any left-over C++ namespaces - const QString qualifiedClassName = QLatin1String("Ui_") + node->elementClass() + const QString qualifiedClassName = "Ui_"_L1 + node->elementClass() + m_option.postfix; m_output << "class " << language::fixClassName(qualifiedClassName) << "(object):\n"; diff --git a/src/tools/uic/python/pythonwriteimports.cpp b/src/tools/uic/python/pythonwriteimports.cpp index cceb069314..21be6003b9 100644 --- a/src/tools/uic/python/pythonwriteimports.cpp +++ b/src/tools/uic/python/pythonwriteimports.cpp @@ -41,6 +41,8 @@ QT_BEGIN_NAMESPACE +using namespace Qt::StringLiterals; + // Generate imports for Python. Note some things differ from C++: // - qItemView->header()->setFoo() does not require QHeaderView to be imported // - qLabel->setFrameShape(QFrame::Box) however requires QFrame to be imported @@ -84,9 +86,9 @@ static QString pythonResource(QString resource) const qsizetype lastSlash = resource.lastIndexOf(u'/'); if (lastSlash != -1) resource.remove(0, lastSlash + 1); - if (resource.endsWith(QLatin1String(".qrc"))) { + if (resource.endsWith(".qrc"_L1)) { resource.chop(4); - resource.append(QLatin1String("_rc")); + resource.append("_rc"_L1); } return resource; } @@ -210,7 +212,7 @@ bool WriteImports::addQtClass(const QString &className) void WriteImports::addPythonCustomWidget(const QString &className, const DomCustomWidget *node) { - if (className.contains(QLatin1String("::"))) + if (className.contains("::"_L1)) return; // Exclude namespaced names (just to make tests pass). if (addQtClass(className)) // Qt custom widgets like QQuickWidget, QAxWidget, etc @@ -225,7 +227,7 @@ void WriteImports::addPythonCustomWidget(const QString &className, const DomCust // Replace the '/' by '.' modulePath.replace(u'/', u'.'); // '.h' is added by default on headers for - if (modulePath.endsWith(QLatin1String(".h"))) + if (modulePath.endsWith(".h"_L1)) modulePath.chop(2); insertClass(modulePath, className, &m_customWidgets); } diff --git a/src/tools/uic/shared/language.cpp b/src/tools/uic/shared/language.cpp index b3583c2038..d763691456 100644 --- a/src/tools/uic/shared/language.cpp +++ b/src/tools/uic/shared/language.cpp @@ -32,6 +32,8 @@ namespace language { +using namespace Qt::StringLiterals; + static Encoding encoding = Encoding::Utf8; static Language _language = Language::Cpp; @@ -42,29 +44,29 @@ void setLanguage(Language l) _language = l; switch (_language) { case Language::Cpp: - derefPointer = QLatin1String("->"); + derefPointer = u"->"_s; listStart = '{'; listEnd = '}'; - nullPtr = QLatin1String("nullptr"); - operatorNew = QLatin1String("new "); - qtQualifier = QLatin1String("Qt::"); - qualifier = QLatin1String("::"); - self = QLatin1String(""); // for testing: change to "this->"; - eol = QLatin1String(";\n"); - emptyString = QLatin1String("QString()"); + nullPtr = u"nullptr"_s; + operatorNew = u"new "_s; + qtQualifier = u"Qt::"_s; + qualifier = u"::"_s; + self = u""_s; // for testing: change to "this->"; + eol = u";\n"_s; + emptyString = u"QString()"_s; encoding = Encoding::Utf8; break; case Language::Python: - derefPointer = QLatin1String("."); + derefPointer = u"."_s; listStart = '['; listEnd = ']'; - nullPtr = QLatin1String("None"); - operatorNew = QLatin1String(""); - qtQualifier = QLatin1String("Qt."); - qualifier = QLatin1String("."); - self = QLatin1String("self."); - eol = QLatin1String("\n"); - emptyString = QLatin1String("\"\""); + nullPtr = u"None"_s; + operatorNew = u""_s; + qtQualifier = u"Qt."_s; + qualifier = u"."_s; + self = u"self."_s; + eol = u"\n"_s; + emptyString = u"\"\""_s; encoding = Encoding::Unicode; break; } @@ -81,9 +83,9 @@ QString self; QString eol; QString emptyString; -QString cppQualifier = QLatin1String("::"); -QString cppTrue = QLatin1String("true"); -QString cppFalse = QLatin1String("false"); +QString cppQualifier = "::"_L1; +QString cppTrue = "true"_L1; +QString cppFalse = "false"_L1; QTextStream &operator<<(QTextStream &str, const qtConfig &c) { @@ -125,7 +127,7 @@ const char *lookupEnum(const EnumLookup(&array)[N], int value, int defaultIndex QString fixClassName(QString className) { if (language() == Language::Python) - className.replace(cppQualifier, QLatin1String("_")); + className.replace(cppQualifier, "_"_L1); return className; } diff --git a/src/tools/uic/uic.cpp b/src/tools/uic/uic.cpp index 5fa5661f87..7c32bc5837 100644 --- a/src/tools/uic/uic.cpp +++ b/src/tools/uic/uic.cpp @@ -47,6 +47,8 @@ QT_BEGIN_NAMESPACE +using namespace Qt::StringLiterals; + Uic::Uic(Driver *d) : drv(d), out(d->output()), @@ -169,7 +171,7 @@ void Uic::writeCopyrightHeaderPython(const DomUI *ui) const static double versionFromUiAttribute(QXmlStreamReader &reader) { const QXmlStreamAttributes attributes = reader.attributes(); - const QString versionAttribute = QLatin1String("version"); + const QString versionAttribute = "version"_L1; if (!attributes.hasAttribute(versionAttribute)) return 4.0; const QStringView version = attributes.value(versionAttribute); @@ -180,7 +182,7 @@ DomUI *Uic::parseUiFile(QXmlStreamReader &reader) { DomUI *ui = nullptr; - const QString uiElement = QLatin1String("ui"); + const QString uiElement = "ui"_L1; while (!reader.atEnd()) { if (reader.readNext() == QXmlStreamReader::StartElement) { if (reader.name().compare(uiElement, Qt::CaseInsensitive) == 0 @@ -195,7 +197,7 @@ DomUI *Uic::parseUiFile(QXmlStreamReader &reader) ui = new DomUI(); ui->read(reader); } else { - reader.raiseError(QLatin1String("Unexpected element ") + reader.name().toString()); + reader.raiseError("Unexpected element "_L1 + reader.name().toString()); } } } @@ -231,7 +233,7 @@ bool Uic::write(QIODevice *in) const QString &language = ui->attributeLanguage(); driver()->setUseIdBasedTranslations(ui->attributeIdbasedtr()); - if (!language.isEmpty() && language.compare(QLatin1String("c++"), Qt::CaseInsensitive) != 0) { + if (!language.isEmpty() && language.compare("c++"_L1, Qt::CaseInsensitive) != 0) { fprintf(stderr, "uic: File is not a \"c++\" ui file, language=%s\n", qPrintable(language)); return false; } @@ -266,8 +268,7 @@ bool Uic::write(DomUI *ui) } pixFunction = ui->elementPixmapFunction(); - if (pixFunction == QLatin1String("QPixmap::fromMimeSource") - || pixFunction == QLatin1String("qPixmapFromMimeSource")) { + if (pixFunction == "QPixmap::fromMimeSource"_L1 || pixFunction == "qPixmapFromMimeSource"_L1) { fprintf(stderr, "%s: Warning: Obsolete pixmap function '%s' specified in the UI file.\n", qPrintable(opt.messagePrefix()), qPrintable(pixFunction)); pixFunction.clear(); @@ -315,9 +316,9 @@ void Uic::writeHeaderProtectionEnd() bool Uic::isButton(const QString &className) const { static const QStringList buttons = { - QLatin1String("QRadioButton"), QLatin1String("QToolButton"), - QLatin1String("QCheckBox"), QLatin1String("QPushButton"), - QLatin1String("QCommandLinkButton") + "QRadioButton"_L1, "QToolButton"_L1, + "QCheckBox"_L1, "QPushButton"_L1, + "QCommandLinkButton"_L1 }; return customWidgetsInfo()->extendsOneOf(className, buttons); } @@ -325,10 +326,10 @@ bool Uic::isButton(const QString &className) const bool Uic::isContainer(const QString &className) const { static const QStringList containers = { - QLatin1String("QStackedWidget"), QLatin1String("QToolBox"), - QLatin1String("QTabWidget"), QLatin1String("QScrollArea"), - QLatin1String("QMdiArea"), QLatin1String("QWizard"), - QLatin1String("QDockWidget") + "QStackedWidget"_L1, "QToolBox"_L1, + "QTabWidget"_L1, "QScrollArea"_L1, + "QMdiArea"_L1, "QWizard"_L1, + "QDockWidget"_L1 }; return customWidgetsInfo()->extendsOneOf(className, containers); @@ -337,7 +338,7 @@ bool Uic::isContainer(const QString &className) const bool Uic::isMenu(const QString &className) const { static const QStringList menus = { - QLatin1String("QMenu"), QLatin1String("QPopupMenu") + "QMenu"_L1, "QPopupMenu"_L1 }; return customWidgetsInfo()->extendsOneOf(className, menus); } -- cgit v1.2.3