# HG changeset patch # User Sadrul Habib Chowdhury # Date 1151015883 0 # Node ID 41753203a94dc6f723b6cccd42d106404eff78c7 # Parent 0e1e59770cb0685d3b93630ee63c3e76ad1cdbcd [gaim-migrate @ 16310] The colors should now look 'better' in terminals that don't apparently allow changing colors. committer: Tailor Script diff -r 0e1e59770cb0 -r 41753203a94d console/libgnt/gntcolors.c --- a/console/libgnt/gntcolors.c Thu Jun 22 08:33:54 2006 +0000 +++ b/console/libgnt/gntcolors.c Thu Jun 22 22:38:03 2006 +0000 @@ -3,19 +3,29 @@ void gnt_init_colors() { - /* XXX: Do some init_color()s */ - init_color(GNT_COLOR_BLACK, 0, 0, 0); - init_color(GNT_COLOR_RED, 1000, 0, 0); - init_color(GNT_COLOR_GREEN, 0, 1000, 0); - init_color(GNT_COLOR_BLUE, 0, 0, 1000); - init_color(GNT_COLOR_WHITE, 1000, 1000, 1000); - init_color(GNT_COLOR_GRAY, 799, 799, 799); - init_color(GNT_COLOR_DARK_GRAY, 256, 256, 256); + if (can_change_color()) + { + /* XXX: Do some init_color()s */ + init_color(GNT_COLOR_BLACK, 0, 0, 0); + init_color(GNT_COLOR_RED, 1000, 0, 0); + init_color(GNT_COLOR_GREEN, 0, 1000, 0); + init_color(GNT_COLOR_BLUE, 0, 0, 1000); + init_color(GNT_COLOR_WHITE, 1000, 1000, 1000); + init_color(GNT_COLOR_GRAY, 799, 799, 799); + init_color(GNT_COLOR_DARK_GRAY, 256, 256, 256); - /* Now some init_pair()s */ - init_pair(GNT_COLOR_NORMAL, GNT_COLOR_BLACK, GNT_COLOR_WHITE); - init_pair(GNT_COLOR_HIGHLIGHT, GNT_COLOR_BLUE, GNT_COLOR_GRAY); - init_pair(GNT_COLOR_SHADOW, GNT_COLOR_BLACK, GNT_COLOR_DARK_GRAY); - init_pair(GNT_COLOR_TITLE, GNT_COLOR_WHITE, GNT_COLOR_DARK_GRAY); + /* Now some init_pair()s */ + init_pair(GNT_COLOR_NORMAL, GNT_COLOR_BLACK, GNT_COLOR_WHITE); + init_pair(GNT_COLOR_HIGHLIGHT, GNT_COLOR_BLUE, GNT_COLOR_GRAY); + init_pair(GNT_COLOR_SHADOW, GNT_COLOR_BLACK, GNT_COLOR_DARK_GRAY); + init_pair(GNT_COLOR_TITLE, GNT_COLOR_WHITE, GNT_COLOR_DARK_GRAY); + } + else + { + init_pair(GNT_COLOR_NORMAL, COLOR_BLACK, COLOR_WHITE); + init_pair(GNT_COLOR_HIGHLIGHT, COLOR_CYAN, COLOR_BLACK); + init_pair(GNT_COLOR_SHADOW, COLOR_BLACK, COLOR_BLACK); + init_pair(GNT_COLOR_TITLE, COLOR_WHITE, COLOR_BLACK); + } } diff -r 0e1e59770cb0 -r 41753203a94d console/libgnt/gnttree.c --- a/console/libgnt/gnttree.c Thu Jun 22 08:33:54 2006 +0000 +++ b/console/libgnt/gnttree.c Thu Jun 22 22:38:03 2006 +0000 @@ -47,14 +47,17 @@ wbkgd(tree->scroll, COLOR_PAIR(GNT_COLOR_NORMAL)); - /* XXX: Add the rows */ for (start = tree->top, iter = g_list_nth(tree->list, tree->top); iter && start < tree->bottom; start++, iter = iter->next) { char str[2096]; /* XXX: This should be safe for any terminal */ GntTreeRow *row = g_hash_table_lookup(tree->hash, iter->data); - snprintf(str, widget->priv.width - 2, "%s\n", row->text); + if (snprintf(str, widget->priv.width, "%s\n", row->text) >= widget->priv.width) + { + /* XXX: ellipsize */ + str[widget->priv.width - 1] = 0; + } if (start == tree->current) { @@ -83,7 +86,7 @@ /* For the Tree (or anything that scrolls), we will create a 'hidden' window * of 'large enough' size. We never wrefresh that hidden-window, instead we - * just 'scroll' it, and wrefresh the subwindow */ + * just copy stuff from it into the visible window */ if (tree->scroll == NULL) { diff -r 0e1e59770cb0 -r 41753203a94d console/libgnt/test.c --- a/console/libgnt/test.c Thu Jun 22 08:33:54 2006 +0000 +++ b/console/libgnt/test.c Thu Jun 22 22:38:03 2006 +0000 @@ -2,11 +2,21 @@ #include "gnt.h" #include "gntkeys.h" #include "gnttree.h" +#include "gntbox.h" static gboolean key_pressed(GntWidget *widget, const char *text, gpointer null) { GntWidget *w = null; + GntWidget *box = gnt_box_new(FALSE, FALSE); + GntWidget *label = gnt_label_new("so wassup!!"); + + gnt_box_add_widget(GNT_BOX(box), label); + GNT_WIDGET_UNSET_FLAGS(box, GNT_WIDGET_NO_BORDER | GNT_WIDGET_NO_SHADOW); + gnt_box_set_title(GNT_BOX(box), "This is a test"); + + gnt_widget_show(box); +#if 0 gnt_widget_set_focus(w, TRUE); @@ -24,6 +34,7 @@ } gnt_widget_draw(w); +#endif return FALSE; } @@ -75,14 +86,14 @@ gnt_widget_set_name(widget, "widget"); gnt_widget_set_name(widget2, "widget2"); - gnt_box_add_widget(vbox, widget); - gnt_box_add_widget(vbox, widget2); + gnt_box_add_widget(GNT_BOX(vbox), widget); + gnt_box_add_widget(GNT_BOX(vbox), widget2); - gnt_box_add_widget(hbox, label); - gnt_box_add_widget(hbox, vbox); + gnt_box_add_widget(GNT_BOX(hbox), label); + gnt_box_add_widget(GNT_BOX(hbox), vbox); tree = gnt_tree_new(); - gnt_box_add_widget(hbox, tree); + gnt_box_add_widget(GNT_BOX(hbox), tree); gnt_tree_add_row_after(GNT_TREE(tree), "a", "a", NULL, NULL); gnt_tree_add_row_after(GNT_TREE(tree), "c", "c", NULL, NULL); @@ -91,7 +102,7 @@ gnt_tree_add_row_after(GNT_TREE(tree), "b", "b", "d", NULL); GNT_WIDGET_UNSET_FLAGS(hbox, GNT_WIDGET_NO_BORDER | GNT_WIDGET_NO_SHADOW); - gnt_box_set_title(hbox, "111111111111111111111111111111111111111111111111111111111111111This is the title …"); + gnt_box_set_title(GNT_BOX(hbox), "111111111111111111111111111111111111111111111111111111111111111This is the title …"); /*gnt_widget_set_take_focus(vbox, TRUE);*/ /*gnt_widget_set_take_focus(hbox, TRUE);*/