@@ -2151,8 +2151,11 @@ def _clone_context_menu_from_parent(self):
21512151 """
21522152 Clone the context menus from the parent node graph.
21532153 """
2154- undo_regex = re .compile (r'^\&Undo(?:| \w+)' )
2155- redo_regex = re .compile (r'^\&Redo(?:| \w+)' )
2154+ graph_menu = self .get_context_menu ('graph' )
2155+ parent_menu = self .parent_graph .get_context_menu ('graph' )
2156+ parent_viewer = self .parent_graph .viewer ()
2157+ excl_actions = [parent_viewer .qaction_for_undo (),
2158+ parent_viewer .qaction_for_redo ()]
21562159
21572160 def clone_menu (menu , menu_to_clone ):
21582161 """
@@ -2161,7 +2164,7 @@ def clone_menu(menu, menu_to_clone):
21612164 menu_to_clone (NodeGraphQt.NodeGraphMenu):
21622165 """
21632166 sub_items = []
2164- for idx , item in enumerate ( menu_to_clone .get_items () ):
2167+ for item in menu_to_clone .get_items ():
21652168 if item is None :
21662169 menu .add_separator ()
21672170 continue
@@ -2171,9 +2174,9 @@ def clone_menu(menu, menu_to_clone):
21712174 sub_items .append ([sub_menu , item ])
21722175 continue
21732176
2174- if idx <= 1 :
2175- if undo_regex . match ( name ) or redo_regex . match ( name ):
2176- continue
2177+ if item in excl_actions :
2178+ continue
2179+
21772180 menu .add_command (
21782181 name ,
21792182 func = item .slot_function ,
@@ -2183,8 +2186,7 @@ def clone_menu(menu, menu_to_clone):
21832186 for sub_menu , to_clone in sub_items :
21842187 clone_menu (sub_menu , to_clone )
21852188
2186- graph_menu = self .get_context_menu ('graph' )
2187- parent_menu = self .parent_graph .get_context_menu ('graph' )
2189+ # duplicate the menu items.
21882190 clone_menu (graph_menu , parent_menu )
21892191
21902192 def _build_port_nodes (self ):
0 commit comments