GtkFileChooser
GtkFileChooser — Интерфейс выбора файла, используемый GtkFileChooserWidget и GtkFileChooserDialog
Функции
Свойства
| GtkFileChooserAction | action | Чтение / Запись |
| gboolean | создавать-папки | Чтение / Запись |
| gboolean | подтверждение-перезаписи | Чтение / Запись |
| GtkWidget * | дополнительный-виджет | Чтение / Запись |
| GtkFileFilter * | фильтр | Чтение / Запись |
| gboolean | только-локальное | Чтение / Запись |
| GtkWidget * | предварительный-виджет | Чтение / Запись |
| gboolean | предварительный-виджет-активен | Чтение / Запись |
| gboolean | выбрать-несколько | Чтение / Запись |
| gboolean | показать-скрытые | Чтение / Запись |
| gboolean | использовать-метку-предпросмотра | Чтение / Запись |
Сигналы
| GtkFileChooserConfirmation | confirm-overwrite | Выполнить последним |
| void | current-folder-changed | Выполнить последним |
| void | file-activated | Выполнить последним |
| void | selection-changed | Выполнить последним |
| void | update-preview | Выполнить последним |
Типы и значения
| GtkFileChooser | |
| перечисление | GtkFileChooserAction |
| перечисление | GtkFileChooserConfirmation |
| #определить | GTK_FILE_CHOOSER_ERROR |
| перечисление | GtkFileChooserError |
Иерархия объектов
GInterface ╰── GtkFileChooser
Предварительные условия
GtkFileChooser требует GObject.
Известные реализации
GtkFileChooser реализуется с помощью GtkFileChooserButton, GtkFileChooserDialog и GtkFileChooserWidget.
Включенные файлы
#include <gtk/gtk.h>
Описание
GtkFileChooser — это интерфейс, который может быть реализован виджетами выбора файлов. В GTK+ основными объектами, реализующими этот интерфейс, являются GtkFileChooserWidget, GtkFileChooserDialog и GtkFileChooserButton. Вам нет необходимости создавать объект, реализующий интерфейс GtkFileChooser, если вы не пытаетесь адаптировать существующий селектор файлов для предоставления стандартного программного интерфейса.
GtkFileChooser позволяет создавать ссылки на различные места в файловой системе. В стандартной реализации эти ссылки отображаются в левой панели. Возможно, вначале будет немного неясно, что эти ссылки поступают из различных источников и имеют различные форматы, поэтому давайте объясним терминологию здесь:
Закладки: создаются пользователем, перетаскиванием папок из правой панели в левую или с помощью «Добавить». Закладки можно переименовывать и удалять.
Ярлыки: могут предоставляться приложением. Например, программа «Рисование» может добавить ярлык для папки «Клипарты». Ярлыки не могут быть изменены пользователем.
Тома: предоставляются базовой абстракцией файловой системы. Они являются «корнями» файловой системы.
Имена файлов и кодировки
Когда пользователь закончит выбор файлов в GtkFileChooser, ваша программа может получить выбранные имена как имена файлов или как URI. Для URI применяются обычные правила экранирования, если URI содержит не-ASCII символы. Однако имена файлов всегда возвращаются в наборе символов, указанном переменной среды G_FILENAME_ENCODING. Подробнее об этой переменной см. документацию GLib.
Это означает, что вы можете передать результат gtk_file_chooser_get_filename() в g_open() или g_fopen(), но вы не сможете напрямую установить его как текст виджета GtkLabel, если не преобразуете его в UTF-8, который все виджеты GTK+ ожидают. Вы должны использовать g_filename_to_utf8() для преобразования имён файлов в строки, которые можно передавать виджетам GTK+.
Добавление виджета предварительного просмотра
Вы можете добавить пользовательский виджет предварительного просмотра в селектор файлов и получать уведомления о необходимости обновления предварительного просмотра. Для установки виджета предварительного просмотра используйте gtk_file_chooser_set_preview_widget(). Затем подключитесь к сигналу “update-preview”, чтобы получать уведомления о необходимости обновления содержимого предварительного просмотра.
Ваш обратный вызов должен использовать gtk_file_chooser_get_preview_filename() для просмотра того, что нужно предварительно просмотреть. После создания предварительного просмотра соответствующего файла вы должны вызвать gtk_file_chooser_set_preview_widget_active() с булевым флагом, который указывает, удалось ли вашему обратной вызову успешно создать предварительный просмотр.
Пример: Использование виджета предварительного просмотра
Добавление дополнительных виджетов
Вы можете добавить дополнительные виджеты в селектор файлов для предоставления опций, которых нет в стандартном дизайне. Например, вы можете добавить переключатель, чтобы предоставить пользователю возможность открыть файл в режиме только для чтения. Вы можете использовать gtk_file_chooser_set_extra_widget() для вставки дополнительных виджетов в селектор файлов.
Пример добавления дополнительных виджетов:
Если вы хотите установить несколько дополнительных виджетов в селекторе файлов, вы можете использовать контейнер, такой как GtkBox или GtkGrid, и включить свои виджеты в него. Затем установите контейнер как весь дополнительный виджет.
Функции
gtk_file_chooser_set_action ()
void gtk_file_chooser_set_action (GtkFileChooser *chooser,GtkFileChooserAction action);
Устанавливает тип операции, выполняемой диалогом выбора файла; пользовательский интерфейс адаптируется к выбранному действию. Например, опция создания новой папки может быть отображена, если действие — GTK_FILE_CHOOSER_ACTION_SAVE, но не если действие — GTK_FILE_CHOOSER_ACTION_OPEN.
Параметры
chooser | ||
action | действие, выполняемое диалогом выбора файла |
С: 2.4
gtk_file_chooser_get_action ()
GtkFileChooserAction
gtk_file_chooser_get_action (GtkFileChooser *chooser); Получает тип операции, выполняемой диалогом выбора файла; см. gtk_file_chooser_set_action().
Параметры
chooser |
Возвращаемое значение
действие, выполняемое диалогом выбора файла
С: 2.4
gtk_file_chooser_set_local_only ()
void gtk_file_chooser_set_local_only (GtkFileChooser *chooser,gboolean local_only);
Устанавливает, могут ли быть выбраны только локальные файлы в диалоге выбора файла. Если local_only равно TRUE (по умолчанию), то выбранный файл или файлы гарантированно доступны через файловую систему операционной системы, и поэтому приложение только должно беспокоиться о функциях работы с именами файлов в GtkFileChooser, таких как gtk_file_chooser_get_filename(), а не функциях работы с URI, таких как gtk_file_chooser_get_uri().
На некоторых системах нелокальные файлы могут по-прежнему быть доступны с помощью локальной файловой системы через пользовательскую файловую систему (FUSE).
Параметры
chooser | ||
local_only |
|
С: 2.4
gtk_file_chooser_get_local_only ()
gboolean
gtk_file_chooser_get_local_only (GtkFileChooser *chooser); Получает, могут ли быть выбраны только локальные файлы в диалоге выбора файла. См. gtk_file_chooser_set_local_only()
Параметры
chooser |
Возвращаемое значение
TRUE если должны быть выбраны только локальные файлы.
С: 2.4
gtk_file_chooser_set_select_multiple ()
void gtk_file_chooser_set_select_multiple (GtkFileChooser *chooser,gboolean select_multiple);
Устанавливает, можно ли выбирать несколько файлов в диалоге выбора файла. Это актуально только если действие задано как GTK_FILE_CHOOSER_ACTION_OPEN или GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER.
Параметры
chooser | ||
select_multiple |
|
С: 2.4
gtk_file_chooser_get_select_multiple ()
gboolean
gtk_file_chooser_get_select_multiple (GtkFileChooser *chooser); Получает, можно ли выбирать несколько файлов в диалоге выбора файла. См. gtk_file_chooser_set_select_multiple().
Параметры
chooser |
Возвращаемое значение
TRUE если можно выбирать несколько файлов.
С: 2.4
gtk_file_chooser_set_show_hidden ()
void gtk_file_chooser_set_show_hidden (GtkFileChooser *chooser,gboolean show_hidden);
Устанавливает, отображать ли скрытые файлы и папки в диалоге выбора файла.
Параметры
chooser | ||
show_hidden |
|
С: 2.6
gtk_file_chooser_get_show_hidden ()
gboolean
gtk_file_chooser_get_show_hidden (GtkFileChooser *chooser); Получает, отображать ли скрытые файлы и папки в диалоге выбора файла. См. gtk_file_chooser_set_show_hidden().
Параметры
chooser |
Возвращаемое значение
TRUE если скрытые файлы и папки отображаются.
С: 2.6
gtk_file_chooser_set_do_overwrite_confirmation ()
void gtk_file_chooser_set_do_overwrite_confirmation (GtkFileChooser *chooser,gboolean do_overwrite_confirmation);
Устанавливает, будет ли диалог выбора файла в режиме GTK_FILE_CHOOSER_ACTION_SAVE отображать диалог подтверждения, если пользователь вводит имя файла, который уже существует. По умолчанию это FALSE.
Если установлено значение TRUE, то chooser будет испускать сигнал “confirm-overwrite” при необходимости.
Если вам нужен только стандартный диалог подтверждения, установите значение TRUE. Вы можете переопределить способ подтверждения, обрабатывая сигнал “confirm-overwrite”; подробности см. в его документации.
Параметры
chooser | ||
do_overwrite_confirmation | подтверждать ли перезапись в режиме сохранения |
С: 2.8
gtk_file_chooser_get_do_overwrite_confirmation ()
gboolean
gtk_file_chooser_get_do_overwrite_confirmation
(GtkFileChooser *chooser); Определяет, установлен ли диалог подтверждения перезаписи файла при вводе пользователем существующего имени файла.
Параметры
chooser |
Возвращаемое значение
TRUE если диалог выбора файла будет отображать диалог подтверждения; FALSE в противном случае.
С: 2.8
gtk_file_chooser_set_create_folders ()
void gtk_file_chooser_set_create_folders (GtkFileChooser *chooser,gboolean create_folders);
Устанавливает, будет ли файловый выборщик предлагать создавать новые папки. Это актуально только если действие не установлено как GTK_FILE_CHOOSER_ACTION_OPEN.
Параметры
chooser | ||
create_folders |
|
С: 2.18
gtk_file_chooser_get_create_folders ()
gboolean
gtk_file_chooser_get_create_folders (GtkFileChooser *chooser); Возвращает, будет ли файловый выборщик предлагать создавать новые папки. См. gtk_file_chooser_set_create_folders().
Параметры
chooser |
Возвращаемое значение
TRUE если должна отображаться кнопка «Создать папку».
С: 2.18
gtk_file_chooser_set_current_name ()
void gtk_file_chooser_set_current_name (GtkFileChooser *chooser,const gchar *name);
Устанавливает текущее имя в файловом селекторе, как если бы его ввёл пользователь. Обратите внимание, что имя, переданное сюда, является строкой UTF-8, а не именем файла. Эта функция предназначена для использования, например, в качестве предложенного имени в диалоге «Сохранить как…». Вы можете передать «Без названия.doc» или аналогичное подходящее предложение для name.
Если вы хотите предварительно выбрать конкретный существующий файл, используйте gtk_file_chooser_set_filename() или gtk_file_chooser_set_uri() вместо этого. Обратитесь к документации этих функций для примера использования gtk_file_chooser_set_current_name() также.
Параметры
chooser | ||
name | имя файла для использования, как строка UTF-8. | [type utf8] |
С: 2.4
gtk_file_chooser_get_current_name ()
gchar *
gtk_file_chooser_get_current_name (GtkFileChooser *chooser); Возвращает текущее имя в файловом селекторе, введённое пользователем в поле ввода «Имя».
Эта функция предназначена для использования в диалогах сохранения, чтобы получить введённое имя файла, когда сам файл ещё не существует. Например, приложение, добавляющее пользовательский дополнительный виджет в файловый выборщик для «формата файла», может захотеть изменить расширение введённого имени файла в зависимости от выбранного формата, например, с «.jpg» на «.png».
Параметры
chooser |
Возвращаемое значение
Необработанный текст из поля «Имя» файлового выборщика. Освободите его с помощью g_free(). Обратите внимание, что эта строка не является полным путём или URI; это то, что содержится в поле. Также обратите внимание, что эта строка закодирована в UTF-8, что не обязательно является кодировкой системы для имён файлов.
С: 3.10
gtk_file_chooser_get_filename ()
gchar *
gtk_file_chooser_get_filename (GtkFileChooser *chooser); Возвращает имя файла для текущего выбранного файла в файловом селекторе. Имя файла возвращается в виде абсолютного пути. Если выбрано несколько файлов, возвращается одно из имён файлов случайным образом.
Если файловый выборщик находится в режиме папок, эта функция возвращает выбранную папку.
Параметры
chooser |
Возвращаемое значение
Текущее выбранное имя файла или NULL, если файл не выбран или выбранный файл не может быть представлен локальным именем файла. Освободите с помощью g_free().
[nullable][type filename]
С: 2.4
gtk_file_chooser_set_filename ()
gboolean gtk_file_chooser_set_filename (GtkFileChooser *chooser,const char *filename);
Устанавливает filename в качестве текущего имени файла для файлового выборщика, перейдя к родительской папке файла и фактически выбрав файл в списке; все остальные файлы будут сняты с выбора. Если chooser находится в режиме GTK_FILE_CHOOSER_ACTION_SAVE, базовая часть имени файла также появится в поле имени файла диалога.
Обратите внимание, что файл должен существовать, иначе ничего не будет сделано, кроме изменения директории.
Вы должны использовать эту функцию только при реализации диалога сохранения, для которого у вас уже есть имя файла, в который пользователь может сохранить. Например, когда пользователь открывает существующий файл, а затем делает «Сохранить как…» для сохранения копии или изменённой версии. Если у вас нет имени файла — например, если пользователь только что создал новый файл и сохраняет его в первый раз, не вызывайте эту функцию. Вместо этого используйте что-то подобное:
В первом случае файловый выборщик предложит пользователю полезные подсказки о том, где сохранить новый файл. Во втором случае расположение файла уже известно, поэтому файловый выборщик его использует.
Параметры
chooser | ||
filename | имя файла для установки в качестве текущего. | [type filename] |
Возвращаемое значение
Не нужно.
С: 2.4
gtk_file_chooser_select_filename ()
gboolean gtk_file_chooser_select_filename (GtkFileChooser *chooser,const char *filename);
Выбирает имя файла. Если имя файла не находится в текущей папке chooser, то текущая папка chooser будет изменена на папку, содержащую filename.
Параметры
chooser | ||
filename | имя файла для выбора. | [type filename] |
С: 2.4
gtk_file_chooser_unselect-filename ()
void gtk_file_chooser_unselect_filename (GtkFileChooser *chooser,const char *filename);
Снимает выбор с текущего выбранного имени файла. Если имя файла не находится в текущем каталоге, не существует или иначе не выбрано, ничего не происходит.
Параметры
chooser | ||
filename | имя файла, для которого снимается выбор. | [type filename] |
С: 2.4
gtk_file_chooser_select_all ()
void
gtk_file_chooser_select_all (GtkFileChooser *chooser); Выбирает все файлы в текущей папке файлового выборщика.
Параметры
chooser |
С: 2.4
gtk_file_chooser_unselect_all ()
void
gtk_file_chooser_unselect_all (GtkFileChooser *chooser); Отменяет выбор всех файлов в текущей папке файлового выбора.
Параметры
chooser |
Since: 2.4
gtk_file_chooser_get_filenames ()
GSList *
gtk_file_chooser_get_filenames (GtkFileChooser *chooser); Выводит список всех выбранных файлов и подпапок в текущей папке chooser. Возвращаемые имена являются полными абсолютными путями. Если файлы в текущей папке не могут быть представлены как локальные имена файлов, они будут проигнорированы. (См. gtk_file_chooser_get_uris())
Параметры
chooser |
Возвращаемое значение
a GSList содержащий имена файлов всех выбранных файлов и подпапок в текущей папке. Освободите возвращенный список с помощью g_slist_free(), а имена файлов с помощью g_free().
[element-type filename][transfer full]
Since: 2.4
gtk_file_chooser_set_current_folder ()
gboolean gtk_file_chooser_set_current_folder (GtkFileChooser *chooser,const gchar *filename);
Устанавливает текущую папку для chooser из локального имени файла. Пользователю будут отображены все содержимое текущей папки, а также элементы пользовательского интерфейса для перехода в другие папки.
В общем случае вы не должны использовать эту функцию. См. раздел по настройке диалога выбора файла для обоснования этого.
Параметры
chooser | ||
filename | полный путь к новой текущей папке. | [type filename] |
Возвращаемое значение
Не используется.
Since: 2.4
gtk_file_chooser_get_current_folder ()
gchar *
gtk_file_chooser_get_current_folder (GtkFileChooser *chooser); Возвращает текущую папку chooser в виде локального имени файла. См. gtk_file_chooser_set_current_folder().
Обратите внимание, что это папка, которую в данный момент отображает файловый выборщик (например, "/home/username/Documents"), которая не является той же, что и выбранная папка, если выборщик находится в режиме GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER (например, "/home/username/Documents/selected-folder/". Для получения выбранной папки в этом режиме используйте gtk_file_chooser_get_uri() как обычный способ получения выбора.)
Параметры
chooser |
Возвращаемое значение
полный путь к текущей папке или NULL если текущий путь не может быть представлен как локальное имя файла. Освободите с помощью g_free(). Эта функция также вернет NULL если файловый выборщик не смог загрузить последнюю запрошенную папку; например, при вызове gtk_file_chooser_set_current_folder() для несуществующей папки.
[nullable][type filename]
Since: 2.4
gtk_file_chooser_get_uri ()
gchar *
gtk_file_chooser_get_uri (GtkFileChooser *chooser); Получает URI для выбранного файла в файловом селекторе. Если выбрано несколько файлов, одно из имён файлов будет возвращено случайным образом.
Если файловый выборщик находится в режиме папки, эта функция возвращает выбранную папку.
Параметры
chooser |
Возвращаемое значение
Текущий выбранный URI или NULL если нет выбранного файла. Если gtk_file_chooser_set_local_only() установлено в TRUE (по умолчанию), для любых локаций FUSE будет возвращён локальный URI. Освободите с помощью g_free().
[nullable][transfer full]
Since: 2.4
gtk_file_chooser_set_uri ()
gboolean gtk_file_chooser_set_uri (GtkFileChooser *chooser,const char *uri);
Устанавливает файл, на который ссылается uri, в качестве текущего файла для файлового выборщика, переходя к родительской папке URI и фактически выбирая URI в списке. Если chooser находится в режиме GTK_FILE_CHOOSER_ACTION_SAVE, имя файла URI также будет отображаться в поле имени файла диалога.
Обратите внимание, что URI должен существовать, иначе ничего не будет сделано, кроме изменения каталога.
Вы должны использовать эту функцию только при реализации диалога сохранения, для которого у вас уже есть имя файла, куда пользователь может сохранить. Например, когда пользователь открывает существующий файл, а затем делает «Сохранить как…», чтобы сохранить копию или изменённую версию. Если у вас ещё нет имени файла — например, если пользователь только что создал новый файл и сохраняет его впервые, не вызывайте эту функцию. Вместо этого используйте что-то подобное:
В первом случае файловый выборщик предложит пользователю полезные рекомендации о том, куда сохранить новый файл. Во втором случае местоположение файла уже известно, поэтому файловый выборщик использует его.
Параметры
chooser | ||
uri | URI, который нужно установить как текущий |
Возвращаемое значение
Не используется.
Since: 2.4
gtk_file_chooser_select_uri ()
gboolean gtk_file_chooser_select_uri (GtkFileChooser *chooser,const char *uri);
Выбирает файл по uri. Если URI не ссылается на файл в текущей папке chooser, то текущая папка chooser будет изменена на папку, содержащую filename.
Параметры
chooser | ||
uri | URI, который нужно выбрать |
Возвращаемое значение
Не используется.
Since: 2.4
gtk_file_chooser_unselect_uri ()
void gtk_file_chooser_unselect_uri (GtkFileChooser *chooser,const char *uri);
Отменяет выбор файла, на который ссылается uri. Если файл не находится в текущем каталоге, не существует или по другим причинам в настоящее время не выбран, ничего не делается.
Параметры
chooser | ||
uri | URI, который нужно отменить выбор |
Since: 2.4
gtk_file_chooser_get_uris ()
GSList *
gtk_file_chooser_get_uris (GtkFileChooser *chooser); Перечисляет все выбранные файлы и подпапки в текущей папке chooser. Возвращаемые имена — полные абсолютные URI.
Параметры
chooser |
Возвращает
a GSList содержащий URI всех выбранных файлов и подпапок в текущей папке. Освободите возвращённый список с помощью g_slist_free(), а имена файлов с помощью g_free().
[element-type utf8][transfer full]
С: 2.4
gtk_file_chooser_set_current_folder_uri ()
gboolean gtk_file_chooser_set_current_folder_uri (GtkFileChooser *chooser,const gchar *uri);
Устанавливает текущую папку для chooser по URI. Пользователю будут показаны все содержимое текущей папки, а также элементы пользовательского интерфейса для перехода в другие папки.
В общем случае, не следует использовать эту функцию. См. раздел по настройке диалога выбора файла для обоснования этого.
Параметры
chooser | ||
uri | URI для новой текущей папки |
Возвращает
TRUE если папка была успешно изменена, FALSE в противном случае.
С: 2.4
gtk_file_chooser_get_current_folder_uri ()
gchar *
gtk_file_chooser_get_current_folder_uri
(GtkFileChooser *chooser); Возвращает текущую папку chooser в виде URI. См. gtk_file_chooser_set_current_folder_uri().
Обратите внимание, что это папка, которая в данный момент отображается в окне выбора файла (например, "file:///home/username/Documents"), а не текущая выбранная папка, если окно выбора файла находится в режиме GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER (например, "file:///home/username/Documents/selected-folder/". Чтобы получить текущую выбранную папку в этом режиме, используйте gtk_file_chooser_get_uri() как обычный способ получения выбора).
Параметры
chooser |
Возвращает
URI текущей папки. Освободите его с помощью g_free(). Эта функция также вернёт NULL, если окно выбора файлов не смогло загрузить последнюю запрошенную папку; например, при вызове gtk_file_chooser_set_current_folder_uri() для несуществующей папки.
[nullable][transfer full]
С: 2.4
gtk_file_chooser_set_preview_widget ()
void gtk_file_chooser_set_preview_widget (GtkFileChooser *chooser,GtkWidget *preview_widget);
Устанавливает виджет, предоставленный приложением, для отображения пользовательского предварительного просмотра текущего выбранного файла. Для реализации предварительного просмотра после установки виджета предварительного просмотра подключитесь к сигналу “update-preview” и вызовите gtk_file_chooser_get_preview_filename() или gtk_file_chooser_get_preview_uri() при каждом изменении. Если можно отобразить предварительный просмотр нового файла, обновите свой виджет и активируйте предварительный просмотр, используя gtk_file_chooser_set_preview_widget_active(). В противном случае, отметьте предварительный просмотр как неактивный.
Если виджет предварительного просмотра приложения не задан или не активен, окно выбора файла не будет отображать никакой предварительный просмотр.
Параметры
chooser | ||
preview_widget | виджет для отображения предварительного просмотра. |
С: 2.4
gtk_file_chooser_get_preview_widget ()
GtkWidget *
gtk_file_chooser_get_preview_widget (GtkFileChooser *chooser); Возвращает текущий виджет предварительного просмотра; см. gtk_file_chooser_set_preview_widget().
Параметры
chooser |
Возвращает
текущий виджет предварительного просмотра или NULL.
[nullable][transfer none]
С: 2.4
gtk_file_chooser_set_preview_widget_active ()
void gtk_file_chooser_set_preview_widget_active (GtkFileChooser *chooser,gboolean active);
Устанавливает, должен ли виджет предварительного просмотра, установленный с помощью gtk_file_chooser_set_preview_widget(), отображаться для текущего имени файла. Когда active установлено в false, окно выбора файла может отображать внутренне сгенерированный предварительный просмотр текущего файла или вообще не отображать предварительный просмотр. См. gtk_file_chooser_set_preview_widget() для получения дополнительной информации.
Параметры
chooser | ||
active | должен ли отображаться виджет пользовательского предварительного просмотра |
С: 2.4
gtk_file_chooser_get_preview_widget_active ()
gboolean
gtk_file_chooser_get_preview_widget_active
(GtkFileChooser *chooser); Возвращает, должен ли виджет предварительного просмотра, установленный с помощью gtk_file_chooser_set_preview_widget(), отображаться для текущего имени файла. См. gtk_file_chooser_set_preview_widget_active().
Параметры
chooser |
Возвращает
TRUE если виджет предварительного просмотра активен для текущего имени файла.
С: 2.4
gtk_file_chooser_set_use_preview_label ()
void gtk_file_chooser_set_use_preview_label (GtkFileChooser *chooser,gboolean use_label);
Устанавливает, должен ли файл-выбиратель отображать метку с именем файла, который предварительно просматривается; по умолчанию TRUE. Приложения, которые хотят отображать всю область предварительного просмотра самостоятельно, должны установить это в FALSE и отображать имя сами в своём виджете предварительного просмотра.
См. также: gtk_file_chooser_set_preview_widget()
Параметры
chooser | ||
use_label | должен ли отображаться шаблон метки с именем предварительно просматриваемого файла |
С: 2.4
gtk_file_chooser_get_use_preview_label ()
gboolean
gtk_file_chooser_get_use_preview_label
(GtkFileChooser *chooser); Определяет, нужно ли отображать имя предварительно просмотренного файла в виде метки. См. gtk_file_chooser_set_use_preview_label().
Параметры
chooser | объект GtkFileChooser |
Возвращаемое значение
TRUE если в диалоге выбора файла отображается метка с именем предварительно просмотренного файла, FALSE в противном случае.
gtk_file_chooser_get_preview_filename ()
char *
gtk_file_chooser_get_preview_filename (GtkFileChooser *chooser); Возвращает имя файла, которое должно быть предварительно просмотрено в пользовательском виджете предварительного просмотра. См. gtk_file_chooser_set_preview_widget().
Параметры
chooser | объект GtkFileChooser |
Возвращаемое значение
имя файла для предварительного просмотра, или NULL если файл не выбран или выбранный файл не может быть представлен как локальное имя файла. Освободить с помощью g_free().
[nullable][type filename]
С: 2.4
gtk_file_chooser_get_preview_uri ()
char *
gtk_file_chooser_get_preview_uri (GtkFileChooser *chooser); Возвращает URI, который должен быть просмотрен в пользовательском виджете предварительного просмотра. См. gtk_file_chooser_set_preview_widget().
Параметры
chooser | объект GtkFileChooser |
Возвращаемое значение
URI файла для предварительного просмотра, или NULL если файл не выбран. Освободить с помощью g_free().
[nullable][transfer full]
С: 2.4
gtk_file_chooser_set_extra_widget ()
void gtk_file_chooser_set_extra_widget (GtkFileChooser *chooser,GtkWidget *extra_widget);
Устанавливает виджет, предоставленный приложением, для предоставления пользователю дополнительных опций.
Параметры
chooser | объект GtkFileChooser | |
extra_widget | виджет для дополнительных опций |
С: 2.4
gtk_file_chooser_get_extra_widget ()
GtkWidget *
gtk_file_chooser_get_extra_widget (GtkFileChooser *chooser); Получает текущий дополнительный виджет; см. gtk_file_chooser_set_extra_widget().
Параметры
chooser | объект GtkFileChooser |
Возвращаемое значение
текущий дополнительный виджет, или NULL.
[nullable][transfer none]
С: 2.4
gtk_file_chooser_add_choice ()
void gtk_file_chooser_add_choice (GtkFileChooser *chooser,const char *id,const char *label,const char **options,const char **option_labels);
Добавляет «выбор» в диалог выбора файла. Обычно это реализуется как раскрывающийся список или, для булевых выборов, как флажок. Вы можете выбрать значение с помощью gtk_file_chooser_set_choice() перед отображением диалога, и вы можете получить выбранное пользователем значение в обработчике сигнала ::response с помощью gtk_file_chooser_get_choice().
Сравните gtk_file_chooser_set_extra_widget().
Параметры
chooser | объект GtkFileChooser | |
id | идентификатор добавленного выбора | |
label | отображаемое пользователю описание добавленного выбора | |
options | идентификаторы опций выбора или | [nullable][array zero-terminated=1] |
option_labels | отображаемые пользователю описания опций, длина должна совпадать с | [nullable][array zero-terminated=1] |
С: 3.22
gtk_file_chooser_remove_choice ()
void gtk_file_chooser_remove_choice (GtkFileChooser *chooser,const char *id);
Удаляет «выбор», добавленный с помощью gtk_file_chooser_add_choice().
Параметры
chooser | объект GtkFileChooser | |
id | идентификатор выбора для удаления |
С: 3.22
gtk_file_chooser_set_choice ()
void gtk_file_chooser_set_choice (GtkFileChooser *chooser,const char *id,const char *option);
Выбирает опцию в «выборе», добавленном с помощью gtk_file_chooser_add_choice(). Для булева выбора возможными вариантами являются "true" и "false".
Параметры
chooser | объект GtkFileChooser | |
id | идентификатор выбора для установки | |
option | идентификатор опции для выбора |
С: 3.22
gtk_file_chooser_get_choice ()
const char * gtk_file_chooser_get_choice (GtkFileChooser *chooser,const char *id);
Получает текущую выбранную опцию в «выборе» с заданным идентификатором.
Параметры
chooser | объект GtkFileChooser | |
id | идентификатор выбора для получения |
Возвращаемое значение
идентификатор текущей выбранной опции
С: 3.22
gtk_file_chooser_add_filter ()
void gtk_file_chooser_add_filter (GtkFileChooser *chooser,GtkFileFilter *filter);
Добавляет filter в список фильтров, между которыми может выбирать пользователь. При выборе фильтра отображаются только файлы, прошедшие проверку этим фильтром.
Обратите внимание, что chooser принимает на себя ответственность за фильтр, поэтому вам необходимо выполнить ref и sink, если вы хотите сохранить ссылку.
Параметры
chooser | ||
filter | [transfer full] |
С: 2.4
gtk_file_chooser_remove_filter ()
void gtk_file_chooser_remove_filter (GtkFileChooser *chooser,GtkFileFilter *filter);
Удаляет filter из списка фильтров, между которыми может выбирать пользователь.
Параметры
chooser | ||
filter |
С: 2.4
gtk_file_chooser_list_filters ()
GSList *
gtk_file_chooser_list_filters (GtkFileChooser *chooser); Отображает текущий набор фильтров, которые может выбрать пользователь; см. gtk_file_chooser_add_filter(), gtk_file_chooser_remove_filter().
Параметры
chooser |
Возвращаемое значение
a GSList содержащий текущий набор фильтров, которые может выбрать пользователь. Содержимое списка принадлежит GTK+, но вы должны освободить сам список с помощью g_slist_free() после завершения работы с ним.
[element-type GtkFileFilter][transfer container]
С: 2.4
gtk_file_chooser_set_filter ()
void gtk_file_chooser_set_filter (GtkFileChooser *chooser,GtkFileFilter *filter);
Устанавливает текущий фильтр; отображаются только файлы, которые соответствуют фильтру. Если список пользовательских фильтров не пуст, то фильтр должен быть одним из фильтров в этом списке. Установка текущего фильтра, когда список фильтров пуст, полезна, если вы хотите ограничить отображаемый набор файлов, не позволяя пользователю его изменить.
Параметры
chooser | ||
filter |
С: 2.4
gtk_file_chooser_get_filter ()
GtkFileFilter *
gtk_file_chooser_get_filter (GtkFileChooser *chooser); Возвращает текущий фильтр; см. gtk_file_chooser_set_filter().
Параметры
chooser |
Возвращаемое значение
текущий фильтр или NULL.
[nullable][transfer none]
С: 2.4
gtk_file_chooser_add_shortcut_folder ()
gboolean gtk_file_chooser_add_shortcut_folder (GtkFileChooser *chooser,const char *folder,GError **error);
Добавляет папку для отображения с папками ярлыков в файловом менеджере. Обратите внимание, что папки ярлыков не сохраняются, так как они предоставляются приложением. Например, вы можете использовать это для добавления папки «/usr/share/mydrawprogram/Clipart» в список томов.
Параметры
chooser | ||
folder | имя файла папки для добавления. | [type filename] |
error | место для хранения ошибки, или | [allow-none] |
Возвращаемое значение
TRUE если папку удалось добавить, FALSE в противном случае. В последнем случае error будет установлено соответствующим образом.
С: 2.4
gtk_file_chooser_remove_shortcut_folder ()
gboolean gtk_file_chooser_remove_shortcut_folder (GtkFileChooser *chooser,const char *folder,GError **error);
Удаляет папку из списка папок-ярлыков файлового менеджера.
Параметры
chooser | ||
folder | имя файла папки для удаления. | [type filename] |
error | место для хранения ошибки, или | [allow-none] |
Возвращаемое значение
TRUE если операция выполнена успешно, FALSE в противном случае. В последнем случае error будет установлено соответствующим образом.
См. также: gtk_file_chooser_add_shortcut_folder()
С: 2.4
gtk_file_chooser_list_shortcut_folders ()
GSList *
gtk_file_chooser_list_shortcut_folders
(GtkFileChooser *chooser); Запрашивает список папок-ярлыков в файловом менеджере, заданном с помощью gtk_file_chooser_add_shortcut_folder().
Параметры
chooser |
Возвращаемое значение
Список имен файлов папок, или NULL если папок-ярлыков нет. Освободите возвращённый список с помощью g_slist_free(), а имена файлов – с помощью g_free().
[nullable][element-type filename][transfer full]
С: 2.4
gtk_file_chooser_add_shortcut_folder_uri ()
gboolean gtk_file_chooser_add_shortcut_folder_uri (GtkFileChooser *chooser,const char *uri,GError **error);
Добавляет URI папки, которая должна отображаться с папками ярлыков в файловом выборе. Обратите внимание, что папки ярлыков не сохраняются, так как они предоставляются приложением. Например, вы можете добавить папку «file:///usr/share/mydrawprogram/Clipart» в список томов.
Параметры
chooser | ||
uri | URI папки для добавления | |
error | место для хранения ошибки или | [allow-none] |
Возвращает
TRUE если папка была успешно добавлена, FALSE в противном случае. В последнем случае, error будет установлено соответствующим образом.
С: 2.4
gtk_file_chooser_remove_shortcut_folder_uri ()
gboolean gtk_file_chooser_remove_shortcut_folder_uri (GtkFileChooser *chooser,const char *uri,GError **error);
Удаляет URI папки из списка папок ярлыков файлового выбора.
Параметры
chooser | ||
uri | URI папки для удаления | |
error | место для хранения ошибки или | [allow-none] |
Возвращает
TRUE если операция выполнена успешно, FALSE в противном случае. В последнем случае, error будет установлено соответствующим образом.
См. также: gtk_file_chooser_add_shortcut_folder_uri()
С: 2.4
gtk_file_chooser_list_shortcut_folder_uris ()
GSList *
gtk_file_chooser_list_shortcut_folder_uris
(GtkFileChooser *chooser); Запрашивает список папок ярлыков в файловом выборе, заданных с помощью gtk_file_chooser_add_shortcut_folder_uri().
Параметры
chooser |
Возвращает
Список URI папок или NULL если нет папок ярлыков. Освободите возвращенный список с помощью g_slist_free(), а URI — с помощью g_free().
[nullable][element-type utf8][transfer full]
С: 2.4
gtk_file_chooser_get_current_folder_file ()
GFile *
gtk_file_chooser_get_current_folder_file
(GtkFileChooser *chooser); Возвращает текущую папку chooser как GFile. См. gtk_file_chooser_get_current_folder_uri().
Параметры
chooser |
Возвращает
the GFile для текущей папки.
[transfer full]
С: 2.14
gtk_file_chooser_get_file ()
GFile *
gtk_file_chooser_get_file (GtkFileChooser *chooser); Возвращает GFile для текущего выбранного файла в файловом селекторе. Если выбрано несколько файлов, один из файлов будет возвращен случайным образом.
Если файловый выборник находится в режиме папки, эта функция возвращает выбранную папку.
Параметры
chooser |
Возвращает
выбранный GFile. Вы владеете возвращенным файлом; используйте g_object_unref() для его освобождения.
[transfer full]
С: 2.14
gtk_file_chooser_get_files ()
GSList *
gtk_file_chooser_get_files (GtkFileChooser *chooser); Перечисляет все выбранные файлы и подпапки в текущей папке chooser как GFile. Внутренняя функция, см. gtk_file_chooser_get_uris().
Параметры
chooser |
Возвращает
a GSList содержащий GFile для каждого выбранного файла и подпапки в текущей папке. Освободите возвращенный список с помощью g_slist_free(), а файлы — с помощью g_object_unref().
[element-type GFile][transfer full]
С: 2.14
gtk_file_chooser_get_preview_file ()
GFile *
gtk_file_chooser_get_preview_file (GtkFileChooser *chooser); Возвращает GFile, который должен быть предварительно просмотрен в пользовательском предварительном просмотре. Внутренняя функция, см. gtk_file_chooser_get_preview_uri().
Параметры
chooser |
Возвращает
the GFile для файла для предварительного просмотра или NULL если файл не выбран. Освободить с помощью g_object_unref().
[nullable][transfer full]
С: 2.14
gtk_file_chooser_select_file ()
gboolean gtk_file_chooser_select_file (GtkFileChooser *chooser,GFile *file,GError **error);
Выбирает файл, на который ссылается file. Внутренняя функция. См. _gtk_file_chooser_select_uri().
Параметры
chooser | ||
file | выбранный файл | |
error | место для хранения ошибки или | [allow-none] |
Возвращает
Не используется.
С: 2.14
gtk_file_chooser_set_current_folder_file ()
gboolean gtk_file_chooser_set_current_folder_file (GtkFileChooser *chooser,GFile *file,GError **error);
Устанавливает текущую папку для chooser из GFile. Внутренняя функция, см. gtk_file_chooser_set_current_folder_uri().
Параметры
chooser | ||
file | the GFile для новой папки | |
error | место для хранения ошибки, или | [allow-none] |
Возвращаемое значение
TRUE если папка была успешно изменена, FALSE в противном случае.
С: 2.14
gtk_file_chooser_set_file ()
gboolean gtk_file_chooser_set_file (GtkFileChooser *chooser,GFile *file,GError **error);
Устанавливает file в качестве текущего имени файла для файлового выбора, переходя в родительскую папку файла и фактически выбирая файл в списке. Если chooser находится в режиме GTK_FILE_CHOOSER_ACTION_SAVE, имя файла также отобразится в поле имени файла диалога.
Если имя файла не находится в текущей папке chooser, то текущая папка chooser будет изменена на папку, содержащую filename. Это эквивалентно последовательности gtk_file_chooser_unselect_all(), за которой следует gtk_file_chooser_select_filename().
Обратите внимание, что файл должен существовать, иначе ничего не произойдёт, кроме изменения директории.
При реализации диалога сохранения используйте эту функцию, если у вас уже есть имя файла, в который пользователь может сохранить; например, когда пользователь открывает существующий файл и затем нажимает «Сохранить как…». Если у вас ещё нет имени файла — например, если пользователь только что создал новый файл и сохраняет его в первый раз, не вызывайте эту функцию. Вместо этого используйте что-то подобное:
Параметры
chooser | ||
file | the GFile для установки в качестве текущего | |
error | место для хранения ошибки, или | [allow-none] |
Возвращаемое значение
Не используется.
С: 2.14
gtk_file_chooser_unselect_file ()
void gtk_file_chooser_unselect_file (GtkFileChooser *chooser,GFile *file);
Снимает выделение с файла, на который ссылается file. Если файл не в текущей директории, не существует или по какой-либо причине не выбран, ничего не делает.
Параметры
chooser | ||
file | a GFile |
С: 2.14
Типы и значения
GtkFileChooser
typedef struct _GtkFileChooser GtkFileChooser;
перечисление GtkFileChooserAction
Описывает, используется ли GtkFileChooser для открытия существующих файлов или сохранения в потенциально новый файл.
Члены
GTK_FILE_CHOOSER_ACTION_OPEN | Указывает режим открытия. Файловый выборник позволит пользователю выбрать только существующий файл. | |
GTK_FILE_CHOOSER_ACTION_SAVE | Указывает режим сохранения. Файловый выборник позволит пользователю выбрать существующий файл или ввести новое имя файла. | |
GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER | Указывает режим открытия для выбора папок. Файловый выборник позволит пользователю выбрать существующую папку. | |
GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER | Указывает режим создания новой папки. Файловый выборник позволит пользователю назвать существующую или новую папку. |
перечисление GtkFileChooserConfirmation
Используется как значение возврата обработчиков сигнала “confirm-overwrite” GtkFileChooser. Это значение определяет, будет ли файловый выборник отображать стандартный диалог подтверждения, принимать выбор пользователя имени файла или позволять пользователю выбрать другое имя файла.
Члены
GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM | Файловый выборник отобразит свой стандартный диалог для подтверждения перезаписи существующего файла. | |
GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME | Файловый выборник завершится и примет выбор пользователя имени файла. | |
GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN | Файловый выборник продолжит работу, чтобы позволить пользователю выбрать другое имя файла. |
С: 2.8
GTK_FILE_CHOOSER_ERROR
#define GTK_FILE_CHOOSER_ERROR (gtk_file_chooser_error_quark ())
Используется для получения квази-ошибки GError для ошибок GtkFileChooser.
перечисление GtkFileChooserError
Определяет различные ошибки, которые могут возникнуть при вызове функций GtkFileChooser.
Члены
GTK_FILE_CHOOSER_ERROR_NONEXISTENT | Указывает, что файл не существует. | |
GTK_FILE_CHOOSER_ERROR_BAD_FILENAME | Указывает некорректное имя файла. | |
GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS | Указывает дублирование пути (например, при добавлении закладки). | |
GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME | Указывает неполный домен (например, "http://foo" без слэша после). |
Подробные сведения о свойствах
Свойство “action”
“action” GtkFileChooserAction
Тип операции, выполняемой файловым селектором.
Владелец: GtkFileChooser
Флаги: Чтение / Запись
Значение по умолчанию: GTK_FILE_CHOOSER_ACTION_OPEN
Свойство “create-folders”
“create-folders” gboolean
Определяет, будет ли файловый селектор, не работающий в режиме GTK_FILE_CHOOSER_ACTION_OPEN, предлагать пользователю создавать новые папки.
Владелец: GtkFileChooser
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
С версии: 2.18
Свойство “do-overwrite-confirmation”
“do-overwrite-confirmation” gboolean
Определяет, будет ли файловый селектор в режиме GTK_FILE_CHOOSER_ACTION_SAVE показывать диалог подтверждения перезаписи, если пользователь выбирает имя файла, которое уже существует.
Владелец: GtkFileChooser
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С версии: 2.8
Свойство “extra-widget”
“extra-widget” GtkWidget *
Вспомогательный виджет, предоставляемый приложением для дополнительных опций.
Владелец: GtkFileChooser
Флаги: Чтение / Запись
Свойство “filter”
“filter” GtkFileFilter *
Текущий фильтр для выбора отображаемых файлов.
Владелец: GtkFileChooser
Флаги: Чтение / Запись
Свойство “local-only”
“local-only” gboolean
Определяет, должны ли выбранные файлы быть ограничены локальными файловыми URL-адресами.
Владелец: GtkFileChooser
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “preview-widget”
“preview-widget” GtkWidget *
Вспомогательный виджет, предоставляемый приложением для настраиваемых предварительных просмотров.
Владелец: GtkFileChooser
Флаги: Чтение / Запись
Свойство “preview-widget-active”
“preview-widget-active” gboolean
Определяет, должен ли виджет приложения для настраиваемых предварительных просмотров отображаться.
Владелец: GtkFileChooser
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “select-multiple”
“select-multiple” gboolean
Разрешает ли выбор нескольких файлов.
Владелец: GtkFileChooser
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “show-hidden”
“show-hidden” gboolean
Отображаются ли скрытые файлы и папки.
Владелец: GtkFileChooser
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “use-preview-label”
“use-preview-label” gboolean
Отображать ли метку со стандартным именем предварительно просматриваемого файла.
Владелец: GtkFileChooser
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Подробности сигналов
Сигнал “confirm-overwrite”
GtkFileChooserConfirmation user_function (GtkFileChooser *chooser, gpointer user_data)
Этот сигнал генерируется всякий раз, когда необходимо отобразить диалог подтверждения, когда пользователь выбрал имя файла, который уже существует. Сигнал генерируется только при выборе режима GTK_FILE_CHOOSER_ACTION_SAVE.
Большинству приложений достаточно включить свойство “do-overwrite-confirmation” (или вызвать функцию gtk_file_chooser_set_do_overwrite_confirmation()), и они автоматически получат стандартный диалог подтверждения. Приложения, которым нужно настроить это поведение, должны сделать это и подключиться к сигналу “confirm-overwrite”.
Обработчик этого сигнала должен вернуть значение GtkFileChooserConfirmation, которое указывает действие, которое нужно предпринять. Если обработчик определит, что пользователь хочет выбрать другое имя файла, он должен вернуть GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN. Если он определит, что пользователь удовлетворён выбранным именем файла, он должен вернуть GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME. С другой стороны, если он определит, что следует использовать стандартный диалог подтверждения, он должен вернуть GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM. Следующий пример иллюстрирует это.
Настройка подтверждения
{
GtkImage *preview;
...
preview = gtk_image_new ();
gtk_file_chooser_set_preview_widget (my_file_chooser, preview);
g_signal_connect (my_file_chooser, "update-preview",
G_CALLBACK (update_preview_cb), preview);
}
static void
update_preview_cb (GtkFileChooser *file_chooser, gpointer data)
{
GtkWidget *preview;
char *filename;
GdkPixbuf *pixbuf;
gboolean have_preview;
preview = GTK_WIDGET (data);
filename = gtk_file_chooser_get_preview_filename (file_chooser);
pixbuf = gdk_pixbuf_new_from_file_at_size (filename, 128, 128, NULL);
have_preview = (pixbuf != NULL);
g_free (filename);
gtk_image_set_from_pixbuf (GTK_IMAGE (preview), pixbuf);
if (pixbuf)
g_object_unref (pixbuf);
gtk_file_chooser_set_preview_widget_active (file_chooser, have_preview);
}Параметры
chooser | объект, получивший сигнал. | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Возвращаемое значение
значение GtkFileChooserConfirmation, которое указывает, какое действие предпринять после генерации сигнала.
Флаги: Выполнить последним
С: 2.8
Сигнал “current-folder-changed”
void user_function (GtkFileChooser *chooser, gpointer user_data)
Этот сигнал генерируется, когда текущая папка в GtkFileChooser изменяется. Это может произойти из-за действия пользователя, изменяющего папки, например, выбора закладки или перехода к папке в списке файлов. Это также может произойти в результате вызова функции для явного изменения текущей папки в файловом обозревателе.
Обычно нет необходимости подключаться к этому сигналу, если вам не нужно отслеживать, какую папку отображает файловый обозреватель.
См. также: gtk_file_chooser_set_current_folder(), gtk_file_chooser_get_current_folder(), gtk_file_chooser_set_current_folder_uri(), gtk_file_chooser_get_current_folder_uri().
Параметры
chooser | объект, получивший сигнал. | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Выполнить последним
Сигнал “file-activated”
void user_function (GtkFileChooser *chooser, gpointer user_data)
Этот сигнал генерируется, когда пользователь "активирует" файл в файловом обозревателе. Это может произойти при двойном щелчке по файлу в списке файлов или при нажатии Enter.
Обычно нет необходимости подключаться к этому сигналу. Он используется внутри GtkFileChooserDialog для определения момента активации кнопки по умолчанию в диалоговом окне.
См. также: gtk_file_chooser_get_filename(), gtk_file_chooser_get_filenames(), gtk_file_chooser_get_uri(), gtk_file_chooser_get_uris().
Параметры
chooser | объект, получивший сигнал. | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Выполнить последним
Сигнал “selection-changed”
void user_function (GtkFileChooser *chooser, gpointer user_data)
Этот сигнал генерируется при изменении набора выбранных файлов в GtkFileChooser. Это может произойти, когда пользователь изменяет выбор с помощью мыши или клавиатуры, или при явном вызове функций для изменения выбора.
Обычно нет необходимости подключаться к этому сигналу, поскольку проще подождать завершения работы файлового обозревателя и затем получить список выбранных файлов с помощью функций, упомянутых ниже.
См. также: gtk_file_chooser_select_filename(), gtk_file_chooser_unselect_filename(), gtk_file_chooser_get_filename(), gtk_file_chooser_get_filenames(), gtk_file_chooser_select_uri(), gtk_file_chooser_unselect_uri(), gtk_file_chooser_get_uri(), gtk_file_chooser_get_uris().
Параметры
chooser | объект, получивший сигнал. | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Выполнить последним
Сигнал “update-preview”
void user_function (GtkFileChooser *chooser, gpointer user_data)
Этот сигнал генерируется, когда предварительный просмотр в диалоге выбора файла должен быть пересоздан. Например, это может произойти, когда изменяется выбранный файл. Вы должны использовать этот сигнал, если хотите, чтобы ваш диалог выбора файла имел виджет предварительного просмотра.
После установки виджета предварительного просмотра с помощью gtk_file_chooser_set_preview_widget(), вы должны обновить его при генерации этого сигнала. Вы можете использовать функции gtk_file_chooser_get_preview_filename() или gtk_file_chooser_get_preview_uri() для получения имени файла для предварительного просмотра. Возможно, ваш виджет не сможет просмотреть все типы файлов; ваш обработчик должен вызвать gtk_file_chooser_set_preview_widget_active(), чтобы сообщить диалогу выбора файла о том, был ли предварительный просмотр успешно сгенерирован или нет.
Обратитесь к примерам кода в Разделе «Использование виджета предварительного просмотра».
См. также: gtk_file_chooser_set_preview_widget(), gtk_file_chooser_set_preview_widget_active(), gtk_file_chooser_set_use_preview_label(), gtk_file_chooser_get_preview_filename(), gtk_file_chooser_get_preview_uri().
Параметры
chooser | объект, получивший сигнал. | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполнить последним
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/GtkFileChooser.html