Commit graph

32 commits

Author SHA1 Message Date
Yann Lanthony
cdb25e28df [ui] Application: fix save-as dialog not working properly (Qt6.7+)
Since Qt 6.7, type annotations are enforced at runtime.
Typing the `sourceSaveDialog` as Dialog (or Platform.FileDialog) breaks the value received by the function and its behavior.
2025-02-21 18:18:15 +01:00
Yann Lanthony
7eab289d30 [core] Graph: initial refactoring of graph loading API and logic
* API
Instead of having a single `load` function that exposes in its API
some elements only applicable to initializing a graph from a templates,
split it into 2 distinct functions: `load` and `initFromTemplate`.
Apply those changes to users of the API (UI, CLI), and simplify Graph
wrapper classes to better align with those concepts.

* Deserialization
Reduce the cognitive complexity of the deserizalization process
by splitting it into more atomic functions, while maintaining the
current behavior.
2025-02-06 16:46:04 +01:00
waaake
a843486996 [ui] Application Menu: Setting of Auto-Layout Depth has been moved to the menu along the graph editor 2025-01-15 09:14:03 +05:30
waaake
49052dfc0f [ui] ScriptEditor: ScriptEditor gets new icons
Updated Icons for ScriptEditor

Script Editor shows a confirmation dialog before clearing history
2025-01-07 09:37:33 +05:30
Candice Bentéjac
05863369f5
Merge pull request #2624 from alicevision/fix/NodeEditorTab
[ui] NodeEditor: Addressed Tab Retention when switching Node selection
2024-12-31 13:30:10 +01:00
waaake
3f47c54595 [ui] Application: Changing the current project refreshes the NodeEditor to reset the current Tab index 2024-12-31 09:56:48 +05:30
waaake
21b5080dcb [ui] Application: Save now validates user access to the save directory
File and template save as validation includes an access check to ensure that a given directory exists and the user has access for writing to it
2024-12-23 09:03:41 +05:30
Yann Lanthony
8dbcfa392f [ui] Application: Simplify Cut/CopyNodes actions
Remove dynamic tooltip for cut/copy actions that displays all
selected node names:
- This inline textual information is hard to process as a user.
- Avoid binding to and iteration over the selection.
2024-12-06 10:14:50 +01:00
Yann Lanthony
686927a92d [ui] Graph: add removeSelectedNodes method
Add and use an explicit method to remove the currently selected nodes
in a graph.
2024-12-06 10:14:43 +01:00
waaake
32a493d026 [ui] FileSaveDialog: Added Validation to the file save process
Validating the filename to ensure that the file does not gets saved with just the extension
2024-12-02 17:42:02 +05:30
Candice Bentéjac
e97575a901 [qt6][qml] Remove QtQuick.Window imports
`QtQuick.Window` does not exist anymore with Qt6. QQuickWindow is now
directly part of the QtQuick module.
2024-11-07 18:13:27 +01:00
Candice Bentéjac
0e71f2a520 [qt6] Update versions for all the imported modules
Qt3D.Extras cannot be updated to 2.6 yet, otherwise there are errors.
2024-11-07 18:09:01 +01:00
Candice Bentéjac
6d845376eb [qt6] Use JS functions format to declare explicit parameters in slots
This fixes all the "Injection of parameters into signal handlers
is deprecated. Use JavaScript functions with formal parameters instead."
warnings.
2024-11-07 18:08:59 +01:00
Candice Bentéjac
1b9e75cd4f [qt6] Replace Qt.labs.settings with QtCore.Settings 2024-11-07 18:08:58 +01:00
Candice Bentéjac
96a70c04ff [qt6] Remove imports of QML modules that do not exist anymore with Qt6.6 2024-11-07 18:08:55 +01:00
Fabien Castan
2a1802f91e [ui] fix layout issue: ensure the fit is updated
Without this fix, the width side is initialize correctly but not updated
when the window is resized.
2024-10-15 15:05:20 +02:00
Fabien Castan
87efdda931 [ui] Check node is valid 2024-10-15 15:05:19 +02:00
Fabien Castan
c0d87b68da [ui] GraphEditor: minor menu wording change 2024-10-15 14:41:07 +02:00
Fabien Castan
3e76832d29 [ui] cleanup SplitView sizes 2024-09-20 09:39:33 +02:00
Fabien Castan
2852a4cf19 [ui] Custom SplitView to have a larger handle 2024-09-19 20:39:43 +02:00
Aurore LAFAURIE
ccd88c4646 [ui] Replacement of Controls1 SplitView to Controls2 SplitView 2024-09-17 18:32:59 +02:00
Aurore LAFAURIE
34e3847cea [ui] Add View Image Gallery Parameter and fit Graph Editor if all WorkspaceView is hidden 2024-09-17 16:25:43 +02:00
Aurore LAFAURIE
2570c0e9fa [Application] Put Refresh Nodes Status in graph editor menu 2024-09-13 16:44:28 +02:00
Aurore LAFAURIE
8ab0432793 [Application] Tooltip for new pipeline is now set in whole component
Before it was set dynamically (with ToolTip.text...)
2024-09-13 16:42:07 +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
Candice Bentéjac
06ed3cb7cf [ui] Add property to detect if the main window is closing 2024-09-05 09:36:17 +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
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
Aurore LAFAURIE
655f83892d [ui] New button added for empty project 2024-08-26 16:21:27 +02:00
Aurore LAFAURIE
5b92df328f Implementation of Homepage 2024-08-26 16:21:26 +02:00