annotate console/libgnt/gntstyle.c @ 14239:a0b1ab181316

[gaim-migrate @ 16921] Allow remapping keys for widgets. committer: Tailor Script <tailor@pidgin.im>
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Sun, 20 Aug 2006 22:46:20 +0000
parents bb38f32ab6aa
children ea5193c23171
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14004
06f75fb84a78 [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
1 #include "gntstyle.h"
06f75fb84a78 [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
2 #include "gntcolors.h"
06f75fb84a78 [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
3
14010
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
4 #include <string.h>
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
5
14239
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
6 #if GLIB_CHECK_VERSION(2,6,0)
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
7 static GKeyFile *gkfile;
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
8 #endif
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
9
14010
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
10 static char * str_styles[GNT_STYLES];
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
11 static int int_styles[GNT_STYLES];
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
12 static int bool_styles[GNT_STYLES];
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
13
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
14 const char *gnt_style_get(GntStyle style)
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
15 {
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
16 return str_styles[style];
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
17 }
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
18
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
19 gboolean gnt_style_get_bool(GntStyle style, gboolean def)
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
20 {
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
21 int i;
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
22 const char * str;
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
23
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
24 if (bool_styles[style] != -1)
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
25 return bool_styles[style];
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
26
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
27 str = gnt_style_get(style);
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
28
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
29 if (str)
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
30 {
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
31 if (strcmp(str, "false") == 0)
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
32 def = FALSE;
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
33 else if (strcmp(str, "true") == 0)
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
34 def = TRUE;
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
35 else if (sscanf(str, "%d", &i) == 1)
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
36 {
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
37 if (i)
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
38 def = TRUE;
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
39 else
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
40 def = FALSE;
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
41 }
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
42 }
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
43
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
44 bool_styles[style] = def;
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
45 return bool_styles[style];
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
46 }
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
47
14239
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
48 void refine(char *text)
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
49 {
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
50 char *s = text, *t = text;
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
51
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
52 while (*s)
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
53 {
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
54 if (*s == '^' && *(s + 1) == '[')
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
55 {
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
56 *t = '\033'; /* escape */
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
57 s++;
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
58 }
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
59 else if (*s == '\\')
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
60 {
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
61 if (*(s + 1) == '\0')
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
62 *t = ' ';
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
63 else
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
64 {
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
65 s++;
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
66 if (*s == 'r' || *s == 'n')
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
67 *t = '\r';
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
68 else if (*s == 't')
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
69 *t = '\t';
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
70 else
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
71 *t = *s;
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
72 }
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
73 }
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
74 else
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
75 *t = *s;
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
76 t++;
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
77 s++;
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
78 }
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
79 *t = '\0';
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
80 }
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
81
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
82 void gnt_styles_get_keyremaps(GType type, GHashTable *hash)
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
83 {
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
84 #if GLIB_CHECK_VERSION(2,6,0)
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
85 char *name;
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
86 GError *error = NULL;
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
87
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
88 name = g_strdup_printf("%s::remap", g_type_name(type));
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
89
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
90 if (g_key_file_has_group(gkfile, name))
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
91 {
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
92 unsigned int len = 0;
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
93 char **keys;
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
94
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
95 keys = g_key_file_get_keys(gkfile, name, &len, &error);
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
96 if (error)
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
97 {
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
98 g_printerr("GntStyle: %s\n", error->message);
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
99 g_error_free(error);
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
100 return;
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
101 }
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
102
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
103 while (len--)
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
104 {
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
105 char *key, *replace;
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
106
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
107 key = g_strdup(keys[len]);
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
108 replace = g_key_file_get_string(gkfile, name, keys[len], &error);
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
109
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
110 if (error)
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
111 {
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
112 g_printerr("GntStyle: %s\n", error->message);
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
113 g_error_free(error);
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
114 error = NULL;
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
115 g_free(key);
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
116 }
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
117 else
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
118 {
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
119 refine(key);
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
120 refine(replace);
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
121 g_hash_table_insert(hash, key, replace);
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
122 }
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
123 }
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
124 g_strfreev(keys);
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
125 }
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
126
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
127 g_free(name);
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
128 #endif
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
129 }
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
130
14210
bb38f32ab6aa [gaim-migrate @ 16888]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14010
diff changeset
131 #if GLIB_CHECK_VERSION(2,6,0)
14010
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
132 static void
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
133 read_general_style(GKeyFile *kfile)
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
134 {
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
135 GError *error = NULL;
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
136 gsize nkeys;
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
137 char **keys = g_key_file_get_keys(kfile, "general", &nkeys, &error);
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
138 int i;
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
139 struct
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
140 {
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
141 const char *style;
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
142 GntStyle en;
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
143 } styles[] = {{"shadow", GNT_STYLE_SHADOW},
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
144 {NULL, 0}};
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
145
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
146 if (error)
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
147 {
14239
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
148 g_printerr("GntStyle: %s\n", error->message);
14010
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
149 g_error_free(error);
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
150 }
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
151 else
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
152 {
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
153 for (i = 0; styles[i].style; i++)
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
154 {
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
155 error = NULL;
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
156 str_styles[styles[i].en] =
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
157 g_key_file_get_string(kfile, "general", styles[i].style, &error);
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
158 }
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
159 }
14239
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
160 g_strfreev(keys);
14010
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
161 }
14210
bb38f32ab6aa [gaim-migrate @ 16888]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14010
diff changeset
162 #endif
14010
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
163
14004
06f75fb84a78 [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
164 void gnt_style_read_configure_file(const char *filename)
06f75fb84a78 [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
165 {
06f75fb84a78 [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
166 #if GLIB_CHECK_VERSION(2,6,0)
14239
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
167 gkfile = g_key_file_new();
14004
06f75fb84a78 [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
168 GError *error = NULL;
06f75fb84a78 [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
169
14239
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
170 if (!g_key_file_load_from_file(gkfile, filename, G_KEY_FILE_NONE, &error))
14004
06f75fb84a78 [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
171 {
14239
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
172 g_printerr("GntStyle: %s\n", error->message);
14004
06f75fb84a78 [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
173 g_error_free(error);
06f75fb84a78 [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
174 return;
06f75fb84a78 [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
175 }
14239
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
176 gnt_colors_parse(gkfile);
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
177 read_general_style(gkfile);
14004
06f75fb84a78 [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
178 #endif
06f75fb84a78 [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
179 }
06f75fb84a78 [gaim-migrate @ 16589]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
180
14010
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
181 void gnt_init_styles()
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
182 {
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
183 int i;
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
184 for (i = 0; i < GNT_STYLES; i++)
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
185 {
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
186 str_styles[i] = NULL;
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
187 int_styles[i] = -1;
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
188 bool_styles[i] = -1;
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
189 }
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
190 }
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
191
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
192 void gnt_uninit_styles()
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
193 {
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
194 int i;
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
195 for (i = 0; i < GNT_STYLES; i++)
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
196 g_free(str_styles[i]);
14239
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
197
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
198 #if GLIB_CHECK_VERSION(2,6,0)
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
199 g_key_file_free(gkfile);
a0b1ab181316 [gaim-migrate @ 16921]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14210
diff changeset
200 #endif
14010
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
201 }
7573bd40a190 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 14004
diff changeset
202