Spec-Zone.ru › GTK 3.20

GtkFileChooser

GtkFileChooser — Интерфейс выбора файлов, используемый GtkFileChooserWidget и GtkFileChooserDialog

Функции

void gtk_file_chooser_set_action ()
GtkFileChooserAction gtk_file_chooser_get_action ()
void gtk_file_chooser_set_local_only ()
gboolean gtk_file_chooser_get_local_only ()
void gtk_file_chooser_set_select_multiple ()
gboolean gtk_file_chooser_get_select_multiple ()
void gtk_file_chooser_set_show_hidden ()
gboolean gtk_file_chooser_get_show_hidden ()
void gtk_file_chooser_set_do_overwrite_confirmation ()
gboolean gtk_file_chooser_get_do_overwrite_confirmation ()
void gtk_file_chooser_set_create_folders ()
gboolean gtk_file_chooser_get_create_folders ()
void gtk_file_chooser_set_current_name ()
gchar * gtk_file_chooser_get_current_name ()
gchar * gtk_file_chooser_get_filename ()
gboolean gtk_file_chooser_set_filename ()
gboolean gtk_file_chooser_select_filename ()
void gtk_file_chooser_unselect_filename ()
void gtk_file_chooser_select_all ()
void gtk_file_chooser_unselect_all ()
GSList * gtk_file_chooser_get_filenames ()
gboolean gtk_file_chooser_set_current_folder ()
gchar * gtk_file_chooser_get_current_folder ()
gchar * gtk_file_chooser_get_uri ()
gboolean gtk_file_chooser_set_uri ()
gboolean gtk_file_chooser_select_uri ()
void gtk_file_chooser_unselect_uri ()
GSList * gtk_file_chooser_get_uris ()
gboolean gtk_file_chooser_set_current_folder_uri ()
gchar * gtk_file_chooser_get_current_folder_uri ()
void gtk_file_chooser_set_preview_widget ()
GtkWidget * gtk_file_chooser_get_preview_widget ()
void gtk_file_chooser_set_preview_widget_active ()
gboolean gtk_file_chooser_get_preview_widget_active ()
void gtk_file_chooser_set_use_preview_label ()
gboolean gtk_file_chooser_get_use_preview_label ()
char * gtk_file_chooser_get_preview_filename ()
char * gtk_file_chooser_get_preview_uri ()
void gtk_file_chooser_set_extra_widget ()
GtkWidget * gtk_file_chooser_get_extra_widget ()
void gtk_file_chooser_add_filter ()
void gtk_file_chooser_remove_filter ()
GSList * gtk_file_chooser_list_filters ()
void gtk_file_chooser_set_filter ()
GtkFileFilter * gtk_file_chooser_get_filter ()
gboolean gtk_file_chooser_add_shortcut_folder ()
gboolean gtk_file_chooser_remove_shortcut_folder ()
GSList * gtk_file_chooser_list_shortcut_folders ()
gboolean gtk_file_chooser_add_shortcut_folder_uri ()
gboolean gtk_file_chooser_remove_shortcut_folder_uri ()
GSList * gtk_file_chooser_list_shortcut_folder_uris ()
GFile * gtk_file_chooser_get_current_folder_file ()
GFile * gtk_file_chooser_get_file ()
GSList * gtk_file_chooser_get_files ()
GFile * gtk_file_chooser_get_preview_file ()
gboolean gtk_file_chooser_select_file ()
gboolean gtk_file_chooser_set_current_folder_file ()
gboolean gtk_file_chooser_set_file ()
void gtk_file_chooser_unselect_file ()

Свойства

GtkFileChooserAction действие Чтение / Запись
gboolean создание-папок Чтение / Запись
gboolean подтверждение-перезаписи Чтение / Запись
GtkWidget * дополнительный-виджет Чтение / Запись
GtkFileFilter * фильтр Чтение / Запись
gboolean только-локально Чтение / Запись
GtkWidget * виджет-предварительного-просмотра Чтение / Запись
gboolean виджет-предварительного-просмотра-активен Чтение / Запись
gboolean выбрать-многие Чтение / Запись
gboolean показать-скрытые Чтение / Запись
gboolean использовать-метку-предварительного-просмотра Чтение / Запись

Сигналы

GtkFileChooserConfirmation подтверждение-перезаписи Выполнить последним
void текущая-папка-изменена Выполнить последним
void файл-активирован Выполнить последним
void выбор-изменен Выполнить последним
void обновить-предварительный-просмотр Выполнить последним

Типы и Значения

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 позволяет использовать ярлыки для доступа к различным местам в файловой системе. В стандартной реализации они отображаются в левой панели. Вначале может показаться немного запутанным, что эти ярлыки поступают из различных источников и в различных вариантах, поэтому давайте объясним терминологию здесь:

  • Закладки: создаются пользователем, перетаскивая папки из правой панели в левую или используя «Добавить». Пользователь может переименовывать и удалять закладки.

  • Ярлыки: могут быть предоставлены приложением. Например, программа Paint может добавить ярлык для папки с клипартами. Ярлыки не могут быть изменены пользователем.

  • Тома: предоставляются абстракцией файловой системы. Они являются «корнями» файловой системы.

Имена файлов и кодировки

Когда пользователь закончит выбор файлов в GtkFileChooser, ваша программа может получить выбранные имена как имена файлов или как URI. Для URI применяются стандартные правила экранирования, если URI содержит не-ASCII символы. Однако имена файлов всегда возвращаются в кодировке символов, указанной переменной среды G_FILENAME_ENCODING. Дополнительную информацию об этой переменной см. в документации GLib.

Это означает, что хотя вы можете передать результат gtk_file_chooser_get_filename() в open() или 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

a GtkFileChooser

action

действие, выполняемое выбором файла

С: 2.4

gtk_file_chooser_get_action ()

GtkFileChooserAction
gtk_file_chooser_get_action (GtkFileChooser *chooser);

Получает тип операции, выполняемой выбором файла; см. gtk_file_chooser_set_action().

Параметры

chooser

a GtkFileChooser

Возвращает

действие, выполняемое выбором файла

С: 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

a GtkFileChooser

local_only

TRUE, если можно выбирать только локальные файлы

С: 2.4

gtk_file_chooser_get_local_only ()

gboolean
gtk_file_chooser_get_local_only (GtkFileChooser *chooser);

Получает, можно ли выбирать только локальные файлы в селекторе файлов. См. gtk_file_chooser_set_local_only()

Параметры

chooser

a GtkFileChooser

Возвращает

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

a GtkFileChooser

select_multiple

TRUE, если можно выбирать несколько файлов.

С: 2.4

gtk_file_chooser_get_select_multiple ()

gboolean
gtk_file_chooser_get_select_multiple (GtkFileChooser *chooser);

Получает, можно ли выбирать несколько файлов в селекторе файлов. См. gtk_file_chooser_set_select_multiple().

Параметры

chooser

a GtkFileChooser

Возвращает

TRUE, если можно выбирать несколько файлов.

С: 2.4

gtk_file_chooser_set_show_hidden ()

void
gtk_file_chooser_set_show_hidden (GtkFileChooser *chooser,
                                  gboolean show_hidden);

Устанавливает, отображать ли скрытые файлы и папки в селекторе файлов.

Параметры

chooser

a GtkFileChooser

show_hidden

TRUE, если отображать скрытые файлы и папки.

С: 2.6

gtk_file_chooser_get_show_hidden ()

gboolean
gtk_file_chooser_get_show_hidden (GtkFileChooser *chooser);

Получает, отображаются ли скрытые файлы и папки в селекторе файлов. См. gtk_file_chooser_set_show_hidden().

Параметры

chooser

a GtkFileChooser

Возвращает

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

a GtkFileChooser

do_overwrite_confirmation

подтверждать ли перезапись в режиме сохранения

С: 2.8

gtk_file_chooser_get_do_overwrite_confirmation ()

gboolean
gtk_file_chooser_get_do_overwrite_confirmation
                               (GtkFileChooser *chooser);

Определяет, установлено ли в файловом диалоге подтверждение перезаписи при вводе имени файла, которое уже существует.

Параметры

chooser

a GtkFileChooser

Возвращает

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

a GtkFileChooser

create_folders

TRUE, если должна быть отображена кнопка «Создать папку»

С: 2.18

gtk_file_chooser_get_create_folders ()

gboolean
gtk_file_chooser_get_create_folders (GtkFileChooser *chooser);

Получает, будет ли файловый диалог предлагать создавать новые папки. См. gtk_file_chooser_set_create_folders().

Параметры

chooser

a GtkFileChooser

Возвращает

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

a GtkFileChooser

name

имя файла для использования, как строка UTF-8.

[type имя_файла]

С: 2.4

gtk_file_chooser_get_current_name ()

gchar *
gtk_file_chooser_get_current_name (GtkFileChooser *chooser);

Получает текущее имя в файловом селекторе, введённое пользователем в поле ввода «Имя».

Это предназначено для использования в диалогах сохранения, чтобы получить текущее введённое имя файла, когда сам файл ещё не существует. Например, приложение, добавляющее пользовательский дополнительный виджет в файловый селектор для «формата файла», может изменить расширение введённого имени файла в зависимости от выбранного формата, скажем, с «.jpg» на «.png».

Параметры

chooser

a GtkFileChooser

Возвращает

Необработанный текст из поля «Имя» файлового селектора. Освободите его с помощью g_free(). Обратите внимание, что эта строка не является полным путём или URI; это содержимое поля ввода. Также обратите внимание, что эта строка в кодировке UTF-8, которая не обязательно совпадает с кодировкой имён файлов системы.

С: 3.10

gtk_file_chooser_get_filename ()

gchar *
gtk_file_chooser_get_filename (GtkFileChooser *chooser);

Получает имя файла для текущего выбранного файла в файловом селекторе. Имя файла возвращается как абсолютный путь. Если выбрано несколько файлов, будет возвращено одно из имён файлов случайным образом.

Если файловый диалог находится в режиме папок, эта функция возвращает выбранную папку.

Параметры

chooser

a GtkFileChooser

Возвращает

Текущее выбранное имя файла или NULL, если файл не выбран, или выбранный файл не может быть представлен локальным именем файла. Освободите с помощью g_free().

[nullable][type имя_файла]

С: 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

a GtkFileChooser

filename

имя файла для установки в качестве текущего.

[type имя_файла]

Возвращает

Не нужно.

С: 2.4

gtk_file_chooser_select_filename ()

gboolean
gtk_file_chooser_select_filename (GtkFileChooser *chooser,
                                  const char *filename);

Выбирает имя файла. Если имя файла не находится в текущей папке chooser, тогда текущая папка chooser будет изменена на папку, содержащую filename.

Параметры

chooser

a GtkFileChooser

filename

имя файла для выбора.

[type имя_файла]

Возвращает

Не нужно.

См. также: gtk_file_chooser_set_filename()

С: 2.4

gtk_file_chooser_unselect_filename ()

void
gtk_file_chooser_unselect_filename (GtkFileChooser *chooser,
                                    const char *filename);

Отменяет выбор текущего файла. Если файл не находится в текущем каталоге, не существует или не выбран, ничего не происходит.

Параметры

chooser

a GtkFileChooser

filename

имя файла, который нужно отменить.

[type filename]

С: 2.4

gtk_file_chooser_select_all ()

void
gtk_file_chooser_select_all (GtkFileChooser *chooser);

Выбирает все файлы в текущей папке файлового выбора.

Параметры

chooser

a GtkFileChooser

С: 2.4

gtk_file_chooser_unselect_all ()

void
gtk_file_chooser_unselect_all (GtkFileChooser *chooser);

Отменяет выбор всех файлов в текущей папке файлового выбора.

Параметры

chooser

a GtkFileChooser

С: 2.4

gtk_file_chooser_get_filenames ()

GSList *
gtk_file_chooser_get_filenames (GtkFileChooser *chooser);

Перечисляет все выбранные файлы и подкаталоги в текущей папке chooser. Возвращаемые имена — полные абсолютные пути. Если файлы в текущей папке не могут быть представлены как локальные имена файлов, они будут проигнорированы. (См. gtk_file_chooser_get_uris())

Параметры

chooser

a GtkFileChooser

Возвращает

GSList содержащий имена файлов всех выбранных файлов и подкаталогов в текущей папке. Освободите возвращённый список с помощью g_slist_free(), а имена файлов — с помощью g_free().

[element-type filename][transfer full]

С: 2.4

gtk_file_chooser_set_current_folder ()

gboolean
gtk_file_chooser_set_current_folder (GtkFileChooser *chooser,
                                     const gchar *filename);

Устанавливает текущую папку для chooser из локального имени файла. Пользователю будут показаны все содержимое текущей папки, а также элементы интерфейса для перехода к другим папкам.

В общем случае, не следует использовать эту функцию. См. раздел по настройке диалога файлового выбора для обоснования этого.

Параметры

chooser

a GtkFileChooser

filename

полный путь к новой текущей папке.

[type filename]

Возвращает

Не нужно.

С: 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

a GtkFileChooser

Возвращает

полный путь к текущей папке или NULL, если текущий путь не может быть представлен как локальное имя файла. Освободите с помощью g_free(). Эта функция также вернёт NULL, если файловый выборщик не смог загрузить последнюю запрошенную папку; например, при вызове gtk_file_chooser_set_current_folder() для несуществующей папки.

[nullable][type filename]

С: 2.4

gtk_file_chooser_get_uri ()

gchar *
gtk_file_chooser_get_uri (GtkFileChooser *chooser);

Возвращает URI текущего выбранного файла в селекторе файлов. Если выбрано несколько файлов, одно из имён файлов будет возвращено случайно.

Если файловый выборщик находится в режиме папки, эта функция возвращает выбранную папку.

Параметры

chooser

a GtkFileChooser

Возвращает

Текущий выбранный URI или NULL, если файл не выбран. Если gtk_file_chooser_set_local_only() установлено в TRUE (по умолчанию), для любых расположений FUSE будет возвращён локальный URI. Освободите с помощью g_free().

[nullable][transfer full]

С: 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

a GtkFileChooser

uri

URI, который нужно установить в качестве текущего

Возвращает

Не нужно.

С: 2.4

gtk_file_chooser_select_uri ()

gboolean
gtk_file_chooser_select_uri (GtkFileChooser *chooser,
                             const char *uri);

Выбирает файл по uri. Если URI не ссылается на файл в текущей папке chooser, то текущая папка chooser будет изменена на папку, содержащую filename.

Параметры

chooser

a GtkFileChooser

uri

URI для выбора

Возвращает

Не используется.

Since: 2.4

gtk_file_chooser_unselect_uri ()

void
gtk_file_chooser_unselect_uri (GtkFileChooser *chooser,
                               const char *uri);

Снимает выбор с файла, на который ссылается uri. Если файл не находится в текущем каталоге, не существует или по каким-либо причинам не выбран, ничего не происходит.

Параметры

chooser

a GtkFileChooser

uri

URI для снятия выбора

Since: 2.4

gtk_file_chooser_get_uris ()

GSList *
gtk_file_chooser_get_uris (GtkFileChooser *chooser);

Отображает список всех выбранных файлов и подкаталогов в текущей папке chooser. Возвращаемые имена — полные абсолютные URI.

Параметры

chooser

a GtkFileChooser

Возвращает

a GSList содержащий URI всех выбранных файлов и подкаталогов в текущей папке. Освободите возвращённый список с помощью g_slist_free(), а имена файлов — с помощью g_free().

[element-type utf8][transfer full]

Since: 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

a GtkFileChooser

uri

URI новой текущей папки

Возвращает

TRUE, если папка была успешно изменена, FALSE в противном случае.

Since: 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

a GtkFileChooser

Возвращает

URI текущей папки. Освободите с помощью g_free(). Эта функция также вернёт NULL, если окно выбора файла не смогло загрузить последнюю запрошенную папку; например, при вызове gtk_file_chooser_set_current_folder_uri() для несуществующей папки.

[nullable][transfer full]

Since: 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

a GtkFileChooser

preview_widget

виджет для отображения предварительного просмотра.

Since: 2.4

gtk_file_chooser_get_preview_widget ()

GtkWidget *
gtk_file_chooser_get_preview_widget (GtkFileChooser *chooser);

Получает текущий виджет предварительного просмотра; см. gtk_file_chooser_set_preview_widget().

Параметры

chooser

a GtkFileChooser

Возвращает

текущий виджет предварительного просмотра или NULL.

[nullable][transfer none]

Since: 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

a GtkFileChooser

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

a GtkFileChooser

Возвращает

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

a GtkFileChooser

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

a 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

a 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

a 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

a 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

a GtkFileChooser

Возвращает

текущий дополнительный виджет, или NULL.

[nullable][transfer none]

С: 2.4

gtk_file_chooser_add_filter ()

void
gtk_file_chooser_add_filter (GtkFileChooser *chooser,
                             GtkFileFilter *filter);

Добавляет filter в список фильтров, которые пользователь может выбрать. Когда выбран фильтр, отображаются только файлы, прошедшие по этому фильтру.

Обратите внимание, что chooser принимает владение фильтром, поэтому вам необходимо обращаться к нему и перехватывать его, если вы хотите сохранить ссылку.

Параметры

chooser

a GtkFileChooser

filter

a GtkFileFilter.

[transfer full]

С: 2.4

gtk_file_chooser_remove_filter ()

void
gtk_file_chooser_remove_filter (GtkFileChooser *chooser,
                                GtkFileFilter *filter);

Удаляет filter из списка фильтров, между которыми может выбирать пользователь.

Параметры

chooser

объект GtkFileChooser

filter

объект GtkFileFilter

С версии: 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

объект GtkFileChooser

Возвращает

список 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

объект GtkFileChooser

filter

объект GtkFileFilter

С версии: 2.4

gtk_file_chooser_get_filter ()

GtkFileFilter *
gtk_file_chooser_get_filter (GtkFileChooser *chooser);

Возвращает текущий фильтр; см. gtk_file_chooser_set_filter().

Параметры

chooser

объект GtkFileChooser

Возвращает

текущий фильтр или 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

объект GtkFileChooser

folder

имя файла папки для добавления.

[type filename]

error

место для хранения ошибки или NULL.

[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

объект GtkFileChooser

folder

имя файла папки для удаления.

[type filename]

error

место для хранения ошибки или NULL.

[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

объект GtkFileChooser

Возвращает

список имен файлов папок или 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

a GtkFileChooser

uri

URI добавляемой папки

error

место для хранения ошибки, или NULL.

[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

a GtkFileChooser

uri

URI удаляемой папки

error

место для хранения ошибки, или NULL.

[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

a GtkFileChooser

Возвращаемое значение

Список URIs папок или 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

a GtkFileChooser

Возвращаемое значение

GFile текущей папки.

[transfer full]

С: 2.14

gtk_file_chooser_get_file ()

GFile *
gtk_file_chooser_get_file (GtkFileChooser *chooser);

Возвращает GFile выбранного файла в файловом селекторе. Если выбрано несколько файлов, возвращается один из них случайным образом.

Если файловый выборник находится в режиме папок, эта функция возвращает выбранную папку.

Параметры

chooser

a GtkFileChooser

Возвращаемое значение

выбранный 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 GtkFileChooser

Возвращаемое значение

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

a GtkFileChooser

Возвращаемое значение

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

a GtkFileChooser

file

выбираемый файл

error

место для хранения ошибки, или NULL.

[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

a GtkFileChooser

file

the GFile для новой папки

error

место для хранения ошибки, или NULL.

[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

a GtkFileChooser

file

the GFile для установки текущего

error

место для хранения ошибки, или NULL, чтобы игнорировать ошибки.

[allow-none]

Возвращаемое значение

Неполезно.

С: 2.14

gtk_file_chooser_unselect_file ()

void
gtk_file_chooser_unselect_file (GtkFileChooser *chooser,
                                GFile *file);

Снимает выделение с файла, на который ссылается file. Если файл не в текущей директории, не существует или по другим причинам не выделен, ничего не делает.

Параметры

chooser

a GtkFileChooser

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

Файловый диалог продолжит работу, чтобы пользователь смог выбрать другое имя файла.

Since: 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

Тип операции, выполняемой селектором файла.

Флаги: Чтение / Запись

Значение по умолчанию: GTK_FILE_CHOOSER_ACTION_OPEN

Свойство “create-folders”

  “create-folders”           gboolean

Определяет, будет ли файловый диалог в режиме, отличном от GTK_FILE_CHOOSER_ACTION_OPEN, предлагать пользователю создавать новые папки.

Флаги: Чтение / Запись

Значение по умолчанию: TRUE

Since: 2.18

Свойство “do-overwrite-confirmation”

  “do-overwrite-confirmation” gboolean

Определяет, будет ли файловый диалог в режиме GTK_FILE_CHOOSER_ACTION_SAVE отображать диалоговое окно подтверждения перезаписи, если пользователь выбирает имя файла, которое уже существует.

Флаги: Чтение / Запись

Значение по умолчанию: FALSE

Since: 2.8

Свойство “extra-widget”

  “extra-widget”             GtkWidget *

Принадлежащий приложению виджет для дополнительных опций.

Флаги: Чтение / Запись

Свойство “filter”

  “filter”                   GtkFileFilter *

Текущий фильтр для выбора отображаемых файлов.

Флаги: Чтение / Запись

Свойство “local-only”

  “local-only”               gboolean

Определяет, должны ли выбранные файлы быть ограничены локальными URL-адресами файлов.

Флаги: Чтение / Запись

Значение по умолчанию: TRUE

Свойство “preview-widget”

  “preview-widget”           GtkWidget *

Принадлежащий приложению виджет для пользовательских предварительных просмотров.

Флаги: Чтение / Запись

Свойство “preview-widget-active”

  “preview-widget-active”    gboolean

Определяет, должен ли принадлежащий приложению виджет для пользовательских предварительных просмотров отображаться.

Флаги: Чтение / Запись

Значение по умолчанию: TRUE

Свойство “select-multiple”

  “select-multiple”          gboolean

Разрешает ли выбор нескольких файлов.

Флаги: Чтение / Запись

Значение по умолчанию: FALSE

Свойство “show-hidden”

  “show-hidden”              gboolean

Определяет, должны ли отображаться скрытые файлы и папки.

Флаги: Чтение / Запись

Значение по умолчанию: FALSE

Свойство “use-preview-label”

  “use-preview-label”        gboolean

Определяет, отображать ли стандартную метку с именем предварительно просматриваемого файла.

Флаги: Чтение / Запись

Значение по умолчанию: 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);
}

staticvoid
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

данные пользователя, заданные при подключении обработчика сигнала.

Флаги: Выполнять последним

См. также

GtkFileChooserDialog, GtkFileChooserWidget, GtkFileChooserButton

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.20/GtkFileChooser.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API