Commit graph

98 commits

Author SHA1 Message Date
Fabien Castan
41738f7f40 Modernize to python-3.9+ with pyupgrade (--py39-plus) 2025-04-30 19:18:54 +02:00
Fabien Castan
1d4ba577a9 Apply flynt to use f-strings 2025-04-30 19:13:53 +02:00
Fabien Castan
db8fd02aeb New plugins load
MESHROOM_PLUGINS_PATH can be used to automatically load nodes and
pipelines from a folder structure.
2025-04-13 13:09:24 +02:00
Fabien Castan
c1a862d0cd remove duplication for verbose options 2025-03-24 00:07:57 +01:00
Candice Bentéjac
96a9757f5c [ui] app: Register components to QML before instantiating the engine 2025-02-18 18:15:19 +01:00
Yann Lanthony
9f622a2691
Fix Meshroom UI CLI latest option
Fix invalid use of `_recentProjectFiles`  variable.
2025-02-17 22:02:54 +01:00
Candice Bentéjac
59afac317d [ui] app: Rewrite thumbnail retrieval and handle more exceptions 2025-01-22 15:52:22 +01:00
Candice Bentéjac
18a0bdf8f3 [ui] app: Rename _getRecentProjectFiles function
It is renamed to `_getRecentProjectFilesFromSettings`.
2025-01-22 14:50:28 +01:00
Candice Bentéjac
de7777f8b0 [ui] app: Don't read QSettings again when updating thumbnails for projects
There is no need to read the QSettings again as the content of
`self._recentProjectFiles` reflects their content accurately and they
do not store any thumbnail-related information.

QSettings will now only be read once, upon Meshroom's start.
2025-01-22 14:50:27 +01:00
Candice Bentéjac
041c643be6 [ui] app: Add a dedicated function to retrieve thumbnails
Instead of doing it directly within the `_getRecentProjectFiles` method,
add a function that attempts to retrieve a thumbnail corresponding to
an input project file path.
2025-01-22 14:50:26 +01:00
Candice Bentéjac
73de823eb4 [ui] app: Add a slot to refresh the thumbnails of recent project files
When the list of recent project files is updated, there is no attempt
to retrieve its thumbnail as the update is said to be "minimal".

This minimal update is justified by the lack of use for the thumbnails
in the Application part of Meshroom. Thumbnails are only useful when
displaying the Homepage, hence their retrieval during Meshroom's
initialization. There is only a need to update them once we want to
display the Homepage again.

The Homepage thus requests an update of the thumbnails before setting
its model. If there have been some updates to the list of recent project
files, the reading of the QSettings is performed again and thumbnails
are retrieved whenever it is possible. Otherwise, nothing happens to
prevent useless readings.
2025-01-22 14:50:25 +01:00
Candice Bentéjac
2ab3ca24c8 [ui] app: Refactor the recentProjectFiles property
The property itself only accesses a list instead of reading the QSettings
every single time it is called.

It is set once during the application's launch with a full reading, and
is then updated without performing extra reading operations every time
a file is added to or removed from the list.
2025-01-22 14:50:25 +01:00
Candice Bentéjac
8640ac7e4d [ui] app: Remove unused QtCore import 2025-01-20 15:52:46 +01:00
Yann Lanthony
c20ecaadd2 [app] Add --env-help command line option
Add a new CLI option to print the available Meshroom environment
variables and their descriptions.
2024-12-20 18:26:30 +01:00
Yann Lanthony
968a5d0471 [app] Add support for enabling QML debugging
Introduce new environment variable to enable and configure
QML debugging when starting Meshroom GUI app.

Introduce a new EnvVar class to centralize the management of
environment variables across Meshroom.
2024-12-20 18:26:30 +01:00
Yann Lanthony
a790ac8f21 [app] Set Fusion style using API
Instead of passing the style via QApplication arguments,
use the QQuickStyle API.
2024-12-20 18:26:30 +01:00
Candice Bentéjac
9af6adeba9 [qt6][ui] Limit useless calls to recentProjectFiles when opening dialogs
This prevents emitting signals that lead to countless updates when a
single one is necessary, thus causing some freezes in the interface.
2024-11-21 11:19:38 +00:00
Candice Bentéjac
de966e38e5 [qt6][ui] AboutDialog: Display PySide's version 2024-11-07 18:13:28 +01:00
Candice Bentéjac
570d88e040 [qt6] Stop enabling HighDpiScaling which is now deprecated 2024-11-07 18:09:12 +01:00
Candice Bentéjac
579371fd7c [qt6] Replace all PySide2/shiboken2 imports by PySide6/shiboken6 2024-11-07 18:08:54 +01:00
Fabien Servant
457b640002 enable sequence player by default 2024-11-04 15:27:33 +01:00
Fabien Castan
c792b2baee Improve meshroom_batch help message with groups 2024-08-31 12:44:17 +02:00
Fabien Castan
5a89561a6c Add github link 2024-08-31 12:16:26 +02:00
Fabien Castan
678d360f3f Add -2, -3 shortcuts 2024-08-31 12:12:24 +02:00
Fabien Castan
3b981a9df6 no default pipeline, by default 2024-08-31 12:11:31 +02:00
Fabien Castan
9771a50268 Add some details in the help message 2024-08-31 12:10:49 +02:00
Fabien Castan
9d414eda2f Add MESHROOM_SUBMIT_LABEL to customize the label of a node when submitted on renderfarm 2024-08-31 11:53:37 +02:00
Fabien Castan
e832286d0f [ui] command line help: minor simplification 2024-08-31 00:50:17 +02:00
Fabien Castan
9ea478ab6a [ui] Command line option to load the latest project 2024-08-31 00:50:17 +02:00
Fabien Castan
e972c3d324 [ui] Improve help message 2024-08-31 00:28:42 +02:00
Aurore LAFAURIE
52c6bb7c46 [ui] Asynchronous load of thumbnails for Homepage 2024-08-29 18:39:33 +02:00
Candice Bentéjac
cb062a4b4c [ui] Detect if the reconstruction has been set yet or reset
An `active` property is added to the `Reconstruction` object to share
whether it has been initialized or not.
2024-08-26 16:21:28 +02:00
Candice Bentéjac
f84d0d6341 [ui] app: Check that viewpoints exist before accessing them 2024-08-26 16:21:28 +02:00
Aurore LAFAURIE
1038806ccd [ui] By default no pipeline is provided and we can create empty project 2024-08-26 16:21:27 +02:00
Aurore LAFAURIE
f326d45024 [ui] Better handling of thumbnails for Homepage
We need to check and create the thumbnail if it does not exist.
2024-08-26 16:21:27 +02:00
Aurore LAFAURIE
5b92df328f Implementation of Homepage 2024-08-26 16:21:26 +02:00
Candice Bentéjac
75aac0db1a [ui] app: Correctly reload list of available templates
`pipelineTemplatesFolders` is not available anymore as a global
variables in `meshroom.core`. `initPipelines()` performs the iterations
over `pipelineTemplatesFolders` that are needed to update the list.
2024-08-13 16:40:44 +01:00
Candice Bentéjac
f446310c24 [ui] Initialize plugins at different moments 2024-07-31 18:09:01 +02:00
Aurore LAFAURIE
a43117b298 [ui] Add MESHROOM_USE_SEQUENCE_PLAYER environment variable 2024-07-09 16:31:11 +02:00
Vincent Demoulin
a6be4e4938 Create Init functions for nodes, submitters and pipelines 2024-07-05 15:46:58 +02:00
Candice Bentéjac
73a2a241e7 [ui] Expose ScriptEditor Python component to the QML side 2024-07-02 15:55:25 +02:00
Candice Bentéjac
5bcbc84f2a [ui] Add an activeProject property and expose the UI to the core 2024-06-27 15:46:48 +02:00
Fabien Castan
d62f499db9 [ui] minor: augment the numer of recent project files 2024-06-15 17:41:45 +02:00
Aurore LAFAURIE
104e1ae31d [ui] Project, import and import recursive in meshroom command now absolute paths
Prevent from having some files gone
2024-05-27 11:27:30 +02:00
Candice Bentéjac
2b8500666c Rename jobs with "[Meshroom] Job Title" instead of "Job Title [Meshroom]" 2024-03-26 10:08:54 +01:00
Fabien Castan
3a36cb7d86 [core] option to change verbose level from env variable
This allows to change the verbose level from the early import step to
enable verbosity on init code.
2023-03-27 13:57:54 +02:00
Fabien Castan
5943c68a93 [release] Release version 2023.1.0 and update version label/status
Add new version status: release/develop
Update version label in develop status with explicit branch and
packaging versions labels
2023-03-27 13:57:53 +02:00
Candice Bentéjac
91bdddfaf8 [ui] Add Meshroom's changelog model
The changelog is added as a model. Although it is meant to be displayed
with the licenses for Meshroom and AliceVision, the changelog model is
provided apart from the licenses' and then concatenated with it so they
are displayed together.
2023-03-24 16:23:13 +01:00
Fabien Castan
334bfc8b00
Merge pull request #1861 from alicevision/mug/thumbnailCache
[ui] Thumbnail cache
2023-02-09 11:08:09 +00:00
Fabien Castan
40b182efc5
Merge pull request #1864 from alicevision/dev/saveImportImagesFolder
[ui] Use the location of the most recently imported images as the base folder for the "Import Images" dialog
2023-01-22 18:07:56 +00:00