comparison src/gtkconv.c @ 7995:87d3260f961a

[gaim-migrate @ 8672] Etan Reisner made Gaim work better with all-black gtk themes. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Sun, 04 Jan 2004 22:08:44 +0000
parents 10c7cd1d4e17
children 334ab1319406
comparison
equal deleted inserted replaced
7994:d5874c4f19c5 7995:87d3260f961a
95 "#1690ff", /* Dodger Blue */ 95 "#1690ff", /* Dodger Blue */
96 "#4169ff", /* Royal Blue */ 96 "#4169ff", /* Royal Blue */
97 "#6a5acd", /* Slate Blue */ 97 "#6a5acd", /* Slate Blue */
98 "#6495ed", /* Cornflower Blue */ 98 "#6495ed", /* Cornflower Blue */
99 "#708090", /* Slate gray */ 99 "#708090", /* Slate gray */
100 "#2f4f4f", /* Dark Slate Gray */ 100 "#2f4f4f", /* Dark Slate Gray */
101 "#ff8c00", /* Dark Orange */ 101 "#ff8c00", /* Dark Orange */
102 }; 102 };
103 103
104 #define NUM_NICK_COLORS (sizeof(nick_colors) / sizeof(*nick_colors)) 104 #define NUM_NICK_COLORS (sizeof(nick_colors) / sizeof(*nick_colors))
105 105
106 #define SCALE(x) \ 106 #define SCALE(x) \
5090 5090
5091 update_tab_icon(conv); 5091 update_tab_icon(conv);
5092 } 5092 }
5093 else if (type == GAIM_CONV_UPDATE_TYPING || 5093 else if (type == GAIM_CONV_UPDATE_TYPING ||
5094 type == GAIM_CONV_UPDATE_UNSEEN) { 5094 type == GAIM_CONV_UPDATE_UNSEEN) {
5095 GtkStyle *style; 5095 const gchar *name = NULL;
5096 gchar *label = NULL;
5096 GaimConvIm *im = NULL; 5097 GaimConvIm *im = NULL;
5097 5098
5098 5099
5099 if (gaim_conversation_get_type(conv) == GAIM_CONV_IM) 5100 if (gaim_conversation_get_type(conv) == GAIM_CONV_IM)
5100 im = GAIM_CONV_IM(conv); 5101 im = GAIM_CONV_IM(conv);
5101 5102
5102 style = gtk_style_new(); 5103 name = gaim_conversation_get_name(conv);
5103 5104
5104 if (!GTK_WIDGET_REALIZED(gtkconv->tab_label)) 5105 if (!GTK_WIDGET_REALIZED(gtkconv->tab_label))
5105 gtk_widget_realize(gtkconv->tab_label); 5106 gtk_widget_realize(gtkconv->tab_label);
5106 5107
5107 pango_font_description_free(style->font_desc);
5108 style->font_desc = pango_font_description_copy(
5109 gtk_widget_get_style(gtkconv->tab_label)->font_desc);
5110
5111 if (im != NULL && gaim_conv_im_get_typing_state(im) == GAIM_TYPING) { 5108 if (im != NULL && gaim_conv_im_get_typing_state(im) == GAIM_TYPING) {
5112 style->fg[GTK_STATE_NORMAL].red = 0x4646; 5109 label = g_strdup_printf("<span color=\"#46A046\">%s</span>", name);
5113 style->fg[GTK_STATE_NORMAL].green = 0xA0A0; 5110 gtk_label_set_markup(GTK_LABEL(gtkconv->tab_label), label);
5114 style->fg[GTK_STATE_NORMAL].blue = 0x4646; 5111 g_free(label);
5115 style->fg[GTK_STATE_ACTIVE] = style->fg[GTK_STATE_NORMAL];
5116 } 5112 }
5117 else if (im != NULL && gaim_conv_im_get_typing_state(im) == GAIM_TYPED) { 5113 else if (im != NULL && gaim_conv_im_get_typing_state(im) == GAIM_TYPED) {
5118 style->fg[GTK_STATE_NORMAL].red = 0xD1D1; 5114 label = g_strdup_printf("<span color=\"#D1940C\">%s</span>", name);
5119 style->fg[GTK_STATE_NORMAL].green = 0x9494; 5115 gtk_label_set_markup(GTK_LABEL(gtkconv->tab_label), label);
5120 style->fg[GTK_STATE_NORMAL].blue = 0x0C0C; 5116 g_free(label);
5121 style->fg[GTK_STATE_ACTIVE] = style->fg[GTK_STATE_NORMAL];
5122 } 5117 }
5123 else if (gaim_conversation_get_unseen(conv) == GAIM_UNSEEN_NICK) { 5118 else if (gaim_conversation_get_unseen(conv) == GAIM_UNSEEN_NICK) {
5124 style->fg[GTK_STATE_ACTIVE].red = 0x3131; 5119 label = g_strdup_printf("<span color=\"#314E6C\">%s</span>", name);
5125 style->fg[GTK_STATE_ACTIVE].green = 0x4E4E; 5120 gtk_label_set_markup(GTK_LABEL(gtkconv->tab_label), label);
5126 style->fg[GTK_STATE_ACTIVE].blue = 0x6C6C; 5121 g_free(label);
5127 style->fg[GTK_STATE_NORMAL] = style->fg[GTK_STATE_ACTIVE];
5128 } 5122 }
5129 else if (gaim_conversation_get_unseen(conv) == GAIM_UNSEEN_EVENT) { 5123 else if (gaim_conversation_get_unseen(conv) == GAIM_UNSEEN_EVENT) {
5130 style->fg[GTK_STATE_ACTIVE].red = 0x8686;; 5124 label = g_strdup_printf("<span color=\"#868272\">%s</span>", name);
5131 style->fg[GTK_STATE_ACTIVE].green = 0x8282; 5125 gtk_label_set_markup(GTK_LABEL(gtkconv->tab_label), label);
5132 style->fg[GTK_STATE_ACTIVE].blue = 0x7272; 5126 g_free(label);
5133 style->fg[GTK_STATE_NORMAL] = style->fg[GTK_STATE_ACTIVE];
5134 } 5127 }
5135 else if (gaim_conversation_get_unseen(conv) == GAIM_UNSEEN_TEXT) { 5128 else if (gaim_conversation_get_unseen(conv) == GAIM_UNSEEN_TEXT) {
5136 style->fg[GTK_STATE_ACTIVE].red = 0xDFDF; 5129 label = g_strdup_printf("<span color=\"#DF421E\">%s</span>", name);
5137 style->fg[GTK_STATE_ACTIVE].green = 0x4242; 5130 gtk_label_set_markup(GTK_LABEL(gtkconv->tab_label), label);
5138 style->fg[GTK_STATE_ACTIVE].blue = 0x1E1E; 5131 g_free(label);
5139 style->fg[GTK_STATE_NORMAL] = style->fg[GTK_STATE_ACTIVE]; 5132 }
5140 } 5133 else
5141 5134 gtk_label_set_text(GTK_LABEL(gtkconv->tab_label), name);
5142 gtk_widget_set_style(gtkconv->tab_label, style);
5143 g_object_unref(G_OBJECT(style));
5144 5135
5145 if(conv == gaim_conv_window_get_active_conversation(win)) { 5136 if(conv == gaim_conv_window_get_active_conversation(win)) {
5146 update_typing_icon(conv); 5137 update_typing_icon(conv);
5147 } 5138 }
5148 5139