Mercurial > pidgin.yaz
annotate plugins/gaimrc.c @ 12902:3bf3f489b64b
[gaim-migrate @ 15255]
SF Patch #1406005 from Sadrul
"This is a fix for bug #1386557."
Basically, it moves the emission of "displayed-im-msg"/"displayed-chat-msg".
committer: Tailor Script <tailor@pidgin.im>
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Tue, 17 Jan 2006 01:54:27 +0000 |
parents | ff267281e882 |
children | e25a2315d9e3 |
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 |
12816 | 218 gaimrc_pref_changed_cb(const char *name, GaimPrefType type, |
219 gconstpointer value, gpointer data) | |
10584
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) |