如何在Pidgin中添加自定义首选项?
我需要在Pidgin中添加首选项来提供我的自定义菜单项,如如何将项目添加到Pidgin菜单中所示 。 我怎样才能做到这一点?
你需要在pidgin/gtkblist.c
找到函数pidgin_blist_init
并添加以下行:
purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/blist/show_groups", FALSE);
后
purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/blist/show_empty_groups", FALSE);
还有一些函数可以添加int
, string
, none
, string_list
, path
和path_list
类型。 现在,我们需要将自定义菜单项与自定义function相关联。 这是在pidgin_blist_show
完成的。 只需添加该行
purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/blist/show_groups", _prefs_change_redo_list_groups, NULL);
后
purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/blist/show_empty_groups", _prefs_change_redo_list, NULL);
最后,在_prefs_change_redo_list_groups
之后添加_prefs_change_redo_list_groups
函数:
static void _prefs_change_redo_list_groups(const char *name, PurplePrefType type, gconstpointer val, gpointer data) { purple_blist_set_groups_visible(purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_groups")); _prefs_change_redo_list(name, type, val, data); }
我保证,一旦我开发,就会发布purple_blist_set_groups_visible
;)