Skip to content

Commit fb39483

Browse files
Add right-click options to copy file names (#782)
A simple attempt to make the file names a bit easier to find out, so you don't have to open all files and look at their content to find out what file is what. Also updated the rmb popup looks of the menus on the MasterTree.
1 parent ca8a5ce commit fb39483

File tree

1 file changed

+36
-6
lines changed

1 file changed

+36
-6
lines changed

addons/dialogic/Editor/MasterTree/MasterTree.gd

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -390,30 +390,39 @@ func hide_editors():
390390
## *****************************************************************************
391391

392392
func 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

474496
func _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:
513535
func _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
523547
func _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
531557
func _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

Comments
 (0)