Skip to content

Commit 8e6130d

Browse files
authored
Configured default FileDialog path to user's home directory (contributed by williamchange)
2 parents 0a60d1b + adff9c9 commit 8e6130d

9 files changed

Lines changed: 16 additions & 24 deletions

File tree

material_maker/globals.gd

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,8 @@ func propagate_shortcuts(control : Control, event : InputEvent):
210210
return
211211
do_propagate_shortcuts(control, event)
212212

213+
func get_home_directory() -> String:
214+
return OS.get_environment("USERPROFILE" if OS.has_feature("windows") else "HOME")
213215

214216
func interpret_file_name(file_name: String, path:="", file_extension:="",additional_identifiers:={}, resolution="") -> String:
215217
for i in additional_identifiers:

material_maker/main_window.gd

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -596,8 +596,7 @@ func _on_ExportMaterial_id_pressed(id) -> void:
596596
dialog.current_path = last_export_path
597597
else:
598598
var config_key = export_profile_config_key(profile)
599-
if mm_globals.config.has_section_key("path", config_key):
600-
dialog.current_dir = mm_globals.config.get_value("path", config_key)
599+
dialog.current_dir = mm_globals.config.get_value("path", config_key, mm_globals.get_home_directory())
601600
add_child(dialog)
602601
var files = await dialog.select_files()
603602
if files.size() > 0:
@@ -702,8 +701,7 @@ func load_project() -> void:
702701
dialog.file_mode = FileDialog.FILE_MODE_OPEN_FILES
703702
dialog.add_filter("*.ptex;Procedural Textures File")
704703
dialog.add_filter("*.mmpp;Model Painting File")
705-
if mm_globals.config.has_section_key("path", "project"):
706-
dialog.current_dir = mm_globals.config.get_value("path", "project")
704+
dialog.current_dir = mm_globals.config.get_value("path", "project", mm_globals.get_home_directory())
707705
var files = await dialog.select_files()
708706
if files.size() > 0:
709707
do_load_projects(files)
@@ -958,8 +956,7 @@ func edit_load_selection() -> void:
958956
dialog.access = FileDialog.ACCESS_FILESYSTEM
959957
dialog.file_mode = FileDialog.FILE_MODE_OPEN_FILE
960958
dialog.add_filter("*.mms;Material Maker Selection")
961-
if mm_globals.config.has_section_key("path", "selection"):
962-
dialog.current_dir = mm_globals.config.get_value("path", "selection")
959+
dialog.current_dir = mm_globals.config.get_value("path", "selection", mm_globals.get_home_directory())
963960
var files = await dialog.select_files()
964961
if files.size() == 1:
965962
mm_globals.config.set_value("path", "selection", files[0].get_base_dir())
@@ -979,8 +976,7 @@ func edit_save_selection() -> void:
979976
dialog.access = FileDialog.ACCESS_FILESYSTEM
980977
dialog.file_mode = FileDialog.FILE_MODE_SAVE_FILE
981978
dialog.add_filter("*.mms;Material Maker Selection")
982-
if mm_globals.config.has_section_key("path", "selection"):
983-
dialog.current_dir = mm_globals.config.get_value("path", "selection")
979+
dialog.current_dir = mm_globals.config.get_value("path", "selection", mm_globals.get_home_directory())
984980
var files = await dialog.select_files()
985981
if files.size() == 1:
986982
mm_globals.config.set_value("path", "selection", files[0].get_base_dir())

material_maker/nodes/generic/generic.gd

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -631,8 +631,7 @@ func load_generator() -> void:
631631
dialog.access = FileDialog.ACCESS_FILESYSTEM
632632
dialog.file_mode = FileDialog.FILE_MODE_OPEN_FILE
633633
dialog.add_filter("*.mmg;Material Maker Generator")
634-
if mm_globals.config.has_section_key("path", "template"):
635-
dialog.current_dir = mm_globals.config.get_value("path", "template")
634+
dialog.current_dir = mm_globals.config.get_value("path", "template", mm_globals.get_home_directory())
636635
var files = await dialog.select_files()
637636
if files.size() > 0:
638637
do_load_generator(files[0])
@@ -665,8 +664,7 @@ func save_generator() -> void:
665664
dialog.access = FileDialog.ACCESS_FILESYSTEM
666665
dialog.file_mode = FileDialog.FILE_MODE_SAVE_FILE
667666
dialog.add_filter("*.mmg;Material Maker Generator")
668-
if mm_globals.config.has_section_key("path", "template"):
669-
dialog.current_dir = mm_globals.config.get_value("path", "template")
667+
dialog.current_dir = mm_globals.config.get_value("path", "template", mm_globals.get_home_directory())
670668
var files = await dialog.select_files()
671669
if files.size() > 0:
672670
MMGraphNodeGeneric.do_save_generator(files[0], generator)

material_maker/panels/graph_edit/graph_edit.gd

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -796,8 +796,7 @@ func save_as() -> bool:
796796
dialog.file_mode = FileDialog.FILE_MODE_SAVE_FILE
797797
dialog.add_filter("*.ptex;Procedural Textures File")
798798
var main_window = mm_globals.main_window
799-
if mm_globals.config.has_section_key("path", "project"):
800-
dialog.current_dir = mm_globals.config.get_value("path", "project")
799+
dialog.current_dir = mm_globals.config.get_value("path", "project", mm_globals.get_home_directory())
801800
var files = await dialog.select_files()
802801
if files.size() == 1:
803802
if save_file(files[0]):

material_maker/panels/preview_2d/export_menu.gd

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ func _on_export_folder_button_pressed() -> void:
7272
#file_dialog.add_filter("*.png; PNG image file")
7373
#file_dialog.add_filter("*.exr; EXR image file")
7474

75+
file_dialog.current_dir = mm_globals.get_home_directory()
76+
7577
if %ExportFolder.text:
7678
file_dialog.current_dir = %ExportFolder.text
7779

@@ -130,8 +132,7 @@ func _on_image_pressed() -> void:
130132
file_dialog.add_filter("*.png; PNG image file")
131133
file_dialog.add_filter("*.exr; EXR image file")
132134

133-
if mm_globals.config.has_section_key("path", "save_preview"):
134-
file_dialog.current_dir = mm_globals.config.get_value("path", "save_preview")
135+
file_dialog.current_dir = mm_globals.config.get_value("path", "save_preview", mm_globals.get_home_directory())
135136

136137
var files = await file_dialog.select_files()
137138

material_maker/panels/preview_3d/export_menu.gd

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,7 @@ func _on_generate_map_button_pressed() -> void:
4848
dialog.file_mode = FileDialog.FILE_MODE_SAVE_FILE
4949
dialog.add_filter("*.png; PNG image File")
5050
dialog.add_filter("*.exr; EXR image File")
51-
if mm_globals.config.has_section_key("path", "maps"):
52-
dialog.current_dir = get_node("/MainWindow").mm_globals.config.get_value("path", "maps")
51+
dialog.current_dir = get_node("/MainWindow").mm_globals.config.get_value("path", "maps", mm_globals.get_home_directory())
5352

5453
dialog.current_file = file_name.get_basename()+extension
5554

material_maker/panels/preview_3d/preview_3d.gd

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,7 @@ func set_model(id : int, custom_model_path : String = "") -> bool:
6969
dialog.file_mode = FileDialog.FILE_MODE_OPEN_FILE
7070
for f in MMMeshLoader.get_file_dialog_filters():
7171
dialog.add_filter(f)
72-
if mm_globals.config.has_section_key("path", "mesh"):
73-
dialog.current_dir = mm_globals.config.get_value("path", "mesh")
72+
dialog.current_dir = mm_globals.config.get_value("path", "mesh", mm_globals.get_home_directory())
7473
var files = await dialog.select_files()
7574
if files.size() == 1:
7675
custom_model_path = files[0]

material_maker/windows/export_taa/export_taa.gd

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,7 @@ func _on_Export_pressed():
8383
dialog.add_filter("*.jpg;JPG image file")
8484
dialog.add_filter("*.png;PNG image file")
8585
dialog.add_filter("*.webp;WEBP image file")
86-
if mm_globals.config.has_section_key("path", "save_preview"):
87-
dialog.current_dir = mm_globals.config.get_value("path", "save_preview")
86+
dialog.current_dir = mm_globals.config.get_value("path", "save_preview", mm_globals.get_home_directory())
8887
var files = await dialog.select_files()
8988
if files.size() == 1:
9089
await avg_texture.save_to_file(files[0])

material_maker/windows/new_painter/new_painter.gd

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,7 @@ func _on_ProjectFile_pressed():
7777
dialog.access = FileDialog.ACCESS_FILESYSTEM
7878
dialog.file_mode = FileDialog.FILE_MODE_SAVE_FILE
7979
dialog.add_filter("*.mmpp;Material Maker paint project file")
80-
#if mm_globals.config.has_section_key("path", "material"):
81-
# dialog.current_dir = mm_globals.config.get_value("path", "material")
80+
#dialog.current_dir = mm_globals.config.get_value("path", "material", mm_globals.get_home_directory())
8281
var files = await dialog.select_files()
8382
if files.size() == 1:
8483
set_project(files[0])

0 commit comments

Comments
 (0)