summaryrefslogtreecommitdiffstats
path: root/tools/qqem/effectmanager.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Mark the whole repo with QT_NO_URL_CAST_FROM_STRINGAhmad Samir7 days1-2/+2
| | | | | | Pick-to: 6.11 Change-Id: I4d56518de33f1f10937562171961433217495afd Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* QQEM: mark security critical source filesKaj Grönholm2025-04-241-0/+1
| | | | | | | | | | | These files read/write data (QSettings, .qep, .qen, .qsb files) or process user input (glsl code, uniforms, properties). More information: https://contribute.qt-project.org/quips/23 Fixes: QTBUG-135769 Change-Id: I24f74e9d6ef8458e311cfd300284690d50232a27 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Support for not exporting imagesKaj Grönholm2023-04-241-1/+14
| | | | | | | | | | | Add support for optionally not exporting image properties, meaning not creating Image element or copying images. UI adjustments to make the checkbox fit nicely. Task-number: QTBUG-113019 Pick-to: 6.5 Change-Id: I90a9b5dd10c4559f52295434eb247173fdf9e743 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Store headings as arrayKaj Grönholm2023-02-161-3/+11
| | | | | | | | | | | | Store headings as an array instead of a single string. This is better for CI and also matches with the way sources are stored. Task-number: QTBUG-110977 Pick-to: 6.5 6.4 Change-Id: Ib569718364d7514975e79b3878ecff7d60c1dc71 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Amr Elsayed <amr.elsayed@qt.io> Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io>
* Support adding headings into the exported QML componentKaj Grönholm2023-02-151-0/+22
| | | | | | | | | | | Support saving headings into the projects. These headings will be added into the beginning of exported QML effects. This is useful e.g. when some license text is required in the components. Task-number: QTBUG-110977 Pick-to: 6.5 6.4 Change-Id: I1ab2ba2940d82090edc89e8f24a2a3b6a1e5bc17 Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io>
* Improve the exported QML componentKaj Grönholm2023-02-151-23/+37
| | | | | | | | | | | | | | - Most of the properties inside the ShaderEffect can be aliases to not allocate extra memory. - Use Item instead of var for source properties. - Use anchors.fill instead of separate width & height. - Fix indent for exported & inside QQEM components. - Tweak the BlurHelper. Task-number: QTBUG-111150 Pick-to: 6.5 6.4 Change-Id: I44da77f94a9daec2d7af12bf7c39a18d27293ccb Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io>
* Rename blurMultiplier to match the MultiEffectKaj Grönholm2023-02-061-1/+1
| | | | | | | | | | | | | Rename BlurHelper blurMultiplier property to match what the MultiEffect uses. This differs from the common "nodeNamePropertyName" convertion, but makes it possible to have MultiEffect node in QQEM with the matching API. Task-number: QTBUG-109740 Pick-to: 6.5 6.4 Change-Id: Id286d786dadb2e42448454e6bce10b97b812fafc Reviewed-by: Amr Elsayed <amr.elsayed@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Add MultiEffect nodeKaj Grönholm2023-02-061-0/+1
| | | | | | | | | | | | | | Add a node which matches to Qt Quick MultiEffect features and API. This is useful as a starting point for adjusting / extending the MultiEffect with a custom effect. Also improve the error message when MultiEffect is missing BlurHelper. Task-number: QTBUG-109740 Pick-to: 6.5 6.4 Change-Id: I25757fce95d3a2d2d800ecbdb5528974fb7cd791 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Amr Elsayed <amr.elsayed@qt.io>
* Fix exporting empty comment linesKaj Grönholm2023-02-061-2/+6
| | | | | | | | Don't have any extra spaces in empty comment lines. Pick-to: 6.5 6.4 Change-Id: Ife7f553edd73ae2dca858588c16a446f553b26d2 Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io>
* Watch images for changesKaj Grönholm2023-01-241-1/+38
| | | | | | | | | | | Add QFileSystemWatcher to reload images when they change. This improves the usability when working on an effect with custom images. Task-number: QTBUG-110464 Pick-to: 6.5 6.4 Change-Id: Iaab5e7859b8c9fbe010b92da0608d7389cd0633a Reviewed-by: Amr Elsayed <amr.elsayed@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Fix default nodes initializationKaj Grönholm2023-01-241-0/+8
| | | | | | | | | | When cleaning the node view or opening a project, initialize properly the main node shaders. Pick-to: 6.5 6.4 Change-Id: I7ae1c2ddcace1c7fafab503cdb48069b2e6d5c6f Reviewed-by: Amr Elsayed <amr.elsayed@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Support for custom nodesKaj Grönholm2023-01-181-0/+6
| | | | | | | | | | | | | | | | Add support for loading custom nodes into Add Nodes dialog. There are 2 ways for users to load these: 1) Use the application settings dialog to add custom nodes paths. 2) Set QQEM_CUSTOM_NODES_PATH environment variable. The nodes from these paths will be loaded similarly to default nodes. Task-number: QTBUG-108699 Pick-to: 6.5 6.4 Change-Id: I3b968d79f4669381a6254354ef5649468d7cd06e Reviewed-by: Amr Elsayed <amr.elsayed@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Fix missing images after exportKaj Grönholm2023-01-111-1/+1
| | | | | | | | | | | When exporting inside the same directory, removing & copying images should be skipped. For this to work, test for the same path needs to be case insensitive as e.g. "C:" and "c:" are the same thing. Task-number: QTBUG-110047 Pick-to: 6.5 Change-Id: Ic8880b302d28292ba2815f45c79ac18f739693c6 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Support selecting QSB versionKaj Grönholm2023-01-111-8/+18
| | | | | | | | | | | | | | Allow selecting QSB file version when exporting the effect. Currently options are lates (default), Qt 6.5 or Qt 6.4 compatibility format. Allow exporting only when there are no shader errors. Requires related patch to qtbase. Task-number: QTBUG-101062 Pick-to: 6.5 Change-Id: Id63f57c1fee053f85d21cd23e7a7e23a8a1bf8b7 Reviewed-by: Amr Elsayed <amr.elsayed@qt.io> Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io>
* Fix build: s/qAsConst/std::as_const/Thiago Macieira2023-01-101-1/+1
| | | | | | Pick-to: 6.5 Change-Id: Ide4dbd0777a44ed0870efffd173903eb3819ed76 Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io>
* Improve BlurHelperKaj Grönholm2023-01-101-2/+2
| | | | | | | | | | | | | | Remove separate ShaderEffectSources and instead use BlurItem ShaderEffects directly as sources. Use iSource as the first item to avoid extra ShaderEffectSource. Round the first bluritem to 16, with max 5 blur items that is enough (16,8,4,2,1). Add blurItemSize property into BlurHelper so user can adjust quality/performance. Pick-to: 6.5 Change-Id: I32a677d707ccd23d5c224382690ec4dcead4ce90 Reviewed-by: Amr Elsayed <amr.elsayed@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Don't create images without sourceKaj Grönholm2023-01-101-10/+9
| | | | | | | | | | | | Sometimes image property doesn't have default value. In these cases, make the property point to null and don't create Image element. Also unify the image element naming code. Task-number: QTBUG-109852 Pick-to: 6.5 Change-Id: I5fc51b8febe08bdab3157ccfc98a6afb27266aa9 Reviewed-by: Amr Elsayed <amr.elsayed@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Improve file dialogs behaviorKaj Grönholm2023-01-031-1/+31
| | | | | | | | | | | | | Set the different file dialogs current folders either based on open project path (e.g. Save as), default resources location (e.g. empty images) or currently selected file (e.g. image properties). Some helper methods for file handling. Task-number: QTBUG-109625 Pick-to: 6.5 Change-Id: I073ceed76a4bffdc152a9430ac9e7939090c4952 Reviewed-by: Amr Elsayed <amr.elsayed@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Remove dependency on QQEM_DATA_PATHHatem ElKharashy2022-12-071-1/+1
| | | | | | | | | | | | | | | The executable exists in the bin folder. The lib and qml folder are parallel to this, which can be used to access the resources using relative path. Using QQEM_DATA_PATH that is set in CMakeLists made the path depends on the install directory on the build machine which made it not portable even inside the same machine. Fixes: QDS-8465 Change-Id: I5950f6c3dfb14aa8eab77c7921c5ad8912e05c56 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Adjust QQEM directory structureKaj Grönholm2022-11-241-0/+2285
Move source codes into "tools/qqem" to match other Qt modules. Adjust CMake files accordingly and to match other modules. Install binary into "[qt-install]/bin" and nodes content into "[qt-install]/qml/QtQuickEffectMaker". Task-number: QTBUG-108770 Change-Id: I2d8e52ecb67e908de24fdd61172f5c512cad8b25 Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io>