Skip to content

UI: Add buttons to unlock the node#3158

Open
Alxiice wants to merge 2 commits into
developfrom
feat/unlock_node_or_all_contextmenu
Open

UI: Add buttons to unlock the node#3158
Alxiice wants to merge 2 commits into
developfrom
feat/unlock_node_or_all_contextmenu

Conversation

@Alxiice

@Alxiice Alxiice commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Description

Add 2 buttons on the Graph Editor node context menu:

  • "Unlock Node": unlock current node, only available if the node is locked
  • "Unlock Selected Nodes": unlock selected nodes

When the node is locked you can simply unlock this node:
image

Also you can unlock selected nodes:
image

@Alxiice
Alxiice requested a review from cbentejac July 3, 2026 14:10
@Alxiice Alxiice self-assigned this Jul 3, 2026
@Alxiice Alxiice added the feature new feature (proposed as PR or issue planned by dev) label Jul 3, 2026
@Alxiice Alxiice added this to the Meshroom 2026.1.0 milestone Jul 3, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds 'Unlock Node' and 'Unlock Selected Nodes' menu items to the GraphEditor context menu. The review feedback suggests avoiding the use of _currentScene to maintain component encapsulation and recommends enabling the 'Unlock Selected Nodes' item only when there is an active selection to prevent accidentally unlocking all nodes.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread meshroom/ui/qml/GraphEditor/GraphEditor.qml
@codecov

codecov Bot commented Jul 3, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.09%. Comparing base (6d610e0) to head (fd48ae7).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #3158   +/-   ##
========================================
  Coverage    86.09%   86.09%           
========================================
  Files           80       80           
  Lines        12127    12127           
========================================
  Hits         10441    10441           
  Misses        1686     1686           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@Alxiice
Alxiice force-pushed the feat/unlock_node_or_all_contextmenu branch 3 times, most recently from 1f702bd to b4918c5 Compare July 7, 2026 10:22
@Alxiice
Alxiice force-pushed the feat/unlock_node_or_all_contextmenu branch from b4918c5 to b483828 Compare July 15, 2026 16:35

@cbentejac cbentejac left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor changes requested regarding the two new options in the Graph Editor. Otherwise, looks good to me.

Comment on lines +783 to +793
MenuItem {
text: "Unlock Node"
enabled: nodeMenu.currentNode.locked
height: visible ? implicitHeight : 0
onTriggered: uigraph.graph.forceUnlockNodes([nodeMenu.currentNode])
}
MenuItem {
text: "Unlock Selected Nodes"
height: visible ? implicitHeight : 0
onTriggered: uigraph.graph.forceUnlockNodes(_currentScene.getSelectedNodes())
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a bit counter-intuitive: to enable the "Unlock Node", the selected node NEEDS to be locked (which makes sense). However, even if a single node is selected, the "Unlock Selected Nodes" option will always be enabled because there is no check on whether the selection contains more than one node and whether it contains at least a locked one.

Image

Comment on lines +789 to +793
MenuItem {
text: "Unlock Selected Nodes"
height: visible ? implicitHeight : 0
onTriggered: uigraph.graph.forceUnlockNodes(_currentScene.getSelectedNodes())
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would probably also hide (and not just disable) the "Unlock Selected Nodes" option if there's only one selected node.

@cbentejac
cbentejac force-pushed the feat/unlock_node_or_all_contextmenu branch from b483828 to fd48ae7 Compare July 23, 2026 10:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature new feature (proposed as PR or issue planned by dev)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants