|
@@ -156,7 +156,6 @@ void FileDialog::_action_pressed() {
|
|
|
|
|
|
if (mode==MODE_SAVE_FILE) {
|
|
|
|
|
|
- String ext = f.extension();
|
|
|
bool valid=false;
|
|
|
|
|
|
if (filter->get_selected()==filter->get_item_count()-1) {
|
|
@@ -184,7 +183,8 @@ void FileDialog::_action_pressed() {
|
|
|
if (idx>=0 && idx<filters.size()) {
|
|
|
|
|
|
String flt=filters[idx].get_slice(";",0);
|
|
|
- for (int j=0;j<flt.get_slice_count(",");j++) {
|
|
|
+ int filterSliceCount=flt.get_slice_count(",");
|
|
|
+ for (int j=0;j<filterSliceCount;j++) {
|
|
|
|
|
|
String str = (flt.get_slice(",",j).strip_edges());
|
|
|
if (f.match(str)) {
|
|
@@ -192,6 +192,13 @@ void FileDialog::_action_pressed() {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ if (!valid && filterSliceCount>0) {
|
|
|
+ String str = (flt.get_slice(",",0).strip_edges());
|
|
|
+ f+=str.substr(1, str.length()-1);
|
|
|
+ file->set_text(f.get_file());
|
|
|
+ valid=true;
|
|
|
+ }
|
|
|
} else {
|
|
|
valid=true;
|
|
|
}
|