Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions Scripts/file_dialog.gd
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ var zoom: Vector2;
var active: bool = false;
signal ui_close

var change_disks_regex: RegEx = RegEx.new()

func change_dir(path) -> void:
query = ""
if !dir: dir = DirAccess.open(path)
Expand Down Expand Up @@ -79,6 +81,23 @@ func _input(event: InputEvent) -> void:
else:
handled = false

change_disks_regex.compile("^Ctrl\\+Alt\\+[A-Za-z]$")
if change_disks_regex.search(key_event.as_text()) != null:
var disk = key_event.as_text()[-1]

if disk not in get_all_disks():
editor.warn("[color=yellow]WARNING[/color]: There is no disk [b][color=#77f0e8]%s[/color][/b] connected.\nJust warning" % disk)
else:
editor.save_data({
"current_file": '',
"current_dir": '%s://' % disk,
"settings": editor.get_property_value(LuaSingleton.settings),
"theme": LuaSingleton.theme
})
editor.warn("[color=yellow]WARNING[/color]: You changed disk to [b][color=#77f0e8]%s[/color][/b].\nJust warning" % disk)
dir.change_dir("%s://" % disk)
change_dir("%s://" % disk)

erased = false
if current_dirs_count <= search_limit and !handled:
if key_event.keycode == KEY_BACKSPACE:
Expand Down Expand Up @@ -230,6 +249,14 @@ func is_closer(old: Array, new: Array) -> bool:

return false

func get_all_disks():
var disks: Array = []

for i in range(DirAccess.get_drive_count()):
disks.append(DirAccess.get_drive_name(i)[0])

return disks

# global_position is slightly off, so we customize it a little.
func gp() -> Vector2:
var vec = global_position;
Expand Down