console/libgnt/gntcolors.c

Sun, 03 Sep 2006 18:44:11 +0000

author
Gary Kramlich <grim@reaperworld.com>
date
Sun, 03 Sep 2006 18:44:11 +0000
changeset 14490
d085e7570804
parent 14483
82b73e12ce27
child 15752
ddbc89eeb603
permissions
-rw-r--r--

[gaim-migrate @ 17142]
Let's find the ncurses.h we're after, without a bunch of hacking in individual files for it. This checks for some ncursesw specific stuff, and now will not build gntgaim unless we have ncursesw.h. This could be adapted to just add a define in case we want to support non ncursesw, but this is more than adequate for the time being.

14483
82b73e12ce27 [gaim-migrate @ 17129]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14449
diff changeset
1 #include "config.h"
82b73e12ce27 [gaim-migrate @ 17129]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14449
diff changeset
2
14387
c52a8625eab3 [gaim-migrate @ 17020]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14364
diff changeset
3 #include <ncurses.h>
c52a8625eab3 [gaim-migrate @ 17020]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14364
diff changeset
4
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
5 #include "gntcolors.h"
14361
4d6014205744 [gaim-migrate @ 16989]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14318
diff changeset
6 #include "gntstyle.h"
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
7
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
8 #include <glib.h>
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
9
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
10 #include <stdlib.h>
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
11 #include <string.h>
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
12
14026
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
13 static struct
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
14 {
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
15 short r, g, b;
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
16 } colors[GNT_TOTAL_COLORS];
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
17
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
18 static void
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
19 backup_colors()
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
20 {
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
21 short i;
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
22 for (i = 0; i < GNT_TOTAL_COLORS; i++)
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
23 {
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
24 color_content(i, &colors[i].r,
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
25 &colors[i].g, &colors[i].b);
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
26 }
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
27 }
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
28
14363
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
29 static gboolean
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
30 can_use_custom_color()
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
31 {
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
32 return (gnt_style_get_bool(GNT_STYLE_COLOR, FALSE) && can_change_color());
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
33 }
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
34
14026
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
35 static void
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
36 restore_colors()
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
37 {
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
38 short i;
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
39 for (i = 0; i < GNT_TOTAL_COLORS; i++)
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
40 {
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
41 init_color(i, colors[i].r,
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
42 colors[i].g, colors[i].b);
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
43 }
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
44 }
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
45
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
46 void gnt_init_colors()
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
47 {
14363
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
48 static gboolean init = FALSE;
14364
bb4cb3c0df9d [gaim-migrate @ 16992]
Ethan Blanton <elb@pidgin.im>
parents: 14363
diff changeset
49 int defaults;
14363
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
50
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
51 if (init)
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
52 return;
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
53 init = TRUE;
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
54
14026
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
55 start_color();
14364
bb4cb3c0df9d [gaim-migrate @ 16992]
Ethan Blanton <elb@pidgin.im>
parents: 14363
diff changeset
56 defaults = use_default_colors();
14363
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
57
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
58 if (can_use_custom_color())
13913
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
59 {
14026
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
60 backup_colors();
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
61
14318
07aba2cdc261 [gaim-migrate @ 16938]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14272
diff changeset
62 /* Do some init_color()s */
13913
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
63 init_color(GNT_COLOR_BLACK, 0, 0, 0);
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
64 init_color(GNT_COLOR_RED, 1000, 0, 0);
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
65 init_color(GNT_COLOR_GREEN, 0, 1000, 0);
13959
49d3a87c2679 [gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13958
diff changeset
66 init_color(GNT_COLOR_BLUE, 250, 250, 700);
13913
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
67 init_color(GNT_COLOR_WHITE, 1000, 1000, 1000);
13958
bd1c3bb3f33d [gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13944
diff changeset
68 init_color(GNT_COLOR_GRAY, 699, 699, 699);
13913
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
69 init_color(GNT_COLOR_DARK_GRAY, 256, 256, 256);
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
70
13913
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
71 /* Now some init_pair()s */
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
72 init_pair(GNT_COLOR_NORMAL, GNT_COLOR_BLACK, GNT_COLOR_WHITE);
13958
bd1c3bb3f33d [gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13944
diff changeset
73 init_pair(GNT_COLOR_HIGHLIGHT, GNT_COLOR_WHITE, GNT_COLOR_BLUE);
13913
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
74 init_pair(GNT_COLOR_SHADOW, GNT_COLOR_BLACK, GNT_COLOR_DARK_GRAY);
13959
49d3a87c2679 [gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13958
diff changeset
75
49d3a87c2679 [gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13958
diff changeset
76 init_pair(GNT_COLOR_TITLE, GNT_COLOR_WHITE, GNT_COLOR_BLUE);
49d3a87c2679 [gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13958
diff changeset
77 init_pair(GNT_COLOR_TITLE_D, GNT_COLOR_WHITE, GNT_COLOR_GRAY);
49d3a87c2679 [gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13958
diff changeset
78
13958
bd1c3bb3f33d [gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13944
diff changeset
79 init_pair(GNT_COLOR_TEXT_NORMAL, GNT_COLOR_WHITE, GNT_COLOR_BLUE);
13944
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13917
diff changeset
80 init_pair(GNT_COLOR_HIGHLIGHT_D, GNT_COLOR_BLACK, GNT_COLOR_GRAY);
13958
bd1c3bb3f33d [gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13944
diff changeset
81 init_pair(GNT_COLOR_DISABLED, GNT_COLOR_GRAY, GNT_COLOR_WHITE);
14449
d760eb4c7aa0 [gaim-migrate @ 17093]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14387
diff changeset
82 init_pair(GNT_COLOR_URGENT, GNT_COLOR_WHITE, GNT_COLOR_RED);
13913
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
83 }
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
84 else
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
85 {
14449
d760eb4c7aa0 [gaim-migrate @ 17093]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14387
diff changeset
86 int bg;
d760eb4c7aa0 [gaim-migrate @ 17093]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14387
diff changeset
87
d760eb4c7aa0 [gaim-migrate @ 17093]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14387
diff changeset
88 if (defaults == OK) {
14364
bb4cb3c0df9d [gaim-migrate @ 16992]
Ethan Blanton <elb@pidgin.im>
parents: 14363
diff changeset
89 init_pair(GNT_COLOR_NORMAL, -1, -1);
14449
d760eb4c7aa0 [gaim-migrate @ 17093]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14387
diff changeset
90 bg = -1;
d760eb4c7aa0 [gaim-migrate @ 17093]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14387
diff changeset
91 } else {
d760eb4c7aa0 [gaim-migrate @ 17093]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14387
diff changeset
92 init_pair(GNT_COLOR_NORMAL, COLOR_BLACK, COLOR_WHITE);
d760eb4c7aa0 [gaim-migrate @ 17093]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14387
diff changeset
93 bg = COLOR_WHITE;
14364
bb4cb3c0df9d [gaim-migrate @ 16992]
Ethan Blanton <elb@pidgin.im>
parents: 14363
diff changeset
94 }
14449
d760eb4c7aa0 [gaim-migrate @ 17093]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14387
diff changeset
95 init_pair(GNT_COLOR_DISABLED, COLOR_YELLOW, bg);
d760eb4c7aa0 [gaim-migrate @ 17093]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14387
diff changeset
96 init_pair(GNT_COLOR_URGENT, COLOR_GREEN, bg);
d760eb4c7aa0 [gaim-migrate @ 17093]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14387
diff changeset
97
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13959
diff changeset
98 init_pair(GNT_COLOR_HIGHLIGHT, COLOR_WHITE, COLOR_BLUE);
13913
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
99 init_pair(GNT_COLOR_SHADOW, COLOR_BLACK, COLOR_BLACK);
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13959
diff changeset
100 init_pair(GNT_COLOR_TITLE, COLOR_WHITE, COLOR_BLUE);
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13959
diff changeset
101 init_pair(GNT_COLOR_TITLE_D, COLOR_WHITE, COLOR_BLACK);
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13959
diff changeset
102 init_pair(GNT_COLOR_TEXT_NORMAL, COLOR_WHITE, COLOR_BLUE);
13944
2269d17043b1 [gaim-migrate @ 16362]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13917
diff changeset
103 init_pair(GNT_COLOR_HIGHLIGHT_D, COLOR_CYAN, COLOR_BLACK);
13913
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
104 }
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
105 }
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
106
14026
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
107 void
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
108 gnt_uninit_colors()
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
109 {
14363
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
110 if (can_use_custom_color())
14361
4d6014205744 [gaim-migrate @ 16989]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14318
diff changeset
111 restore_colors();
14026
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
112 }
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
113
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
114 static int
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
115 get_color(char *key)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
116 {
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
117 int color;
14363
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
118 gboolean custom = can_use_custom_color();
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
119
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
120 key = g_strstrip(key);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
121
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
122 if (strcmp(key, "black") == 0)
14363
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
123 color = custom ? GNT_COLOR_BLACK : COLOR_BLACK;
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
124 else if (strcmp(key, "red") == 0)
14363
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
125 color = custom ? GNT_COLOR_RED : COLOR_RED;
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
126 else if (strcmp(key, "green") == 0)
14363
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
127 color = custom ? GNT_COLOR_GREEN : COLOR_GREEN;
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
128 else if (strcmp(key, "blue") == 0)
14363
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
129 color = custom ? GNT_COLOR_BLUE : COLOR_BLUE;
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
130 else if (strcmp(key, "white") == 0)
14363
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
131 color = custom ? GNT_COLOR_WHITE : COLOR_WHITE;
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
132 else if (strcmp(key, "gray") == 0)
14363
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
133 color = custom ? GNT_COLOR_GRAY : COLOR_YELLOW; /* eh? */
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
134 else if (strcmp(key, "darkgray") == 0)
14363
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
135 color = custom ? GNT_COLOR_DARK_GRAY : COLOR_BLACK;
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
136 else if (strcmp(key, "magenta") == 0)
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
137 color = COLOR_MAGENTA;
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
138 else if (strcmp(key, "cyan") == 0)
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
139 color = COLOR_CYAN;
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
140 else
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
141 color = -1;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
142 return color;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
143 }
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
144
14272
e1efc981a1ec [gaim-migrate @ 16888]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14066
diff changeset
145 #if GLIB_CHECK_VERSION(2,6,0)
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
146 void gnt_colors_parse(GKeyFile *kfile)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
147 {
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
148 GError *error = NULL;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
149 gsize nkeys;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
150 char **keys = g_key_file_get_keys(kfile, "colors", &nkeys, &error);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
151
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
152 if (error)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
153 {
14318
07aba2cdc261 [gaim-migrate @ 16938]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14272
diff changeset
154 g_printerr("GntColors: %s\n", error->message);
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
155 g_error_free(error);
14318
07aba2cdc261 [gaim-migrate @ 16938]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14272
diff changeset
156 error = NULL;
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
157 }
14363
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
158 else if (nkeys)
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
159 {
14363
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
160 gnt_init_colors();
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
161 while (nkeys--)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
162 {
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
163 gsize len;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
164 char *key = keys[nkeys];
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
165 char **list = g_key_file_get_string_list(kfile, "colors", key, &len, NULL);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
166 if (len == 3)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
167 {
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
168 int r = atoi(list[0]);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
169 int g = atoi(list[1]);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
170 int b = atoi(list[2]);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
171 int color = -1;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
172
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
173 g_ascii_strdown(key, -1);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
174 color = get_color(key);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
175 if (color == -1)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
176 continue;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
177
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
178 init_color(color, r, g, b);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
179 }
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
180 g_strfreev(list);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
181 }
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
182
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
183 g_strfreev(keys);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
184 }
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
185
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
186 gnt_color_pairs_parse(kfile);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
187 }
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
188
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
189 void gnt_color_pairs_parse(GKeyFile *kfile)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
190 {
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
191 GError *error = NULL;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
192 gsize nkeys;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
193 char **keys = g_key_file_get_keys(kfile, "colorpairs", &nkeys, &error);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
194
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
195 if (error)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
196 {
14318
07aba2cdc261 [gaim-migrate @ 16938]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14272
diff changeset
197 g_printerr("GntColors: %s\n", error->message);
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
198 g_error_free(error);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
199 return;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
200 }
14363
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
201 else if (nkeys)
f837a417bd23 [gaim-migrate @ 16991]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14361
diff changeset
202 gnt_init_colors();
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
203
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
204 while (nkeys--)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
205 {
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
206 gsize len;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
207 char *key = keys[nkeys];
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
208 char **list = g_key_file_get_string_list(kfile, "colorpairs", key, &len, NULL);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
209 if (len == 2)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
210 {
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
211 GntColorType type = 0;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
212 int fg = get_color(g_ascii_strdown(list[0], -1));
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
213 int bg = get_color(g_ascii_strdown(list[1], -1));
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
214 if (fg == -1 || bg == -1)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
215 continue;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
216
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
217 g_ascii_strdown(key, -1);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
218
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
219 if (strcmp(key, "normal") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
220 type = GNT_COLOR_NORMAL;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
221 else if (strcmp(key, "highlight") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
222 type = GNT_COLOR_HIGHLIGHT;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
223 else if (strcmp(key, "highlightd") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
224 type = GNT_COLOR_HIGHLIGHT_D;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
225 else if (strcmp(key, "shadow") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
226 type = GNT_COLOR_SHADOW;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
227 else if (strcmp(key, "title") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
228 type = GNT_COLOR_TITLE;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
229 else if (strcmp(key, "titled") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
230 type = GNT_COLOR_TITLE_D;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
231 else if (strcmp(key, "text") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
232 type = GNT_COLOR_TEXT_NORMAL;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
233 else if (strcmp(key, "disabled") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
234 type = GNT_COLOR_DISABLED;
14449
d760eb4c7aa0 [gaim-migrate @ 17093]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14387
diff changeset
235 else if (strcmp(key, "urgent") == 0)
d760eb4c7aa0 [gaim-migrate @ 17093]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14387
diff changeset
236 type = GNT_COLOR_URGENT;
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
237 else
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
238 continue;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
239
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
240 init_pair(type, fg, bg);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
241 }
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
242 g_strfreev(list);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
243 }
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
244
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
245 g_strfreev(keys);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
246 }
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
247
14272
e1efc981a1ec [gaim-migrate @ 16888]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14066
diff changeset
248 #endif /* GKeyFile */

mercurial