Mercurial > pidgin.yaz
annotate plugins/gaimrc.c @ 12095:16be443fe00d
[gaim-migrate @ 14392]
Some updates. The Jeopardy! college tournament last week and
this week is at the RBC Center in Raleigh, NC. It's the basketball
area where the NC State Wolfpack play and the NHL Carolina Hurricanes.
I was there for the taping of the last two episodes. They'll be
aired this Thursday and Friday. You should watch, maybe you'll
see me! Of course, you don't have any idea what I look like.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Mon, 14 Nov 2005 23:53:57 +0000 |
parents | 6a95efdd1414 |
children | 6f0254e3c4a0 |
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[] = { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
48 "/plugins/gtk/gaimrc/size/GtkTreeView::expander_size" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
49 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
50 static const char *widget_size_prefs_set[] = { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
51 "/plugins/gtk/gaimrc/set/size/GtkTreeView::expander_size" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
52 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
53 static const char *widget_size_names[] = { |
10585
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
54 N_("GtkTreeView Expander Size") |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
55 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
56 static GtkWidget *widget_size_widgets[G_N_ELEMENTS(widget_size_prefs)]; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
57 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
58 static const char *font_prefs[] = { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
59 "/plugins/gtk/gaimrc/font/*gaim_gtkconv_entry", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
60 "/plugins/gtk/gaimrc/font/*gaim_gtkconv_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
61 "/plugins/gtk/gaimrc/font/*gaim_gtklog_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
62 "/plugins/gtk/gaimrc/font/*gaim_gtkrequest_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
63 "/plugins/gtk/gaimrc/font/*gaim_gtknotify_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
64 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
65 static const char *font_prefs_set[] = { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
66 "/plugins/gtk/gaimrc/set/font/*gaim_gtkconv_entry", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
67 "/plugins/gtk/gaimrc/set/font/*gaim_gtkconv_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
68 "/plugins/gtk/gaimrc/set/font/*gaim_gtklog_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
69 "/plugins/gtk/gaimrc/set/font/*gaim_gtkrequest_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
70 "/plugins/gtk/gaimrc/set/font/*gaim_gtknotify_imhtml", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
71 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
72 static const char *font_names[] = { |
10585
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
73 N_("Conversation Entry"), |
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
74 N_("Conversation History"), |
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
75 N_("Log Viewer"), |
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
76 N_("Request Dialog"), |
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
77 N_("Notify Dialog") |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
78 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
79 static GtkWidget *font_widgets[G_N_ELEMENTS(font_prefs)]; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
80 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
81 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
82 gaimrc_make_changes() |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
83 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
84 int i; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
85 GString *style_string = g_string_new(""); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
86 char *prefbase = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
87 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
88 if (gaim_prefs_get_bool("/plugins/gtk/gaimrc/set/gtk-font-name")) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
89 const char *pref = gaim_prefs_get_string("/plugins/gtk/gaimrc/gtk-font-name"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
90 g_string_append_printf(style_string, "gtk-font-name = \"%s\"\n", pref); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
91 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
92 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
93 if (gaim_prefs_get_bool("/plugins/gtk/gaimrc/set/gtk-key-theme-name")) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
94 const char *pref = gaim_prefs_get_string("/plugins/gtk/gaimrc/gtk-key-theme-name"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
95 g_string_append_printf(style_string, "gtk-key-theme-name = \"%s\"\n", pref); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
96 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
97 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
98 g_string_append(style_string, "style \"gaimrc_style\" {\n"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
99 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
100 for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
101 if (gaim_prefs_get_bool(color_prefs_set[i])) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
102 prefbase = g_path_get_basename(color_prefs[i]); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
103 g_string_append_printf(style_string, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
104 "%s = \"%s\"\n", prefbase, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
105 gaim_prefs_get_string(color_prefs[i])); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
106 g_free(prefbase); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
107 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
108 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
109 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
110 for (i = 0; i < G_N_ELEMENTS(widget_size_prefs); i++) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
111 if (gaim_prefs_get_bool(widget_size_prefs_set[i])) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
112 prefbase = g_path_get_basename(widget_size_prefs[i]); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
113 g_string_append_printf(style_string, |
11862 | 114 "%s = %d\n", prefbase, |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
115 gaim_prefs_get_int(widget_size_prefs[i])); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
116 g_free(prefbase); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
117 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
118 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
119 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
120 g_string_append(style_string, "}"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
121 g_string_append(style_string, "widget_class \"*\" style \"gaimrc_style\"\n"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
122 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
123 for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
124 if (gaim_prefs_get_bool(font_prefs_set[i])) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
125 prefbase = g_path_get_basename(font_prefs[i]); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
126 g_string_append_printf(style_string, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
127 "style \"%s_style\"\n" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
128 "{font_name = \"%s\"}\n" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
129 "widget \"%s\"" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
130 "style \"%s_style\"\n", prefbase, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
131 gaim_prefs_get_string(font_prefs[i]), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
132 prefbase, prefbase); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
133 g_free(prefbase); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
134 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
135 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
136 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
137 gtk_rc_parse_string(style_string->str); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
138 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
139 g_string_free(style_string, TRUE); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
140 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
141 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
142 static void |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
143 gaimrc_write(GtkWidget *widget, gpointer data) |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
144 { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
145 int i; |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
146 GString *style_string = g_string_new(""); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
147 char *prefbase = NULL; |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
148 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
149 if (gaim_prefs_get_bool("/plugins/gtk/gaimrc/set/gtk-font-name")) { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
150 const char *pref = gaim_prefs_get_string("/plugins/gtk/gaimrc/gtk-font-name"); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
151 g_string_append_printf(style_string, "gtk-font-name = \"%s\"\n", pref); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
152 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
153 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
154 if (gaim_prefs_get_bool("/plugins/gtk/gaimrc/set/gtk-key-theme-name")) { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
155 const char *pref = gaim_prefs_get_string("/plugins/gtk/gaimrc/gtk-key-theme-name"); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
156 g_string_append_printf(style_string, "gtk-key-theme-name = \"%s\"\n", pref); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
157 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
158 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
159 g_string_append(style_string, "style \"gaimrc_style\" {\n"); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
160 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
161 for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
162 if (gaim_prefs_get_bool(color_prefs_set[i])) { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
163 prefbase = g_path_get_basename(color_prefs[i]); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
164 g_string_append_printf(style_string, |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
165 "%s = \"%s\"\n", prefbase, |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
166 gaim_prefs_get_string(color_prefs[i])); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
167 g_free(prefbase); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
168 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
169 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
170 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
171 for (i = 0; i < G_N_ELEMENTS(widget_size_prefs); i++) { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
172 if (gaim_prefs_get_bool(widget_size_prefs_set[i])) { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
173 prefbase = g_path_get_basename(widget_size_prefs[i]); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
174 g_string_append_printf(style_string, |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
175 "%s = %d\n", prefbase, |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
176 gaim_prefs_get_int(widget_size_prefs[i])); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
177 g_free(prefbase); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
178 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
179 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
180 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
181 g_string_append(style_string, "}"); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
182 g_string_append(style_string, "widget_class \"*\" style \"gaimrc_style\"\n"); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
183 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
184 for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
185 if (gaim_prefs_get_bool(font_prefs_set[i])) { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
186 prefbase = g_path_get_basename(font_prefs[i]); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
187 g_string_append_printf(style_string, |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
188 "style \"%s_style\"\n" |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
189 "{font_name = \"%s\"}\n" |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
190 "widget \"%s\"" |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
191 "style \"%s_style\"\n", prefbase, |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
192 gaim_prefs_get_string(font_prefs[i]), |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
193 prefbase, prefbase); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
194 g_free(prefbase); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
195 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
196 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
197 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
198 gaim_util_write_data_to_file(".gtkrc-2.0", style_string->str, -1); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
199 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
200 g_string_free(style_string, TRUE); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
201 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
202 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
203 static void |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
204 gaimrc_reread(GtkWidget *widget, gpointer data) |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
205 { |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
206 gtk_rc_reparse_all(); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
207 /* I don't know if this is necessary but it shouldn't hurt. */ |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
208 gaimrc_make_changes(); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
209 } |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
210 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
211 static void |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
212 gaimrc_pref_changed_cb(const char *name, GaimPrefType type, gpointer value, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
213 gpointer data) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
214 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
215 GString *style_string = g_string_new(""); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
216 char *prefbase = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
217 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
218 prefbase = g_path_get_basename(name); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
219 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
220 if (strncmp(name, "/plugins/gtk/gaimrc/color", 25) == 0) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
221 g_string_printf(style_string, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
222 "style \"gaimrc_style\" { %s = \"%s\" }" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
223 "widget_class \"*\" style \"gaimrc_style\"", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
224 prefbase, (char *)value); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
225 } else if (strncmp(name, "/plugins/gtk/gaimrc/size", 24) == 0) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
226 g_string_printf(style_string, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
227 "style \"gaimrc_style\" { %s = \"%d\" }" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
228 "widget_class \"*\" style \"gaimrc_style\"", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
229 prefbase, GPOINTER_TO_INT(value)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
230 } else if (strncmp(name, "/plugins/gtk/gaimrc/font", 24) == 0) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
231 g_string_printf(style_string, "style \"%s_style\"" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
232 "{ font_name = \"%s\" } widget \"%s\"" |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
233 "style \"%s_style\"", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
234 prefbase, (char *)value, prefbase, prefbase); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
235 } else if (strncmp(name, "/plugins/gtk/gaimrc/set", 23) == 0) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
236 if (value) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
237 gaimrc_make_changes(); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
238 g_string_free(style_string, TRUE); |
11862 | 239 g_free(prefbase); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
240 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
241 return; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
242 } else { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
243 g_string_printf(style_string, "%s = \"%s\"", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
244 prefbase, (char *)value); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
245 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
246 gtk_rc_parse_string(style_string->str); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
247 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
248 g_string_free(style_string, TRUE); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
249 g_free(prefbase); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
250 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
251 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
252 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
253 gaimrc_color_response(GtkDialog *color_dialog, gint response, gpointer data) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
254 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
255 int subscript = GPOINTER_TO_INT(data); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
256 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
257 if (response == GTK_RESPONSE_OK) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
258 GtkWidget *colorsel = GTK_COLOR_SELECTION_DIALOG(color_dialog)->colorsel; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
259 GdkColor color; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
260 char colorstr[8]; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
261 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
262 gtk_color_selection_get_current_color(GTK_COLOR_SELECTION(colorsel), &color); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
263 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
264 g_snprintf(colorstr, sizeof(colorstr), "#%02X%02X%02X", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
265 color.red/256, color.green/256, color.blue/256); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
266 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
267 gaim_prefs_set_string(color_prefs[subscript], colorstr); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
268 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
269 gtk_widget_destroy(GTK_WIDGET(color_dialog)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
270 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
271 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
272 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
273 gaimrc_set_color(GtkWidget *widget, gpointer data) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
274 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
275 GtkWidget *color_dialog = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
276 GdkColor color; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
277 char title[128]; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
278 int subscript = GPOINTER_TO_INT(data); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
279 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
280 g_snprintf(title, sizeof(title), _("Select Color for %s"), |
10586
eb2e5f06452a
[gaim-migrate @ 11990]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10585
diff
changeset
|
281 _(color_names[GPOINTER_TO_INT(data)])); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
282 color_dialog = gtk_color_selection_dialog_new(_("Select Color")); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
283 g_signal_connect(G_OBJECT(color_dialog), "response", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
284 G_CALLBACK(gaimrc_color_response), data); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
285 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
286 if (gdk_color_parse(gaim_prefs_get_string(color_prefs[subscript]), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
287 &color)) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
288 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(color_dialog)->colorsel), &color); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
289 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
290 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
291 gtk_window_present(GTK_WINDOW(color_dialog)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
292 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
293 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
294 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
295 gaimrc_font_response(GtkDialog *font_dialog, gint response, gpointer data) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
296 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
297 int subscript = GPOINTER_TO_INT(data); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
298 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
299 if (response == GTK_RESPONSE_OK) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
300 char *fontname = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
301 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
302 fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(font_dialog)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
303 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
304 gaim_prefs_set_string(font_prefs[subscript], fontname); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
305 g_free(fontname); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
306 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
307 gtk_widget_destroy(GTK_WIDGET(font_dialog)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
308 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
309 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
310 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
311 gaimrc_set_font(GtkWidget *widget, gpointer data) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
312 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
313 GtkWidget *font_dialog = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
314 char title[128]; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
315 int subscript = GPOINTER_TO_INT(data); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
316 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
317 g_snprintf(title, sizeof(title), _("Select Font for %s"), |
10586
eb2e5f06452a
[gaim-migrate @ 11990]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10585
diff
changeset
|
318 _(font_names[subscript])); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
319 font_dialog = gtk_font_selection_dialog_new(title); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
320 g_signal_connect(G_OBJECT(font_dialog), "response", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
321 G_CALLBACK(gaimrc_font_response), data); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
322 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
323 /* TODO Figure out a way to test for the presence of a value in the |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
324 * actual pref |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
325 if (gaim_prefs_get_bool(font_prefs[subscript])) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
326 gtk_font_selection_set_font_name(GTK_FONT_SELECTION(GTK_FONT_SELECTION_DIALOG(font_dialog)->fontsel), gaim_prefs_get_string(font_prefs[subscript])); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
327 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
328 */ |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
329 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
330 gtk_window_present(GTK_WINDOW(font_dialog)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
331 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
332 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
333 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
334 gaimrc_font_response_special(GtkDialog *font_dialog, gint response, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
335 gpointer data) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
336 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
337 if (response == GTK_RESPONSE_OK) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
338 char *fontname = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
339 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
340 fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(font_dialog)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
341 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
342 gaim_prefs_set_string("/plugins/gtk/gaimrc/gtk-font-name", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
343 fontname); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
344 g_free(fontname); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
345 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
346 gtk_widget_destroy(GTK_WIDGET(font_dialog)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
347 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
348 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
349 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
350 gaimrc_set_font_special(GtkWidget *widget, gpointer data) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
351 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
352 GtkWidget *font_dialog = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
353 const char *font = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
354 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
355 font_dialog = gtk_font_selection_dialog_new(_("Select Interface Font")); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
356 g_signal_connect(G_OBJECT(font_dialog), "response", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
357 G_CALLBACK(gaimrc_font_response_special), NULL); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
358 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
359 font = gaim_prefs_get_string("/plugins/gtk/gaimrc/gtk-font-name"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
360 /* TODO Figure out a way to test for the presence of a value in the |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
361 * actual pref |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
362 printf("font - %s.\n", font); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
363 if (font != NULL && font != "") { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
364 gtk_font_selection_set_font_name(GTK_FONT_SELECTION(GTK_FONT_SELECTION_DIALOG(font_dialog)->fontsel), gaim_prefs_get_string("/plugins/gtk/gaimrc/gtk-font-name")); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
365 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
366 */ |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
367 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
368 gtk_window_present(GTK_WINDOW(font_dialog)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
369 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
370 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
371 static gboolean |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
372 gaimrc_plugin_load(GaimPlugin *plugin) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
373 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
374 gaimrc_make_changes(); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
375 |
10587
c7458b544b15
[gaim-migrate @ 11991]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10586
diff
changeset
|
376 pref_callback = gaim_prefs_connect_callback(plugin, "/plugins/gtk/gaimrc", |
c7458b544b15
[gaim-migrate @ 11991]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10586
diff
changeset
|
377 gaimrc_pref_changed_cb, NULL); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
378 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
379 return TRUE; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
380 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
381 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
382 static gboolean |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
383 gaimrc_plugin_unload(GaimPlugin *plugin) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
384 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
385 gaim_prefs_disconnect_callback(pref_callback); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
386 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
387 return TRUE; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
388 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
389 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
390 static GtkWidget * |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
391 gaimrc_get_config_frame(GaimPlugin *plugin) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
392 { |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
393 GtkWidget *ret = NULL, *frame = NULL, *hbox = NULL, *vbox = NULL; |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
394 /* |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
395 GtkWidget *check = NULL, *widget = NULL, *label = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
396 */ |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
397 GtkWidget *check = NULL, *widget = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
398 GtkSizeGroup *sg = NULL; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
399 /* |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
400 char sample[7] = "Sample"; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
401 */ |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
402 int i; |
12042
01ce8025a1d9
[gaim-migrate @ 14337]
Richard Laager <rlaager@wiktel.com>
parents:
11941
diff
changeset
|
403 char *tmp; |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
404 |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
405 ret = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
406 gtk_container_set_border_width(GTK_CONTAINER(ret), GAIM_HIG_BORDER); |
10584
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 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
409 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
410 frame = gaim_gtk_make_frame(ret, "General"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
411 /* interface font */ |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
412 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
413 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
414 |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10587
diff
changeset
|
415 check = gaim_gtk_prefs_checkbox(_("GTK+ Interface Font"), |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
416 "/plugins/gtk/gaimrc/set/gtk-font-name", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
417 hbox); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
418 gtk_size_group_add_widget(sg, check); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
419 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
420 widget = gaim_pixbuf_button_from_stock("", GTK_STOCK_SELECT_FONT, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
421 GAIM_BUTTON_HORIZONTAL); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
422 gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
423 gtk_widget_set_sensitive(widget, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
424 gaim_prefs_get_bool("/plugins/gtk/gaimrc/set/gtk-font-name")); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
425 g_signal_connect(G_OBJECT(check), "toggled", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
426 G_CALLBACK(gaim_gtk_toggle_sensitive), widget); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
427 g_signal_connect(G_OBJECT(widget), "clicked", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
428 G_CALLBACK(gaimrc_set_font_special), NULL); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
429 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
430 /* key theme name */ |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
431 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
432 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
433 |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10587
diff
changeset
|
434 check = gaim_gtk_prefs_checkbox(_("GTK+ Text Shortcut Theme"), |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
435 "/plugins/gtk/gaimrc/set/gtk-key-theme-name", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
436 hbox); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
437 gtk_size_group_add_widget(sg, check); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
438 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
439 widget = gaim_gtk_prefs_labeled_entry(hbox, "", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
440 "/plugins/gtk/gaimrc/gtk-key-theme-name", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
441 NULL); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
442 gtk_widget_set_sensitive(widget, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
443 gaim_prefs_get_bool("/plugins/gtk/gaimrc/set/gtk-key-theme-name")); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
444 g_signal_connect(G_OBJECT(check), "toggled", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
445 G_CALLBACK(gaim_gtk_toggle_sensitive), widget); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
446 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
447 frame = gaim_gtk_make_frame(ret, "Interface colors"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
448 /* imhtml stuff */ |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
449 for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) { |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
450 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
451 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); |
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 check = gaim_gtk_prefs_checkbox(_(color_names[i]), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
454 color_prefs_set[i], hbox); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
455 gtk_size_group_add_widget(sg, check); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
456 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
457 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
|
458 gtk_size_group_add_widget(sg, color_widgets[i]); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
459 gtk_box_pack_start(GTK_BOX(hbox), color_widgets[i], FALSE, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
460 FALSE, 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
461 gtk_widget_set_sensitive(color_widgets[i], |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
462 gaim_prefs_get_bool(color_prefs_set[i])); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
463 g_signal_connect(G_OBJECT(check), "toggled", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
464 G_CALLBACK(gaim_gtk_toggle_sensitive), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
465 color_widgets[i]); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
466 g_signal_connect(G_OBJECT(color_widgets[i]), "clicked", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
467 G_CALLBACK(gaimrc_set_color), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
468 GINT_TO_POINTER(i)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
469 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
470 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
471 frame = gaim_gtk_make_frame(ret, "Widget Sizes"); |
10585
a6b8a23b4d5f
[gaim-migrate @ 11989]
Etan Reisner <pidgin@unreliablesource.net>
parents:
10584
diff
changeset
|
472 /* widget size stuff */ |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
473 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
|
474 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
475 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); |
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 check = gaim_gtk_prefs_checkbox(_(widget_size_names[i]), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
478 widget_size_prefs_set[i], hbox); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
479 gtk_size_group_add_widget(sg, check); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
480 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
481 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
|
482 gtk_widget_set_sensitive(widget_size_widgets[i], |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
483 gaim_prefs_get_bool(widget_size_prefs_set[i])); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
484 g_signal_connect(G_OBJECT(check), "toggled", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
485 G_CALLBACK(gaim_gtk_toggle_sensitive), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
486 widget_size_widgets[i]); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
487 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
488 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
489 frame = gaim_gtk_make_frame(ret, "Fonts"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
490 /* imhtml font stuff */ |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
491 for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) { |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
492 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
493 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0); |
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 check = gaim_gtk_prefs_checkbox(_(font_names[i]), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
496 font_prefs_set[i], hbox); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
497 gtk_size_group_add_widget(sg, check); |
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 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
|
500 gtk_size_group_add_widget(sg, font_widgets[i]); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
501 gtk_box_pack_start(GTK_BOX(hbox), font_widgets[i], FALSE, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
502 FALSE, 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
503 gtk_widget_set_sensitive(font_widgets[i], |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
504 gaim_prefs_get_bool(font_prefs_set[i])); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
505 g_signal_connect(G_OBJECT(check), "toggled", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
506 G_CALLBACK(gaim_gtk_toggle_sensitive), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
507 font_widgets[i]); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
508 g_signal_connect(G_OBJECT(font_widgets[i]), "clicked", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
509 G_CALLBACK(gaimrc_set_font), GINT_TO_POINTER(i)); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
510 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
511 |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
512 frame = gaim_gtk_make_frame(ret, "General"); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
513 |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
514 vbox = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
515 gtk_box_pack_start(GTK_BOX(frame), vbox, FALSE, FALSE, 0); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
516 |
12048 | 517 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
|
518 check = gtk_button_new_with_label(tmp); |
01ce8025a1d9
[gaim-migrate @ 14337]
Richard Laager <rlaager@wiktel.com>
parents:
11941
diff
changeset
|
519 g_free(tmp); |
11940
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
520 gtk_box_pack_start(GTK_BOX(vbox), check, FALSE, FALSE, 0); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
521 gtk_size_group_add_widget(sg, check); |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
522 g_signal_connect(G_OBJECT(check), "clicked", G_CALLBACK(gaimrc_write), |
8dc2e512038f
[gaim-migrate @ 14231]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11862
diff
changeset
|
523 NULL); |
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 check = gtk_button_new_with_label(_("Re-read gtkrc files")); |
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_reread), |
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 |
10584
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
531 gtk_widget_show_all(ret); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
532 return ret; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
533 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
534 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
535 static GaimGtkPluginUiInfo gaimrc_ui_info = |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
536 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
537 gaimrc_get_config_frame |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
538 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
539 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
540 static GaimPluginInfo gaimrc_info = |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
541 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
542 GAIM_PLUGIN_MAGIC, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
543 GAIM_MAJOR_VERSION, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
544 GAIM_MINOR_VERSION, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
545 GAIM_PLUGIN_STANDARD, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
546 GAIM_GTK_PLUGIN_TYPE, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
547 0, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
548 NULL, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
549 GAIM_PRIORITY_DEFAULT, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
550 "gaimrc", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
551 N_("Gaim GTK+ Theme Control"), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
552 VERSION, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
553 N_("Provides access to commonly used gtkrc settings."), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
554 N_("Provides access to commonly used gtkrc settings."), |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
555 "Etan Reisner <deryni@eden.rutgers.edu>", |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
556 GAIM_WEBSITE, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
557 gaimrc_plugin_load, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
558 gaimrc_plugin_unload, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
559 NULL, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
560 &gaimrc_ui_info, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
561 NULL, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
562 NULL, |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
563 NULL |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
564 }; |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
565 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
566 static void |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
567 gaimrc_init(GaimPlugin *plugin) |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
568 { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
569 int i; |
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 gaim_prefs_add_none("/plugins"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
572 gaim_prefs_add_none("/plugins/gtk"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
573 gaim_prefs_add_none("/plugins/gtk/gaimrc"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
574 gaim_prefs_add_none("/plugins/gtk/gaimrc/set"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
575 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
576 gaim_prefs_add_string("/plugins/gtk/gaimrc/gtk-font-name", ""); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
577 gaim_prefs_add_bool("/plugins/gtk/gaimrc/set/gtk-font-name", FALSE); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
578 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
579 gaim_prefs_add_string("/plugins/gtk/gaimrc/gtk-key-theme-name", ""); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
580 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
|
581 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
582 gaim_prefs_add_none("/plugins/gtk/gaimrc/color"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
583 gaim_prefs_add_none("/plugins/gtk/gaimrc/set/color"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
584 for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
585 gaim_prefs_add_string(color_prefs[i], ""); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
586 gaim_prefs_add_bool(color_prefs_set[i], 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 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
589 gaim_prefs_add_none("/plugins/gtk/gaimrc/size"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
590 gaim_prefs_add_none("/plugins/gtk/gaimrc/set/size"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
591 for (i = 0; i < G_N_ELEMENTS(widget_size_prefs); i++) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
592 gaim_prefs_add_int(widget_size_prefs[i], 0); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
593 gaim_prefs_add_bool(widget_size_prefs_set[i], FALSE); |
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 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
596 gaim_prefs_add_none("/plugins/gtk/gaimrc/font"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
597 gaim_prefs_add_none("/plugins/gtk/gaimrc/set/font"); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
598 for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) { |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
599 gaim_prefs_add_string(font_prefs[i], ""); |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
600 gaim_prefs_add_bool(font_prefs_set[i], FALSE); |
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 } |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
603 |
7de819b5ed68
[gaim-migrate @ 11988]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
604 GAIM_INIT_PLUGIN(gaimrc, gaimrc_init, gaimrc_info) |