Commit graph

4494 commits

Author SHA1 Message Date
Fabien Castan
064b29cb65
Merge pull request #2523 from alicevision/dev/invalidateNodes
[core] Simplify attribute invalidation in nodes' descriptions
2024-09-13 14:05:54 +02:00
Aurore LAFAURIE
2186a61fd8 [AttributeItemDelegate] Position the attribute description tooltip under the mouse position to be sure it doesn't slide on the screen 2024-09-12 15:21:13 +02:00
Candice Bentéjac
81fe4e411c .git-blame-ignore-revs: Add linting clean-up 2024-09-12 10:55:06 +02:00
Candice Bentéjac
4c0409f573 [nodes] Linting: Clean-up files 2024-09-12 10:54:20 +02:00
Candice Bentéjac
ec0721d381 [tests] Remove invalid= when the implicit argument is enough 2024-09-12 10:54:19 +02:00
Candice Bentéjac
41a1b47c43 [nodes] Remove invalidate=True from descriptions 2024-09-12 10:54:18 +02:00
Candice Bentéjac
07b65499ce [bin] meshroom_newNodeType: Remove all invalidate= arguments
`invalidate` does not need to be specified anymore and is set to `True`
by default. Output attributes with `invalidate=True` are handled at the
attribute-level.
2024-09-12 10:54:17 +02:00
Candice Bentéjac
b981ef651c [core] invalidate= becomes optional and is set to True by default
This will allow to simplify node descriptions as most of the attributes
are generally invalidating. Only non-invalidating attributes will need
to state explicitly `invalidate=False`.

For output attributes, which must not be invalidating, `invalidate` will
be automatically set to `False` at the attribute-level if it is set to
`True` in the description.
2024-09-12 10:54:17 +02:00
Candice Bentéjac
41e885d9ff Linting: Clean-up files 2024-09-12 10:50:13 +02:00
Candice Bentéjac
d67062d39d [tests] Update unit tests with new UID system 2024-09-12 10:41:57 +02:00
Candice Bentéjac
e5ac6bd0dc [bin] meshroom_newNodeType: Replace uid= with invalidate= 2024-09-12 10:41:56 +02:00
Candice Bentéjac
71d06d27ec Multiview: Remove unused version of the pipeline 2024-09-12 10:41:56 +02:00
Candice Bentéjac
4d35024a1b [pipelines] Update file version for all templates
Additionally, the `pipelineVersion` key has been removed for all the
templates that had it.
2024-09-12 10:41:55 +02:00
Candice Bentéjac
045c26cc46 [nodes] Change uid= into invalidate= for all nodes 2024-09-12 10:41:55 +02:00
Candice Bentéjac
b726387534 [core] Graph: Support loading files with previous UID system
The file version is updated and support for files with an older version
is added: upon detecting that the file version is old, the old UID
keys will be detected and reformatted with new ones so the file can
be properly loaded.
2024-09-12 10:41:53 +02:00
Candice Bentéjac
9973298746 [core] Simplify invalidation status for all the attributes
The UID system based on a UID index is removed and replaced by a single
UID per node.

Attributes will be included in the UID computation if the `invalidate`
is set to `True` in their description. This replaces the `uid=[]` /
`uid=[0]` element of the description.
2024-09-12 10:41:53 +02:00
Candice Bentéjac
248c301c5a [nodes] Directly use internalFolder variable for outputs' paths 2024-09-12 10:04:30 +02:00
Fabien Castan
e077e8cb36
Merge pull request #2528 from alicevision/dev/exposingAttributesInGraphEditor
[core/ui] Exposed property added to attributeDesc
2024-09-11 20:03:18 +02:00
Fabien Castan
8ca3d091c1
Merge pull request #2526 from alicevision/fix/clickOnNodeMenu
[ui] Fix click on Category in Node Menu to keep the nodes displayed
2024-09-11 20:01:20 +02:00
Fabien Castan
8bf21e9de1
Merge pull request #2527 from alicevision/dev/tooltipforAttributeType
[AttributePin] Add tooltip to display type of attribute
2024-09-11 19:56:01 +02:00
Fabien Castan
dd171a6d24
Merge pull request #2530 from alicevision/dev/minorUimodif
[ui] Minor UI modifications
2024-09-11 19:51:48 +02:00
Aurore LAFAURIE
f8d963e0b0 [ui] Add MScrollBar for better visibility
Always visible if height or width need it, with specific colors for hovered and pressed behaviors.
2024-09-11 17:33:29 +02:00
Aurore LAFAURIE
eb3ac6cd50 [ui] Correct case for Open Project 2024-09-11 17:31:46 +02:00
Aurore LAFAURIE
da3335ee94 [core/ui] Exposed property added to attributeDesc
Exposed is useful to display the attribute in the upper part of the node in the Graph Editor.
By default, File attributes are exposed.
2024-09-11 11:53:34 +02:00
Aurore LAFAURIE
de5ca552f7 [AttributePin] Add tooltip to display type of attribute 2024-09-11 11:34:40 +02:00
Aurore LAFAURIE
7d93a54b4c [ui] Fix click on Category in Node Menu to keep the nodes displayed 2024-09-10 12:37:44 +02:00
Fabien Castan
9c33c57305
Merge pull request #2525 from alicevision/dev/homepageOpenProject
[ui] Open project from browser in homepage & quick adjustments
2024-09-09 19:50:19 +02:00
Fabien Castan
cd3c5b5d97
Merge pull request #2524 from alicevision/dev/alignLidar
add lineup to sfmTransform
2024-09-09 19:35:44 +02:00
Fabien Servant @ TCS
221ba1a7ec
Apply suggestions from code review
Co-authored-by: Fabien Castan <fabcastan@gmail.com>
2024-09-09 18:06:55 +02:00
Aurore LAFAURIE
ac5b02d0fe [ui/img] Add academic sponsors to homepage 2024-09-09 17:51:54 +02:00
Fabien Castan
6cdbd461f9
Merge pull request #2517 from alicevision/dev/lockOpticalCenter
Add locks for intrinsics
2024-09-09 16:55:39 +02:00
Aurore LAFAURIE
f78efe69fb [ui] Open project from browser in homepage & quick adjustments
Modification of tooltips, ensure computing is false before going back to homepage...
2024-09-09 15:06:51 +02:00
Fabien Servant
34782098d6 add lineup to sfmTransform 2024-09-09 12:50:28 +02:00
Fabien Castan
4502e98a4c
Merge pull request #2243 from alicevision/dev/ps_sh
[Photometric Stereo] MultiView fusion in Texturing
2024-09-06 22:03:39 +02:00
Fabien Castan
24a623acc8 Add space in category label 2024-09-06 21:57:24 +02:00
Fabien Castan
61c3102b89 [nodes] LightingCalibration: add visualization 2024-09-06 11:28:14 +02:00
Fabien Castan
431e480299
Merge pull request #2519 from alicevision/fix/qmlInvalidCtx
[ui] Fix function evaluations in invalid QML context and minor fixes
2024-09-05 21:14:59 +02:00
Candice Bentéjac
7686c48e89 [GraphEditor] Do not assign undefined to edge-related properties
This fixes the following QML warnings that may appear when performing
lots of operations on edges:
`Unable to assign [undefined] to QString/bool`

These warnings do not seem to have any functional impact on the connection
processes.
2024-09-05 09:36:18 +02:00
Candice Bentéjac
321ffec85f [Viewer3D] MediaLibrary: Check current node's existence before accessing it 2024-09-05 09:36:18 +02:00
Candice Bentéjac
801ac369cd [GraphEditor] Do not update pins when the app is closing
When an edge is removed, the pins it is connected to are
updated depending on their status while the edge is getting destroyed. When the window is
closing, all the components are being destroyed while the QML context is being invalidated: no function call to components that are being destroyed should be made in that context.
2024-09-05 09:36:17 +02:00
Candice Bentéjac
06ed3cb7cf [ui] Add property to detect if the main window is closing 2024-09-05 09:36:17 +02:00
Fabien Castan
91ebc1619c
Merge pull request #2504 from alicevision/dev/forLoop
First version of For Loop implementation
2024-09-04 23:36:33 +02:00
Fabien Castan
c4cc5b6882
Merge pull request #2521 from alicevision/fix/dialogsErrors
[ui] Add proper distinction between the main window and the application
2024-09-04 22:45:11 +02:00
Candice Bentéjac
d8c851961d [ui] Correctly retrieve path of most recent project to initialize dialogs 2024-09-04 14:57:00 +02:00
Candice Bentéjac
f56a9579f2 [ui] Correctly distinguish "save" from "save as" cases in unsavedDialog
Prior to this commit, even if the current graph had never been saved,
we ended up going through the "save current file" use case rather than
the "save as" because the `saveAction` button was always enabled.

This led to the callback being fired before the "save as" dialog had
been closed.
2024-09-03 16:19:36 +02:00
Candice Bentéjac
d89aec0250 [ui] Rename general and UI settings components 2024-09-03 10:51:49 +01:00
Candice Bentéjac
d1b728c68b [ui] Remove unused QML imports from main.qml 2024-09-03 10:46:05 +01:00
Candice Bentéjac
e0120fd287 [ui] Improve separation between main and Application
All the actions, file dialogs and message dialogs that are specific to
the application are removed from `main.qml` and placed instead in
`Application.qml`.

Only elements and functions related to the main window remain in
`main.qml`. As such, the `ensureSaved` and `ensureNotComputing` functions,
used when closing the main window, remain in `main.qml`.

Message dialogs that may be opened by these functions however are moved
to `Application.qml` as they are application-specific and can't be opened
on the homepage.

Application dialogs that may need to be called when triggering the closure
of the main window are aliased from `Application.qml` to remain callable
through the `StackView`.
2024-09-03 10:37:07 +01:00
Candice Bentéjac
e0ec0aef55 [ui] Use correct DontUseNativeDialog option for all dialogs 2024-09-03 10:37:06 +01:00
Fabien Castan
a0ef38da6c
Merge pull request #2520 from alicevision/dev/homepageEnhancements
Homepage Quick Adjustments
2024-09-03 09:24:30 +02:00