Spec-Zone.ru › GTK 3.20

GtkRecentManager

GtkRecentManager — Управление недавно используемыми файлами

Функции

GtkRecentManager * gtk_recent_manager_new ()
GtkRecentManager * gtk_recent_manager_get_default ()
gboolean gtk_recent_manager_add_item ()
gboolean gtk_recent_manager_add_full ()
gboolean gtk_recent_manager_remove_item ()
GtkRecentInfo * gtk_recent_manager_lookup_item ()
gboolean gtk_recent_manager_has_item ()
gboolean gtk_recent_manager_move_item ()
GList * gtk_recent_manager_get_items ()
gint gtk_recent_manager_purge_items ()
GtkRecentInfo * gtk_recent_info_ref ()
void gtk_recent_info_unref ()
const gchar * gtk_recent_info_get_uri ()
const gchar * gtk_recent_info_get_display_name ()
const gchar * gtk_recent_info_get_description ()
const gchar * gtk_recent_info_get_mime_type ()
time_t gtk_recent_info_get_added ()
time_t gtk_recent_info_get_modified ()
time_t gtk_recent_info_get_visited ()
gboolean gtk_recent_info_get_private_hint ()
gboolean gtk_recent_info_get_application_info ()
gchar ** gtk_recent_info_get_applications ()
gchar * gtk_recent_info_last_application ()
gboolean gtk_recent_info_has_application ()
GAppInfo * gtk_recent_info_create_app_info ()
gchar ** gtk_recent_info_get_groups ()
gboolean gtk_recent_info_has_group ()
GdkPixbuf * gtk_recent_info_get_icon ()
GIcon * gtk_recent_info_get_gicon ()
gchar * gtk_recent_info_get_short_name ()
gchar * gtk_recent_info_get_uri_display ()
gint gtk_recent_info_get_age ()
gboolean gtk_recent_info_is_local ()
gboolean gtk_recent_info_exists ()
gboolean gtk_recent_info_match ()

Свойства

gchar * имя_файла Чтение / Запись / Только для создания
gint размер Только для чтения

Сигналы

void изменён Первым

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

struct GtkRecentManager
GtkRecentInfo
struct GtkRecentData
#define GTK_RECENT_MANAGER_ERROR
enum GtkRecentManagerError

Иерархия объектов

    GObject
    ╰── GtkRecentManager

Файлы заголовков

#include <gtk/gtk.h>

Описание

GtkRecentManager предоставляет средства для добавления, удаления и поиска недавно используемых файлов. Каждый недавно используемый файл идентифицируется по своему URI и имеет метаданные, такие как имена и командные строки приложений, которые его зарегистрировали, количество раз, когда каждое приложение регистрировало тот же файл, MIME-тип файла и то, отображается ли файл только приложениями, которые его зарегистрировали.

Список недавно используемых файлов относится к конкретному пользователю.

Класс GtkRecentManager действует как база данных всех недавно используемых файлов. Можно создавать новые объекты GtkRecentManager, но эффективнее использовать менеджер по умолчанию, созданный GTK+.

Добавление нового недавно используемого файла выполняется следующим образом:

Класс GtkRecentManager попытается собрать всю необходимую информацию из самого файла через GIO.

Для поиска метаданных, связанных с недавно используемым файлом по его URI, необходимо вызвать gtk_recent_manager_lookup_item():

GtkRecentManager*manager;

manager =gtk_recent_manager_get_default();
gtk_recent_manager_add_item(manager, file_uri);

Для получения списка недавно используемых файлов можно использовать gtk_recent_manager_get_items(), который возвращает список GtkRecentInfo-структур.

Класс GtkRecentManager является моделью, используемой для заполнения содержимого одного или нескольких элементов GtkRecentChooser.

Обратите внимание, что максимальный срок действия списка недавно используемых файлов можно настроить через свойство “gtk-recent-files-max-age”.

Недавно используемые файлы поддерживаются начиная с GTK+ 2.10.

Функции

gtk_recent_manager_new ()

GtkRecentManager *
gtk_recent_manager_new (void);

Создаёт новый объект менеджера последних ресурсов. Объекты менеджеров последних ресурсов используются для управления списком недавно использованных ресурсов. Объект GtkRecentManager отслеживает список недавно использованных ресурсов и испускает сигнал «changed» каждый раз, когда что-либо в списке изменяется.

Объекты GtkRecentManager ресурсоёмкие: убедитесь, что вы создаёте их только тогда, когда это необходимо. Вы должны использовать gtk_recent_manager_get_default() вместо этого.

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

Новый созданный объект GtkRecentManager

С версии: 2.10

gtk_recent_manager_get_default ()

GtkRecentManager *
gtk_recent_manager_get_default (void);

Получает уникальный экземпляр GtkRecentManager, который можно использовать в вашем приложении без забот о управлении памятью.

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

Уникальный GtkRecentManager. Не нужно ссылаться или освобождать его.

[transfer none]

С версии: 2.10

gtk_recent_manager_add_item ()

gboolean
gtk_recent_manager_add_item (GtkRecentManager *manager,
                             const gchar *uri);

Добавляет новый ресурс, указанный в uri, в список недавно использованных ресурсов.

Эта функция автоматически извлекает некоторые необходимые метаданные и устанавливает другие метаданные в значения по умолчанию; затем она передаёт данные в gtk_recent_manager_add_full().

Обратитесь к gtk_recent_manager_add_full(), если вы хотите явно определить метаданные для ресурса, указанного в uri.

Параметры

manager

объект GtkRecentManager

uri

валидный URI

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

TRUE, если новый элемент успешно добавлен в список недавно использованных ресурсов

С версии: 2.10

gtk_recent_manager_add_full ()

gboolean
gtk_recent_manager_add_full (GtkRecentManager *manager,
                             const gchar *uri,
                             const GtkRecentData *recent_data);

Добавляет новый ресурс, указанный в uri, в список недавно использованных ресурсов, используя метаданные, указанные в GtkRecentData, переданные в recent_data.

Переданный URI будет использоваться для идентификации этого ресурса в списке.

Для регистрации нового недавно использованного ресурса, необходимо передать метаданные о ресурсе и URI; метаданные хранятся в GtkRecentData, который должен содержать MIME-тип ресурса, указанного URI, имя приложения, которое регистрирует элемент, и командную строку, используемую при запуске элемента.

Необязательно, GtkRecentData может содержать строку UTF-8, используемую при просмотре элемента вместо последней составляющей URI, краткое описание элемента; является ли элемент частным — то есть должен отображаться только приложениями, которые его зарегистрировали.

Параметры

manager

объект GtkRecentManager

uri

валидный URI

recent_data

метаданные ресурса

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

TRUE, если новый элемент успешно добавлен в список недавно использованных ресурсов, FALSE в противном случае

С версии: 2.10

gtk_recent_manager_remove_item ()

gboolean
gtk_recent_manager_remove_item (GtkRecentManager *manager,
                                const gchar *uri,
                                GError **error);

Удаляет ресурс, указанный в uri, из списка недавно использованных ресурсов, управляемых менеджером последних ресурсов.

Параметры

manager

объект GtkRecentManager

uri

URI элемента, который вы хотите удалить

error

место для возврата GError, или NULL.

[allow-none]

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

TRUE, если элемент, указанный в uri, был успешно удален из списка недавно использованных ресурсов, и FALSE в противном случае

С версии: 2.10

gtk_recent_manager_lookup_item ()

GtkRecentInfo *
gtk_recent_manager_lookup_item (GtkRecentManager *manager,
                                const gchar *uri,
                                GError **error);

Ищет URI в списке недавно использованных ресурсов и возвращает GtkRecentInfo, содержащий информацию о ресурсе, например, его MIME-тип или отображаемое имя.

Параметры

manager

объект GtkRecentManager

uri

URI

error

место для возврата GError, или NULL.

[allow-none]

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

GtkRecentInfo, содержащий информацию о ресурсе, указанном в uri, или NULL, если URI не был зарегистрирован в списке недавно использованных ресурсов. Освободить с помощью gtk_recent_info_unref().

[nullable]

С версии: 2.10

gtk_recent_manager_has_item ()

gboolean
gtk_recent_manager_has_item (GtkRecentManager *manager,
                             const gchar *uri);

Проверяет, зарегистрирован ли недавно использованный ресурс с uri в менеджере последних ресурсов.

Параметры

manager

объект GtkRecentManager

uri

URI

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

TRUE, если ресурс был найден, FALSE в противном случае

С версии: 2.10

gtk_recent_manager_move_item ()

gboolean
gtk_recent_manager_move_item (GtkRecentManager *manager,
                              const gchar *uri,
                              const gchar *new_uri,
                              GError **error);

Изменяет расположение недавно использованного ресурса с uri на new_uri.

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

Параметры

manager

a GtkRecentManager

uri

URI недавно использованного ресурса

new_uri

новый URI недавно использованного ресурса или NULL для удаления элемента, на который указывает uri, из списка.

[allow-none]

error

место для возврата GError, или NULL.

[allow-none]

Возвращает

TRUE при успехе

Since: 2.10

gtk_recent_manager_get_items ()

GList *
gtk_recent_manager_get_items (GtkRecentManager *manager);

Получает список недавно использованных ресурсов.

Параметры

manager

a GtkRecentManager

Возвращает

список недавно выделенных GtkRecentInfo объектов. Используйте gtk_recent_info_unref() для каждого элемента в списке, а затем освободите сам список с помощью g_list_free().

[element-type GtkRecentInfo][transfer full]

Since: 2.10

gtk_recent_manager_purge_items ()

gint
gtk_recent_manager_purge_items (GtkRecentManager *manager,
                                GError **error);

Очищает все элементы из списка недавно использованных ресурсов.

Параметры

manager

a GtkRecentManager

error

место для возврата GError, или NULL.

[allow-none]

Возвращает

количество элементов, удаленных из списка недавно использованных ресурсов

Since: 2.10

gtk_recent_info_ref ()

GtkRecentInfo *
gtk_recent_info_ref (GtkRecentInfo *info);

Увеличивает счётчик ссылок на recent_info на единицу.

Параметры

info

a GtkRecentInfo

Возвращает

объект recent info с увеличенным на единицу счётчиком ссылок

Since: 2.10

gtk_recent_info_unref ()

void
gtk_recent_info_unref (GtkRecentInfo *info);

Уменьшает счётчик ссылок на info на единицу. Если счётчик ссылок достигнет нуля, info освобождается, и память освобождается.

Параметры

info

a GtkRecentInfo

Since: 2.10

gtk_recent_info_get_uri ()

const gchar *
gtk_recent_info_get_uri (GtkRecentInfo *info);

Получает URI ресурса.

Параметры

info

a GtkRecentInfo

Возвращает

URI ресурса. Возвращённая строка принадлежит менеджеру ресурсов и не должна освобождаться.

Since: 2.10

gtk_recent_info_get_display_name ()

const gchar *
gtk_recent_info_get_display_name (GtkRecentInfo *info);

Получает имя ресурса. Если имя не задано, возвращается имя файла ресурса.

Параметры

info

a GtkRecentInfo

Возвращает

отображаемое имя ресурса. Возвращённая строка принадлежит менеджеру ресурсов и не должна освобождаться.

Since: 2.10

gtk_recent_info_get_description ()

const gchar *
gtk_recent_info_get_description (GtkRecentInfo *info);

Получает краткое описание ресурса.

Параметры

info

a GtkRecentInfo

Возвращает

описание ресурса. Возвращённая строка принадлежит менеджеру ресурсов и не должна освобождаться.

Since: 2.10

gtk_recent_info_get_mime_type ()

const gchar *
gtk_recent_info_get_mime_type (GtkRecentInfo *info);

Получает тип MIME ресурса.

Параметры

info

a GtkRecentInfo

Возвращает

тип MIME ресурса. Возвращённая строка принадлежит менеджеру ресурсов и не должна освобождаться.

Since: 2.10

gtk_recent_info_get_added ()

time_t
gtk_recent_info_get_added (GtkRecentInfo *info);

Получает метку времени (секунды с эпохи системы) добавления ресурса в список недавно использованных ресурсов.

Параметры

info

a GtkRecentInfo

Возвращает

число секунд, прошедших с эпохи системы, когда ресурс был добавлен в список, или -1 при ошибке.

Since: 2.10

gtk_recent_info_get_modified ()

time_t
gtk_recent_info_get_modified (GtkRecentInfo *info);

Получает метку времени (секунды с эпохи системы) последнего изменения метаданных ресурса.

Параметры

info

a GtkRecentInfo

Возвращает

число секунд, прошедших с эпохи системы, когда ресурс был последний раз изменён, или -1 при ошибке.

Since: 2.10

gtk_recent_info_get_visited ()

time_t
gtk_recent_info_get_visited (GtkRecentInfo *info);

Получает метку времени (секунды с эпохи системы), когда метаданные ресурса были в последний раз посещены.

Параметры

info

a GtkRecentInfo

Возвращает

количество секунд, прошедших с эпохи системы, когда ресурс был в последний раз посещен, или -1 при ошибке.

С: 2.10

gtk_recent_info_get_private_hint ()

gboolean
gtk_recent_info_get_private_hint (GtkRecentInfo *info);

Получает значение флага «private». Ресурсы в списке недавно используемых, у которых этот флаг установлен в TRUE, должны отображаться только приложениями, которые их зарегистрировали.

Параметры

info

a GtkRecentInfo

Возвращает

TRUE, если флаг private найден, FALSE в противном случае.

С: 2.10

gtk_recent_info_get_application_info ()

gboolean
gtk_recent_info_get_application_info (GtkRecentInfo *info,
                                      const gchar *app_name,
                                      const gchar **app_exec,
                                      guint *count,
                                      time_t *time_);

Получает данные о приложении, которое зарегистрировало ресурс, на который указывает info.

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

Параметры

info

a GtkRecentInfo

app_name

имя приложения, которое зарегистрировало этот элемент

app_exec

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

[transfer none][out]

count

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

[out]

time_

место для возврата метки времени последней регистрации этого элемента для данного приложения.

[out]

Возвращает

TRUE, если приложение с app_name зарегистрировало этот ресурс в списке недавно используемых, или FALSE в противном случае. Строка app_exec принадлежит GtkRecentInfo и не должна изменяться или освобождаться.

С: 2.10

gtk_recent_info_get_applications ()

gchar **
gtk_recent_info_get_applications (GtkRecentInfo *info,
                                  gsize *length);

Извлекает список приложений, которые зарегистрировали этот ресурс.

Параметры

info

a GtkRecentInfo

length

место для возврата длины возвращаемого списка.

[out][allow-none]

Возвращает

новый выделенный массив строк, завершаемых NULL. Используйте g_strfreev() для его освобождения.

[array length=length zero-terminated=1][transfer full]

С: 2.10

gtk_recent_info_last_application ()

gchar *
gtk_recent_info_last_application (GtkRecentInfo *info);

Получает имя последнего приложения, которое зарегистрировало недавно используемый ресурс, представленный info.

Параметры

info

a GtkRecentInfo

Возвращает

имя приложения. Используйте g_free() для его освобождения.

С: 2.10

gtk_recent_info_has-application ()

gboolean
gtk_recent_info_has_application (GtkRecentInfo *info,
                                 const gchar *app_name);

Проверяет, зарегистрировало ли приложение этот ресурс с использованием app_name.

Параметры

info

a GtkRecentInfo

app_name

строка, содержащая имя приложения

Возвращает

TRUE, если приложение с именем app_name найдено, FALSE в противном случае.

С: 2.10

gtk_recent_info_create_app_info ()

GAppInfo *
gtk_recent_info_create_app_info (GtkRecentInfo *info,
                                 const gchar *app_name,
                                 GError **error);

Создаёт GAppInfo для указанного GtkRecentInfo

Параметры

info

a GtkRecentInfo

app_name

имя приложения, которое должно быть сопоставлено с GAppInfo; если используется NULL, используется приложение по умолчанию для типа MIME.

[allow-none]

error

место для возврата GError, или NULL.

[allow-none]

Возвращает

созданный GAppInfo, или NULL. В случае ошибки error будет установлена либо с GTK_RECENT_MANAGER_ERROR, либо с G_IO_ERROR.

[transfer full]

gtk_recent_info_get_groups ()

gchar **
gtk_recent_info_get_groups (GtkRecentInfo *info,
                            gsize *length);

Возвращает все зарегистрированные группы для недавно используемого элемента info. Массив возвращаемых имён групп будет NULL завершаться нулём, поэтому длина может быть NULL.

Параметры

info

a GtkRecentInfo

length

место для количества возвращённых групп.

[out][allow-none]

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

новый динамически выделенный NULL завершаемый нулём массив строк. Используйте g_strfreev() для освобождения памяти.

[array length=length zero-terminated=1][transfer full]

С: 2.10

gtk_recent_info_has_group ()

gboolean
gtk_recent_info_has_group (GtkRecentInfo *info,
                           const gchar *group_name);

Проверяет, появляется ли group_name внутри зарегистрированных групп для недавно используемого элемента info.

Параметры

info

a GtkRecentInfo

group_name

имя группы

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

TRUE, если группа найдена

С: 2.10

gtk_recent_info_get_icon ()

GdkPixbuf *
gtk_recent_info_get_icon (GtkRecentInfo *info,
                          gint size);

Возвращает значок размера size, связанный с MIME-типом ресурса.

Параметры

info

a GtkRecentInfo

size

размер значка в пикселях

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

GdkPixbuf со значком или NULL. Используйте g_object_unref() по завершении использования значка.

[transfer full]

С: 2.10

gtk_recent_info_get_gicon ()

GIcon *
gtk_recent_info_get_gicon (GtkRecentInfo *info);

Возвращает значок, связанный с MIME-типом ресурса.

Параметры

info

a GtkRecentInfo

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

GIcon со значком или NULL. Используйте g_object_unref() по завершении использования значка.

[transfer full]

С: 2.22

gtk_recent_info_get_short_name ()

gchar *
gtk_recent_info_get_short_name (GtkRecentInfo *info);

Вычисляет корректную строку UTF-8, которая может использоваться в качестве имени элемента в меню или списке. Например, вызов этой функции для элемента, ссылающегося на «file:///foo/bar.txt», вернёт «bar.txt».

Параметры

info

an GtkRecentInfo

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

Новая динамически выделенная строка в кодировке UTF-8. Освободите её с помощью g_free()

С: 2.10

gtk_recent_info_get_uri_display ()

gchar *
gtk_recent_info_get_uri_display (GtkRecentInfo *info);

Получает отображаемую версию URI ресурса. Если ресурс локальный, возвращает локальный путь; если ресурс нелокальный, возвращает закодированное в UTF-8 содержимое gtk_recent_info_get_uri().

Параметры

info

a GtkRecentInfo

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

динамически выделенная строка UTF-8, содержащая URI ресурса, или NULL. Используйте g_free() по завершении использования.

С: 2.10

gtk_recent_info_get_age ()

gint
gtk_recent_info_get_age (GtkRecentInfo *info);

Получает количество прошедших дней с момента последнего обновления ресурса, указанного в info.

Параметры

info

a GtkRecentInfo

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

положительное целое число, содержащее количество дней, прошедших с момента последнего изменения этого ресурса.

С: 2.10

gtk_recent_info_is_local ()

gboolean
gtk_recent_info_is_local (GtkRecentInfo *info);

Проверяет, является ли ресурс локальным, посмотрев на схему его URI.

Параметры

info

a GtkRecentInfo

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

TRUE, если ресурс локальный

С: 2.10

gtk_recent_info_exists ()

gboolean
gtk_recent_info_exists (GtkRecentInfo *info);

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

Параметры

info

a GtkRecentInfo

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

TRUE, если ресурс существует

С: 2.10

gtk_recent_info_match ()

gboolean
gtk_recent_info_match (GtkRecentInfo *info_a,
                       GtkRecentInfo *info_b);

Проверяет, указывают ли два объекта GtkRecentInfo на один и тот же ресурс.

Параметры

info_a

объект GtkRecentInfo

info_b

объект GtkRecentInfo

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

TRUE, если оба объекта GtkRecentInfo указывают на один и тот же ресурс, FALSE в противном случае

С: 2.10

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

struct GtkRecentManager

struct GtkRecentManager;

Структура GtkRecentManager содержит только закрытые данные и должна быть обработана через предоставленный API.

С: 2.10

GtkRecentInfo

typedef struct _GtkRecentInfo GtkRecentInfo;

Объект GtkRecentInfo содержит только закрытые данные и должен быть обработан через предоставленный API.

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

С: 2.10

struct GtkRecentData

struct GtkRecentData {
  gchar *display_name;
  gchar *description;

  gchar *mime_type;

  gchar *app_name;
  gchar *app_exec;

  gchar **groups;

  gboolean is_private;
};

Метаданные, которые необходимо передать в gtk_recent_manager_add_full() при регистрации недавно использованного ресурса.

Члены

gchar *display_name;

строка UTF-8, содержащая имя недавно использованного ресурса для отображения или NULL;

gchar *description;

строка UTF-8, содержащая краткое описание ресурса или NULL;

gchar *mime_type;

тип MIME ресурса;

gchar *app_name;

имя приложения, которое регистрирует этот недавно использованный ресурс;

gchar *app_exec;

строка командной строки для запуска ресурса; может содержать escape-символы «%f» и «%u», которые будут заменены на путь к файлу ресурса и URI соответственно, когда будет получена строка командной строки;

gchar **groups;

вектор строк, содержащих имена групп;.

[array zero-terminated=1]

gboolean is_private;

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

GTK_RECENT_MANAGER_ERROR

#define GTK_RECENT_MANAGER_ERROR (gtk_recent_manager_error_quark ())

Область ошибок GError для ошибок GtkRecentManager.

С: 2.10

enum GtkRecentManagerError

Коды ошибок для операций с GtkRecentManager.

Члены

GTK_RECENT_MANAGER_ERROR_NOT_FOUND

указанный URI не существует в списке недавно использованных ресурсов.

GTK_RECENT_MANAGER_ERROR_INVALID_URI

указанный URI некорректен.

GTK_RECENT_MANAGER_ERROR_INVALID_ENCODING

переданная строка не закодирована в UTF-8.

GTK_RECENT_MANAGER_ERROR_NOT_REGISTERED

приложение не зарегистрировало указанный элемент.

GTK_RECENT_MANAGER_ERROR_READ

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

GTK_RECENT_MANAGER_ERROR_WRITE

ошибка при записи файла недавно использованных ресурсов.

GTK_RECENT_MANAGER_ERROR_UNKNOWN

неопределенная ошибка.

С: 2.10

Подробное описание свойств

Свойство “filename”

  “filename”                 gchar *

Полный путь к файлу для хранения и чтения списка недавно использованных ресурсов

Флаги: Чтение / Запись / Только для построения

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

С: 2.10

Свойство “size”

  “size”                     gint

Размер списка недавно использованных ресурсов.

Флаги: Чтение

Допустимые значения: >= -1

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

С: 2.10

Подробное описание сигналов

Сигнал “changed”

void
user_function (GtkRecentManager *recent_manager,
               gpointer          user_data)

Выдается, когда текущий менеджер недавно использованных ресурсов изменяет свое содержимое, например, при вызове gtk_recent_manager_add_item() или другим приложением.

Параметры

recent_manager

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

user_data

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

Флаги: Run First

С: 2.10

См. также

GBookmarkFile, GtkSettings, GtkRecentChooser

© 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/GtkRecentManager.html

Spec-Zone.ru

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