summaryrefslogtreecommitdiffstats
path: root/src/tools/uic/cpp/cppwriteinitialization.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-01-061-13/+16
|\| | | | | | | | | | | | | Conflicts: src/corelib/kernel/qvariant.h Change-Id: I8f3873e74b9795ac889e7c7ec5de2619bca92160
| * uic: setWeight replace semi-colon by language::eolCristián Maureira-Fredes2020-01-051-1/+1
| | | | | | | | | | Change-Id: I87f9c2896cfd6f83f683cf731e4a62aef627d69c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * uic: Add colon missing for "if()" constructs in PythonFriedemann Kleint2020-01-031-5/+10
| | | | | | | | | | | | Task-number: PYSIDE-1169 Change-Id: I63c5305b0ddad1c4fcd585b65c3c78c05b40bac1 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
| * uic: Fix empty strings for PythonFriedemann Kleint2020-01-031-7/+5
| | | | | | | | | | | | | | | | Introduce a constant in the language namespace. Fixes: PYSIDE-1174 Change-Id: Ic3e58580b20c1d9a6ddf97f20709a3046d4b6f0c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-12-271-2/+2
|\| | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/plugins/platforms/xcb/qxcbscreen.cpp src/widgets/accessible/qaccessiblewidget.cpp Change-Id: Ib3138e61ba7981610940509a7ff02ba2dd281bf0
| * uic: Rename raise() to raise_() for PythonCristián Maureira-Fredes2019-12-191-2/+2
| | | | | | | | | | | | Fixes: QTBUG-80791 Change-Id: Ia6339b8c683147456cdffa7f2d45972e8eacd92c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | uic: Remove some usages of QListFriedemann Kleint2019-11-131-4/+4
|/ | | | | | Task-number: QTBUG-79896 Change-Id: I298a434040fa903509685b7cde82bbea722f3246 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* uic: Add language::eol in more cases for python codeCristián Maureira-Fredes2019-10-251-18/+18
| | | | | Change-Id: I0ab4b37399d3fba6d27cf90cab22676a3c599e5a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Uic: fix crash when trying to resource icon informationChristian Ehrlicher2019-10-211-1/+1
| | | | | | | | | | Fix a typo introduced in be56db2c49be02fd7083c5a02131462748e29bef to avoid a crash when a pixmap is given for selected on but not for selected off. Fixes: QTBUG-79125 Change-Id: I84072b6b4e8a4d21684be21f5bff1deeaddbba6d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* uic: Avoid use of Q_UNUSED in the generated codehjk2019-07-301-2/+3
| | | | | | | | | | | | | | | | | | | Instead, use (void)x; directly. The current use of Q_UNUSED(x); generates warnings for an empty statement the expansion of Q_UNUSED contains a semicolon already. Emitting Q_UNUSED(x) without the extra semicolon would be an option, too, but as the future of Q_UNUSED's embedded semicolon seems unclear right now, avoid its use altogether. The change affects only generated code that's barely ever read by a human, so the overall utility of "improved readability" of Q_UNUSED in that place is questionable anyway. Change-Id: I332527ed7c202f779bd82290517837e3ecf09a08 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* uic: Implement form window setting to disable QObject::connectSlotsByName()Friedemann Kleint2019-07-021-1/+4
| | | | | | Task-number: QTBUG-76375 Change-Id: I16ad147366aa7d52b7a0e17ae240127d8ac34b3c Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* uic: Fix remaining clang warningsFriedemann Kleint2019-06-281-9/+4
| | | | | | | | Fix remaining nullptr and member initialization issues which Qt Creator did not catch. Change-Id: If5492259aea9849c790f00809a27f4c78b446b9b Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* uic: Fix some clang warningsFriedemann Kleint2019-06-061-5/+2
| | | | | | | | | | | | | | | | | | | | - Use range-based for - Use isEmpty() instead .size(), streamline code - Fix warnings about class definitions, use Q_DISABLE_COPY_MOVE and '= default' for trivial constructors Change-Id: I76255fd9d80c3faffebda9a438e86e918c16d289 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* uic: Introduce nullptrFriedemann Kleint2019-06-111-4/+3
| | | | | | | | | | | | | | | | | Apply Fixits by Qt Creator. Change-Id: Ic2d65b2604d1d71d910773e02bcdf2466f49e52c Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* uic/Python: Fix tab stop/Z-Order and buddy handlingFriedemann Kleint2019-05-081-24/+14
| | | | | | | | | | | | | | | | | | | | | | | | The code compared the attribute names of the properties against the m_registeredWidgets hash which contained the qualified names (self.widget) and thus reported errors without actually generating anything. Replace the m_registeredWidgets hash by a lookup of the attribute name in the m_widgets hash and add a function widgetVariableName() returning the qualified variable name for an attribute name and use that for the checks. Remove unused m_registeredActions hash and rename some variables to make it clearer. Task-number: PYSIDE-797 Change-Id: Id31d95c1141d21c51eb85bcd8f8fc63486eb36a5 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* uic/Python: Generate empty strings as "" instead of QString()Friedemann Kleint2019-05-081-2/+4
| | | | | | Task-number: PYSIDE-797 Change-Id: I4ce12ba01318e5ed7e88178dfd2450d9fe78c708 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Deprecate conversion functions between QList and QSetLars Knoll2019-05-071-1/+1
| | | | | | | | | | Users should use range constructors instead to do the conversion. Keep conversion methods between QList and QVector as these will turn into a no-op in Qt 6, whereas forcing people to use range constructors would lead to deep copies of the data. Change-Id: Id9fc9e4d007044e019826da523e8418857c91283 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Prefix textstream operators with Qt::Lars Knoll2019-05-021-5/+5
| | | | | | | As the non prefixed variants are deprecated Change-Id: I2ba09d71b9cea5203b54297a3f2332e6d44fedcf Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* uic: Do not generate Q_UNUSED for PythonFriedemann Kleint2019-04-161-1/+1
| | | | | | Task-number: PYSIDE-797 Change-Id: Id269af024c03c2c586d440659bb6c49c3d6eedc6 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* uic: Port WriteInitialization::writeBrush() be able to generate PythonFriedemann Kleint2019-04-121-19/+27
| | | | | | Task-number: PYSIDE-797 Change-Id: I7c4e204a5ac9be2dee8f06c38323a15a0372fe5c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* uic: Refactor WriteInitialization::writeIconProperties() and add PythonFriedemann Kleint2019-04-121-43/+64
| | | | | | | | | Unfold the function with returns to reduce nesting and add language handling. Task-number: PYSIDE-797 Change-Id: Ie6c47745b118d75c0bb2c9eea7d52c8f0377f1a6 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* uic: Fix enum values for PythonFriedemann Kleint2019-04-081-77/+96
| | | | | | | | Add a helper for replacing "::" by "." for Python. Task-number: PYSIDE-797 Change-Id: I017d430b0b8b2ffbbd3300d583603924fee4d479 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* uic: Port method calls to pythonFriedemann Kleint2019-04-081-128/+215
| | | | | | | | | Use the language helper for dereferencing pointers and end of line. Task-number: PYSIDE-797 Change-Id: Icbca9015f2a3e8800ad4a56edf8fef9ee43f4528 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* uic: Adapt connection syntax to PythonFriedemann Kleint2019-04-051-17/+25
| | | | | | | | | | Extend WriteInitialization::findDeclaration() to return the class name (on this occasion preparing for generating Qt 5 connection syntax) and add a helper function for formatting the connection. Task-number: PYSIDE-797 Change-Id: I7507f604c8275c93d347b7a6a5d5b5a2a5f3ffd5 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* uic: Add pythonFriedemann Kleint2019-04-051-33/+41
| | | | | | | | | | | | - Add command line option - Add import (include) handling - Add language helpers like streamable classes for Function definition, object instantiation - Implement header comment formatting Task-number: PYSIDE-797 Change-Id: I15041ab16504ea159f6665781a829cd548585af1 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* uic: Refactor string constant formattingFriedemann Kleint2019-04-051-68/+68
| | | | | | | | | Refactor the fixString() helper, moving the code into a streamable class using a helper which can be used for different encodings. Task-number: PYSIDE-797 Change-Id: I0f82945b6b334da8524882dda2f104327eba79d4 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* uic: Refactor reverse name lookupFriedemann Kleint2019-04-021-19/+18
| | | | | | | | | | | | | | | | Add a helper routine to look up the dom classes by attribute name and change Driver::widgetByName() and Driver::actionByName() to use that as does Driver::actionGroupByName() (all these functions are called with names from the XML files). Remove the name normalization in WriteInitialization::findDeclaration() and refactor WriteInitialization::acceptActionRef() to call findOrInsert() to correctly use the unique name. Task-number: PYSIDE-797 Change-Id: I34058361964719c442182faf798f055f11b40412 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-151-1/+1
|\ | | | | | | Change-Id: I2bf3b4ceb79364330eae4cbf3cdee9a82d1be46d
| * uic: write out min/maximumSectionSize property before current sizeChristian Ehrlicher2019-03-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since faff43348bfae5cfc709fabe9d2698fc3063c050 the min/maxSectionSize is respected when setting the current/default section size programatically. This is not honored when writing out the properties and therefore the default section size is not correctly set when it's smaller then the default minimum section size. Therefore make sure to set min/maxSectionSize property before all other properties. Fixes: QTBUG-74352 Change-Id: I8f9ede3e90b7c9c65f8440953b00e1d9d6006d38 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* | uic: Fix broken icon code generationFriedemann Kleint2019-01-231-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | Change b86d0b62156993936bf93169a895a92ad60adf7d rearranged the sequence of function calls when generating code adding QTabWidget and QToolBox pages, not taking into account that the iconCall() has a side effect (writing out icon definition) Revert that part and add a comment. Fixes: QTBUG-72980 Task-number: PYSIDE-797 Change-Id: Ie8fbaa36f21cd4408fb1f491195da5c260708e6c Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* | uic: Refactor CustomWidgetsInfo::extends()Friedemann Kleint2019-01-101-22/+32
| | | | | | | | | | | | | | | | | | | | | | | | Add a extendsOneOf() helper that takes a QStringList to be searched and simplify the code accordingly. In WriteInitialization::acceptWidget(), move the variable CustomWidgetsInfo *cwi up and reuse everywhere to shorten code. Task-number: PYSIDE-797 Change-Id: I331e135b6aa58dbbd413ca151eb67b3eb92f09c6 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-12-151-1/+18
|\| | | | | | | Change-Id: Iad06d8c07dfc288c9d1a9f7ee3520285cea60546
| * uic: Generate version check macros around newly introduced palette color roleFriedemann Kleint2018-12-141-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | Change ebd3a13b807c6af2684b42d3912549caf7ef82aa introduced a new QPaletter::PlaceholderText color role which causes the uic-generated code not to compile when using Qt Designer embedded in Qt Creator with older (5.9 LTS) kits. Generate a version check macro to fix this. Change-Id: I6d9f7edb0c6047c2f64ef3357b29f91655c52aac Fixes: QTBUG-72555 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: André Hartmann <aha_1980@gmx.de>
* | uic: Refactor DOM class lookup in class DriverFriedemann Kleint2018-12-131-2/+2
| | | | | | | | | | | | | | | | | | Change the API to take const Dom * classes and use a helper function to do the insertion. Task-number: PYSIDE-797 Change-Id: I079f5c92bae85d6246c14077db06e381b572cda5 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* | uic: No longer generate static_cast for enum values in legacy formsFriedemann Kleint2018-12-131-24/+15
| | | | | | | | | | | | | | | | | | Add a lookup for the affected enum values and use the names instead. Task-number: PYSIDE-797 Change-Id: I6be166409000aff83d9465c9a3b2f37b44c5c085 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* | uic: Small refactoringsFriedemann Kleint2018-12-121-92/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Do not use QString::number() to stream numbers. - Do not use QLatin1String/Char to stream strings or characters. - Add a convenience methods to determine the container page add method for simple containers. - Similarly, extract a method to determine the layout method and simplify the code accordingly. - Fix Clang warnings about else if after return/continue. - Use QString::isEmpty() instead of size() to check emptiness. - Fix QHash-contains()/value() Antipattern Task-number: PYSIDE-797 Change-Id: I9c61d20f46c8d142b947126a27faaf54b41f9e0c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* | uic: Generate correctly qualified invocation of QCoreApplication::translate()Friedemann Kleint2018-12-031-1/+1
| | | | | | | | | | | | | | | | | | Change QApplication::translate() to QCoreApplication::translate() in generator and tests. Task-number: PYSIDE-797 Change-Id: I0bbaf1f280b74b3b2a701a39203c059ab82fce1f Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* | uic: Remove unused codeFriedemann Kleint2018-12-031-20/+1
| | | | | | | | | | | | Task-number: PYSIDE-797 Change-Id: I6958ad76c138dcb4126cda8b26f23311963d6d37 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* | uic: Generate code for container page tooltips using the Qt configure systemFriedemann Kleint2018-11-191-12/+18
| | | | | | | | | | | | | | | | | | | | Previously, the generation of this code was #ifdefed in uic itself. However, the #ifdef should be in the generated code (anticipating the cmake port where host and target builds might differ). Task-number: PYSIDE-797 Change-Id: I46255f852f5f6a3d95d3a20456b6f00f2067a3fe Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* | uic: Use the Qt configure system when generating codeFriedemann Kleint2018-11-131-36/+55
|/ | | | | | | | | | Replace the generation of #ifdef's for the macros by QT_CONFIG checks. Implement it using streamable classes to make it easier to switch the output language later. Task-number: PYSIDE-797 Change-Id: I28b5ed3ec80cd525a3df0cd54d9be4f09149cde4 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* uic: Write the float and double properties in 'f' formatJarek Kobus2018-10-051-2/+2
| | | | | | | | Make the code consistent with the DomProperty::write() method. Task-number: QTBUG-70613 Change-Id: I622b4a019a4473823584de97304f8324f2cf0c6b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* uic: Fix pixmap functions for QIconFriedemann Kleint2018-09-061-2/+55
| | | | | | Task-number: QTBUG-8563 Change-Id: I69b16ac2327fee6dd6f26845bdda60ad4dde56fa Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* uic: Fix clang-tidy warningsFriedemann Kleint2018-08-031-43/+38
| | | | | | | | | | - Simplify/streamline if statmenents - Change else if to if after return/break/continue - Use isEmpty() for containers instead of checking size() - Replace index-based loops by range-based for Change-Id: I008228a99082a4d0e27be9f6c6af392602140b2f Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* uic: Revert the microoptimization patch introducing QStringLiteralJarek Kobus2018-07-191-51/+63
| | | | | | | | | | | | | | | | | | | | This reverts the following commits: d12d2949d1e4ac08a47928ef27bc45459b3fb104 26c3bec09bccf9006f5ef4945a428d9ef56c1d12 49b08f96e824f49fab9aa5c9a1a0ed582d4558bb We can't easily predict all code paths for QDesigner with such a microoptimization. We also don't want to generate three different string constructions depending on some sophisticated heuristics. [ChangeLog][uic] The -no-stringliteral option is now deprecated and UIC will not generate QStringLiteral anymore. Task-number: QTBUG-65251 Task-number: QTBUG-51602 Change-Id: I34a5a1934a8df19c5c84ac2ba8e5168ce5665037 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* uic: Support id-based translationsFriedemann Kleint2018-01-181-5/+8
| | | | | | | | | Use Ids from newly introduced id attribute depending on the global form setting. Change-Id: I0a5094d5543c0714c88511fa159b60afc9be3c81 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* uic: Fix clazy warnings clazy-qstring-left, clazy-unused-non-trivial-variableFriedemann Kleint2017-10-271-1/+1
| | | | | | Change-Id: Ibbb9a85dba7773bb70298906bc370b4e24d7d901 Reviewed-by: Robert Loehning <robert.loehning@qt.io> Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* uic: Use nullptr instead of Q_NULLPTR in generated codeAlexander Volkov2017-08-281-1/+1
| | | | | | | | nullptr can be used directly in the Qt code since Qt 5.7. Use it in generated code for consistency. Change-Id: I249aeaf0a39b46ce1106b29d3ea4569a399908b7 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* uic: Add -no-stringliteral optionAlexander Volkov2017-08-031-4/+19
| | | | | | | | | | | | | ... and use it when building shared libraries and plugins. It prevents application crashes in cases when libraries and plugins are unloaded and their strings are still used by the main application. Task-number: QTBUG-51602 Change-Id: I4af79183f18c5ed6142d55af02a36fe4334f3fee Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* uic: Don't clear and readd combobox items in retranslateUiJarek Kobus2017-07-051-46/+16
| | | | | | | Task-number: QTBUG-61778 Change-Id: If7a15ef69fcfe459f177ff8b671f53a6022ab335 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-06-191-3/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qprocess_unix.cpp src/corelib/io/qprocess_win.cpp src/plugins/platforms/android/qandroidplatformintegration.h src/plugins/platforms/windows/qwindowscontext.cpp src/plugins/platforms/windows/windows.pri src/tools/uic/cpp/cppwriteinitialization.cpp src/widgets/doc/src/widgets-and-layouts/gallery.qdoc Change-Id: I8d0834c77f350ea7540140c2c7f372814afc2d0f