plugins/gaimrc.c

Mon, 16 Apr 2007 00:43:53 +0000

author
Richard Laager <rlaager@pidgin.im>
date
Mon, 16 Apr 2007 00:43:53 +0000
changeset 13071
b98e72d4089a
parent 12973
2691b5621836
child 13090
aee4ed853ff3
permissions
-rw-r--r--

Commit a proper copy of this binary file. The old one was corrupted,
probably due to missing SVN attributes.

This was retrieved from the following URL, though we may have it in CVS:
http://dev.openwengo.com/trac/openwengo/trac.cgi/browser/vendors/gaim/trunk/doc/oscar/On_Sending_Files_via_OSCAR.odt?rev=4273

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

mercurial