diff --git a/scenes/node.gd b/scenes/node.gd index 6882414..7fba280 100644 --- a/scenes/node.gd +++ b/scenes/node.gd @@ -121,6 +121,8 @@ func _input(event): var dist = get_viewport().get_mouse_position() - start_pos print(dist.length()) if dist.length() < 3: - file_browser.visible = not file_browser.visible + var state = file_browser.visible + repository.close_all_file_browsers() + file_browser.visible = not state start_pos = null diff --git a/scenes/repository.gd b/scenes/repository.gd index 4180213..4972f17 100644 --- a/scenes/repository.gd +++ b/scenes/repository.gd @@ -342,3 +342,11 @@ func set_file_browser_active(active): file_browser_active = active if file_browser: file_browser.visible = active + +func close_all_file_browsers(): + var all = all_objects() + + for o in objects.values(): + if o.type == "commit": + o.file_browser.visible = false +