我需要在Pidgin中添加首选项以提供我的自定义菜单项,如How do I add item to Pidgin menu所示。我怎样才能做到这一点?
答案 0 :(得分:0)
您需要在pidgin_blist_init
中找到功能pidgin/gtkblist.c
并添加以下行:
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
类型。现在,我们需要将自定义菜单项与自定义功能相关联。这是在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
函数
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
也将在我开发后发布,我保证;)