pidgin: 97920674: Do not show a separator after 'Account -...
sadrul at pidgin.im
sadrul at pidgin.im
Wed Dec 31 18:55:57 EST 2008
-----------------------------------------------------------------
Revision: 97920674b6fdd5f82741d1e33f3379faad6743dc
Ancestor: d2364b7f5d0722f65c21ee1974c6707279218da0
Author: sadrul at pidgin.im
Date: 2008-12-31T23:42:28
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/97920674b6fdd5f82741d1e33f3379faad6743dc
Modified files:
pidgin/gtkblist.c
ChangeLog:
Do not show a separator after 'Account -> Enable Account' when not required.
-------------- next part --------------
============================================================
--- pidgin/gtkblist.c b6a4621559754b403c6fc4f9ed082378340714c3
+++ pidgin/gtkblist.c fd60fffe210d3b6b31af8edc856051c561eb9845
@@ -7655,6 +7655,7 @@ pidgin_blist_update_accounts_menu(void)
GtkAccelGroup *accel_group = NULL;
GList *l = NULL, *accounts = NULL;
gboolean disabled_accounts = FALSE;
+ gboolean enabled_accounts = FALSE;
if (accountmenu == NULL)
return;
@@ -7708,10 +7709,16 @@ pidgin_blist_update_accounts_menu(void)
G_CALLBACK(enable_account_cb), account);
gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem);
gtk_widget_show(menuitem);
+ } else {
+ enabled_accounts = TRUE;
}
}
+ if (!enabled_accounts)
+ return;
+
pidgin_separator(accountmenu);
+ accel_group = gtk_menu_get_accel_group(GTK_MENU(accountmenu));
for (accounts = purple_accounts_get_all(); accounts; accounts = accounts->next) {
char *buf = NULL;
@@ -7723,67 +7730,63 @@ pidgin_blist_update_accounts_menu(void)
PurplePlugin *plugin = NULL;
account = accounts->data;
- accel_group = gtk_menu_get_accel_group(GTK_MENU(accountmenu));
- if(purple_account_get_enabled(account, PIDGIN_UI)) {
- buf = g_strconcat(purple_account_get_username(account), " (",
- purple_account_get_protocol_name(account), ")", NULL);
- menuitem = gtk_image_menu_item_new_with_label(buf);
- accel_path_buf = g_strconcat(N_("<PurpleMain>/Accounts/"), buf, NULL);
- g_free(buf);
- pixbuf = pidgin_create_prpl_icon(account, PIDGIN_PRPL_ICON_SMALL);
- if (pixbuf != NULL)
- {
- if (!purple_account_is_connected(account))
- gdk_pixbuf_saturate_and_pixelate(pixbuf, pixbuf,
- 0.0, FALSE);
- image = gtk_image_new_from_pixbuf(pixbuf);
- g_object_unref(G_OBJECT(pixbuf));
- gtk_widget_show(image);
- gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image);
- }
- gtk_menu_shell_append(GTK_MENU_SHELL(accountmenu), menuitem);
- gtk_widget_show(menuitem);
+ if (!purple_account_get_enabled(account, PIDGIN_UI))
+ continue;
- submenu = gtk_menu_new();
- gtk_menu_set_accel_group(GTK_MENU(submenu), accel_group);
- gtk_menu_set_accel_path(GTK_MENU(submenu), accel_path_buf);
- g_free(accel_path_buf);
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), submenu);
- gtk_widget_show(submenu);
+ buf = g_strconcat(purple_account_get_username(account), " (",
+ purple_account_get_protocol_name(account), ")", NULL);
+ menuitem = gtk_image_menu_item_new_with_label(buf);
+ accel_path_buf = g_strconcat(N_("<PurpleMain>/Accounts/"), buf, NULL);
+ g_free(buf);
+ pixbuf = pidgin_create_prpl_icon(account, PIDGIN_PRPL_ICON_SMALL);
+ if (pixbuf != NULL) {
+ if (!purple_account_is_connected(account))
+ gdk_pixbuf_saturate_and_pixelate(pixbuf, pixbuf,
+ 0.0, FALSE);
+ image = gtk_image_new_from_pixbuf(pixbuf);
+ g_object_unref(G_OBJECT(pixbuf));
+ gtk_widget_show(image);
+ gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image);
+ }
+ gtk_menu_shell_append(GTK_MENU_SHELL(accountmenu), menuitem);
+ gtk_widget_show(menuitem);
+ submenu = gtk_menu_new();
+ gtk_menu_set_accel_group(GTK_MENU(submenu), accel_group);
+ gtk_menu_set_accel_path(GTK_MENU(submenu), accel_path_buf);
+ g_free(accel_path_buf);
+ gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), submenu);
+ gtk_widget_show(submenu);
- menuitem = gtk_menu_item_new_with_mnemonic(_("_Edit Account"));
- g_signal_connect(G_OBJECT(menuitem), "activate",
- G_CALLBACK(modify_account_cb), account);
- gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem);
- gtk_widget_show(menuitem);
- pidgin_separator(submenu);
+ menuitem = gtk_menu_item_new_with_mnemonic(_("_Edit Account"));
+ g_signal_connect(G_OBJECT(menuitem), "activate",
+ G_CALLBACK(modify_account_cb), account);
+ gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem);
+ gtk_widget_show(menuitem);
- gc = purple_account_get_connection(account);
- plugin = gc && PURPLE_CONNECTION_IS_CONNECTED(gc) ? gc->prpl : NULL;
- if (plugin && PURPLE_PLUGIN_HAS_ACTIONS(plugin)) {
- build_plugin_actions(submenu, plugin, gc);
- } else {
- menuitem = gtk_menu_item_new_with_label(_("No actions available"));
- gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem);
- gtk_widget_set_sensitive(menuitem, FALSE);
- gtk_widget_show(menuitem);
- }
+ pidgin_separator(submenu);
- pidgin_separator(submenu);
-
- menuitem = gtk_menu_item_new_with_mnemonic(_("_Disable"));
- g_signal_connect(G_OBJECT(menuitem), "activate",
- G_CALLBACK(disable_account_cb), account);
+ gc = purple_account_get_connection(account);
+ plugin = gc && PURPLE_CONNECTION_IS_CONNECTED(gc) ? gc->prpl : NULL;
+ if (plugin && PURPLE_PLUGIN_HAS_ACTIONS(plugin)) {
+ build_plugin_actions(submenu, plugin, gc);
+ } else {
+ menuitem = gtk_menu_item_new_with_label(_("No actions available"));
gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem);
+ gtk_widget_set_sensitive(menuitem, FALSE);
gtk_widget_show(menuitem);
- } else {
- disabled_accounts = TRUE;
}
- }
+ pidgin_separator(submenu);
+
+ menuitem = gtk_menu_item_new_with_mnemonic(_("_Disable"));
+ g_signal_connect(G_OBJECT(menuitem), "activate",
+ G_CALLBACK(disable_account_cb), account);
+ gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem);
+ gtk_widget_show(menuitem);
+ }
}
static GList *plugin_submenus = NULL;
More information about the Commits
mailing list