Skip to content

Commit 4129a09

Browse files
committedJan 27, 2025
Merge pull request #102080 from bruvzg/fd_open_any
Fix FILE_MODE_OPEN_ANY file dialog not selecting folders.
2 parents 7ce0828 + adceb32 commit 4129a09

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed
 

‎doc/classes/FileDialog.xml

+1
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@
151151
<member name="mode_overrides_title" type="bool" setter="set_mode_overrides_title" getter="is_mode_overriding_title" default="true">
152152
If [code]true[/code], changing the [member file_mode] property will set the window title accordingly (e.g. setting [member file_mode] to [constant FILE_MODE_OPEN_FILE] will change the window title to "Open a File").
153153
</member>
154+
<member name="ok_button_text" type="String" setter="set_ok_button_text" getter="get_ok_button_text" overrides="AcceptDialog" default="&quot;Save&quot;" />
154155
<member name="option_count" type="int" setter="set_option_count" getter="get_option_count" default="0">
155156
The number of additional [OptionButton]s and [CheckBox]es in the dialog.
156157
</member>

‎scene/gui/file_dialog.cpp

+10-2
Original file line numberDiff line numberDiff line change
@@ -637,8 +637,10 @@ void FileDialog::deselect_all() {
637637
set_ok_button_text(ETR("Select Current Folder"));
638638
break;
639639
case FILE_MODE_OPEN_ANY:
640+
set_ok_button_text(ETR("Open"));
641+
break;
640642
case FILE_MODE_SAVE_FILE:
641-
// FIXME: Implement, or refactor to avoid duplication with set_mode
643+
set_ok_button_text(ETR("Save"));
642644
break;
643645
}
644646
}
@@ -657,7 +659,13 @@ void FileDialog::_tree_selected() {
657659

658660
if (!d["dir"]) {
659661
file->set_text(d["name"]);
660-
} else if (mode == FILE_MODE_OPEN_DIR) {
662+
if (mode == FILE_MODE_SAVE_FILE) {
663+
set_ok_button_text(ETR("Save"));
664+
} else {
665+
set_ok_button_text(ETR("Open"));
666+
}
667+
} else if (mode == FILE_MODE_OPEN_DIR || mode == FILE_MODE_OPEN_ANY) {
668+
file->set_text("");
661669
set_ok_button_text(ETR("Select This Folder"));
662670
}
663671

0 commit comments

Comments
 (0)