From: <rl...@us...> - 2006-09-18 04:35:18
|
Revision: 17307 http://svn.sourceforge.net/gaim/?rev=17307&view=rev Author: rlaager Date: 2006-09-17 21:35:10 -0700 (Sun, 17 Sep 2006) Log Message: ----------- SF Patch #1481843 from Sadrul It sounds like the GTK+ folks won't be fixing bug #355214: http://bugzilla.gnome.org/show_bug.cgi?id=355214 This fixes the bolding of buddies in chat rooms. Modified Paths: -------------- trunk/ChangeLog.API trunk/gtk/gtkconv.c trunk/gtk/gtkconv.h Modified: trunk/ChangeLog.API =================================================================== --- trunk/ChangeLog.API 2006-09-18 04:27:49 UTC (rev 17306) +++ trunk/ChangeLog.API 2006-09-18 04:35:10 UTC (rev 17307) @@ -132,6 +132,8 @@ clearing the search at the end. * gaim_gtkxfer_dialog_show: Can now take NULL to show (and possibly create) a default gtkxfer dialog. + * CHAT_USERS_BUDDY_COLUMN became CHAT_USERS_WEIGHT_COLUMN, along with + a change in the values stored in the column. Removed: * gaim_gtk_sound_{get,set}_mute() (replaced by the /gaim/gtk/sound/mute Modified: trunk/gtk/gtkconv.c =================================================================== --- trunk/gtk/gtkconv.c 2006-09-18 04:27:49 UTC (rev 17306) +++ trunk/gtk/gtkconv.c 2006-09-18 04:35:10 UTC (rev 17307) @@ -3337,9 +3337,7 @@ gdk_color_parse(SEND_COLOR, &send_color); #if GTK_CHECK_VERSION(2,6,0) - gtk_list_store_insert_with_values - (ls, - &iter, + gtk_list_store_insert_with_values(ls, &iter, /* * The GTK docs are mute about the effects of the "row" value for performance. * X-Chat hardcodes their value to 0 (prepend) and -1 (append), so we will too. @@ -3347,55 +3345,52 @@ * but no one in #gtk+ seems to know anything about it either. * Inserting in the "wrong" location has no visible ill effects. - F.P. */ - -1, /* "row" */ - CHAT_USERS_ICON_COLUMN, pixbuf, - CHAT_USERS_ALIAS_COLUMN, alias, - CHAT_USERS_ALIAS_KEY_COLUMN, alias_key, - CHAT_USERS_NAME_COLUMN, name, - CHAT_USERS_FLAGS_COLUMN, flags, - CHAT_USERS_COLOR_COLUMN, &send_color, - CHAT_USERS_BUDDY_COLUMN, is_buddy, - -1); - } - else { - gtk_list_store_insert_with_values - (ls, - &iter, - -1, /* "row" */ - CHAT_USERS_ICON_COLUMN, pixbuf, - CHAT_USERS_ALIAS_COLUMN, alias, - CHAT_USERS_ALIAS_KEY_COLUMN, alias_key, - CHAT_USERS_NAME_COLUMN, name, - CHAT_USERS_FLAGS_COLUMN, flags, - CHAT_USERS_COLOR_COLUMN, get_nick_color(gtkconv, name), - CHAT_USERS_BUDDY_COLUMN, is_buddy, - -1); - + -1, /* "row" */ + CHAT_USERS_ICON_COLUMN, pixbuf, + CHAT_USERS_ALIAS_COLUMN, alias, + CHAT_USERS_ALIAS_KEY_COLUMN, alias_key, + CHAT_USERS_NAME_COLUMN, name, + CHAT_USERS_FLAGS_COLUMN, flags, + CHAT_USERS_COLOR_COLUMN, &send_color, + CHAT_USERS_WEIGHT_COLUMN ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL, is_buddy, + -1); + } + else + { + gtk_list_store_insert_with_values(ls, &iter, + -1, /* "row" */ + CHAT_USERS_ICON_COLUMN, pixbuf, + CHAT_USERS_ALIAS_COLUMN, alias, + CHAT_USERS_ALIAS_KEY_COLUMN, alias_key, + CHAT_USERS_NAME_COLUMN, name, + CHAT_USERS_FLAGS_COLUMN, flags, + CHAT_USERS_COLOR_COLUMN, get_nick_color(gtkconv, name), + CHAT_USERS_WEIGHT_COLUMN, is_buddy ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL, + -1); #else gtk_list_store_append(ls, &iter); gtk_list_store_set(ls, &iter, - CHAT_USERS_ICON_COLUMN, pixbuf, - CHAT_USERS_ALIAS_COLUMN, alias, - CHAT_USERS_ALIAS_KEY_COLUMN, alias_key, - CHAT_USERS_NAME_COLUMN, name, - CHAT_USERS_FLAGS_COLUMN, flags, - CHAT_USERS_COLOR_COLUMN, &send_color, - CHAT_USERS_BUDDY_COLUMN, is_buddy, - -1); + CHAT_USERS_ICON_COLUMN, pixbuf, + CHAT_USERS_ALIAS_COLUMN, alias, + CHAT_USERS_ALIAS_KEY_COLUMN, alias_key, + CHAT_USERS_NAME_COLUMN, name, + CHAT_USERS_FLAGS_COLUMN, flags, + CHAT_USERS_COLOR_COLUMN, &send_color, + CHAT_USERS_WEIGHT_COLUMN, is_buddy ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL, + -1); } - - else { - + else + { gtk_list_store_append(ls, &iter); gtk_list_store_set(ls, &iter, - CHAT_USERS_ICON_COLUMN, pixbuf, - CHAT_USERS_ALIAS_COLUMN, alias, - CHAT_USERS_ALIAS_KEY_COLUMN, alias_key, - CHAT_USERS_NAME_COLUMN, name, - CHAT_USERS_FLAGS_COLUMN, flags, - CHAT_USERS_COLOR_COLUMN, get_nick_color(gtkconv, name), - CHAT_USERS_BUDDY_COLUMN, is_buddy, - -1); + CHAT_USERS_ICON_COLUMN, pixbuf, + CHAT_USERS_ALIAS_COLUMN, alias, + CHAT_USERS_ALIAS_KEY_COLUMN, alias_key, + CHAT_USERS_NAME_COLUMN, name, + CHAT_USERS_FLAGS_COLUMN, flags, + CHAT_USERS_COLOR_COLUMN, get_nick_color(gtkconv, name), + CHAT_USERS_WEIGHT_COLUMN, is_buddy ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL, + -1); #endif } @@ -3655,15 +3650,15 @@ gint ret = 0; gtk_tree_model_get(model, a, - CHAT_USERS_ALIAS_KEY_COLUMN, &user1, - CHAT_USERS_FLAGS_COLUMN, &f1, - CHAT_USERS_BUDDY_COLUMN, &buddy1, - -1); + CHAT_USERS_ALIAS_KEY_COLUMN, &user1, + CHAT_USERS_FLAGS_COLUMN, &f1, + CHAT_USERS_WEIGHT_COLUMN, &buddy1, + -1); gtk_tree_model_get(model, b, - CHAT_USERS_ALIAS_KEY_COLUMN, &user2, - CHAT_USERS_FLAGS_COLUMN, &f2, - CHAT_USERS_BUDDY_COLUMN, &buddy2, - -1); + CHAT_USERS_ALIAS_KEY_COLUMN, &user2, + CHAT_USERS_FLAGS_COLUMN, &f2, + CHAT_USERS_WEIGHT_COLUMN, &buddy2, + -1); if (user1 == NULL || user2 == NULL) { if (!(user1 == NULL && user2 == NULL)) @@ -3672,7 +3667,7 @@ /* sort more important users first */ ret = (f1 > f2) ? -1 : 1; } else if (buddy1 != buddy2) { - ret = buddy1 ? -1 : 1; + ret = (buddy1 > buddy2) ? -1 : 1; } else { ret = strcasecmp(user1, user2); } @@ -3803,7 +3798,8 @@ gtk_tree_model_get(model, &iter, CHAT_USERS_NAME_COLUMN, &name, -1); if (!strcmp(normalized_name, gaim_normalize(conv->account, name))) { - gtk_list_store_set(GTK_LIST_STORE(model), &iter, CHAT_USERS_BUDDY_COLUMN, is_buddy, -1); + gtk_list_store_set(GTK_LIST_STORE(model), &iter, + CHAT_USERS_WEIGHT_COLUMN, is_buddy ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL, -1); g_free(name); break; } @@ -3968,7 +3964,7 @@ ls = gtk_list_store_new(CHAT_USERS_COLUMNS, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT, - GDK_TYPE_COLOR, G_TYPE_BOOLEAN); + GDK_TYPE_COLOR, G_TYPE_INT); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(ls), CHAT_USERS_ALIAS_KEY_COLUMN, sort_chat_users, NULL, NULL); @@ -3990,13 +3986,13 @@ g_object_set(rend, "foreground-set", TRUE, - "weight", PANGO_WEIGHT_BOLD, + "weight-set", TRUE, NULL); col = gtk_tree_view_column_new_with_attributes(NULL, rend, - "text", CHAT_USERS_ALIAS_COLUMN, - "foreground-gdk", CHAT_USERS_COLOR_COLUMN, - "weight-set", CHAT_USERS_BUDDY_COLUMN, - NULL); + "text", CHAT_USERS_ALIAS_COLUMN, + "foreground-gdk", CHAT_USERS_COLOR_COLUMN, + "weight", CHAT_USERS_WEIGHT_COLUMN, + NULL); gaim_signal_connect(blist_handle, "buddy-added", gtkchat, GAIM_CALLBACK(buddy_added_cb), conv); Modified: trunk/gtk/gtkconv.h =================================================================== --- trunk/gtk/gtkconv.h 2006-09-18 04:27:49 UTC (rev 17306) +++ trunk/gtk/gtkconv.h 2006-09-18 04:35:10 UTC (rev 17307) @@ -48,7 +48,7 @@ CHAT_USERS_NAME_COLUMN, CHAT_USERS_FLAGS_COLUMN, CHAT_USERS_COLOR_COLUMN, - CHAT_USERS_BUDDY_COLUMN, + CHAT_USERS_WEIGHT_COLUMN, CHAT_USERS_COLUMNS }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |