Mercurial > pidgin
annotate plugins/gaimrc.c @ 12301:39fca2edf7da
[gaim-migrate @ 14605]
I only caught this as I was committing, and besides I forgot to mention what
sadrul's patch did. It puts the emblem for the active status on the accounts
in the Accounts menu (he put them in the Remove menu as well but that felt
wrong to me.)
committer: Tailor Script <tailor@pidgin.im>
| author | Etan Reisner <pidgin@unreliablesource.net> |
|---|---|
| date | Sat, 03 Dec 2005 06:50:41 +0000 |
| parents | 17be9401e167 |
| children | ed43c2a7c961 |
| 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 { |
|
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
399 GtkWidget *ret = NULL, *frame = NULL, *hbox = NULL, *vbox = NULL; |
|
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
400 /* |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
401 GtkWidget *check = NULL, *widget = NULL, *label = NULL; |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
402 */ |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
403 GtkWidget *check = NULL, *widget = NULL; |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
404 GtkSizeGroup *sg = NULL; |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
405 /* |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
406 char sample[7] = "Sample"; |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
407 */ |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
408 int i; |
|
12042
01ce8025a1d9
[gaim-migrate @ 14337]
Richard Laager <rlaager@wiktel.com>
parents:
11941
diff
changeset
|
409 char *tmp; |
|
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
410 |
|
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
411 ret = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
|
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
412 gtk_container_set_border_width(GTK_CONTAINER(ret), GAIM_HIG_BORDER); |
|
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 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
415 |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
416 frame = gaim_gtk_make_frame(ret, "General"); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
417 /* interface font */ |
|
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
418 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
|
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
419 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
420 |
|
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10587
diff
changeset
|
421 check = gaim_gtk_prefs_checkbox(_("GTK+ Interface Font"), |
|
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
422 "/plugins/gtk/gaimrc/set/gtk-font-name", |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
423 hbox); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
424 gtk_size_group_add_widget(sg, check); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
425 |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
426 widget = gaim_pixbuf_button_from_stock("", GTK_STOCK_SELECT_FONT, |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
427 GAIM_BUTTON_HORIZONTAL); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
428 gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 0); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
429 gtk_widget_set_sensitive(widget, |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
430 gaim_prefs_get_bool("/plugins/gtk/gaimrc/set/gtk-font-name")); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
431 g_signal_connect(G_OBJECT(check), "toggled", |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
432 G_CALLBACK(gaim_gtk_toggle_sensitive), widget); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
433 g_signal_connect(G_OBJECT(widget), "clicked", |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
434 G_CALLBACK(gaimrc_set_font_special), NULL); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
435 |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
436 /* key theme name */ |
|
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
437 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
|
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
438 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
439 |
|
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10587
diff
changeset
|
440 check = gaim_gtk_prefs_checkbox(_("GTK+ Text Shortcut Theme"), |
|
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
441 "/plugins/gtk/gaimrc/set/gtk-key-theme-name", |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
442 hbox); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
443 gtk_size_group_add_widget(sg, check); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
444 |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
445 widget = gaim_gtk_prefs_labeled_entry(hbox, "", |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
446 "/plugins/gtk/gaimrc/gtk-key-theme-name", |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
447 NULL); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
448 gtk_widget_set_sensitive(widget, |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
449 gaim_prefs_get_bool("/plugins/gtk/gaimrc/set/gtk-key-theme-name")); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
450 g_signal_connect(G_OBJECT(check), "toggled", |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
451 G_CALLBACK(gaim_gtk_toggle_sensitive), widget); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
452 |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
453 frame = gaim_gtk_make_frame(ret, "Interface colors"); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
454 /* imhtml stuff */ |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
455 for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) { |
|
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
456 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
|
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
457 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
458 |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
459 check = gaim_gtk_prefs_checkbox(_(color_names[i]), |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
460 color_prefs_set[i], hbox); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
461 gtk_size_group_add_widget(sg, check); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
462 |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
463 color_widgets[i] = gaim_pixbuf_button_from_stock("", GTK_STOCK_SELECT_COLOR, GAIM_BUTTON_HORIZONTAL); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
464 gtk_size_group_add_widget(sg, color_widgets[i]); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
465 gtk_box_pack_start(GTK_BOX(hbox), color_widgets[i], FALSE, |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
466 FALSE, 0); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
467 gtk_widget_set_sensitive(color_widgets[i], |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
468 gaim_prefs_get_bool(color_prefs_set[i])); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
469 g_signal_connect(G_OBJECT(check), "toggled", |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
470 G_CALLBACK(gaim_gtk_toggle_sensitive), |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
471 color_widgets[i]); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
472 g_signal_connect(G_OBJECT(color_widgets[i]), "clicked", |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
473 G_CALLBACK(gaimrc_set_color), |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
474 GINT_TO_POINTER(i)); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
475 } |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
476 |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
477 frame = gaim_gtk_make_frame(ret, "Widget Sizes"); |
|
10585
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
478 /* widget size stuff */ |
|
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
479 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
|
480 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
|
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
481 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
482 |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
483 check = gaim_gtk_prefs_checkbox(_(widget_size_names[i]), |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
484 widget_size_prefs_set[i], hbox); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
485 gtk_size_group_add_widget(sg, check); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
486 |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
487 widget_size_widgets[i] = gaim_gtk_prefs_labeled_spin_button(hbox, "", widget_size_prefs[i], 0, 50, sg); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
488 gtk_widget_set_sensitive(widget_size_widgets[i], |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
489 gaim_prefs_get_bool(widget_size_prefs_set[i])); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
490 g_signal_connect(G_OBJECT(check), "toggled", |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
491 G_CALLBACK(gaim_gtk_toggle_sensitive), |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
492 widget_size_widgets[i]); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
493 } |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
494 |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
495 frame = gaim_gtk_make_frame(ret, "Fonts"); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
496 /* imhtml font stuff */ |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
497 for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) { |
|
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
498 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
|
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
499 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
500 |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
501 check = gaim_gtk_prefs_checkbox(_(font_names[i]), |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
502 font_prefs_set[i], hbox); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
503 gtk_size_group_add_widget(sg, check); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
504 |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
505 font_widgets[i] = gaim_pixbuf_button_from_stock("", GTK_STOCK_SELECT_FONT, GAIM_BUTTON_HORIZONTAL); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
506 gtk_size_group_add_widget(sg, font_widgets[i]); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
507 gtk_box_pack_start(GTK_BOX(hbox), font_widgets[i], FALSE, |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
508 FALSE, 0); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
509 gtk_widget_set_sensitive(font_widgets[i], |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
510 gaim_prefs_get_bool(font_prefs_set[i])); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
511 g_signal_connect(G_OBJECT(check), "toggled", |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
512 G_CALLBACK(gaim_gtk_toggle_sensitive), |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
513 font_widgets[i]); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
514 g_signal_connect(G_OBJECT(font_widgets[i]), "clicked", |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
515 G_CALLBACK(gaimrc_set_font), GINT_TO_POINTER(i)); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
516 } |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
517 |
|
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
518 frame = gaim_gtk_make_frame(ret, "General"); |
|
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
519 |
|
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
520 vbox = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
|
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
521 gtk_box_pack_start(GTK_BOX(frame), vbox, FALSE, FALSE, 0); |
|
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
522 |
| 12048 | 523 tmp = g_strdup_printf(_("Write a gtkrc file with these settings to %s"), gaim_user_dir()); |
|
12042
01ce8025a1d9
[gaim-migrate @ 14337]
Richard Laager <rlaager@wiktel.com>
parents:
11941
diff
changeset
|
524 check = gtk_button_new_with_label(tmp); |
|
01ce8025a1d9
[gaim-migrate @ 14337]
Richard Laager <rlaager@wiktel.com>
parents:
11941
diff
changeset
|
525 g_free(tmp); |
|
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
526 gtk_box_pack_start(GTK_BOX(vbox), check, FALSE, FALSE, 0); |
|
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
527 gtk_size_group_add_widget(sg, check); |
|
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
528 g_signal_connect(G_OBJECT(check), "clicked", G_CALLBACK(gaimrc_write), |
|
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
529 NULL); |
|
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
530 |
|
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
531 check = gtk_button_new_with_label(_("Re-read gtkrc files")); |
|
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
532 gtk_box_pack_start(GTK_BOX(vbox), check, FALSE, FALSE, 0); |
|
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
533 gtk_size_group_add_widget(sg, check); |
|
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
534 g_signal_connect(G_OBJECT(check), "clicked", G_CALLBACK(gaimrc_reread), |
|
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
535 NULL); |
|
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
536 |
|
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
537 gtk_widget_show_all(ret); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
538 return ret; |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
539 } |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
540 |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
541 static GaimGtkPluginUiInfo gaimrc_ui_info = |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
542 { |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
543 gaimrc_get_config_frame |
|
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 GaimPluginInfo gaimrc_info = |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
547 { |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
548 GAIM_PLUGIN_MAGIC, |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
549 GAIM_MAJOR_VERSION, |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
550 GAIM_MINOR_VERSION, |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
551 GAIM_PLUGIN_STANDARD, |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
552 GAIM_GTK_PLUGIN_TYPE, |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
553 0, |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
554 NULL, |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
555 GAIM_PRIORITY_DEFAULT, |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
556 "gaimrc", |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
557 N_("Gaim GTK+ Theme Control"), |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
558 VERSION, |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
559 N_("Provides access to commonly used gtkrc settings."), |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
560 N_("Provides access to commonly used gtkrc settings."), |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
561 "Etan Reisner <deryni@eden.rutgers.edu>", |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
562 GAIM_WEBSITE, |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
563 gaimrc_plugin_load, |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
564 gaimrc_plugin_unload, |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
565 NULL, |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
566 &gaimrc_ui_info, |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
567 NULL, |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
568 NULL, |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
569 NULL |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
570 }; |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
571 |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
572 static void |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
573 gaimrc_init(GaimPlugin *plugin) |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
574 { |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
575 int i; |
|
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 gaim_prefs_add_none("/plugins"); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
578 gaim_prefs_add_none("/plugins/gtk"); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
579 gaim_prefs_add_none("/plugins/gtk/gaimrc"); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
580 gaim_prefs_add_none("/plugins/gtk/gaimrc/set"); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
581 |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
582 gaim_prefs_add_string("/plugins/gtk/gaimrc/gtk-font-name", ""); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
583 gaim_prefs_add_bool("/plugins/gtk/gaimrc/set/gtk-font-name", FALSE); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
584 |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
585 gaim_prefs_add_string("/plugins/gtk/gaimrc/gtk-key-theme-name", ""); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
586 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
|
587 |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
588 gaim_prefs_add_none("/plugins/gtk/gaimrc/color"); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
589 gaim_prefs_add_none("/plugins/gtk/gaimrc/set/color"); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
590 for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) { |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
591 gaim_prefs_add_string(color_prefs[i], ""); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
592 gaim_prefs_add_bool(color_prefs_set[i], 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 |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
595 gaim_prefs_add_none("/plugins/gtk/gaimrc/size"); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
596 gaim_prefs_add_none("/plugins/gtk/gaimrc/set/size"); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
597 for (i = 0; i < G_N_ELEMENTS(widget_size_prefs); i++) { |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
598 gaim_prefs_add_int(widget_size_prefs[i], 0); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
599 gaim_prefs_add_bool(widget_size_prefs_set[i], FALSE); |
|
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 |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
602 gaim_prefs_add_none("/plugins/gtk/gaimrc/font"); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
603 gaim_prefs_add_none("/plugins/gtk/gaimrc/set/font"); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
604 for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) { |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
605 gaim_prefs_add_string(font_prefs[i], ""); |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
606 gaim_prefs_add_bool(font_prefs_set[i], FALSE); |
|
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 } |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
609 |
|
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
610 GAIM_INIT_PLUGIN(gaimrc, gaimrc_init, gaimrc_info) |
