uic: Fix string list properties for Python
Use the opportunity to modernize the code to use an initializer list instead of stream operators. This then makes it easier to generate a comma-delimited list that works for Python as well. Fixes: PYSIDE-1942 Change-Id: I5291b55bd0685e06ad62e52c7ebccffce98e9c23 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>bb10
parent
1e39b86bdc
commit
613b52bfee
|
|
@ -1128,18 +1128,35 @@ QString WriteInitialization::writeStringListProperty(const DomStringList *list)
|
|||
{
|
||||
QString propertyValue;
|
||||
QTextStream str(&propertyValue);
|
||||
str << "QStringList()";
|
||||
const QStringList values = list->elementString();
|
||||
if (values.isEmpty())
|
||||
return propertyValue;
|
||||
if (needsTranslation(list)) {
|
||||
const QString comment = list->attributeComment();
|
||||
for (int i = 0; i < values.size(); ++i)
|
||||
str << '\n' << m_indent << " << " << trCall(values.at(i), comment);
|
||||
} else {
|
||||
for (int i = 0; i < values.size(); ++i)
|
||||
str << " << " << language::qstring(values.at(i), m_dindent);
|
||||
char trailingDelimiter = '}';
|
||||
switch (language::language()) {
|
||||
case Language::Cpp:
|
||||
str << "QStringList{";
|
||||
break;
|
||||
case Language::Python:
|
||||
str << '[';
|
||||
trailingDelimiter = ']';
|
||||
break;
|
||||
}
|
||||
const QStringList values = list->elementString();
|
||||
if (!values.isEmpty()) {
|
||||
if (needsTranslation(list)) {
|
||||
const QString comment = list->attributeComment();
|
||||
const qsizetype last = values.size() - 1;
|
||||
for (qsizetype i = 0; i <= last; ++i) {
|
||||
str << '\n' << m_indent << " " << trCall(values.at(i), comment);
|
||||
if (i != last)
|
||||
str << ',';
|
||||
}
|
||||
} else {
|
||||
for (qsizetype i = 0; i < values.size(); ++i) {
|
||||
if (i)
|
||||
str << ", ";
|
||||
str << language::qstring(values.at(i), m_dindent);
|
||||
}
|
||||
}
|
||||
}
|
||||
str << trailingDelimiter;
|
||||
return propertyValue;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue