console/libgnt/gntcolors.c

Wed, 23 Aug 2006 01:35:44 +0000

author
Sadrul Habib Chowdhury <sadrul@pidgin.im>
date
Wed, 23 Aug 2006 01:35:44 +0000
changeset 14361
4d6014205744
parent 14318
07aba2cdc261
child 14363
f837a417bd23
permissions
-rw-r--r--

[gaim-migrate @ 16989]
Now the customcolors should work. Apparently I didn't include it in last commit.

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
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
26 static void
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
27 restore_colors()
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
28 {
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
29 short i;
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
30 for (i = 0; i < GNT_TOTAL_COLORS; i++)
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
31 {
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
32 init_color(i, colors[i].r,
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
33 colors[i].g, colors[i].b);
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 }
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
36
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
37 void gnt_init_colors()
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
38 {
14026
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
39 start_color();
14361
4d6014205744 [gaim-migrate @ 16989]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14318
diff changeset
40 if (gnt_style_get_bool(GNT_STYLE_COLOR, FALSE) && can_change_color())
13913
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
41 {
14026
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
42 backup_colors();
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
43
14318
07aba2cdc261 [gaim-migrate @ 16938]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14272
diff changeset
44 /* Do some init_color()s */
13913
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
45 init_color(GNT_COLOR_BLACK, 0, 0, 0);
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
46 init_color(GNT_COLOR_RED, 1000, 0, 0);
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
47 init_color(GNT_COLOR_GREEN, 0, 1000, 0);
13959
49d3a87c2679 [gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13958
diff changeset
48 init_color(GNT_COLOR_BLUE, 250, 250, 700);
13913
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
49 init_color(GNT_COLOR_WHITE, 1000, 1000, 1000);
13958
bd1c3bb3f33d [gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13944
diff changeset
50 init_color(GNT_COLOR_GRAY, 699, 699, 699);
13913
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
51 init_color(GNT_COLOR_DARK_GRAY, 256, 256, 256);
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
52
13913
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
53 /* Now some init_pair()s */
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
54 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
55 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
56 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
57
49d3a87c2679 [gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13958
diff changeset
58 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
59 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
60
13958
bd1c3bb3f33d [gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13944
diff changeset
61 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
62 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
63 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
64 }
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
65 else
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
66 {
14361
4d6014205744 [gaim-migrate @ 16989]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14318
diff changeset
67 use_default_colors();
13913
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
68 init_pair(GNT_COLOR_NORMAL, COLOR_BLACK, COLOR_WHITE);
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13959
diff changeset
69 init_pair(GNT_COLOR_HIGHLIGHT, COLOR_WHITE, COLOR_BLUE);
13913
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
70 init_pair(GNT_COLOR_SHADOW, COLOR_BLACK, COLOR_BLACK);
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13959
diff changeset
71 init_pair(GNT_COLOR_TITLE, COLOR_WHITE, COLOR_BLUE);
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13959
diff changeset
72 init_pair(GNT_COLOR_TITLE_D, COLOR_WHITE, COLOR_BLACK);
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13959
diff changeset
73 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
74 init_pair(GNT_COLOR_HIGHLIGHT_D, COLOR_CYAN, COLOR_BLACK);
13958
bd1c3bb3f33d [gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13944
diff changeset
75 init_pair(GNT_COLOR_DISABLED, COLOR_YELLOW, COLOR_WHITE);
13913
14dc0af2b33f [gaim-migrate @ 16310]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
76 }
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
77 }
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
78
14026
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
79 void
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
80 gnt_uninit_colors()
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
81 {
14361
4d6014205744 [gaim-migrate @ 16989]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14318
diff changeset
82 if (gnt_style_get_bool(GNT_STYLE_COLOR, FALSE) && can_change_color())
4d6014205744 [gaim-migrate @ 16989]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14318
diff changeset
83 restore_colors();
14026
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
84 }
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13973
diff changeset
85
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
86 static int
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
87 get_color(char *key)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
88 {
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
89 int color;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
90
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
91 key = g_strstrip(key);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
92
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
93 if (strcmp(key, "black") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
94 color = GNT_COLOR_BLACK;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
95 else if (strcmp(key, "red") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
96 color = GNT_COLOR_RED;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
97 else if (strcmp(key, "green") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
98 color = GNT_COLOR_GREEN;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
99 else if (strcmp(key, "blue") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
100 color = GNT_COLOR_BLUE;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
101 else if (strcmp(key, "white") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
102 color = GNT_COLOR_WHITE;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
103 else if (strcmp(key, "gray") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
104 color = GNT_COLOR_GRAY;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
105 else if (strcmp(key, "darkgray") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
106 color = GNT_COLOR_DARK_GRAY;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
107 else
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
108 color = -1;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
109 return color;
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
14272
e1efc981a1ec [gaim-migrate @ 16888]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14066
diff changeset
112 #if GLIB_CHECK_VERSION(2,6,0)
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
113 void gnt_colors_parse(GKeyFile *kfile)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
114 {
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
115 GError *error = NULL;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
116 gsize nkeys;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
117 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
118
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
119 if (error)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
120 {
14318
07aba2cdc261 [gaim-migrate @ 16938]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14272
diff changeset
121 g_printerr("GntColors: %s\n", error->message);
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
122 g_error_free(error);
14318
07aba2cdc261 [gaim-migrate @ 16938]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14272
diff changeset
123 error = NULL;
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
124 }
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
125 else
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
126 {
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
127 while (nkeys--)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
128 {
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
129 gsize len;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
130 char *key = keys[nkeys];
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
131 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
132 if (len == 3)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
133 {
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
134 int r = atoi(list[0]);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
135 int g = atoi(list[1]);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
136 int b = atoi(list[2]);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
137 int color = -1;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
138
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
139 g_ascii_strdown(key, -1);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
140 color = get_color(key);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
141 if (color == -1)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
142 continue;
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 init_color(color, r, g, b);
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 g_strfreev(list);
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
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
149 g_strfreev(keys);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
150 }
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 gnt_color_pairs_parse(kfile);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
153 }
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
154
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
155 void gnt_color_pairs_parse(GKeyFile *kfile)
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 GError *error = NULL;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
158 gsize nkeys;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
159 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
160
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
161 if (error)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
162 {
14318
07aba2cdc261 [gaim-migrate @ 16938]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14272
diff changeset
163 g_printerr("GntColors: %s\n", error->message);
14066
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
164 g_error_free(error);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
165 return;
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
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
168 while (nkeys--)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
169 {
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
170 gsize len;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
171 char *key = keys[nkeys];
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
172 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
173 if (len == 2)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
174 {
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
175 GntColorType type = 0;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
176 int fg = get_color(g_ascii_strdown(list[0], -1));
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
177 int bg = get_color(g_ascii_strdown(list[1], -1));
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
178 if (fg == -1 || bg == -1)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
179 continue;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
180
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
181 g_ascii_strdown(key, -1);
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 if (strcmp(key, "normal") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
184 type = GNT_COLOR_NORMAL;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
185 else if (strcmp(key, "highlight") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
186 type = GNT_COLOR_HIGHLIGHT;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
187 else if (strcmp(key, "highlightd") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
188 type = GNT_COLOR_HIGHLIGHT_D;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
189 else if (strcmp(key, "shadow") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
190 type = GNT_COLOR_SHADOW;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
191 else if (strcmp(key, "title") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
192 type = GNT_COLOR_TITLE;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
193 else if (strcmp(key, "titled") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
194 type = GNT_COLOR_TITLE_D;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
195 else if (strcmp(key, "text") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
196 type = GNT_COLOR_TEXT_NORMAL;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
197 else if (strcmp(key, "disabled") == 0)
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
198 type = GNT_COLOR_DISABLED;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
199 else
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
200 continue;
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
201
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
202 init_pair(type, fg, bg);
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 g_strfreev(list);
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
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
207 g_strfreev(keys);
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
208 }
3a97522e09ee [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
209
14272
e1efc981a1ec [gaim-migrate @ 16888]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14066
diff changeset
210 #endif /* GKeyFile */

mercurial