plugins/gaimrc.c

Mon, 12 Dec 2005 07:35:43 +0000

author
Evan Schoenberg <evands@pidgin.im>
date
Mon, 12 Dec 2005 07:35:43 +0000
changeset 12463
8d8c5436803a
parent 12202
aa9fb61f8afd
child 12546
05bcd24d088b
permissions
-rw-r--r--

[gaim-migrate @ 14773]
SF Patch #1377719 from Evan Schoenberg

"A recent reorganization of how the chat_add_users() conversation UI op is
sent removed passing to the UI of whether the additions are new arrivals
or not. This information lets the UI make decisions about how to handle
the new people, what if anything to display, etc."

committer: Richard Laager <rlaager@pidgin.im>

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::indent_expanders",
7e1227b42822 [gaim-migrate @ 14503]
Etan Reisner <deryni@pidgin.im>
parents: 12048
diff changeset
50 "/plugins/gtk/gaimrc/size/GtkTreeView::horizontal_separator"
10584
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
51 };
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
52 static const char *widget_size_prefs_set[] = {
12201
7e1227b42822 [gaim-migrate @ 14503]
Etan Reisner <deryni@pidgin.im>
parents: 12048
diff changeset
53 "/plugins/gtk/gaimrc/set/size/GtkTreeView::expander_size",
7e1227b42822 [gaim-migrate @ 14503]
Etan Reisner <deryni@pidgin.im>
parents: 12048
diff changeset
54 "/plugins/gtk/gaimrc/set/size/GtkTreeView::indent_expanders",
7e1227b42822 [gaim-migrate @ 14503]
Etan Reisner <deryni@pidgin.im>
parents: 12048
diff changeset
55 "/plugins/gtk/gaimrc/set/size/GtkTreeView::horizontal_separator"
10584
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
56 };
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
57 static const char *widget_size_names[] = {
12201
7e1227b42822 [gaim-migrate @ 14503]
Etan Reisner <deryni@pidgin.im>
parents: 12048
diff changeset
58 N_("GtkTreeView Expander Size"),
7e1227b42822 [gaim-migrate @ 14503]
Etan Reisner <deryni@pidgin.im>
parents: 12048
diff changeset
59 N_("GtkTreeView Expander Indentation"),
7e1227b42822 [gaim-migrate @ 14503]
Etan Reisner <deryni@pidgin.im>
parents: 12048
diff changeset
60 N_("GtkTreeView Horizontal Separation")
10584
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
61 };
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
62 static GtkWidget *widget_size_widgets[G_N_ELEMENTS(widget_size_prefs)];
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
63
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
64 static const char *font_prefs[] = {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
65 "/plugins/gtk/gaimrc/font/*gaim_gtkconv_entry",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
66 "/plugins/gtk/gaimrc/font/*gaim_gtkconv_imhtml",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
67 "/plugins/gtk/gaimrc/font/*gaim_gtklog_imhtml",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
68 "/plugins/gtk/gaimrc/font/*gaim_gtkrequest_imhtml",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
69 "/plugins/gtk/gaimrc/font/*gaim_gtknotify_imhtml",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
70 };
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
71 static const char *font_prefs_set[] = {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
72 "/plugins/gtk/gaimrc/set/font/*gaim_gtkconv_entry",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
73 "/plugins/gtk/gaimrc/set/font/*gaim_gtkconv_imhtml",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
74 "/plugins/gtk/gaimrc/set/font/*gaim_gtklog_imhtml",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
75 "/plugins/gtk/gaimrc/set/font/*gaim_gtkrequest_imhtml",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
76 "/plugins/gtk/gaimrc/set/font/*gaim_gtknotify_imhtml",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
77 };
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
78 static const char *font_names[] = {
10585
42d99375d8d0 [gaim-migrate @ 11989]
Nathan Fredrickson <nathan@silverorange.com>
parents: 10584
diff changeset
79 N_("Conversation Entry"),
42d99375d8d0 [gaim-migrate @ 11989]
Nathan Fredrickson <nathan@silverorange.com>
parents: 10584
diff changeset
80 N_("Conversation History"),
42d99375d8d0 [gaim-migrate @ 11989]
Nathan Fredrickson <nathan@silverorange.com>
parents: 10584
diff changeset
81 N_("Log Viewer"),
42d99375d8d0 [gaim-migrate @ 11989]
Nathan Fredrickson <nathan@silverorange.com>
parents: 10584
diff changeset
82 N_("Request Dialog"),
42d99375d8d0 [gaim-migrate @ 11989]
Nathan Fredrickson <nathan@silverorange.com>
parents: 10584
diff changeset
83 N_("Notify Dialog")
10584
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
84 };
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
85 static GtkWidget *font_widgets[G_N_ELEMENTS(font_prefs)];
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
86
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
87 static void
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
88 gaimrc_make_changes()
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
89 {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
90 int i;
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
91 GString *style_string = g_string_new("");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
92 char *prefbase = NULL;
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
93
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
94 if (gaim_prefs_get_bool("/plugins/gtk/gaimrc/set/gtk-font-name")) {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
95 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
96 g_string_append_printf(style_string, "gtk-font-name = \"%s\"\n", pref);
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
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
99 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
100 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
101 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
102 }
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
103
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
104 g_string_append(style_string, "style \"gaimrc_style\" {\n");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
105
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
106 for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
107 if (gaim_prefs_get_bool(color_prefs_set[i])) {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
108 prefbase = g_path_get_basename(color_prefs[i]);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
109 g_string_append_printf(style_string,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
110 "%s = \"%s\"\n", prefbase,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
111 gaim_prefs_get_string(color_prefs[i]));
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
112 g_free(prefbase);
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
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
116 for (i = 0; i < G_N_ELEMENTS(widget_size_prefs); i++) {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
117 if (gaim_prefs_get_bool(widget_size_prefs_set[i])) {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
118 prefbase = g_path_get_basename(widget_size_prefs[i]);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
119 g_string_append_printf(style_string,
11862
5d4bc6d54688 [gaim-migrate @ 14153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10814
diff changeset
120 "%s = %d\n", prefbase,
10584
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
121 gaim_prefs_get_int(widget_size_prefs[i]));
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
122 g_free(prefbase);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
123 }
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 g_string_append(style_string, "}");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
127 g_string_append(style_string, "widget_class \"*\" style \"gaimrc_style\"\n");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
128
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
129 for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
130 if (gaim_prefs_get_bool(font_prefs_set[i])) {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
131 prefbase = g_path_get_basename(font_prefs[i]);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
132 g_string_append_printf(style_string,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
133 "style \"%s_style\"\n"
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
134 "{font_name = \"%s\"}\n"
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
135 "widget \"%s\""
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
136 "style \"%s_style\"\n", prefbase,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
137 gaim_prefs_get_string(font_prefs[i]),
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
138 prefbase, prefbase);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
139 g_free(prefbase);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
140 }
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
141 }
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
142
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
143 gtk_rc_parse_string(style_string->str);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
144
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
145 g_string_free(style_string, TRUE);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
146 }
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
147
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
148 static void
11940
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
149 gaimrc_write(GtkWidget *widget, gpointer data)
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
150 {
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
151 int i;
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
152 GString *style_string = g_string_new("");
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
153 char *prefbase = NULL;
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
154
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
155 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
156 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
157 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
158 }
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
159
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
160 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
161 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
162 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
163 }
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
164
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
165 g_string_append(style_string, "style \"gaimrc_style\" {\n");
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
166
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
167 for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) {
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
168 if (gaim_prefs_get_bool(color_prefs_set[i])) {
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
169 prefbase = g_path_get_basename(color_prefs[i]);
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
170 g_string_append_printf(style_string,
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
171 "%s = \"%s\"\n", prefbase,
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
172 gaim_prefs_get_string(color_prefs[i]));
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
173 g_free(prefbase);
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
174 }
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
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
177 for (i = 0; i < G_N_ELEMENTS(widget_size_prefs); i++) {
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
178 if (gaim_prefs_get_bool(widget_size_prefs_set[i])) {
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
179 prefbase = g_path_get_basename(widget_size_prefs[i]);
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
180 g_string_append_printf(style_string,
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
181 "%s = %d\n", prefbase,
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
182 gaim_prefs_get_int(widget_size_prefs[i]));
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
183 g_free(prefbase);
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 }
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
186
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
187 g_string_append(style_string, "}");
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
188 g_string_append(style_string, "widget_class \"*\" style \"gaimrc_style\"\n");
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 for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) {
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
191 if (gaim_prefs_get_bool(font_prefs_set[i])) {
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
192 prefbase = g_path_get_basename(font_prefs[i]);
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
193 g_string_append_printf(style_string,
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
194 "style \"%s_style\"\n"
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
195 "{font_name = \"%s\"}\n"
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
196 "widget \"%s\""
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
197 "style \"%s_style\"\n", prefbase,
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
198 gaim_prefs_get_string(font_prefs[i]),
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
199 prefbase, prefbase);
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
200 g_free(prefbase);
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 }
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
203
12202
aa9fb61f8afd [gaim-migrate @ 14504]
Etan Reisner <deryni@pidgin.im>
parents: 12201
diff changeset
204 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
205
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
206 g_string_free(style_string, TRUE);
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
207 }
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
208
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
209 static void
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
210 gaimrc_reread(GtkWidget *widget, gpointer data)
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
211 {
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
212 gtk_rc_reparse_all();
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
213 /* I don't know if this is necessary but it shouldn't hurt. */
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
214 gaimrc_make_changes();
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
215 }
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
216
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
217 static void
10584
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
218 gaimrc_pref_changed_cb(const char *name, GaimPrefType type, gpointer value,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
219 gpointer data)
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
220 {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
221 GString *style_string = g_string_new("");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
222 char *prefbase = NULL;
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
223
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
224 prefbase = g_path_get_basename(name);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
225
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
226 if (strncmp(name, "/plugins/gtk/gaimrc/color", 25) == 0) {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
227 g_string_printf(style_string,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
228 "style \"gaimrc_style\" { %s = \"%s\" }"
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
229 "widget_class \"*\" style \"gaimrc_style\"",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
230 prefbase, (char *)value);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
231 } else if (strncmp(name, "/plugins/gtk/gaimrc/size", 24) == 0) {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
232 g_string_printf(style_string,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
233 "style \"gaimrc_style\" { %s = \"%d\" }"
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
234 "widget_class \"*\" style \"gaimrc_style\"",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
235 prefbase, GPOINTER_TO_INT(value));
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
236 } else if (strncmp(name, "/plugins/gtk/gaimrc/font", 24) == 0) {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
237 g_string_printf(style_string, "style \"%s_style\""
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
238 "{ font_name = \"%s\" } widget \"%s\""
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
239 "style \"%s_style\"",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
240 prefbase, (char *)value, prefbase, prefbase);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
241 } else if (strncmp(name, "/plugins/gtk/gaimrc/set", 23) == 0) {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
242 if (value)
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
243 gaimrc_make_changes();
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
244 g_string_free(style_string, TRUE);
11862
5d4bc6d54688 [gaim-migrate @ 14153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10814
diff changeset
245 g_free(prefbase);
10584
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
246
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
247 return;
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
248 } else {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
249 g_string_printf(style_string, "%s = \"%s\"",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
250 prefbase, (char *)value);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
251 }
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
252 gtk_rc_parse_string(style_string->str);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
253
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
254 g_string_free(style_string, TRUE);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
255 g_free(prefbase);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
256 }
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 static void
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
259 gaimrc_color_response(GtkDialog *color_dialog, gint response, gpointer data)
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
260 {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
261 int subscript = GPOINTER_TO_INT(data);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
262
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
263 if (response == GTK_RESPONSE_OK) {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
264 GtkWidget *colorsel = GTK_COLOR_SELECTION_DIALOG(color_dialog)->colorsel;
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
265 GdkColor color;
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
266 char colorstr[8];
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
267
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
268 gtk_color_selection_get_current_color(GTK_COLOR_SELECTION(colorsel), &color);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
269
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
270 g_snprintf(colorstr, sizeof(colorstr), "#%02X%02X%02X",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
271 color.red/256, color.green/256, color.blue/256);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
272
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
273 gaim_prefs_set_string(color_prefs[subscript], colorstr);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
274 }
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
275 gtk_widget_destroy(GTK_WIDGET(color_dialog));
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
276 }
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 static void
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
279 gaimrc_set_color(GtkWidget *widget, gpointer data)
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
280 {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
281 GtkWidget *color_dialog = NULL;
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
282 GdkColor color;
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
283 char title[128];
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
284 int subscript = GPOINTER_TO_INT(data);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
285
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
286 g_snprintf(title, sizeof(title), _("Select Color for %s"),
10586
fd1399d550fc [gaim-migrate @ 11990]
Nathan Fredrickson <nathan@silverorange.com>
parents: 10585
diff changeset
287 _(color_names[GPOINTER_TO_INT(data)]));
10584
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
288 color_dialog = gtk_color_selection_dialog_new(_("Select Color"));
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
289 g_signal_connect(G_OBJECT(color_dialog), "response",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
290 G_CALLBACK(gaimrc_color_response), data);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
291
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
292 if (gdk_color_parse(gaim_prefs_get_string(color_prefs[subscript]),
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
293 &color)) {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
294 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
295 }
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 gtk_window_present(GTK_WINDOW(color_dialog));
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
298 }
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 static void
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
301 gaimrc_font_response(GtkDialog *font_dialog, gint response, gpointer data)
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
302 {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
303 int subscript = GPOINTER_TO_INT(data);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
304
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
305 if (response == GTK_RESPONSE_OK) {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
306 char *fontname = NULL;
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
307
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
308 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
309
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
310 gaim_prefs_set_string(font_prefs[subscript], fontname);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
311 g_free(fontname);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
312 }
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
313 gtk_widget_destroy(GTK_WIDGET(font_dialog));
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
314 }
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 static void
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
317 gaimrc_set_font(GtkWidget *widget, gpointer data)
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
318 {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
319 GtkWidget *font_dialog = NULL;
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
320 char title[128];
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
321 int subscript = GPOINTER_TO_INT(data);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
322
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
323 g_snprintf(title, sizeof(title), _("Select Font for %s"),
10586
fd1399d550fc [gaim-migrate @ 11990]
Nathan Fredrickson <nathan@silverorange.com>
parents: 10585
diff changeset
324 _(font_names[subscript]));
10584
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
325 font_dialog = gtk_font_selection_dialog_new(title);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
326 g_signal_connect(G_OBJECT(font_dialog), "response",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
327 G_CALLBACK(gaimrc_font_response), data);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
328
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
329 /* 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
330 * actual pref
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
331 if (gaim_prefs_get_bool(font_prefs[subscript])) {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
332 gtk_font_selection_set_font_name(GTK_FONT_SELECTION(GTK_FONT_SELECTION_DIALOG(font_dialog)->fontsel), gaim_prefs_get_string(font_prefs[subscript]));
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
333 }
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 gtk_window_present(GTK_WINDOW(font_dialog));
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
337 }
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 static void
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
340 gaimrc_font_response_special(GtkDialog *font_dialog, gint response,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
341 gpointer data)
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
342 {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
343 if (response == GTK_RESPONSE_OK) {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
344 char *fontname = NULL;
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
345
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
346 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
347
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
348 gaim_prefs_set_string("/plugins/gtk/gaimrc/gtk-font-name",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
349 fontname);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
350 g_free(fontname);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
351 }
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
352 gtk_widget_destroy(GTK_WIDGET(font_dialog));
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
353 }
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 static void
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
356 gaimrc_set_font_special(GtkWidget *widget, gpointer data)
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
357 {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
358 GtkWidget *font_dialog = NULL;
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
359 const char *font = NULL;
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
360
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
361 font_dialog = gtk_font_selection_dialog_new(_("Select Interface Font"));
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
362 g_signal_connect(G_OBJECT(font_dialog), "response",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
363 G_CALLBACK(gaimrc_font_response_special), NULL);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
364
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
365 font = gaim_prefs_get_string("/plugins/gtk/gaimrc/gtk-font-name");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
366 /* 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
367 * actual pref
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
368 printf("font - %s.\n", font);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
369 if (font != NULL && font != "") {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
370 gtk_font_selection_set_font_name(GTK_FONT_SELECTION(GTK_FONT_SELECTION_DIALOG(font_dialog)->fontsel), gaim_prefs_get_string("/plugins/gtk/gaimrc/gtk-font-name"));
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
371 }
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 gtk_window_present(GTK_WINDOW(font_dialog));
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
375 }
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 static gboolean
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
378 gaimrc_plugin_load(GaimPlugin *plugin)
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
379 {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
380 gaimrc_make_changes();
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
381
10587
a51b422aa51c [gaim-migrate @ 11991]
Etan Reisner <deryni@pidgin.im>
parents: 10586
diff changeset
382 pref_callback = gaim_prefs_connect_callback(plugin, "/plugins/gtk/gaimrc",
a51b422aa51c [gaim-migrate @ 11991]
Etan Reisner <deryni@pidgin.im>
parents: 10586
diff changeset
383 gaimrc_pref_changed_cb, NULL);
10584
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
384
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
385 return TRUE;
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
386 }
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 static gboolean
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
389 gaimrc_plugin_unload(GaimPlugin *plugin)
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
390 {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
391 gaim_prefs_disconnect_callback(pref_callback);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
392
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
393 return TRUE;
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
394 }
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 static GtkWidget *
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
397 gaimrc_get_config_frame(GaimPlugin *plugin)
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
398 {
11940
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
399 GtkWidget *ret = NULL, *frame = NULL, *hbox = NULL, *vbox = NULL;
10584
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
400 /*
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
401 GtkWidget *check = NULL, *widget = NULL, *label = NULL;
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
402 */
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
403 GtkWidget *check = NULL, *widget = NULL;
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
404 GtkSizeGroup *sg = NULL;
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
405 /*
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
406 char sample[7] = "Sample";
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
407 */
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
408 int i;
12042
b90399880391 [gaim-migrate @ 14337]
Richard Laager <rlaager@pidgin.im>
parents: 11941
diff changeset
409 char *tmp;
10584
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
410
11940
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
411 ret = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE);
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
412 gtk_container_set_border_width(GTK_CONTAINER(ret), GAIM_HIG_BORDER);
10584
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
413
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
414 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
415
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
416 frame = gaim_gtk_make_frame(ret, "General");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
417 /* interface font */
11940
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
418 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE);
10584
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
419 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
420
10814
7e17cb56b019 [gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents: 10587
diff changeset
421 check = gaim_gtk_prefs_checkbox(_("GTK+ Interface Font"),
10584
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
422 "/plugins/gtk/gaimrc/set/gtk-font-name",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
423 hbox);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
424 gtk_size_group_add_widget(sg, check);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
425
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
426 widget = gaim_pixbuf_button_from_stock("", GTK_STOCK_SELECT_FONT,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
427 GAIM_BUTTON_HORIZONTAL);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
428 gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 0);
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);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
443 gtk_size_group_add_widget(sg, check);
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);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
448 gtk_widget_set_sensitive(widget,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
449 gaim_prefs_get_bool("/plugins/gtk/gaimrc/set/gtk-key-theme-name"));
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
450 g_signal_connect(G_OBJECT(check), "toggled",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
451 G_CALLBACK(gaim_gtk_toggle_sensitive), widget);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
452
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
453 frame = gaim_gtk_make_frame(ret, "Interface colors");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
454 /* imhtml stuff */
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
455 for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) {
11940
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
456 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE);
10584
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
457 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
458
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
459 check = gaim_gtk_prefs_checkbox(_(color_names[i]),
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
460 color_prefs_set[i], hbox);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
461 gtk_size_group_add_widget(sg, check);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
462
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
463 color_widgets[i] = gaim_pixbuf_button_from_stock("", GTK_STOCK_SELECT_COLOR, GAIM_BUTTON_HORIZONTAL);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
464 gtk_size_group_add_widget(sg, color_widgets[i]);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
465 gtk_box_pack_start(GTK_BOX(hbox), color_widgets[i], FALSE,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
466 FALSE, 0);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
467 gtk_widget_set_sensitive(color_widgets[i],
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
468 gaim_prefs_get_bool(color_prefs_set[i]));
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
469 g_signal_connect(G_OBJECT(check), "toggled",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
470 G_CALLBACK(gaim_gtk_toggle_sensitive),
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
471 color_widgets[i]);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
472 g_signal_connect(G_OBJECT(color_widgets[i]), "clicked",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
473 G_CALLBACK(gaimrc_set_color),
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
474 GINT_TO_POINTER(i));
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
475 }
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
476
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
477 frame = gaim_gtk_make_frame(ret, "Widget Sizes");
10585
42d99375d8d0 [gaim-migrate @ 11989]
Nathan Fredrickson <nathan@silverorange.com>
parents: 10584
diff changeset
478 /* widget size stuff */
10584
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
479 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
480 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE);
10584
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
481 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
482
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
483 check = gaim_gtk_prefs_checkbox(_(widget_size_names[i]),
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
484 widget_size_prefs_set[i], hbox);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
485 gtk_size_group_add_widget(sg, check);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
486
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
487 widget_size_widgets[i] = gaim_gtk_prefs_labeled_spin_button(hbox, "", widget_size_prefs[i], 0, 50, sg);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
488 gtk_widget_set_sensitive(widget_size_widgets[i],
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
489 gaim_prefs_get_bool(widget_size_prefs_set[i]));
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
490 g_signal_connect(G_OBJECT(check), "toggled",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
491 G_CALLBACK(gaim_gtk_toggle_sensitive),
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
492 widget_size_widgets[i]);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
493 }
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
494
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
495 frame = gaim_gtk_make_frame(ret, "Fonts");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
496 /* imhtml font stuff */
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
497 for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) {
11940
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
498 hbox = gtk_hbox_new(FALSE, GAIM_HIG_CAT_SPACE);
10584
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
499 gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
500
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
501 check = gaim_gtk_prefs_checkbox(_(font_names[i]),
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
502 font_prefs_set[i], hbox);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
503 gtk_size_group_add_widget(sg, check);
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 font_widgets[i] = gaim_pixbuf_button_from_stock("", GTK_STOCK_SELECT_FONT, GAIM_BUTTON_HORIZONTAL);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
506 gtk_size_group_add_widget(sg, font_widgets[i]);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
507 gtk_box_pack_start(GTK_BOX(hbox), font_widgets[i], FALSE,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
508 FALSE, 0);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
509 gtk_widget_set_sensitive(font_widgets[i],
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
510 gaim_prefs_get_bool(font_prefs_set[i]));
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
511 g_signal_connect(G_OBJECT(check), "toggled",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
512 G_CALLBACK(gaim_gtk_toggle_sensitive),
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
513 font_widgets[i]);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
514 g_signal_connect(G_OBJECT(font_widgets[i]), "clicked",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
515 G_CALLBACK(gaimrc_set_font), GINT_TO_POINTER(i));
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
516 }
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
517
11940
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
518 frame = gaim_gtk_make_frame(ret, "General");
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
519
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
520 vbox = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE);
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
521 gtk_box_pack_start(GTK_BOX(frame), vbox, FALSE, FALSE, 0);
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
522
12048
a68cc826b6e7 [gaim-migrate @ 14343]
Mark Doliner <markdoliner@pidgin.im>
parents: 12044
diff changeset
523 tmp = g_strdup_printf(_("Write a gtkrc file with these settings to %s"), gaim_user_dir());
12042
b90399880391 [gaim-migrate @ 14337]
Richard Laager <rlaager@pidgin.im>
parents: 11941
diff changeset
524 check = gtk_button_new_with_label(tmp);
b90399880391 [gaim-migrate @ 14337]
Richard Laager <rlaager@pidgin.im>
parents: 11941
diff changeset
525 g_free(tmp);
11940
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
526 gtk_box_pack_start(GTK_BOX(vbox), check, FALSE, FALSE, 0);
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
527 gtk_size_group_add_widget(sg, check);
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
528 g_signal_connect(G_OBJECT(check), "clicked", G_CALLBACK(gaimrc_write),
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
529 NULL);
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
530
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
531 check = gtk_button_new_with_label(_("Re-read gtkrc files"));
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
532 gtk_box_pack_start(GTK_BOX(vbox), check, FALSE, FALSE, 0);
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
533 gtk_size_group_add_widget(sg, check);
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
534 g_signal_connect(G_OBJECT(check), "clicked", G_CALLBACK(gaimrc_reread),
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
535 NULL);
e6a5c1439512 [gaim-migrate @ 14231]
Etan Reisner <deryni@pidgin.im>
parents: 11862
diff changeset
536
10584
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
537 gtk_widget_show_all(ret);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
538 return ret;
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
539 }
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
540
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
541 static GaimGtkPluginUiInfo gaimrc_ui_info =
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
542 {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
543 gaimrc_get_config_frame
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
544 };
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
545
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
546 static GaimPluginInfo gaimrc_info =
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
547 {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
548 GAIM_PLUGIN_MAGIC,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
549 GAIM_MAJOR_VERSION,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
550 GAIM_MINOR_VERSION,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
551 GAIM_PLUGIN_STANDARD,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
552 GAIM_GTK_PLUGIN_TYPE,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
553 0,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
554 NULL,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
555 GAIM_PRIORITY_DEFAULT,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
556 "gaimrc",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
557 N_("Gaim GTK+ Theme Control"),
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
558 VERSION,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
559 N_("Provides access to commonly used gtkrc settings."),
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
560 N_("Provides access to commonly used gtkrc settings."),
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
561 "Etan Reisner <deryni@eden.rutgers.edu>",
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
562 GAIM_WEBSITE,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
563 gaimrc_plugin_load,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
564 gaimrc_plugin_unload,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
565 NULL,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
566 &gaimrc_ui_info,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
567 NULL,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
568 NULL,
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
569 NULL
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 void
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
573 gaimrc_init(GaimPlugin *plugin)
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
574 {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
575 int i;
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
576
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
577 gaim_prefs_add_none("/plugins");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
578 gaim_prefs_add_none("/plugins/gtk");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
579 gaim_prefs_add_none("/plugins/gtk/gaimrc");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
580 gaim_prefs_add_none("/plugins/gtk/gaimrc/set");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
581
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
582 gaim_prefs_add_string("/plugins/gtk/gaimrc/gtk-font-name", "");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
583 gaim_prefs_add_bool("/plugins/gtk/gaimrc/set/gtk-font-name", FALSE);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
584
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
585 gaim_prefs_add_string("/plugins/gtk/gaimrc/gtk-key-theme-name", "");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
586 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
587
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
588 gaim_prefs_add_none("/plugins/gtk/gaimrc/color");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
589 gaim_prefs_add_none("/plugins/gtk/gaimrc/set/color");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
590 for (i = 0; i < G_N_ELEMENTS(color_prefs); i++) {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
591 gaim_prefs_add_string(color_prefs[i], "");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
592 gaim_prefs_add_bool(color_prefs_set[i], FALSE);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
593 }
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
594
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
595 gaim_prefs_add_none("/plugins/gtk/gaimrc/size");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
596 gaim_prefs_add_none("/plugins/gtk/gaimrc/set/size");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
597 for (i = 0; i < G_N_ELEMENTS(widget_size_prefs); i++) {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
598 gaim_prefs_add_int(widget_size_prefs[i], 0);
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
599 gaim_prefs_add_bool(widget_size_prefs_set[i], FALSE);
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
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
602 gaim_prefs_add_none("/plugins/gtk/gaimrc/font");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
603 gaim_prefs_add_none("/plugins/gtk/gaimrc/set/font");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
604 for (i = 0; i < G_N_ELEMENTS(font_prefs); i++) {
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
605 gaim_prefs_add_string(font_prefs[i], "");
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
606 gaim_prefs_add_bool(font_prefs_set[i], FALSE);
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 }
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
609
ffa83a43a77d [gaim-migrate @ 11988]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
610 GAIM_INIT_PLUGIN(gaimrc, gaimrc_init, gaimrc_info)

mercurial