Spec-Zone.ru › GTK 3.24

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_choice ()
void gtk_file_chooser_remove_choice ()
void gtk_file_chooser_set_choice ()
const char * gtk_file_chooser_get_choice ()
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 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

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 utf8]

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

a GtkFileChooser

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

a GtkFileChooser

filename

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

[type filename]

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

Не нужно.

См. также: 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

Since: 2.4

gtk_file_chooser_get_filenames ()

GSList *
gtk_file_chooser_get_filenames (GtkFileChooser *chooser);

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

Параметры

chooser

a GtkFileChooser

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

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

a GtkFileChooser

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

a GtkFileChooser

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

полный путь к текущей папке или 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

a GtkFileChooser

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

Текущий выбранный 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

a GtkFileChooser

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

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]

С: 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 в противном случае.

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

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

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

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

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

объект 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

идентификаторы опций выбора или NULL для булева выбора.

[nullable][array zero-terminated=1]

option_labels

отображаемые пользователю описания опций, длина должна совпадать с options.

[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

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

a GtkFileChooser

filter

a 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

a GtkFileChooser

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

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

a GtkFileChooser

filter

a GtkFileFilter

С: 2.4

gtk_file_chooser_get_filter ()

GtkFileFilter *
gtk_file_chooser_get_filter (GtkFileChooser *chooser);

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

Параметры

chooser

a 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

a 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

a 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

a 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

Возвращает

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

a GtkFileChooser

Возвращает

the 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

Возвращает

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

a GtkFileChooser

Возвращает

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

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

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

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

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

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

См. также

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.24/GtkFileChooser.html

Spec-Zone.ru

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