Commit Graph

40 Commits

Author SHA1 Message Date
Alessandro Portale
e9e37a7be7 EffectComposer: Fix copyright year in plugin metadata
Change-Id: I52742b05170a003a9dcc08eb1522a9e65825c96e
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2024-05-30 10:12:26 +00:00
The Qt Project
e7cf251abe Merge "Merge remote-tracking branch 'origin/qds/dev'" 2024-05-29 08:10:42 +00:00
Alessandro Portale
7bc65cf9f3 PluginSpecs: Change URLs from http:// to https://
Avoid the redirect that is inevitable nowerdays.

Also, change necessitas.kde.org to www.qt.io, since the orgininal page
is offline.

Change-Id: Ib1823f0df97d2df87822fd2bb7552e2f2c7e971e
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2024-05-28 20:13:29 +00:00
Miikka Heikkinen
1cd3667dce EffectComposer: Fix channel property saving
Channel properties were saved as regular int properties to .qep files,
making the property control incorrect once you reopened it in effect
composer.

Fixes: QDS-12835
Change-Id: I833763f385e64420bc5f1a1da9266869e739d3be
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-05-27 09:58:43 +00:00
Miikka Heikkinen
72b3f2a090 EffectComposer: Simplify temporary file handling
QTemporaryFile was used just to generate file names for shader files,
and the actual files didn't get removed at shutdown. There was also
a possibility of reloading effect quickly, which left additional
dangling compiled qsb files because they are generated asynchronously
with a separate process.

Now temporary shader files are gathered into one temporary directory,
which removes itself at shutdown, so dangling files won't be an issue.

Fixes: QDS-12711
Change-Id: I7ce682acb1a0d8d58b84129c4e0442c8fb63ac2f
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-05-27 07:32:05 +00:00
Mahmoud Badri
b0b1542814 QmlDesigner: Use QJsonValueConstRef instead of auto
This used to not build on linux. Doesnt seem the case anymore.

Change-Id: Ia58d388bfe4f5cc794b29f8e25a9a8d6b3f229c3
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
2024-04-26 13:23:32 +00:00
Miikka Heikkinen
3700eac9f3 EffectComposer: Remove invalid properties from effects in use
When effect is saved, the properties it exposed can change if nodes
are deleted from the effect. If any of those removed exposed properties
was assigned a value in the scene, those property assignments are
removed from the scene.

Fixes: QDS-12359
Change-Id: Ia3840584c6361b9e140c6840ff8fa3036c1b7d93
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2024-04-12 14:03:49 +00:00
Miikka Heikkinen
a5335f5371 EffectComposer: Remove use of native separators from file paths
Using native separators causes soft asserts in FilePath.

Change-Id: I45c5002a555a21dd3780ffd5c8df91b849a67c18
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
2024-04-12 14:03:41 +00:00
Miikka Heikkinen
00bbf37cff QmlDesigner: Fix composed drop shadow effect resize
Source width/height changes were not listened for. Added connections
for those. Note that Connections element was not used as it doesn't
seem to work in puppet.

Fixes: QDS-12395
Change-Id: I30abdfa3e7ea08b3f126fbafeab6cb522040f16b
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2024-04-12 07:57:51 +00:00
Miikka Heikkinen
eae76dedff QmlDesigner: Change asset import path
The only import path should be project root, so change things that
are generated under asset_imports to be generated in new folder
GeneratedComponents under project root. GeneratedComponents is prefixed
to the type names of generated items as well.

If project already contains asset_imports folder, then old location is
used.

Fixes: QDS-12430
Change-Id: I7a419fe1c5411e3d39bf3c1e659df0043c60ba33
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2024-04-11 12:52:27 +00:00
Shrief Gabr
1376139ec6 EffectComposer: Check if effect name is duplicate before saving
Task-number: QDS-12280
Change-Id: I42532ef8330ae518073a559edf7a41de834d98c9
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-04-02 11:14:20 +00:00
Miikka Heikkinen
e4429401d5 EffectComposer: Add extraMargin property for generated effects
Extra margin property is added to effects that can spill outside the
source item. This property specifies the amount of space outside the
item that the effect is allowed to use for rendering.

Fixes: QDS-11607
Change-Id: I36d7392593faa6deb99726eaa02184aa87aa3571
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
2024-03-22 13:40:25 +00:00
Shrief Gabr
002bfbf80f EffectComposer: Add 'reset' button for values
Task-number: QDS-11719
Change-Id: Ia03366bf109427fbcfe5cc1d4f68ae97fa8dc256
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-03-22 09:55:30 +00:00
Shrief Gabr
1ed3235e84 EffectComposer: Toggle "Assign to.." button based on component selection
Task-number: QDS-12148
Change-Id: I1f44df7c6c027c36c09f7c4d74e4dd609542c5b8
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-03-14 21:43:05 +00:00
Eike Ziller
3dbdad20dc Utils: Fix build with MSVC with C++20
Rename process.h back to qtcprocess.h

MSVC's "threads" standard header includes <process.h>, and that ends up
including our process.h from Utils.

There already was a hacky workaround in place for a similar issue with
MINGW, but that doesn't work with MSVC because that doesn't have

Simply use a name that doesn't conflict.

Change-Id: I1159cd2096b4f2dbc4a1728d0131dd6edd30ebd3
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
(cherry picked from commit 5af531cd39)
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-03-11 12:08:33 +00:00
Shrief Gabr
836c0a11e4 EffectComposer: Open effectComposerNodes/images by default in UrlChooser
Task-number: QDS-11464
Change-Id: I96bb7e359bd41637f0b1906a523c8a5de190981d
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-03-08 13:56:22 +00:00
Shrief Gabr
d786001fa1 EffectComposer: Add color channels to the Opacity Mask effect
Task-number: QDS-11417
Change-Id: Ie35e4da6c12a78fd808a6264f643ce2b3b1f62d2
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2024-03-08 09:31:37 +00:00
Tim Jenssen
56c4ba1db4 Merge remote-tracking branch 'origin/13.0' into qds/dev
Change-Id: I1d328f67a1c538e36a54f9660d5fb2840a6753df
2024-02-29 19:40:30 +01:00
Miikka Heikkinen
942b5b62bb EffectComposer: Silence warning
Change-Id: Id2cd48e3976b5bd33c8951d706f0186c7f8a8d87
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
2024-02-29 10:54:40 +00:00
Miikka Heikkinen
fb27084f38 EffectComposer: Generate property specifics for effects
With proper specifics sheet, the effect will show the available
properties nicely in property view.

Also introduced a new concept of FooBarSpecificsDynamic.qml
to provide property specifics. The difference to regular
FooBarSpecifics.qml file is that the dynamic version will
be reloaded always, which allows us to change it at runtime.

Fixes: QDS-11995
Change-Id: I744124182428c5c4607856e7970700d9a5e9972e
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2024-02-23 15:15:11 +00:00
Eike Ziller
a130343ab5 Fix i18n issues
Fix some missing Tr::, and some namespace usages that confused lupdate.

Change-Id: Ib5a411fc53a28a6b807600db50aacc68955ca5dc
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2024-02-21 10:06:41 +00:00
Miikka Heikkinen
f2b29195da QmlDesigner: Disable "Edit Component" for effect composer effects
These components are autogenerated and overwritten by effect composer,
so a regular user has no reason to modify them manually.

Fixes: QDS-9020
Change-Id: Ida6706f123a8304944a19364c59620b8d9b4adbb
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-02-20 12:48:41 +00:00
Miikka Heikkinen
f926cbaaca EffectComposer: Preserve expand state of effect node sections
Fixes: QDS-11974
Change-Id: I38d9efb8f05d5b0064fe9e85fdf4b624f5cef11f
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-02-20 10:17:24 +00:00
Tim Jenssen
adcac7cb6b Merge remote-tracking branch 'origin/13.0' into qds/dev
Change-Id: I242c01e82fc1b0db1f5e88c35d526f91dd022337
2024-02-13 14:33:35 +01:00
Miikka Heikkinen
93993c322e EffectComposer: Fix effect preview zoom
Zoom must scale the component showing the preview, not the source
image. This way the effect stays consistent regardless of the zoom
level.

Fixes: QDS-11899
Change-Id: I550eb9ff693c24a853f5c25d9d79fa146448663f
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-02-12 14:32:37 +00:00
Miikka Heikkinen
99f5b8a0af EffectComposer: Clear deleted effect if it is currently open
Fixes: QDS-11787
Change-Id: Iecd177a153e88a49476dbea0241c31726d05a6a8
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-02-08 15:12:54 +00:00
Jarek Kobus
ff1aa20892 QmlDesigner: Fix remaining C++20 warnings about [=] captures
Change-Id: Ia54208e5e72016f6ca22e0b005d479aac8f49929
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2024-02-07 11:20:13 +00:00
Miikka Heikkinen
c5f86ea0b5 QmlDesigner: Implement effect item visibility handling
Now effects made with effect composer can be hidden/shown using
visible property.

Fixes: QDS-11786
Change-Id: I44782246adfa3ba3cd0a8203fa67b3f5412535f7
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-02-06 15:22:27 +00:00
Miikka Heikkinen
ca9e72fe6c EffectComposer: Delete obsolete resource files at effect save
If a new version of same effect is saved, remove files that are
no longer part of the effect from the effect import dir after the save.

Fixes: QDS-11737
Change-Id: Iae4da39f9f4713c2e26f1b90263881c8c9e13d78
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-02-05 13:41:21 +00:00
Miikka Heikkinen
f985b1b091 EffectComposer: Allow 'define' properties to specify control type
Control type is used to determine the control presented for the property
in UI. Currently only int and bool control types are supported.

Also fixed the issue that changing define wouldn't update preview.
This was because changing define requires rebaking shaders, which is
not normally triggered on property change.

Fixes: QDS-11770
Change-Id: I953d827195565f765df1a09550c4a49da9c93c29
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-02-02 12:15:18 +00:00
Mahmoud Badri
7efab2c07e EffectComposer: Remove warnings and unused code from the model
Change-Id: I8171467e70d8d716b0598b0b533f216e5e0afc25
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
2024-02-02 11:52:30 +00:00
Mahmoud Badri
bcb231b37c EffectComposer: Don't reset view when switching files
Fixes: QDS-11713
Change-Id: Ic38d2fdf5105a5ecd623b8624fa028f6a45fe207
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2024-02-01 12:00:53 +00:00
Jarek Kobus
1eae66d558 EffectComposer: Fix a warning about unused arg
Amends 2122ff37f1

Change-Id: I71cd0227a6ad47b863de9546d6df59b3c67b31f0
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2024-02-01 10:02:28 +00:00
Tim Jenssen
a4d8348432 EffektComposer: Move plugin class definition to .cpp
And clean up a bit.

Change-Id: Ib3d69555ed3e05741570c9aa386e6b9c8ea449fa
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2024-01-31 19:19:38 +00:00
Miikka Heikkinen
e617fc96db EffectComposer: Fix generated code for mipmap effects
Mipmap effects need layer.smooth and layer.mipmap to work correctly.

Fixes: QDS-11793
Change-Id: I8f04ca9f144f51d0032d995c2bafdcb0c95ad73d
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-01-30 13:49:21 +00:00
Mahmoud Badri
217ff89827 EffectComposer: Disable effect composer on MCU projects
Fixes: QDS-11867
Change-Id: I2b405faf68623272fd674662b97cb3f0e50170e4
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2024-01-30 13:12:17 +00:00
Mahmoud Badri
7c9801ab46 EffectComposer: Add tracking to added effect nodes
Fixes: QDS-11783
Change-Id: Ief2e6647c00fa1402be11d7b2dd3f4fa25155665
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2024-01-29 15:36:10 +00:00
Miikka Heikkinen
2122ff37f1 EffectComposer: Consider effect changes to be part of current document
This will allow saving effects when current document is saved for any
reason, including at application shutdown.

If effect is not yet saved once (i.e. it doesn't have a name yet), it
will not be saved in response to global save triggers to avoid
complications with requiring user input to provide the name.

Fixes: QDS-11436
Fixes: QDS-11446
Change-Id: I412ee4893e926d527b4f03f5f6c0c9b4e923bc1e
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-01-29 15:32:18 +00:00
Mahmoud Badri
555552e10e EffectComposer: Fix clearing effect name upon starting a new project
Fixes: QDS-11780
Change-Id: I89a1d39a3dab18992b5fa8fae3f1340d42becac1
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2024-01-26 14:25:28 +00:00
Mahmoud Badri
33bbab25b6 QmlDesigner: Rename effect maker plugin files to effect composer
Change-Id: I1d09c1088b4067a479f2e7cc396a348f1b48614f
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2024-01-26 13:36:18 +00:00