GtkFileChooserNative
GtkFileChooserNative — Диалог выбора файла, подходящий для команд «Файл/Открыть» или «Файл/Сохранить»
Функции
| GtkFileChooserNative * | gtk_file_chooser_native_new () |
| const char * | gtk_file_chooser_native_get_accept_label () |
| void | gtk_file_chooser_native_set_accept_label () |
| const char * | gtk_file_chooser_native_get_cancel_label () |
| void | gtk_file_chooser_native_set_cancel_label () |
Файлы заголовков
#include <gtk/gtk.h>
Описание
GtkFileChooserNative — это абстракция диалогового окна, подходящая для использования с командами «Файл/Открыть» или «Файл/Сохранить как». По умолчанию, для реализации диалога используется GtkFileChooserDialog. Однако на некоторых платформах, таких как Windows, используется диалог выбора файла платформы. Когда приложение выполняется в защищённой среде без прямого доступа к файловой системе (например, Flatpak), GtkFileChooserNative может вызывать соответствующие API (порталы), чтобы пользователь мог выбрать файл и сделать его доступным для приложения.
Хотя API GtkFileChooserNative очень похож на API GtkFileChooserDialog, основное различие заключается в том, что нет доступа к любому GtkWindow или GtkWidget для диалога. Это необходимо, так как на некоторых платформах диалога может не быть. Отображение, скрытие и запуск диалога обрабатываются функциями GtkNativeDialog.
Типичное использование
В самых простых случаях для выбора файла для открытия можно использовать следующий код с GtkFileChooserDialog:
Для использования диалога для сохранения можно использовать это:
GtkFileChooserNative *native; GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_OPEN; gint res; native = gtk_file_chooser_native_new ("Open File", parent_window, action, "_Open", "_Cancel"); res = gtk_native_dialog_run (GTK_NATIVE_DIALOG (native)); if (res == GTK_RESPONSE_ACCEPT) { char *filename; GtkFileChooser *chooser = GTK_FILE_CHOOSER (native); filename = gtk_file_chooser_get_filename (chooser); open_file (filename); g_free (filename); } g_object_unref (native);
Для получения дополнительной информации о том, как лучше всего настроить диалог выбора файла, см. GtkFileChooserDialog.
Коды ответов
GtkFileChooserNative наследуется от GtkNativeDialog, что означает, что он вернёт GTK_RESPONSE_ACCEPT, если пользователь принял, и GTK_RESPONSE_CANCEL, если он нажал отмена. Он также может вернуть GTK_RESPONSE_DELETE_EVENT, если окно было неожиданно закрыто.
Отличия от GtkFileChooserDialog
Есть несколько вещей в API GtkFileChooser, которые нельзя использовать с GtkFileChooserNative, так как это запретит использование нативного диалога.
Не поддерживаются сигналы, которые генерируются, когда пользователь перемещается по диалогу, включая:
Также нельзя использовать методы, которые напрямую управляют навигацией пользователя:
gtk_file_chooser_unselect_filename()
gtk_file_chooser_select_all()
gtk_file_chooser_unselect_all()
Если вам нужно что-либо из вышеперечисленного, необходимо использовать GtkFileChooserDialog напрямую.
Никакие операции, изменяющие диалог, не выполняются, пока диалог отображается. Установите все необходимые свойства перед отображением диалога.
Подробности для Win32
В Windows используется реализация IFileDialog (добавленная в Windows Vista). Она поддерживает многие функции, которые поддерживает GtkFileChooserDialog, но есть некоторые вещи, которые она не обрабатывает:
Дополнительные виджеты, добавленные с помощью
gtk_file_chooser_set_extra_widget().Использование пользовательских предварительных просмотров путём подключения к «update-preview».
Любые фильтры файлов GtkFileFilter, добавленные с помощью типа MIME или пользовательского фильтра.
Если какие-либо из этих функций используются, вместо нативного диалога будет использоваться обычный диалог GtkFileChooserDialog.
Подробности о порталах
Когда портал org.freedesktop.portal.FileChooser доступен на системном шинном автобусе, он используется для вызова диалога выбора файла вне процесса. В зависимости от типа сессии, в которой выполняется приложение, это может быть или не быть диалогом выбора файла GTK+. В этой ситуации не поддерживаются и будут игнорироваться следующие вещи:
Дополнительные виджеты, добавленные с помощью
gtk_file_chooser_set_extra_widget().Использование пользовательских предварительных просмотров путём подключения к «update-preview».
Любые фильтры файлов GtkFileFilter, добавленные с пользовательским фильтром.
Функции
gtk_file_chooser_native_new ()
GtkFileChooserNative * gtk_file_chooser_native_new (const gchar *title,GtkWindow *parent,GtkFileChooserAction action,const gchar *accept_label,const gchar *cancel_label);
Создаёт новый GtkFileChooserNative.
Параметры
title | Заголовок диалогового окна или | [allow-none] |
parent | Родительское диалоговое окно или | [allow-none] |
action | Режим открытия или сохранения диалогового окна | |
accept_label | Текст для кнопки «Принять», или | [allow-none] |
cancel_label | Текст для кнопки «Отмена», или | [allow-none] |
Возвращаемое значение
новый GtkFileChooserNative
С: 3.20
gtk_file_chooser_native_get_accept_label ()
const char *
gtk_file_chooser_native_get_accept_label
(GtkFileChooserNative *self); Возвращает настраиваемый текст для кнопки «Принять».
Параметры
self | GtFileChooserNative |
Возвращаемое значение
Настраиваемый текст, или NULL для значения по умолчанию. Эта строка принадлежит GTK+ и не должна изменяться или освобождаться.
[nullable]
С: 3.20
gtk_file_chooser_native_set_accept_label ()
void
gtk_file_chooser_native_set_accept_label
(GtkFileChooserNative *self,
const char *accept_label); Устанавливает настраиваемый текст для кнопки «Принять».
Если символы в label предваряются символом нижнего подчеркивания, они подчеркиваются. Если вам нужен буквальный символ нижнего подчеркивания в метке, используйте «__» (два нижних подчеркивания). Первый подчеркнутый символ представляет собой сочетание клавиш, называемое мнемоником. Нажатие клавиши Alt и этой клавиши активирует кнопку.
Параметры
self | GtFileChooserNative | |
accept_label | Настраиваемый текст, или | [allow-none] |
С: 3.20
gtk_file_chooser_native_get_cancel_label ()
const char *
gtk_file_chooser_native_get_cancel_label
(GtkFileChooserNative *self); Возвращает настраиваемый текст для кнопки «Отмена».
Параметры
self | GtFileChooserNative |
Возвращаемое значение
Настраиваемый текст, или NULL для значения по умолчанию. Эта строка принадлежит GTK+ и не должна изменяться или освобождаться.
[nullable]
С: 3.20
gtk_file_chooser_native_set_cancel_label ()
void
gtk_file_chooser_native_set_cancel_label
(GtkFileChooserNative *self,
const char *cancel_label); Устанавливает настраиваемый текст для кнопки «Отмена».
Если символы в label предваряются символом нижнего подчеркивания, они подчеркиваются. Если вам нужен буквальный символ нижнего подчеркивания в метке, используйте «__» (два нижних подчеркивания). Первый подчеркнутый символ представляет собой сочетание клавиш, называемое мнемоником. Нажатие клавиши Alt и этой клавиши активирует кнопку.
Параметры
self | GtFileChooserNative | |
cancel_label | Настраиваемый текст, или | [allow-none] |
С: 3.20
Типы и значения
См. также
GtkFileChooser, GtkNativeDialog, GtkFileChooserDialog
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.22/gtk3-GtkFileChooserNative.html