aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/effectcomposer/effectshaderscodeeditor.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit '549a485bd128f40ce375c8f60d388c2a56861312' from qds/devhjk14 days1-26/+17
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '549a485bd128f40ce375c8f60d388c2a56861312': (479 commits) QmlDesigner: Use unqualifiedTypeName directly QmlDesigner: Use StringUtils::split_last in property editor QmlDesigner: Avoid usage of strings for types QmlDesigner: Fix various type issues QmlDesigner: Fix navigator tooltip previews QmlDesigner: Fix the maximum value on shadowMapFar property QmlDesigner: Remove missed full qualification QmlDesigner: Remove duplicate code QmlDesigner: Fix type in filter model QmlDesigner: Fix type names in path tool QmlDesigner: Fix types in timeline QmlDesigner: Refresh meta type for import changes QmlDesigner: Make standaloneApp true by default QmlDesigner: Qt login requires email address on the next login QmlDesigner; Fix tracing in declare type QmlDesigner: More tracing for set type id QmlDesigner: Add missing tracers in model QmlDesigner: Fix refresh of type ids QmlDesigner: Fix fileChanged and directoryLoaded in AssetsLibraryModel GoogleTest: update to v1.17.0 ... Change-Id: I40474de918a2cfd53121b75fb34041fda6fc96a9
| * EffectComposer: Remove all editor handlers from EffectComposerModelAli Kianian2025-08-111-26/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EffectShadersCodeEditor was used as a singleton, and was accessed by EffectComposerModel and its dependencies which was an antipattern. - EffectShadersCodeEditor is no longer a singleton. - EffectComposerModel and CompositionNode no longer access the editor directly. - ShaderEditorData should be created by the editor. A creation method has been introduced as a callable. - EffectComposerWidget now takes ownership of an instance of the editor. - EffectComposerModel is only implicitly affected by the editor to maintain the status of the editing item; it no longer controls the editor. Task-number: QDS-14894 Change-Id: I9764c615e38c82a83d93fb6e36a50b98b4ecef4c Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
* | QmlDesignerBase: Merge into QmlDesignerhjk2025-11-061-1/+1
|/ | | | | | | Needlessly complicated setup. Change-Id: I6b18d582f5eafe6fc726ba7d9910151108b23fec Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Merge remote-tracking branch 'origin/16.0' into HEADTim Jenssen2025-02-171-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | solved conflicts in: cmake/Utils.cmake src/libs/sqlite/sqliteids.h src/libs/utils/filepath.cpp src/plugins/effectcomposer/effectcomposermodel.cpp src/plugins/effectcomposer/effectcomposerview.cpp src/plugins/effectcomposer/effectshaderscodeeditor.h src/plugins/mcusupport/mcubuildstep.cpp src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp src/plugins/qmldesigner/components/devicesharing/devicemanager.cpp src/plugins/qmldesigner/qmldesignerprojectmanager.cpp src/plugins/qmlprojectmanager/qmlprojectexporter/resourcegenerator.cpp Change-Id: Ia2f6ccfd39007dad1cb8317f5ac878109621aaa2
| * EffectComposer: Clean up tr()Eike Ziller2025-02-121-1/+2
| | | | | | | | | | | | | | | | | | Use Tr::tr, clean up translatable strings. Change-Id: Ie88a3407f5127307d06057529cad1b7db004a8f0 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> (cherry picked from commit 256c3b3c99c8e435fed3e0000acba30a67f4c608) Reviewed-by: Eike Ziller <eike.ziller@qt.io>
| * Utils: Rename FilePath::toString() into toUrlishString()hjk2025-01-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | toString() is almost always the wrong conversion, but unfortunately too easy to find and often even working at least for local setup. This here raises the bar as the non-availability of the "obvious" toString() hopefully helps people to think about the semantics of the needed conversion and choose the right toXXX() function. The chosen new name is intentional ugly to reduce the likelihood that this (still almost always wrong) function is used out of convenience. Change-Id: I57f1618dd95ef2629d7d978688d130275e096c0f Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | QmlDesigner: Enable Live Update by default in Effect ComposerShrief Gabr2025-02-131-1/+1
| | | | | | | | | | | | Fixes: QDS-14622 Change-Id: I70f52c571d03838796c7cd1a3f4edc4bf0e94f5e Reviewed-by: Ali Kianian <ali.kianian@qt.io>
* | EffectComposer: Clean up tr()Eike Ziller2025-02-121-1/+2
|/ | | | | | | Use Tr::tr, clean up translatable strings. Change-Id: Ie88a3407f5127307d06057529cad1b7db004a8f0 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
* EffectComposer: Prefer fragment-shader tab on code editorAli Kianian2024-12-051-3/+3
| | | | | | | | | | | | The fragment shader is opened by default when it's not empty. Also, when both shaders are empty, the fragment shader is prior to being selected by default. If a node doesn't have a fragment shader, but has a vertex shader, the vertex tab is preferred to be selected on opening. Fixes: QDS-14319 Change-Id: I2ec7e36fc9c739e1849a412d22751c2d5b4867e4 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* EffectComposer: Handle revisions in the code editorAli Kianian2024-12-051-0/+15
| | | | | | | | | | | | * In the initial condition, when the node is not changed yet, all of the blocks are unmarked * Changed blocks are marked as changed (red) * After saving the effect, changed blocks are marked as saved (green) Fixes: QDS-14313 Change-Id: I544310894e864871d5ef6eaedd8b1f7758ec0a3f Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Shrief Gabr <shrief.gabr@qt.io>
* EffectComposer: Enable line numbers for code editorAli Kianian2024-12-051-4/+1
| | | | | | Task-number: QDS-14295 Change-Id: I7daf5c8d7e2e2ff0633c0ba2d499f5ffa7b73246 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* EffectComposer: Tweak code editor geometryAli Kianian2024-12-021-11/+73
| | | | | | | | | | | * Code editor is a non-modal tool * Saves the geometry on closing * Reads and applies geometry on opening * Remembers the splitter sizes. Fixes: QDS-14243 Change-Id: I5ee083080587453e917f2083e2d6a41a4eb65ee0 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* EffectComposer: Tweak tab bar sizesAli Kianian2024-12-021-1/+1
| | | | | | | | | | * A left margin is applied to the tab bar (10 px) * Tab buttons have paddings instead of a fixed size Task-number: QDS-14244 Change-Id: Ibe4953b9447a1ba48c83cb0f9865068fb8cbec38 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Shrief Gabr <shrief.gabr@qt.io>
* EffectComposer: Add a footer to the code editorAli Kianian2024-11-281-0/+25
| | | | | | | | | | | | | The footer contains: * Live update button * Close button * Apply button Fixes: QDS-14233 Change-Id: I25070356d5357141be5701ee701d938376bfc141 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Shrief Gabr <shrief.gabr@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
* EffectComposer: Move code editor tabs to Qml sideAli Kianian2024-11-281-10/+88
| | | | | | | Task-number: QDS-14141 Change-Id: I8edb70f7773723e4f87cbed7ed0e766362917a7d Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* EffectComposer: Add a button for inserting uniform id to code editorAli Kianian2024-11-281-0/+24
| | | | | | | Task-number: QDS-14140 Change-Id: Ic4505a25ed46aee8e58fc1a9fd1af6e47c5172d2 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
* EffectComposer: Add nodes combobox to the code editorAli Kianian2024-11-281-2/+14
| | | | | | | Task-number: QDS-14138 Change-Id: I8a12f26d6b453128acfad67de08134c17e83b6fc Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
* EffectComposer: Use a single EffectsShaderCodeEditor for all nodesAli Kianian2024-11-281-84/+92
| | | | | | | | | | | * Composition nodes use ShaderEditorData to share data with the editor * ShaderEditorData contains a table model for unions, shader documents and also a private instance of the editors. Task-number: QDS-14220 Change-Id: I63ca943d4abcbde273b6b3b64dffcf24f8f28f48 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* EffectComposer: Add copy button for the uniform id in editorAli Kianian2024-11-191-0/+6
| | | | | | | | Task-number: QDS-14124 Change-Id: If73f0ba40b672c1761c54765c8415fb498873b2a Reviewed-by: Shrief Gabr <shrief.gabr@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
* EffectComposer: Move live update button to Qml headerAli Kianian2024-11-191-46/+1
| | | | | | Task-number: QDS-14123 Change-Id: I54d3bb7e916a5bf5f9b4e5b9db17692eed28aaaf Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* EffectComposer: Add uniform view to the code editorAli Kianian2024-11-191-4/+61
| | | | | | | Task-number: QDS-14101 Change-Id: I0bcef4016fb54a0e53eb02406d6bfdf959327ba3 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* EffectComposer: Implement basic AutoComplete for the code editorAli Kianian2024-11-131-0/+18
| | | | | | | | | | Uniforms are available for AutoComplete Task-number: QDS-14038 Change-Id: Ib89224aa2520fc4d791a8356c356c87208fbfa04 Reviewed-by: Shrief Gabr <shrief.gabr@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
* EffectComposer: Keep code editor on top when another window activatedAli Kianian2024-11-121-20/+0
| | | | | | Fixes: QDS-14078 Change-Id: I377e02eb845c88b121267dca19aad68923b830ea Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
* EffectComposer: Bake shaders always if shader files are missingMiikka Heikkinen2024-11-011-2/+1
| | | | | | | Fixes: QDS-13957 Change-Id: Ib302a326392c02a9c9054294d5b939510de0aacb Reviewed-by: Ali Kianian <ali.kianian@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
* QmlDesigner: Fix buildThomas Hartmann2024-10-311-0/+1
| | | | | Change-Id: I42b5b95ad4316d546aa32839d87c1b63df5679a3 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* EffectComposer: Open the shader code which is not empty on openingAli Kianian2024-10-311-1/+33
| | | | | | | | | | | | * A non-empty shader tab is selected by opening the code editor * Code editor stays on top * Code editor closes when another window is activated Fixes: QDS-13914 Fixes: QDS-13845 Change-Id: I3b6709312bb05f51d07c112f118dd3ef9a36b6c6 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
* EffectComposer: Make code editor visibility exclusiveAli Kianian2024-10-291-0/+19
| | | | | | | | | | | | | * Only one code editor is opened in a moment * The code editor is closed by detaching the model * A tooltip is added for code editor buttons Fixes: QDS-13835 Fixes: QDS-13836 Fixes: QDS-13913 Change-Id: I9dd7c988246383347e931fd271401293c26edc56 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* QmlDesigner: Add code editor for Effect ComposerAli Kianian2024-10-071-0/+226
Task-number: QDS-13443 Change-Id: I02c7a85336f283e0e55bab24459a91fa299abb40 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>