Mercurial > pidgin
changeset 15051:34e049e6ce10
[gaim-migrate @ 17835]
Patch from wabz to:
- Fix bug #1602136
- Better handle resizing of trees
- Make the tooltip-info more closely resemble the tooltip-info in Gaim.
Also remove some unnecessary debug statements.
committer: Tailor Script <tailor@pidgin.im>
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Tue, 28 Nov 2006 07:06:37 +0000 |
parents | f0ffd80aa196 |
children | 51f3c0df6ab4 |
files | console/gntblist.c console/gntstatus.c console/libgnt/gnttree.c |
diffstat | 3 files changed, 25 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/console/gntblist.c Tue Nov 28 06:59:48 2006 +0000 +++ b/console/gntblist.c Tue Nov 28 07:06:37 2006 +0000 @@ -1016,7 +1016,6 @@ if (GAIM_BLIST_NODE_IS_CONTACT(node)) node = (GaimBlistNode*)gaim_contact_get_priority_buddy((GaimContact*)node); update_buddy_display((GaimBuddy*)node, ggblist); - gaim_debug_info("blist", "Tagged buddy\n"); } static void @@ -1059,7 +1058,6 @@ } } } - gaim_debug_info("blist", "Placed buddy\n"); } static void @@ -1150,9 +1148,12 @@ GaimPlugin *prpl; GaimPluginProtocolInfo *prpl_info; GaimAccount *account; + const char *alias = gaim_buddy_get_alias(buddy); account = gaim_buddy_get_account(buddy); - + + if (g_utf8_collate(gaim_buddy_get_name(buddy), alias)) + g_string_append_printf(str, _("Nickname: %s\n"), alias); g_string_append_printf(str, _("Account: %s (%s)"), gaim_account_get_username(account), gaim_account_get_protocol_name(account)); @@ -1230,12 +1231,9 @@ GaimBuddy *pr = gaim_contact_get_priority_buddy((GaimContact*)node); gboolean offline = !GAIM_BUDDY_IS_ONLINE(pr); gboolean showoffline = gaim_prefs_get_bool(PREF_ROOT "/showoffline"); - const char *alias = gaim_contact_get_alias((GaimContact*)node); const char *name = gaim_buddy_get_name(pr); - title = g_strdup(alias); - if (g_utf8_collate(alias, name)) - g_string_append_printf(str, _("Nickname: %s\n"), gaim_buddy_get_name(pr)); + title = g_strdup(name); tooltip_for_buddy(pr, str); for (node = node->child; node; node = node->next) { GaimBuddy *buddy = (GaimBuddy*)node; @@ -1251,7 +1249,6 @@ if (!showoffline && !GAIM_BUDDY_IS_ONLINE(buddy)) continue; str = g_string_append(str, "\n----------\n"); - g_string_append_printf(str, _("Nickname: %s\n"), gaim_buddy_get_name(buddy)); tooltip_for_buddy(buddy, str); } } else if (GAIM_BLIST_NODE_IS_BUDDY(node)) { @@ -1361,6 +1358,7 @@ !gaim_prefs_get_bool(PREF_ROOT "/showoffline")); } else if (strcmp(text, "t") == 0) { gg_blist_toggle_tag_buddy(gnt_tree_get_selection_data(GNT_TREE(ggblist->tree))); + gnt_bindable_perform_action_named(GNT_BINDABLE(ggblist->tree), "move-down"); } else if (strcmp(text, "a") == 0) { gg_blist_place_tagged(gnt_tree_get_selection_data(GNT_TREE(ggblist->tree))); } else @@ -1377,9 +1375,6 @@ contact = gaim_buddy_get_contact(buddy); - gaim_debug_fatal("sadrul", "updating display for %s\n", gaim_buddy_get_name(buddy)); - g_printerr("sadrul: updating display for %s\n", gaim_buddy_get_name(buddy)); - gnt_tree_change_text(GNT_TREE(ggblist->tree), buddy, 0, get_display_name((GaimBlistNode*)buddy)); gnt_tree_change_text(GNT_TREE(ggblist->tree), contact, 0, get_display_name((GaimBlistNode*)contact)); @@ -1428,7 +1423,6 @@ gnt_widget_get_size(w, &width, &height); gaim_prefs_set_int(PREF_ROOT "/size/width", width); gaim_prefs_set_int(PREF_ROOT "/size/height", height); - gnt_tree_set_col_width(GNT_TREE(ggblist->tree), 0, width - 1); } static void
--- a/console/gntstatus.c Tue Nov 28 06:59:48 2006 +0000 +++ b/console/gntstatus.c Tue Nov 28 07:06:37 2006 +0000 @@ -359,7 +359,8 @@ name = g_strdup_printf("%s (%s)", gaim_account_get_username(account), gaim_account_get_protocol_name(account)); gnt_tree_add_choice(GNT_TREE(edit->tree), key, - gnt_tree_create_row(GNT_TREE(edit->tree), name, type, message), NULL, NULL); + gnt_tree_create_row(GNT_TREE(edit->tree), + name, type ? type : "", message ? message : ""), NULL, NULL); if (sub) gnt_tree_set_choice(GNT_TREE(edit->tree), key, TRUE);
--- a/console/libgnt/gnttree.c Tue Nov 28 06:59:48 2006 +0000 +++ b/console/libgnt/gnttree.c Tue Nov 28 07:06:37 2006 +0000 @@ -669,6 +669,22 @@ } static void +gnt_tree_size_changed(GntWidget *widget, int w, int h) +{ + GntTree *tree = GNT_TREE(widget); + int i; + int n = 0; + if (widget->priv.width <= 0) + return; + for (i = 0; i < tree->ncol; ++i) + n += tree->columns[i].width; + if (GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_NO_BORDER)) + tree->columns[tree->ncol - 1].width += widget->priv.width - n - 1 * tree->ncol; + else + tree->columns[tree->ncol - 1].width += widget->priv.width - n - 2 - 1 * tree->ncol; +} + +static void gnt_tree_class_init(GntTreeClass *klass) { GntBindableClass *bindable = GNT_BINDABLE_CLASS(klass); @@ -679,6 +695,7 @@ parent_class->size_request = gnt_tree_size_request; parent_class->key_pressed = gnt_tree_key_pressed; parent_class->clicked = gnt_tree_clicked; + parent_class->size_changed = gnt_tree_size_changed; signals[SIG_SELECTION_CHANGED] = g_signal_new("selection-changed",