pidgin/gtknotify.c

changeset 32765
8bbf4ee0dc42
parent 32755
de2d88e575ee
child 32923
9bab20418ace
child 33120
f6f1a27ade72
equal deleted inserted replaced
32764:308f04fac4e4 32765:8bbf4ee0dc42
687 { 687 {
688 char *notification; 688 char *notification;
689 PurpleAccount *account; 689 PurpleAccount *account;
690 PidginNotifyMailData *data = NULL, *data2; 690 PidginNotifyMailData *data = NULL, *data2;
691 gboolean new_data = FALSE; 691 gboolean new_data = FALSE;
692 GtkTreeSelection *sel;
693 GtkTreeIter iter;
692 694
693 /* Don't bother updating if there aren't new emails and we don't have any displayed currently */ 695 /* Don't bother updating if there aren't new emails and we don't have any displayed currently */
694 if (count == 0 && mail_dialog == NULL) 696 if (count == 0 && mail_dialog == NULL)
695 return NULL; 697 return NULL;
696 698
771 */ 773 */
772 pidgin_blist_set_headline(NULL, NULL, NULL, NULL, NULL); 774 pidgin_blist_set_headline(NULL, NULL, NULL, NULL, NULL);
773 return NULL; 775 return NULL;
774 } 776 }
775 } 777 }
778 }
779
780 /* Select first item if nothing selected */
781 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(mail_dialog->treeview));
782 if ((gtk_tree_selection_count_selected_rows(sel) < 1)
783 && gtk_tree_model_get_iter_first(GTK_TREE_MODEL(mail_dialog->treemodel), &iter)) {
784 gtk_tree_selection_select_iter(sel, &iter);
776 } 785 }
777 786
778 if (!GTK_WIDGET_VISIBLE(mail_dialog->dialog)) { 787 if (!GTK_WIDGET_VISIBLE(mail_dialog->dialog)) {
779 GdkPixbuf *pixbuf = gtk_widget_render_icon(mail_dialog->dialog, PIDGIN_STOCK_DIALOG_MAIL, 788 GdkPixbuf *pixbuf = gtk_widget_render_icon(mail_dialog->dialog, PIDGIN_STOCK_DIALOG_MAIL,
780 gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL), NULL); 789 gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL), NULL);
1528 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(spec_dialog->treeview), FALSE); 1537 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(spec_dialog->treeview), FALSE);
1529 1538
1530 gtk_tree_view_set_search_column(GTK_TREE_VIEW(spec_dialog->treeview), PIDGIN_MAIL_TEXT); 1539 gtk_tree_view_set_search_column(GTK_TREE_VIEW(spec_dialog->treeview), PIDGIN_MAIL_TEXT);
1531 gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(spec_dialog->treeview), 1540 gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(spec_dialog->treeview),
1532 pidgin_tree_view_search_equal_func, NULL, NULL); 1541 pidgin_tree_view_search_equal_func, NULL, NULL);
1542 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(spec_dialog->treeview));
1543 gtk_tree_selection_set_mode(sel, GTK_SELECTION_BROWSE);
1533 1544
1534 g_signal_connect(G_OBJECT(dialog), "response", 1545 g_signal_connect(G_OBJECT(dialog), "response",
1535 G_CALLBACK(email_response_cb), spec_dialog); 1546 G_CALLBACK(email_response_cb), spec_dialog);
1536 g_signal_connect(G_OBJECT(gtk_tree_view_get_selection(GTK_TREE_VIEW(spec_dialog->treeview))), 1547 g_signal_connect(G_OBJECT(sel), "changed",
1537 "changed", G_CALLBACK(selection_changed_cb), spec_dialog); 1548 G_CALLBACK(selection_changed_cb), spec_dialog);
1538 g_signal_connect(G_OBJECT(spec_dialog->treeview), "row-activated", G_CALLBACK(email_row_activated_cb), NULL); 1549 g_signal_connect(G_OBJECT(spec_dialog->treeview), "row-activated", G_CALLBACK(email_row_activated_cb), NULL);
1539 1550
1540 column = gtk_tree_view_column_new(); 1551 column = gtk_tree_view_column_new();
1541 gtk_tree_view_column_set_resizable(column, TRUE); 1552 gtk_tree_view_column_set_resizable(column, TRUE);
1542 rend = gtk_cell_renderer_pixbuf_new(); 1553 rend = gtk_cell_renderer_pixbuf_new();

mercurial