From e6fe84a6299f0294c03efbc4983461082c49bbeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Candice=20Bent=C3=A9jac?= Date: Thu, 3 Oct 2024 17:50:41 +0200 Subject: [PATCH 1/5] [nodes] `Publish`: Exposed the input list of files --- meshroom/nodes/aliceVision/Publish.py | 1 + 1 file changed, 1 insertion(+) diff --git a/meshroom/nodes/aliceVision/Publish.py b/meshroom/nodes/aliceVision/Publish.py index 05024aa94b..2d41ef1336 100644 --- a/meshroom/nodes/aliceVision/Publish.py +++ b/meshroom/nodes/aliceVision/Publish.py @@ -28,6 +28,7 @@ class Publish(desc.Node): name="inputFiles", label="Input Files", description="Input files or folders' content to publish.", + exposed=True, group="", ), desc.File( From 0cddff19ed68a30ac2c58dacc20d1dbe04481d31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Candice=20Bent=C3=A9jac?= Date: Thu, 3 Oct 2024 18:03:59 +0200 Subject: [PATCH 2/5] [ui] Homepage: Adjust the minimum width to correctly fit logos --- meshroom/ui/qml/Homepage.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meshroom/ui/qml/Homepage.qml b/meshroom/ui/qml/Homepage.qml index 66e9bf8b2d..f036d7f340 100644 --- a/meshroom/ui/qml/Homepage.qml +++ b/meshroom/ui/qml/Homepage.qml @@ -22,7 +22,7 @@ Page { Item { - SplitView.minimumWidth: 100 + SplitView.minimumWidth: 250 SplitView.preferredWidth: 330 SplitView.maximumWidth: 500 From 3bac0d0e3728f07a61ed07cb3e595d9b4eb9586f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Candice=20Bent=C3=A9jac?= Date: Thu, 3 Oct 2024 18:10:48 +0200 Subject: [PATCH 3/5] [GraphEditor] AttributePin: Fix condition for the highlight pin display --- meshroom/ui/qml/GraphEditor/AttributePin.qml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meshroom/ui/qml/GraphEditor/AttributePin.qml b/meshroom/ui/qml/GraphEditor/AttributePin.qml index d9eee14241..a4e710822f 100755 --- a/meshroom/ui/qml/GraphEditor/AttributePin.qml +++ b/meshroom/ui/qml/GraphEditor/AttributePin.qml @@ -236,7 +236,8 @@ RowLayout { anchors.fill: parent anchors.margins: 2 color: { - if ((!object.hasOutputConnections && object.enabled) && outputConnectMA.containsMouse || outputConnectMA.drag.active || (outputDropArea.containsDrag && outputDropArea.acceptableDrop)) + if (object.enabled && (outputConnectMA.containsMouse || outputConnectMA.drag.active || + (outputDropArea.containsDrag && outputDropArea.acceptableDrop))) return Colors.sysPalette.highlight return Colors.sysPalette.text } From b02a0eef888bb5a479553323f3d5759ed2742962 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Candice=20Bent=C3=A9jac?= Date: Fri, 4 Oct 2024 18:06:23 +0200 Subject: [PATCH 4/5] [Viewer] SequencePlayer: Prevent null accesses When the SequencePlayer isn't available (when QtAliceVision has not been loaded), the `viewer` element is null. All accesses to properties of this object should thus be prevented. --- meshroom/ui/qml/Viewer/SequencePlayer.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meshroom/ui/qml/Viewer/SequencePlayer.qml b/meshroom/ui/qml/Viewer/SequencePlayer.qml index 54c435f84b..d9b765d760 100644 --- a/meshroom/ui/qml/Viewer/SequencePlayer.qml +++ b/meshroom/ui/qml/Viewer/SequencePlayer.qml @@ -385,7 +385,7 @@ FloatingPane { verticalAlignment: Text.AlignVCenter text: { // number of cached frames is the difference between the first and last frame of all intervals in the cache - let cachedFrames = viewer.cachedFrames + let cachedFrames = viewer ? viewer.cachedFrames : [] let cachedFramesCount = 0 for (let i = 0; i < cachedFrames.length; i++) { cachedFramesCount += cachedFrames[i].y - cachedFrames[i].x + 1 @@ -420,7 +420,7 @@ FloatingPane { ProgressBar { id: occupiedCacheProgressBar - property string occupiedCache: viewer.ramInfo ? Format.GB2SizeStr(viewer.ramInfo.y) : 0 + property string occupiedCache: viewer && viewer.ramInfo ? Format.GB2SizeStr(viewer.ramInfo.y) : 0 width: parent.width From 12249de216e44fbc185fa3c5a62d07d9a3a0fcb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Candice=20Bent=C3=A9jac?= Date: Fri, 4 Oct 2024 18:08:16 +0200 Subject: [PATCH 5/5] [GraphEditor] Stop manually editing pins based on the edge's visibility Editing the pins manually was useful when trying to hide fully the connection whenever there was an edge connected to an attribute that was disabled. Disabled attributes now have a special display if they are connected, meaning both ends of the edge do not need artificial updates. --- meshroom/ui/qml/GraphEditor/GraphEditor.qml | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/meshroom/ui/qml/GraphEditor/GraphEditor.qml b/meshroom/ui/qml/GraphEditor/GraphEditor.qml index 62de8796a9..c55ca2e22f 100755 --- a/meshroom/ui/qml/GraphEditor/GraphEditor.qml +++ b/meshroom/ui/qml/GraphEditor/GraphEditor.qml @@ -521,22 +521,6 @@ Item { } } } - onVisibleChanged: { - if (visible) { - // Enable the pins on both sides - src.updatePin(true, true) // isSrc = true, isVisible = true - dst.updatePin(false, true) // isSrc = false, isVisible = true - } else { - // One of the attributes is visible, we do not need to handle the case where both attributes are hidden - if (isValidEdge && (src.visible || dst.visible)) { - if (src.visible) { - src.updatePin(true, false) // isSrc = true, isVisible = false - } else { - dst.updatePin(false, false) // isSrc = false, isVisible = false - } - } - } - } Component.onDestruction: { // Handles the case where the edge is destroyed while hidden because it is replaced: the pins should be re-enabled