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,