diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-11-28 15:02:25 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-04-05 08:29:19 +0000 |
commit | 5b8676578de276bf5db68d08ef8d7fb65c8ec8e0 (patch) | |
tree | 165fd06ff67c7f30050a37d60daa51ae8dcd14eb /src/tools/uic | |
parent | bc8633036cb38de3dd8c27eb1e1f6a3aa39f1190 (diff) |
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 <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'src/tools/uic')
-rw-r--r-- | src/tools/uic/driver.cpp | 14 | ||||
-rw-r--r-- | src/tools/uic/driver.h | 3 |
2 files changed, 12 insertions, 5 deletions
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 <language.h> + #include <qfileinfo.h> #include <qdebug.h> @@ -63,17 +65,21 @@ const DomClass *Driver::findByAttributeName(const DomObjectHash<DomClass> &domHa template <class DomClass> QString Driver::findOrInsert(DomObjectHash<DomClass> *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<DomClass> &domHash, const QString &name) const; template <class DomClass> - QString findOrInsert(DomObjectHash<DomClass> *domHash, const DomClass *dom, const QString &className); + QString findOrInsert(DomObjectHash<DomClass> *domHash, const DomClass *dom, const QString &className, + bool isMember = true); Option m_option; QTextStream m_stdout; |