Mercurial > pidgin.yaz
annotate plugins/gaimrc.c @ 12798:09d4ea834370
[gaim-migrate @ 15145]
SF Patch #1389870 from Bleeter, building on work in SF Patch #1114194 from Alex Badea
"Following on from #1114194, where I thought that
sending audibles is a little twitty because we can't
see what's going on, I also noted that it would be nice
if we could display the URL wheree the audible swf file
lived. The example URL provided only supported US
locales, which also needed addressing.
I've tested this patch with the Taiwain audible, named
within the patch, by confirming that the URL pattern
match actually works. Whether it actually works when
sent from a Taiwanese YIM native client, I have no
idea. It looks like it should.
Just to re-iterate: This patch displays the the
received audible's URL and text only, not the audible
swf file itself, nor does it send anything."
committer: Tailor Script <tailor@pidgin.im>
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Mon, 09 Jan 2006 22:28:17 +0000 |
parents | e856f985a0b9 |
children | ff267281e882 |
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" |
12044
6e6f5e4b40c0
[gaim-migrate @ 14339]
Richard Laager <rlaager@wiktel.com>
parents:
12042
diff
changeset
|
25 #include "util.h" |
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[] = { |
12201
6f0254e3c4a0
[gaim-migrate @ 14503]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12048
diff
changeset
|
48 "/plugins/gtk/gaimrc/size/GtkTreeView::expander_size", |
6f0254e3c4a0
[gaim-migrate @ 14503]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12048
diff
changeset
|
49 "/plugins/gtk/gaimrc/size/GtkTreeView::indent_expanders", |
6f0254e3c4a0
[gaim-migrate @ 14503]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12048
diff
changeset
|
50 "/plugins/gtk/gaimrc/size/GtkTreeView::horizontal_separator" |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
51 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
52 static const char *widget_size_prefs_set[] = { |
12201
6f0254e3c4a0
[gaim-migrate @ 14503]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12048
diff
changeset
|
53 "/plugins/gtk/gaimrc/set/size/GtkTreeView::expander_size", |
6f0254e3c4a0
[gaim-migrate @ 14503]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12048
diff
changeset
|
54 "/plugins/gtk/gaimrc/set/size/GtkTreeView::indent_expanders", |
6f0254e3c4a0
[gaim-migrate @ 14503]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12048
diff
changeset
|
55 "/plugins/gtk/gaimrc/set/size/GtkTreeView::horizontal_separator" |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
56 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
57 static const char *widget_size_names[] = { |
12201
6f0254e3c4a0
[gaim-migrate @ 14503]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12048
diff
changeset
|
58 N_("GtkTreeView Expander Size"), |
6f0254e3c4a0
[gaim-migrate @ 14503]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12048
diff
changeset
|
59 N_("GtkTreeView Expander Indentation"), |
6f0254e3c4a0
[gaim-migrate @ 14503]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12048
diff
changeset
|
60 N_("GtkTreeView Horizontal Separation") |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
61 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
62 static GtkWidget *widget_size_widgets[G_N_ELEMENTS(widget_size_prefs)]; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
63 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
64 static const char *font_prefs[] = { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
65 "/plugins/gtk/gaimrc/font/*gaim_gtkconv_entry", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
66 "/plugins/gtk/gaimrc/font/*gaim_gtkconv_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
67 "/plugins/gtk/gaimrc/font/*gaim_gtklog_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
68 "/plugins/gtk/gaimrc/font/*gaim_gtkrequest_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
69 "/plugins/gtk/gaimrc/font/*gaim_gtknotify_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
70 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
71 static const char *font_prefs_set[] = { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
72 "/plugins/gtk/gaimrc/set/font/*gaim_gtkconv_entry", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
73 "/plugins/gtk/gaimrc/set/font/*gaim_gtkconv_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
74 "/plugins/gtk/gaimrc/set/font/*gaim_gtklog_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
75 "/plugins/gtk/gaimrc/set/font/*gaim_gtkrequest_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
76 "/plugins/gtk/gaimrc/set/font/*gaim_gtknotify_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
77 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
78 static const char *font_names[] = { |
10585
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
79 N_("Conversation Entry"), |
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
80 N_("Conversation History"), |
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
81 N_("Log Viewer"), |
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
82 N_("Request Dialog"), |
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
83 N_("Notify Dialog") |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
84 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
85 static GtkWidget *font_widgets[G_N_ELEMENTS(font_prefs)]; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
86 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
87 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
88 gaimrc_make_changes() |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
89 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
90 int i; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
91 GString *style_string = g_string_new(""); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
92 char *prefbase = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
93 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
94 if (gaim_prefs_get_bool("/plugins/gtk/gaimrc/set/gtk-font-name")) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
95 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
|
96 g_string_append_printf(style_string, "gtk-font-name = \"%s\"\n", pref); |
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 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
99 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
|
100 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
|
101 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
|
102 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
103 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
104 g_string_append(style_string, "style \"gaimrc_style\" {\n"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
105 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
106 for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
107 if (gaim_prefs_get_bool(color_prefs_set[i])) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
108 prefbase = g_path_get_basename(color_prefs[i]); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
109 g_string_append_printf(style_string, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
110 "%s = \"%s\"\n", prefbase, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
111 gaim_prefs_get_string(color_prefs[i])); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
112 g_free(prefbase); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
113 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
114 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
115 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
116 for (i = 0; i < G_N_ELEMENTS(widget_size_prefs); i++) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
117 if (gaim_prefs_get_bool(widget_size_prefs_set[i])) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
118 prefbase = g_path_get_basename(widget_size_prefs[i]); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
119 g_string_append_printf(style_string, |
11862 | 120 "%s = %d\n", prefbase, |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
121 gaim_prefs_get_int(widget_size_prefs[i])); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
122 g_free(prefbase); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
123 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
124 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
125 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
126 g_string_append(style_string, "}"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
127 g_string_append(style_string, "widget_class \"*\" style \"gaimrc_style\"\n"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
128 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
129 for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
130 if (gaim_prefs_get_bool(font_prefs_set[i])) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
131 prefbase = g_path_get_basename(font_prefs[i]); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
132 g_string_append_printf(style_string, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
133 "style \"%s_style\"\n" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
134 "{font_name = \"%s\"}\n" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
135 "widget \"%s\"" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
136 "style \"%s_style\"\n", prefbase, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
137 gaim_prefs_get_string(font_prefs[i]), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
138 prefbase, prefbase); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
139 g_free(prefbase); |
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 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
143 gtk_rc_parse_string(style_string->str); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
144 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
145 g_string_free(style_string, TRUE); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
146 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
147 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
148 static void |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
149 gaimrc_write(GtkWidget *widget, gpointer data) |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
150 { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
151 int i; |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
152 GString *style_string = g_string_new(""); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
153 char *prefbase = NULL; |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
154 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
155 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
|
156 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
|
157 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
|
158 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
159 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
160 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
|
161 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
|
162 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
|
163 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
164 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
165 g_string_append(style_string, "style \"gaimrc_style\" {\n"); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
166 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
167 for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
168 if (gaim_prefs_get_bool(color_prefs_set[i])) { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
169 prefbase = g_path_get_basename(color_prefs[i]); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
170 g_string_append_printf(style_string, |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
171 "%s = \"%s\"\n", prefbase, |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
172 gaim_prefs_get_string(color_prefs[i])); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
173 g_free(prefbase); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
174 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
175 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
176 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
177 for (i = 0; i < G_N_ELEMENTS(widget_size_prefs); i++) { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
178 if (gaim_prefs_get_bool(widget_size_prefs_set[i])) { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
179 prefbase = g_path_get_basename(widget_size_prefs[i]); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
180 g_string_append_printf(style_string, |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
181 "%s = %d\n", prefbase, |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
182 gaim_prefs_get_int(widget_size_prefs[i])); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
183 g_free(prefbase); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
184 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
185 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
186 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
187 g_string_append(style_string, "}"); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
188 g_string_append(style_string, "widget_class \"*\" style \"gaimrc_style\"\n"); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
189 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
190 for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
191 if (gaim_prefs_get_bool(font_prefs_set[i])) { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
192 prefbase = g_path_get_basename(font_prefs[i]); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
193 g_string_append_printf(style_string, |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
194 "style \"%s_style\"\n" |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
195 "{font_name = \"%s\"}\n" |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
196 "widget \"%s\"" |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
197 "style \"%s_style\"\n", prefbase, |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
198 gaim_prefs_get_string(font_prefs[i]), |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
199 prefbase, prefbase); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
200 g_free(prefbase); |
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 |
12202
17be9401e167
[gaim-migrate @ 14504]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12201
diff
changeset
|
204 gaim_util_write_data_to_file("gtkrc-2.0", style_string->str, -1); |
11940
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 g_string_free(style_string, TRUE); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
207 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
208 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
209 static void |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
210 gaimrc_reread(GtkWidget *widget, gpointer data) |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
211 { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
212 gtk_rc_reparse_all(); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
213 /* 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
|
214 gaimrc_make_changes(); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
215 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
216 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
217 static void |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
218 gaimrc_pref_changed_cb(const char *name, GaimPrefType type, gpointer value, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
219 gpointer data) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
220 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
221 GString *style_string = g_string_new(""); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
222 char *prefbase = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
223 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
224 prefbase = g_path_get_basename(name); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
225 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
226 if (strncmp(name, "/plugins/gtk/gaimrc/color", 25) == 0) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
227 g_string_printf(style_string, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
228 "style \"gaimrc_style\" { %s = \"%s\" }" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
229 "widget_class \"*\" style \"gaimrc_style\"", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
230 prefbase, (char *)value); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
231 } else if (strncmp(name, "/plugins/gtk/gaimrc/size", 24) == 0) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
232 g_string_printf(style_string, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
233 "style \"gaimrc_style\" { %s = \"%d\" }" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
234 "widget_class \"*\" style \"gaimrc_style\"", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
235 prefbase, GPOINTER_TO_INT(value)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
236 } else if (strncmp(name, "/plugins/gtk/gaimrc/font", 24) == 0) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
237 g_string_printf(style_string, "style \"%s_style\"" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
238 "{ font_name = \"%s\" } widget \"%s\"" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
239 "style \"%s_style\"", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
240 prefbase, (char *)value, prefbase, prefbase); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
241 } else if (strncmp(name, "/plugins/gtk/gaimrc/set", 23) == 0) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
242 if (value) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
243 gaimrc_make_changes(); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
244 g_string_free(style_string, TRUE); |
11862 | 245 g_free(prefbase); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
246 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
247 return; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
248 } else { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
249 g_string_printf(style_string, "%s = \"%s\"", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
250 prefbase, (char *)value); |
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 gtk_rc_parse_string(style_string->str); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
253 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
254 g_string_free(style_string, TRUE); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
255 g_free(prefbase); |
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 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
258 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
259 gaimrc_color_response(GtkDialog *color_dialog, gint response, gpointer data) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
260 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
261 int subscript = GPOINTER_TO_INT(data); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
262 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
263 if (response == GTK_RESPONSE_OK) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
264 GtkWidget *colorsel = GTK_COLOR_SELECTION_DIALOG(color_dialog)->colorsel; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
265 GdkColor color; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
266 char colorstr[8]; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
267 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
268 gtk_color_selection_get_current_color(GTK_COLOR_SELECTION(colorsel), &color); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
269 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
270 g_snprintf(colorstr, sizeof(colorstr), "#%02X%02X%02X", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
271 color.red/256, color.green/256, color.blue/256); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
272 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
273 gaim_prefs_set_string(color_prefs[subscript], colorstr); |
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 gtk_widget_destroy(GTK_WIDGET(color_dialog)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
276 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
277 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
278 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
279 gaimrc_set_color(GtkWidget *widget, gpointer data) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
280 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
281 GtkWidget *color_dialog = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
282 GdkColor color; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
283 char title[128]; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
284 int subscript = GPOINTER_TO_INT(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 g_snprintf(title, sizeof(title), _("Select Color for %s"), |
10586
eb2e5f06452a
[gaim-migrate @ 11990]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10585
diff
changeset
|
287 _(color_names[GPOINTER_TO_INT(data)])); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
288 color_dialog = gtk_color_selection_dialog_new(_("Select Color")); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
289 g_signal_connect(G_OBJECT(color_dialog), "response", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
290 G_CALLBACK(gaimrc_color_response), data); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
291 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
292 if (gdk_color_parse(gaim_prefs_get_string(color_prefs[subscript]), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
293 &color)) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
294 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
|
295 } |
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 gtk_window_present(GTK_WINDOW(color_dialog)); |
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 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
300 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
301 gaimrc_font_response(GtkDialog *font_dialog, gint response, gpointer data) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
302 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
303 int subscript = GPOINTER_TO_INT(data); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
304 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
305 if (response == GTK_RESPONSE_OK) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
306 char *fontname = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
307 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
308 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
|
309 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
310 gaim_prefs_set_string(font_prefs[subscript], fontname); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
311 g_free(fontname); |
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 gtk_widget_destroy(GTK_WIDGET(font_dialog)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
314 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
315 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
316 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
317 gaimrc_set_font(GtkWidget *widget, gpointer data) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
318 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
319 GtkWidget *font_dialog = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
320 char title[128]; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
321 int subscript = GPOINTER_TO_INT(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 g_snprintf(title, sizeof(title), _("Select Font for %s"), |
10586
eb2e5f06452a
[gaim-migrate @ 11990]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10585
diff
changeset
|
324 _(font_names[subscript])); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
325 font_dialog = gtk_font_selection_dialog_new(title); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
326 g_signal_connect(G_OBJECT(font_dialog), "response", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
327 G_CALLBACK(gaimrc_font_response), data); |
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 /* 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
|
330 * actual pref |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
331 if (gaim_prefs_get_bool(font_prefs[subscript])) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
332 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
|
333 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
334 */ |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
335 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
336 gtk_window_present(GTK_WINDOW(font_dialog)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
337 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
338 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
339 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
340 gaimrc_font_response_special(GtkDialog *font_dialog, gint response, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
341 gpointer data) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
342 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
343 if (response == GTK_RESPONSE_OK) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
344 char *fontname = NULL; |
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 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
|
347 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
348 gaim_prefs_set_string("/plugins/gtk/gaimrc/gtk-font-name", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
349 fontname); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
350 g_free(fontname); |
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 gtk_widget_destroy(GTK_WIDGET(font_dialog)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
353 } |
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 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
356 gaimrc_set_font_special(GtkWidget *widget, gpointer data) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
357 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
358 GtkWidget *font_dialog = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
359 const char *font = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
360 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
361 font_dialog = gtk_font_selection_dialog_new(_("Select Interface Font")); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
362 g_signal_connect(G_OBJECT(font_dialog), "response", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
363 G_CALLBACK(gaimrc_font_response_special), NULL); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
364 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
365 font = gaim_prefs_get_string("/plugins/gtk/gaimrc/gtk-font-name"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
366 /* 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
|
367 * actual pref |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
368 printf("font - %s.\n", font); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
369 if (font != NULL && font != "") { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
370 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
|
371 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
372 */ |
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 gtk_window_present(GTK_WINDOW(font_dialog)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
375 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
376 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
377 static gboolean |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
378 gaimrc_plugin_load(GaimPlugin *plugin) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
379 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
380 gaimrc_make_changes(); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
381 |
10587
c7458b544b15
[gaim-migrate @ 11991]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10586
diff
changeset
|
382 pref_callback = gaim_prefs_connect_callback(plugin, "/plugins/gtk/gaimrc", |
c7458b544b15
[gaim-migrate @ 11991]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10586
diff
changeset
|
383 gaimrc_pref_changed_cb, NULL); |
10584
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 return TRUE; |
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 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
388 static gboolean |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
389 gaimrc_plugin_unload(GaimPlugin *plugin) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
390 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
391 gaim_prefs_disconnect_callback(pref_callback); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
392 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
393 return TRUE; |
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 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
396 static GtkWidget * |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
397 gaimrc_get_config_frame(GaimPlugin *plugin) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
398 { |
12546
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
399 /* Note: Intentionally not using the size group argument to the |
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
400 * gaim_gtk_prefs_labeled_* functions they only add the text label to |
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
401 * the size group not the whole thing, which isn't what I want. */ |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
402 int i; |
12042
01ce8025a1d9
[gaim-migrate @ 14337]
Richard Laager <rlaager@wiktel.com>
parents:
11941
diff
changeset
|
403 char *tmp; |
12546
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
404 GtkWidget *check = NULL, *widget = NULL; |
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
405 GtkSizeGroup *labelsg = NULL, *widgetsg = NULL; |
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
406 GtkWidget *ret = NULL, *frame = NULL, *hbox = NULL, *vbox = NULL; |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
407 |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
408 ret = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
409 gtk_container_set_border_width(GTK_CONTAINER(ret), GAIM_HIG_BORDER); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
410 |
12546
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
411 labelsg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
412 widgetsg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
413 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
414 frame = gaim_gtk_make_frame(ret, "General"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
415 /* interface font */ |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
416 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
417 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
418 |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10587
diff
changeset
|
419 check = gaim_gtk_prefs_checkbox(_("GTK+ Interface Font"), |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
420 "/plugins/gtk/gaimrc/set/gtk-font-name", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
421 hbox); |
12546
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
422 gtk_size_group_add_widget(labelsg, check); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
423 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
424 widget = gaim_pixbuf_button_from_stock("", GTK_STOCK_SELECT_FONT, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
425 GAIM_BUTTON_HORIZONTAL); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
426 gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 0); |
12546
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
427 gtk_size_group_add_widget(widgetsg, widget); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
428 gtk_widget_set_sensitive(widget, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
429 gaim_prefs_get_bool("/plugins/gtk/gaimrc/set/gtk-font-name")); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
430 g_signal_connect(G_OBJECT(check), "toggled", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
431 G_CALLBACK(gaim_gtk_toggle_sensitive), widget); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
432 g_signal_connect(G_OBJECT(widget), "clicked", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
433 G_CALLBACK(gaimrc_set_font_special), NULL); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
434 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
435 /* key theme name */ |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
436 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
437 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
438 |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10587
diff
changeset
|
439 check = gaim_gtk_prefs_checkbox(_("GTK+ Text Shortcut Theme"), |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
440 "/plugins/gtk/gaimrc/set/gtk-key-theme-name", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
441 hbox); |
12546
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
442 gtk_size_group_add_widget(labelsg, check); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
443 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
444 widget = gaim_gtk_prefs_labeled_entry(hbox, "", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
445 "/plugins/gtk/gaimrc/gtk-key-theme-name", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
446 NULL); |
12546
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
447 /* |
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
448 gtk_size_group_add_widget(widgetsg, widget); |
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
449 */ |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
450 gtk_widget_set_sensitive(widget, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
451 gaim_prefs_get_bool("/plugins/gtk/gaimrc/set/gtk-key-theme-name")); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
452 g_signal_connect(G_OBJECT(check), "toggled", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
453 G_CALLBACK(gaim_gtk_toggle_sensitive), widget); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
454 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
455 frame = gaim_gtk_make_frame(ret, "Interface colors"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
456 /* imhtml stuff */ |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
457 for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) { |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
458 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
459 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
460 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
461 check = gaim_gtk_prefs_checkbox(_(color_names[i]), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
462 color_prefs_set[i], hbox); |
12546
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
463 gtk_size_group_add_widget(labelsg, check); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
464 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
465 color_widgets[i] = gaim_pixbuf_button_from_stock("", GTK_STOCK_SELECT_COLOR, GAIM_BUTTON_HORIZONTAL); |
12546
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
466 gtk_size_group_add_widget(widgetsg, color_widgets[i]); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
467 gtk_box_pack_start(GTK_BOX(hbox), color_widgets[i], FALSE, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
468 FALSE, 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
469 gtk_widget_set_sensitive(color_widgets[i], |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
470 gaim_prefs_get_bool(color_prefs_set[i])); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
471 g_signal_connect(G_OBJECT(check), "toggled", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
472 G_CALLBACK(gaim_gtk_toggle_sensitive), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
473 color_widgets[i]); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
474 g_signal_connect(G_OBJECT(color_widgets[i]), "clicked", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
475 G_CALLBACK(gaimrc_set_color), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
476 GINT_TO_POINTER(i)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
477 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
478 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
479 frame = gaim_gtk_make_frame(ret, "Widget Sizes"); |
10585
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
480 /* widget size stuff */ |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
481 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
|
482 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
483 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
484 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
485 check = gaim_gtk_prefs_checkbox(_(widget_size_names[i]), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
486 widget_size_prefs_set[i], hbox); |
12546
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
487 gtk_size_group_add_widget(labelsg, check); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
488 |
12546
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
489 widget_size_widgets[i] = gaim_gtk_prefs_labeled_spin_button(hbox, "", widget_size_prefs[i], 0, 50, NULL); |
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
490 /* |
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
491 gtk_size_group_add_widget(widgetsg, widget_size_widgets[i]); |
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
492 */ |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
493 gtk_widget_set_sensitive(widget_size_widgets[i], |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
494 gaim_prefs_get_bool(widget_size_prefs_set[i])); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
495 g_signal_connect(G_OBJECT(check), "toggled", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
496 G_CALLBACK(gaim_gtk_toggle_sensitive), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
497 widget_size_widgets[i]); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
498 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
499 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
500 frame = gaim_gtk_make_frame(ret, "Fonts"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
501 /* imhtml font stuff */ |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
502 for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) { |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
503 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
504 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
505 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
506 check = gaim_gtk_prefs_checkbox(_(font_names[i]), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
507 font_prefs_set[i], hbox); |
12546
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
508 gtk_size_group_add_widget(labelsg, check); |
10584
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 font_widgets[i] = gaim_pixbuf_button_from_stock("", GTK_STOCK_SELECT_FONT, GAIM_BUTTON_HORIZONTAL); |
12546
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
511 gtk_size_group_add_widget(widgetsg, font_widgets[i]); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
512 gtk_box_pack_start(GTK_BOX(hbox), font_widgets[i], FALSE, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
513 FALSE, 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
514 gtk_widget_set_sensitive(font_widgets[i], |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
515 gaim_prefs_get_bool(font_prefs_set[i])); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
516 g_signal_connect(G_OBJECT(check), "toggled", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
517 G_CALLBACK(gaim_gtk_toggle_sensitive), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
518 font_widgets[i]); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
519 g_signal_connect(G_OBJECT(font_widgets[i]), "clicked", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
520 G_CALLBACK(gaimrc_set_font), GINT_TO_POINTER(i)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
521 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
522 |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
523 frame = gaim_gtk_make_frame(ret, "General"); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
524 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
525 vbox = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
526 gtk_box_pack_start(GTK_BOX(frame), vbox, FALSE, FALSE, 0); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
527 |
12567
1ddbfe726e43
[gaim-migrate @ 14886]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12564
diff
changeset
|
528 tmp = g_strdup_printf(_("Write settings to %s%sgtkrc-2.0"), gaim_user_dir(), G_DIR_SEPARATOR_S); |
12042
01ce8025a1d9
[gaim-migrate @ 14337]
Richard Laager <rlaager@wiktel.com>
parents:
11941
diff
changeset
|
529 check = gtk_button_new_with_label(tmp); |
01ce8025a1d9
[gaim-migrate @ 14337]
Richard Laager <rlaager@wiktel.com>
parents:
11941
diff
changeset
|
530 g_free(tmp); |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
531 gtk_box_pack_start(GTK_BOX(vbox), check, FALSE, FALSE, 0); |
12546
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
532 gtk_size_group_add_widget(labelsg, check); |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
533 g_signal_connect(G_OBJECT(check), "clicked", G_CALLBACK(gaimrc_write), |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
534 NULL); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
535 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
536 check = gtk_button_new_with_label(_("Re-read gtkrc files")); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
537 gtk_box_pack_start(GTK_BOX(vbox), check, FALSE, FALSE, 0); |
12546
ed43c2a7c961
[gaim-migrate @ 14864]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12202
diff
changeset
|
538 gtk_size_group_add_widget(labelsg, check); |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
539 g_signal_connect(G_OBJECT(check), "clicked", G_CALLBACK(gaimrc_reread), |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
540 NULL); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
541 |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
542 gtk_widget_show_all(ret); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
543 return ret; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
544 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
545 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
546 static GaimGtkPluginUiInfo gaimrc_ui_info = |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
547 { |
12600
e856f985a0b9
[gaim-migrate @ 14934]
Richard Laager <rlaager@wiktel.com>
parents:
12567
diff
changeset
|
548 gaimrc_get_config_frame, |
e856f985a0b9
[gaim-migrate @ 14934]
Richard Laager <rlaager@wiktel.com>
parents:
12567
diff
changeset
|
549 0 /* page_num (Reserved) */ |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
550 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
551 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
552 static GaimPluginInfo gaimrc_info = |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
553 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
554 GAIM_PLUGIN_MAGIC, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
555 GAIM_MAJOR_VERSION, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
556 GAIM_MINOR_VERSION, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
557 GAIM_PLUGIN_STANDARD, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
558 GAIM_GTK_PLUGIN_TYPE, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
559 0, |
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 GAIM_PRIORITY_DEFAULT, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
562 "gaimrc", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
563 N_("Gaim GTK+ Theme Control"), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
564 VERSION, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
565 N_("Provides access to commonly used gtkrc settings."), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
566 N_("Provides access to commonly used gtkrc settings."), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
567 "Etan Reisner <deryni@eden.rutgers.edu>", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
568 GAIM_WEBSITE, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
569 gaimrc_plugin_load, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
570 gaimrc_plugin_unload, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
571 NULL, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
572 &gaimrc_ui_info, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
573 NULL, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
574 NULL, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
575 NULL |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
576 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
577 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
578 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
579 gaimrc_init(GaimPlugin *plugin) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
580 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
581 int i; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
582 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
583 gaim_prefs_add_none("/plugins"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
584 gaim_prefs_add_none("/plugins/gtk"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
585 gaim_prefs_add_none("/plugins/gtk/gaimrc"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
586 gaim_prefs_add_none("/plugins/gtk/gaimrc/set"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
587 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
588 gaim_prefs_add_string("/plugins/gtk/gaimrc/gtk-font-name", ""); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
589 gaim_prefs_add_bool("/plugins/gtk/gaimrc/set/gtk-font-name", FALSE); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
590 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
591 gaim_prefs_add_string("/plugins/gtk/gaimrc/gtk-key-theme-name", ""); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
592 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
|
593 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
594 gaim_prefs_add_none("/plugins/gtk/gaimrc/color"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
595 gaim_prefs_add_none("/plugins/gtk/gaimrc/set/color"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
596 for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
597 gaim_prefs_add_string(color_prefs[i], ""); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
598 gaim_prefs_add_bool(color_prefs_set[i], FALSE); |
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_prefs_add_none("/plugins/gtk/gaimrc/size"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
602 gaim_prefs_add_none("/plugins/gtk/gaimrc/set/size"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
603 for (i = 0; i < G_N_ELEMENTS(widget_size_prefs); i++) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
604 gaim_prefs_add_int(widget_size_prefs[i], 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
605 gaim_prefs_add_bool(widget_size_prefs_set[i], FALSE); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
606 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
607 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
608 gaim_prefs_add_none("/plugins/gtk/gaimrc/font"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
609 gaim_prefs_add_none("/plugins/gtk/gaimrc/set/font"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
610 for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
611 gaim_prefs_add_string(font_prefs[i], ""); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
612 gaim_prefs_add_bool(font_prefs_set[i], FALSE); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
613 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
614 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
615 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
616 GAIM_INIT_PLUGIN(gaimrc, gaimrc_init, gaimrc_info) |