Mercurial > pidgin.yaz
comparison finch/libgnt/gntwidget.c @ 21250:9187d331aebe
Add gnt_color_pair, which will replace color codes with 'appropriate' text
attributes if the terminal doesn't support color. Fixes #3560.
I have included the output of diffstat of the changeset. Do we like this in
our commit message? If we do, we can use the stuff rekkanoryo has for gf.
----------------------------------------------------------------------
ChangeLog.API | 7 +++++++
finch/libgnt/gntbox.c | 10 +++++-----
finch/libgnt/gntbutton.c | 3 ++-
finch/libgnt/gntcheckbox.c | 4 ++--
finch/libgnt/gntcolors.c | 11 +++++++++++
finch/libgnt/gntcolors.h | 13 +++++++++++++
finch/libgnt/gntcombobox.c | 8 ++++----
finch/libgnt/gntentry.c | 4 ++--
finch/libgnt/gntline.c | 4 ++--
finch/libgnt/gntmain.c | 4 ++--
finch/libgnt/gntmenu.c | 4 ++--
finch/libgnt/gntslider.c | 10 +++++-----
finch/libgnt/gnttextview.c | 14 +++++++-------
finch/libgnt/gnttree.c | 37 ++++++++++++++++++-------------------
finch/libgnt/gntwidget.c | 22 +++++++++++-----------
finch/libgnt/gntwm.c | 4 ++--
finch/libgnt/gntws.c | 10 +++++-----
17 files changed, 100 insertions(+), 69 deletions(-)
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Tue, 16 Oct 2007 09:51:12 +0000 |
parents | 44b4e8bd759b |
children | ae330012956f |
comparison
equal
deleted
inserted
replaced
21249:930d0b49ebcf | 21250:9187d331aebe |
---|---|
418 | 418 |
419 void | 419 void |
420 gnt_widget_hide(GntWidget *widget) | 420 gnt_widget_hide(GntWidget *widget) |
421 { | 421 { |
422 g_signal_emit(widget, signals[SIG_HIDE], 0); | 422 g_signal_emit(widget, signals[SIG_HIDE], 0); |
423 wbkgdset(widget->window, '\0' | COLOR_PAIR(GNT_COLOR_NORMAL)); | 423 wbkgdset(widget->window, '\0' | gnt_color_pair(GNT_COLOR_NORMAL)); |
424 #if 0 | 424 #if 0 |
425 /* XXX: I have no clue why, but this seemed to be necessary. */ | 425 /* XXX: I have no clue why, but this seemed to be necessary. */ |
426 if (gnt_widget_has_shadow(widget)) | 426 if (gnt_widget_has_shadow(widget)) |
427 mvwvline(widget->window, 1, widget->priv.width, ' ', widget->priv.height); | 427 mvwvline(widget->window, 1, widget->priv.width, ' ', widget->priv.height); |
428 #endif | 428 #endif |
475 gboolean shadow = TRUE; | 475 gboolean shadow = TRUE; |
476 | 476 |
477 if (!gnt_widget_has_shadow(widget)) | 477 if (!gnt_widget_has_shadow(widget)) |
478 shadow = FALSE; | 478 shadow = FALSE; |
479 | 479 |
480 wbkgd(widget->window, COLOR_PAIR(GNT_COLOR_NORMAL)); | 480 wbkgd(widget->window, gnt_color_pair(GNT_COLOR_NORMAL)); |
481 werase(widget->window); | 481 werase(widget->window); |
482 | 482 |
483 if (!(GNT_WIDGET_FLAGS(widget) & GNT_WIDGET_NO_BORDER)) | 483 if (!(GNT_WIDGET_FLAGS(widget) & GNT_WIDGET_NO_BORDER)) |
484 { | 484 { |
485 /* - This is ugly. */ | 485 /* - This is ugly. */ |
486 /* - What's your point? */ | 486 /* - What's your point? */ |
487 mvwvline(widget->window, 0, 0, ACS_VLINE | COLOR_PAIR(GNT_COLOR_NORMAL), widget->priv.height); | 487 mvwvline(widget->window, 0, 0, ACS_VLINE | gnt_color_pair(GNT_COLOR_NORMAL), widget->priv.height); |
488 mvwvline(widget->window, 0, widget->priv.width - 1, | 488 mvwvline(widget->window, 0, widget->priv.width - 1, |
489 ACS_VLINE | COLOR_PAIR(GNT_COLOR_NORMAL), widget->priv.height); | 489 ACS_VLINE | gnt_color_pair(GNT_COLOR_NORMAL), widget->priv.height); |
490 mvwhline(widget->window, widget->priv.height - 1, 0, | 490 mvwhline(widget->window, widget->priv.height - 1, 0, |
491 ACS_HLINE | COLOR_PAIR(GNT_COLOR_NORMAL), widget->priv.width); | 491 ACS_HLINE | gnt_color_pair(GNT_COLOR_NORMAL), widget->priv.width); |
492 mvwhline(widget->window, 0, 0, ACS_HLINE | COLOR_PAIR(GNT_COLOR_NORMAL), widget->priv.width); | 492 mvwhline(widget->window, 0, 0, ACS_HLINE | gnt_color_pair(GNT_COLOR_NORMAL), widget->priv.width); |
493 mvwaddch(widget->window, 0, 0, ACS_ULCORNER | COLOR_PAIR(GNT_COLOR_NORMAL)); | 493 mvwaddch(widget->window, 0, 0, ACS_ULCORNER | gnt_color_pair(GNT_COLOR_NORMAL)); |
494 mvwaddch(widget->window, 0, widget->priv.width - 1, | 494 mvwaddch(widget->window, 0, widget->priv.width - 1, |
495 ACS_URCORNER | COLOR_PAIR(GNT_COLOR_NORMAL)); | 495 ACS_URCORNER | gnt_color_pair(GNT_COLOR_NORMAL)); |
496 mvwaddch(widget->window, widget->priv.height - 1, 0, | 496 mvwaddch(widget->window, widget->priv.height - 1, 0, |
497 ACS_LLCORNER | COLOR_PAIR(GNT_COLOR_NORMAL)); | 497 ACS_LLCORNER | gnt_color_pair(GNT_COLOR_NORMAL)); |
498 mvwaddch(widget->window, widget->priv.height - 1, widget->priv.width - 1, | 498 mvwaddch(widget->window, widget->priv.height - 1, widget->priv.width - 1, |
499 ACS_LRCORNER | COLOR_PAIR(GNT_COLOR_NORMAL)); | 499 ACS_LRCORNER | gnt_color_pair(GNT_COLOR_NORMAL)); |
500 } | 500 } |
501 | 501 |
502 if (shadow) | 502 if (shadow) |
503 { | 503 { |
504 wbkgdset(widget->window, '\0' | COLOR_PAIR(GNT_COLOR_SHADOW)); | 504 wbkgdset(widget->window, '\0' | gnt_color_pair(GNT_COLOR_SHADOW)); |
505 mvwvline(widget->window, 1, widget->priv.width, ' ', widget->priv.height); | 505 mvwvline(widget->window, 1, widget->priv.width, ' ', widget->priv.height); |
506 mvwhline(widget->window, widget->priv.height, 1, ' ', widget->priv.width); | 506 mvwhline(widget->window, widget->priv.height, 1, ' ', widget->priv.width); |
507 } | 507 } |
508 } | 508 } |
509 | 509 |