首页 > 解决方案 > 相当于 GTK4 中的 gtk_file_chooser_set_local_only()?

问题描述

GTK3 文件选择器中,有一个功能gtk_file_chooser_set_local_only()可以确保用户只能选择本地文件(即那些具有可能传递给open()或的本地路径的文件fopen()),并且默认情况下启用了此限制。这个功能在 GTK4 中已经被移除,并且似乎没有任何替代品。此迁移文档提到该功能已被删除,现在 GTK4 文件选择器可以访问本地和非本地资源。

但是,如果我仍然想将结果仅限于本地资源,则没有提及我应该做什么。似乎没有我可以添加的“过滤器”。当然,我可以检查对话框关闭后返回的所选文件,如果所选文件是非本地的,则显示错误消息,但这意味着非本地资源仍然显示在对话框中。

如何将对话框显示限制为仅本地资源?

(为了上下文,我维护了一个跨平台的原生文件对话框库,我正在尝试为它编写一个 GTK4 后端。这个库的用户希望从对话框中获取一个或多个文件名,并且这些文件名可能会被传递供其他库使用,例如fopen()SDL_RWFromFile(),它们不理解非本地文件。虽然非本地文件和 GFile 抽象可能对使用整个 GTK 套件的人有用,但该库主要用于想要使用的程序GTK 仅用于它的文件选择器,因为它是大多数 Linux 上事实上的本机文件选择器。)

标签: gtkfilechooserfilepickergtk4

解决方案


推荐阅读