annotate src/prefs.c @ 4617:858979ab3867

[gaim-migrate @ 4908] Big Changes: -Rewrote some of the perl stuff so perl scripts can change a few of their parameters -Receiving a file with AIM over oscar works pretty well Now, the "nitty gritty": Very minor change to prefs.c: In the plugins details tab, I changed "URL" to "Web Site." I was just going to fix the tabbing, but silvestrij suggested changing it to "Web site," and I thought that sounded good. I think it fits better, too. I dunno, maybe that's just me. "Get Capabilities" has stopped working for some reason. I'm just going to blame AOL. It's really not important anyway, and some people wanted it taken off. It is now #ifdef 0'ed out. I'll remove it completely if it continues to no longer function. I took out a few plugin_event calls from oscar.c and put them in core code. "event_error" should be, uh, "evented" when there is an error signing on. Hopefully no one was using this. It's really pretty useless. The parameter is now the reason for not being able to connect rather than the archaic toc error code. I screwed around with how perl functions are called some. There was way the hell too much malloc'ing going on here. I think all in all it's an improvement, though I'm still not a big fan of how changes to parameters propagate to the actual memory. I really think it would be nice if the perl stuff was made into a C plugin. It's just so much cleaner. Especially if someone wanted to write, say, a python or tcl interpreter. That's how xchat2 does it. I just think that would be really slick. Like butter. Or ice. Very unlike Velcro. I added a "Change Password" Protocol Action for ICQ over oscar. This was really pretty easy. I'd like to thank my housemate Andrew for complaining a lot that having to use Windows ICQ to change his password was a pain. I rewrote a lot of the oscar file transfer stuff to use Christian's new xfer interface. This involved moving a few functions from ft.c to im.c, where they belong. I also removed all the #if 0'ed getfile functions. I'll be rewritting them soonish. Receiving a file should work perfectly, aside from maybe a small memleak when stuff is canceled. Sending a file is currently disabled. No ETA on when I'll have that working. I renamed pretty much all of the functions in im.c so they have kind of a scheme now. They should all be aim_im_bleh, since "im" is the family name. There comes a time when you must break the crap out of any clients that might be using libfaim in order to make stuff cleaner. Maybe. I got rid of the snac destructor stuff for now. I'll probably add it back later. I wasn't entirely comfortable with how it was done. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Wed, 26 Feb 2003 05:01:37 +0000
parents 221fb7143cd4
children fb520992d5a1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1 /*
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2 * gaim
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3 *
3434
0c281a80767d [gaim-migrate @ 3463]
Sean Egan <seanegan@gmail.com>
parents: 3433
diff changeset
4 * Copyright (C) 1998-2002, Mark Spencer <markster@marko.net>
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
5 *
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
6 * This program is free software; you can redistribute it and/or modify
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
7 * it under the terms of the GNU General Public License as published by
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
8 * the Free Software Foundation; either version 2 of the License, or
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
9 * (at your option) any later version.
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
10 *
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
11 * This program is distributed in the hope that it will be useful,
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
14 * GNU General Public License for more details.
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
15 *
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
17 * along with this program; if not, write to the Free Software
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
19 *
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
20 */
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
21
349
b402a23f35df [gaim-migrate @ 359]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 340
diff changeset
22 #ifdef HAVE_CONFIG_H
2090
b66aca8e8dce [gaim-migrate @ 2100]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2074
diff changeset
23 #include <config.h>
349
b402a23f35df [gaim-migrate @ 359]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 340
diff changeset
24 #endif
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
25 #include <string.h>
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
26 #include <sys/time.h>
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
27
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
28 #include <sys/types.h>
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
29 #include <sys/stat.h>
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
30
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
31 #include <unistd.h>
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
32 #include <stdio.h>
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
33 #include <stdlib.h>
970
9eb07b383df4 [gaim-migrate @ 980]
Rob Flynn <gaim@robflynn.com>
parents: 967
diff changeset
34 #include <stdarg.h>
3379
b48b73ef172b [gaim-migrate @ 3398]
Sean Egan <seanegan@gmail.com>
parents: 3377
diff changeset
35 #include <ctype.h>
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
36 #include <gtk/gtk.h>
1780
d7cbedd1d651 [gaim-migrate @ 1790]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1773
diff changeset
37 #include "gtkimhtml.h"
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
38 #include "gaim.h"
1357
783ba886b6b6 [gaim-migrate @ 1367]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1324
diff changeset
39 #include "prpl.h"
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
40 #include "proxy.h"
4561
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
41 #include "sound.h"
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
42
4026
a997156437b6 [gaim-migrate @ 4230]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4010
diff changeset
43 #ifdef _WIN32
a997156437b6 [gaim-migrate @ 4230]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4010
diff changeset
44 #include "win32dep.h"
a997156437b6 [gaim-migrate @ 4230]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4010
diff changeset
45 #endif
a997156437b6 [gaim-migrate @ 4230]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4010
diff changeset
46
3567
ec86e76d0427 [gaim-migrate @ 3663]
Sean Egan <seanegan@gmail.com>
parents: 3565
diff changeset
47 GtkWidget *tree_v = NULL;
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
48 GtkWidget *prefs_away_list = NULL;
1109
c73736fa0b7c [gaim-migrate @ 1119]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1087
diff changeset
49 GtkWidget *prefs_away_menu = NULL;
1124
a70d5200edde [gaim-migrate @ 1134]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1123
diff changeset
50 GtkWidget *preftree = NULL;
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
51 GtkWidget *fontseld = NULL;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
52
3379
b48b73ef172b [gaim-migrate @ 3398]
Sean Egan <seanegan@gmail.com>
parents: 3377
diff changeset
53 GtkListStore *prefs_away_store = NULL;
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
54
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
55 static int sound_row_sel = 0;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
56 static char *last_sound_dir = NULL;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
57
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
58 static GtkWidget *sounddialog = NULL;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
59 static GtkWidget *browser_entry = NULL;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
60 static GtkWidget *sound_entry = NULL;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
61 static GtkWidget *away_text = NULL;
4324
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
62 static GtkListStore *smiley_theme_store = NULL;
1124
a70d5200edde [gaim-migrate @ 1134]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1123
diff changeset
63 GtkCTreeNode *general_node = NULL;
a70d5200edde [gaim-migrate @ 1134]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1123
diff changeset
64 GtkCTreeNode *deny_node = NULL;
2254
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
65 GtkWidget *prefs_proxy_frame = NULL;
4026
a997156437b6 [gaim-migrate @ 4230]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4010
diff changeset
66 GtkWidget *gaim_button(const char *, guint *, int, GtkWidget *);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
67 GtkWidget *gaim_labeled_spin_button(GtkWidget *, const gchar *, int*, int, int, GtkSizeGroup *);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
68 static GtkWidget *gaim_dropdown(GtkWidget *, const gchar *, int *, int, ...);
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
69 static GtkWidget *gaim_dropdown_from_list(GtkWidget *, const gchar *, int *, int, GList *);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
70 static GtkWidget *show_color_pref(GtkWidget *, gboolean);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
71 static void delete_prefs(GtkWidget *, void *);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
72 void set_default_away(GtkWidget *, gpointer);
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
73 static gboolean program_is_valid(const char *);
1026
5bad25457843 [gaim-migrate @ 1036]
Rob Flynn <gaim@robflynn.com>
parents: 1006
diff changeset
74
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
75 struct debug_window *dw = NULL;
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
76 GtkWidget *prefs = NULL;
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
77 GtkWidget *debugbutton = NULL;
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
78 static int notebook_page = 0;
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
79 static GtkTreeIter plugin_iter;
1525
ba8e6e211af5 [gaim-migrate @ 1535]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1455
diff changeset
80
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
81 /*
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
82 * PROTOTYPES
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
83 */
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
84 GtkTreeIter *prefs_notebook_add_page(char*, GdkPixbuf*, GtkWidget*, GtkTreeIter*, GtkTreeIter*, int);
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
85
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
86 void delete_prefs(GtkWidget *asdf, void *gdsa) {
4215
e9e55f0a991c [gaim-migrate @ 4454]
Luke Schierer <lschiere@pidgin.im>
parents: 4201
diff changeset
87 GList *l = plugins;
e9e55f0a991c [gaim-migrate @ 4454]
Luke Schierer <lschiere@pidgin.im>
parents: 4201
diff changeset
88 struct gaim_plugin *plug;
e9e55f0a991c [gaim-migrate @ 4454]
Luke Schierer <lschiere@pidgin.im>
parents: 4201
diff changeset
89
4064
b188b93ebf48 [gaim-migrate @ 4274]
Luke Schierer <lschiere@pidgin.im>
parents: 4052
diff changeset
90 save_prefs();
3485
6187c93da61a [gaim-migrate @ 3539]
Sean Egan <seanegan@gmail.com>
parents: 3474
diff changeset
91 prefs = NULL;
3567
ec86e76d0427 [gaim-migrate @ 3663]
Sean Egan <seanegan@gmail.com>
parents: 3565
diff changeset
92 tree_v = NULL;
3485
6187c93da61a [gaim-migrate @ 3539]
Sean Egan <seanegan@gmail.com>
parents: 3474
diff changeset
93 sound_entry = NULL;
6187c93da61a [gaim-migrate @ 3539]
Sean Egan <seanegan@gmail.com>
parents: 3474
diff changeset
94 browser_entry = NULL;
3526
2ce20ac05732 [gaim-migrate @ 3599]
Luke Schierer <lschiere@pidgin.im>
parents: 3522
diff changeset
95 debugbutton = NULL;
2ce20ac05732 [gaim-migrate @ 3599]
Luke Schierer <lschiere@pidgin.im>
parents: 3522
diff changeset
96 prefs_away_menu = NULL;
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
97 notebook_page = 0;
4324
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
98 smiley_theme_store = NULL;
3485
6187c93da61a [gaim-migrate @ 3539]
Sean Egan <seanegan@gmail.com>
parents: 3474
diff changeset
99 if(sounddialog)
3379
b48b73ef172b [gaim-migrate @ 3398]
Sean Egan <seanegan@gmail.com>
parents: 3377
diff changeset
100 gtk_widget_destroy(sounddialog);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
101 g_object_unref(G_OBJECT(prefs_away_store));
4215
e9e55f0a991c [gaim-migrate @ 4454]
Luke Schierer <lschiere@pidgin.im>
parents: 4201
diff changeset
102 while(l) {
e9e55f0a991c [gaim-migrate @ 4454]
Luke Schierer <lschiere@pidgin.im>
parents: 4201
diff changeset
103 plug = l->data;
e9e55f0a991c [gaim-migrate @ 4454]
Luke Schierer <lschiere@pidgin.im>
parents: 4201
diff changeset
104 if(plug->iter) {
e9e55f0a991c [gaim-migrate @ 4454]
Luke Schierer <lschiere@pidgin.im>
parents: 4201
diff changeset
105 g_free(plug->iter);
e9e55f0a991c [gaim-migrate @ 4454]
Luke Schierer <lschiere@pidgin.im>
parents: 4201
diff changeset
106 plug->iter = NULL;
e9e55f0a991c [gaim-migrate @ 4454]
Luke Schierer <lschiere@pidgin.im>
parents: 4201
diff changeset
107 }
e9e55f0a991c [gaim-migrate @ 4454]
Luke Schierer <lschiere@pidgin.im>
parents: 4201
diff changeset
108 l = l->next;
e9e55f0a991c [gaim-migrate @ 4454]
Luke Schierer <lschiere@pidgin.im>
parents: 4201
diff changeset
109 }
1525
ba8e6e211af5 [gaim-migrate @ 1535]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1455
diff changeset
110 }
ba8e6e211af5 [gaim-migrate @ 1535]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1455
diff changeset
111
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
112 GtkWidget *preflabel;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
113 GtkWidget *prefsnotebook;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
114 GtkTreeStore *prefstree;
1750
d2eca7a46cfd [gaim-migrate @ 1760]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1711
diff changeset
115
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
116 static void set_misc_option();
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
117 static void set_logging_option();
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
118 static void set_blist_option();
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
119 static void set_convo_option();
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
120 static void set_im_option();
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
121 static void set_chat_option();
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
122 static void set_font_option();
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
123 static void set_sound_option();
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
124 static void set_away_option();
1750
d2eca7a46cfd [gaim-migrate @ 1760]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1711
diff changeset
125
1881
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
126 #define PROXYHOST 0
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
127 #define PROXYPORT 1
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
128 #define PROXYTYPE 2
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
129 #define PROXYUSER 3
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
130 #define PROXYPASS 4
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
131 static void proxy_print_option(GtkEntry *entry, int entrynum)
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
132 {
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2323
diff changeset
133 if (entrynum == PROXYHOST)
1881
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
134 g_snprintf(proxyhost, sizeof(proxyhost), "%s", gtk_entry_get_text(entry));
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
135 else if (entrynum == PROXYPORT)
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
136 proxyport = atoi(gtk_entry_get_text(entry));
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
137 else if (entrynum == PROXYUSER)
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
138 g_snprintf(proxyuser, sizeof(proxyuser), "%s", gtk_entry_get_text(entry));
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
139 else if (entrynum == PROXYPASS)
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
140 g_snprintf(proxypass, sizeof(proxypass), "%s", gtk_entry_get_text(entry));
4137
22875a399312 [gaim-migrate @ 4355]
Luke Schierer <lschiere@pidgin.im>
parents: 4114
diff changeset
141 proxy_info_is_from_gaimrc = 1; /* If the user specifies it, we want
22875a399312 [gaim-migrate @ 4355]
Luke Schierer <lschiere@pidgin.im>
parents: 4114
diff changeset
142 to save it */
1881
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
143 }
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
144
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
145
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
146 GtkWidget *make_frame(GtkWidget *ret, char *text) {
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
147 GtkWidget *vbox, *label, *hbox;
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
148 char labeltext[256];
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
149
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
150 vbox = gtk_vbox_new(FALSE, 6);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
151 gtk_box_pack_start(GTK_BOX(ret), vbox, FALSE, FALSE, 0);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
152 label = gtk_label_new(NULL);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
153 g_snprintf(labeltext, sizeof(labeltext), "<span weight=\"bold\">%s</span>", text);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
154 gtk_label_set_markup(GTK_LABEL(label), labeltext);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
155 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
156 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
157 hbox = gtk_hbox_new(FALSE, 6);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
158 gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
159 label = gtk_label_new(" ");
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
160 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
161 vbox = gtk_vbox_new(FALSE, 6);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
162 gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
163 return vbox;
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
164 }
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
165
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
166 /* OK, Apply and Cancel */
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
167
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
168
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
169 static void pref_nb_select(GtkTreeSelection *sel, GtkNotebook *nb) {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
170 GtkTreeIter iter;
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
171 char text[128];
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
172 GValue val = { 0, };
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
173 GtkTreeModel *model = GTK_TREE_MODEL(prefstree);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
174
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
175 if (! gtk_tree_selection_get_selected (sel, &model, &iter))
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
176 return;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
177 gtk_tree_model_get_value (model, &iter, 1, &val);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
178 g_snprintf(text, sizeof(text), "<span weight=\"bold\" size=\"larger\">%s</span>",
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
179 g_value_get_string(&val));
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
180 gtk_label_set_markup (GTK_LABEL(preflabel), text);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
181 g_value_unset (&val);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
182 gtk_tree_model_get_value (model, &iter, 2, &val);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
183 gtk_notebook_set_current_page (GTK_NOTEBOOK (prefsnotebook), g_value_get_int (&val));
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
184
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
185 }
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
186
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
187 /* These are the pages in the preferences notebook */
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
188 GtkWidget *interface_page() {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
189 GtkWidget *ret;
1881
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
190 GtkWidget *vbox;
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
191 ret = gtk_vbox_new(FALSE, 18);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
192 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
193
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
194 vbox = make_frame(ret, _("Interface Options"));
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
195
4227
a614423c648f [gaim-migrate @ 4471]
Mark Doliner <mark@kingant.net>
parents: 4215
diff changeset
196 gaim_button(_("D_isplay remote nicknames if no alias is set"), &misc_options, OPT_MISC_USE_SERVER_ALIAS, vbox);
a614423c648f [gaim-migrate @ 4471]
Mark Doliner <mark@kingant.net>
parents: 4215
diff changeset
197
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
198
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
199 gtk_widget_show_all(ret);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
200 return ret;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
201 }
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
202
4288
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
203 static void smiley_sel (GtkTreeSelection *sel, GtkTreeModel *model) {
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
204 GtkTreeIter iter;
4298
cddb50734169 [gaim-migrate @ 4552]
Sean Egan <seanegan@gmail.com>
parents: 4296
diff changeset
205 const char *filename;
4288
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
206 GValue val = { 0, };
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
207
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
208 if (! gtk_tree_selection_get_selected (sel, &model, &iter))
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
209 return;
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
210 gtk_tree_model_get_value (model, &iter, 2, &val);
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
211 filename = g_value_get_string(&val);
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
212 load_smiley_theme(filename, TRUE);
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
213 g_value_unset (&val);
4302
bc125db09cd0 [gaim-migrate @ 4556]
Sean Egan <seanegan@gmail.com>
parents: 4298
diff changeset
214 save_prefs();
4288
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
215 }
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
216
4324
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
217 GtkTreePath *theme_refresh_theme_list()
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
218 {
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
219 GdkPixbuf *pixbuf;
4323
8a932c488afc [gaim-migrate @ 4578]
Sean Egan <seanegan@gmail.com>
parents: 4309
diff changeset
220 GSList *themes;
4288
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
221 GtkTreeIter iter;
4328
2cbcaf41cfee [gaim-migrate @ 4584]
Nathan Walp <nwalp@pidgin.im>
parents: 4326
diff changeset
222 GtkTreePath *path = NULL;
4325
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
223 int ind = 0;
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
224
4288
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
225
4323
8a932c488afc [gaim-migrate @ 4578]
Sean Egan <seanegan@gmail.com>
parents: 4309
diff changeset
226 smiley_theme_probe();
4328
2cbcaf41cfee [gaim-migrate @ 4584]
Nathan Walp <nwalp@pidgin.im>
parents: 4326
diff changeset
227
4323
8a932c488afc [gaim-migrate @ 4578]
Sean Egan <seanegan@gmail.com>
parents: 4309
diff changeset
228 if (!smiley_themes)
4328
2cbcaf41cfee [gaim-migrate @ 4584]
Nathan Walp <nwalp@pidgin.im>
parents: 4326
diff changeset
229 return NULL;
4325
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
230
4323
8a932c488afc [gaim-migrate @ 4578]
Sean Egan <seanegan@gmail.com>
parents: 4309
diff changeset
231 themes = smiley_themes;
4325
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
232
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
233 gtk_list_store_clear(smiley_theme_store);
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
234
4288
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
235 while (themes) {
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
236 struct smiley_theme *theme = themes->data;
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
237 char *description = g_strdup_printf("<span size='larger' weight='bold'>%s</span> - %s\n"
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
238 "<span size='smaller' foreground='gray'>%s</span>",
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
239 theme->name, theme->author, theme->desc);;
4324
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
240 gtk_list_store_append (smiley_theme_store, &iter);
4288
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
241 pixbuf = gdk_pixbuf_new_from_file(theme->icon, NULL);
4328
2cbcaf41cfee [gaim-migrate @ 4584]
Nathan Walp <nwalp@pidgin.im>
parents: 4326
diff changeset
242
4324
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
243 gtk_list_store_set(smiley_theme_store, &iter,
4288
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
244 0, pixbuf,
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
245 1, description,
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
246 2, theme->path,
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
247 -1);
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
248 g_free(description);
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
249 themes = themes->next;
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
250 if (current_smiley_theme && !strcmp(theme->path, current_smiley_theme->path)) {
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
251 /* path = gtk_tree_path_new_from_indices(ind); */
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
252 char *iwishihadgtk2_2 = g_strdup_printf("%d", ind);
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
253 path = gtk_tree_path_new_from_string(iwishihadgtk2_2);
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
254 g_free(iwishihadgtk2_2);
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
255 }
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
256 ind++;
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
257 }
4325
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
258
4324
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
259 return path;
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
260 }
4325
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
261
4326
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
262 void theme_install_theme(char *path, char *extn) {
4325
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
263 gchar *command;
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
264 gchar *destdir;
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
265 gchar *tail;
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
266
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
267 /* Just to be safe */
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
268 g_strchomp(path);
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
269
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
270 /* I dont know what you are, get out of here */
4326
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
271 if (extn != NULL)
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
272 tail = extn;
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
273 else if ((tail = strrchr(path, '.')) == NULL)
4325
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
274 return;
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
275
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
276 destdir = g_strconcat(gaim_user_dir(), G_DIR_SEPARATOR_S "smileys", NULL);
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
277
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
278 /* We'll check this just to make sure. This also lets us do something different on
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
279 * other platforms, if need be */
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
280 if (!g_strcasecmp(tail, ".gz") || !g_strcasecmp(tail, ".tgz"))
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
281 command = g_strdup_printf("tar > /dev/null xzf \"%s\" -C %s", path, destdir);
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
282 else {
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
283 g_free(destdir);
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
284 return;
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
285 }
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
286
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
287 /* Fire! */
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
288 system(command);
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
289
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
290 g_free(command);
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
291 g_free(destdir);
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
292
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
293 theme_refresh_theme_list();
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
294 }
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
295
4326
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
296 static void theme_got_url(gpointer data, char *themedata, unsigned long len) {
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
297 FILE *f;
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
298 gchar *path;
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
299
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
300 f = gaim_mkstemp(&path);
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
301 fwrite(themedata, len, 1, f);
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
302 fclose(f);
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
303
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
304 theme_install_theme(path, data);
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
305
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
306 unlink(path);
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
307 g_free(path);
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
308 }
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
309
4328
2cbcaf41cfee [gaim-migrate @ 4584]
Nathan Walp <nwalp@pidgin.im>
parents: 4326
diff changeset
310 void theme_dnd_recv(GtkWidget *widget, GdkDragContext *dc, guint x, guint y, GtkSelectionData *sd,
4325
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
311 guint info, guint t, gpointer data) {
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
312 gchar *name = sd->data;
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
313
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
314 if ((sd->length >= 0) && (sd->format == 8)) {
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
315 /* Well, it looks like the drag event was cool.
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
316 * Let's do something with it */
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
317
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
318 if (!g_strncasecmp(name, "file://", 7)) {
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
319 /* It looks like we're dealing with a local file. Let's
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
320 * just untar it in the right place */
4326
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
321 theme_install_theme(name + 7, NULL);
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
322 } else if (!g_strncasecmp(name, "http://", 7)) {
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
323 /* Oo, a web drag and drop. This is where things
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
324 * will start to get interesting */
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
325 gchar *tail;
4328
2cbcaf41cfee [gaim-migrate @ 4584]
Nathan Walp <nwalp@pidgin.im>
parents: 4326
diff changeset
326
4326
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
327 if ((tail = strrchr(name, '.')) == NULL)
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
328 return;
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
329
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
330 /* We'll check this just to make sure. This also lets us do something different on
eb63f9960d07 [gaim-migrate @ 4582]
Rob Flynn <gaim@robflynn.com>
parents: 4325
diff changeset
331 * other platforms, if need be */
4332
c8f374cadbd9 [gaim-migrate @ 4596]
Christian Hammond <chipx86@chipx86.com>
parents: 4330
diff changeset
332 grab_url(name, TRUE, theme_got_url, ".tgz");
4325
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
333 }
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
334
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
335 gtk_drag_finish(dc, TRUE, FALSE, t);
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
336 }
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
337
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
338 gtk_drag_finish(dc, FALSE, FALSE, t);
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
339 }
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
340
4324
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
341 GtkWidget *theme_page() {
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
342 GtkWidget *ret;
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
343 GtkWidget *sw;
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
344 GtkWidget *view;
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
345 GtkCellRenderer *rend;
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
346 GtkTreeViewColumn *col;
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
347 GtkTreeSelection *sel;
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
348 GtkTreePath *path = NULL;
4334
fb911dfb76f4 [gaim-migrate @ 4598]
Rob Flynn <gaim@robflynn.com>
parents: 4332
diff changeset
349 GtkWidget *label;
4325
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
350 GtkTargetEntry te[3] = {{"text/plain", 0, 0},{"text/uri-list", 1, 0},{"STRING", 2, 0}};
4324
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
351
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
352 ret = gtk_vbox_new(FALSE, 18);
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
353 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
354
4339
78bc4c8e4b2e [gaim-migrate @ 4603]
Christian Hammond <chipx86@chipx86.com>
parents: 4334
diff changeset
355 label = gtk_label_new(_("Select a smiley theme that you would like to use from the list below. New themes can be installed by dragging and dropping them onto the theme list."));
4334
fb911dfb76f4 [gaim-migrate @ 4598]
Rob Flynn <gaim@robflynn.com>
parents: 4332
diff changeset
356
4339
78bc4c8e4b2e [gaim-migrate @ 4603]
Christian Hammond <chipx86@chipx86.com>
parents: 4334
diff changeset
357 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
4334
fb911dfb76f4 [gaim-migrate @ 4598]
Rob Flynn <gaim@robflynn.com>
parents: 4332
diff changeset
358 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
fb911dfb76f4 [gaim-migrate @ 4598]
Rob Flynn <gaim@robflynn.com>
parents: 4332
diff changeset
359 gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_LEFT);
fb911dfb76f4 [gaim-migrate @ 4598]
Rob Flynn <gaim@robflynn.com>
parents: 4332
diff changeset
360
fb911dfb76f4 [gaim-migrate @ 4598]
Rob Flynn <gaim@robflynn.com>
parents: 4332
diff changeset
361 gtk_box_pack_start(GTK_BOX(ret), label, FALSE, TRUE, 0);
fb911dfb76f4 [gaim-migrate @ 4598]
Rob Flynn <gaim@robflynn.com>
parents: 4332
diff changeset
362 gtk_widget_show(label);
fb911dfb76f4 [gaim-migrate @ 4598]
Rob Flynn <gaim@robflynn.com>
parents: 4332
diff changeset
363
4324
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
364 sw = gtk_scrolled_window_new(NULL,NULL);
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
365 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
366 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
367
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
368 gtk_box_pack_start(GTK_BOX(ret), sw, TRUE, TRUE, 0);
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
369 smiley_theme_store = gtk_list_store_new (3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING);
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
370
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
371 path = theme_refresh_theme_list();
4288
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
372
4324
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
373 view = gtk_tree_view_new_with_model (GTK_TREE_MODEL(smiley_theme_store));
4325
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
374
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
375 gtk_drag_dest_set(view, GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_HIGHLIGHT | GTK_DEST_DEFAULT_DROP, te,
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
376 sizeof(te) / sizeof(GtkTargetEntry) , GDK_ACTION_COPY | GDK_ACTION_MOVE);
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
377
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
378 g_signal_connect(G_OBJECT(view), "drag_data_received", G_CALLBACK(theme_dnd_recv), smiley_theme_store);
7fd57453e6fc [gaim-migrate @ 4580]
Rob Flynn <gaim@robflynn.com>
parents: 4324
diff changeset
379
4288
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
380 rend = gtk_cell_renderer_pixbuf_new();
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
381 sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (view));
4328
2cbcaf41cfee [gaim-migrate @ 4584]
Nathan Walp <nwalp@pidgin.im>
parents: 4326
diff changeset
382
2cbcaf41cfee [gaim-migrate @ 4584]
Nathan Walp <nwalp@pidgin.im>
parents: 4326
diff changeset
383 if(path) {
2cbcaf41cfee [gaim-migrate @ 4584]
Nathan Walp <nwalp@pidgin.im>
parents: 4326
diff changeset
384 gtk_tree_selection_select_path(sel, path);
2cbcaf41cfee [gaim-migrate @ 4584]
Nathan Walp <nwalp@pidgin.im>
parents: 4326
diff changeset
385 gtk_tree_path_free(path);
2cbcaf41cfee [gaim-migrate @ 4584]
Nathan Walp <nwalp@pidgin.im>
parents: 4326
diff changeset
386 }
4288
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
387
4589
eddb870a3c4d [gaim-migrate @ 4873]
Luke Schierer <lschiere@pidgin.im>
parents: 4581
diff changeset
388 col = gtk_tree_view_column_new_with_attributes (_("Icon"),
4288
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
389 rend,
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
390 "pixbuf", 0,
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
391 NULL);
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
392 gtk_tree_view_append_column (GTK_TREE_VIEW(view), col);
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
393
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
394 rend = gtk_cell_renderer_text_new();
4589
eddb870a3c4d [gaim-migrate @ 4873]
Luke Schierer <lschiere@pidgin.im>
parents: 4581
diff changeset
395 col = gtk_tree_view_column_new_with_attributes (_("Description"),
4288
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
396 rend,
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
397 "markup", 1,
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
398 NULL);
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
399 gtk_tree_view_append_column (GTK_TREE_VIEW(view), col);
4324
561316116cd8 [gaim-migrate @ 4579]
Sean Egan <seanegan@gmail.com>
parents: 4323
diff changeset
400 g_object_unref(G_OBJECT(smiley_theme_store));
4288
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
401 gtk_container_add(GTK_CONTAINER(sw), view);
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
402
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
403 g_signal_connect (G_OBJECT (sel), "changed",
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
404 G_CALLBACK (smiley_sel),
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
405 NULL);
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
406
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
407
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
408 gtk_widget_show_all(ret);
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
409 return ret;
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
410 }
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
411
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
412 GtkWidget *font_page() {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
413 GtkWidget *ret;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
414 GtkWidget *button;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
415 GtkWidget *vbox, *hbox;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
416 GtkWidget *select = NULL;
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
417 GtkSizeGroup *sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
418
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
419 ret = gtk_vbox_new(FALSE, 18);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
420 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
421
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
422 vbox = make_frame(ret, _("Style"));
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
423 gaim_button(_("_Bold"), &font_options, OPT_FONT_BOLD, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
424 gaim_button(_("_Italics"), &font_options, OPT_FONT_ITALIC, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
425 gaim_button(_("_Underline"), &font_options, OPT_FONT_UNDERLINE, vbox);
4599
221fb7143cd4 [gaim-migrate @ 4884]
Luke Schierer <lschiere@pidgin.im>
parents: 4589
diff changeset
426 gaim_button(_("_Strikethrough"), &font_options, OPT_FONT_STRIKE, vbox);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
427
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
428 vbox = make_frame(ret, _("Face"));
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
429 hbox = gtk_hbox_new(FALSE, 6);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
430 gtk_container_add(GTK_CONTAINER(vbox), hbox);
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
431 button = gaim_button(_("Use custo_m face"), &font_options, OPT_FONT_FACE, hbox);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
432 gtk_size_group_add_widget(sg, button);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
433 select = gtk_button_new_from_stock(GTK_STOCK_SELECT_FONT);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
434
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
435 if (!(font_options & OPT_FONT_FACE))
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
436 gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE);
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
437 g_signal_connect(GTK_OBJECT(button), "clicked",
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
438 G_CALLBACK(gaim_gtk_toggle_sensitive), select);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
439 g_signal_connect(GTK_OBJECT(select), "clicked",
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
440 G_CALLBACK(show_font_dialog), NULL);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
441 gtk_box_pack_start(GTK_BOX(hbox), select, FALSE, FALSE, 0);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
442
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
443 hbox = gtk_hbox_new(FALSE, 5);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
444 gtk_container_add(GTK_CONTAINER(vbox), hbox);
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
445 button = gaim_button(_("Use custom si_ze"), &font_options, OPT_FONT_SIZE, hbox);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
446 gtk_size_group_add_widget(sg, button);
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
447 select = gaim_labeled_spin_button(hbox, NULL, &fontsize, 1, 7, NULL);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
448 if (!(font_options & OPT_FONT_SIZE))
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
449 gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE);
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
450 g_signal_connect(GTK_OBJECT(button), "clicked",
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
451 G_CALLBACK(gaim_gtk_toggle_sensitive), select);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
452
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
453 vbox = make_frame(ret, _("Color"));
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
454 hbox = gtk_hbox_new(FALSE, 5);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
455 gtk_container_add(GTK_CONTAINER(vbox), hbox);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
456
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
457
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
458 button = gaim_button(_("_Text color"), &font_options, OPT_FONT_FGCOL, hbox);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
459 gtk_size_group_add_widget(sg, button);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
460
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
461 select = gtk_button_new_from_stock(GTK_STOCK_SELECT_COLOR);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
462 gtk_box_pack_start(GTK_BOX(hbox), select, FALSE, FALSE, 0);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
463 pref_fg_picture = show_color_pref(hbox, TRUE);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
464 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(update_color),
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
465 pref_fg_picture);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
466
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
467 if (!(font_options & OPT_FONT_FGCOL))
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
468 gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE);
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
469 g_signal_connect(GTK_OBJECT(button), "clicked",
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
470 G_CALLBACK(gaim_gtk_toggle_sensitive), select);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
471 g_signal_connect(GTK_OBJECT(select), "clicked", G_CALLBACK(show_fgcolor_dialog), NULL);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
472 hbox = gtk_hbox_new(FALSE, 5);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
473 gtk_container_add(GTK_CONTAINER(vbox), hbox);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
474
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
475 button = gaim_button(_("Bac_kground color"), &font_options, OPT_FONT_BGCOL, hbox);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
476 gtk_size_group_add_widget(sg, button);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
477 select = gtk_button_new_from_stock(GTK_STOCK_SELECT_COLOR);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
478 gtk_box_pack_start(GTK_BOX(hbox), select, FALSE, FALSE, 0);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
479 pref_bg_picture = show_color_pref(hbox, FALSE);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
480 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(update_color),
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
481 pref_bg_picture);
3472
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
482
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
483 if (!(font_options & OPT_FONT_BGCOL))
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
484 gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
485 g_signal_connect(GTK_OBJECT(select), "clicked", G_CALLBACK(show_bgcolor_dialog), NULL);
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
486 g_signal_connect(GTK_OBJECT(button), "clicked",
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
487 G_CALLBACK(gaim_gtk_toggle_sensitive), select);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
488
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
489 gtk_widget_show_all(ret);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
490 return ret;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
491 }
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
492
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
493
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
494 GtkWidget *messages_page() {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
495 GtkWidget *ret;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
496 GtkWidget *vbox;
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
497 ret = gtk_vbox_new(FALSE, 18);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
498 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
499
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
500 vbox = make_frame (ret, _("Display"));
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
501 gaim_button(_("Show graphical _smileys"), &convo_options, OPT_CONVO_SHOW_SMILEY, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
502 gaim_button(_("Show _timestamp on messages"), &convo_options, OPT_CONVO_SHOW_TIME, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
503 gaim_button(_("Show _URLs as links"), &convo_options, OPT_CONVO_SEND_LINKS, vbox);
3803
f894303cfede [gaim-migrate @ 3946]
Sean Egan <seanegan@gmail.com>
parents: 3792
diff changeset
504 #ifdef USE_GTKSPELL
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
505 gaim_button(_("_Highlight misspelled words"), &convo_options, OPT_CONVO_CHECK_SPELLING, vbox);
3803
f894303cfede [gaim-migrate @ 3946]
Sean Egan <seanegan@gmail.com>
parents: 3792
diff changeset
506 #endif
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
507 vbox = make_frame (ret, _("Ignore"));
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
508 gaim_button(_("Ignore c_olors"), &convo_options, OPT_CONVO_IGNORE_COLOUR, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
509 gaim_button(_("Ignore font _faces"), &convo_options, OPT_CONVO_IGNORE_FONTS, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
510 gaim_button(_("Ignore font si_zes"), &convo_options, OPT_CONVO_IGNORE_SIZES, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
511 /* gaim_button(_("Ignore Ti_K Automated Messages"), &away_options, OPT_AWAY_TIK_HACK, vbox); */
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
512
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
513 gtk_widget_show_all(ret);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
514 return ret;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
515 }
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
516
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
517 GtkWidget *hotkeys_page() {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
518 GtkWidget *ret;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
519 GtkWidget *vbox;
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
520 ret = gtk_vbox_new(FALSE, 18);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
521 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
522
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
523 vbox = make_frame(ret, _("Send Message"));
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
524 gaim_button(_("_Enter sends message"), &convo_options, OPT_CONVO_ENTER_SENDS, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
525 gaim_button(_("C_ontrol-Enter sends message"), &convo_options, OPT_CONVO_CTL_ENTER, vbox);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
526
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
527 vbox = make_frame (ret, _("Window Closing"));
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
528 gaim_button(_("E_scape closes window"), &convo_options, OPT_CONVO_ESC_CAN_CLOSE, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
529 gaim_button(_("Control-_W closes window"), &convo_options, OPT_CONVO_CTL_W_CLOSES, vbox);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
530
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
531 vbox = make_frame(ret, "Insertions");
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
532 gaim_button(_("Control-{B/I/U/S} inserts _HTML tags"), &convo_options, OPT_CONVO_CTL_CHARS, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
533 gaim_button(_("Control-(number) inserts _smileys"), &convo_options, OPT_CONVO_CTL_SMILEYS, vbox);
1881
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
534
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
535 gtk_widget_show_all(ret);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
536 return ret;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
537 }
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
538
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
539 GtkWidget *list_page() {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
540 GtkWidget *ret;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
541 GtkWidget *vbox;
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
542 ret = gtk_vbox_new(FALSE, 18);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
543 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
544
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
545 vbox = make_frame (ret, _("Buttons"));
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
546 gaim_button(_("_Hide IM/Info/Chat buttons"), &blist_options, OPT_BLIST_NO_BUTTONS, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
547 gaim_button(_("Show _pictures on buttons"), &blist_options, OPT_BLIST_SHOW_BUTTON_XPM, vbox);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
548
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
549 vbox = make_frame (ret, _("Buddy List Window"));
4045
ee8cbe596e9a [gaim-migrate @ 4253]
Luke Schierer <lschiere@pidgin.im>
parents: 4042
diff changeset
550 gaim_button(_("_Save window size/position"), &blist_options, OPT_BLIST_SAVED_WINDOWS, vbox);
ee8cbe596e9a [gaim-migrate @ 4253]
Luke Schierer <lschiere@pidgin.im>
parents: 4042
diff changeset
551 gaim_button(_("_Raise window on events"), &blist_options, OPT_BLIST_POPUP, vbox);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
552
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
553 vbox = make_frame (ret, _("Group Display"));
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
554 gaim_button(_("Hide _groups with no online buddies"), &blist_options, OPT_BLIST_NO_MT_GRP, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
555 gaim_button(_("Show _numbers in groups"), &blist_options, OPT_BLIST_SHOW_GRPNUM, vbox);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
556
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
557 vbox = make_frame (ret, _("Buddy Display"));
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
558 gaim_button(_("Show buddy type _icons"), &blist_options, OPT_BLIST_SHOW_PIXMAPS, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
559 gaim_button(_("Show _warning levels"), &blist_options, OPT_BLIST_SHOW_WARN, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
560 gaim_button(_("Show idle _times"), &blist_options, OPT_BLIST_SHOW_IDLETIME, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
561 gaim_button(_("Grey i_dle buddies"), &blist_options, OPT_BLIST_GREY_IDLERS, vbox);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
562
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
563 gtk_widget_show_all(ret);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
564 return ret;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
565 }
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
566
4469
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
567 GtkWidget *conv_page() {
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
568 GtkWidget *ret;
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
569 GtkWidget *vbox;
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
570 GtkWidget *label;
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
571 GtkSizeGroup *sg;
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
572 GList *names = NULL;
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
573 int i;
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
574
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
575 ret = gtk_vbox_new(FALSE, 18);
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
576 gtk_container_set_border_width(GTK_CONTAINER(ret), 12);
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
577
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
578 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
579 vbox = make_frame(ret, _("Conversations"));
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
580
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
581 /* Build a list of names. */
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
582 for (i = 0; i < gaim_conv_placement_get_fnc_count(); i++) {
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
583 names = g_list_append(names, (char *)gaim_conv_placement_get_name(i));
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
584 names = g_list_append(names, GINT_TO_POINTER(i));
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
585 }
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
586
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
587 label = gaim_dropdown_from_list(vbox, _("_Placement:"),
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
588 &conv_placement_option, -1, names);
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
589
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
590 g_list_free(names);
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
591
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
592 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
593 gtk_size_group_add_widget(sg, label);
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
594
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
595 gaim_button(_("Show IMs and chats in _same tabbed window."),
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
596 &convo_options, OPT_CONVO_COMBINE, vbox);
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
597
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
598 gtk_widget_show_all(ret);
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
599
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
600 return ret;
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
601 }
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
602
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
603 GtkWidget *im_page() {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
604 GtkWidget *ret;
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
605 GtkWidget *vbox;
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
606 GtkWidget *typingbutton, *widge;
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
607 GtkSizeGroup *sg;
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
608
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
609 ret = gtk_vbox_new(FALSE, 18);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
610 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
611
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
612 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
613
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
614 vbox = make_frame (ret, _("Window"));
4114
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
615 widge = gaim_dropdown(vbox, _("Show _buttons as:"), &im_options, OPT_IM_BUTTON_TEXT | OPT_IM_BUTTON_XPM,
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
616 _("Pictures"), OPT_IM_BUTTON_XPM,
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
617 _("Text"), OPT_IM_BUTTON_TEXT,
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
618 _("Pictures and text"), OPT_IM_BUTTON_XPM | OPT_IM_BUTTON_TEXT, NULL);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
619 gtk_size_group_add_widget(sg, widge);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
620 gtk_misc_set_alignment(GTK_MISC(widge), 0, 0);
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
621 gaim_labeled_spin_button(vbox, _("New window _width:"), &conv_size.width, 25, 9999, sg);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
622 gaim_labeled_spin_button(vbox, _("New window _height:"), &conv_size.height, 25, 9999, sg);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
623 gaim_labeled_spin_button(vbox, _("_Entry widget height:"), &conv_size.entry_height, 25, 9999, sg);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
624 gaim_button(_("_Raise windows on events"), &im_options, OPT_IM_POPUP, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
625 gaim_button(_("Hide window on _send"), &im_options, OPT_IM_POPDOWN, vbox);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
626 gtk_widget_show (vbox);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
627
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
628 vbox = make_frame (ret, _("Buddy Icons"));
4045
ee8cbe596e9a [gaim-migrate @ 4253]
Luke Schierer <lschiere@pidgin.im>
parents: 4042
diff changeset
629 gaim_button(_("Hide buddy _icons"), &im_options, OPT_IM_HIDE_ICONS, vbox);
ee8cbe596e9a [gaim-migrate @ 4253]
Luke Schierer <lschiere@pidgin.im>
parents: 4042
diff changeset
630 gaim_button(_("Disable buddy icon a_nimation"), &im_options, OPT_IM_NO_ANIMATION, vbox);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
631
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
632 vbox = make_frame (ret, _("Display"));
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
633 gaim_button(_("Show _logins in window"), &im_options, OPT_IM_LOGON, vbox);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
634
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
635 vbox = make_frame (ret, _("Typing Notification"));
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
636 typingbutton = gaim_button(_("Notify buddies that you are _typing to them"), &misc_options,
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
637 OPT_MISC_STEALTH_TYPING, vbox);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
638 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(typingbutton), !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(typingbutton)));
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
639 misc_options ^= OPT_MISC_STEALTH_TYPING;
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
640
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
641 gtk_widget_show_all(ret);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
642 return ret;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
643 }
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
644
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
645 GtkWidget *chat_page() {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
646 GtkWidget *ret;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
647 GtkWidget *vbox;
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
648 GtkWidget *dd;
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
649 GtkSizeGroup *sg;
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
650
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
651 ret = gtk_vbox_new(FALSE, 18);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
652 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
653
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
654 sg = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
655
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
656 vbox = make_frame (ret, _("Window"));
4114
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
657 dd = gaim_dropdown(vbox, _("Show _buttons as:"), &chat_options, OPT_CHAT_BUTTON_TEXT | OPT_CHAT_BUTTON_XPM,
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
658 _("Pictures"), OPT_CHAT_BUTTON_XPM,
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
659 _("Text"), OPT_CHAT_BUTTON_TEXT,
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
660 _("Pictures and text"), OPT_CHAT_BUTTON_XPM | OPT_CHAT_BUTTON_TEXT, NULL);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
661 gtk_size_group_add_widget(sg, dd);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
662 gtk_misc_set_alignment(GTK_MISC(dd), 0, 0);
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
663 gaim_labeled_spin_button(vbox, _("New window _width:"), &buddy_chat_size.width, 25, 9999, sg);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
664 gaim_labeled_spin_button(vbox, _("New window _height:"), &buddy_chat_size.height, 25, 9999, sg);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
665 gaim_labeled_spin_button(vbox, _("_Entry widget height:"), &buddy_chat_size.entry_height, 25, 9999, sg);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
666 gaim_button(_("_Raise windows on events"), &chat_options, OPT_CHAT_POPUP, vbox);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
667
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
668 vbox = make_frame (ret, _("Tab Completion"));
4045
ee8cbe596e9a [gaim-migrate @ 4253]
Luke Schierer <lschiere@pidgin.im>
parents: 4042
diff changeset
669 gaim_button(_("_Tab-complete nicks"), &chat_options, OPT_CHAT_TAB_COMPLETE, vbox);
ee8cbe596e9a [gaim-migrate @ 4253]
Luke Schierer <lschiere@pidgin.im>
parents: 4042
diff changeset
670 gaim_button(_("_Old-style tab completion"), &chat_options, OPT_CHAT_OLD_STYLE_TAB, vbox);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
671
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
672 vbox = make_frame (ret, _("Display"));
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
673 gaim_button(_("_Show people joining/leaving in window"), &chat_options, OPT_CHAT_LOGON, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
674 gaim_button(_("Co_lorize screennames"), &chat_options, OPT_CHAT_COLORIZE, vbox);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
675
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
676 gtk_widget_show_all(ret);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
677 return ret;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
678 }
1881
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
679
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
680 GtkWidget *tab_page() {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
681 GtkWidget *ret;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
682 GtkWidget *vbox;
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
683 GtkWidget *dd;
4445
a65555132674 [gaim-migrate @ 4720]
Sean Egan <seanegan@gmail.com>
parents: 4438
diff changeset
684 GtkWidget *button;
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
685 GtkSizeGroup *sg;
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
686 ret = gtk_vbox_new(FALSE, 18);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
687 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
688
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
689 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
690
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
691 vbox = make_frame (ret, _("IM Tabs"));
4114
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
692 dd = gaim_dropdown(vbox, _("Tab _placement:"), &im_options, OPT_IM_SIDE_TAB | OPT_IM_BR_TAB,
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
693 _("Top"), 0,
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
694 _("Bottom"), OPT_IM_BR_TAB,
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
695 _("Left"), OPT_IM_SIDE_TAB,
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
696 _("Right"), OPT_IM_BR_TAB | OPT_IM_SIDE_TAB, NULL);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
697 gtk_size_group_add_widget(sg, dd);
4045
ee8cbe596e9a [gaim-migrate @ 4253]
Luke Schierer <lschiere@pidgin.im>
parents: 4042
diff changeset
698 gaim_button(_("Show all _instant messages in one tabbed\nwindow"), &im_options, OPT_IM_ONE_WINDOW, vbox);
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
699 gaim_button(_("Show a_liases in tabs/titles"), &im_options, OPT_IM_ALIAS_TAB, vbox);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
700
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
701 vbox = make_frame (ret, _("Chat Tabs"));
4114
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
702 dd = gaim_dropdown(vbox, _("Tab _placement:"), &chat_options, OPT_CHAT_SIDE_TAB | OPT_CHAT_BR_TAB,
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
703 _("Top"), 0,
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
704 _("Bottom"), OPT_CHAT_BR_TAB,
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
705 _("Left"), OPT_CHAT_SIDE_TAB,
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
706 _("Right"), OPT_CHAT_SIDE_TAB | OPT_CHAT_BR_TAB, NULL);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
707 gtk_size_group_add_widget(sg, dd);
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
708 gaim_button(_("Show all c_hats in one tabbed window"), &chat_options, OPT_CHAT_ONE_WINDOW,
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
709 vbox);
1881
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
710
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
711 vbox = make_frame (ret, _("Buddy List Tabs"));
4114
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
712 dd = gaim_dropdown(vbox, _("Tab _placement:"), &blist_options, OPT_BLIST_BOTTOM_TAB,
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
713 _("Top"), 0,
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
714 _("Bottom"), OPT_BLIST_BOTTOM_TAB, NULL);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
715 gtk_size_group_add_widget(sg, dd);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
716
4445
a65555132674 [gaim-migrate @ 4720]
Sean Egan <seanegan@gmail.com>
parents: 4438
diff changeset
717 vbox = make_frame (ret, _("Tab Options"));
a65555132674 [gaim-migrate @ 4720]
Sean Egan <seanegan@gmail.com>
parents: 4438
diff changeset
718 button = gaim_button(_("Show _close button on tabs."), &convo_options, OPT_CONVO_NO_X_ON_TAB, vbox);
4449
faa9b636707a [gaim-migrate @ 4724]
Sean Egan <seanegan@gmail.com>
parents: 4445
diff changeset
719 convo_options ^= OPT_CONVO_NO_X_ON_TAB;
4445
a65555132674 [gaim-migrate @ 4720]
Sean Egan <seanegan@gmail.com>
parents: 4438
diff changeset
720 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(button), !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button)));
a65555132674 [gaim-migrate @ 4720]
Sean Egan <seanegan@gmail.com>
parents: 4438
diff changeset
721
a65555132674 [gaim-migrate @ 4720]
Sean Egan <seanegan@gmail.com>
parents: 4438
diff changeset
722
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
723 gtk_widget_show_all(ret);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
724 return ret;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
725 }
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
726
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
727 GtkWidget *proxy_page() {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
728 GtkWidget *ret;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
729 GtkWidget *vbox;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
730 GtkWidget *entry;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
731 GtkWidget *label;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
732 GtkWidget *hbox;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
733 GtkWidget *table;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
734
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
735 ret = gtk_vbox_new(FALSE, 18);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
736 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
737
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
738 vbox = make_frame (ret, _("Proxy Type"));
4377
0ffdb9b6a5e9 [gaim-migrate @ 4643]
Nathan Walp <nwalp@pidgin.im>
parents: 4359
diff changeset
739 gaim_dropdown(vbox, _("Proxy _type:"), (int*)&proxytype, -1,
4114
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
740 _("No proxy"), PROXY_NONE,
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
741 "SOCKS 4", PROXY_SOCKS4,
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
742 "SOCKS 5", PROXY_SOCKS5,
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
743 "HTTP", PROXY_HTTP, NULL);
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2323
diff changeset
744
2254
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
745 table = gtk_table_new(2, 2, FALSE);
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
746 gtk_container_set_border_width(GTK_CONTAINER(table), 5);
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
747 gtk_table_set_col_spacings(GTK_TABLE(table), 5);
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
748 gtk_table_set_row_spacings(GTK_TABLE(table), 5);
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
749
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
750 vbox = make_frame(ret, _("Proxy Server"));
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
751 prefs_proxy_frame = vbox;
2254
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
752
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
753 if (proxytype == PROXY_NONE)
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
754 gtk_widget_set_sensitive(GTK_WIDGET(vbox), FALSE);
2254
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
755
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
756 table = gtk_table_new(2, 4, FALSE);
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
757 gtk_container_set_border_width(GTK_CONTAINER(table), 5);
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
758 gtk_table_set_col_spacings(GTK_TABLE(table), 5);
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
759 gtk_table_set_row_spacings(GTK_TABLE(table), 10);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
760 gtk_container_add(GTK_CONTAINER(vbox), table);
2254
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
761
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
762
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
763 label = gtk_label_new_with_mnemonic(_("_Host"));
2254
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
764 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
765 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_FILL, 0, 0, 0);
1881
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
766
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
767 entry = gtk_entry_new();
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
768 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
769 gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 0, 1, GTK_FILL, 0, 0, 0);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
770 g_signal_connect(GTK_OBJECT(entry), "changed",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
771 G_CALLBACK(proxy_print_option), (void *)PROXYHOST);
1881
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
772 gtk_entry_set_text(GTK_ENTRY(entry), proxyhost);
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
773
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
774 hbox = gtk_hbox_new(TRUE, 5);
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
775 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
776
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
777 label = gtk_label_new_with_mnemonic(_("Port"));
2254
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
778 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
779 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2, GTK_FILL, 0, 0, 0);
1881
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
780
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
781 entry = gtk_entry_new();
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
782 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
783 gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 1, 2, GTK_FILL, 0, 0, 0);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
784 g_signal_connect(GTK_OBJECT(entry), "changed",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
785 G_CALLBACK(proxy_print_option), (void *)PROXYPORT);
2254
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
786
1881
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
787 if (proxyport) {
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
788 char buf[128];
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
789 g_snprintf(buf, sizeof(buf), "%d", proxyport);
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
790 gtk_entry_set_text(GTK_ENTRY(entry), buf);
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
791 }
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
792
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
793 label = gtk_label_new_with_mnemonic(_("_User"));
2254
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
794 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
795 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 2, 3, GTK_FILL, 0, 0, 0);
1881
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
796
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
797 entry = gtk_entry_new();
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
798 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
799 gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 2, 3, GTK_FILL, 0, 0, 0);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
800 g_signal_connect(GTK_OBJECT(entry), "changed",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
801 G_CALLBACK(proxy_print_option), (void *)PROXYUSER);
1881
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
802 gtk_entry_set_text(GTK_ENTRY(entry), proxyuser);
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
803
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
804 hbox = gtk_hbox_new(TRUE, 5);
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
805 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
806
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
807 label = gtk_label_new_with_mnemonic(_("Pa_ssword"));
2254
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
808 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
c0ac78ffe77f [gaim-migrate @ 2264]
Rob Flynn <gaim@robflynn.com>
parents: 2199
diff changeset
809 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 3, 4, GTK_FILL, 0, 0, 0);
1881
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
810
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
811 entry = gtk_entry_new();
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
812 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
813 gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 3, 4, GTK_FILL , 0, 0, 0);
1881
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
814 gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
815 g_signal_connect(GTK_OBJECT(entry), "changed",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
816 G_CALLBACK(proxy_print_option), (void *)PROXYPASS);
1881
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
817 gtk_entry_set_text(GTK_ENTRY(entry), proxypass);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
818
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
819 gtk_widget_show_all(ret);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
820 return ret;
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
821 }
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
822
3821
1a3b3f8ada2d [gaim-migrate @ 3970]
Rob Flynn <gaim@robflynn.com>
parents: 3818
diff changeset
823 #ifndef _WIN32
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
824 static void manual_browser_set(GtkButton *button, GtkEntry *entry) {
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
825
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
826 const char *program = gtk_entry_get_text(entry);
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
827 if (!program_is_valid(program)) {
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
828 char *error = g_strdup_printf(_("The entered manual browser "
4461
75ff69e592cc [gaim-migrate @ 4736]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4451
diff changeset
829 "'%s' is not valid. Hyperlinks will "
75ff69e592cc [gaim-migrate @ 4736]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4451
diff changeset
830 "not work."), program);
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
831 do_error_dialog(error, NULL, GAIM_WARNING);
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
832 }
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
833
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
834 g_strlcpy(web_command, program, sizeof(web_command));
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
835 }
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
836
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
837 static void manual_browser_reset(GtkButton *button, GtkEntry *entry) {
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
838 gtk_entry_set_text(entry, web_command);
3432
d40f96a0169b [gaim-migrate @ 3459]
Sean Egan <seanegan@gmail.com>
parents: 3429
diff changeset
839 }
d40f96a0169b [gaim-migrate @ 3459]
Sean Egan <seanegan@gmail.com>
parents: 3429
diff changeset
840
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
841 static GList *get_available_browsers()
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
842 {
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
843 struct browser {
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
844 char *name;
4461
75ff69e592cc [gaim-migrate @ 4736]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4451
diff changeset
845 char *command;
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
846 int id;
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
847 };
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
848
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
849 static struct browser possible_browsers[] = {
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
850 {N_("Konqueror"), "kfmclient", BROWSER_KONQ},
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
851 {N_("Opera"), "opera", BROWSER_OPERA},
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
852 {N_("Galeon"), "galeon", BROWSER_GALEON},
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
853 {N_("Netscape"), "netscape", BROWSER_NETSCAPE},
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
854 {N_("Mozilla"), "mozilla", BROWSER_MOZILLA},
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
855 };
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
856 static const int num_possible_browsers = 5;
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
857
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
858 GList *browsers = NULL;
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
859 int i = 0;
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
860
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
861 browsers = g_list_prepend(browsers, GINT_TO_POINTER(BROWSER_MANUAL));
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
862 browsers = g_list_prepend(browsers, _("Manual"));
4461
75ff69e592cc [gaim-migrate @ 4736]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4451
diff changeset
863 for (i = 0; i < num_possible_browsers; i++) {
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
864 if (program_is_valid(possible_browsers[i].command)) {
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
865 browsers = g_list_prepend(browsers,
4461
75ff69e592cc [gaim-migrate @ 4736]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4451
diff changeset
866 GINT_TO_POINTER(possible_browsers[i].id));
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
867 browsers = g_list_prepend(browsers, possible_browsers[i].name);
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
868 }
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
869 }
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
870
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
871 return browsers;
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
872 }
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
873
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
874 GtkWidget *browser_page() {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
875 GtkWidget *ret;
3821
1a3b3f8ada2d [gaim-migrate @ 3970]
Rob Flynn <gaim@robflynn.com>
parents: 3818
diff changeset
876 GtkWidget *vbox;
1a3b3f8ada2d [gaim-migrate @ 3970]
Rob Flynn <gaim@robflynn.com>
parents: 3818
diff changeset
877 GtkWidget *hbox;
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
878 GtkWidget *label;
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
879 GtkSizeGroup *sg;
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
880 GList *browsers = NULL;
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
881
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
882 ret = gtk_vbox_new(FALSE, 18);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
883 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
884
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
885 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
886 vbox = make_frame (ret, _("Browser Selection"));
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
887
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
888 browsers = get_available_browsers();
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
889 if (browsers != NULL) {
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
890 label = gaim_dropdown_from_list(vbox,_("_Browser"), &web_browser, -1,
4461
75ff69e592cc [gaim-migrate @ 4736]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4451
diff changeset
891 browsers);
75ff69e592cc [gaim-migrate @ 4736]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4451
diff changeset
892 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
75ff69e592cc [gaim-migrate @ 4736]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4451
diff changeset
893 gtk_size_group_add_widget(sg, label);
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
894 }
915
378c862a2381 [gaim-migrate @ 925]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 910
diff changeset
895
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
896 hbox = gtk_hbox_new(FALSE, 5);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
897 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
4295
0bdfcae57be7 [gaim-migrate @ 4548]
Luke Schierer <lschiere@pidgin.im>
parents: 4290
diff changeset
898 label = gtk_label_new_with_mnemonic(_("_Manual: "));
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
899 gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
900 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
901 gtk_size_group_add_widget(sg, label);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
902 browser_entry = gtk_entry_new();
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
903 gtk_label_set_mnemonic_widget(GTK_LABEL(label), browser_entry);
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
904 if (web_browser != BROWSER_MANUAL)
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
905 gtk_widget_set_sensitive(hbox, FALSE);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
906 gtk_box_pack_start (GTK_BOX (hbox), browser_entry, FALSE, FALSE, 0);
1750
d2eca7a46cfd [gaim-migrate @ 1760]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1711
diff changeset
907
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
908 gtk_entry_set_text(GTK_ENTRY(browser_entry), web_command);
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
909 g_signal_connect_swapped(GTK_OBJECT(browser_entry), "activate",
4461
75ff69e592cc [gaim-migrate @ 4736]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4451
diff changeset
910 G_CALLBACK(manual_browser_set), NULL);
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
911 label = gtk_button_new_with_label(_("Set"));
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
912 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
913 g_signal_connect(GTK_OBJECT(label), "clicked",
4461
75ff69e592cc [gaim-migrate @ 4736]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4451
diff changeset
914 G_CALLBACK(manual_browser_set), browser_entry);
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
915 label = gtk_button_new_with_label(_("Reset"));
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
916 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
917 g_signal_connect(GTK_OBJECT(label), "clicked",
4461
75ff69e592cc [gaim-migrate @ 4736]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4451
diff changeset
918 G_CALLBACK(manual_browser_reset), browser_entry);
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
919
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
920 if (browsers != NULL) {
4461
75ff69e592cc [gaim-migrate @ 4736]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4451
diff changeset
921 vbox = make_frame (ret, _("Browser Options"));
75ff69e592cc [gaim-migrate @ 4736]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4451
diff changeset
922 label = gaim_button(_("Open new _window by default"), &misc_options, OPT_MISC_BROWSER_POPUP, vbox);
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
923 }
4451
ce5b64fac95d [gaim-migrate @ 4726]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4449
diff changeset
924
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
925 gtk_widget_show_all(ret);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
926 return ret;
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
927 }
4461
75ff69e592cc [gaim-migrate @ 4736]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4451
diff changeset
928 #endif /*_WIN32*/
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
929
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
930 GtkWidget *logging_page() {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
931 GtkWidget *ret;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
932 GtkWidget *vbox;
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
933 ret = gtk_vbox_new(FALSE, 18);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
934 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
915
378c862a2381 [gaim-migrate @ 925]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 910
diff changeset
935
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
936 vbox = make_frame (ret, _("Message Logs"));
4045
ee8cbe596e9a [gaim-migrate @ 4253]
Luke Schierer <lschiere@pidgin.im>
parents: 4042
diff changeset
937 gaim_button(_("_Log all instant messages"), &logging_options, OPT_LOG_CONVOS, vbox);
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
938 gaim_button(_("Log all c_hats"), &logging_options, OPT_LOG_CHATS, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
939 gaim_button(_("Strip _HTML from logs"), &logging_options, OPT_LOG_STRIP_HTML, vbox);
2843
87d11d2a7d59 [gaim-migrate @ 2856]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2839
diff changeset
940
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
941 vbox = make_frame (ret, _("System Logs"));
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
942 gaim_button(_("Log when buddies _sign on/sign off"), &logging_options, OPT_LOG_BUDDY_SIGNON,
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
943 vbox);
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
944 gaim_button(_("Log when buddies become _idle/un-idle"), &logging_options, OPT_LOG_BUDDY_IDLE,
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
945 vbox);
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
946 gaim_button(_("Log when buddies go away/come _back"), &logging_options, OPT_LOG_BUDDY_AWAY, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
947 gaim_button(_("Log your _own signons/idleness/awayness"), &logging_options, OPT_LOG_MY_SIGNON,
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
948 vbox);
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
949 gaim_button(_("I_ndividual log file for each buddy's signons"), &logging_options,
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
950 OPT_LOG_INDIVIDUAL, vbox);
1757
3dfe4aefd366 [gaim-migrate @ 1767]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1755
diff changeset
951
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
952 gtk_widget_show_all(ret);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
953 return ret;
1757
3dfe4aefd366 [gaim-migrate @ 1767]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1755
diff changeset
954 }
3dfe4aefd366 [gaim-migrate @ 1767]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1755
diff changeset
955
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
956 static GtkWidget *sndcmd = NULL;
1757
3dfe4aefd366 [gaim-migrate @ 1767]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1755
diff changeset
957
3821
1a3b3f8ada2d [gaim-migrate @ 3970]
Rob Flynn <gaim@robflynn.com>
parents: 3818
diff changeset
958 #ifndef _WIN32
4095
260ebd4bdc8d [gaim-migrate @ 4310]
Luke Schierer <lschiere@pidgin.im>
parents: 4089
diff changeset
959 static gint sound_cmd_yeah(GtkEntry *entry, gpointer d)
1813
998a6a032874 [gaim-migrate @ 1823]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1805
diff changeset
960 {
4561
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
961 gaim_sound_set_command(gtk_entry_get_text(GTK_ENTRY(sndcmd)));
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
962 return TRUE;
1813
998a6a032874 [gaim-migrate @ 1823]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1805
diff changeset
963 }
3821
1a3b3f8ada2d [gaim-migrate @ 3970]
Rob Flynn <gaim@robflynn.com>
parents: 3818
diff changeset
964 #endif
1813
998a6a032874 [gaim-migrate @ 1823]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1805
diff changeset
965
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
966 GtkWidget *sound_page() {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
967 GtkWidget *ret;
3821
1a3b3f8ada2d [gaim-migrate @ 3970]
Rob Flynn <gaim@robflynn.com>
parents: 3818
diff changeset
968 GtkWidget *vbox;
1a3b3f8ada2d [gaim-migrate @ 3970]
Rob Flynn <gaim@robflynn.com>
parents: 3818
diff changeset
969 GtkSizeGroup *sg;
1a3b3f8ada2d [gaim-migrate @ 3970]
Rob Flynn <gaim@robflynn.com>
parents: 3818
diff changeset
970 #ifndef _WIN32
1a3b3f8ada2d [gaim-migrate @ 3970]
Rob Flynn <gaim@robflynn.com>
parents: 3818
diff changeset
971 GtkWidget *dd;
1a3b3f8ada2d [gaim-migrate @ 3970]
Rob Flynn <gaim@robflynn.com>
parents: 3818
diff changeset
972 GtkWidget *hbox;
1750
d2eca7a46cfd [gaim-migrate @ 1760]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1711
diff changeset
973 GtkWidget *label;
4561
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
974 char *cmd;
3821
1a3b3f8ada2d [gaim-migrate @ 3970]
Rob Flynn <gaim@robflynn.com>
parents: 3818
diff changeset
975 #endif
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
976
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
977 ret = gtk_vbox_new(FALSE, 18);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
978 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
979
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
980 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
981
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
982 vbox = make_frame (ret, _("Sound Options"));
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
983 gaim_button(_("_No sounds when you log in"), &sound_options, OPT_SOUND_SILENT_SIGNON, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
984 gaim_button(_("_Sounds while away"), &sound_options, OPT_SOUND_WHEN_AWAY, vbox);
2843
87d11d2a7d59 [gaim-migrate @ 2856]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2839
diff changeset
985
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
986 #ifndef _WIN32
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
987 vbox = make_frame (ret, _("Sound Method"));
4114
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
988 dd = gaim_dropdown(vbox, _("_Method"), &sound_options, OPT_SOUND_BEEP |
4581
4b1e24835bbf [gaim-migrate @ 4864]
Nathan Walp <nwalp@pidgin.im>
parents: 4561
diff changeset
989 OPT_SOUND_ESD | OPT_SOUND_ARTS | OPT_SOUND_NAS |
4b1e24835bbf [gaim-migrate @ 4864]
Nathan Walp <nwalp@pidgin.im>
parents: 4561
diff changeset
990 OPT_SOUND_NORMAL | OPT_SOUND_CMD,
4114
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
991 _("Console beep"), OPT_SOUND_BEEP,
4561
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
992 #ifdef USE_AO
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
993 _("Automatic"), OPT_SOUND_NORMAL,
4581
4b1e24835bbf [gaim-migrate @ 4864]
Nathan Walp <nwalp@pidgin.im>
parents: 4561
diff changeset
994 "ESD", OPT_SOUND_ESD,
4b1e24835bbf [gaim-migrate @ 4864]
Nathan Walp <nwalp@pidgin.im>
parents: 4561
diff changeset
995 "Arts", OPT_SOUND_ARTS,
4b1e24835bbf [gaim-migrate @ 4864]
Nathan Walp <nwalp@pidgin.im>
parents: 4561
diff changeset
996 #endif
4b1e24835bbf [gaim-migrate @ 4864]
Nathan Walp <nwalp@pidgin.im>
parents: 4561
diff changeset
997 #ifdef USE_NAS_AUDIO
4b1e24835bbf [gaim-migrate @ 4864]
Nathan Walp <nwalp@pidgin.im>
parents: 4561
diff changeset
998 "NAS", OPT_SOUND_NAS,
4082
4b04ecb3eb97 [gaim-migrate @ 4297]
Luke Schierer <lschiere@pidgin.im>
parents: 4074
diff changeset
999 #endif
4114
fa5075168c23 [gaim-migrate @ 4330]
Luke Schierer <lschiere@pidgin.im>
parents: 4095
diff changeset
1000 _("Command"), OPT_SOUND_CMD, NULL);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1001 gtk_size_group_add_widget(sg, dd);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1002 gtk_misc_set_alignment(GTK_MISC(dd), 0, 0);
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1003
1813
998a6a032874 [gaim-migrate @ 1823]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1805
diff changeset
1004 hbox = gtk_hbox_new(FALSE, 5);
998a6a032874 [gaim-migrate @ 1823]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1805
diff changeset
1005 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1006
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1007 hbox = gtk_hbox_new(FALSE, 5);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1008 gtk_container_add(GTK_CONTAINER(vbox), hbox);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1009 label = gtk_label_new_with_mnemonic(_("Sound c_ommand\n(%s for filename)"));
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1010 gtk_size_group_add_widget(sg, label);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1011 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1012 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5);
915
378c862a2381 [gaim-migrate @ 925]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 910
diff changeset
1013
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1014 sndcmd = gtk_entry_new();
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1015 gtk_label_set_mnemonic_widget(GTK_LABEL(label), sndcmd);
1813
998a6a032874 [gaim-migrate @ 1823]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1805
diff changeset
1016
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1017 gtk_entry_set_editable(GTK_ENTRY(sndcmd), TRUE);
4561
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1018 cmd = gaim_sound_get_command();
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1019 if(cmd)
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1020 gtk_entry_set_text(GTK_ENTRY(sndcmd), cmd);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1021 gtk_widget_set_size_request(sndcmd, 75, -1);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1022
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1023 gtk_widget_set_sensitive(sndcmd, (sound_options & OPT_SOUND_CMD));
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1024 gtk_box_pack_start(GTK_BOX(hbox), sndcmd, TRUE, TRUE, 5);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
1025 g_signal_connect(GTK_OBJECT(sndcmd), "changed", G_CALLBACK(sound_cmd_yeah), NULL);
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1026 #endif /* _WIN32 */
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1027 gtk_widget_show_all(ret);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1028 return ret;
2262
9c8f353331e7 [gaim-migrate @ 2272]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2254
diff changeset
1029 }
9c8f353331e7 [gaim-migrate @ 2272]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2254
diff changeset
1030
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1031 GtkWidget *away_page() {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1032 GtkWidget *ret;
2262
9c8f353331e7 [gaim-migrate @ 2272]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2254
diff changeset
1033 GtkWidget *vbox;
9c8f353331e7 [gaim-migrate @ 2272]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2254
diff changeset
1034 GtkWidget *hbox;
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1035 GtkWidget *label;
2262
9c8f353331e7 [gaim-migrate @ 2272]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2254
diff changeset
1036 GtkWidget *button;
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1037 GtkWidget *select;
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1038 GtkWidget *dd;
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1039 GtkSizeGroup *sg;
2262
9c8f353331e7 [gaim-migrate @ 2272]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2254
diff changeset
1040
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1041 ret = gtk_vbox_new(FALSE, 18);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1042 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
2262
9c8f353331e7 [gaim-migrate @ 2272]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2254
diff changeset
1043
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1044 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
1813
998a6a032874 [gaim-migrate @ 1823]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1805
diff changeset
1045
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1046 vbox = make_frame (ret, _("Away"));
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1047 gaim_button(_("_Sending messages removes away status"), &away_options, OPT_AWAY_BACK_ON_IM, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1048 gaim_button(_("_Queue new messages when away"), &away_options, OPT_AWAY_QUEUE, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1049 gaim_button(_("_Ignore new conversations when away"), &away_options, OPT_AWAY_DISCARD, vbox);
1813
998a6a032874 [gaim-migrate @ 1823]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1805
diff changeset
1050
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1051 vbox = make_frame (ret, _("Auto-response"));
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1052 hbox = gtk_hbox_new(FALSE, 0);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1053 gtk_container_add(GTK_CONTAINER(vbox), hbox);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1054 gaim_labeled_spin_button(hbox, _("Seconds before _resending:"),
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1055 &away_resend, 1, 24 * 60 * 60, sg);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1056 gaim_button(_("_Don't send auto-response"), &away_options, OPT_AWAY_NO_AUTO_RESP, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1057 gaim_button(_("_Only send auto-response when idle"), &away_options, OPT_AWAY_IDLE_RESP, vbox);
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1058 gaim_button(_("Do_n't send auto-response in active conversations"), &away_options, OPT_AWAY_DELAY_IN_USE, vbox);
1813
998a6a032874 [gaim-migrate @ 1823]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1805
diff changeset
1059
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1060 if (away_options & OPT_AWAY_NO_AUTO_RESP)
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1061 gtk_widget_set_sensitive(hbox, FALSE);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1062
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1063 vbox = make_frame (ret, _("Idle"));
4052
fe0cf4c9115d [gaim-migrate @ 4262]
Luke Schierer <lschiere@pidgin.im>
parents: 4046
diff changeset
1064 dd = gaim_dropdown(vbox, _("Idle _time reporting:"), &report_idle, -1,
fe0cf4c9115d [gaim-migrate @ 4262]
Luke Schierer <lschiere@pidgin.im>
parents: 4046
diff changeset
1065 _("None"), IDLE_NONE,
fe0cf4c9115d [gaim-migrate @ 4262]
Luke Schierer <lschiere@pidgin.im>
parents: 4046
diff changeset
1066 _("Gaim usage"), IDLE_GAIM,
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1067 #ifdef USE_SCREENSAVER
3905
3e508dd31b76 [gaim-migrate @ 4058]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3902
diff changeset
1068 #ifndef _WIN32
4052
fe0cf4c9115d [gaim-migrate @ 4262]
Luke Schierer <lschiere@pidgin.im>
parents: 4046
diff changeset
1069 _("X usage"), IDLE_SCREENSAVER,
3905
3e508dd31b76 [gaim-migrate @ 4058]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3902
diff changeset
1070 #else
4052
fe0cf4c9115d [gaim-migrate @ 4262]
Luke Schierer <lschiere@pidgin.im>
parents: 4046
diff changeset
1071 _("Windows usage"), IDLE_SCREENSAVER,
3905
3e508dd31b76 [gaim-migrate @ 4058]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 3902
diff changeset
1072 #endif
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1073 #endif
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1074 NULL);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1075 gtk_size_group_add_widget(sg, dd);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1076 gtk_misc_set_alignment(GTK_MISC(dd), 0, 0);
2385
bdc74764245c [gaim-migrate @ 2398]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2372
diff changeset
1077
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1078 vbox = make_frame (ret, _("Auto-away"));
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1079 button = gaim_button(_("Set away _when idle"), &away_options, OPT_AWAY_AUTO, vbox);
4052
fe0cf4c9115d [gaim-migrate @ 4262]
Luke Schierer <lschiere@pidgin.im>
parents: 4046
diff changeset
1080 select = gaim_labeled_spin_button(vbox, _("_Minutes before setting away:"), &auto_away, 1, 24 * 60, sg);
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1081 if (!(away_options & OPT_AWAY_AUTO))
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1082 gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE);
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
1083 g_signal_connect(GTK_OBJECT(button), "clicked",
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
1084 G_CALLBACK(gaim_gtk_toggle_sensitive), select);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1085
4052
fe0cf4c9115d [gaim-migrate @ 4262]
Luke Schierer <lschiere@pidgin.im>
parents: 4046
diff changeset
1086 label = gtk_label_new_with_mnemonic(_("Away m_essage:"));
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1087 gtk_size_group_add_widget(sg, label);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1088 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1089 hbox = gtk_hbox_new(FALSE, 0);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1090 gtk_container_add(GTK_CONTAINER(vbox), hbox);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1091 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1092 prefs_away_menu = gtk_option_menu_new();
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1093 gtk_label_set_mnemonic_widget(GTK_LABEL(label), prefs_away_menu);
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1094 if (!(away_options & OPT_AWAY_AUTO))
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1095 gtk_widget_set_sensitive(GTK_WIDGET(prefs_away_menu), FALSE);
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
1096 g_signal_connect(GTK_OBJECT(button), "clicked",
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
1097 G_CALLBACK(gaim_gtk_toggle_sensitive), prefs_away_menu);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1098 default_away_menu_init(prefs_away_menu);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1099 gtk_widget_show(prefs_away_menu);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1100 gtk_box_pack_start(GTK_BOX(hbox), prefs_away_menu, FALSE, FALSE, 0);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1101
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1102 gtk_widget_show_all(ret);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1103 return ret;
873
789df4b47508 [gaim-migrate @ 883]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 864
diff changeset
1104 }
789df4b47508 [gaim-migrate @ 883]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 864
diff changeset
1105
3551
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1106 #if USE_PLUGINS
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1107 GtkWidget *plugin_description=NULL, *plugin_details=NULL;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1108 static void prefs_plugin_sel (GtkTreeSelection *sel, GtkTreeModel *model)
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1109 {
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1110 gchar buf[1024];
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1111 GtkTreeIter iter;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1112 GValue val = { 0, };
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1113 struct gaim_plugin *plug;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1114
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1115 if (! gtk_tree_selection_get_selected (sel, &model, &iter))
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1116 return;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1117 gtk_tree_model_get_value (model, &iter, 2, &val);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1118 plug = g_value_get_pointer(&val);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1119
3563
e120097bbd72 [gaim-migrate @ 3658]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
1120 if (plug->error[0])
4309
5978e3d53f29 [gaim-migrate @ 4563]
Luke Schierer <lschiere@pidgin.im>
parents: 4302
diff changeset
1121 g_snprintf(buf, sizeof(buf), "<span size=\"larger\">%s %s</span>\n\n"
3563
e120097bbd72 [gaim-migrate @ 3658]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
1122 "<span weight=\"bold\" color=\"red\">%s</span>\n\n"
4309
5978e3d53f29 [gaim-migrate @ 4563]
Luke Schierer <lschiere@pidgin.im>
parents: 4302
diff changeset
1123 "%s", plug->desc.name, plug->desc.version, plug->error, plug->desc.description);
3563
e120097bbd72 [gaim-migrate @ 3658]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
1124 else
4309
5978e3d53f29 [gaim-migrate @ 4563]
Luke Schierer <lschiere@pidgin.im>
parents: 4302
diff changeset
1125 g_snprintf(buf, sizeof(buf), "<span size=\"larger\">%s %s</span>\n\n"
5978e3d53f29 [gaim-migrate @ 4563]
Luke Schierer <lschiere@pidgin.im>
parents: 4302
diff changeset
1126 "%s", plug->desc.name, plug->desc.version, plug->desc.description);
3551
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1127 gtk_label_set_markup(GTK_LABEL(plugin_description), buf);
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1128 g_snprintf(buf, sizeof(buf),
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1129 #ifndef _WIN32
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1130 _("<span size=\"larger\">%s %s</span>\n\n"
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1131 "<span weight=\"bold\">Written by:</span>\t%s\n"
4617
858979ab3867 [gaim-migrate @ 4908]
Mark Doliner <mark@kingant.net>
parents: 4599
diff changeset
1132 "<span weight=\"bold\">Web site:</span>\t\t%s\n"
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1133 "<span weight=\"bold\">File name:</span>\t%s"),
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1134 #else
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1135 _("<span size=\"larger\">%s %s</span>\n\n"
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1136 "<span weight=\"bold\">Written by:</span> %s\n"
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1137 "<span weight=\"bold\">URL:</span> %s\n"
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1138 "<span weight=\"bold\">File name:</span> %s"),
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1139 #endif
3551
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1140 plug->desc.name, plug->desc.version, plug->desc.authors, plug->desc.url, plug->path);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1141 gtk_label_set_markup(GTK_LABEL(plugin_details), buf);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1142 g_value_unset (&val);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1143 }
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1144
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1145 static void plugin_load (GtkCellRendererToggle *cell, gchar *pth, gpointer data)
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1146 {
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1147 GtkTreeModel *model = (GtkTreeModel *)data;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1148 GtkTreeIter iter;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1149 GtkTreePath *path = gtk_tree_path_new_from_string(pth);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1150 struct gaim_plugin *plug;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1151 gchar buf[1024];
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1152 GtkWidget *(*config)();
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1153
3551
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1154 GdkCursor *wait = gdk_cursor_new (GDK_WATCH);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1155 gdk_window_set_cursor(prefs->window, wait);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1156 gdk_cursor_unref(wait);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1157
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1158 gtk_tree_model_get_iter (model, &iter, path);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1159 gtk_tree_model_get (model, &iter, 2, &plug, -1);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1160
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1161 if (!plug->handle)
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1162
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1163 if (plug->type == plugin)
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1164 #ifdef GAIM_PLUGINS
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1165 {
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1166 load_plugin(plug->path);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1167 if (g_module_symbol(plug->handle, "gaim_plugin_config_gtk", (gpointer *)&config)) {
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1168 plug->iter = g_new0(GtkTreeIter, 1);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1169 prefs_notebook_add_page(plug->desc.name, NULL, config(), plug->iter, &plugin_iter, notebook_page++);
3567
ec86e76d0427 [gaim-migrate @ 3663]
Sean Egan <seanegan@gmail.com>
parents: 3565
diff changeset
1170 if (gtk_tree_model_iter_n_children(GTK_TREE_MODEL(prefstree), &plugin_iter) == 1) {
ec86e76d0427 [gaim-migrate @ 3663]
Sean Egan <seanegan@gmail.com>
parents: 3565
diff changeset
1171 /* Expand the tree for the first plugin added */
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1172 GtkTreePath *path2 = gtk_tree_model_get_path(GTK_TREE_MODEL(prefstree), &plugin_iter);
3567
ec86e76d0427 [gaim-migrate @ 3663]
Sean Egan <seanegan@gmail.com>
parents: 3565
diff changeset
1173 gtk_tree_view_expand_row(GTK_TREE_VIEW(tree_v), path2, TRUE);
ec86e76d0427 [gaim-migrate @ 3663]
Sean Egan <seanegan@gmail.com>
parents: 3565
diff changeset
1174 gtk_tree_path_free (path2);
ec86e76d0427 [gaim-migrate @ 3663]
Sean Egan <seanegan@gmail.com>
parents: 3565
diff changeset
1175 }
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1176 }
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1177 }
3551
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1178 #else
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1179 {}
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1180 #endif
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1181 else
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1182 #ifdef USE_PERL
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1183 perl_load_file(plug->path);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1184 #else
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1185 {}
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1186 #endif
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1187 else
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1188 if (plug->type == plugin)
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1189 #ifdef GAIM_PLUGINS
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1190 {
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1191 unload_plugin(plug);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1192 if (plug->iter) {
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1193 gtk_tree_store_remove(GTK_TREE_STORE(prefstree), plug->iter);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1194 g_free(plug->iter);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1195 plug->iter = NULL;
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1196 }
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1197 }
3551
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1198 #else
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1199 {}
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1200 #endif
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1201 else
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1202 #ifdef USE_PERL
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1203 perl_unload_file(plug);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1204 #else
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1205 {}
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1206 #endif
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1207 gdk_window_set_cursor(prefs->window, NULL);
3563
e120097bbd72 [gaim-migrate @ 3658]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
1208 if (plug->error[0])
4309
5978e3d53f29 [gaim-migrate @ 4563]
Luke Schierer <lschiere@pidgin.im>
parents: 4302
diff changeset
1209 g_snprintf(buf, sizeof(buf), "<span size=\"larger\">%s %s</span>\n\n"
3563
e120097bbd72 [gaim-migrate @ 3658]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
1210 "<span weight=\"bold\" color=\"red\">%s</span>\n\n"
4309
5978e3d53f29 [gaim-migrate @ 4563]
Luke Schierer <lschiere@pidgin.im>
parents: 4302
diff changeset
1211 "%s", plug->desc.name, plug->desc.version, plug->error, plug->desc.description);
3563
e120097bbd72 [gaim-migrate @ 3658]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
1212 else
4309
5978e3d53f29 [gaim-migrate @ 4563]
Luke Schierer <lschiere@pidgin.im>
parents: 4302
diff changeset
1213 g_snprintf(buf, sizeof(buf), "<span size=\"larger\">%s %s</span>\n\n"
5978e3d53f29 [gaim-migrate @ 4563]
Luke Schierer <lschiere@pidgin.im>
parents: 4302
diff changeset
1214 "%s", plug->desc.name, plug->desc.version, plug->desc.description);
3563
e120097bbd72 [gaim-migrate @ 3658]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
1215 gtk_label_set_markup(GTK_LABEL(plugin_description), buf);
3551
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1216 gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, plug->handle, -1);
3563
e120097bbd72 [gaim-migrate @ 3658]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
1217
3551
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1218 gtk_label_set_markup(GTK_LABEL(plugin_description), buf);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1219 gtk_tree_path_free(path);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1220 }
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1221
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1222 static GtkWidget *plugin_page ()
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1223 {
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1224 GtkWidget *ret;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1225
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1226 GtkWidget *sw, *vp;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1227 GtkTreeIter iter;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1228 GtkWidget *event_view;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1229 GtkListStore *ls;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1230 GtkCellRenderer *rend, *rendt;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1231 GtkTreeViewColumn *col;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1232 GtkTreeSelection *sel;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1233 GtkTreePath *path;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1234
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1235 GtkWidget *nb;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1236
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1237 GList *probes = probed_plugins;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1238 struct gaim_plugin *plug;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1239
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1240 ret = gtk_vbox_new(FALSE, 18);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1241 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1242
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1243 sw = gtk_scrolled_window_new(NULL,NULL);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1244 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1245 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1246
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1247 gtk_box_pack_start(GTK_BOX(ret), sw, TRUE, TRUE, 0);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1248
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1249 ls = gtk_list_store_new (3, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_POINTER);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1250 while (probes) {
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1251 plug = probes->data;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1252 gtk_list_store_append (ls, &iter);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1253 gtk_list_store_set(ls, &iter,
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1254 0, plug->handle,
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1255 1, plug->desc.name ? plug->desc.name : plug->path,
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1256 2, plug, -1);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1257 probes = probes->next;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1258 }
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1259
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1260 event_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL(ls));
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1261
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1262 rend = gtk_cell_renderer_toggle_new();
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1263 sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (event_view));
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1264
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1265
4295
0bdfcae57be7 [gaim-migrate @ 4548]
Luke Schierer <lschiere@pidgin.im>
parents: 4290
diff changeset
1266 col = gtk_tree_view_column_new_with_attributes (_("Load"),
3551
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1267 rend,
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1268 "active", 0,
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1269 NULL);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1270 gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1271
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1272 rendt = gtk_cell_renderer_text_new();
4295
0bdfcae57be7 [gaim-migrate @ 4548]
Luke Schierer <lschiere@pidgin.im>
parents: 4290
diff changeset
1273 col = gtk_tree_view_column_new_with_attributes (_("Name"),
3551
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1274 rendt,
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1275 "text", 1,
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1276 NULL);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1277 gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1278 g_object_unref(G_OBJECT(ls));
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1279 gtk_container_add(GTK_CONTAINER(sw), event_view);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1280
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1281
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1282 nb = gtk_notebook_new();
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1283 gtk_notebook_set_tab_pos (GTK_NOTEBOOK(nb), GTK_POS_BOTTOM);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1284 gtk_notebook_popup_disable(GTK_NOTEBOOK(nb));
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1285
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1286 /* Description */
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1287 sw = gtk_scrolled_window_new(NULL, NULL);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1288 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1289 plugin_description = gtk_label_new(NULL);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1290
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1291 vp = gtk_viewport_new(NULL, NULL);
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1292 gtk_viewport_set_shadow_type(GTK_VIEWPORT(vp), GTK_SHADOW_NONE);
3551
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1293 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_NONE);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1294
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1295 gtk_container_add(GTK_CONTAINER(vp), plugin_description);
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1296 gtk_container_add(GTK_CONTAINER(sw), vp);
3551
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1297
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1298 gtk_label_set_selectable(GTK_LABEL(plugin_description), TRUE);
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1299 gtk_label_set_line_wrap(GTK_LABEL(plugin_description), TRUE);
3551
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1300 gtk_misc_set_alignment(GTK_MISC(plugin_description), 0, 0);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1301 gtk_misc_set_padding(GTK_MISC(plugin_description), 6, 6);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1302 gtk_notebook_append_page(GTK_NOTEBOOK(nb), sw, gtk_label_new(_("Description")));
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1303
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1304 /* Details */
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1305 sw = gtk_scrolled_window_new(NULL, NULL);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1306 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1307 plugin_details = gtk_label_new(NULL);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1308
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1309 vp = gtk_viewport_new(NULL, NULL);
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1310 gtk_viewport_set_shadow_type(GTK_VIEWPORT(vp), GTK_SHADOW_NONE);
3551
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1311 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_NONE);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1312
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1313 gtk_container_add(GTK_CONTAINER(vp), plugin_details);
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1314 gtk_container_add(GTK_CONTAINER(sw), vp);
3551
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1315
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1316 gtk_label_set_selectable(GTK_LABEL(plugin_details), TRUE);
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1317 gtk_label_set_line_wrap(GTK_LABEL(plugin_details), TRUE);
3551
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1318 gtk_misc_set_alignment(GTK_MISC(plugin_details), 0, 0);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1319 gtk_misc_set_padding(GTK_MISC(plugin_details), 6, 6);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1320 gtk_notebook_append_page(GTK_NOTEBOOK(nb), sw, gtk_label_new(_("Details")));
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1321 gtk_box_pack_start(GTK_BOX(ret), nb, TRUE, TRUE, 0);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1322
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1323 g_signal_connect (G_OBJECT (sel), "changed",
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1324 G_CALLBACK (prefs_plugin_sel),
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1325 NULL);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1326 g_signal_connect (G_OBJECT(rend), "toggled",
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1327 G_CALLBACK(plugin_load), ls);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1328
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1329 path = gtk_tree_path_new_first();
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1330 gtk_tree_selection_select_path(sel, path);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1331 gtk_tree_path_free(path);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1332
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1333 gtk_widget_show_all(ret);
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1334 return ret;
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1335 }
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1336 #endif
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1337
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1338 static void event_toggled (GtkCellRendererToggle *cell, gchar *pth, gpointer data)
873
789df4b47508 [gaim-migrate @ 883]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 864
diff changeset
1339 {
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1340 GtkTreeModel *model = (GtkTreeModel *)data;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1341 GtkTreeIter iter;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1342 GtkTreePath *path = gtk_tree_path_new_from_string(pth);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1343 gint soundnum;
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1344
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1345 gtk_tree_model_get_iter (model, &iter, path);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1346 gtk_tree_model_get (model, &iter, 2, &soundnum, -1);
873
789df4b47508 [gaim-migrate @ 883]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 864
diff changeset
1347
4561
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1348 sound_options ^= gaim_sound_get_event_option(soundnum);
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1349 gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, sound_options & gaim_sound_get_event_option(soundnum), -1);
3522
62bef830ce61 [gaim-migrate @ 3595]
Sean Egan <seanegan@gmail.com>
parents: 3515
diff changeset
1350
62bef830ce61 [gaim-migrate @ 3595]
Sean Egan <seanegan@gmail.com>
parents: 3515
diff changeset
1351 gtk_tree_path_free(path);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1352 }
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1353
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1354 static void test_sound(GtkWidget *button, gpointer i_am_NULL)
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1355 {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1356 guint32 tmp_sound = sound_options;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1357 if (!(sound_options & OPT_SOUND_WHEN_AWAY))
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1358 sound_options ^= OPT_SOUND_WHEN_AWAY;
4561
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1359 if (!(sound_options & gaim_sound_get_event_option(sound_row_sel)))
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1360 sound_options ^= gaim_sound_get_event_option(sound_row_sel);
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1361 gaim_sound_play_event(sound_row_sel);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1362
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1363 sound_options = tmp_sound;
873
789df4b47508 [gaim-migrate @ 883]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 864
diff changeset
1364 }
789df4b47508 [gaim-migrate @ 883]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 864
diff changeset
1365
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1366 static void reset_sound(GtkWidget *button, gpointer i_am_also_NULL)
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1367 {
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1368 /* This just resets a sound file back to default */
4561
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1369 gaim_sound_set_event_file(sound_row_sel, NULL);
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1370
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1371 gtk_entry_set_text(GTK_ENTRY(sound_entry), "(default)");
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1372 }
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1373
1253
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1374 void close_sounddialog(GtkWidget *w, GtkWidget *w2)
1170
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1375 {
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1376
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1377 GtkWidget *dest;
1253
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1378
1170
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1379 if (!GTK_IS_WIDGET(w2))
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1380 dest = w;
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1381 else
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1382 dest = w2;
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1383
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1384 sounddialog = NULL;
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1385
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1386 gtk_widget_destroy(dest);
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1387 }
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1388
1253
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1389 void do_select_sound(GtkWidget *w, int snd)
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1390 {
1953
f0ff0b367e3d [gaim-migrate @ 1963]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1930
diff changeset
1391 const char *file;
1253
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1392
1170
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1393 file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(sounddialog));
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1394
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1395 /* If they type in a directory, change there */
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1396 if (file_is_dir(file, sounddialog))
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1397 return;
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1398
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1399 /* Set it -- and forget it */
4561
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1400 gaim_sound_set_event_file(snd, file);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1401
1175
581b3e015036 [gaim-migrate @ 1185]
Rob Flynn <gaim@robflynn.com>
parents: 1173
diff changeset
1402 /* Set our text entry */
4561
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1403 gtk_entry_set_text(GTK_ENTRY(sound_entry), file);
1253
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1404
1170
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1405 /* Close the window! It's getting cold in here! */
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1406 close_sounddialog(NULL, sounddialog);
2471
612efbf62c35 [gaim-migrate @ 2484]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2385
diff changeset
1407
612efbf62c35 [gaim-migrate @ 2484]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2385
diff changeset
1408 if (last_sound_dir)
612efbf62c35 [gaim-migrate @ 2484]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2385
diff changeset
1409 g_free(last_sound_dir);
4561
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1410 last_sound_dir = g_dirname(file);
1170
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1411 }
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1412
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1413 static void sel_sound(GtkWidget *button, gpointer being_NULL_is_fun)
1253
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1414 {
1170
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1415 char *buf = g_malloc(BUF_LEN);
1253
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1416
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1417 if (!sounddialog) {
1170
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1418 sounddialog = gtk_file_selection_new(_("Gaim - Sound Configuration"));
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1419
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1420 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(sounddialog));
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1421
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3567
diff changeset
1422 g_snprintf(buf, BUF_LEN - 1, "%s" G_DIR_SEPARATOR_S, last_sound_dir ? last_sound_dir : gaim_home_dir());
1170
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1423
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1424 gtk_file_selection_set_filename(GTK_FILE_SELECTION(sounddialog), buf);
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1425
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
1426 g_signal_connect(GTK_OBJECT(sounddialog), "destroy",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
1427 G_CALLBACK(close_sounddialog), sounddialog);
1170
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1428
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
1429 g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(sounddialog)->ok_button),
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
1430 "clicked", G_CALLBACK(do_select_sound), (int *)sound_row_sel);
1170
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1431
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
1432 g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(sounddialog)->cancel_button),
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
1433 "clicked", G_CALLBACK(close_sounddialog), sounddialog);
1170
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1434 }
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1435
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1436 g_free(buf);
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1437 gtk_widget_show(sounddialog);
16d748023b2b [gaim-migrate @ 1180]
Rob Flynn <gaim@robflynn.com>
parents: 1147
diff changeset
1438 gdk_window_raise(sounddialog->window);
1006
0a4d0ed65e17 [gaim-migrate @ 1016]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1002
diff changeset
1439 }
0a4d0ed65e17 [gaim-migrate @ 1016]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1002
diff changeset
1440
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1441
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1442 static void prefs_sound_sel (GtkTreeSelection *sel, GtkTreeModel *model) {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1443 GtkTreeIter iter;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1444 GValue val = { 0, };
4561
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1445 char *file;
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1446
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1447 if (! gtk_tree_selection_get_selected (sel, &model, &iter))
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1448 return;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1449 gtk_tree_model_get_value (model, &iter, 2, &val);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1450 sound_row_sel = g_value_get_uint(&val);
4561
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1451 file = gaim_sound_get_event_file(sound_row_sel);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1452 if (sound_entry)
4561
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1453 gtk_entry_set_text(GTK_ENTRY(sound_entry), file ? file : "(default)");
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1454 g_value_unset (&val);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1455 if (sounddialog)
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1456 gtk_widget_destroy(sounddialog);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1457 }
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1458
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1459 GtkWidget *sound_events_page() {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1460
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1461 GtkWidget *ret;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1462 GtkWidget *sw;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1463 GtkWidget *button, *hbox;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1464 GtkTreeIter iter;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1465 GtkWidget *event_view;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1466 GtkListStore *event_store;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1467 GtkCellRenderer *rend;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1468 GtkTreeViewColumn *col;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1469 GtkTreeSelection *sel;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1470 GtkTreePath *path;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1471 int j;
4561
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1472 char *file;
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1473
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1474 ret = gtk_vbox_new(FALSE, 18);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1475 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1476
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1477 sw = gtk_scrolled_window_new(NULL,NULL);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1478 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
3814
c56115a38aa0 [gaim-migrate @ 3961]
Rob Flynn <gaim@robflynn.com>
parents: 3803
diff changeset
1479 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
c56115a38aa0 [gaim-migrate @ 3961]
Rob Flynn <gaim@robflynn.com>
parents: 3803
diff changeset
1480
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1481 gtk_box_pack_start(GTK_BOX(ret), sw, TRUE, TRUE, 0);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1482 event_store = gtk_list_store_new (3, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_UINT);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1483
4561
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1484 for (j=0; j < GAIM_NUM_SOUNDS; j++) {
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1485 guint opt = gaim_sound_get_event_option(j);
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1486 if (opt == 0)
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1487 continue;
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1488
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1489 gtk_list_store_append (event_store, &iter);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1490 gtk_list_store_set(event_store, &iter,
4561
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1491 0, sound_options & opt,
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1492 1, gettext(gaim_sound_get_event_label(j)),
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1493 2, j, -1);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1494 }
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1495
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1496 event_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL(event_store));
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1497
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1498 rend = gtk_cell_renderer_toggle_new();
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1499 sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (event_view));
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1500 g_signal_connect (G_OBJECT (sel), "changed",
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1501 G_CALLBACK (prefs_sound_sel),
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1502 NULL);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1503 g_signal_connect (G_OBJECT(rend), "toggled",
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1504 G_CALLBACK(event_toggled), event_store);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1505 path = gtk_tree_path_new_first();
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1506 gtk_tree_selection_select_path(sel, path);
3522
62bef830ce61 [gaim-migrate @ 3595]
Sean Egan <seanegan@gmail.com>
parents: 3515
diff changeset
1507 gtk_tree_path_free(path);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1508
4295
0bdfcae57be7 [gaim-migrate @ 4548]
Luke Schierer <lschiere@pidgin.im>
parents: 4290
diff changeset
1509 col = gtk_tree_view_column_new_with_attributes (_("Play"),
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1510 rend,
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1511 "active", 0,
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1512 NULL);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1513 gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1514
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1515 rend = gtk_cell_renderer_text_new();
4295
0bdfcae57be7 [gaim-migrate @ 4548]
Luke Schierer <lschiere@pidgin.im>
parents: 4290
diff changeset
1516 col = gtk_tree_view_column_new_with_attributes (_("Event"),
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1517 rend,
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1518 "text", 1,
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1519 NULL);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1520 gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1521 g_object_unref(G_OBJECT(event_store));
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1522 gtk_container_add(GTK_CONTAINER(sw), event_view);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1523
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1524 hbox = gtk_hbox_new(FALSE, 6);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1525 gtk_box_pack_start(GTK_BOX(ret), hbox, FALSE, FALSE, 0);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1526 sound_entry = gtk_entry_new();
4561
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1527 file = gaim_sound_get_event_file(0);
9df99116840a [gaim-migrate @ 4842]
Nathan Walp <nwalp@pidgin.im>
parents: 4560
diff changeset
1528 gtk_entry_set_text(GTK_ENTRY(sound_entry), file ? file : "(default)");
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1529 gtk_entry_set_editable(GTK_ENTRY(sound_entry), FALSE);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1530 gtk_box_pack_start(GTK_BOX(hbox), sound_entry, FALSE, FALSE, 5);
1006
0a4d0ed65e17 [gaim-migrate @ 1016]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1002
diff changeset
1531
3025
0486d3d00d0e [gaim-migrate @ 3038]
Sean Egan <seanegan@gmail.com>
parents: 3013
diff changeset
1532 button = gtk_button_new_with_label(_("Test"));
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
1533 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(test_sound), NULL);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1534 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1);
2759
f26f1d139615 [gaim-migrate @ 2772]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2746
diff changeset
1535
1175
581b3e015036 [gaim-migrate @ 1185]
Rob Flynn <gaim@robflynn.com>
parents: 1173
diff changeset
1536 button = gtk_button_new_with_label(_("Reset"));
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
1537 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(reset_sound), NULL);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1538 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1);
1175
581b3e015036 [gaim-migrate @ 1185]
Rob Flynn <gaim@robflynn.com>
parents: 1173
diff changeset
1539
1381
1bbdebd66afd [gaim-migrate @ 1391]
Rob Flynn <gaim@robflynn.com>
parents: 1370
diff changeset
1540 button = gtk_button_new_with_label(_("Choose..."));
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
1541 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(sel_sound), NULL);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1542 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1543
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1544 gtk_widget_show_all (ret);
1006
0a4d0ed65e17 [gaim-migrate @ 1016]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1002
diff changeset
1545
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1546 return ret;
2580
86eaeb064e82 [gaim-migrate @ 2593]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2566
diff changeset
1547 }
86eaeb064e82 [gaim-migrate @ 2593]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2566
diff changeset
1548
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1549 void away_message_sel(GtkTreeSelection *sel, GtkTreeModel *model)
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1550 {
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1551 GtkTreeIter iter;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1552 GValue val = { 0, };
1780
d7cbedd1d651 [gaim-migrate @ 1790]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1773
diff changeset
1553 gchar buffer[BUF_LONG];
d7cbedd1d651 [gaim-migrate @ 1790]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1773
diff changeset
1554 char *tmp;
3374
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3373
diff changeset
1555 struct away_message *am;
1253
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1556
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1557 if (! gtk_tree_selection_get_selected (sel, &model, &iter))
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1558 return;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1559 gtk_tree_model_get_value (model, &iter, 1, &val);
3374
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3373
diff changeset
1560 am = g_value_get_pointer(&val);
1780
d7cbedd1d651 [gaim-migrate @ 1790]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1773
diff changeset
1561 gtk_imhtml_clear(GTK_IMHTML(away_text));
3374
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3373
diff changeset
1562 strncpy(buffer, am->message, BUF_LONG);
1780
d7cbedd1d651 [gaim-migrate @ 1790]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1773
diff changeset
1563 tmp = stylize(buffer, BUF_LONG);
2856
b1e300a85678 [gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2843
diff changeset
1564 gtk_imhtml_append_text(GTK_IMHTML(away_text), tmp, -1, GTK_IMHTML_NO_TITLE |
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2323
diff changeset
1565 GTK_IMHTML_NO_COMMENTS | GTK_IMHTML_NO_SCROLL);
2856
b1e300a85678 [gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2843
diff changeset
1566 gtk_imhtml_append_text(GTK_IMHTML(away_text), "<BR>", -1, GTK_IMHTML_NO_TITLE |
2372
2927c2c26fe6 [gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2323
diff changeset
1567 GTK_IMHTML_NO_COMMENTS | GTK_IMHTML_NO_SCROLL);
1780
d7cbedd1d651 [gaim-migrate @ 1790]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1773
diff changeset
1568 g_free(tmp);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1569 g_value_unset (&val);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1570
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1571 }
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1572
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1573 void remove_away_message(GtkWidget *widget, GtkTreeView *tv) {
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1574 struct away_message *am;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1575 GtkTreeIter iter;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1576 GtkTreePath *path;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1577 GtkTreeStore *ts = GTK_TREE_STORE(gtk_tree_view_get_model(tv));
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1578 GtkTreeSelection *sel = gtk_tree_view_get_selection(tv);
3379
b48b73ef172b [gaim-migrate @ 3398]
Sean Egan <seanegan@gmail.com>
parents: 3377
diff changeset
1579 GtkTreeModel *model = GTK_TREE_MODEL(prefs_away_store);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1580 GValue val = { 0, };
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1581
3379
b48b73ef172b [gaim-migrate @ 3398]
Sean Egan <seanegan@gmail.com>
parents: 3377
diff changeset
1582 if (! gtk_tree_selection_get_selected (sel, &model, &iter))
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1583 return;
3379
b48b73ef172b [gaim-migrate @ 3398]
Sean Egan <seanegan@gmail.com>
parents: 3377
diff changeset
1584 gtk_tree_model_get_value (GTK_TREE_MODEL(prefs_away_store), &iter, 1, &val);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1585 am = g_value_get_pointer (&val);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1586 gtk_imhtml_clear(GTK_IMHTML(away_text));
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1587 rem_away_mess(NULL, am);
3379
b48b73ef172b [gaim-migrate @ 3398]
Sean Egan <seanegan@gmail.com>
parents: 3377
diff changeset
1588 gtk_list_store_remove(GTK_LIST_STORE(ts), &iter);
b48b73ef172b [gaim-migrate @ 3398]
Sean Egan <seanegan@gmail.com>
parents: 3377
diff changeset
1589 path = gtk_tree_path_new_first();
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1590 gtk_tree_selection_select_path(sel, path);
3522
62bef830ce61 [gaim-migrate @ 3595]
Sean Egan <seanegan@gmail.com>
parents: 3515
diff changeset
1591 gtk_tree_path_free(path);
1109
c73736fa0b7c [gaim-migrate @ 1119]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1087
diff changeset
1592 }
c73736fa0b7c [gaim-migrate @ 1119]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1087
diff changeset
1593
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1594 GtkWidget *away_message_page() {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1595 GtkWidget *ret;
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1596 GtkWidget *hbox;
3379
b48b73ef172b [gaim-migrate @ 3398]
Sean Egan <seanegan@gmail.com>
parents: 3377
diff changeset
1597 GtkWidget *button;
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1598 GtkWidget *sw;
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1599 GtkTreeIter iter;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1600 GtkWidget *event_view;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1601 GtkCellRenderer *rend;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1602 GtkTreeViewColumn *col;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1603 GtkTreeSelection *sel;
940
9fca1293f871 [gaim-migrate @ 950]
Rob Flynn <gaim@robflynn.com>
parents: 930
diff changeset
1604 GSList *awy = away_messages;
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1605 struct away_message *a;
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1606 GtkWidget *sw2;
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1607 GtkSizeGroup *sg;
1780
d7cbedd1d651 [gaim-migrate @ 1790]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1773
diff changeset
1608
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1609 ret = gtk_vbox_new(FALSE, 18);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1610 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1611
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1612 sg = gtk_size_group_new(GTK_SIZE_GROUP_BOTH);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1613
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1614 sw = gtk_scrolled_window_new(NULL,NULL);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1615 away_text = gtk_imhtml_new(NULL, NULL);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1616 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
3817
a2e99acb8428 [gaim-migrate @ 3964]
Rob Flynn <gaim@robflynn.com>
parents: 3815
diff changeset
1617 /*
a2e99acb8428 [gaim-migrate @ 3964]
Rob Flynn <gaim@robflynn.com>
parents: 3815
diff changeset
1618 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
a2e99acb8428 [gaim-migrate @ 3964]
Rob Flynn <gaim@robflynn.com>
parents: 3815
diff changeset
1619 */
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1620 gtk_box_pack_start(GTK_BOX(ret), sw, TRUE, TRUE, 0);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1621
3374
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3373
diff changeset
1622 prefs_away_store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_POINTER);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1623 while (awy) {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1624 a = (struct away_message *)awy->data;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1625 gtk_list_store_append (prefs_away_store, &iter);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1626 gtk_list_store_set(prefs_away_store, &iter,
3374
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3373
diff changeset
1627 0, a->name,
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3373
diff changeset
1628 1, a, -1);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1629 awy = awy->next;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1630 }
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1631 event_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL(prefs_away_store));
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1632
2906
538c58b43eff [gaim-migrate @ 2919]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2856
diff changeset
1633
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1634 rend = gtk_cell_renderer_text_new();
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1635 col = gtk_tree_view_column_new_with_attributes ("NULL",
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1636 rend,
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1637 "text", 0,
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1638 NULL);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1639 gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1640 gtk_tree_view_set_headers_visible (GTK_TREE_VIEW(event_view), FALSE);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1641 gtk_widget_show(event_view);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1642 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), event_view);
3374
3cd2fbddf95a [gaim-migrate @ 3393]
Sean Egan <seanegan@gmail.com>
parents: 3373
diff changeset
1643
1780
d7cbedd1d651 [gaim-migrate @ 1790]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1773
diff changeset
1644 sw2 = gtk_scrolled_window_new(NULL, NULL);
d7cbedd1d651 [gaim-migrate @ 1790]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1773
diff changeset
1645 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw2),
d7cbedd1d651 [gaim-migrate @ 1790]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1773
diff changeset
1646 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1647 gtk_box_pack_start(GTK_BOX(ret), sw2, TRUE, TRUE, 0);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1648
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1649 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw2), away_text);
1815
f15d449b3167 [gaim-migrate @ 1825]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1813
diff changeset
1650 gaim_setup_imhtml(away_text);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1651 sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (event_view));
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1652 g_signal_connect (G_OBJECT (sel), "changed",
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1653 G_CALLBACK (away_message_sel),
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1654 NULL);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1655 hbox = gtk_hbox_new(TRUE, 5);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1656 gtk_box_pack_start(GTK_BOX(ret), hbox, FALSE, FALSE, 0);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1657 button = gtk_button_new_from_stock (GTK_STOCK_ADD);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1658 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1659 gtk_size_group_add_widget(sg, button);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
1660 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(create_away_mess), NULL);
3472
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1661
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1662 button = gtk_button_new_from_stock (GTK_STOCK_REMOVE);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1663 gtk_size_group_add_widget(sg, button);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
1664 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(remove_away_message), event_view);
3472
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1665
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1666 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
3472
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1667
3649
f09193608fd3 [gaim-migrate @ 3773]
Rob Flynn <gaim@robflynn.com>
parents: 3630
diff changeset
1668 button = gaim_pixbuf_button(_("_Edit"), "edit.png", GAIM_BUTTON_HORIZONTAL);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1669 gtk_size_group_add_widget(sg, button);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
1670 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(create_away_mess), event_view);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1671 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1672
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1673 gtk_widget_show_all(ret);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1674 return ret;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1675 }
3472
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1676
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1677 GtkTreeIter *prefs_notebook_add_page(char *text,
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1678 GdkPixbuf *pixbuf,
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1679 GtkWidget *page,
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1680 GtkTreeIter *iter,
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1681 GtkTreeIter *parent,
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1682 int ind) {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1683 GdkPixbuf *icon = NULL;
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1684
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1685 if (pixbuf)
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1686 icon = gdk_pixbuf_scale_simple (pixbuf, 18, 18, GDK_INTERP_BILINEAR);
1780
d7cbedd1d651 [gaim-migrate @ 1790]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1773
diff changeset
1687
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1688 gtk_tree_store_append (prefstree, iter, parent);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1689 gtk_tree_store_set (prefstree, iter, 0, icon, 1, text, 2, ind, -1);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1690
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1691 if (pixbuf)
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1692 g_object_unref(pixbuf);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1693 if (icon)
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1694 g_object_unref(icon);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1695 gtk_notebook_append_page(GTK_NOTEBOOK(prefsnotebook), page, gtk_label_new(text));
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1696 return iter;
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1697 }
1124
a70d5200edde [gaim-migrate @ 1134]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1123
diff changeset
1698
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1699 void prefs_notebook_init() {
4469
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
1700 GtkTreeIter p, p2, c;
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1701 #if USE_PLUGINS
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1702 GtkWidget *(*config)();
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1703 GList *l = plugins;
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1704 struct gaim_plugin *plug;
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1705 #endif
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1706 prefs_notebook_add_page(_("Interface"), NULL, interface_page(), &p, NULL, notebook_page++);
4288
a723d060620a [gaim-migrate @ 4541]
Sean Egan <seanegan@gmail.com>
parents: 4241
diff changeset
1707 prefs_notebook_add_page(_("Themes"), NULL, theme_page(), &c, &p, notebook_page++);
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1708 prefs_notebook_add_page(_("Fonts"), NULL, font_page(), &c, &p, notebook_page++);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1709 prefs_notebook_add_page(_("Message Text"), NULL, messages_page(), &c, &p, notebook_page++);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1710 prefs_notebook_add_page(_("Shortcuts"), NULL, hotkeys_page(), &c, &p, notebook_page++);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1711 prefs_notebook_add_page(_("Buddy List"), NULL, list_page(), &c, &p, notebook_page++);
4488
890024103ae5 [gaim-migrate @ 4763]
Rob Flynn <gaim@robflynn.com>
parents: 4469
diff changeset
1712 prefs_notebook_add_page(_("Conversations"), NULL, conv_page(), &p2, NULL, notebook_page++);
4469
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
1713 prefs_notebook_add_page(_("IMs"), NULL, im_page(), &c, &p2, notebook_page++);
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
1714 prefs_notebook_add_page(_("Chats"), NULL, chat_page(), &c, &p2, notebook_page++);
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
1715 prefs_notebook_add_page(_("Tabs"), NULL, tab_page(), &c, &p2, notebook_page++);
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1716 prefs_notebook_add_page(_("Proxy"), NULL, proxy_page(), &p, NULL, notebook_page++);
4461
75ff69e592cc [gaim-migrate @ 4736]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4451
diff changeset
1717 #ifndef _WIN32
75ff69e592cc [gaim-migrate @ 4736]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4451
diff changeset
1718 /* We use the registered default browser in windows */
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1719 prefs_notebook_add_page(_("Browser"), NULL, browser_page(), &p, NULL, notebook_page++);
4461
75ff69e592cc [gaim-migrate @ 4736]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4451
diff changeset
1720 #endif
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1721 prefs_notebook_add_page(_("Logging"), NULL, logging_page(), &p, NULL, notebook_page++);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1722 prefs_notebook_add_page(_("Sounds"), NULL, sound_page(), &p, NULL, notebook_page++);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1723 prefs_notebook_add_page(_("Sound Events"), NULL, sound_events_page(), &c, &p, notebook_page++);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1724 prefs_notebook_add_page(_("Away / Idle"), NULL, away_page(), &p, NULL, notebook_page++);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1725 prefs_notebook_add_page(_("Away Messages"), NULL, away_message_page(), &c, &p, notebook_page++);
3551
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1726 #if USE_PLUGINS
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1727 prefs_notebook_add_page(_("Plugins"), NULL, plugin_page(), &plugin_iter, NULL, notebook_page++);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1728 while (l) {
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1729 plug = l->data;
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1730 if (plug->type == plugin && g_module_symbol(plug->handle, "gaim_plugin_config_gtk", (gpointer *)&config)) {
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1731 plug->iter = g_new0(GtkTreeIter, 1);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1732 prefs_notebook_add_page(plug->desc.name, NULL, config(), plug->iter, &plugin_iter, notebook_page++);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1733 }
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1734 l = l->next;
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3563
diff changeset
1735 }
3551
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3526
diff changeset
1736 #endif
1124
a70d5200edde [gaim-migrate @ 1134]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1123
diff changeset
1737 }
a70d5200edde [gaim-migrate @ 1134]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1123
diff changeset
1738
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1739 void show_prefs()
1124
a70d5200edde [gaim-migrate @ 1134]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1123
diff changeset
1740 {
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1741 GtkWidget *vbox, *vbox2;
1124
a70d5200edde [gaim-migrate @ 1134]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1123
diff changeset
1742 GtkWidget *hbox;
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1743 GtkWidget *frame;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1744 GtkTreeViewColumn *column;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1745 GtkCellRenderer *cell;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1746 GtkTreeSelection *sel;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1747 GtkWidget *notebook;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1748 GtkWidget *sep;
1124
a70d5200edde [gaim-migrate @ 1134]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1123
diff changeset
1749 GtkWidget *button;
3515
54c508cce1bc [gaim-migrate @ 3588]
Rob Flynn <gaim@robflynn.com>
parents: 3509
diff changeset
1750 GtkSizeGroup *sg = gtk_size_group_new(GTK_SIZE_GROUP_BOTH);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1751
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1752 if (prefs) {
3472
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1753 gtk_window_present(GTK_WINDOW(prefs));
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1754 return;
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1755 }
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1756
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1757 /* copy the preferences to tmp values...
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1758 * I liked "take affect immediately" Oh well :-( */
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1759
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1760 /* Back to instant-apply! I win! BU-HAHAHA! */
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1761
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1762 /* Create the window */
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1763 prefs = gtk_window_new(GTK_WINDOW_TOPLEVEL);
4074
3ccbdf8e7f8d [gaim-migrate @ 4289]
Sean Egan <seanegan@gmail.com>
parents: 4064
diff changeset
1764 gtk_window_set_role(GTK_WINDOW(prefs), "preferences");
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1765 gtk_widget_realize(prefs);
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1766 gtk_window_set_title(GTK_WINDOW(prefs), _("Gaim - Preferences"));
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1767 gtk_window_set_policy (GTK_WINDOW(prefs), FALSE, FALSE, TRUE);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
1768 g_signal_connect(GTK_OBJECT(prefs), "destroy", G_CALLBACK(delete_prefs), NULL);
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1769
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1770 vbox = gtk_vbox_new(FALSE, 5);
1185
47cf56b72d4b [gaim-migrate @ 1195]
Rob Flynn <gaim@robflynn.com>
parents: 1176
diff changeset
1771 gtk_container_border_width(GTK_CONTAINER(vbox), 5);
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1772 gtk_container_add(GTK_CONTAINER(prefs), vbox);
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1773 gtk_widget_show(vbox);
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1774
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1775 hbox = gtk_hbox_new (FALSE, 6);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1776 gtk_container_set_border_width (GTK_CONTAINER (hbox), 6);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1777 gtk_container_add (GTK_CONTAINER(vbox), hbox);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1778 gtk_widget_show (hbox);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1779
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1780 frame = gtk_frame_new (NULL);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1781 gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1782 gtk_box_pack_start (GTK_BOX (hbox), frame, FALSE, FALSE, 0);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1783 gtk_widget_show (frame);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1784
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1785 /* The tree -- much inspired by the Gimp */
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1786 prefstree = gtk_tree_store_new (3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_INT);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1787 tree_v = gtk_tree_view_new_with_model (GTK_TREE_MODEL (prefstree));
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1788 gtk_container_add (GTK_CONTAINER (frame), tree_v);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1789
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1790 gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (tree_v), FALSE);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1791 gtk_widget_show(tree_v);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1792 /* icons */
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1793 cell = gtk_cell_renderer_pixbuf_new ();
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1794 column = gtk_tree_view_column_new_with_attributes ("icons", cell, "pixbuf", 0, NULL);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1795
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1796 /* text */
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1797 cell = gtk_cell_renderer_text_new ();
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1798 column = gtk_tree_view_column_new_with_attributes ("text", cell, "text", 1, NULL);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1799
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1800 gtk_tree_view_append_column (GTK_TREE_VIEW (tree_v), column);
1253
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1801
3472
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1802 /* The right side */
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1803 frame = gtk_frame_new (NULL);
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1804 gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1805 gtk_box_pack_start (GTK_BOX (hbox), frame, TRUE, TRUE, 0);
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1806 gtk_widget_show (frame);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1807
3472
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1808 vbox2 = gtk_vbox_new (FALSE, 4);
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1809 gtk_container_add (GTK_CONTAINER (frame), vbox2);
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1810 gtk_widget_show (vbox2);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1811
3472
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1812 frame = gtk_frame_new (NULL);
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1813 gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT);
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1814 gtk_box_pack_start (GTK_BOX (vbox2), frame, FALSE, TRUE, 0);
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1815 gtk_widget_show (frame);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1816
3472
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1817 hbox = gtk_hbox_new (FALSE, 4);
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1818 gtk_container_set_border_width (GTK_CONTAINER (hbox), 4);
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1819 gtk_container_add (GTK_CONTAINER (frame), hbox);
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1820 gtk_widget_show (hbox);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1821
3472
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1822 preflabel = gtk_label_new(NULL);
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1823 gtk_box_pack_end (GTK_BOX (hbox), preflabel, FALSE, FALSE, 0);
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1824 gtk_widget_show (preflabel);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1825
3472
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1826 /* The notebook */
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1827 prefsnotebook = notebook = gtk_notebook_new ();
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1828 gtk_notebook_set_show_tabs (GTK_NOTEBOOK (notebook), FALSE);
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1829 gtk_notebook_set_show_border (GTK_NOTEBOOK (notebook), FALSE);
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1830 gtk_box_pack_start (GTK_BOX (vbox2), notebook, FALSE, FALSE, 0);
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1831
3472
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1832 sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_v));
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1833 g_signal_connect (G_OBJECT (sel), "changed",
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1834 G_CALLBACK (pref_nb_select),
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1835 notebook);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1836 gtk_widget_show(notebook);
3472
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1837 sep = gtk_hseparator_new();
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1838 gtk_widget_show(sep);
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1839 gtk_box_pack_start (GTK_BOX (vbox), sep, FALSE, FALSE, 0);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1840
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1841 /* The buttons^H to press! */
3472
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1842 hbox = gtk_hbox_new (FALSE, 6);
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1843 gtk_container_set_border_width (GTK_CONTAINER (hbox), 6);
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1844 gtk_container_add (GTK_CONTAINER(vbox), hbox);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1845 gtk_widget_show (hbox);
3377
783e982a56da [gaim-migrate @ 3396]
Sean Egan <seanegan@gmail.com>
parents: 3374
diff changeset
1846
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1847 button = gtk_button_new_from_stock (GTK_STOCK_CLOSE);
3515
54c508cce1bc [gaim-migrate @ 3588]
Rob Flynn <gaim@robflynn.com>
parents: 3509
diff changeset
1848 gtk_size_group_add_widget(sg, button);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
1849 g_signal_connect_swapped(GTK_OBJECT(button), "clicked", G_CALLBACK(gtk_widget_destroy), prefs);
3515
54c508cce1bc [gaim-migrate @ 3588]
Rob Flynn <gaim@robflynn.com>
parents: 3509
diff changeset
1850 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
54c508cce1bc [gaim-migrate @ 3588]
Rob Flynn <gaim@robflynn.com>
parents: 3509
diff changeset
1851 gtk_widget_show(button);
54c508cce1bc [gaim-migrate @ 3588]
Rob Flynn <gaim@robflynn.com>
parents: 3509
diff changeset
1852
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1853 prefs_notebook_init();
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
1854
3472
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1855 gtk_tree_view_expand_all (GTK_TREE_VIEW(tree_v));
d33ec392a5e1 [gaim-migrate @ 3523]
Sean Egan <seanegan@gmail.com>
parents: 3466
diff changeset
1856 gtk_widget_show(prefs);
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1857 }
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1858
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1859 static gint debug_delete(GtkWidget *w, GdkEvent *event, void *dummy)
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1860 {
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1861 if (debugbutton)
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1862 gtk_button_clicked(GTK_BUTTON(debugbutton));
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
1863 if (misc_options & OPT_MISC_DEBUG) {
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1864 misc_options ^= OPT_MISC_DEBUG;
1253
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1865 }
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1866 g_free(dw);
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1867 dw = NULL;
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1868 return FALSE;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1869
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1870 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1871
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1872 static void build_debug()
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1873 {
4005
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1874 GtkWidget *sw;
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1875 GtkTextBuffer *buffer;
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1876 GtkTextIter end;
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1877
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1878 if (!dw)
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1879 dw = g_new0(struct debug_window, 1);
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1880
2725
f3c094e78609 [gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2676
diff changeset
1881 GAIM_DIALOG(dw->window);
4005
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1882 gtk_window_set_default_size(GTK_WINDOW(dw->window), 500, 200);
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1883 gtk_window_set_role(GTK_WINDOW(dw->window), "debug");
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1884 gtk_window_set_title(GTK_WINDOW(dw->window), _("Gaim - Debug Window"));
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1885 g_signal_connect(G_OBJECT(dw->window), "delete_event", G_CALLBACK(debug_delete), NULL);
2282
0dea5214d63f [gaim-migrate @ 2292]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2269
diff changeset
1886
4005
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1887 sw = gtk_scrolled_window_new(NULL, NULL);
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1888 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1889 GTK_POLICY_NEVER,
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1890 GTK_POLICY_ALWAYS);
2282
0dea5214d63f [gaim-migrate @ 2292]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2269
diff changeset
1891
4005
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1892 dw->entry = gtk_text_view_new();
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1893 gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(dw->entry), FALSE);
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1894 gtk_text_view_set_editable(GTK_TEXT_VIEW(dw->entry), FALSE);
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1895 gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(dw->entry), GTK_WRAP_WORD);
2282
0dea5214d63f [gaim-migrate @ 2292]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2269
diff changeset
1896
4005
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1897 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(dw->entry));
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1898 gtk_text_buffer_get_end_iter(buffer, &end);
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1899 gtk_text_buffer_create_mark(buffer, "end", &end, FALSE);
2282
0dea5214d63f [gaim-migrate @ 2292]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2269
diff changeset
1900
4005
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1901 gtk_container_add(GTK_CONTAINER(sw), dw->entry);
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1902 gtk_container_add(GTK_CONTAINER(dw->window), sw);
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1903 gtk_widget_show_all(dw->window);
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1904 }
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1905
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
1906 void show_debug()
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1907 {
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
1908 if ((misc_options & OPT_MISC_DEBUG)) {
1253
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1909 if (!dw || !dw->window)
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1910 build_debug();
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1911 gtk_widget_show(dw->window);
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1912 } else {
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1913 if (!dw)
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1914 return;
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1915 gtk_widget_destroy(dw->window);
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1916 dw->window = NULL;
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1917 }
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1918 }
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1919
970
9eb07b383df4 [gaim-migrate @ 980]
Rob Flynn <gaim@robflynn.com>
parents: 967
diff changeset
1920 void debug_printf(char *fmt, ...)
9eb07b383df4 [gaim-migrate @ 980]
Rob Flynn <gaim@robflynn.com>
parents: 967
diff changeset
1921 {
9eb07b383df4 [gaim-migrate @ 980]
Rob Flynn <gaim@robflynn.com>
parents: 967
diff changeset
1922 va_list ap;
9eb07b383df4 [gaim-migrate @ 980]
Rob Flynn <gaim@robflynn.com>
parents: 967
diff changeset
1923 gchar *s;
9eb07b383df4 [gaim-migrate @ 980]
Rob Flynn <gaim@robflynn.com>
parents: 967
diff changeset
1924
1366
155db3303ebb [gaim-migrate @ 1376]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1357
diff changeset
1925 va_start(ap, fmt);
155db3303ebb [gaim-migrate @ 1376]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1357
diff changeset
1926 s = g_strdup_vprintf(fmt, ap);
155db3303ebb [gaim-migrate @ 1376]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1357
diff changeset
1927 va_end(ap);
155db3303ebb [gaim-migrate @ 1376]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1357
diff changeset
1928
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
1929 if (misc_options & OPT_MISC_DEBUG && dw) {
4005
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1930 GtkTextBuffer *buffer;
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1931 GtkTextMark *endmark;
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1932 GtkTextIter end;
2282
0dea5214d63f [gaim-migrate @ 2292]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2269
diff changeset
1933
4005
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1934 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(dw->entry));
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1935 endmark = gtk_text_buffer_get_mark(buffer, "end");
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1936 gtk_text_buffer_get_iter_at_mark(buffer, &end, endmark);
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1937 gtk_text_buffer_insert(buffer, &end, s, -1);
7aab0cc1ec78 [gaim-migrate @ 4205]
Sean Egan <seanegan@gmail.com>
parents: 3922
diff changeset
1938 gtk_text_view_scroll_mark_onscreen(GTK_TEXT_VIEW(dw->entry), endmark);
1366
155db3303ebb [gaim-migrate @ 1376]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1357
diff changeset
1939 }
2823
cd23279122ed [gaim-migrate @ 2836]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2794
diff changeset
1940 if (opt_debug)
cd23279122ed [gaim-migrate @ 2836]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2794
diff changeset
1941 g_print("%s", s);
1366
155db3303ebb [gaim-migrate @ 1376]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1357
diff changeset
1942 g_free(s);
970
9eb07b383df4 [gaim-migrate @ 980]
Rob Flynn <gaim@robflynn.com>
parents: 967
diff changeset
1943 }
1253
8342d3aab1f1 [gaim-migrate @ 1263]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1250
diff changeset
1944
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1945 void set_option(GtkWidget *w, int *option)
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1946 {
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1947 *option = !(*option);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1948 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1949
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
1950 static void set_misc_option(GtkWidget *w, int option)
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
1951 {
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1952 misc_options ^= option;
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
1953
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1954 if (option == OPT_MISC_DEBUG)
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
1955 show_debug();
4227
a614423c648f [gaim-migrate @ 4471]
Mark Doliner <mark@kingant.net>
parents: 4215
diff changeset
1956 else if(option == OPT_MISC_USE_SERVER_ALIAS) {
a614423c648f [gaim-migrate @ 4471]
Mark Doliner <mark@kingant.net>
parents: 4215
diff changeset
1957 redo_buddy_list();
a614423c648f [gaim-migrate @ 4471]
Mark Doliner <mark@kingant.net>
parents: 4215
diff changeset
1958 build_edit_tree();
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
1959 gaim_conversation_foreach(gaim_conversation_autoset_title);
4227
a614423c648f [gaim-migrate @ 4471]
Mark Doliner <mark@kingant.net>
parents: 4215
diff changeset
1960 }
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
1961 }
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
1962
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1963 static void set_logging_option(GtkWidget *w, int option)
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
1964 {
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1965 logging_options ^= option;
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1966
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1967 if (option == OPT_LOG_CONVOS || option == OPT_LOG_CHATS)
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1968 update_log_convs();
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1969 }
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
1970
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1971 static void set_blist_option(GtkWidget *w, int option)
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
1972 {
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1973 blist_options ^= option;
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1974
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
1975 if (!blist)
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
1976 return;
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
1977
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1978 if (option == OPT_BLIST_NO_BUTTONS)
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
1979 build_imchat_box(!(blist_options & OPT_BLIST_NO_BUTTONS));
696
97b75ed155b0 [gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 683
diff changeset
1980
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1981 if (option == OPT_BLIST_SHOW_GRPNUM)
1070
b288f17c2fb2 [gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1030
diff changeset
1982 update_num_groups();
9
effb8a20de26 [gaim-migrate @ 18]
Rob Flynn <gaim@robflynn.com>
parents: 1
diff changeset
1983
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1984 if (option == OPT_BLIST_NO_MT_GRP)
1072
81d19577285a [gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1070
diff changeset
1985 toggle_show_empty_groups();
81d19577285a [gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1070
diff changeset
1986
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1987 if ((option == OPT_BLIST_SHOW_BUTTON_XPM) || (option == OPT_BLIST_NO_BUTTONS))
1296
11e5b1220028 [gaim-migrate @ 1306]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1269
diff changeset
1988 update_button_pix();
11e5b1220028 [gaim-migrate @ 1306]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1269
diff changeset
1989
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1990 if (option == OPT_BLIST_SHOW_PIXMAPS)
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
1991 toggle_buddy_pixmaps();
2593
5ba9ef368b8e [gaim-migrate @ 2606]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2592
diff changeset
1992
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1993 if ((option == OPT_BLIST_GREY_IDLERS) || (option == OPT_BLIST_SHOW_IDLETIME))
2594
c133c9499f23 [gaim-migrate @ 2607]
Rob Flynn <gaim@robflynn.com>
parents: 2593
diff changeset
1994 update_idle_times();
3032
d3536105d581 [gaim-migrate @ 3045]
Rob Flynn <gaim@robflynn.com>
parents: 3025
diff changeset
1995
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
1996 }
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
1997
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
1998 static void set_convo_option(GtkWidget *w, int option)
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
1999 {
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2000 convo_options ^= option;
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
2001
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2002 if (option == OPT_CONVO_SHOW_SMILEY)
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
2003 gaim_gtkconv_toggle_smileys();
1428
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1411
diff changeset
2004
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2005 if (option == OPT_CONVO_SHOW_TIME)
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
2006 gaim_gtkconv_toggle_timestamps();
1428
00b3d02a2168 [gaim-migrate @ 1438]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1411
diff changeset
2007
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2008 if (option == OPT_CONVO_CHECK_SPELLING)
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
2009 gaim_gtkconv_toggle_spellchk();
4445
a65555132674 [gaim-migrate @ 4720]
Sean Egan <seanegan@gmail.com>
parents: 4438
diff changeset
2010
a65555132674 [gaim-migrate @ 4720]
Sean Egan <seanegan@gmail.com>
parents: 4438
diff changeset
2011 if (option == OPT_CONVO_NO_X_ON_TAB)
a65555132674 [gaim-migrate @ 4720]
Sean Egan <seanegan@gmail.com>
parents: 4438
diff changeset
2012 gaim_gtkconv_toggle_close_buttons();
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2013 }
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2014
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2015 static void set_im_option(GtkWidget *w, int option)
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2016 {
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2017 im_options ^= option;
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
2018
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
2019 #if 0
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2020 if (option == OPT_IM_ONE_WINDOW)
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2021 im_tabize();
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
2022 #endif
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2023
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2024 if (option == OPT_IM_HIDE_ICONS)
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
2025 gaim_gtkconv_hide_buddy_icons();
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2026
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
2027 if (option == OPT_IM_ALIAS_TAB)
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
2028 gaim_conversation_foreach(gaim_conversation_autoset_title);
2843
87d11d2a7d59 [gaim-migrate @ 2856]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2839
diff changeset
2029
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2030 if (option == OPT_IM_NO_ANIMATION)
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
2031 gaim_gtkconv_set_anim();
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2032 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2033
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2034 static void set_chat_option(GtkWidget *w, int option)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2035 {
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2036 chat_options ^= option;
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
2037
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
2038 #if 0
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2039 if (option == OPT_CHAT_ONE_WINDOW)
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
2040 chat_tabize();
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
2041 #endif
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
2042 }
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
2043
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2044 void set_sound_option(GtkWidget *w, int option)
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
2045 {
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2046 sound_options ^= option;
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
2047 }
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
2048
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2049 static void set_font_option(GtkWidget *w, int option)
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
2050 {
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2051 font_options ^= option;
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
2052
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
2053 gaim_gtkconv_update_font_buttons();
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2054 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2055
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2056 static void set_away_option(GtkWidget *w, int option)
1525
ba8e6e211af5 [gaim-migrate @ 1535]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1455
diff changeset
2057 {
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2058 away_options ^= option;
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
2059
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2060 if (option == OPT_AWAY_QUEUE)
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
2061 toggle_away_queue();
1525
ba8e6e211af5 [gaim-migrate @ 1535]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1455
diff changeset
2062 }
ba8e6e211af5 [gaim-migrate @ 1535]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1455
diff changeset
2063
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
2064 GtkWidget *gaim_button(const char *text, guint *options, int option, GtkWidget *page)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2065 {
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2066 GtkWidget *button;
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
2067 button = gtk_check_button_new_with_mnemonic(text);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2068 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), (*options & option));
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2069 gtk_box_pack_start(GTK_BOX(page), button, FALSE, FALSE, 0);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2070 gtk_object_set_user_data(GTK_OBJECT(button), options);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2071
4064
b188b93ebf48 [gaim-migrate @ 4274]
Luke Schierer <lschiere@pidgin.im>
parents: 4052
diff changeset
2072 if (options == &misc_options) {
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
2073 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(set_misc_option),
2313
bd9d403fb15b [gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2282
diff changeset
2074 (int *)option);
4064
b188b93ebf48 [gaim-migrate @ 4274]
Luke Schierer <lschiere@pidgin.im>
parents: 4052
diff changeset
2075 } else if (options == &logging_options) {
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
2076 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(set_logging_option),
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2077 (int *)option);
4064
b188b93ebf48 [gaim-migrate @ 4274]
Luke Schierer <lschiere@pidgin.im>
parents: 4052
diff changeset
2078 } else if (options == &blist_options) {
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
2079 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(set_blist_option),
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2080 (int *)option);
4064
b188b93ebf48 [gaim-migrate @ 4274]
Luke Schierer <lschiere@pidgin.im>
parents: 4052
diff changeset
2081 } else if (options == &convo_options) {
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
2082 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(set_convo_option),
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2083 (int *)option);
4064
b188b93ebf48 [gaim-migrate @ 4274]
Luke Schierer <lschiere@pidgin.im>
parents: 4052
diff changeset
2084 } else if (options == &im_options) {
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
2085 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(set_im_option),
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2086 (int *)option);
4064
b188b93ebf48 [gaim-migrate @ 4274]
Luke Schierer <lschiere@pidgin.im>
parents: 4052
diff changeset
2087 } else if (options == &chat_options) {
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
2088 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(set_chat_option),
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2089 (int *)option);
4064
b188b93ebf48 [gaim-migrate @ 4274]
Luke Schierer <lschiere@pidgin.im>
parents: 4052
diff changeset
2090 } else if (options == &font_options) {
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
2091 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(set_font_option),
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2092 (int *)option);
4064
b188b93ebf48 [gaim-migrate @ 4274]
Luke Schierer <lschiere@pidgin.im>
parents: 4052
diff changeset
2093 } else if (options == &sound_options) {
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
2094 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(set_sound_option),
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2095 (int *)option);
4064
b188b93ebf48 [gaim-migrate @ 4274]
Luke Schierer <lschiere@pidgin.im>
parents: 4052
diff changeset
2096 } else if (options == &away_options) {
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
2097 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(set_away_option),
4064
b188b93ebf48 [gaim-migrate @ 4274]
Luke Schierer <lschiere@pidgin.im>
parents: 4052
diff changeset
2098 (int *)option);
b188b93ebf48 [gaim-migrate @ 4274]
Luke Schierer <lschiere@pidgin.im>
parents: 4052
diff changeset
2099 } else {
b188b93ebf48 [gaim-migrate @ 4274]
Luke Schierer <lschiere@pidgin.im>
parents: 4052
diff changeset
2100 debug_printf("gaim_button: \"%s\" has no signal handler attached to it!\n", text);
b188b93ebf48 [gaim-migrate @ 4274]
Luke Schierer <lschiere@pidgin.im>
parents: 4052
diff changeset
2101 }
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2102 gtk_widget_show(button);
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2103
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2104 return button;
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2105 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2106
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2107 void away_list_clicked(GtkWidget *widget, struct away_message *a)
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2108 {}
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2109 void default_away_menu_init(GtkWidget *omenu)
3032
d3536105d581 [gaim-migrate @ 3045]
Rob Flynn <gaim@robflynn.com>
parents: 3025
diff changeset
2110 {
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2111 GtkWidget *menu, *opt;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2112 int index = 0;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2113 GSList *awy = away_messages;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2114 struct away_message *a;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2115
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2116 menu = gtk_menu_new();
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2117
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2118 while (awy) {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2119 a = (struct away_message *)awy->data;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2120 opt = gtk_menu_item_new_with_label(a->name);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
2121 g_signal_connect(GTK_OBJECT(opt), "activate", G_CALLBACK(set_default_away),
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2122 (gpointer)index);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2123 gtk_widget_show(opt);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2124 gtk_menu_append(GTK_MENU(menu), opt);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2125
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2126 awy = awy->next;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2127 index++;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2128 }
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2129
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2130 gtk_option_menu_remove_menu(GTK_OPTION_MENU(omenu));
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2131 gtk_option_menu_set_menu(GTK_OPTION_MENU(omenu), menu);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2132 gtk_option_menu_set_history(GTK_OPTION_MENU(omenu), g_slist_index(away_messages, default_away));
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2133 }
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2134
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2135 GtkWidget *pref_fg_picture = NULL;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2136 GtkWidget *pref_bg_picture = NULL;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2137
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2138 void destroy_colorsel(GtkWidget *w, gpointer d)
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2139 {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2140 if (d) {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2141 gtk_widget_destroy(fgcseld);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2142 fgcseld = NULL;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2143 } else {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2144 gtk_widget_destroy(bgcseld);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2145 bgcseld = NULL;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2146 }
3032
d3536105d581 [gaim-migrate @ 3045]
Rob Flynn <gaim@robflynn.com>
parents: 3025
diff changeset
2147 }
d3536105d581 [gaim-migrate @ 3045]
Rob Flynn <gaim@robflynn.com>
parents: 3025
diff changeset
2148
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2149 void apply_color_dlg(GtkWidget *w, gpointer d)
3032
d3536105d581 [gaim-migrate @ 3045]
Rob Flynn <gaim@robflynn.com>
parents: 3025
diff changeset
2150 {
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2151 if ((int)d == 1) {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2152 gtk_color_selection_get_current_color(GTK_COLOR_SELECTION
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
2153 (GTK_COLOR_SELECTION_DIALOG(fgcseld)->colorsel),
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2154 &fgcolor);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2155 destroy_colorsel(NULL, (void *)1);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2156 update_color(NULL, pref_fg_picture);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2157 } else {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2158 gtk_color_selection_get_current_color(GTK_COLOR_SELECTION
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
2159 (GTK_COLOR_SELECTION_DIALOG(bgcseld)->colorsel),
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2160 &bgcolor);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2161 destroy_colorsel(NULL, (void *)0);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2162 update_color(NULL, pref_bg_picture);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2163 }
4421
31834b4598eb [gaim-migrate @ 4694]
Luke Schierer <lschiere@pidgin.im>
parents: 4419
diff changeset
2164 gaim_conversation_foreach(gaim_gtkconv_update_font_colors);
3032
d3536105d581 [gaim-migrate @ 3045]
Rob Flynn <gaim@robflynn.com>
parents: 3025
diff changeset
2165 }
d3536105d581 [gaim-migrate @ 3045]
Rob Flynn <gaim@robflynn.com>
parents: 3025
diff changeset
2166
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2167 void update_color(GtkWidget *w, GtkWidget *pic)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2168 {
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2169 GdkColor c;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2170 GtkStyle *style;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2171 c.pixel = 0;
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
2172
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2173 if (pic == pref_fg_picture) {
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2174 if (font_options & OPT_FONT_FGCOL) {
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2175 c.red = fgcolor.red;
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2176 c.blue = fgcolor.blue;
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2177 c.green = fgcolor.green;
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2178 } else {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2179 c.red = 0;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2180 c.blue = 0;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2181 c.green = 0;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2182 }
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2183 } else {
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2184 if (font_options & OPT_FONT_BGCOL) {
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2185 c.red = bgcolor.red;
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2186 c.blue = bgcolor.blue;
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2187 c.green = bgcolor.green;
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2188 } else {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2189 c.red = 0xffff;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2190 c.blue = 0xffff;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2191 c.green = 0xffff;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2192 }
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2193 }
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2194
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2195 style = gtk_style_new();
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2196 style->bg[0] = c;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2197 gtk_widget_set_style(pic, style);
4296
beb653cb331c [gaim-migrate @ 4549]
Luke Schierer <lschiere@pidgin.im>
parents: 4295
diff changeset
2198 g_object_unref(style);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2199 }
4064
b188b93ebf48 [gaim-migrate @ 4274]
Luke Schierer <lschiere@pidgin.im>
parents: 4052
diff changeset
2200
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2201 void set_default_away(GtkWidget *w, gpointer i)
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2202 {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2203
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2204 int length = g_slist_length(away_messages);
338
9d258a0aa560 [gaim-migrate @ 348]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 337
diff changeset
2205
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2206 if (away_messages == NULL)
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2207 default_away = NULL;
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2208 else if ((int)i >= length)
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2209 default_away = g_slist_nth_data(away_messages, length - 1);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2210 else
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2211 default_away = g_slist_nth_data(away_messages, (int)i);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2212 }
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
2213
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2214 static gboolean program_is_valid(const char *program)
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2215 {
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2216 GError *error = NULL;
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2217 char **argv;
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2218 gboolean is_valid = FALSE;
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2219
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2220 if (program == NULL || *program == '\0') {
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2221 return FALSE;
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2222 }
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2223
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2224 if (!g_shell_parse_argv(program, NULL, &argv, &error)) {
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2225 debug_printf("Could not parse program '%s': ", error->message);
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2226 return FALSE;
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2227 }
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2228
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2229 if (argv == NULL) {
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2230 return FALSE;
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2231 }
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2232
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2233 is_valid = g_find_program_in_path(argv[0]) != NULL;
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2234
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2235 g_strfreev(argv);
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2236
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2237 return is_valid;
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2238 }
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2239
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2240 static void update_spin_value(GtkWidget *w, GtkWidget *spin)
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2241 {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2242 int *value = gtk_object_get_user_data(GTK_OBJECT(spin));
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2243 *value = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spin));
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2244 }
4064
b188b93ebf48 [gaim-migrate @ 4274]
Luke Schierer <lschiere@pidgin.im>
parents: 4052
diff changeset
2245
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
2246 GtkWidget *gaim_labeled_spin_button(GtkWidget *box, const gchar *title, int *val, int min, int max, GtkSizeGroup *sg)
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2247 {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2248 GtkWidget *hbox;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2249 GtkWidget *label;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2250 GtkWidget *spin;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2251 GtkObject *adjust;
901
f168f2c7b357 [gaim-migrate @ 911]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 893
diff changeset
2252
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2253 hbox = gtk_hbox_new(FALSE, 5);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2254 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2255 gtk_widget_show(hbox);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2256
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
2257 label = gtk_label_new_with_mnemonic(title);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2258 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2259 gtk_widget_show(label);
1881
a02584b98823 [gaim-migrate @ 1891]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1840
diff changeset
2260
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2261 adjust = gtk_adjustment_new(*val, min, max, 1, 1, 1);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2262 spin = gtk_spin_button_new(GTK_ADJUSTMENT(adjust), 1, 0);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2263 gtk_object_set_user_data(GTK_OBJECT(spin), val);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2264 gtk_widget_set_usize(spin, 50, -1);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2265 gtk_box_pack_start(GTK_BOX(hbox), spin, FALSE, FALSE, 0);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
2266 g_signal_connect(GTK_OBJECT(adjust), "value-changed",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
2267 G_CALLBACK(update_spin_value), GTK_WIDGET(spin));
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2268 gtk_widget_show(spin);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
2269
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
2270 gtk_label_set_mnemonic_widget(GTK_LABEL(label), spin);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
2271
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
2272 if (sg) {
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
2273 gtk_size_group_add_widget(sg, label);
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
2274 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
2275
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
2276 }
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
2277 return label;
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
2278 }
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2279
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2280 void dropdown_set(GtkObject *w, int *option)
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
2281 {
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2282 int opt = (int)gtk_object_get_user_data(w);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2283 int clear = (int)gtk_object_get_data(w, "clear");
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
2284
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2285 if (clear != -1) {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2286 *option = *option & ~clear;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2287 *option = *option | opt;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2288 } else {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2289 debug_printf("HELLO %d\n", opt);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2290 *option = opt;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2291 }
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
2292
4377
0ffdb9b6a5e9 [gaim-migrate @ 4643]
Nathan Walp <nwalp@pidgin.im>
parents: 4359
diff changeset
2293 if (option == (int*)&proxytype) {
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2294 if (opt == PROXY_NONE)
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2295 gtk_widget_set_sensitive(prefs_proxy_frame, FALSE);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2296 else
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2297 gtk_widget_set_sensitive(prefs_proxy_frame, TRUE);
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2298 } else if (option == &web_browser) {
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2299 if (opt == BROWSER_MANUAL)
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2300 gtk_widget_set_sensitive(gtk_widget_get_parent(browser_entry), TRUE);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2301 else
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2302 gtk_widget_set_sensitive(gtk_widget_get_parent(browser_entry), FALSE);
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2303 } else if (option == (int*)&sound_options) {
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2304 if (opt == OPT_SOUND_CMD)
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2305 gtk_widget_set_sensitive(sndcmd, TRUE);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2306 else
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2307 gtk_widget_set_sensitive(sndcmd, FALSE);
4581
4b1e24835bbf [gaim-migrate @ 4864]
Nathan Walp <nwalp@pidgin.im>
parents: 4561
diff changeset
2308 gaim_sound_change_output_method();
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2309 } else if (option == (int*)&im_options) {
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2310 if (clear == (OPT_IM_SIDE_TAB | OPT_IM_BR_TAB))
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
2311 gaim_gtkconv_update_tabs();
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2312 else if (clear == (OPT_IM_BUTTON_TEXT | OPT_IM_BUTTON_XPM))
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
2313 gaim_gtkconv_update_im_button_style();
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2314 } else if (option == (int*)&chat_options) {
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2315 if (clear == (OPT_CHAT_SIDE_TAB | OPT_CHAT_BR_TAB))
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
2316 gaim_gtkconv_update_tabs();
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2317 else if (clear == (OPT_CHAT_BUTTON_TEXT | OPT_CHAT_BUTTON_XPM))
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4339
diff changeset
2318 gaim_gtkconv_update_chat_button_style();
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2319 } else if (option == (int*)&blist_options) {
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2320 set_blist_tab();
4469
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
2321 } else if (option == (int *)&conv_placement_option) {
d76095396a0e [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4461
diff changeset
2322 gaim_conv_placement_set_active(conv_placement_option);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2323 }
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2324 }
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2325
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
2326 static GtkWidget *gaim_dropdown(GtkWidget *box, const gchar *title, int *option, int clear, ...)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2327 {
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2328 va_list ap;
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2329 GList *menuitems = NULL;
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2330 GtkWidget *dropdown = NULL;
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2331 char *name;
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2332 int id;
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2333
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2334 va_start(ap, clear);
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2335 while ((name = va_arg(ap, char *)) != NULL) {
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2336 id = va_arg(ap, int);
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2337
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2338 menuitems = g_list_prepend(menuitems, name);
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2339 menuitems = g_list_prepend(menuitems, GINT_TO_POINTER(id));
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2340 }
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2341 va_end(ap);
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2342
4433
289efc79a242 [gaim-migrate @ 4708]
Nathan Walp <nwalp@pidgin.im>
parents: 4430
diff changeset
2343 g_return_val_if_fail(menuitems != NULL, NULL);
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2344
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2345 menuitems = g_list_reverse(menuitems);
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2346
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2347 dropdown = gaim_dropdown_from_list(box, title, option, clear, menuitems);
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2348
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2349 g_list_free(menuitems);
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2350
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2351 return dropdown;
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2352 }
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2353
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2354 static GtkWidget *gaim_dropdown_from_list(GtkWidget *box, const gchar *title, int *option, int clear, GList *menuitems)
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2355 {
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2356 GtkWidget *dropdown, *opt, *menu;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2357 GtkWidget *label;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2358 gchar *text;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2359 int value;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2360 int o = 0;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2361 GtkWidget *hbox;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2362
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2363 g_return_val_if_fail(menuitems != NULL, NULL);
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2364
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2365 hbox = gtk_hbox_new(FALSE, 5);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2366 gtk_container_add (GTK_CONTAINER (box), hbox);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2367 gtk_widget_show(hbox);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2368
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
2369 label = gtk_label_new_with_mnemonic(title);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2370 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2371 gtk_widget_show(label);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2372
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2373 dropdown = gtk_option_menu_new();
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2374 menu = gtk_menu_new();
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
2375
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
2376 gtk_label_set_mnemonic_widget(GTK_LABEL(label), dropdown);
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
2377
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2378 while (menuitems != NULL && (text = (char *) menuitems->data) != NULL) {
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2379 menuitems = g_list_next(menuitems);
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2380 g_return_val_if_fail(menuitems != NULL, NULL);
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2381 value = GPOINTER_TO_INT(menuitems->data);
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2382 menuitems = g_list_next(menuitems);
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2383
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2384 opt = gtk_menu_item_new_with_label(text);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2385 gtk_object_set_user_data(GTK_OBJECT(opt), (void *)value);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2386 gtk_object_set_data(GTK_OBJECT(opt), "clear", (void *)clear);
4162
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
2387 g_signal_connect(GTK_OBJECT(opt), "activate",
d3c8d2b40494 [gaim-migrate @ 4391]
Christian Hammond <chipx86@chipx86.com>
parents: 4137
diff changeset
2388 G_CALLBACK(dropdown_set), (void *)option);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2389 gtk_widget_show(opt);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2390 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt);
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2391
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2392 if (((clear > -1) && ((*option & value) == value)) || *option == value) {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2393 gtk_menu_set_active(GTK_MENU(menu), o);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2394 }
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2395 o++;
4428
b5669740e34c [gaim-migrate @ 4703]
Sean Egan <seanegan@gmail.com>
parents: 4421
diff changeset
2396
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2397 }
2262
9c8f353331e7 [gaim-migrate @ 2272]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2254
diff changeset
2398
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
2399 gtk_option_menu_set_menu(GTK_OPTION_MENU(dropdown), menu);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2400 gtk_box_pack_start(GTK_BOX(hbox), dropdown, FALSE, FALSE, 0);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2401 gtk_widget_show(dropdown);
3427
8fa61405af2b [gaim-migrate @ 3453]
Sean Egan <seanegan@gmail.com>
parents: 3404
diff changeset
2402 return label;
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
2403 }
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
2404
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2405 static GtkWidget *show_color_pref(GtkWidget *box, gboolean fgc)
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2406 {
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2407 /* more stuff stolen from X-Chat */
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2408 GtkWidget *swid;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2409 GdkColor c;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2410 GtkStyle *style;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2411 c.pixel = 0;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2412 if (fgc) {
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2413 if (font_options & OPT_FONT_FGCOL) {
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2414 c.red = fgcolor.red;
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2415 c.blue = fgcolor.blue;
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2416 c.green = fgcolor.green;
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2417 } else {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2418 c.red = 0;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2419 c.blue = 0;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2420 c.green = 0;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2421 }
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2422 } else {
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2423 if (font_options & OPT_FONT_BGCOL) {
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2424 c.red = bgcolor.red;
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2425 c.blue = bgcolor.blue;
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2426 c.green = bgcolor.green;
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2427 } else {
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2428 c.red = 0xffff;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2429 c.blue = 0xffff;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2430 c.green = 0xffff;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2431 }
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2432 }
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2433
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2434 style = gtk_style_new();
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2435 style->bg[0] = c;
652
4d3285caa191 [gaim-migrate @ 662]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 619
diff changeset
2436
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2437 swid = gtk_event_box_new();
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2438 gtk_widget_set_style(GTK_WIDGET(swid), style);
4296
beb653cb331c [gaim-migrate @ 4549]
Luke Schierer <lschiere@pidgin.im>
parents: 4295
diff changeset
2439 g_object_unref(style);
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2440 gtk_widget_set_usize(GTK_WIDGET(swid), 40, -1);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2441 gtk_box_pack_start(GTK_BOX(box), swid, FALSE, FALSE, 5);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2442 gtk_widget_show(swid);
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2443 return swid;
1
2846a03bda67 [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
2444 }
4064
b188b93ebf48 [gaim-migrate @ 4274]
Luke Schierer <lschiere@pidgin.im>
parents: 4052
diff changeset
2445
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2446 void apply_font_dlg(GtkWidget *w, GtkWidget *f)
1124
a70d5200edde [gaim-migrate @ 1134]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1123
diff changeset
2447 {
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2448 int i = 0;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2449 char *fontname;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2450
3473
0073a014e55b [gaim-migrate @ 3524]
Sean Egan <seanegan@gmail.com>
parents: 3472
diff changeset
2451 fontname = g_strdup(gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(f)));
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2452 destroy_fontsel(0, 0);
1124
a70d5200edde [gaim-migrate @ 1134]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1123
diff changeset
2453
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2454 while(fontname[i] && !isdigit(fontname[i]) && i < sizeof(fontface)) {
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2455 fontface[i] = fontname[i];
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2456 i++;
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2457 }
4438
2054d8429925 [gaim-migrate @ 4713]
Christian Hammond <chipx86@chipx86.com>
parents: 4433
diff changeset
2458
3818
fed3d1b2a472 [gaim-migrate @ 3965]
Sean Egan <seanegan@gmail.com>
parents: 3817
diff changeset
2459 fontface[i] = 0;
3366
120e08ea5aee [gaim-migrate @ 3385]
Sean Egan <seanegan@gmail.com>
parents: 3326
diff changeset
2460 g_free(fontname);
4438
2054d8429925 [gaim-migrate @ 4713]
Christian Hammond <chipx86@chipx86.com>
parents: 4433
diff changeset
2461
2054d8429925 [gaim-migrate @ 4713]
Christian Hammond <chipx86@chipx86.com>
parents: 4433
diff changeset
2462 gaim_conversation_foreach(gaim_gtkconv_update_font_face);
1124
a70d5200edde [gaim-migrate @ 1134]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1123
diff changeset
2463 }
3500
b79894c97bed [gaim-migrate @ 3563]
Luke Schierer <lschiere@pidgin.im>
parents: 3485
diff changeset
2464