summaryrefslogtreecommitdiffstats
path: root/src/tools
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/uic/main.cpp8
-rw-r--r--src/tools/uic/option.h2
-rw-r--r--src/tools/uic/python/pythonwriteimports.cpp10
3 files changed, 17 insertions, 3 deletions
diff --git a/src/tools/uic/main.cpp b/src/tools/uic/main.cpp
index 467bcc5574..c2f117ec21 100644
--- a/src/tools/uic/main.cpp
+++ b/src/tools/uic/main.cpp
@@ -89,6 +89,11 @@ int runUic(int argc, char *argv[])
fromImportsOption.setDescription(QStringLiteral("Python: generate imports relative to '.'"));
parser.addOption(fromImportsOption);
+ // FIXME Qt 7: Flip the default?
+ QCommandLineOption rcPrefixOption(QStringLiteral("rc-prefix"));
+ rcPrefixOption.setDescription(QStringLiteral("Python: Generate \"rc_file\" instead of \"file_rc\" import"));
+ parser.addOption(rcPrefixOption);
+
// FIXME Qt 7: Remove?
QCommandLineOption useStarImportsOption(QStringLiteral("star-imports"));
useStarImportsOption.setDescription(QStringLiteral("Python: Use * imports"));
@@ -117,6 +122,9 @@ int runUic(int argc, char *argv[])
driver.option().forceStringConnectionSyntax = 1;
}
+ if (parser.isSet(rcPrefixOption))
+ driver.option().rcPrefix = 1;
+
Language language = Language::Cpp;
if (parser.isSet(generatorOption)) {
if (parser.value(generatorOption).compare("python"_L1) == 0)
diff --git a/src/tools/uic/option.h b/src/tools/uic/option.h
index 277655b3ad..9b4c98344f 100644
--- a/src/tools/uic/option.h
+++ b/src/tools/uic/option.h
@@ -24,6 +24,7 @@ struct Option
unsigned int forceMemberFnPtrConnectionSyntax: 1;
unsigned int forceStringConnectionSyntax: 1;
unsigned int useStarImports: 1;
+ unsigned int rcPrefix: 1; // Python: Generate "rc_file" instead of "file_rc" import
QString inputFile;
QString outputFile;
@@ -48,6 +49,7 @@ struct Option
forceMemberFnPtrConnectionSyntax(0),
forceStringConnectionSyntax(0),
useStarImports(0),
+ rcPrefix(0),
prefix(QLatin1StringView("Ui_"))
{ indent.fill(u' ', 4); }
diff --git a/src/tools/uic/python/pythonwriteimports.cpp b/src/tools/uic/python/pythonwriteimports.cpp
index a894a00a8d..a268f87bb4 100644
--- a/src/tools/uic/python/pythonwriteimports.cpp
+++ b/src/tools/uic/python/pythonwriteimports.cpp
@@ -56,14 +56,17 @@ static WriteImports::ClassesPerModule defaultClasses()
// Change the name of a qrc file "dir/foo.qrc" file to the Python
// module name "foo_rc" according to project conventions.
-static QString pythonResource(QString resource)
+static QString pythonResource(QString resource, bool prefix)
{
const qsizetype lastSlash = resource.lastIndexOf(u'/');
if (lastSlash != -1)
resource.remove(0, lastSlash + 1);
if (resource.endsWith(".qrc"_L1)) {
resource.chop(4);
- resource.append("_rc"_L1);
+ if (prefix)
+ resource.prepend("rc_"_L1);
+ else
+ resource.append("_rc"_L1);
}
return resource;
}
@@ -140,7 +143,8 @@ void WriteImports::acceptUI(DomUI *node)
const auto includes = resources->elementInclude();
for (auto include : includes) {
if (include->hasAttributeLocation())
- writeImport(pythonResource(include->attributeLocation()));
+ writeImport(pythonResource(include->attributeLocation(),
+ uic()->option().rcPrefix));
}
output << '\n';
}