0

我需要在 Pidgin 中添加首选项以提供我的自定义菜单项,如如何将项目添加到 Pidgin 菜单中所示。我怎样才能做到这一点?

4

1 回答 1

0

您需要在其中找到函数pidgin_blist_initpidgin/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。现在,我们需要将自定义菜单项与自定义功能相关联。这是在. 只需添加行pathpath_listpidgin_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也会被发布;)

于 2014-04-30T04:21:52.957 回答