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/driver.cpp | |
parent | bc8633036cb38de3dd8c27eb1e1f6a3aa39f1190 (diff) | |
download | qtbase-5b8676578de276bf5db68d08ef8d7fb65c8ec8e0.tar.gz |
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/driver.cpp')
-rw-r--r-- | src/tools/uic/driver.cpp | 14 |
1 files changed, 10 insertions, 4 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) |