@@ -390,30 +390,39 @@ func hide_editors():
390390## *****************************************************************************
391391
392392func create_rmb_context_menus ():
393+
393394 var timeline_popup = PopupMenu .new ()
394395 timeline_popup .add_icon_item (get_icon ("Filesystem" , "EditorIcons" ), DTS .translate ('Show in File Manager' ))
395396 timeline_popup .add_icon_item (get_icon ("ActionCopy" , "EditorIcons" ), DTS .translate ('Copy Timeline Name' ))
397+ timeline_popup .add_icon_item (get_icon ("Rename" , "EditorIcons" ), DTS .translate ('Copy File Name' ))
396398 timeline_popup .add_icon_item (get_icon ("Remove" , "EditorIcons" ), DTS .translate ('Remove Timeline' ))
397399 add_child (timeline_popup )
400+ add_rmb_popup_style (timeline_popup )
398401 rmb_popup_menus ["Timeline" ] = timeline_popup
399402
400403 var character_popup = PopupMenu .new ()
401404 character_popup .add_icon_item (get_icon ("Filesystem" , "EditorIcons" ), DTS .translate ('Show in File Manager' ))
405+ character_popup .add_icon_item (get_icon ("Rename" , "EditorIcons" ), DTS .translate ('Copy File Name' ))
402406 character_popup .add_icon_item (get_icon ("Remove" , "EditorIcons" ), DTS .translate ('Remove Character' ))
403407 add_child (character_popup )
408+ add_rmb_popup_style (character_popup )
404409 rmb_popup_menus ["Character" ] = character_popup
405410
406411 var theme_popup = PopupMenu .new ()
407412 theme_popup .add_icon_item (get_icon ("Filesystem" , "EditorIcons" ), DTS .translate ('Show in File Manager' ))
413+ theme_popup .add_icon_item (get_icon ("Rename" , "EditorIcons" ), DTS .translate ('Copy File Name' ))
408414 theme_popup .add_icon_item (get_icon ("Duplicate" , "EditorIcons" ), DTS .translate ('Duplicate Theme' ))
409415 theme_popup .add_icon_item (get_icon ("Remove" , "EditorIcons" ), DTS .translate ('Remove Theme' ))
410416 add_child (theme_popup )
417+ add_rmb_popup_style (theme_popup )
411418 rmb_popup_menus ["Theme" ] = theme_popup
412419
413420 var definition_popup = PopupMenu .new ()
414421 definition_popup .add_icon_item (get_icon ("Edit" , "EditorIcons" ), DTS .translate ('Edit Definitions File' ))
422+ definition_popup .add_icon_item (get_icon ("Rename" , "EditorIcons" ), DTS .translate ('Copy Definition ID' ))
415423 definition_popup .add_icon_item (get_icon ("Remove" , "EditorIcons" ), DTS .translate ('Remove Definition entry' ))
416424 add_child (definition_popup )
425+ add_rmb_popup_style (definition_popup )
417426 rmb_popup_menus ["Value" ] = definition_popup
418427 rmb_popup_menus ["GlossaryEntry" ] = definition_popup
419428
@@ -423,20 +432,23 @@ func create_rmb_context_menus():
423432 timeline_folder_popup .add_icon_item (get_icon ("Folder" , "EditorIcons" ) ,DTS .translate ('Create Subfolder' ))
424433 timeline_folder_popup .add_icon_item (get_icon ("Remove" , "EditorIcons" ) ,DTS .translate ('Delete Folder' ))
425434 add_child (timeline_folder_popup )
435+ add_rmb_popup_style (timeline_folder_popup )
426436 rmb_popup_menus ['Timeline Root' ] = timeline_folder_popup
427437
428438 var character_folder_popup = PopupMenu .new ()
429439 character_folder_popup .add_icon_item (get_icon ("Add" , "EditorIcons" ) ,DTS .translate ('Add Character' ))
430440 character_folder_popup .add_icon_item (get_icon ("Folder" , "EditorIcons" ) ,DTS .translate ('Create Subfolder' ))
431441 character_folder_popup .add_icon_item (get_icon ("Remove" , "EditorIcons" ) ,DTS .translate ('Delete Folder' ))
432442 add_child (character_folder_popup )
443+ add_rmb_popup_style (character_folder_popup )
433444 rmb_popup_menus ['Character Root' ] = character_folder_popup
434445
435446 var theme_folder_popup = PopupMenu .new ()
436447 theme_folder_popup .add_icon_item (get_icon ("Add" , "EditorIcons" ) ,DTS .translate ('Add Theme' ))
437448 theme_folder_popup .add_icon_item (get_icon ("Folder" , "EditorIcons" ) ,DTS .translate ('Create Subfolder' ))
438449 theme_folder_popup .add_icon_item (get_icon ("Remove" , "EditorIcons" ) ,DTS .translate ('Delete Folder' ))
439450 add_child (theme_folder_popup )
451+ add_rmb_popup_style (theme_folder_popup )
440452 rmb_popup_menus ["Theme Root" ] = theme_folder_popup
441453
442454 var definition_folder_popup = PopupMenu .new ()
@@ -445,16 +457,19 @@ func create_rmb_context_menus():
445457 definition_folder_popup .add_icon_item (get_icon ("Folder" , "EditorIcons" ) ,DTS .translate ('Create Subfolder' ))
446458 definition_folder_popup .add_icon_item (get_icon ("Remove" , "EditorIcons" ) ,DTS .translate ('Delete Folder' ))
447459 add_child (definition_folder_popup )
460+ add_rmb_popup_style (definition_folder_popup )
448461 rmb_popup_menus ["Definition Root" ] = definition_folder_popup
449462
450463 var documentation_folder_popup = PopupMenu .new ()
451464 documentation_folder_popup .add_icon_item (get_icon ("Edit" , "EditorIcons" ) ,DTS .translate ('Toggle Editing Tools' ))
452465 add_child (documentation_folder_popup )
466+ add_rmb_popup_style (documentation_folder_popup )
453467 rmb_popup_menus ["Documentation Root" ] = documentation_folder_popup
454468
455469 var documentation_popup = PopupMenu .new ()
456470 documentation_popup .add_icon_item (get_icon ("Edit" , "EditorIcons" ) ,DTS .translate ('Toggle Editing Tools' ))
457471 add_child (documentation_popup )
472+ add_rmb_popup_style (documentation_popup )
458473 rmb_popup_menus ["Documentation" ] = documentation_popup
459474
460475 # Connecting context menus
@@ -470,6 +485,13 @@ func create_rmb_context_menus():
470485 definition_folder_popup .connect ('id_pressed' , self , '_on_DefinitionRootPopupMenu_id_pressed' )
471486 documentation_folder_popup .connect ('id_pressed' , self , '_on_DocumentationPopupMenu_id_pressed' )
472487
488+ func add_rmb_popup_style (popup ):
489+ var menu_background = load ("res://addons/dialogic/Editor/Events/styles/ResourceMenuPanelBackground.tres" )
490+ menu_background .bg_color = get_color ("base_color" , "Editor" )
491+
492+ popup .add_stylebox_override ('panel' , menu_background )
493+ popup .add_stylebox_override ('hover' , StyleBoxEmpty .new ())
494+ popup .add_color_override ('font_color_hover' , get_color ("accent_color" , "Editor" ))
473495
474496func _on_item_rmb_selected (position ):
475497 var item = get_selected ().get_metadata (0 )
@@ -513,28 +535,34 @@ func create_item_path_recursive(item:TreeItem, path:String) -> String:
513535func _on_TimelinePopupMenu_id_pressed (id ):
514536 if id == 0 : # View files
515537 OS .shell_open (ProjectSettings .globalize_path (DialogicResources .get_path ('TIMELINE_DIR' )))
516- if id == 1 : # Copy to clipboard
538+ elif id == 1 : # Copy to clipboard
517539 OS .set_clipboard (get_item_path (get_selected ()).replace ('Timelines' , '' ))
518- if id == 2 : # Remove
540+ elif id == 2 : # Copy File name
541+ OS .set_clipboard (get_selected ().get_metadata (0 ).get ('file' ))
542+ elif id == 3 : # Remove
519543 editor_reference .popup_remove_confirmation ('Timeline' )
520544
521545
522546# Character context menu
523547func _on_CharacterPopupMenu_id_pressed (id ):
524548 if id == 0 :
525549 OS .shell_open (ProjectSettings .globalize_path (DialogicResources .get_path ('CHAR_DIR' )))
526- if id == 1 :
550+ elif id == 1 : # Copy File name
551+ OS .set_clipboard (get_selected ().get_metadata (0 ).get ('file' ))
552+ elif id == 2 : # Remove
527553 editor_reference .popup_remove_confirmation ('Character' )
528554
529555
530556# Theme context menu
531557func _on_ThemePopupMenu_id_pressed (id ):
532558 if id == 0 :
533559 OS .shell_open (ProjectSettings .globalize_path (DialogicResources .get_path ('THEME_DIR' )))
534- if id == 1 :
560+ elif id == 1 : # Copy File name
561+ OS .set_clipboard (get_selected ().get_metadata (0 ).get ('file' ))
562+ elif id == 2 :
535563 var filename = editor_reference .get_node ('MainPanel/MasterTreeContainer/MasterTree' ).get_selected ().get_metadata (0 )['file' ]
536564 theme_editor .duplicate_theme (filename )
537- if id == 2 :
565+ elif id == 3 :
538566 editor_reference .popup_remove_confirmation ('Theme' )
539567
540568
@@ -543,7 +571,9 @@ func _on_DefinitionPopupMenu_id_pressed(id):
543571 if id == 0 :
544572 var paths = DialogicResources .get_config_files_paths ()
545573 OS .shell_open (ProjectSettings .globalize_path (paths ['DEFAULT_DEFINITIONS_FILE' ]))
546- if id == 1 :
574+ elif id == 1 : # Copy File name
575+ OS .set_clipboard (get_selected ().get_metadata (0 ).get ('id' ))
576+ if id == 2 :
547577 if value_editor .visible :
548578 editor_reference .popup_remove_confirmation ('Value' )
549579 elif glossary_entry_editor .visible :
0 commit comments