Merge pull request #96204 from bruvzg/fd_no_case

[Linux] Make file filters case insensitive.
This commit is contained in:
Rémi Verschelde 2024-08-30 09:59:23 +02:00
commit 0897d830fe
No known key found for this signature in database
GPG Key ID: C3336907360768E1
1 changed files with 9 additions and 1 deletions

View File

@ -210,7 +210,15 @@ void FreeDesktopPortalDesktop::append_dbus_dict_filters(DBusMessageIter *p_iter,
append_dbus_string(&struct_iter, p_filter_names[i]); append_dbus_string(&struct_iter, p_filter_names[i]);
dbus_message_iter_open_container(&struct_iter, DBUS_TYPE_ARRAY, "(us)", &array_iter); dbus_message_iter_open_container(&struct_iter, DBUS_TYPE_ARRAY, "(us)", &array_iter);
const String &flt = p_filter_exts[i]; const String &flt_orig = p_filter_exts[i];
String flt;
for (int j = 0; j < flt_orig.length(); j++) {
if (is_unicode_letter(flt_orig[j])) {
flt += vformat("[%c%c]", String::char_lowercase(flt_orig[j]), String::char_uppercase(flt_orig[j]));
} else {
flt += flt_orig[j];
}
}
int filter_slice_count = flt.get_slice_count(","); int filter_slice_count = flt.get_slice_count(",");
for (int j = 0; j < filter_slice_count; j++) { for (int j = 0; j < filter_slice_count; j++) {
dbus_message_iter_open_container(&array_iter, DBUS_TYPE_STRUCT, nullptr, &array_struct_iter); dbus_message_iter_open_container(&array_iter, DBUS_TYPE_STRUCT, nullptr, &array_struct_iter);