comparison gtk/gtkblist.c @ 14661:477a2d0ad133

[gaim-migrate @ 17407] Selecting 'Rename' or 'Alias' in the buddylist should always work now. Also, set the properties depending on GTK+ version. committer: Tailor Script <tailor@pidgin.im>
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Sat, 30 Sep 2006 03:49:00 +0000
parents 8617e34e30da
children 7c47556216ec
comparison
equal deleted inserted replaced
14660:8617e34e30da 14661:477a2d0ad133
404 404
405 path = gtk_tree_model_get_path(GTK_TREE_MODEL(gtkblist->treemodel), &iter); 405 path = gtk_tree_model_get_path(GTK_TREE_MODEL(gtkblist->treemodel), &iter);
406 g_object_set(G_OBJECT(gtkblist->text_rend), "editable", TRUE, NULL); 406 g_object_set(G_OBJECT(gtkblist->text_rend), "editable", TRUE, NULL);
407 gtk_tree_view_set_enable_search (GTK_TREE_VIEW(gtkblist->treeview), FALSE); 407 gtk_tree_view_set_enable_search (GTK_TREE_VIEW(gtkblist->treeview), FALSE);
408 gtk_widget_grab_focus(gtkblist->treeview); 408 gtk_widget_grab_focus(gtkblist->treeview);
409 #if GTK_CHECK_VERSION(2,2,0)
410 gtk_tree_view_set_cursor_on_cell(GTK_TREE_VIEW(gtkblist->treeview), path,
411 gtkblist->text_column, gtkblist->text_rend, TRUE);
412 #else
409 gtk_tree_view_set_cursor(GTK_TREE_VIEW(gtkblist->treeview), path, gtkblist->text_column, TRUE); 413 gtk_tree_view_set_cursor(GTK_TREE_VIEW(gtkblist->treeview), path, gtkblist->text_column, TRUE);
414 #endif
410 gtk_tree_path_free(path); 415 gtk_tree_path_free(path);
411 } 416 }
412 417
413 static void gtk_blist_menu_bp_cb(GtkWidget *w, GaimBuddy *b) 418 static void gtk_blist_menu_bp_cb(GtkWidget *w, GaimBuddy *b)
414 { 419 {
3982 gtkblist->text_column = column = gtk_tree_view_column_new (); 3987 gtkblist->text_column = column = gtk_tree_view_column_new ();
3983 rend = gaim_gtk_cell_renderer_expander_new(); 3988 rend = gaim_gtk_cell_renderer_expander_new();
3984 gtk_tree_view_column_pack_start(column, rend, FALSE); 3989 gtk_tree_view_column_pack_start(column, rend, FALSE);
3985 gtk_tree_view_column_set_attributes(column, rend, 3990 gtk_tree_view_column_set_attributes(column, rend,
3986 "expander-visible", GROUP_EXPANDER_COLUMN, 3991 "expander-visible", GROUP_EXPANDER_COLUMN,
3992 #if GTK_CHECK_VERSION(2,6,0)
3987 "sensitive", GROUP_EXPANDER_COLUMN, 3993 "sensitive", GROUP_EXPANDER_COLUMN,
3988 "cell-background-gdk", BGCOLOR_COLUMN, 3994 "cell-background-gdk", BGCOLOR_COLUMN,
3995 #endif
3989 NULL); 3996 NULL);
3990 3997
3991 rend = gaim_gtk_cell_renderer_expander_new(); 3998 rend = gaim_gtk_cell_renderer_expander_new();
3992 gtk_tree_view_column_pack_start(column, rend, FALSE); 3999 gtk_tree_view_column_pack_start(column, rend, FALSE);
3993 gtk_tree_view_column_set_attributes(column, rend, 4000 gtk_tree_view_column_set_attributes(column, rend,
3994 "expander-visible", CONTACT_EXPANDER_COLUMN, 4001 "expander-visible", CONTACT_EXPANDER_COLUMN,
4002 #if GTK_CHECK_VERSION(2,6,0)
3995 "sensitive", CONTACT_EXPANDER_COLUMN, 4003 "sensitive", CONTACT_EXPANDER_COLUMN,
4004 "cell-background-gdk", BGCOLOR_COLUMN,
4005 #endif
3996 "visible", CONTACT_EXPANDER_VISIBLE_COLUMN, 4006 "visible", CONTACT_EXPANDER_VISIBLE_COLUMN,
3997 "cell-background-gdk", BGCOLOR_COLUMN,
3998 NULL); 4007 NULL);
3999 4008
4000 rend = gtk_cell_renderer_pixbuf_new(); 4009 rend = gtk_cell_renderer_pixbuf_new();
4001 gtk_tree_view_column_pack_start(column, rend, FALSE); 4010 gtk_tree_view_column_pack_start(column, rend, FALSE);
4002 gtk_tree_view_column_set_attributes(column, rend, 4011 gtk_tree_view_column_set_attributes(column, rend,
4003 "pixbuf", STATUS_ICON_COLUMN, 4012 "pixbuf", STATUS_ICON_COLUMN,
4004 "visible", STATUS_ICON_VISIBLE_COLUMN, 4013 "visible", STATUS_ICON_VISIBLE_COLUMN,
4014 #if GTK_CHECK_VERSION(2,6,0)
4005 "cell-background-gdk", BGCOLOR_COLUMN, 4015 "cell-background-gdk", BGCOLOR_COLUMN,
4016 #endif
4006 NULL); 4017 NULL);
4007 g_object_set(rend, "xalign", 0.0, "ypad", 0, NULL); 4018 g_object_set(rend, "xalign", 0.0, "ypad", 0, NULL);
4008 4019
4009 gtkblist->text_rend = rend = gtk_cell_renderer_text_new(); 4020 gtkblist->text_rend = rend = gtk_cell_renderer_text_new();
4010 gtk_tree_view_column_pack_start (column, rend, TRUE); 4021 gtk_tree_view_column_pack_start (column, rend, TRUE);
4011 gtk_tree_view_column_set_attributes(column, rend, 4022 gtk_tree_view_column_set_attributes(column, rend,
4023 #if GTK_CHECK_VERSION(2,6,0)
4012 "cell-background-gdk", BGCOLOR_COLUMN, 4024 "cell-background-gdk", BGCOLOR_COLUMN,
4025 #endif
4013 "markup", NAME_COLUMN, 4026 "markup", NAME_COLUMN,
4014 NULL); 4027 NULL);
4015 g_signal_connect(G_OBJECT(rend), "edited", G_CALLBACK(gtk_blist_renderer_edited_cb), NULL); 4028 g_signal_connect(G_OBJECT(rend), "edited", G_CALLBACK(gtk_blist_renderer_edited_cb), NULL);
4016 g_object_set(rend, "ypad", 0, "yalign", 0.5, NULL); 4029 g_object_set(rend, "ypad", 0, "yalign", 0.5, NULL);
4017 #if GTK_CHECK_VERSION(2,6,0) 4030 #if GTK_CHECK_VERSION(2,6,0)
4023 g_object_set(rend, "xalign", 1.0, "ypad", 0, NULL); 4036 g_object_set(rend, "xalign", 1.0, "ypad", 0, NULL);
4024 gtk_tree_view_column_pack_start(column, rend, FALSE); 4037 gtk_tree_view_column_pack_start(column, rend, FALSE);
4025 gtk_tree_view_column_set_attributes(column, rend, 4038 gtk_tree_view_column_set_attributes(column, rend,
4026 "markup", IDLE_COLUMN, 4039 "markup", IDLE_COLUMN,
4027 "visible", IDLE_VISIBLE_COLUMN, 4040 "visible", IDLE_VISIBLE_COLUMN,
4041 #if GTK_CHECK_VERSION(2,6,0)
4028 "cell-background-gdk", BGCOLOR_COLUMN, 4042 "cell-background-gdk", BGCOLOR_COLUMN,
4043 #endif
4029 NULL); 4044 NULL);
4030 4045
4031 rend = gtk_cell_renderer_pixbuf_new(); 4046 rend = gtk_cell_renderer_pixbuf_new();
4032 g_object_set(rend, "xalign", 1.0, "ypad", 0, NULL); 4047 g_object_set(rend, "xalign", 1.0, "ypad", 0, NULL);
4033 gtk_tree_view_column_pack_start(column, rend, FALSE); 4048 gtk_tree_view_column_pack_start(column, rend, FALSE);
4034 gtk_tree_view_column_set_attributes(column, rend, "pixbuf", BUDDY_ICON_COLUMN, 4049 gtk_tree_view_column_set_attributes(column, rend, "pixbuf", BUDDY_ICON_COLUMN,
4050 #if GTK_CHECK_VERSION(2,6,0)
4035 "cell-background-gdk", BGCOLOR_COLUMN, 4051 "cell-background-gdk", BGCOLOR_COLUMN,
4052 #endif
4036 "visible", BUDDY_ICON_VISIBLE_COLUMN, 4053 "visible", BUDDY_ICON_VISIBLE_COLUMN,
4037 NULL); 4054 NULL);
4038 4055
4039 4056
4040 g_signal_connect(G_OBJECT(gtkblist->treeview), "row-activated", G_CALLBACK(gtk_blist_row_activated_cb), NULL); 4057 g_signal_connect(G_OBJECT(gtkblist->treeview), "row-activated", G_CALLBACK(gtk_blist_row_activated_cb), NULL);
4414 mark = g_strdup_printf("<span weight='bold'>%s</span>%s", esc, group_count); 4431 mark = g_strdup_printf("<span weight='bold'>%s</span>%s", esc, group_count);
4415 else 4432 else
4416 mark = g_strdup_printf("<span color='#%02x%02x%02x' weight='bold'>%s</span>%s", 4433 mark = g_strdup_printf("<span color='#%02x%02x%02x' weight='bold'>%s</span>%s",
4417 textcolor.red>>8, textcolor.green>>8, textcolor.blue>>8, 4434 textcolor.red>>8, textcolor.green>>8, textcolor.blue>>8,
4418 esc, group_count); 4435 esc, group_count);
4419 4436
4420 g_free(esc); 4437 g_free(esc);
4421 4438
4422 gtk_tree_store_set(gtkblist->treemodel, &iter, 4439 gtk_tree_store_set(gtkblist->treemodel, &iter,
4423 STATUS_ICON_VISIBLE_COLUMN, FALSE, 4440 STATUS_ICON_VISIBLE_COLUMN, FALSE,
4424 STATUS_ICON_COLUMN, NULL, 4441 STATUS_ICON_COLUMN, NULL,