如何在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); 

还有一些函数可以添加intstringnonestring_listpathpath_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 ;)