From 5b8676578de276bf5db68d08ef8d7fb65c8ec8e0 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 28 Nov 2018 15:02:25 +0100 Subject: uic: Add qualification with "self." for Python Prepend "self." (this) to the name stored in the class Driver's hashes as specifying it is mandatory in Python. Task-number: PYSIDE-797 Change-Id: I1da110b84b2d1131ee6af915f9cc4ba21d7de710 Reviewed-by: Cristian Maureira-Fredes --- src/tools/uic/driver.cpp | 14 ++++++++++---- src/tools/uic/driver.h | 3 ++- 2 files changed, 12 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/tools/uic/driver.cpp b/src/tools/uic/driver.cpp index 7d690cd2fe..a0812932ce 100644 --- a/src/tools/uic/driver.cpp +++ b/src/tools/uic/driver.cpp @@ -30,6 +30,8 @@ #include "uic.h" #include "ui4.h" +#include + #include #include @@ -63,17 +65,21 @@ const DomClass *Driver::findByAttributeName(const DomObjectHash &domHa template QString Driver::findOrInsert(DomObjectHash *domHash, const DomClass *dom, - const QString &className) + const QString &className, bool isMember) { auto it = domHash->find(dom); - if (it == domHash->end()) - it = domHash->insert(dom, this->unique(dom->attributeName(), className)); + if (it == domHash->end()) { + const QString name = this->unique(dom->attributeName(), className); + it = domHash->insert(dom, isMember ? language::self + name : name); + } return it.value(); } QString Driver::findOrInsertWidget(const DomWidget *ui_widget) { - return findOrInsert(&m_widgets, ui_widget, ui_widget->attributeClass()); + // Top level is passed into setupUI(), everything else is a member variable + const bool isMember = !m_widgets.isEmpty(); + return findOrInsert(&m_widgets, ui_widget, ui_widget->attributeClass(), isMember); } QString Driver::findOrInsertSpacer(const DomSpacer *ui_spacer) diff --git a/src/tools/uic/driver.h b/src/tools/uic/driver.h index 1e50f78746..36336007b2 100644 --- a/src/tools/uic/driver.h +++ b/src/tools/uic/driver.h @@ -98,7 +98,8 @@ private: const DomClass *findByAttributeName(const DomObjectHash &domHash, const QString &name) const; template - QString findOrInsert(DomObjectHash *domHash, const DomClass *dom, const QString &className); + QString findOrInsert(DomObjectHash *domHash, const DomClass *dom, const QString &className, + bool isMember = true); Option m_option; QTextStream m_stdout; -- cgit v1.2.3