краткое описание#include <gtk/gtk.h> gtkrecentmanager; gtkrecentinfo; gtkrecentdata; #define gtk_recent_manager_error enum gtkrecentmanagererror; gtkrecentmanager* gtk_recent_manager_new (void); gtkrecentmanager* gtk_recent_manager_get_default (void); gtkrecentmanager* gtk_recent_manager_get_for_screen (gdkscreen *screen); void gtk_recent_manager_set_screen (gtkrecentmanager *manager, gdkscreen *screen); gboolean gtk_recent_manager_add_item (gtkrecentmanager *manager, const gchar *uri); gboolean gtk_recent_manager_add_full (gtkrecentmanager *manager, const gchar *uri, const gtkrecentdata *recent_data); gboolean gtk_recent_manager_remove_item (gtkrecentmanager *manager, const gchar *uri, gerror **error); gtkrecentinfo* gtk_recent_manager_lookup_item (gtkrecentmanager *manager, const gchar *uri, gerror **error); gboolean gtk_recent_manager_has_item (gtkrecentmanager *manager, const gchar *uri); gboolean gtk_recent_manager_move_item (gtkrecentmanager *manager, const gchar *uri, const gchar *new_uri, gerror **error); gint gtk_recent_manager_get_limit (gtkrecentmanager *manager); void gtk_recent_manager_set_limit (gtkrecentmanager *manager, gint limit); glist* gtk_recent_manager_get_items (gtkrecentmanager *manager); gint gtk_recent_manager_purge_items (gtkrecentmanager *manager, gerror **error); gtkrecentinfo* gtk_recent_info_ref (gtkrecentinfo *info); void gtk_recent_info_unref (gtkrecentinfo *info); const gchar* gtk_recent_info_get_uri (gtkrecentinfo *info); const gchar* gtk_recent_info_get_display_name (gtkrecentinfo *info); const gchar* gtk_recent_info_get_description (gtkrecentinfo *info); const gchar* gtk_recent_info_get_mime_type (gtkrecentinfo *info); time_t gtk_recent_info_get_added (gtkrecentinfo *info); time_t gtk_recent_info_get_modified (gtkrecentinfo *info); time_t gtk_recent_info_get_visited (gtkrecentinfo *info); gboolean gtk_recent_info_get_private_hint (gtkrecentinfo *info); gboolean gtk_recent_info_get_application_info (gtkrecentinfo *info, const gchar *app_name, gchar **app_exec, guint *count, time_t *time_); gchar** gtk_recent_info_get_applications (gtkrecentinfo *info, gsize *length); gchar* gtk_recent_info_last_application (gtkrecentinfo *info); gchar** gtk_recent_info_get_groups (gtkrecentinfo *info, gsize *length); gboolean gtk_recent_info_has_group (gtkrecentinfo *info, const gchar *group_name); gboolean gtk_recent_info_has_application (gtkrecentinfo *info, const gchar *app_name); gdkpixbuf* gtk_recent_info_get_icon (gtkrecentinfo *info, gint size); gchar* gtk_recent_info_get_short_name (gtkrecentinfo *info); gchar* gtk_recent_info_get_uri_display (gtkrecentinfo *info); gint gtk_recent_info_get_age (gtkrecentinfo *info); gboolean gtk_recent_info_is_local (gtkrecentinfo *info); gboolean gtk_recent_info_exists (gtkrecentinfo *info); gboolean gtk_recent_info_match (gtkrecentinfo *info_a, gtkrecentinfo *info_b); иерархия объектовgobject +----gtkrecentmanager свойства"filename" gchararray : read / write / construct only "limit" gint : read / write "size" gint : read сигналы"changed" void user_function (gtkrecentmanager *recent_manager, gpointer user_data) : run first описаниеgtkrecentmanager обеспечивает удобное добавление, удаление и поиск недавно используемых файлов. каждый недавно используемый файл идентифицируется uri, и имеет мета-данные связанные с ним, такие как имена и командные строки приложений которые были зарегистрированы им, число и время каждого приложения имеющего зарегистрированным тот же файл, mime тип файла и должен ли файл отображаться только зарегистрированными им приложениями. gtkrecentmanager действует как база данных всех недавно используемых файлов. вы можете создать новый объект gtkrecentmanager, но более удобно использовать стандартный менеджер для gdkscreen так как информация о недавно используемых файлах разделяется между разными людьми использующими его. в случае использования экрана по умолчанию, добавление нового недавно используемого файла происходит так: gtkrecentmanager *manager;
manager = поиск недавно используемого файла происходит так: gtkrecentmanager *manager;
gtkrecentinfo *info;
gerror *error = null;
manager = недавно используемые файлы поддерживаются начиная с версии gtk+ 2.10. деталиgtkrecentmanagertypedef struct _gtkrecentmanager gtkrecentmanager;
действует как база данных информации
о списке недавно используемых файлов.
обычно, для получения менеджера недавно
используемых файлов для определенного
экрана вам нужно использовать
gtkrecentinfotypedef struct _gtkrecentinfo gtkrecentinfo; содержит информацию найденную при просмотре ввода списка недавно используемых файлов. gtkrecentdatatypedef struct {
gchar *display_name;
gchar *description;
gchar *mime_type;
gchar *app_name;
gchar *app_exec;
gchar **groups;
gboolean is_private;
} gtkrecentdata;
мета-данные помещаемые в
мета-данные помещаемые в
gtk_recent_manager_error#define gtk_recent_manager_error (gtk_recent_manager_error_quark ()) gquark используемый для gtkrecentmanagererror ошибок. enum gtkrecentmanagererrortypedef enum { gtk_recent_manager_error_not_found, gtk_recent_manager_error_invalid_uri, gtk_recent_manager_error_invalid_encoding, gtk_recent_manager_error_not_registered, gtk_recent_manager_error_read, gtk_recent_manager_error_write, gtk_recent_manager_error_unknown } gtkrecentmanagererror; коды ошибок для gtkrecentmanager операций
gtk_recent_manager_new ()gtkrecentmanager* gtk_recent_manager_new (void); создаёт новый объект менеджера недавно используемых файлов. менеджер используется для обработки недавно используемых ресурсных файлов. gtkrecentmanager объект проверяет список недавно используемых файлов и издаёт сигнал "changed" каждый раз когда список изменяется. gtkrecentmanager
объекты являются экспансивными: убедитесь
что создаёте их только когда они
необходимы. вы должны использовать
начиная с версии 2.10 gtk_recent_manager_get_default ()gtkrecentmanager* gtk_recent_manager_get_default (void);
выдаёт менеджер для экрана по умолчанию.
смотрите
начиная с версии 2.10 gtk_recent_manager_get_for_screen ()gtkrecentmanager* gtk_recent_manager_get_for_screen (gdkscreen *screen);
выдаёт менеджер связанный с
начиная с версии 2.10 gtk_recent_manager_set_screen ()void gtk_recent_manager_set_screen (gtkrecentmanager *manager, gdkscreen *screen); устанавливает экран для менеджера недавно используемых файлов; экран используется для слежения за текущемй конфигурацией хранения недавно используемых пользователем документов.
начиная с версии 2.10 gtk_recent_manager_add_item ()gboolean gtk_recent_manager_add_item (gtkrecentmanager *manager, const gchar *uri);
добавляет новый ресурс, указанный эта функция автоматически определяет
некоторые необходимые мета-данные и
устанавливает другие мета-данные в
обычные значения по умолчанию; передаёт
данные в смотрите
начиная с версии 2.10 gtk_recent_manager_add_full ()gboolean gtk_recent_manager_add_full (gtkrecentmanager *manager, const gchar *uri, const gtkrecentdata *recent_data);
добавляет новый ресурс, указанный помещаемый uri будет использован как идентификатор этого ресурса в списке. для регистрации нового недавно использованного ресурса, метаданные должны быть помещены так же как uri; метаданные хранятся в структуре gtkrecentdata, которая должна содержать mime тип ресурса указанного uri; имя зарегистрированного приложения и командную строку для запуска этого элемента. опционально, gtkrecentdata структура может содержать utf-8 строку для использования при просмотре элементов вместо последнего компонента uri; короткое описание элемента; должен ли элемент рассматриваться как закрытый – то есть отображаться только зарегистрированными приложениями.
начиная с версии 2.10 gtk_recent_manager_remove_item ()gboolean gtk_recent_manager_remove_item (gtkrecentmanager *manager, const gchar *uri, gerror **error);
удаляет ресурс указанный
начиная с версии 2.10 gtk_recent_manager_lookup_item ()gtkrecentinfo* gtk_recent_manager_lookup_item (gtkrecentmanager *manager, const gchar *uri, gerror **error); ищет uri внутри списка недавно используемых элементов и возвращает структуру содержащую информацию о ресурсе, такую как mime тип, или его отображаемое имя.
начиная с версии 2.10 gtk_recent_manager_has_item ()gboolean gtk_recent_manager_has_item (gtkrecentmanager *manager, const gchar *uri);
проверяет содержится ли недавно
используемый элемент зарегистрированный
с
начиная с версии 2.10 gtk_recent_manager_move_item ()gboolean gtk_recent_manager_move_item (gtkrecentmanager *manager, const gchar *uri, const gchar *new_uri, gerror **error);
изменяет расположение недавно
используемого элемента из пожалуйста помните, что эта функция не будет влиять на ресурс указанный uris, а только на uri используемые в списке недавно используемых ресурсов.
начиная с версии 2.10 gtk_recent_manager_get_limit ()gint gtk_recent_manager_get_limit (gtkrecentmanager *manager);
выдаёт максимальное количество элементов
которое должна вернуть функция
начиная с версии 2.10 gtk_recent_manager_set_limit ()void gtk_recent_manager_set_limit (gtkrecentmanager *manager, gint limit);
устанавливает максимальное количество
элементов которое должна вернуть функция
начиная с версии 2.10 gtk_recent_manager_get_items ()glist* gtk_recent_manager_get_items (gtkrecentmanager *manager); выдаёт список недавно использованных ресурсов.
начиная с версии 2.10 gtk_recent_manager_purge_items ()gint gtk_recent_manager_purge_items (gtkrecentmanager *manager, gerror **error); очищает все элементы из списка недавно использованных ресурсов.
начиная с версии 2.10 gtk_recent_info_ref ()gtkrecentinfo* gtk_recent_info_ref (gtkrecentinfo *info);
увеличивает счет ссылок
начиная с версии 2.10 gtk_recent_info_unref ()void gtk_recent_info_unref (gtkrecentinfo *info);
уменьшает количество ссылок
начиная с версии 2.10 gtk_recent_info_get_uri ()const gchar* gtk_recent_info_get_uri (gtkrecentinfo *info); выдаёт uri ресурса.
начиная с версии 2.10 gtk_recent_info_get_display_name ()const gchar* gtk_recent_info_get_display_name (gtkrecentinfo *info); выдаёт имя ресурса. если нет определённого, выдаётся основное имя ресурса.
начиная с версии 2.10 gtk_recent_info_get_description ()const gchar* gtk_recent_info_get_description (gtkrecentinfo *info); выдаёт (краткое) описание ресурса.
начиная с версии 2.10 gtk_recent_info_get_mime_type ()const gchar* gtk_recent_info_get_mime_type (gtkrecentinfo *info); выдаёт mime тип ресурса.
начиная с версии 2.10 gtk_recent_info_get_added ()time_t gtk_recent_info_get_added (gtkrecentinfo *info); выдаёт временной шаблон (в секундах системной эпохи (system's epoch)) когда был добавлен ресурс в список недавно использованных ресурсов.
начиная с версии 2.10 gtk_recent_info_get_modified ()time_t gtk_recent_info_get_modified (gtkrecentinfo *info); выдаёт временной шаблон (в секундах системной эпохи (system's epoch)) когда был изменён список.
начиная с версии 2.10 gtk_recent_info_get_visited ()time_t gtk_recent_info_get_visited (gtkrecentinfo *info); выдаёт временной шаблон (в секундах системной эпохи (system's epoch)) когда был последний раз использован ресурс.
начиная с версии 2.10 gtk_recent_info_get_private_hint ()gboolean gtk_recent_info_get_private_hint (gtkrecentinfo *info);
выдаёт значение флага "private". недавно
использованный ресурс с установленным
флагом
начиная с версии 2.10 gtk_recent_info_get_application_info ()gboolean gtk_recent_info_get_application_info (gtkrecentinfo *info, const gchar *app_name, gchar **app_exec, guint *count, time_t *time_);
выдаёт данные относительно
зарегистрированного приложения ресурса
указанного если командная строка содержит любые escape символы определенные в спецификации хранения, она будет дополнена.
начиная с версии 2.10 gtk_recent_info_get_applications ()gchar** gtk_recent_info_get_applications (gtkrecentinfo *info, gsize *length); определяет список приложений зарегистрированных для этого ресурса.
начиная с версии 2.10 gtk_recent_info_last_application ()gchar* gtk_recent_info_last_application (gtkrecentinfo *info);
выдаёт имя последнего приложения
зарегистрированного недавно использованным
ресурсом представленным
начиная с версии 2.10 gtk_recent_info_get_groups ()gchar** gtk_recent_info_get_groups (gtkrecentinfo *info, gsize *length);
возвращает все группы зарегистрированные
для недавно использованного элемента
начиная с версии 2.10 gtk_recent_info_has_group ()gboolean gtk_recent_info_has_group (gtkrecentinfo *info, const gchar *group_name);
контролирует объявляется ли
начиная с версии 2.10 gtk_recent_info_has_application ()gboolean gtk_recent_info_has_application (gtkrecentinfo *info, const gchar *app_name);
проверяет зарегистрировано ли приложение
ресурсом используя
начиная с версии 2.10 gtk_recent_info_get_icon ()gdkpixbuf* gtk_recent_info_get_icon (gtkrecentinfo *info, gint size);
определяет размер значка
начиная с версии 2.10 gtk_recent_info_get_short_name ()gchar* gtk_recent_info_get_short_name (gtkrecentinfo *info); расчитывает допустимую utf-8 строку которая может использоваться как имя элемента в меню или списке. например, вызов этой функции для элемента со ссылкой "file:///foo/bar.txt" выдаст "bar.txt".
начиная с версии 2.10 gtk_recent_info_get_uri_display ()gchar* gtk_recent_info_get_uri_display (gtkrecentinfo *info); выдаёт отключенную версию ресурсного uri.
начиная с версии 2.10 gtk_recent_info_get_age ()gint gtk_recent_info_get_age (gtkrecentinfo *info);
выдаёт количество дней истекших с
момента последнего обновления ресурса
указанного
начиная с версии 2.10 gtk_recent_info_is_local ()gboolean gtk_recent_info_is_local (gtkrecentinfo *info); проверяет является ли ресурс локальным или нет, просматривая схему его uri.
начиная с версии 2.10 gtk_recent_info_exists ()gboolean gtk_recent_info_exists (gtkrecentinfo *info);
проверяет существование ресурса
указанного
начиная с версии 2.10 gtk_recent_info_match ()gboolean gtk_recent_info_match (gtkrecentinfo *info_a, gtkrecentinfo *info_b); проверяет указывают ли две структуры gtkrecentinfo на один и тот же ресурс.
начиная с версии 2.10 детали свойствсвойство "
|
|
менеджер недавно использованных ресурсов |
|
пользовательские данные помещаемые при подключении обработчика сигнала. |
начиная с версии 2.10