Mercurial > pidgin.yaz
comparison src/buddy.c @ 4718:8ecc83cad126
[gaim-migrate @ 5030]
dim grey is such a cool color.
committer: Tailor Script <tailor@pidgin.im>
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Tue, 11 Mar 2003 22:31:25 +0000 |
parents | 3fa8596a45dc |
children | 91ef4fae4a49 |
comparison
equal
deleted
inserted
replaced
4717:8708bbf40e40 | 4718:8ecc83cad126 |
---|---|
182 GList *list; | 182 GList *list; |
183 struct prpl *prpl; | 183 struct prpl *prpl; |
184 | 184 |
185 if (event->button != 3) | 185 if (event->button != 3) |
186 return FALSE; | 186 return FALSE; |
187 | 187 |
188 /* Here we figure out which node was clicked */ | 188 /* Here we figure out which node was clicked */ |
189 if (!gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(tv), event->x, event->y, &path, NULL, NULL, NULL)) | 189 if (!gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(tv), event->x, event->y, &path, NULL, NULL, NULL)) |
190 return FALSE; | 190 return FALSE; |
191 gtk_tree_model_get_iter(GTK_TREE_MODEL(gtkblist->treemodel), &iter, path); | 191 gtk_tree_model_get_iter(GTK_TREE_MODEL(gtkblist->treemodel), &iter, path); |
192 gtk_tree_model_get_value (GTK_TREE_MODEL(gtkblist->treemodel), &iter, NODE_COLUMN, &val); | 192 gtk_tree_model_get_value (GTK_TREE_MODEL(gtkblist->treemodel), &iter, NODE_COLUMN, &val); |
193 node = g_value_get_pointer(&val); | 193 node = g_value_get_pointer(&val); |
194 | 194 |
195 if (!GAIM_BLIST_NODE_IS_BUDDY(node)) | 195 if (!GAIM_BLIST_NODE_IS_BUDDY(node)) |
196 return FALSE; | 196 return FALSE; |
197 | 197 |
198 menu = gtk_menu_new(); | 198 menu = gtk_menu_new(); |
199 | 199 |
200 /* Protocol specific options */ | 200 /* Protocol specific options */ |
201 prpl = find_prpl(((struct buddy*)node)->account->protocol); | 201 prpl = find_prpl(((struct buddy*)node)->account->protocol); |
202 if (prpl) { | 202 if (prpl) { |
509 255); | 509 255); |
510 } | 510 } |
511 } | 511 } |
512 | 512 |
513 | 513 |
514 /* Idle gray buddies affects the whole row. This converts the status icon to greyscale. */ | 514 /* Idle grey buddies affects the whole row. This converts the status icon to greyscale. */ |
515 if (b->idle && blist_options & OPT_BLIST_GREY_IDLERS) | 515 if (b->idle && blist_options & OPT_BLIST_GREY_IDLERS) |
516 gdk_pixbuf_saturate_and_pixelate(scale, scale, 0, FALSE); | 516 gdk_pixbuf_saturate_and_pixelate(scale, scale, 0, FALSE); |
517 return scale; | 517 return scale; |
518 } | 518 } |
519 | 519 |
546 char *warning = idletime; | 546 char *warning = idletime; |
547 time_t t; | 547 time_t t; |
548 | 548 |
549 if (!(blist_options & OPT_BLIST_SHOW_ICONS)) { | 549 if (!(blist_options & OPT_BLIST_SHOW_ICONS)) { |
550 if (b->idle > 0 && blist_options & OPT_BLIST_GREY_IDLERS) { | 550 if (b->idle > 0 && blist_options & OPT_BLIST_GREY_IDLERS) { |
551 text = g_strdup_printf("<span color='gray'>%s</span>", | 551 text = g_strdup_printf("<span color='dim grey'>%s</span>", |
552 esc); | 552 esc); |
553 g_free(esc); | 553 g_free(esc); |
554 return text; | 554 return text; |
555 } else { | 555 } else { |
556 return esc; | 556 return esc; |
570 | 570 |
571 if (b->evil > 0) | 571 if (b->evil > 0) |
572 warning = g_strdup_printf(_("Warned (%d%%)"), b->evil); | 572 warning = g_strdup_printf(_("Warned (%d%%)"), b->evil); |
573 | 573 |
574 if (b->idle && blist_options & OPT_BLIST_GREY_IDLERS) | 574 if (b->idle && blist_options & OPT_BLIST_GREY_IDLERS) |
575 text = g_strdup_printf("<span color='grey'>%s</span>\n<span color='gray' size='smaller'>%s %s</span>", | 575 text = g_strdup_printf("<span color='dim grey'>%s</span>\n<span color='dim grey' size='smaller'>%s %s</span>", |
576 esc, | 576 esc, |
577 idletime, warning); | 577 idletime, warning); |
578 else | 578 else |
579 text = g_strdup_printf("%s\n<span color='gray' size='smaller'>%s %s</span>", esc, idletime, warning); | 579 text = g_strdup_printf("%s\n<span color='dim grey' size='smaller'>%s %s</span>", esc, idletime, warning); |
580 | 580 |
581 if (idletime[0]) | 581 if (idletime[0]) |
582 g_free(idletime); | 582 g_free(idletime); |
583 if (warning[0]) | 583 if (warning[0]) |
584 g_free(warning); | 584 g_free(warning); |
673 column = gtk_tree_view_column_new_with_attributes("Name", rend, "markup", NAME_COLUMN, NULL); | 673 column = gtk_tree_view_column_new_with_attributes("Name", rend, "markup", NAME_COLUMN, NULL); |
674 gtk_tree_view_append_column(GTK_TREE_VIEW(gtkblist->treeview), column); | 674 gtk_tree_view_append_column(GTK_TREE_VIEW(gtkblist->treeview), column); |
675 g_object_set(rend, "ypad", 0.0, NULL); | 675 g_object_set(rend, "ypad", 0.0, NULL); |
676 | 676 |
677 rend = gtk_cell_renderer_text_new(); | 677 rend = gtk_cell_renderer_text_new(); |
678 column = gtk_tree_view_column_new_with_attributes("Warning", rend, "text", WARNING_COLUMN, NULL); | 678 column = gtk_tree_view_column_new_with_attributes("Warning", rend, "markup", WARNING_COLUMN, NULL); |
679 gtk_tree_view_append_column(GTK_TREE_VIEW(gtkblist->treeview), column); | 679 gtk_tree_view_append_column(GTK_TREE_VIEW(gtkblist->treeview), column); |
680 g_object_set(rend, "xalign", 1.0, "ypad", 0.0, NULL); | 680 g_object_set(rend, "xalign", 1.0, "ypad", 0.0, NULL); |
681 | 681 |
682 rend = gtk_cell_renderer_text_new(); | 682 rend = gtk_cell_renderer_text_new(); |
683 column = gtk_tree_view_column_new_with_attributes("Idle", rend, "text", IDLE_COLUMN, NULL); | 683 column = gtk_tree_view_column_new_with_attributes("Idle", rend, "markup", IDLE_COLUMN, NULL); |
684 gtk_tree_view_append_column(GTK_TREE_VIEW(gtkblist->treeview), column); | 684 gtk_tree_view_append_column(GTK_TREE_VIEW(gtkblist->treeview), column); |
685 g_object_set(rend, "xalign", 1.0, "ypad", 0.0, NULL); | 685 g_object_set(rend, "xalign", 1.0, "ypad", 0.0, NULL); |
686 | 686 |
687 rend = gtk_cell_renderer_pixbuf_new(); | 687 rend = gtk_cell_renderer_pixbuf_new(); |
688 column = gtk_tree_view_column_new_with_attributes("Buddy Icon", rend, "pixbuf", BUDDY_ICON_COLUMN, NULL); | 688 column = gtk_tree_view_column_new_with_attributes("Buddy Icon", rend, "pixbuf", BUDDY_ICON_COLUMN, NULL); |
689 g_object_set(rend, "xalign", 1.0, "ypad", 0.0, NULL); | 689 g_object_set(rend, "xalign", 1.0, "ypad", 0.0, NULL); |
690 gtk_tree_view_append_column(GTK_TREE_VIEW(gtkblist->treeview), column); | 690 gtk_tree_view_append_column(GTK_TREE_VIEW(gtkblist->treeview), column); |
691 | 691 |
692 g_signal_connect(G_OBJECT(gtkblist->treeview), "row-activated", G_CALLBACK(gtk_blist_row_activated_cb), NULL); | 692 g_signal_connect(G_OBJECT(gtkblist->treeview), "row-activated", G_CALLBACK(gtk_blist_row_activated_cb), NULL); |
693 g_signal_connect(G_OBJECT(gtkblist->treeview), "button-press-event", G_CALLBACK(gtk_blist_button_press_cb), NULL); | 693 g_signal_connect(G_OBJECT(gtkblist->treeview), "button-press-event", G_CALLBACK(gtk_blist_button_press_cb), NULL); |
694 | 694 |
695 gtk_box_pack_start(GTK_BOX(gtkblist->vbox), sw, TRUE, TRUE, 0); | 695 gtk_box_pack_start(GTK_BOX(gtkblist->vbox), sw, TRUE, TRUE, 0); |
696 gtk_container_add(GTK_CONTAINER(sw), gtkblist->treeview); | 696 gtk_container_add(GTK_CONTAINER(sw), gtkblist->treeview); |
891 time_t t; | 891 time_t t; |
892 int ihrs, imin; | 892 int ihrs, imin; |
893 time(&t); | 893 time(&t); |
894 ihrs = (t - ((struct buddy *)node)->idle) / 3600; | 894 ihrs = (t - ((struct buddy *)node)->idle) / 3600; |
895 imin = ((t - ((struct buddy*)node)->idle) / 60) % 60; | 895 imin = ((t - ((struct buddy*)node)->idle) / 60) % 60; |
896 idle = g_strdup_printf("%d:%02d", ihrs, imin); | 896 if(ihrs > 0) |
897 idle = g_strdup_printf("(%d:%02d)", ihrs, imin); | |
898 else | |
899 idle = g_strdup_printf("(%d)", imin); | |
897 } | 900 } |
898 | 901 |
899 if ((((struct buddy*)node)->evil > 0) && | 902 if ((((struct buddy*)node)->evil > 0) && |
900 (!(blist_options & OPT_BLIST_SHOW_ICONS) && (blist_options & OPT_BLIST_SHOW_WARN))) { | 903 (!(blist_options & OPT_BLIST_SHOW_ICONS) && (blist_options & OPT_BLIST_SHOW_WARN))) { |
901 warning = g_strdup_printf("%d%%", ((struct buddy*)node)->evil); | 904 warning = g_strdup_printf("%d%%", ((struct buddy*)node)->evil); |
902 } | 905 } |
906 | |
907 if((blist_options & OPT_BLIST_GREY_IDLERS) | |
908 && ((struct buddy *)node)->idle) { | |
909 if(warning) { | |
910 char *w2 = g_strdup_printf("<span color='dim grey'>%s</span>", | |
911 warning); | |
912 g_free(warning); | |
913 warning = w2; | |
914 } | |
915 | |
916 if(idle) { | |
917 char *i2 = g_strdup_printf("<span color='dim grey'>%s</span>", | |
918 idle); | |
919 g_free(idle); | |
920 idle = i2; | |
921 } | |
922 } | |
923 | |
903 | 924 |
904 gtk_tree_store_set(gtkblist->treemodel, &iter, | 925 gtk_tree_store_set(gtkblist->treemodel, &iter, |
905 STATUS_ICON_COLUMN, status, | 926 STATUS_ICON_COLUMN, status, |
906 NAME_COLUMN, mark, | 927 NAME_COLUMN, mark, |
907 WARNING_COLUMN, warning, | 928 WARNING_COLUMN, warning, |