diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-06-10 10:14:20 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-06-10 13:14:31 +0200 |
commit | ad09e1b8e1ab7232023c05263c9cf377efc7d6c7 (patch) | |
tree | ed2795571adeac9a59adacacc5bbe65a42bf4f70 /tools | |
parent | 95b2f517c5cd37b0cfb051d07fbe32bdead63763 (diff) |
qtpy2cpp: Qualify the Qt namespace with "::" instead of "->"
Pick-to: 6.3
Task-number: PYSIDE-1945
Change-Id: I1be5386df81bd548a72b86dfee1474a6c8b941a2
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/qtpy2cpp_lib/formatter.py | 7 | ||||
-rw-r--r-- | tools/qtpy2cpp_lib/visitor.py | 6 |
2 files changed, 10 insertions, 3 deletions
diff --git a/tools/qtpy2cpp_lib/formatter.py b/tools/qtpy2cpp_lib/formatter.py index 07f733424..98ba3f095 100644 --- a/tools/qtpy2cpp_lib/formatter.py +++ b/tools/qtpy2cpp_lib/formatter.py @@ -120,18 +120,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 367d8679f..d45d79b9d 100644 --- a/tools/qtpy2cpp_lib/visitor.py +++ b/tools/qtpy2cpp_lib/visitor.py @@ -381,7 +381,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): |