Commit graph

4316 commits

Author SHA1 Message Date
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
Yann Lanthony
05eabb2b13 [ui] Graph: Node selection refactor (1)
Switch selection management backend to a QItemSelectionModel,
while keeping the current 'selectedNodes' API for now.
Use DelegateSectionBox for node selection in the graph, and
rewrite the handling of node selection / displacement.
2024-12-06 10:13:51 +01:00
Yann Lanthony
6d2e9a2ba9 [ui] Utils: add SelectionBox and DelegateSelectionBox
- SelectionBox: generic Selection box component.
- DelegateSelectionBox: specialized SelectionBox to select model delegates
  from an instantiator (Repeater, ListView).

Also Introduce a Geom2D helper class to provide missing features for
intersection testing in QML.
2024-12-06 10:12:11 +01:00
Yann Lanthony
dfe2166942 [ui] Node: expose additional mouse events
Forward mouse 'released' and 'clicked' events for giving
more control over node selection management.
2024-12-06 10:12:11 +01:00
Yann Lanthony
b21192282d QObjectListModel: implement 'index' method
Implementing this method allows to use QObjectListModel
in combination with other Qt classes that can act on a model
(eg: QSelectionItemModel, QSortFilterProxyModel...).
2024-12-06 10:12:11 +01:00
Yann Lanthony
df4ad22b6c
Merge pull request #2613 from alicevision/fix/edgeSelection
[GraphEditor] Edge: Correctly update the `EdgeMouseArea` when moving nodes
2024-12-03 12:48:05 +01:00
Candice Bentéjac
0dca19f158 [GraphEditor] Edge: Correctly update the EdgeMouseArea when moving nodes 2024-12-03 11:56:56 +01:00
Yann Lanthony
feedad4775
Merge pull request #2602 from alicevision/fix/ValidateSaveFile
[BugFix] File save dialog now requires a valid filename
2024-12-03 09:57:37 +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
Yann Lanthony
409c7ec813
Merge pull request #2581 from alicevision/dev/SearchBar
[ui] Improve Search Bar component
2024-12-02 11:19:35 +01:00
waaake
c2c32c8c14 [ui] ImageGallery: Implementation of Toggle based Search. 2024-11-30 20:20:32 +05:30
waaake
9404b73845 [ui] NodeEditor: Implementation of Toggle based Search.
Node Editor search can now be toggled making it take lesser space by default.
2024-11-30 20:17:06 +05:30
waaake
3a04ce668f [ui] GraphEditor: Search filtering fix
Fixed the issue where navigation arrows on the Filtering was allowing to set an index even when the search had null as the result.

Accepted signal on the Seach invokes the function rather than invoking the sigal for the button
2024-11-30 20:14:13 +05:30
waaake
b0ed5e465e [ui] GraphEditor: Graph Editor gets the toggle based search
Search bar is now placed in the bottom pane of the Graph Editor making it non-obstructing for navigating nodes across Graph Editor
2024-11-30 20:09:04 +05:30
waaake
f78ee9bb67 [ui] SearchBar: Search bar can now be toggled to become visible with the search button.
SearchBar gets the clear text feature allowing text to be cleared with a single click.

Added accepted signal for the Searchbar with Return and Enter key Press
2024-11-30 19:53:46 +05:30
Fabien Castan
2a27f4c6fe
Merge pull request #2578 from alicevision/fix/unexposedEdges
[GraphEditor] Node: Check if unexposed `ListAttributes` contain links
2024-11-29 21:58:49 +01:00
Candice Bentéjac
230e7ac6a0
Merge pull request #2590 from alicevision/dev/globalRotation
[nodes] Add Global Rotation Estimating node
2024-11-29 12:04:32 +01:00
Candice Bentéjac
9c0938a7da [nodes] CameraInit: Update SfMData version 2024-11-29 11:53:39 +01:00
Candice Bentéjac
5a294feae7 [nodes] Add Global Rotation Estimating node 2024-11-29 11:53:24 +01:00
Yann Lanthony
e800cd4e31
Merge pull request #2604 from alicevision/dev/NodeColoring
[ui] Graph Editor Update: Quick Node Coloring with the Color Selector Tool
2024-11-29 11:16:25 +01:00
waaake
225f4dc7e5 [ui] Color Selector Shortcut Fix: Fixed the shortcut clash with node copy 2024-11-29 09:51:13 +05:30
Candice Bentéjac
d797692a25
Merge pull request #2533 from alicevision/dev/anamorphicFocal
[Viewer3D] Apply the pixel aspect ratio for the Frame Overlay
2024-11-28 18:28:55 +01:00
Candice Bentéjac
705d00b8b2
Merge pull request #2609 from alicevision/fix/image3dViewer
[ui] Fix field of view functions for tall images
2024-11-28 17:37:52 +01:00
waaake
233bbb76c8 [ui] Graph: Updating the way how color gets set on the selected nodes
Coloring the nodes now uses setAttribute command instead of relying on refrences to Nodes within the graph.
2024-11-28 09:28:36 +05:30
waaake
418bd638ad [ui] ColorSelector: Update the color palette with darker shades
Current meshroom nodes have the FG text in gray and the background color needs to constrast well else the text becomes unreadable
2024-11-27 18:59:55 +05:30
Fabien Servant
7f72f81289 Field of view functions works for tall images 2024-11-27 13:23:35 +01:00
Fabien Servant
0bf2c41524 Use pixel aspect ratio for 3d viewer 2024-11-26 15:30:09 +01:00
Candice Bentéjac
248229edcf [GraphEditor] Node: Check if unexposed ListAttributes contain links
If unexposed attributes (ie. attributes that are located in the lower
side of a node, and hidden by default) are connected, they are meant
to remain visible even if the lower part of that node is hidden.

This was working fine for any attribute that was not a `ListAttribute`,
as the check was made on whether the attribute's value was a link to
another attribute. For `ListAttributes`, whose value is actually a list
of values, this was not working as nested links were not checked.

Instead of relying on the `isLink` property, we now use `isLinkNested`:
for regular attributes, this is equivalent to using `isLink`, but for
`ListAttributes`, the full list of values will be checked.
2024-11-26 11:46:24 +00:00
Fabien Castan
648b0950b8
Merge pull request #2606 from alicevision/fix/uiFixes
[ui] Minor UI stabilization fixes for Qt 6
2024-11-25 23:07:29 +01:00
Candice Bentéjac
fdcf35c3fc [Controls] ExpandableGroup: Fix MouseArea on the header of groups 2024-11-25 16:19:29 +01:00
Candice Bentéjac
fc5e85af1d [ui] WorkspaceView: Increase minimum width for Inspector 3D 2024-11-25 15:46:56 +01:00
Candice Bentéjac
1fbcdbb734 [Viewer] SfmStats: Add missing imports to load widgets correctly 2024-11-25 15:02:37 +01:00
Candice Bentéjac
5f41542ed5 [Viewer3D] Inspector3D: Use Fusion style instead of Material
`Material` was used by mistake following an erroneous import.
2024-11-25 14:48:51 +01:00
Candice Bentéjac
f5be0aadb0 [ui] Homepage: Use correct Material font for list of projects 2024-11-25 14:32:14 +01:00
Candice Bentéjac
4873a98768 [ui] Homepage: Fix icon for "Support AliceVision" button 2024-11-25 11:50:29 +00:00
waaake
d77b7a398a [ui] Coloring a Node: Added ColorSelector to the Graph Editor
The color selector in the Graph Editor provides a quick way to color nodes with predefined palette of colors.

Added Command to allow the Coloring to be undone and redone using QUndoStack
2024-11-25 09:22:14 +05:30
waaake
58a9b74a72 [core] Coloring a Node: Exposed the Node Color to be set externally 2024-11-25 09:20:11 +05:30
Fabien Castan
b5dda4efd0
Merge pull request #2592 from alicevision/dev/splitDescModule
Split `meshroom.core.desc` module into a package with submodules
2024-11-23 12:39:33 +00:00
Candice Bentéjac
0bbeec5427 [Viewer3D] Set text color for the label of resectioned cameras 2024-11-22 16:55:24 +01:00
Candice Bentéjac
05a742a221 [ui] Fix color for MaterialToolLabel
The name of the property used to set the color was ambiguous, causing
the colors to not be applied at all.
2024-11-22 16:54:58 +01:00
Fabien Castan
66e3dd409d
Merge pull request #2599 from alicevision/dev/qt6.6
Qt6.6.3 / PySide6.6.3.1 upgrade
2024-11-22 12:39:09 +00:00
Fabien Servant @ TCS
f04eda8d05
Merge pull request #2603 from alicevision/fix/segPhotogCamTrack
[pipelines] PhotogCamTrack: Invert masks for segmentation
2024-11-22 11:01:43 +01:00
Candice Bentéjac
4e90c67c5a [pipelines] PhotogCamTrack: Invert masks for segmentation 2024-11-22 10:52:11 +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
6692915385
Merge pull request #2598 from alicevision/fix/attributeCallbackOnGraphLoad
Discard attribute changed callbacks during graph loading
2024-11-18 16:57:25 +00:00
Yann Lanthony
b0808f9040
[core] Fix errorneous docstring
Co-authored-by: Vivek <vivek_ve@outlook.com>
2024-11-18 10:07:02 +01:00
Candice Bentéjac
d63f7f2575 [qt6] .git-blame-ignore-revs: Add clean-up commits 2024-11-15 10:49:41 +01:00
Yann Lanthony
61d35904ba [core] Discard attribute callbacks during graph loading 2024-11-14 19:11:08 +01:00
Yann Lanthony
98f1a9d516 [tests] Update tests to load graphs with strictCompatibility
Update tests that should fail if nodes are loaded as
CompatibilityNodes (resulting in false positives).
2024-11-14 19:11:08 +01:00
Yann Lanthony
3218c41bdc [tests] Add strictCompatibility graph loading test 2024-11-14 19:11:08 +01:00