Mercurial > pidgin.yaz
annotate plugins/gaimrc.c @ 11968:53d8536c82f6
[gaim-migrate @ 14260]
This fixes untoggling the background color, foreground color and font face.
Love me tender.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Fri, 04 Nov 2005 05:30:51 +0000 |
parents | bfb56404a9b6 |
children | 01ce8025a1d9 |
rev | line source |
---|---|
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
1 /** |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
2 * @file gaimrc.c Gaim gtk resource control plugin. |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
3 * |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
4 * Copyright (C) 2005 Etan Reisner <deryni@eden.rutgers.edu> |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
5 * |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
6 * This program is free software; you can redistribute it and/or modify |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
7 * it under the terms of the GNU General Public License as published by |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
8 * the Free Software Foundation; either version 2 of the License, or |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
9 * (at your option) any later version. |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
10 * |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
11 * This program is distributed in the hope that it will be useful, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
14 * GNU General Public License for more details. |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
15 * |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
16 * You should have received a copy of the GNU General Public License |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
17 * along with this program; if not, write to the Free Software |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
19 */ |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
20 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
21 #include "internal.h" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
22 #include "gtkplugin.h" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
23 #include "gtkprefs.h" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
24 #include "gtkutils.h" |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
25 #include "util.c" |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
26 #include "version.h" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
27 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
28 static guint pref_callback; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
29 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
30 static const char *color_prefs[] = { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
31 "/plugins/gtk/gaimrc/color/GtkWidget::cursor-color", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
32 "/plugins/gtk/gaimrc/color/GtkWidget::secondary-cursor-color", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
33 "/plugins/gtk/gaimrc/color/GtkIMHtml::hyperlink-color" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
34 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
35 static const char *color_prefs_set[] = { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
36 "/plugins/gtk/gaimrc/set/color/GtkWidget::cursor-color", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
37 "/plugins/gtk/gaimrc/set/color/GtkWidget::secondary-cursor-color", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
38 "/plugins/gtk/gaimrc/set/color/GtkIMHtml::hyperlink-color" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
39 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
40 static const char *color_names[] = { |
10585
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
41 N_("Cursor Color"), |
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
42 N_("Secondary Cursor Color"), |
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
43 N_("Hyperlink Color") |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
44 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
45 static GtkWidget *color_widgets[G_N_ELEMENTS(color_prefs)]; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
46 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
47 static const char *widget_size_prefs[] = { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
48 "/plugins/gtk/gaimrc/size/GtkTreeView::expander_size" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
49 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
50 static const char *widget_size_prefs_set[] = { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
51 "/plugins/gtk/gaimrc/set/size/GtkTreeView::expander_size" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
52 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
53 static const char *widget_size_names[] = { |
10585
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
54 N_("GtkTreeView Expander Size") |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
55 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
56 static GtkWidget *widget_size_widgets[G_N_ELEMENTS(widget_size_prefs)]; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
57 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
58 static const char *font_prefs[] = { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
59 "/plugins/gtk/gaimrc/font/*gaim_gtkconv_entry", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
60 "/plugins/gtk/gaimrc/font/*gaim_gtkconv_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
61 "/plugins/gtk/gaimrc/font/*gaim_gtklog_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
62 "/plugins/gtk/gaimrc/font/*gaim_gtkrequest_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
63 "/plugins/gtk/gaimrc/font/*gaim_gtknotify_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
64 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
65 static const char *font_prefs_set[] = { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
66 "/plugins/gtk/gaimrc/set/font/*gaim_gtkconv_entry", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
67 "/plugins/gtk/gaimrc/set/font/*gaim_gtkconv_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
68 "/plugins/gtk/gaimrc/set/font/*gaim_gtklog_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
69 "/plugins/gtk/gaimrc/set/font/*gaim_gtkrequest_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
70 "/plugins/gtk/gaimrc/set/font/*gaim_gtknotify_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
71 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
72 static const char *font_names[] = { |
10585
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
73 N_("Conversation Entry"), |
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
74 N_("Conversation History"), |
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
75 N_("Log Viewer"), |
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
76 N_("Request Dialog"), |
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
77 N_("Notify Dialog") |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
78 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
79 static GtkWidget *font_widgets[G_N_ELEMENTS(font_prefs)]; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
80 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
81 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
82 gaimrc_make_changes() |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
83 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
84 int i; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
85 GString *style_string = g_string_new(""); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
86 char *prefbase = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
87 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
88 if (gaim_prefs_get_bool("/plugins/gtk/gaimrc/set/gtk-font-name")) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
89 const char *pref = gaim_prefs_get_string("/plugins/gtk/gaimrc/gtk-font-name"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
90 g_string_append_printf(style_string, "gtk-font-name = \"%s\"\n", pref); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
91 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
92 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
93 if (gaim_prefs_get_bool("/plugins/gtk/gaimrc/set/gtk-key-theme-name")) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
94 const char *pref = gaim_prefs_get_string("/plugins/gtk/gaimrc/gtk-key-theme-name"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
95 g_string_append_printf(style_string, "gtk-key-theme-name = \"%s\"\n", pref); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
96 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
97 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
98 g_string_append(style_string, "style \"gaimrc_style\" {\n"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
99 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
100 for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
101 if (gaim_prefs_get_bool(color_prefs_set[i])) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
102 prefbase = g_path_get_basename(color_prefs[i]); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
103 g_string_append_printf(style_string, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
104 "%s = \"%s\"\n", prefbase, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
105 gaim_prefs_get_string(color_prefs[i])); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
106 g_free(prefbase); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
107 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
108 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
109 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
110 for (i = 0; i < G_N_ELEMENTS(widget_size_prefs); i++) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
111 if (gaim_prefs_get_bool(widget_size_prefs_set[i])) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
112 prefbase = g_path_get_basename(widget_size_prefs[i]); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
113 g_string_append_printf(style_string, |
11862 | 114 "%s = %d\n", prefbase, |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
115 gaim_prefs_get_int(widget_size_prefs[i])); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
116 g_free(prefbase); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
117 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
118 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
119 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
120 g_string_append(style_string, "}"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
121 g_string_append(style_string, "widget_class \"*\" style \"gaimrc_style\"\n"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
122 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
123 for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
124 if (gaim_prefs_get_bool(font_prefs_set[i])) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
125 prefbase = g_path_get_basename(font_prefs[i]); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
126 g_string_append_printf(style_string, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
127 "style \"%s_style\"\n" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
128 "{font_name = \"%s\"}\n" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
129 "widget \"%s\"" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
130 "style \"%s_style\"\n", prefbase, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
131 gaim_prefs_get_string(font_prefs[i]), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
132 prefbase, prefbase); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
133 g_free(prefbase); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
134 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
135 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
136 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
137 gtk_rc_parse_string(style_string->str); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
138 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
139 g_string_free(style_string, TRUE); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
140 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
141 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
142 static void |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
143 gaimrc_write(GtkWidget *widget, gpointer data) |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
144 { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
145 int i; |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
146 GString *style_string = g_string_new(""); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
147 char *prefbase = NULL; |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
148 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
149 if (gaim_prefs_get_bool("/plugins/gtk/gaimrc/set/gtk-font-name")) { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
150 const char *pref = gaim_prefs_get_string("/plugins/gtk/gaimrc/gtk-font-name"); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
151 g_string_append_printf(style_string, "gtk-font-name = \"%s\"\n", pref); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
152 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
153 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
154 if (gaim_prefs_get_bool("/plugins/gtk/gaimrc/set/gtk-key-theme-name")) { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
155 const char *pref = gaim_prefs_get_string("/plugins/gtk/gaimrc/gtk-key-theme-name"); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
156 g_string_append_printf(style_string, "gtk-key-theme-name = \"%s\"\n", pref); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
157 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
158 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
159 g_string_append(style_string, "style \"gaimrc_style\" {\n"); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
160 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
161 for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
162 if (gaim_prefs_get_bool(color_prefs_set[i])) { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
163 prefbase = g_path_get_basename(color_prefs[i]); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
164 g_string_append_printf(style_string, |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
165 "%s = \"%s\"\n", prefbase, |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
166 gaim_prefs_get_string(color_prefs[i])); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
167 g_free(prefbase); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
168 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
169 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
170 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
171 for (i = 0; i < G_N_ELEMENTS(widget_size_prefs); i++) { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
172 if (gaim_prefs_get_bool(widget_size_prefs_set[i])) { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
173 prefbase = g_path_get_basename(widget_size_prefs[i]); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
174 g_string_append_printf(style_string, |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
175 "%s = %d\n", prefbase, |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
176 gaim_prefs_get_int(widget_size_prefs[i])); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
177 g_free(prefbase); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
178 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
179 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
180 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
181 g_string_append(style_string, "}"); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
182 g_string_append(style_string, "widget_class \"*\" style \"gaimrc_style\"\n"); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
183 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
184 for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
185 if (gaim_prefs_get_bool(font_prefs_set[i])) { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
186 prefbase = g_path_get_basename(font_prefs[i]); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
187 g_string_append_printf(style_string, |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
188 "style \"%s_style\"\n" |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
189 "{font_name = \"%s\"}\n" |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
190 "widget \"%s\"" |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
191 "style \"%s_style\"\n", prefbase, |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
192 gaim_prefs_get_string(font_prefs[i]), |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
193 prefbase, prefbase); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
194 g_free(prefbase); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
195 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
196 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
197 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
198 gaim_util_write_data_to_file(".gtkrc-2.0", style_string->str, -1); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
199 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
200 g_string_free(style_string, TRUE); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
201 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
202 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
203 static void |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
204 gaimrc_reread(GtkWidget *widget, gpointer data) |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
205 { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
206 gtk_rc_reparse_all(); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
207 /* I don't know if this is necessary but it shouldn't hurt. */ |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
208 gaimrc_make_changes(); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
209 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
210 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
211 static void |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
212 gaimrc_pref_changed_cb(const char *name, GaimPrefType type, gpointer value, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
213 gpointer data) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
214 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
215 GString *style_string = g_string_new(""); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
216 char *prefbase = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
217 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
218 prefbase = g_path_get_basename(name); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
219 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
220 if (strncmp(name, "/plugins/gtk/gaimrc/color", 25) == 0) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
221 g_string_printf(style_string, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
222 "style \"gaimrc_style\" { %s = \"%s\" }" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
223 "widget_class \"*\" style \"gaimrc_style\"", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
224 prefbase, (char *)value); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
225 } else if (strncmp(name, "/plugins/gtk/gaimrc/size", 24) == 0) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
226 g_string_printf(style_string, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
227 "style \"gaimrc_style\" { %s = \"%d\" }" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
228 "widget_class \"*\" style \"gaimrc_style\"", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
229 prefbase, GPOINTER_TO_INT(value)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
230 } else if (strncmp(name, "/plugins/gtk/gaimrc/font", 24) == 0) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
231 g_string_printf(style_string, "style \"%s_style\"" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
232 "{ font_name = \"%s\" } widget \"%s\"" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
233 "style \"%s_style\"", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
234 prefbase, (char *)value, prefbase, prefbase); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
235 } else if (strncmp(name, "/plugins/gtk/gaimrc/set", 23) == 0) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
236 if (value) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
237 gaimrc_make_changes(); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
238 g_string_free(style_string, TRUE); |
11862 | 239 g_free(prefbase); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
240 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
241 return; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
242 } else { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
243 g_string_printf(style_string, "%s = \"%s\"", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
244 prefbase, (char *)value); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
245 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
246 gtk_rc_parse_string(style_string->str); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
247 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
248 g_string_free(style_string, TRUE); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
249 g_free(prefbase); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
250 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
251 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
252 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
253 gaimrc_color_response(GtkDialog *color_dialog, gint response, gpointer data) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
254 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
255 int subscript = GPOINTER_TO_INT(data); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
256 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
257 if (response == GTK_RESPONSE_OK) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
258 GtkWidget *colorsel = GTK_COLOR_SELECTION_DIALOG(color_dialog)->colorsel; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
259 GdkColor color; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
260 char colorstr[8]; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
261 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
262 gtk_color_selection_get_current_color(GTK_COLOR_SELECTION(colorsel), &color); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
263 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
264 g_snprintf(colorstr, sizeof(colorstr), "#%02X%02X%02X", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
265 color.red/256, color.green/256, color.blue/256); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
266 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
267 gaim_prefs_set_string(color_prefs[subscript], colorstr); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
268 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
269 gtk_widget_destroy(GTK_WIDGET(color_dialog)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
270 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
271 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
272 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
273 gaimrc_set_color(GtkWidget *widget, gpointer data) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
274 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
275 GtkWidget *color_dialog = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
276 GdkColor color; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
277 char title[128]; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
278 int subscript = GPOINTER_TO_INT(data); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
279 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
280 g_snprintf(title, sizeof(title), _("Select Color for %s"), |
10586
eb2e5f06452a
[gaim-migrate @ 11990]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10585
diff
changeset
|
281 _(color_names[GPOINTER_TO_INT(data)])); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
282 color_dialog = gtk_color_selection_dialog_new(_("Select Color")); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
283 g_signal_connect(G_OBJECT(color_dialog), "response", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
284 G_CALLBACK(gaimrc_color_response), data); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
285 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
286 if (gdk_color_parse(gaim_prefs_get_string(color_prefs[subscript]), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
287 &color)) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
288 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(color_dialog)->colorsel), &color); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
289 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
290 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
291 gtk_window_present(GTK_WINDOW(color_dialog)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
292 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
293 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
294 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
295 gaimrc_font_response(GtkDialog *font_dialog, gint response, gpointer data) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
296 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
297 int subscript = GPOINTER_TO_INT(data); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
298 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
299 if (response == GTK_RESPONSE_OK) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
300 char *fontname = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
301 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
302 fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(font_dialog)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
303 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
304 gaim_prefs_set_string(font_prefs[subscript], fontname); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
305 g_free(fontname); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
306 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
307 gtk_widget_destroy(GTK_WIDGET(font_dialog)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
308 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
309 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
310 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
311 gaimrc_set_font(GtkWidget *widget, gpointer data) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
312 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
313 GtkWidget *font_dialog = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
314 char title[128]; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
315 int subscript = GPOINTER_TO_INT(data); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
316 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
317 g_snprintf(title, sizeof(title), _("Select Font for %s"), |
10586
eb2e5f06452a
[gaim-migrate @ 11990]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10585
diff
changeset
|
318 _(font_names[subscript])); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
319 font_dialog = gtk_font_selection_dialog_new(title); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
320 g_signal_connect(G_OBJECT(font_dialog), "response", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
321 G_CALLBACK(gaimrc_font_response), data); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
322 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
323 /* TODO Figure out a way to test for the presence of a value in the |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
324 * actual pref |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
325 if (gaim_prefs_get_bool(font_prefs[subscript])) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
326 gtk_font_selection_set_font_name(GTK_FONT_SELECTION(GTK_FONT_SELECTION_DIALOG(font_dialog)->fontsel), gaim_prefs_get_string(font_prefs[subscript])); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
327 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
328 */ |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
329 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
330 gtk_window_present(GTK_WINDOW(font_dialog)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
331 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
332 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
333 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
334 gaimrc_font_response_special(GtkDialog *font_dialog, gint response, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
335 gpointer data) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
336 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
337 if (response == GTK_RESPONSE_OK) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
338 char *fontname = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
339 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
340 fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(font_dialog)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
341 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
342 gaim_prefs_set_string("/plugins/gtk/gaimrc/gtk-font-name", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
343 fontname); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
344 g_free(fontname); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
345 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
346 gtk_widget_destroy(GTK_WIDGET(font_dialog)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
347 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
348 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
349 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
350 gaimrc_set_font_special(GtkWidget *widget, gpointer data) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
351 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
352 GtkWidget *font_dialog = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
353 const char *font = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
354 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
355 font_dialog = gtk_font_selection_dialog_new(_("Select Interface Font")); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
356 g_signal_connect(G_OBJECT(font_dialog), "response", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
357 G_CALLBACK(gaimrc_font_response_special), NULL); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
358 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
359 font = gaim_prefs_get_string("/plugins/gtk/gaimrc/gtk-font-name"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
360 /* TODO Figure out a way to test for the presence of a value in the |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
361 * actual pref |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
362 printf("font - %s.\n", font); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
363 if (font != NULL && font != "") { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
364 gtk_font_selection_set_font_name(GTK_FONT_SELECTION(GTK_FONT_SELECTION_DIALOG(font_dialog)->fontsel), gaim_prefs_get_string("/plugins/gtk/gaimrc/gtk-font-name")); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
365 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
366 */ |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
367 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
368 gtk_window_present(GTK_WINDOW(font_dialog)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
369 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
370 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
371 static gboolean |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
372 gaimrc_plugin_load(GaimPlugin *plugin) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
373 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
374 gaimrc_make_changes(); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
375 |
10587
c7458b544b15
[gaim-migrate @ 11991]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10586
diff
changeset
|
376 pref_callback = gaim_prefs_connect_callback(plugin, "/plugins/gtk/gaimrc", |
c7458b544b15
[gaim-migrate @ 11991]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10586
diff
changeset
|
377 gaimrc_pref_changed_cb, NULL); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
378 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
379 return TRUE; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
380 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
381 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
382 static gboolean |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
383 gaimrc_plugin_unload(GaimPlugin *plugin) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
384 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
385 gaim_prefs_disconnect_callback(pref_callback); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
386 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
387 return TRUE; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
388 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
389 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
390 static GtkWidget * |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
391 gaimrc_get_config_frame(GaimPlugin *plugin) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
392 { |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
393 GtkWidget *ret = NULL, *frame = NULL, *hbox = NULL, *vbox = NULL; |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
394 /* |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
395 GtkWidget *check = NULL, *widget = NULL, *label = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
396 */ |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
397 GtkWidget *check = NULL, *widget = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
398 GtkSizeGroup *sg = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
399 /* |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
400 char sample[7] = "Sample"; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
401 */ |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
402 int i; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
403 |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
404 ret = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
405 gtk_container_set_border_width(GTK_CONTAINER(ret), GAIM_HIG_BORDER); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
406 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
407 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
408 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
409 frame = gaim_gtk_make_frame(ret, "General"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
410 /* interface font */ |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
411 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
412 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
413 |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10587
diff
changeset
|
414 check = gaim_gtk_prefs_checkbox(_("GTK+ Interface Font"), |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
415 "/plugins/gtk/gaimrc/set/gtk-font-name", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
416 hbox); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
417 gtk_size_group_add_widget(sg, check); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
418 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
419 widget = gaim_pixbuf_button_from_stock("", GTK_STOCK_SELECT_FONT, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
420 GAIM_BUTTON_HORIZONTAL); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
421 gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
422 gtk_widget_set_sensitive(widget, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
423 gaim_prefs_get_bool("/plugins/gtk/gaimrc/set/gtk-font-name")); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
424 g_signal_connect(G_OBJECT(check), "toggled", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
425 G_CALLBACK(gaim_gtk_toggle_sensitive), widget); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
426 g_signal_connect(G_OBJECT(widget), "clicked", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
427 G_CALLBACK(gaimrc_set_font_special), NULL); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
428 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
429 /* key theme name */ |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
430 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
431 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
432 |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10587
diff
changeset
|
433 check = gaim_gtk_prefs_checkbox(_("GTK+ Text Shortcut Theme"), |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
434 "/plugins/gtk/gaimrc/set/gtk-key-theme-name", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
435 hbox); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
436 gtk_size_group_add_widget(sg, check); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
437 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
438 widget = gaim_gtk_prefs_labeled_entry(hbox, "", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
439 "/plugins/gtk/gaimrc/gtk-key-theme-name", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
440 NULL); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
441 gtk_widget_set_sensitive(widget, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
442 gaim_prefs_get_bool("/plugins/gtk/gaimrc/set/gtk-key-theme-name")); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
443 g_signal_connect(G_OBJECT(check), "toggled", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
444 G_CALLBACK(gaim_gtk_toggle_sensitive), widget); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
445 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
446 frame = gaim_gtk_make_frame(ret, "Interface colors"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
447 /* imhtml stuff */ |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
448 for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) { |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
449 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
450 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
451 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
452 check = gaim_gtk_prefs_checkbox(_(color_names[i]), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
453 color_prefs_set[i], hbox); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
454 gtk_size_group_add_widget(sg, check); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
455 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
456 color_widgets[i] = gaim_pixbuf_button_from_stock("", GTK_STOCK_SELECT_COLOR, GAIM_BUTTON_HORIZONTAL); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
457 gtk_size_group_add_widget(sg, color_widgets[i]); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
458 gtk_box_pack_start(GTK_BOX(hbox), color_widgets[i], FALSE, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
459 FALSE, 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
460 gtk_widget_set_sensitive(color_widgets[i], |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
461 gaim_prefs_get_bool(color_prefs_set[i])); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
462 g_signal_connect(G_OBJECT(check), "toggled", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
463 G_CALLBACK(gaim_gtk_toggle_sensitive), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
464 color_widgets[i]); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
465 g_signal_connect(G_OBJECT(color_widgets[i]), "clicked", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
466 G_CALLBACK(gaimrc_set_color), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
467 GINT_TO_POINTER(i)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
468 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
469 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
470 frame = gaim_gtk_make_frame(ret, "Widget Sizes"); |
10585
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
471 /* widget size stuff */ |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
472 for (i = 0; i < G_N_ELEMENTS(widget_size_prefs); i++) { |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
473 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
474 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
475 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
476 check = gaim_gtk_prefs_checkbox(_(widget_size_names[i]), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
477 widget_size_prefs_set[i], hbox); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
478 gtk_size_group_add_widget(sg, check); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
479 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
480 widget_size_widgets[i] = gaim_gtk_prefs_labeled_spin_button(hbox, "", widget_size_prefs[i], 0, 50, sg); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
481 gtk_widget_set_sensitive(widget_size_widgets[i], |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
482 gaim_prefs_get_bool(widget_size_prefs_set[i])); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
483 g_signal_connect(G_OBJECT(check), "toggled", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
484 G_CALLBACK(gaim_gtk_toggle_sensitive), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
485 widget_size_widgets[i]); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
486 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
487 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
488 frame = gaim_gtk_make_frame(ret, "Fonts"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
489 /* imhtml font stuff */ |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
490 for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) { |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
491 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
492 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
493 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
494 check = gaim_gtk_prefs_checkbox(_(font_names[i]), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
495 font_prefs_set[i], hbox); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
496 gtk_size_group_add_widget(sg, check); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
497 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
498 font_widgets[i] = gaim_pixbuf_button_from_stock("", GTK_STOCK_SELECT_FONT, GAIM_BUTTON_HORIZONTAL); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
499 gtk_size_group_add_widget(sg, font_widgets[i]); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
500 gtk_box_pack_start(GTK_BOX(hbox), font_widgets[i], FALSE, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
501 FALSE, 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
502 gtk_widget_set_sensitive(font_widgets[i], |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
503 gaim_prefs_get_bool(font_prefs_set[i])); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
504 g_signal_connect(G_OBJECT(check), "toggled", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
505 G_CALLBACK(gaim_gtk_toggle_sensitive), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
506 font_widgets[i]); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
507 g_signal_connect(G_OBJECT(font_widgets[i]), "clicked", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
508 G_CALLBACK(gaimrc_set_font), GINT_TO_POINTER(i)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
509 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
510 |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
511 frame = gaim_gtk_make_frame(ret, "General"); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
512 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
513 vbox = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
514 gtk_box_pack_start(GTK_BOX(frame), vbox, FALSE, FALSE, 0); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
515 |
11941
bfb56404a9b6
[gaim-migrate @ 14232]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11940
diff
changeset
|
516 check = gtk_button_new_with_label(_("Write a gtkrc file to ~/.gaim/ with these settings")); |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
517 gtk_box_pack_start(GTK_BOX(vbox), check, FALSE, FALSE, 0); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
518 gtk_size_group_add_widget(sg, check); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
519 g_signal_connect(G_OBJECT(check), "clicked", G_CALLBACK(gaimrc_write), |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
520 NULL); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
521 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
522 check = gtk_button_new_with_label(_("Re-read gtkrc files")); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
523 gtk_box_pack_start(GTK_BOX(vbox), check, FALSE, FALSE, 0); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
524 gtk_size_group_add_widget(sg, check); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
525 g_signal_connect(G_OBJECT(check), "clicked", G_CALLBACK(gaimrc_reread), |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
526 NULL); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
527 |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
528 gtk_widget_show_all(ret); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
529 return ret; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
530 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
531 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
532 static GaimGtkPluginUiInfo gaimrc_ui_info = |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
533 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
534 gaimrc_get_config_frame |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
535 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
536 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
537 static GaimPluginInfo gaimrc_info = |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
538 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
539 GAIM_PLUGIN_MAGIC, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
540 GAIM_MAJOR_VERSION, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
541 GAIM_MINOR_VERSION, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
542 GAIM_PLUGIN_STANDARD, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
543 GAIM_GTK_PLUGIN_TYPE, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
544 0, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
545 NULL, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
546 GAIM_PRIORITY_DEFAULT, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
547 "gaimrc", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
548 N_("Gaim GTK+ Theme Control"), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
549 VERSION, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
550 N_("Provides access to commonly used gtkrc settings."), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
551 N_("Provides access to commonly used gtkrc settings."), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
552 "Etan Reisner <deryni@eden.rutgers.edu>", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
553 GAIM_WEBSITE, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
554 gaimrc_plugin_load, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
555 gaimrc_plugin_unload, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
556 NULL, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
557 &gaimrc_ui_info, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
558 NULL, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
559 NULL, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
560 NULL |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
561 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
562 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
563 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
564 gaimrc_init(GaimPlugin *plugin) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
565 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
566 int i; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
567 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
568 gaim_prefs_add_none("/plugins"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
569 gaim_prefs_add_none("/plugins/gtk"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
570 gaim_prefs_add_none("/plugins/gtk/gaimrc"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
571 gaim_prefs_add_none("/plugins/gtk/gaimrc/set"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
572 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
573 gaim_prefs_add_string("/plugins/gtk/gaimrc/gtk-font-name", ""); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
574 gaim_prefs_add_bool("/plugins/gtk/gaimrc/set/gtk-font-name", FALSE); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
575 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
576 gaim_prefs_add_string("/plugins/gtk/gaimrc/gtk-key-theme-name", ""); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
577 gaim_prefs_add_bool("/plugins/gtk/gaimrc/set/gtk-key-theme-name", FALSE); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
578 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
579 gaim_prefs_add_none("/plugins/gtk/gaimrc/color"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
580 gaim_prefs_add_none("/plugins/gtk/gaimrc/set/color"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
581 for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
582 gaim_prefs_add_string(color_prefs[i], ""); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
583 gaim_prefs_add_bool(color_prefs_set[i], FALSE); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
584 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
585 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
586 gaim_prefs_add_none("/plugins/gtk/gaimrc/size"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
587 gaim_prefs_add_none("/plugins/gtk/gaimrc/set/size"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
588 for (i = 0; i < G_N_ELEMENTS(widget_size_prefs); i++) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
589 gaim_prefs_add_int(widget_size_prefs[i], 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
590 gaim_prefs_add_bool(widget_size_prefs_set[i], FALSE); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
591 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
592 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
593 gaim_prefs_add_none("/plugins/gtk/gaimrc/font"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
594 gaim_prefs_add_none("/plugins/gtk/gaimrc/set/font"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
595 for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
596 gaim_prefs_add_string(font_prefs[i], ""); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
597 gaim_prefs_add_bool(font_prefs_set[i], FALSE); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
598 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
599 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
600 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
601 GAIM_INIT_PLUGIN(gaimrc, gaimrc_init, gaimrc_info) |