Instead of providing the `LdrToHdrCalibration` node to the Camera Response
Graph and retrieving the path of the response file within the widget,
retrieve the path and resolve it before activating the Camera Response
Graph component.
Based on QtAliceVision's global status for the FloatImageViewer, display
a specific label when an error has been encountered. The content of the
label depends on the type of the error.
The content of the "DISPLAY" and "CAMERA" groups is hidden by default.
Instead of customizing the `Group` object's toolbar to hide/expand these
groups, the `ExpandableGroup` object, which is specifically made to handle
these cases, is used. The groups can be expanded either by clicking
the dedicated tool button or anywhere on the toolbar.
The `ExpandableGroup` is based on QML's `GroupBox`. It is very similar
to the `Group` object, with the difference that it can be hidden/expanded
by clicking on the group's title/label.
If any model with cameras is displayed in the 3D Viewer, a slider can
be used to filter the cameras that are being currently displayed based
on their resection IDs. This allows to visualize the order in which the
cameras have been added, and the groups in which they have been added.
This commit fixes the following errors:
- "<Unknown File>: Can't assign to existing role 'value' of different
type [VariantMap -> String]" which occurs whenever the metadata view is
enabled and appears if at least one of the metadata keys has an empty
value;
- "Unable to assign [undefined] to QString" which occurs whenever the
search bar is cleared.
Update the names of the commands that remove images in the "File"
menu to match with those in the Image Gallery menu.
"Clear Images" becomes "Remove All Images" and "Clear All Images" becomes
"Remove Images From All CameraInit Nodes".
Prior to this commit, the `StructureFromMotion` and `SfMTransform` nodes'
were directly set without using the dedicated command. This meant that
the actions to set those attributes through the Image Gallery menu were
not added to the stack of commands, and could not be undone.
In addition to the existing "Remove" menu action in the Image Gallery that
deletes the currently selected image, add a "Remove All Images" menu
action that performs the same action as "Clear Images" from the "File"
menu.
The "Del" key was used as a shortcut to remove the currently selected
image when the Image Gallery has the focus, "Shift+Del" can now also be
used to remove all the images at once.
Prior to this commit, when a `CameraInit` node was added to or removed
from the list of `CameraInit` nodes, the active `CameraInit` was always
reset to the first one in the list, independently from its previous
value.
This commit changes that behaviour by only modifying the active
`CameraInit` if no `CameraInit` node has been assigned yet, or if the
active `CameraInit` does not exist anymore (meaning it has been removed).
This requires to emit the `cameraInitChanged` signal every single time
the list of existing `CameraInit` nodes is modified even if the active one
is not changed, and to connect it to the ImageGallery in order to ensure
the index from the combo box always corresponds to the currently active
`CameraInit` node. Indeed, when the list of CameraInits is updated, the
model for the combo box is reset, and it needs to be re-updated with the
correct non-default value.