Commit graph

902 commits

Author SHA1 Message Date
mugulmd
a5b2bc5e60 [ui] FeaturesViewer: apply container dimensions for correct transform 2022-12-29 01:39:04 -08:00
mugulmd
1e2ab5e53e [ui] 8bit viewer: same exif orientation workflow as the other viewers 2022-12-29 01:36:39 -08:00
Fabien Castan
1f64420d5a
Merge pull request #1855 from alicevision/dev/imgGalleryCacheBuffer
[ui] ImageGallery: Increase the GridView's cache capacity
2022-12-23 00:39:08 +01:00
Candice Bentéjac
eb4ec8318c [ui] Reorganize the "File" menu
- Remove the "New" menu; the "Ctrl+N" shortcut remains valid to create
new default pipelines
- Move the "Save As Template" and "Import Project" actions into an
"Advanced" menu; their behaviour and shortcuts remain unchanged
- Add menu separators between the "Open" and "Save" functionalities,
the "Save" and "Import Images" functionalities, the "Import Images"
and "Advanced" functionalities, and the "Advanced" and "Quit"
functionalities.
2022-12-22 21:12:11 +01:00
Candice Bentéjac
45bdeba343 [ui] Increase the "cacheBuffer" value of ImageGallery's GridView
The "cacheBuffer" property determines whether delegates are retained
outside the visible area of view. In the case of the ImageGallery,
it determines whether the images that are not currently visible in
the GridView (because we need to scroll up or down to be able to see
them) will remain in the cache or not. The default value is platform-
dependent (320 for Windows) and currently causes any image that is not
directly visible to be lost, even if it was previously loaded when it
appeared in the view: if we scroll up or down, we will necessarily need
to wait for the images to be loaded again.

10000 is an arbitrary value that seems to work correctly for most cases.
2022-12-22 16:09:52 +01:00
Loïc Vital
9931459cdb [ui] remove references to qtOIIO plugin 2022-12-13 12:57:46 +01:00
Fabien Castan
a2f559f48a
Merge pull request #1839 from alicevision/dev/fixQmlWarnings
[ui] Fix all "TypeError" QML warnings
2022-12-06 11:38:16 +01:00
Candice Bentéjac
02383c68b3 [ui] Check that objects accessed by QML properties are not null before accessing them
Some QML properties access exposed Python objects that may or may not
be null upon their access. When these objects are accessed while null,
QML issues "TypeError" warnings. These warnings have no functional
impact as QML correctly handles trying to access null objects, but can
spam the logs.

This commit aims at fixing all these warnings by checking that the
Python objects are not null before being accessed.
2022-12-06 11:04:50 +01:00
Fabien Castan
e1bd923f58
Merge pull request #1833 from alicevision/dev/pipelineInNodeMenu
[ui] GraphEditor: create new pipelines with the node menu
2022-12-05 15:56:37 +01:00
Candice Bentéjac
6a36da61cf [ui] GraphEditor: select pipelines imported through the node menu
Add all the nodes from a pipeline imported through the node menu to the
node selection.
This involves changing the return value of ImportProjectCommand from a
boolean to a list of imported nodes.
2022-12-02 18:19:56 +01:00
Candice Bentéjac
9d88ad91d5 [ui] GraphEditor: clear node selection before adding new nodes from the menu
This commit is a bugfix.
When adding new nodes with the node menu, the selection was never
explicitly cleared and nodes were added to the selection rather than
being exclusively selected.

This behaviour used to be hidden when the node menu could only appear
with a right click, as the click would automatically empty the
selection. However, with the node menu being now openable with the TAB
key, there might not be a click to empty the selection. If new nodes
are added by opening the menu with the TAB key and using the arrow keys
to select the node to create, an infinite number of them can be created
and added to the selection.
2022-12-02 18:13:50 +01:00
Candice Bentéjac
aedf0ef4c1 [ui] GraphEditor: Add the pipelines in the node menu's search bar
Pipelines can be searched in the list of available node types / pipelines
like regular node types.
2022-12-02 18:13:50 +01:00
Candice Bentéjac
2e5f471b7b [ui] Add a "pipelineTemplateNames" property
This property simplifies and optimizes the addition of templates in
the node menu and their import into the graph, as it prevents us from
looping over the entire "pipelineTemplateFiles" dictionary to retrieve
the information we need.
2022-12-02 18:13:49 +01:00
Candice Bentéjac
c2570ca0fb [ui] GraphEditor: Import pipeline on the mouse's position with the node menu
If a pipeline is imported with the node menu instead of the "Import
Project" action from the File menu, the top-left "corner" of the graph
should be placed on the mouse's position.
The position of pipelines imported with the "Import Project" menu
remains unchanged: they are automatically placed below the lowest
node in the current graph.
2022-12-02 18:13:17 +01:00
Fabien Castan
b3c1196e41
Merge pull request #1829 from alicevision/fix/imgDropViewer2D
[ui] Viewer2D: fix minor issues
2022-11-30 12:17:50 +01:00
Candice Bentéjac
04ab813cef [ui] GraphEditor: Add a "Pipelines" category in the node menu
Artificially add a "Pipelines" category in the node menu. The category
contains the list of available pipeline templates. Selecting a pipeline
instead of a regular node type "creates" the pipeline in the GraphEditor
(using the "import project" functionality). The imported pipeline is
by default placed under the current graph.

This commit does not include enabling the search for pipelines from the
"Pipelines" category in the search bar.
2022-11-29 18:14:30 +01:00
Candice Bentéjac
278538f793 [ui] Viewer2D: disable ComboBox to display output attributes if no node is loaded
By default, when no node is selected, only "Image Gallery" is available.
It makes no sense to have the ComboBox dropping down when clicked since
there is nothing to select. If no node is loaded, the ComboBox is disabled.
2022-11-22 15:06:55 +01:00
Candice Bentéjac
cfa42438d4 [ui] Viewer2D: hide the "Clear node" button when no node is displayed
If only images from the Image Gallery or from external sources are
displayed, no node is currently loaded and a "Clear node" button that
appears, although disabled, is unnecessary and might be confusing.
This commit hides it and only displays it again once it gets enabled.
2022-11-22 13:14:39 +01:00
Candice Bentéjac
feee10e97d [ui] Viewer2D: reset the "useExternal" flag after dropping an image in the Viewer2D 2022-11-22 12:58:23 +01:00
Loïc Vital
0429accd79 [ui] filter with viewIds only when displaying view ids 2022-11-18 10:35:17 +01:00
Loïc Vital
ac427d378c [ui] search bar looking for sub-string match instead of regexp match 2022-11-18 10:03:03 +01:00
Loïc Vital
b829a2d9f4 [ui] tab to focus search bar + click on empty area to loose focus 2022-11-18 10:03:03 +01:00
Loïc Vital
e24310d1a1 [ui] more flexible filtering mechanism + filter with viewIds 2022-11-18 10:03:03 +01:00
Loïc Vital
047b6fb589 [ui] ImageGallery: search bar to filter with filename 2022-11-18 10:03:03 +01:00
Candice Bentéjac
a531caf6fd [ui] ImageGallery: update the Viewer2D correctly when the GridView's item changes
This commit ensures that any change in the ImageGallery's GridView
selection is correctly reflected in the Viewer2D. In particular:
- When a new project file is opened, the first image in the gallery
is now displayed in the 2D viewer, after a correct auto-fit has been
applied
- When an image in the gallery is removed, the adjacent image that
becomes selected is automatically displayed in the 2D viewer
2022-11-17 12:22:51 +01:00
Fabien Castan
c4d44aa550
Merge pull request #1813 from alicevision/mug/tabOpenNodeMenu
[ui] keyboard shortcut: press tab to open node menu
2022-11-08 07:58:40 +00:00
Loïc Vital
0795e40ef6 [ui] check mouse is in graph editor 2022-11-03 10:33:19 +01:00
Fabien Castan
aa5e8564e0
Merge pull request #1793 from alicevision/dev/defaultHdrViewer
[ui] Viewer 2D: enable the HDR viewer by default
2022-11-03 01:09:12 +00:00
Fabien Castan
78e25709c0
Merge pull request #1707 from alicevision/dev/manipulatorPanorama
Manipulator for panorama viewer
2022-11-03 00:52:16 +00:00
fabien servant
603b9df7c4 [ui] PanoramaViewer: change the way the user interact with the panorama widget 2022-11-03 01:40:42 +01:00
Fabien Castan
4911ec9ce9
Merge pull request #1805 from alicevision/dev/boundingBoxFrame
Update bounding box display to use the correct geometric frame
2022-11-03 00:07:01 +00:00
Fabien Castan
d0331d3d2e [ui] convert to CG coordinate system: some renaming and comments 2022-11-03 01:01:31 +01:00
fabien servant
5a05628a14 [mesh] update bounding box display to use the correct geometric frame 2022-11-03 01:01:30 +01:00
Loïc Vital
cf3e2b3573 [ui] prevent default tab behavior (change focus to next element) 2022-11-02 15:25:24 +01:00
Loïc Vital
c5294eb364 [ui] open node menu with tab 2022-11-02 13:31:52 +01:00
Loïc Vital
ef62d70180 [ui] minor renamings for coherence 2022-10-31 13:51:47 +01:00
Loïc Vital
49d0ad9a4f [ui] fix crash when importing images with non-ascii characters in path 2022-10-28 14:54:29 +02:00
Loïc Vital
61a10a215e [ui] fix metadata display bug 2022-10-19 09:50:25 +01:00
Loïc Vital
72218ed613 [ui] minor fix 2022-10-19 09:50:23 +01:00
Loïc Vital
0496f0c6a2 [ui] button to clear node from 2d viewer 2022-10-19 09:50:23 +01:00
Loïc Vital
18b5f4bb21 [ui] always display at least "Image Gallery" in ComboBox 2022-10-19 09:50:22 +01:00
Loïc Vital
91cc786e14 [ui] coherent naming "Image Gallery" across app 2022-10-19 09:50:20 +01:00
Loïc Vital
88e822a9de [ui] fix drag and drop external images on Viewer2D 2022-10-19 09:50:19 +01:00
Loïc Vital
b91d0b372e [ui] only load nodes in Viewer2D when at least one chunk is finished 2022-10-19 09:50:18 +01:00
Loïc Vital
c71449535d [ui] use label instead of name in outputAttribute ComboBox 2022-10-19 09:50:18 +01:00
Loïc Vital
a94be6c6a0 [nodes] update desc for nodes in panoramaHDR pipeline to visualize their output 2022-10-19 09:50:17 +01:00
Loïc Vital
a36abd99a6 [ui] disable outputAttributes ComboBox when it is empty 2022-10-19 09:50:17 +01:00
Loïc Vital
400c68a40a [ui] do nothing when double clicking attribute 2022-10-19 09:50:16 +01:00
Loïc Vital
8abe45da51 [ui] update outputAttributes when displayedNode is undefined 2022-10-19 09:50:15 +01:00
Loïc Vital
6b7d4d66a8 [ui] prevent loading image output attributes in 3D viewer 2022-10-19 09:50:15 +01:00