Эквивалент gtk_file_chooser_set_local_only () в GTK4?
В средстве выбора файлов GTK3 была функцияgtk_file_chooser_set_local_only()
это гарантировало, что пользователь мог выбирать только локальные файлы (то есть те, у которых есть локальный путь, который может быть передан в
open()
или), и это ограничение было включено по умолчанию. Эта функция была удалена в GTK4 и, похоже, не подлежит замене. В этом документе по миграции упоминается, что эта функция была удалена, и теперь средства выбора файлов GTK4 могут получать доступ как к локальным, так и нелокальным ресурсам.
Однако не упоминается, что мне делать, если я по-прежнему хочу ограничить результаты только локальными ресурсами. Кажется, я не могу добавить какой-то "фильтр". Конечно, я могу проверить выбранный файл, который возвращается после закрытия диалогового окна, и отобразить сообщение об ошибке, если выбранный файл не является локальным, но это будет означать, что нелокальные ресурсы все еще отображаются в диалоговом окне.
Как я могу ограничить отображение диалога только локальными ресурсами?
(Для контекста я поддерживаю кроссплатформенную библиотеку диалоговых окон для файлов , и я пытаюсь написать для нее бэкэнд GTK4. Пользователи этой библиотеки ожидают получить обратно одно или несколько имен файлов из диалогового окна, и эти имена могут быть переданы в другие библиотеки для потребления, например
fopen()
или же SDL_RWFromFile()
, которые не понимают нелокальные файлы. Хотя нелокальные файлы и абстракция GFile могут быть полезны для тех, кто использует весь набор GTK, эта библиотека в первую очередь предназначена для программ, которые хотят использовать GTK только для своего средства выбора файлов, поскольку это де-факто средство выбора файлов в большинстве Linux.)