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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
f8cd06753755 [gaim-migrate @ 14153]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10814
diff changeset
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
f8cd06753755 [gaim-migrate @ 14153]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10814
diff changeset
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
6a95efdd1414 [gaim-migrate @ 14343]
Mark Doliner <mark@kingant.net>
parents: 12044
diff changeset
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)