Mercurial > pidgin
diff finch/gntnotify.c @ 32819:2c6510167895 default tip
propagate from branch 'im.pidgin.pidgin.2.x.y' (head 3315c5dfbd0ad16511bdcf865e5b07c02d07df24)
to branch 'im.pidgin.pidgin' (head cbd1eda6bcbf0565ae7766396bb8f6f419cb6a9a)
| author | Elliott Sales de Andrade <qulogic@pidgin.im> |
|---|---|
| date | Sat, 02 Jun 2012 02:30:49 +0000 |
| parents | 85d75e81e12f |
| children |
line wrap: on
line diff
--- a/finch/gntnotify.c Sat Jun 02 02:30:13 2012 +0000 +++ b/finch/gntnotify.c Sat Jun 02 02:30:49 2012 +0000 @@ -290,7 +290,7 @@ text = g_string_new("<span>"); - for (l = purple_notify_user_info_get_entries(user_info); l != NULL; + for (l = purple_notify_user_info_get_entries(user_info)->head; l != NULL; l = l->next) { PurpleNotifyUserInfoEntry *user_info_entry = l->data; PurpleNotifyUserInfoEntryType type = purple_notify_user_info_entry_get_type(user_info_entry); @@ -386,6 +386,7 @@ { GntTree *tree = GNT_TREE(data); GList *o; + GntTreeRow *prev = NULL; /* XXX: Do I need to empty the tree here? */ @@ -393,10 +394,17 @@ { gnt_tree_add_row_after(GNT_TREE(tree), o->data, gnt_tree_create_row_from_list(GNT_TREE(tree), o->data), - NULL, NULL); + NULL, prev); + prev = o->data; } } +static void +notify_sr_destroy_cb(GntWidget *window, void *data) +{ + purple_notify_close(PURPLE_NOTIFY_SEARCHRESULTS, window); +} + static void * finch_notify_searchresults(PurpleConnection *gc, const char *title, const char *primary, const char *secondary, @@ -429,7 +437,10 @@ for (iter = results->columns; iter; iter = iter->next) { PurpleNotifySearchColumn *column = iter->data; - gnt_tree_set_column_title(GNT_TREE(tree), i, column->title); + gnt_tree_set_column_title(GNT_TREE(tree), i, purple_notify_searchresult_column_get_title(column)); + + if (!purple_notify_searchresult_column_is_visible(column)) + gnt_tree_set_column_visible(GNT_TREE(tree), i, FALSE); i++; } @@ -478,6 +489,8 @@ } gnt_box_add_widget(GNT_BOX(window), box); + g_signal_connect(G_OBJECT(tree), "destroy", + G_CALLBACK(notify_sr_destroy_cb), NULL); finch_notify_sr_new_rows(gc, results, tree);
