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