aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2022-06-10 10:14:20 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-06-10 13:25:03 +0000
commitaa6ba3ffe267d7d043300f012c5d726b6108c28e (patch)
treec218a93d7f8dd167efe399f32dcfc24a1f9edadc
parent1392fe1f6f56426056f65b2baccfb440dd420e13 (diff)
qtpy2cpp: Qualify the Qt namespace with "::" instead of "->"
Task-number: PYSIDE-1945 Change-Id: I1be5386df81bd548a72b86dfee1474a6c8b941a2 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit ad09e1b8e1ab7232023c05263c9cf377efc7d6c7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--tools/qtpy2cpp_lib/formatter.py7
-rw-r--r--tools/qtpy2cpp_lib/visitor.py6
2 files changed, 10 insertions, 3 deletions
diff --git a/tools/qtpy2cpp_lib/formatter.py b/tools/qtpy2cpp_lib/formatter.py
index 8e3ba72c1..47995ba59 100644
--- a/tools/qtpy2cpp_lib/formatter.py
+++ b/tools/qtpy2cpp_lib/formatter.py
@@ -156,18 +156,21 @@ def format_literal_list(l_node, enclosing='{'):
return result
-def format_member(attrib_node, qualifier='auto'):
+def format_member(attrib_node, qualifier_in='auto'):
"""Member access foo->member() is expressed as an attribute with
further nested Attributes/Names as value"""
n = attrib_node
result = ''
# Black magic: Guess '::' if name appears to be a class name
- if qualifier == 'auto':
+ qualifier = qualifier_in
+ if qualifier_in == 'auto':
qualifier = '::' if n.attr[0:1].isupper() else '->'
while isinstance(n, ast.Attribute):
result = n.attr if not result else n.attr + qualifier + result
n = n.value
if isinstance(n, ast.Name) and n.id != 'self':
+ if qualifier_in == 'auto' and n.id == "Qt": # Qt namespace
+ qualifier = "::"
result = n.id + qualifier + result
return result
diff --git a/tools/qtpy2cpp_lib/visitor.py b/tools/qtpy2cpp_lib/visitor.py
index abc1f4b88..bf66aa581 100644
--- a/tools/qtpy2cpp_lib/visitor.py
+++ b/tools/qtpy2cpp_lib/visitor.py
@@ -417,7 +417,11 @@ class ConvertVisitor(ast.NodeVisitor, CppFormatter):
def visit_Slice(self, node):
self._output_file.write("[")
- self.generic_visit(node)
+ if node.lower:
+ self.visit(node.lower)
+ self._output_file.write(":")
+ if node.upper:
+ self.visit(node.upper)
self._output_file.write("]")
def visit_Str(self, node):