annotate src/gtkprefs.c @ 11722:01647b11ecd3

[gaim-migrate @ 14013] Don't EVER allow an account to connect if it is disabled. This fixes the bug where you'd get disconnected, then the user disables the account, then the autoreconnect plugin would still try to reconnect. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sat, 22 Oct 2005 21:20:22 +0000
parents cae2fb7e8594
children 7e0ad3b6882a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6928
6ed0a1c045b4 [gaim-migrate @ 7475]
Christian Hammond <chipx86@chipx86.com>
parents: 6861
diff changeset
1 /**
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2 * @file gtkprefs.c GTK+ Preferences
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
3 * @ingroup gtkui
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
4 *
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
5 * gaim
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
6 *
8046
fa6395637e2c [gaim-migrate @ 8730]
Sean Egan <seanegan@gmail.com>
parents: 8015
diff changeset
7 * Gaim is the legal property of its developers, whose names are too numerous
fa6395637e2c [gaim-migrate @ 8730]
Sean Egan <seanegan@gmail.com>
parents: 8015
diff changeset
8 * to list here. Please refer to the COPYRIGHT file distributed with this
fa6395637e2c [gaim-migrate @ 8730]
Sean Egan <seanegan@gmail.com>
parents: 8015
diff changeset
9 * source distribution.
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
10 *
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
12 * it under the terms of the GNU General Public License as published by
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
14 * (at your option) any later version.
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
15 *
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
19 * GNU General Public License for more details.
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
20 *
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
21 * You should have received a copy of the GNU General Public License
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
22 * along with this program; if not, write to the Free Software
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
24 *
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
25 */
9791
4a15962c344a [gaim-migrate @ 10659]
Mark Doliner <mark@kingant.net>
parents: 9769
diff changeset
26 #include "internal.h"
4a15962c344a [gaim-migrate @ 10659]
Mark Doliner <mark@kingant.net>
parents: 9769
diff changeset
27 #include "gtkgaim.h"
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5870
diff changeset
28
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5870
diff changeset
29 #include "debug.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5870
diff changeset
30 #include "notify.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5870
diff changeset
31 #include "prefs.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5870
diff changeset
32 #include "proxy.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5870
diff changeset
33 #include "prpl.h"
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
34 #include "request.h"
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5870
diff changeset
35 #include "sound.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5870
diff changeset
36 #include "util.h"
8231
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
37 #include "network.h"
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5870
diff changeset
38
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5870
diff changeset
39 #include "gtkblist.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5870
diff changeset
40 #include "gtkconv.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5870
diff changeset
41 #include "gtkdebug.h"
9709
4d05b6e9e9cd [gaim-migrate @ 10570]
Mark Doliner <mark@kingant.net>
parents: 9707
diff changeset
42 #include "gtkdialogs.h"
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
43 #include "gtkimhtml.h"
8833
61fdef863ffa [gaim-migrate @ 9597]
Sean Egan <seanegan@gmail.com>
parents: 8814
diff changeset
44 #include "gtkimhtmltoolbar.h"
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
45 #include "gtkplugin.h"
8713
7024b595b6ae [gaim-migrate @ 9467]
Luke Schierer <lschiere@pidgin.im>
parents: 8705
diff changeset
46 #include "gtkpluginpref.h"
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
47 #include "gtkprefs.h"
5684
b61520e71679 [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5681
diff changeset
48 #include "gtksound.h"
11525
b47708f46a38 [gaim-migrate @ 13773]
Tim Ringenbach <marv@pidgin.im>
parents: 11442
diff changeset
49 #include "gtkthemes.h"
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5870
diff changeset
50 #include "gtkutils.h"
10297
ec140184437b [gaim-migrate @ 11480]
Luke Schierer <lschiere@pidgin.im>
parents: 10272
diff changeset
51 #include "gtkstock.h"
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5870
diff changeset
52
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
53 #define PROXYHOST 0
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
54 #define PROXYPORT 1
6005
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
55 #define PROXYUSER 2
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
56 #define PROXYPASS 3
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
57
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
58 static int sound_row_sel = 0;
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
59 static GtkWidget *prefsnotebook;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
60
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
61 static GtkWidget *sound_entry = NULL;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
62 static GtkListStore *smiley_theme_store = NULL;
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
63 static GtkWidget *prefs_proxy_frame = NULL;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
64
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
65 static GtkWidget *prefs = NULL;
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
66 static GtkWidget *debugbutton = NULL;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
67 static int notebook_page = 0;
10759
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
68 static GtkTreeIter plugin_iter;
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
69 static GtkTreeRowReference *previous_smiley_row = NULL;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
70
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
71 /*
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
72 * PROTOTYPES
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
73 */
10759
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
74 static int prefs_notebook_add_page(const char*, GdkPixbuf*,
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
75 GtkWidget*, GtkTreeIter*,
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
76 GtkTreeIter*, int);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
77 static void delete_prefs(GtkWidget *, void *);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
78 static void update_plugin_list(void *data);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
79
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
80 static void
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
81 update_spin_value(GtkWidget *w, GtkWidget *spin)
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
82 {
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
83 const char *key = g_object_get_data(G_OBJECT(spin), "val");
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
84 int value;
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
85
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
86 value = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spin));
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
87
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
88 gaim_prefs_set_int(key, value);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
89 }
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
90
7976
8e5a21b1efa6 [gaim-migrate @ 8653]
Nathan Walp <nwalp@pidgin.im>
parents: 7940
diff changeset
91 GtkWidget *
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
92 gaim_gtk_prefs_labeled_spin_button(GtkWidget *box, const gchar *title,
10367
5fe89d2df440 [gaim-migrate @ 11586]
Luke Schierer <lschiere@pidgin.im>
parents: 10364
diff changeset
93 const char *key, int min, int max, GtkSizeGroup *sg)
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
94 {
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
95 GtkWidget *hbox;
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
96 GtkWidget *label;
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
97 GtkWidget *spin;
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
98 GtkObject *adjust;
5550
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
99 int val;
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
100
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
101 val = gaim_prefs_get_int(key);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
102
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
103 hbox = gtk_hbox_new(FALSE, 5);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
104 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
105 gtk_widget_show(hbox);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
106
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
107 label = gtk_label_new_with_mnemonic(title);
8713
7024b595b6ae [gaim-migrate @ 9467]
Luke Schierer <lschiere@pidgin.im>
parents: 8705
diff changeset
108 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
109 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
110 gtk_widget_show(label);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
111
5550
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
112 adjust = gtk_adjustment_new(val, min, max, 1, 1, 1);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
113 spin = gtk_spin_button_new(GTK_ADJUSTMENT(adjust), 1, 0);
10367
5fe89d2df440 [gaim-migrate @ 11586]
Luke Schierer <lschiere@pidgin.im>
parents: 10364
diff changeset
114 g_object_set_data(G_OBJECT(spin), "val", (char *)key);
8467
b7f13b782f8b [gaim-migrate @ 9197]
Mark Doliner <mark@kingant.net>
parents: 8458
diff changeset
115 if (max < 10000)
b7f13b782f8b [gaim-migrate @ 9197]
Mark Doliner <mark@kingant.net>
parents: 8458
diff changeset
116 gtk_widget_set_size_request(spin, 50, -1);
b7f13b782f8b [gaim-migrate @ 9197]
Mark Doliner <mark@kingant.net>
parents: 8458
diff changeset
117 else
b7f13b782f8b [gaim-migrate @ 9197]
Mark Doliner <mark@kingant.net>
parents: 8458
diff changeset
118 gtk_widget_set_size_request(spin, 60, -1);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
119 gtk_box_pack_start(GTK_BOX(hbox), spin, FALSE, FALSE, 0);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
120 g_signal_connect(G_OBJECT(adjust), "value-changed",
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
121 G_CALLBACK(update_spin_value), GTK_WIDGET(spin));
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
122 gtk_widget_show(spin);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
123
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
124 gtk_label_set_mnemonic_widget(GTK_LABEL(label), spin);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
125
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
126 if (sg) {
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
127 gtk_size_group_add_widget(sg, label);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
128 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
129 }
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
130
8137
4971193f761d [gaim-migrate @ 8842]
Mark Doliner <mark@kingant.net>
parents: 8104
diff changeset
131 gaim_set_accessible_label (spin, label);
10759
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
132
8238
32625c0dbba6 [gaim-migrate @ 8961]
Mark Doliner <mark@kingant.net>
parents: 8231
diff changeset
133 return hbox;
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
134 }
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
135
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
136 static void
9422
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
137 entry_set(GtkEntry *entry, gpointer data) {
10367
5fe89d2df440 [gaim-migrate @ 11586]
Luke Schierer <lschiere@pidgin.im>
parents: 10364
diff changeset
138 const char *key = (const char*)data;
9422
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
139
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
140 gaim_prefs_set_string(key, gtk_entry_get_text(entry));
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
141 }
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
142
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
143 GtkWidget *
10367
5fe89d2df440 [gaim-migrate @ 11586]
Luke Schierer <lschiere@pidgin.im>
parents: 10364
diff changeset
144 gaim_gtk_prefs_labeled_entry(GtkWidget *page, const gchar *title,
5fe89d2df440 [gaim-migrate @ 11586]
Luke Schierer <lschiere@pidgin.im>
parents: 10364
diff changeset
145 const char *key, GtkSizeGroup *sg)
9422
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
146 {
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
147 GtkWidget *hbox, *label, *entry;
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
148 const gchar *value;
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
149
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
150 value = gaim_prefs_get_string(key);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
151
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
152 hbox = gtk_hbox_new(FALSE, 5);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
153 gtk_box_pack_start(GTK_BOX(page), hbox, FALSE, FALSE, 5);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
154 gtk_widget_show(hbox);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
155
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
156 label = gtk_label_new_with_mnemonic(title);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
157 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
158 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
159 gtk_widget_show(label);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
160
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
161 entry = gtk_entry_new();
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
162 gtk_entry_set_text(GTK_ENTRY(entry), value);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
163 gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 0);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
164 g_signal_connect(G_OBJECT(entry), "changed",
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
165 G_CALLBACK(entry_set), (char*)key);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
166 gtk_widget_show(entry);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
167
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
168 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
169
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
170 if(sg) {
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
171 gtk_size_group_add_widget(sg, label);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
172 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
173 }
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
174
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
175 gaim_set_accessible_label(entry, label);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
176
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
177 return hbox;
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
178 }
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
179
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
180 static void
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
181 dropdown_set(GObject *w, const char *key)
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
182 {
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
183 const char *str_value;
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
184 int int_value;
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
185 GaimPrefType type;
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
186
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
187 type = GPOINTER_TO_INT(g_object_get_data(w, "type"));
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
188
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
189 if (type == GAIM_PREF_INT) {
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
190 int_value = GPOINTER_TO_INT(g_object_get_data(w, "value"));
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
191
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
192 gaim_prefs_set_int(key, int_value);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
193 }
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
194 else if (type == GAIM_PREF_STRING) {
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
195 str_value = (const char *)g_object_get_data(w, "value");
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
196
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
197 gaim_prefs_set_string(key, str_value);
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
198 }
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
199 else if (type == GAIM_PREF_BOOLEAN) {
9151
e672ee8a12ec [gaim-migrate @ 9935]
Nathan Walp <nwalp@pidgin.im>
parents: 9150
diff changeset
200 gaim_prefs_set_bool(key,
e672ee8a12ec [gaim-migrate @ 9935]
Nathan Walp <nwalp@pidgin.im>
parents: 9150
diff changeset
201 GPOINTER_TO_INT(g_object_get_data(w, "value")));
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
202 }
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
203 }
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
204
7976
8e5a21b1efa6 [gaim-migrate @ 8653]
Nathan Walp <nwalp@pidgin.im>
parents: 7940
diff changeset
205 GtkWidget *
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
206 gaim_gtk_prefs_dropdown_from_list(GtkWidget *box, const gchar *title,
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
207 GaimPrefType type, const char *key, GList *menuitems)
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
208 {
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
209 GtkWidget *dropdown, *opt, *menu;
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
210 GtkWidget *label = NULL;
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
211 GtkWidget *hbox;
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
212 gchar *text;
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
213 const char *stored_str = NULL;
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
214 int stored_int = 0;
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
215 int int_value = 0;
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
216 const char *str_value = NULL;
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
217 int o = 0;
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
218
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
219 g_return_val_if_fail(menuitems != NULL, NULL);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
220
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
221 if (title != NULL) {
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
222 hbox = gtk_hbox_new(FALSE, 5);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
223 /*gtk_container_add (GTK_CONTAINER (box), hbox);*/
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
224 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
225 gtk_widget_show(hbox);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
226
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
227 label = gtk_label_new_with_mnemonic(title);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
228 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
229 gtk_widget_show(label);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
230 } else {
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
231 hbox = box;
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
232 }
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
233
8577
599d6ac9bbfe [gaim-migrate @ 9326]
Nathan Walp <nwalp@pidgin.im>
parents: 8573
diff changeset
234 #if 0 /* GTK_CHECK_VERSION(2,4,0) */
599d6ac9bbfe [gaim-migrate @ 9326]
Nathan Walp <nwalp@pidgin.im>
parents: 8573
diff changeset
235 if(type == GAIM_PREF_INT)
599d6ac9bbfe [gaim-migrate @ 9326]
Nathan Walp <nwalp@pidgin.im>
parents: 8573
diff changeset
236 model = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_INT);
599d6ac9bbfe [gaim-migrate @ 9326]
Nathan Walp <nwalp@pidgin.im>
parents: 8573
diff changeset
237 else if(type == GAIM_PREF_STRING)
599d6ac9bbfe [gaim-migrate @ 9326]
Nathan Walp <nwalp@pidgin.im>
parents: 8573
diff changeset
238 model = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_STRING);
599d6ac9bbfe [gaim-migrate @ 9326]
Nathan Walp <nwalp@pidgin.im>
parents: 8573
diff changeset
239 dropdown = gtk_combo_box_new_with_model(model);
599d6ac9bbfe [gaim-migrate @ 9326]
Nathan Walp <nwalp@pidgin.im>
parents: 8573
diff changeset
240 #else
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
241 dropdown = gtk_option_menu_new();
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
242 menu = gtk_menu_new();
8577
599d6ac9bbfe [gaim-migrate @ 9326]
Nathan Walp <nwalp@pidgin.im>
parents: 8573
diff changeset
243 #endif
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
244
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
245 if (label != NULL) {
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
246 gtk_label_set_mnemonic_widget(GTK_LABEL(label), dropdown);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
247 gaim_set_accessible_label (dropdown, label);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
248 }
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
249
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
250 if (type == GAIM_PREF_INT)
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
251 stored_int = gaim_prefs_get_int(key);
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
252 else if (type == GAIM_PREF_STRING)
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
253 stored_str = gaim_prefs_get_string(key);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
254
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
255 while (menuitems != NULL && (text = (char *) menuitems->data) != NULL) {
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
256 menuitems = g_list_next(menuitems);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
257 g_return_val_if_fail(menuitems != NULL, NULL);
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
258
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
259 opt = gtk_menu_item_new_with_label(text);
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
260
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
261 g_object_set_data(G_OBJECT(opt), "type", GINT_TO_POINTER(type));
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
262
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
263 if (type == GAIM_PREF_INT) {
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
264 int_value = GPOINTER_TO_INT(menuitems->data);
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
265 g_object_set_data(G_OBJECT(opt), "value",
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
266 GINT_TO_POINTER(int_value));
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
267 }
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
268 else if (type == GAIM_PREF_STRING) {
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
269 str_value = (const char *)menuitems->data;
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
270
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
271 g_object_set_data(G_OBJECT(opt), "value", (char *)str_value);
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
272 }
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
273 else if (type == GAIM_PREF_BOOLEAN) {
9151
e672ee8a12ec [gaim-migrate @ 9935]
Nathan Walp <nwalp@pidgin.im>
parents: 9150
diff changeset
274 g_object_set_data(G_OBJECT(opt), "value",
e672ee8a12ec [gaim-migrate @ 9935]
Nathan Walp <nwalp@pidgin.im>
parents: 9150
diff changeset
275 menuitems->data);
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
276 }
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
277
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
278 g_signal_connect(G_OBJECT(opt), "activate",
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
279 G_CALLBACK(dropdown_set), (char *)key);
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
280
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
281 gtk_widget_show(opt);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
282 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
283
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
284 if ((type == GAIM_PREF_INT && stored_int == int_value) ||
5753
96214f5de47c [gaim-migrate @ 6178]
Christian Hammond <chipx86@chipx86.com>
parents: 5716
diff changeset
285 (type == GAIM_PREF_STRING && stored_str != NULL &&
96214f5de47c [gaim-migrate @ 6178]
Christian Hammond <chipx86@chipx86.com>
parents: 5716
diff changeset
286 !strcmp(stored_str, str_value)) ||
9151
e672ee8a12ec [gaim-migrate @ 9935]
Nathan Walp <nwalp@pidgin.im>
parents: 9150
diff changeset
287 (type == GAIM_PREF_BOOLEAN &&
e672ee8a12ec [gaim-migrate @ 9935]
Nathan Walp <nwalp@pidgin.im>
parents: 9150
diff changeset
288 (gaim_prefs_get_bool(key) == GPOINTER_TO_INT(menuitems->data)))) {
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
289
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
290 gtk_menu_set_active(GTK_MENU(menu), o);
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
291 }
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
292
5568
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
293 menuitems = g_list_next(menuitems);
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
294
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
295 o++;
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
296 }
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
297
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
298 gtk_option_menu_set_menu(GTK_OPTION_MENU(dropdown), menu);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
299 gtk_box_pack_start(GTK_BOX(hbox), dropdown, FALSE, FALSE, 0);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
300 gtk_widget_show(dropdown);
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
301
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
302 return label;
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
303 }
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
304
7976
8e5a21b1efa6 [gaim-migrate @ 8653]
Nathan Walp <nwalp@pidgin.im>
parents: 7940
diff changeset
305 GtkWidget *
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
306 gaim_gtk_prefs_dropdown(GtkWidget *box, const gchar *title, GaimPrefType type,
5550
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
307 const char *key, ...)
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
308 {
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
309 va_list ap;
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
310 GList *menuitems = NULL;
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
311 GtkWidget *dropdown = NULL;
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
312 char *name;
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
313 int int_value;
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
314 const char *str_value;
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
315
9151
e672ee8a12ec [gaim-migrate @ 9935]
Nathan Walp <nwalp@pidgin.im>
parents: 9150
diff changeset
316 g_return_val_if_fail(type == GAIM_PREF_BOOLEAN || type == GAIM_PREF_INT ||
e672ee8a12ec [gaim-migrate @ 9935]
Nathan Walp <nwalp@pidgin.im>
parents: 9150
diff changeset
317 type == GAIM_PREF_STRING, NULL);
e672ee8a12ec [gaim-migrate @ 9935]
Nathan Walp <nwalp@pidgin.im>
parents: 9150
diff changeset
318
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
319 va_start(ap, key);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
320 while ((name = va_arg(ap, char *)) != NULL) {
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
321
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
322 menuitems = g_list_prepend(menuitems, name);
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
323
9151
e672ee8a12ec [gaim-migrate @ 9935]
Nathan Walp <nwalp@pidgin.im>
parents: 9150
diff changeset
324 if (type == GAIM_PREF_INT || type == GAIM_PREF_BOOLEAN) {
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
325 int_value = va_arg(ap, int);
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
326 menuitems = g_list_prepend(menuitems, GINT_TO_POINTER(int_value));
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
327 }
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
328 else {
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
329 str_value = va_arg(ap, const char *);
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
330 menuitems = g_list_prepend(menuitems, (char *)str_value);
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
331 }
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
332 }
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
333 va_end(ap);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
334
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
335 g_return_val_if_fail(menuitems != NULL, NULL);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
336
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
337 menuitems = g_list_reverse(menuitems);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
338
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
339 dropdown = gaim_gtk_prefs_dropdown_from_list(box, title, type, key,
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
340 menuitems);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
341
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
342 g_list_free(menuitems);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
343
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
344 return dropdown;
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
345 }
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
346
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
347 static void
10759
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
348 add_plugin_prefs(GaimPlugin *plugin)
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
349 {
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
350 /*
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
351 * NOTE: This is basically the same check as before
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
352 * (plug->type == plugin), but now there aren't plugin types.
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
353 * Not yet, anyway. I want to do a V2 of the plugin API.
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
354 * The thing is, we should have a flag specifying the UI type,
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
355 * or just whether it's a general plugin or a UI-specific
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
356 * plugin. We should only load this if it's UI-specific.
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
357 *
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
358 * -- ChipX86
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
359 */
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
360 if (GAIM_IS_GTK_PLUGIN(plugin))
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
361 {
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
362 GtkWidget *config_frame;
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
363 GaimGtkPluginUiInfo *ui_info;
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
364
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
365 ui_info = GAIM_GTK_PLUGIN_UI_INFO(plugin);
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
366 config_frame = gaim_gtk_plugin_get_config_frame(plugin);
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
367
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
368 if (config_frame != NULL)
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
369 {
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
370 ui_info->page_num =
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
371 prefs_notebook_add_page(_(plugin->info->name), NULL,
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
372 config_frame, NULL,
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
373 &plugin_iter, notebook_page++);
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
374 }
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
375 }
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
376
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
377 if (GAIM_PLUGIN_HAS_PREF_FRAME(plugin))
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
378 {
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
379 GtkWidget *gtk_frame;
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
380 GaimPluginUiInfo *prefs_info;
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
381
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
382 prefs_info = GAIM_PLUGIN_UI_INFO(plugin);
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
383 prefs_info->frame = prefs_info->get_plugin_pref_frame(plugin);
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
384 gtk_frame = gaim_gtk_plugin_pref_create_frame(prefs_info->frame);
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
385
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
386 if (GTK_IS_WIDGET(gtk_frame))
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
387 {
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
388 prefs_info->page_num =
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
389 prefs_notebook_add_page(_(plugin->info->name), NULL,
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
390 gtk_frame, NULL,
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
391 (plugin->info->type == GAIM_PLUGIN_PROTOCOL) ? NULL : &plugin_iter,
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
392 notebook_page++);
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
393 } else if(prefs_info->frame) {
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
394 /* in the event that there is a pref frame and we can
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
395 * not make a widget out of it, we free the
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
396 * pluginpref frame --Gary
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
397 */
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
398 gaim_plugin_pref_frame_destroy(prefs_info->frame);
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
399 }
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
400 }
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
401 }
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
402
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
403 static void
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
404 delete_plugin_prefs(GaimPlugin *plugin)
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
405 {
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
406 if (GAIM_IS_GTK_PLUGIN(plugin))
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
407 {
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
408 GaimGtkPluginUiInfo *ui_info;
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
409
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
410 ui_info = GAIM_GTK_PLUGIN_UI_INFO(plugin);
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
411
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
412 if (ui_info != NULL && ui_info->page_num > 0) {
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
413 gtk_notebook_remove_page(GTK_NOTEBOOK(prefsnotebook),
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
414 ui_info->page_num);
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
415 }
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
416 }
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
417
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
418 if (GAIM_PLUGIN_HAS_PREF_FRAME(plugin))
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
419 {
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
420 GaimPluginUiInfo *prefs_info;
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
421
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
422 prefs_info = GAIM_PLUGIN_UI_INFO(plugin);
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
423
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
424 if (prefs_info->frame != NULL) {
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
425 gaim_plugin_pref_frame_destroy(prefs_info->frame);
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
426 prefs_info->frame = NULL;
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
427 }
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
428
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
429 if (prefs_info->page_num > 0) {
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
430 gtk_notebook_remove_page(GTK_NOTEBOOK(prefsnotebook),
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
431 prefs_info->page_num);
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
432 }
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
433 }
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
434 }
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
435
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
436 static void
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
437 delete_prefs(GtkWidget *asdf, void *gdsa)
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
438 {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
439 GList *l;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
440
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
441 /* Close any "select sound" request dialogs */
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
442 gaim_request_close_with_handle(prefs);
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
443
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
444 gaim_plugins_unregister_probe_notify_cb(update_plugin_list);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
445
10087
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
446 /* Unregister callbacks. */
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
447 gaim_prefs_disconnect_by_handle(prefs);
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
448
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
449 prefs = NULL;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
450 sound_entry = NULL;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
451 debugbutton = NULL;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
452 notebook_page = 0;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
453 smiley_theme_store = NULL;
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
454 if (previous_smiley_row)
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
455 gtk_tree_row_reference_free(previous_smiley_row);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
456 previous_smiley_row = NULL;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
457
10759
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
458 for (l = gaim_plugins_get_loaded(); l != NULL; l = l->next)
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
459 {
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
460 delete_plugin_prefs(l->data);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
461 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
462 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
463
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
464 static void smiley_sel(GtkTreeSelection *sel, GtkTreeModel *model) {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
465 GtkTreeIter iter;
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
466 const char *themename;
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
467 char *description;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
468 GValue val = { 0, };
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
469 GtkTreePath *path, *oldpath;
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
470 struct smiley_theme *new_theme, *old_theme;
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
471
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
472 if (!gtk_tree_selection_get_selected(sel, &model, &iter))
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
473 return;
11550
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
474
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
475 old_theme = current_smiley_theme;
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
476 gtk_tree_model_get_value(model, &iter, 3, &val);
11550
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
477 path = gtk_tree_model_get_path(model, &iter);
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
478 themename = g_value_get_string(&val);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
479 gaim_prefs_set_string("/gaim/gtk/smileys/theme", themename);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
480 g_value_unset (&val);
11550
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
481
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
482 /* current_smiley_theme is set in callback for the above pref change */
11550
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
483 new_theme = current_smiley_theme;
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
484 description = g_strdup_printf("<span size='larger' weight='bold'>%s</span> - %s\n"
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
485 "<span size='smaller' foreground='white'>%s</span>",
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
486 new_theme->name, new_theme->author, new_theme->desc);
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
487 gtk_list_store_set(smiley_theme_store, &iter, 1, description, -1);
11550
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
488 g_free(description);
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
489
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
490 if (new_theme != old_theme && previous_smiley_row) {
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
491 oldpath = gtk_tree_row_reference_get_path(previous_smiley_row);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
492 if (gtk_tree_model_get_iter(model, &iter, oldpath)) {
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
493 description = g_strdup_printf("<span size='larger' weight='bold'>%s</span> - %s\n"
11550
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
494 "<span size='smaller' foreground='dim grey'>%s</span>",
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
495 old_theme->name, old_theme->author, old_theme->desc);
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
496 gtk_list_store_set(smiley_theme_store, &iter, 1,
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
497 description, -1);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
498 g_free(description);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
499 }
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
500 gtk_tree_path_free(oldpath);
11550
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
501 }
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
502 if (previous_smiley_row)
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
503 gtk_tree_row_reference_free(previous_smiley_row);
11550
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
504 previous_smiley_row = gtk_tree_row_reference_new(model, path);
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
505 gtk_tree_path_free(path);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
506 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
507
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
508 static GtkTreeRowReference *theme_refresh_theme_list()
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
509 {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
510 GdkPixbuf *pixbuf;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
511 GSList *themes;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
512 GtkTreeIter iter;
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
513 GtkTreeRowReference *row_ref = NULL;
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
514
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
515 if (previous_smiley_row)
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
516 gtk_tree_row_reference_free(previous_smiley_row);
11550
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
517 previous_smiley_row = NULL;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
518
11525
b47708f46a38 [gaim-migrate @ 13773]
Tim Ringenbach <marv@pidgin.im>
parents: 11442
diff changeset
519 gaim_gtkthemes_smiley_theme_probe();
b47708f46a38 [gaim-migrate @ 13773]
Tim Ringenbach <marv@pidgin.im>
parents: 11442
diff changeset
520
b47708f46a38 [gaim-migrate @ 13773]
Tim Ringenbach <marv@pidgin.im>
parents: 11442
diff changeset
521 if (!(themes = smiley_themes))
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
522 return NULL;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
523
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
524 gtk_list_store_clear(smiley_theme_store);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
525
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
526 while (themes) {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
527 struct smiley_theme *theme = themes->data;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
528 char *description = g_strdup_printf("<span size='larger' weight='bold'>%s</span> - %s\n"
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
529 "<span size='smaller' foreground='dim grey'>%s</span>",
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
530 theme->name, theme->author, theme->desc);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
531 gtk_list_store_append (smiley_theme_store, &iter);
8494
8a1421dcef60 [gaim-migrate @ 9229]
Mark Doliner <mark@kingant.net>
parents: 8467
diff changeset
532
8a1421dcef60 [gaim-migrate @ 9229]
Mark Doliner <mark@kingant.net>
parents: 8467
diff changeset
533 /*
8a1421dcef60 [gaim-migrate @ 9229]
Mark Doliner <mark@kingant.net>
parents: 8467
diff changeset
534 * LEAK - Gentoo memprof thinks pixbuf is leaking here... but it
8a1421dcef60 [gaim-migrate @ 9229]
Mark Doliner <mark@kingant.net>
parents: 8467
diff changeset
535 * looks like it should be ok to me. Anyone know what's up? --Mark
8a1421dcef60 [gaim-migrate @ 9229]
Mark Doliner <mark@kingant.net>
parents: 8467
diff changeset
536 */
8963
59f1eb8c76d2 [gaim-migrate @ 9737]
Tim Ringenbach <marv@pidgin.im>
parents: 8949
diff changeset
537 pixbuf = (theme->icon ? gdk_pixbuf_new_from_file(theme->icon, NULL) : NULL);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
538
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
539 gtk_list_store_set(smiley_theme_store, &iter,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
540 0, pixbuf,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
541 1, description,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
542 2, theme->path,
8928
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
543 3, theme->name,
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
544 -1);
7094
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7092
diff changeset
545
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7092
diff changeset
546 if (pixbuf != NULL)
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7092
diff changeset
547 g_object_unref(G_OBJECT(pixbuf));
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7092
diff changeset
548
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
549 g_free(description);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
550 themes = themes->next;
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
551
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
552 /* If this is the currently selected theme,
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
553 * we will need to select it. Grab the row reference. */
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
554 if (theme == current_smiley_theme) {
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
555 GtkTreePath *path = gtk_tree_model_get_path(
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
556 GTK_TREE_MODEL(smiley_theme_store), &iter);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
557 row_ref = gtk_tree_row_reference_new(
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
558 GTK_TREE_MODEL(smiley_theme_store), path);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
559 gtk_tree_path_free(path);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
560 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
561 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
562
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
563 return row_ref;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
564 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
565
10871
6240d7fd5b2c [gaim-migrate @ 12558]
Mark Doliner <mark@kingant.net>
parents: 10859
diff changeset
566 static void theme_install_theme(char *path, char *extn) {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
567 #ifndef _WIN32
9769
6be50545eed7 [gaim-migrate @ 10637]
Luke Schierer <lschiere@pidgin.im>
parents: 9736
diff changeset
568 gchar *command, *escaped;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
569 #endif
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
570 gchar *destdir;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
571 gchar *tail;
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
572 GtkTreeRowReference *theme_rowref;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
573
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
574 /* Just to be safe */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
575 g_strchomp(path);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
576
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
577 /* I dont know what you are, get out of here */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
578 if (extn != NULL)
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
579 tail = extn;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
580 else if ((tail = strrchr(path, '.')) == NULL)
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
581 return;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
582
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
583 destdir = g_strconcat(gaim_user_dir(), G_DIR_SEPARATOR_S "smileys", NULL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
584
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
585 /* We'll check this just to make sure. This also lets us do something different on
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
586 * other platforms, if need be */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
587 if (!g_ascii_strcasecmp(tail, ".gz") || !g_ascii_strcasecmp(tail, ".tgz")) {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
588 #ifndef _WIN32
9769
6be50545eed7 [gaim-migrate @ 10637]
Luke Schierer <lschiere@pidgin.im>
parents: 9736
diff changeset
589 escaped = g_shell_quote(path);
6be50545eed7 [gaim-migrate @ 10637]
Luke Schierer <lschiere@pidgin.im>
parents: 9736
diff changeset
590 command = g_strdup_printf("tar > /dev/null xzf %s -C %s", escaped, destdir);
6be50545eed7 [gaim-migrate @ 10637]
Luke Schierer <lschiere@pidgin.im>
parents: 9736
diff changeset
591 g_free(escaped);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
592 #else
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
593 if(!wgaim_gz_untar(path, destdir)) {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
594 g_free(destdir);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
595 return;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
596 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
597 #endif
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
598 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
599 else {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
600 g_free(destdir);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
601 return;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
602 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
603
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
604 #ifndef _WIN32
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
605 /* Fire! */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
606 system(command);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
607
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
608 g_free(command);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
609 #endif
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
610 g_free(destdir);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
611
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
612 theme_rowref = theme_refresh_theme_list();
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
613 if (theme_rowref != NULL)
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
614 gtk_tree_row_reference_free(theme_rowref);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
615 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
616
7094
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7092
diff changeset
617 static void
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7092
diff changeset
618 theme_got_url(void *data, const char *themedata, size_t len)
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7092
diff changeset
619 {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
620 FILE *f;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
621 gchar *path;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
622
10203
7ff9b8b22e7d [gaim-migrate @ 11324]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 10182
diff changeset
623 f = gaim_mkstemp(&path, TRUE);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
624 fwrite(themedata, len, 1, f);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
625 fclose(f);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
626
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
627 theme_install_theme(path, data);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
628
10589
0f7452b1f777 [gaim-migrate @ 11994]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10492
diff changeset
629 g_unlink(path);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
630 g_free(path);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
631 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
632
11137
096020ae09a9 [gaim-migrate @ 13201]
Mark Doliner <mark@kingant.net>
parents: 11082
diff changeset
633 static void theme_dnd_recv(GtkWidget *widget, GdkDragContext *dc, guint x, guint y, GtkSelectionData *sd,
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
634 guint info, guint t, gpointer data) {
11137
096020ae09a9 [gaim-migrate @ 13201]
Mark Doliner <mark@kingant.net>
parents: 11082
diff changeset
635 gchar *name = (gchar *)sd->data;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
636
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
637 if ((sd->length >= 0) && (sd->format == 8)) {
11137
096020ae09a9 [gaim-migrate @ 13201]
Mark Doliner <mark@kingant.net>
parents: 11082
diff changeset
638 /* Well, it looks like the drag event was cool.
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
639 * Let's do something with it */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
640
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
641 if (!g_ascii_strncasecmp(name, "file://", 7)) {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
642 GError *converr = NULL;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
643 gchar *tmp;
11137
096020ae09a9 [gaim-migrate @ 13201]
Mark Doliner <mark@kingant.net>
parents: 11082
diff changeset
644 /* It looks like we're dealing with a local file. Let's
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
645 * just untar it in the right place */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
646 if(!(tmp = g_filename_from_uri(name, NULL, &converr))) {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
647 gaim_debug(GAIM_DEBUG_ERROR, "theme dnd", "%s\n",
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
648 (converr ? converr->message :
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
649 "g_filename_from_uri error"));
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
650 return;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
651 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
652 theme_install_theme(tmp, NULL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
653 g_free(tmp);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
654 } else if (!g_ascii_strncasecmp(name, "http://", 7)) {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
655 /* Oo, a web drag and drop. This is where things
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
656 * will start to get interesting */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
657 gchar *tail;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
658
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
659 if ((tail = strrchr(name, '.')) == NULL)
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
660 return;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
661
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
662 /* We'll check this just to make sure. This also lets us do something different on
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
663 * other platforms, if need be */
7094
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7092
diff changeset
664 gaim_url_fetch(name, TRUE, NULL, FALSE, theme_got_url, ".tgz");
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
665 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
666
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
667 gtk_drag_finish(dc, TRUE, FALSE, t);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
668 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
669
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
670 gtk_drag_finish(dc, FALSE, FALSE, t);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
671 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
672
8928
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
673 /* Does same as normal sort, except "none" is sorted first */
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
674 gint gaim_sort_smileys (GtkTreeModel *model,
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
675 GtkTreeIter *a,
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
676 GtkTreeIter *b,
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
677 gpointer userdata)
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
678 {
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
679 gint ret = 0;
9949
ced29c7b396c [gaim-migrate @ 10845]
Luke Schierer <lschiere@pidgin.im>
parents: 9944
diff changeset
680 gchar *name1 = NULL, *name2 = NULL;
8928
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
681
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
682 gtk_tree_model_get(model, a, 3, &name1, -1);
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
683 gtk_tree_model_get(model, b, 3, &name2, -1);
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
684
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
685 if (name1 == NULL || name2 == NULL) {
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
686 if (!(name1 == NULL && name2 == NULL))
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
687 ret = (name1 == NULL) ? -1: 1;
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
688 } else if (!g_ascii_strcasecmp(name1, "none")) {
10167
cf45c2a6a7cf [gaim-migrate @ 11254]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10164
diff changeset
689 if (!g_utf8_collate(name1, name2))
cf45c2a6a7cf [gaim-migrate @ 11254]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10164
diff changeset
690 ret = 0;
cf45c2a6a7cf [gaim-migrate @ 11254]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10164
diff changeset
691 else
cf45c2a6a7cf [gaim-migrate @ 11254]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10164
diff changeset
692 /* Sort name1 first */
cf45c2a6a7cf [gaim-migrate @ 11254]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10164
diff changeset
693 ret = -1;
8928
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
694 } else if (!g_ascii_strcasecmp(name2, "none")) {
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
695 /* Sort name2 first */
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
696 ret = 1;
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
697 } else {
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
698 /* Neither string is "none", default to normal sort */
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
699 ret = g_utf8_collate(name1,name2);
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
700 }
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
701
9521
9b2f1444811f [gaim-migrate @ 10348]
Mark Doliner <mark@kingant.net>
parents: 9508
diff changeset
702 g_free(name1);
9b2f1444811f [gaim-migrate @ 10348]
Mark Doliner <mark@kingant.net>
parents: 9508
diff changeset
703 g_free(name2);
9b2f1444811f [gaim-migrate @ 10348]
Mark Doliner <mark@kingant.net>
parents: 9508
diff changeset
704
8928
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
705 return ret;
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
706 }
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
707
10850
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
708 static GtkWidget *
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
709 theme_page()
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
710 {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
711 GtkWidget *ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
712 GtkWidget *sw;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
713 GtkWidget *view;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
714 GtkCellRenderer *rend;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
715 GtkTreeViewColumn *col;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
716 GtkTreeSelection *sel;
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
717 GtkTreeRowReference *rowref;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
718 GtkWidget *label;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
719 GtkTargetEntry te[3] = {{"text/plain", 0, 0},{"text/uri-list", 0, 1},{"STRING", 0, 2}};
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
720
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
721 ret = gtk_vbox_new(FALSE, GAIM_HIG_BOX_SPACE);
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
722 gtk_container_set_border_width (GTK_CONTAINER (ret), GAIM_HIG_BORDER);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
723
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
724 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."));
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
725
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
726 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
727 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
728 gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_LEFT);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
729
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
730 gtk_box_pack_start(GTK_BOX(ret), label, FALSE, TRUE, 0);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
731 gtk_widget_show(label);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
732
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
733 sw = gtk_scrolled_window_new(NULL,NULL);
7939
451d2946423e [gaim-migrate @ 8610]
Mark Doliner <mark@kingant.net>
parents: 7932
diff changeset
734 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
7931
2a781d4178ba [gaim-migrate @ 8602]
Mark Doliner <mark@kingant.net>
parents: 7929
diff changeset
735 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
736
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
737 gtk_box_pack_start(GTK_BOX(ret), sw, TRUE, TRUE, 0);
8928
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
738 smiley_theme_store = gtk_list_store_new (4, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
739
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
740 rowref = theme_refresh_theme_list();
8075
41e973dbca03 [gaim-migrate @ 8774]
Mark Doliner <mark@kingant.net>
parents: 8063
diff changeset
741
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
742 view = gtk_tree_view_new_with_model (GTK_TREE_MODEL(smiley_theme_store));
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
743
11525
b47708f46a38 [gaim-migrate @ 13773]
Tim Ringenbach <marv@pidgin.im>
parents: 11442
diff changeset
744 gtk_drag_dest_set(view, GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_HIGHLIGHT | GTK_DEST_DEFAULT_DROP, te,
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
745 sizeof(te) / sizeof(GtkTargetEntry) , GDK_ACTION_COPY | GDK_ACTION_MOVE);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
746
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
747 g_signal_connect(G_OBJECT(view), "drag_data_received", G_CALLBACK(theme_dnd_recv), smiley_theme_store);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
748
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
749 rend = gtk_cell_renderer_pixbuf_new();
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
750 sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (view));
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
751
8928
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
752 /* Custom sort so "none" theme is at top of list */
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
753 gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(smiley_theme_store),
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
754 3, gaim_sort_smileys, NULL, NULL);
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
755
8075
41e973dbca03 [gaim-migrate @ 8774]
Mark Doliner <mark@kingant.net>
parents: 8063
diff changeset
756 gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(smiley_theme_store),
8928
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
757 3, GTK_SORT_ASCENDING);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
758
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
759 col = gtk_tree_view_column_new_with_attributes (_("Icon"),
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
760 rend,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
761 "pixbuf", 0,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
762 NULL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
763 gtk_tree_view_append_column (GTK_TREE_VIEW(view), col);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
764
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
765 rend = gtk_cell_renderer_text_new();
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
766 col = gtk_tree_view_column_new_with_attributes (_("Description"),
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
767 rend,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
768 "markup", 1,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
769 NULL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
770 gtk_tree_view_append_column (GTK_TREE_VIEW(view), col);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
771 g_object_unref(G_OBJECT(smiley_theme_store));
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
772 gtk_container_add(GTK_CONTAINER(sw), view);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
773
8075
41e973dbca03 [gaim-migrate @ 8774]
Mark Doliner <mark@kingant.net>
parents: 8063
diff changeset
774 g_signal_connect(G_OBJECT(sel), "changed", G_CALLBACK(smiley_sel), NULL);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
775
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
776 if (rowref) {
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
777 GtkTreePath *path = gtk_tree_row_reference_get_path(rowref);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
778 gtk_tree_row_reference_free(rowref);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
779 gtk_tree_selection_select_path(sel, path);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
780 gtk_tree_path_free(path);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
781 }
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
782
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
783 gtk_widget_show_all(ret);
8137
4971193f761d [gaim-migrate @ 8842]
Mark Doliner <mark@kingant.net>
parents: 8104
diff changeset
784
4971193f761d [gaim-migrate @ 8842]
Mark Doliner <mark@kingant.net>
parents: 8104
diff changeset
785 gaim_set_accessible_label (view, label);
4971193f761d [gaim-migrate @ 8842]
Mark Doliner <mark@kingant.net>
parents: 8104
diff changeset
786
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
787 return ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
788 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
789
9025
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
790 static void
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
791 formatting_toggle_cb(GtkIMHtml *imhtml, GtkIMHtmlButtons buttons, void *toolbar)
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
792 {
9025
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
793 gboolean bold, italic, uline;
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
794
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
795 bold = italic = uline = FALSE;
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
796 gtk_imhtml_get_current_format(GTK_IMHTML(imhtml),
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
797 &bold, &italic, &uline);
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
798
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
799 if (buttons & GTK_IMHTML_BOLD)
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
800 gaim_prefs_set_bool("/gaim/gtk/conversations/send_bold", bold);
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
801 if (buttons & GTK_IMHTML_ITALIC)
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
802 gaim_prefs_set_bool("/gaim/gtk/conversations/send_italic", italic);
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
803 if (buttons & GTK_IMHTML_UNDERLINE)
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
804 gaim_prefs_set_bool("/gaim/gtk/conversations/send_underline", uline);
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
805
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
806 if (buttons & GTK_IMHTML_GROW || buttons & GTK_IMHTML_SHRINK)
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
807 gaim_prefs_set_int("/gaim/gtk/conversations/font_size",
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
808 gtk_imhtml_get_current_fontsize(GTK_IMHTML(imhtml)));
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
809 if (buttons & GTK_IMHTML_FACE) {
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
810 char *face = gtk_imhtml_get_current_fontface(GTK_IMHTML(imhtml));
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
811 if (!face)
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
812 face = g_strdup("");
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
813
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
814 gaim_prefs_set_string("/gaim/gtk/conversations/font_face", face);
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
815 g_free(face);
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
816 }
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
817
9025
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
818 if (buttons & GTK_IMHTML_FORECOLOR) {
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
819 char *color = gtk_imhtml_get_current_forecolor(GTK_IMHTML(imhtml));
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
820 if (!color)
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
821 color = g_strdup("");
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
822
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
823 gaim_prefs_set_string("/gaim/gtk/conversations/fgcolor", color);
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
824 g_free(color);
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
825 }
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
826
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
827 if (buttons & GTK_IMHTML_BACKCOLOR) {
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
828 char *color;
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
829 GObject *object;
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
830
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
831 color = gtk_imhtml_get_current_backcolor(GTK_IMHTML(imhtml));
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
832 if (!color)
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
833 color = g_strdup("");
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
834
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
835 /* Block the signal to prevent a loop. */
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
836 object = g_object_ref(G_OBJECT(imhtml));
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
837 g_signal_handlers_block_matched(object, G_SIGNAL_MATCH_DATA, 0, 0, NULL,
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
838 NULL, toolbar);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
839 /* Clear the backcolor. */
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
840 gtk_imhtml_toggle_backcolor(GTK_IMHTML(imhtml), "");
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
841 /* Unblock the signal. */
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
842 g_signal_handlers_unblock_matched(object, G_SIGNAL_MATCH_DATA, 0, 0, NULL,
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
843 NULL, toolbar);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
844 g_object_unref(object);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
845
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
846 /* This will fire a toggle signal and get saved below. */
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
847 gtk_imhtml_toggle_background(GTK_IMHTML(imhtml), color);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
848
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
849 g_free(color);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
850 }
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
851
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
852 if (buttons & GTK_IMHTML_BACKGROUND) {
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
853 char *color = gtk_imhtml_get_current_background(GTK_IMHTML(imhtml));
9025
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
854 if (!color)
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
855 color = g_strdup("");
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
856
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
857 gaim_prefs_set_string("/gaim/gtk/conversations/bgcolor", color);
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
858 g_free(color);
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
859 }
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
860 }
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
861
11275
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
862 static void
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
863 formatting_clear_cb(GtkIMHtml *imhtml, void *data)
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
864 {
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
865 gaim_prefs_set_bool("/gaim/gtk/conversations/send_bold", FALSE);
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
866 gaim_prefs_set_bool("/gaim/gtk/conversations/send_italic", FALSE);
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
867 gaim_prefs_set_bool("/gaim/gtk/conversations/send_underline", FALSE);
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
868
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
869 gaim_prefs_set_int("/gaim/gtk/conversations/font_size", 3);
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
870
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
871 gaim_prefs_set_string("/gaim/gtk/conversations/font_face", "");
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
872 gaim_prefs_set_string("/gaim/gtk/conversations/fgcolor", "");
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
873 gaim_prefs_set_string("/gaim/gtk/conversations/bgcolor", "");
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
874 }
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
875
10850
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
876 static GtkWidget *
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
877 list_page()
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
878 {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
879 GtkWidget *ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
880 GtkWidget *vbox;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
881 GList *l= NULL;
5567
cc9ddec20010 [gaim-migrate @ 5969]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
882 GSList *sl;
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
883 ret = gtk_vbox_new(FALSE, GAIM_HIG_BOX_SPACE);
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
884 gtk_container_set_border_width (GTK_CONTAINER (ret), GAIM_HIG_BORDER);
7305
fa25f82dda21 [gaim-migrate @ 7889]
Nathan Walp <nwalp@pidgin.im>
parents: 7167
diff changeset
885
fa25f82dda21 [gaim-migrate @ 7889]
Nathan Walp <nwalp@pidgin.im>
parents: 7167
diff changeset
886
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
887 vbox = gaim_gtk_make_frame (ret, _("Buddy List Sorting"));
5567
cc9ddec20010 [gaim-migrate @ 5969]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
888
cc9ddec20010 [gaim-migrate @ 5969]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
889 for (sl = gaim_gtk_blist_sort_methods; sl != NULL; sl = sl->next) {
5631
960fe32ea9b7 [gaim-migrate @ 6038]
Nathan Walp <nwalp@pidgin.im>
parents: 5627
diff changeset
890 struct gaim_gtk_blist_sort_method *method = sl->data;
960fe32ea9b7 [gaim-migrate @ 6038]
Nathan Walp <nwalp@pidgin.im>
parents: 5627
diff changeset
891
960fe32ea9b7 [gaim-migrate @ 6038]
Nathan Walp <nwalp@pidgin.im>
parents: 5627
diff changeset
892 l = g_list_append(l, method->name);
960fe32ea9b7 [gaim-migrate @ 6038]
Nathan Walp <nwalp@pidgin.im>
parents: 5627
diff changeset
893 l = g_list_append(l, method->id);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
894 }
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
895
8063
f1822a0c103a [gaim-migrate @ 8756]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
896 gaim_gtk_prefs_dropdown_from_list(vbox, _("_Sorting:"), GAIM_PREF_STRING,
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
897 "/gaim/gtk/blist/sort_type", l);
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
898
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
899 g_list_free(l);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
900
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
901 vbox = gaim_gtk_make_frame (ret, _("Buddy Display"));
10351
7fcdd669eb49 [gaim-migrate @ 11566]
Sean Egan <seanegan@gmail.com>
parents: 10349
diff changeset
902 gaim_gtk_prefs_checkbox(_("Show more buddy details"),
7305
fa25f82dda21 [gaim-migrate @ 7889]
Nathan Walp <nwalp@pidgin.im>
parents: 7167
diff changeset
903 "/gaim/gtk/blist/show_buddy_icons", vbox);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
904
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
905 gtk_widget_show_all(ret);
5547
90a67ea697f7 [gaim-migrate @ 5948]
Christian Hammond <chipx86@chipx86.com>
parents: 5546
diff changeset
906
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
907 return ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
908 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
909
8979
e2ad3e04d248 [gaim-migrate @ 9753]
Luke Schierer <lschiere@pidgin.im>
parents: 8966
diff changeset
910 static void
9155
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
911 conversation_usetabs_cb(const char *name, GaimPrefType type, gpointer value,
8979
e2ad3e04d248 [gaim-migrate @ 9753]
Luke Schierer <lschiere@pidgin.im>
parents: 8966
diff changeset
912 gpointer data)
e2ad3e04d248 [gaim-migrate @ 9753]
Luke Schierer <lschiere@pidgin.im>
parents: 8966
diff changeset
913 {
10112
1a91e814e9d8 [gaim-migrate @ 11145]
Nathan Walp <nwalp@pidgin.im>
parents: 10108
diff changeset
914 gboolean usetabs = GPOINTER_TO_INT(value);
9155
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
915
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
916 if (usetabs)
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
917 gtk_widget_set_sensitive(GTK_WIDGET(data), TRUE);
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
918 else
8979
e2ad3e04d248 [gaim-migrate @ 9753]
Luke Schierer <lschiere@pidgin.im>
parents: 8966
diff changeset
919 gtk_widget_set_sensitive(GTK_WIDGET(data), FALSE);
e2ad3e04d248 [gaim-migrate @ 9753]
Luke Schierer <lschiere@pidgin.im>
parents: 8966
diff changeset
920 }
e2ad3e04d248 [gaim-migrate @ 9753]
Luke Schierer <lschiere@pidgin.im>
parents: 8966
diff changeset
921
10850
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
922 static GtkWidget *
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
923 conv_page()
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
924 {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
925 GtkWidget *ret;
11271
b33eccbc3a10 [gaim-migrate @ 13454]
Richard Laager <rlaager@wiktel.com>
parents: 11269
diff changeset
926 GtkWidget *vbox;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
927 GtkWidget *label;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
928 GList *names = NULL;
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
929 GtkWidget *frame;
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
930 GtkWidget *imhtml;
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
931 GtkWidget *toolbar;
11271
b33eccbc3a10 [gaim-migrate @ 13454]
Richard Laager <rlaager@wiktel.com>
parents: 11269
diff changeset
932 GtkWidget *hbox;
b33eccbc3a10 [gaim-migrate @ 13454]
Richard Laager <rlaager@wiktel.com>
parents: 11269
diff changeset
933 GtkWidget *vbox2;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
934
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
935 ret = gtk_vbox_new(FALSE, GAIM_HIG_BOX_SPACE);
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
936 gtk_container_set_border_width(GTK_CONTAINER(ret), GAIM_HIG_BORDER);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
937
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
938 vbox = gaim_gtk_make_frame(ret, _("Conversations"));
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
939
9832
54e0322c81fb [gaim-migrate @ 10703]
Tim Ringenbach <marv@pidgin.im>
parents: 9827
diff changeset
940 gaim_gtk_prefs_checkbox(_("Send unknown \"_slash\" commands as messages"),
54e0322c81fb [gaim-migrate @ 10703]
Tim Ringenbach <marv@pidgin.im>
parents: 9827
diff changeset
941 "/gaim/gtk/conversations/passthrough_unknown_commands", vbox);
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
942 gaim_gtk_prefs_checkbox(_("Show _formatting on incoming messages"),
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
943 "/gaim/gtk/conversations/show_incoming_formatting", vbox);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
944 gaim_gtk_prefs_checkbox(_("Show buddy _icons"),
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
945 "/gaim/gtk/conversations/im/show_buddy_icons", vbox);
9155
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
946 gaim_gtk_prefs_checkbox(_("Enable buddy ic_on animation"),
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
947 "/gaim/gtk/conversations/im/animate_buddy_icons", vbox);
9155
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
948 gaim_gtk_prefs_checkbox(_("_Notify buddies that you are typing to them"),
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
949 "/core/conversations/im/send_typing", vbox);
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
950 #ifdef USE_GTKSPELL
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
951 gaim_gtk_prefs_checkbox(_("_Highlight misspelled words"),
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
952 "/gaim/gtk/conversations/spellcheck", vbox);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
953 #endif
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
954
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
955 frame = gaim_gtk_create_imhtml(TRUE, &imhtml, &toolbar);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
956 gtk_widget_set_name(imhtml, "gaim_gtkprefs_font_imhtml");
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
957 gtk_imhtml_set_whole_buffer_formatting_only(GTK_IMHTML(imhtml), TRUE);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
958 gtk_imhtml_set_format_functions(GTK_IMHTML(imhtml),
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
959 GTK_IMHTML_BOLD |
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
960 GTK_IMHTML_ITALIC |
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
961 GTK_IMHTML_UNDERLINE |
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
962 GTK_IMHTML_GROW |
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
963 GTK_IMHTML_SHRINK |
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
964 GTK_IMHTML_FACE |
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
965 GTK_IMHTML_FORECOLOR |
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
966 GTK_IMHTML_BACKCOLOR |
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
967 GTK_IMHTML_BACKGROUND);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
968
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
969 gtk_imhtml_append_text(GTK_IMHTML(imhtml), _("This is how your outgoing message text will appear when you use protocols that support formatting. :)"), 0);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
970
11271
b33eccbc3a10 [gaim-migrate @ 13454]
Richard Laager <rlaager@wiktel.com>
parents: 11269
diff changeset
971 gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0);
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
972
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
973 if (gaim_prefs_get_bool("/gaim/gtk/conversations/send_bold"))
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
974 gtk_imhtml_toggle_bold(GTK_IMHTML(imhtml));
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
975 if (gaim_prefs_get_bool("/gaim/gtk/conversations/send_italic"))
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
976 gtk_imhtml_toggle_italic(GTK_IMHTML(imhtml));
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
977 if (gaim_prefs_get_bool("/gaim/gtk/conversations/send_underline"))
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
978 gtk_imhtml_toggle_underline(GTK_IMHTML(imhtml));
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
979
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
980 gtk_imhtml_font_set_size(GTK_IMHTML(imhtml), gaim_prefs_get_int("/gaim/gtk/conversations/font_size"));
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
981 gtk_imhtml_toggle_forecolor(GTK_IMHTML(imhtml), gaim_prefs_get_string("/gaim/gtk/conversations/fgcolor"));
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
982 gtk_imhtml_toggle_background(GTK_IMHTML(imhtml), gaim_prefs_get_string("/gaim/gtk/conversations/bgcolor"));
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
983 gtk_imhtml_toggle_fontface(GTK_IMHTML(imhtml), gaim_prefs_get_string("/gaim/gtk/conversations/font_face"));
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
984
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
985 g_signal_connect_after(G_OBJECT(imhtml), "format_function_toggle",
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
986 G_CALLBACK(formatting_toggle_cb), toolbar);
11275
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
987 g_signal_connect_after(G_OBJECT(imhtml), "format_function_clear",
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
988 G_CALLBACK(formatting_clear_cb), NULL);
9155
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
989
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
990 /* All the tab options! */
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
991 vbox = gaim_gtk_make_frame(ret, _("Tab Options"));
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
992
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
993 gaim_gtk_prefs_checkbox(_("Show IMs and chats in _tabbed windows"),
5547
90a67ea697f7 [gaim-migrate @ 5948]
Christian Hammond <chipx86@chipx86.com>
parents: 5546
diff changeset
994 "/gaim/gtk/conversations/tabs", vbox);
9155
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
995
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
996 /*
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
997 * Connect a signal to the above preference. When conversations are not
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
998 * shown in a tabbed window then all tabbing options should be disabled.
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
999 */
10972
d5ce9d01f540 [gaim-migrate @ 12797]
Mark Doliner <mark@kingant.net>
parents: 10930
diff changeset
1000 vbox2 = gtk_vbox_new(FALSE, 9);
9155
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
1001 gtk_box_pack_start(GTK_BOX(vbox), vbox2, FALSE, FALSE, 0);
10087
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1002 gaim_prefs_connect_callback(prefs, "/gaim/gtk/conversations/tabs",
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1003 conversation_usetabs_cb, vbox2);
9155
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
1004 if (!gaim_prefs_get_bool("/gaim/gtk/conversations/tabs"))
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
1005 gtk_widget_set_sensitive(vbox2, FALSE);
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
1006
9891
67dbf65e76cf [gaim-migrate @ 10779]
Mark Doliner <mark@kingant.net>
parents: 9832
diff changeset
1007 gaim_gtk_prefs_checkbox(_("Show close b_utton on tabs"),
9155
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
1008 "/gaim/gtk/conversations/close_on_tabs", vbox2);
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
1009
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
1010 hbox = gtk_hbox_new(FALSE, 9);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
1011 gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
1012
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
1013 label = gaim_gtk_prefs_dropdown(hbox, _("_Placement:"), GAIM_PREF_INT,
8988
d6fea11c62d7 [gaim-migrate @ 9763]
Luke Schierer <lschiere@pidgin.im>
parents: 8979
diff changeset
1014 "/gaim/gtk/conversations/tab_side",
d6fea11c62d7 [gaim-migrate @ 9763]
Luke Schierer <lschiere@pidgin.im>
parents: 8979
diff changeset
1015 _("Top"), GTK_POS_TOP,
d6fea11c62d7 [gaim-migrate @ 9763]
Luke Schierer <lschiere@pidgin.im>
parents: 8979
diff changeset
1016 _("Bottom"), GTK_POS_BOTTOM,
d6fea11c62d7 [gaim-migrate @ 9763]
Luke Schierer <lschiere@pidgin.im>
parents: 8979
diff changeset
1017 _("Left"), GTK_POS_LEFT,
d6fea11c62d7 [gaim-migrate @ 9763]
Luke Schierer <lschiere@pidgin.im>
parents: 8979
diff changeset
1018 _("Right"), GTK_POS_RIGHT,
11619
de413ae71cba [gaim-migrate @ 13893]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
1019 #if GTK_CHECK_VERSION(2,6,0)
de413ae71cba [gaim-migrate @ 13893]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
1020 _("Left Vertical"), GTK_POS_LEFT|8,
de413ae71cba [gaim-migrate @ 13893]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
1021 _("Right Vertical"), GTK_POS_RIGHT|8,
de413ae71cba [gaim-migrate @ 13893]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
1022 #endif
8988
d6fea11c62d7 [gaim-migrate @ 9763]
Luke Schierer <lschiere@pidgin.im>
parents: 8979
diff changeset
1023 NULL);
d6fea11c62d7 [gaim-migrate @ 9763]
Luke Schierer <lschiere@pidgin.im>
parents: 8979
diff changeset
1024
11581
9b3833da6840 [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11557
diff changeset
1025 names = gaim_gtkconv_placement_get_options();
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
1026 label = gaim_gtk_prefs_dropdown_from_list(hbox, _("N_ew conversations:"),
9155
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
1027 GAIM_PREF_STRING, "/gaim/gtk/conversations/placement", names);
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
1028 g_list_free(names);
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
1029
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1030 gtk_widget_show_all(ret);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1031
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1032 return ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1033 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1034
8231
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1035 static void network_ip_changed(GtkEntry *entry, gpointer data)
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1036 {
8834
beb7be215db3 [gaim-migrate @ 9598]
Mark Doliner <mark@kingant.net>
parents: 8833
diff changeset
1037 gaim_network_set_public_ip(gtk_entry_get_text(entry));
8231
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1038 }
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1039
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1040 static void
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1041 proxy_changed_cb(const char *name, GaimPrefType type, gpointer value,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1042 gpointer data)
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1043 {
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1044 GtkWidget *frame = data;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1045 const char *proxy = value;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1046
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1047 if (strcmp(proxy, "none") && strcmp(proxy, "envvar"))
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1048 gtk_widget_set_sensitive(frame, TRUE);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1049 else
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1050 gtk_widget_set_sensitive(frame, FALSE);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1051 }
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1052
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1053 static void proxy_print_option(GtkEntry *entry, int entrynum)
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1054 {
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1055 if (entrynum == PROXYHOST)
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1056 gaim_prefs_set_string("/core/proxy/host", gtk_entry_get_text(entry));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1057 else if (entrynum == PROXYPORT)
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1058 gaim_prefs_set_int("/core/proxy/port", atoi(gtk_entry_get_text(entry)));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1059 else if (entrynum == PROXYUSER)
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1060 gaim_prefs_set_string("/core/proxy/username", gtk_entry_get_text(entry));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1061 else if (entrynum == PROXYPASS)
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1062 gaim_prefs_set_string("/core/proxy/password", gtk_entry_get_text(entry));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1063 }
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1064
10850
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1065 static GtkWidget *
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1066 network_page()
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1067 {
8231
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1068 GtkWidget *ret;
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1069 GtkWidget *vbox, *hbox, *entry;
11424
e1ab173ef3b5 [gaim-migrate @ 13661]
Thomas Butter <tbutter>
parents: 11380
diff changeset
1070 GtkWidget *table, *label, *auto_ip_checkbox, *ports_checkbox, *spin_button, *stun_server_entry;
8231
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1071 GtkSizeGroup *sg;
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1072 GaimProxyInfo *proxy_info;
8231
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1073
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1074 ret = gtk_vbox_new(FALSE, GAIM_HIG_BOX_SPACE);
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1075 gtk_container_set_border_width (GTK_CONTAINER (ret), GAIM_HIG_BORDER);
8231
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1076
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1077 vbox = gaim_gtk_make_frame (ret, _("IP Address"));
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1078
11442
73f7cfa46f1b [gaim-migrate @ 13681]
Richard Laager <rlaager@wiktel.com>
parents: 11424
diff changeset
1079 stun_server_entry = gaim_gtk_prefs_labeled_entry(vbox,_("STUN Server:"), "/core/network/stun_server", NULL);
73f7cfa46f1b [gaim-migrate @ 13681]
Richard Laager <rlaager@wiktel.com>
parents: 11424
diff changeset
1080
8231
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1081 auto_ip_checkbox = gaim_gtk_prefs_checkbox(_("_Autodetect IP Address"),
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1082 "/core/network/auto_ip", vbox);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1083
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1084 table = gtk_table_new(2, 1, FALSE);
11442
73f7cfa46f1b [gaim-migrate @ 13681]
Richard Laager <rlaager@wiktel.com>
parents: 11424
diff changeset
1085 gtk_container_set_border_width(GTK_CONTAINER(table), 0);
8231
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1086 gtk_table_set_col_spacings(GTK_TABLE(table), 5);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1087 gtk_table_set_row_spacings(GTK_TABLE(table), 10);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1088 gtk_container_add(GTK_CONTAINER(vbox), table);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1089
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1090 label = gtk_label_new_with_mnemonic(_("Public _IP:"));
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1091 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1092 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_FILL, 0, 0, 0);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1093
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1094 entry = gtk_entry_new();
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1095 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1096 gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 0, 1, GTK_FILL, 0, 0, 0);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1097 g_signal_connect(G_OBJECT(entry), "changed",
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1098 G_CALLBACK(network_ip_changed), NULL);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1099
8834
beb7be215db3 [gaim-migrate @ 9598]
Mark Doliner <mark@kingant.net>
parents: 8833
diff changeset
1100 if (gaim_network_get_public_ip() != NULL)
8231
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1101 gtk_entry_set_text(GTK_ENTRY(entry),
8834
beb7be215db3 [gaim-migrate @ 9598]
Mark Doliner <mark@kingant.net>
parents: 8833
diff changeset
1102 gaim_network_get_public_ip());
8231
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1103
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1104 gaim_set_accessible_label (entry, label);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1105
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1106
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1107 if (gaim_prefs_get_bool("/core/network/auto_ip")) {
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1108 gtk_widget_set_sensitive(GTK_WIDGET(table), FALSE);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1109 }
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1110
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1111 g_signal_connect(G_OBJECT(auto_ip_checkbox), "clicked",
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1112 G_CALLBACK(gaim_gtk_toggle_sensitive), table);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1113
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1114 vbox = gaim_gtk_make_frame (ret, _("Ports"));
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1115 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1116
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1117 ports_checkbox = gaim_gtk_prefs_checkbox(_("_Manually specify range of ports to listen on"),
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1118 "/core/network/ports_range_use", vbox);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1119
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1120 spin_button = gaim_gtk_prefs_labeled_spin_button(vbox, _("_Start Port:"),
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1121 "/core/network/ports_range_start", 0, 65535, sg);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1122 if (!gaim_prefs_get_bool("/core/network/ports_range_use"))
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1123 gtk_widget_set_sensitive(GTK_WIDGET(spin_button), FALSE);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1124 g_signal_connect(G_OBJECT(ports_checkbox), "clicked",
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1125 G_CALLBACK(gaim_gtk_toggle_sensitive), spin_button);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1126
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1127 spin_button = gaim_gtk_prefs_labeled_spin_button(vbox, _("_End Port:"),
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1128 "/core/network/ports_range_end", 0, 65535, sg);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1129 if (!gaim_prefs_get_bool("/core/network/ports_range_use"))
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1130 gtk_widget_set_sensitive(GTK_WIDGET(spin_button), FALSE);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1131 g_signal_connect(G_OBJECT(ports_checkbox), "clicked",
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1132 G_CALLBACK(gaim_gtk_toggle_sensitive), spin_button);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
1133
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1134 vbox = gaim_gtk_make_frame(ret, _("Proxy Server"));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1135 prefs_proxy_frame = gtk_vbox_new(FALSE, 0);
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1136 gaim_gtk_prefs_dropdown(vbox, _("Proxy _type:"), GAIM_PREF_STRING,
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1137 "/core/proxy/type",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1138 _("No proxy"), "none",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1139 "SOCKS 4", "socks4",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1140 "SOCKS 5", "socks5",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1141 "HTTP", "http",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1142 _("Use Environmental Settings"), "envvar",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1143 NULL);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1144 gtk_box_pack_start(GTK_BOX(vbox), prefs_proxy_frame, 0, 0, 0);
5681
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1145 proxy_info = gaim_global_proxy_get_info();
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1146
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1147 if (proxy_info == NULL ||
6621
42fdf16f1dad [gaim-migrate @ 7145]
Mark Doliner <mark@kingant.net>
parents: 6516
diff changeset
1148 gaim_proxy_info_get_type(proxy_info) == GAIM_PROXY_NONE ||
42fdf16f1dad [gaim-migrate @ 7145]
Mark Doliner <mark@kingant.net>
parents: 6516
diff changeset
1149 gaim_proxy_info_get_type(proxy_info) == GAIM_PROXY_USE_ENVVAR) {
5681
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1150
6001
5e9364e9b29e [gaim-migrate @ 6449]
Mark Doliner <mark@kingant.net>
parents: 5982
diff changeset
1151 gtk_widget_set_sensitive(GTK_WIDGET(prefs_proxy_frame), FALSE);
5681
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1152 }
10087
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1153 gaim_prefs_connect_callback(prefs, "/core/proxy/type",
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1154 proxy_changed_cb, prefs_proxy_frame);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1155
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1156 table = gtk_table_new(4, 2, FALSE);
11442
73f7cfa46f1b [gaim-migrate @ 13681]
Richard Laager <rlaager@wiktel.com>
parents: 11424
diff changeset
1157 gtk_container_set_border_width(GTK_CONTAINER(table), 0);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1158 gtk_table_set_col_spacings(GTK_TABLE(table), 5);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1159 gtk_table_set_row_spacings(GTK_TABLE(table), 10);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1160 gtk_container_add(GTK_CONTAINER(prefs_proxy_frame), table);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1161
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1162
7797
0fb10479a6a3 [gaim-migrate @ 8443]
Mark Doliner <mark@kingant.net>
parents: 7731
diff changeset
1163 label = gtk_label_new_with_mnemonic(_("_Host:"));
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1164 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1165 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_FILL, 0, 0, 0);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1166
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1167 entry = gtk_entry_new();
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1168 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1169 gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 0, 1, GTK_FILL, 0, 0, 0);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1170 g_signal_connect(G_OBJECT(entry), "changed",
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1171 G_CALLBACK(proxy_print_option), (void *)PROXYHOST);
5681
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1172
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1173 if (proxy_info != NULL && gaim_proxy_info_get_host(proxy_info))
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1174 gtk_entry_set_text(GTK_ENTRY(entry),
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1175 gaim_proxy_info_get_host(proxy_info));
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1176
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1177 hbox = gtk_hbox_new(TRUE, 5);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1178 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
8137
4971193f761d [gaim-migrate @ 8842]
Mark Doliner <mark@kingant.net>
parents: 8104
diff changeset
1179 gaim_set_accessible_label (entry, label);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1180
7870
30ee5c52b8dc [gaim-migrate @ 8524]
Luke Schierer <lschiere@pidgin.im>
parents: 7797
diff changeset
1181 label = gtk_label_new_with_mnemonic(_("_Port:"));
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1182 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1183 gtk_table_attach(GTK_TABLE(table), label, 2, 3, 0, 1, GTK_FILL, 0, 0, 0);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1184
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1185 entry = gtk_entry_new();
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1186 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1187 gtk_table_attach(GTK_TABLE(table), entry, 3, 4, 0, 1, GTK_FILL, 0, 0, 0);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1188 g_signal_connect(G_OBJECT(entry), "changed",
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1189 G_CALLBACK(proxy_print_option), (void *)PROXYPORT);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1190
5681
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1191 if (proxy_info != NULL && gaim_proxy_info_get_port(proxy_info) != 0) {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1192 char buf[128];
5681
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1193 g_snprintf(buf, sizeof(buf), "%d",
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1194 gaim_proxy_info_get_port(proxy_info));
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1195
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1196 gtk_entry_set_text(GTK_ENTRY(entry), buf);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1197 }
8137
4971193f761d [gaim-migrate @ 8842]
Mark Doliner <mark@kingant.net>
parents: 8104
diff changeset
1198 gaim_set_accessible_label (entry, label);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1199
7797
0fb10479a6a3 [gaim-migrate @ 8443]
Mark Doliner <mark@kingant.net>
parents: 7731
diff changeset
1200 label = gtk_label_new_with_mnemonic(_("_User:"));
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1201 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1202 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2, GTK_FILL, 0, 0, 0);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1203
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1204 entry = gtk_entry_new();
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1205 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1206 gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 1, 2, GTK_FILL, 0, 0, 0);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1207 g_signal_connect(G_OBJECT(entry), "changed",
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1208 G_CALLBACK(proxy_print_option), (void *)PROXYUSER);
5681
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1209
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1210 if (proxy_info != NULL && gaim_proxy_info_get_username(proxy_info) != NULL)
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1211 gtk_entry_set_text(GTK_ENTRY(entry),
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1212 gaim_proxy_info_get_username(proxy_info));
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1213
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1214 hbox = gtk_hbox_new(TRUE, 5);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1215 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
8137
4971193f761d [gaim-migrate @ 8842]
Mark Doliner <mark@kingant.net>
parents: 8104
diff changeset
1216 gaim_set_accessible_label (entry, label);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1217
7797
0fb10479a6a3 [gaim-migrate @ 8443]
Mark Doliner <mark@kingant.net>
parents: 7731
diff changeset
1218 label = gtk_label_new_with_mnemonic(_("Pa_ssword:"));
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1219 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1220 gtk_table_attach(GTK_TABLE(table), label, 2, 3, 1, 2, GTK_FILL, 0, 0, 0);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1221
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1222 entry = gtk_entry_new();
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1223 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1224 gtk_table_attach(GTK_TABLE(table), entry, 3, 4, 1, 2, GTK_FILL , 0, 0, 0);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1225 gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1226 g_signal_connect(G_OBJECT(entry), "changed",
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1227 G_CALLBACK(proxy_print_option), (void *)PROXYPASS);
5681
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1228
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1229 if (proxy_info != NULL && gaim_proxy_info_get_password(proxy_info) != NULL)
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1230 gtk_entry_set_text(GTK_ENTRY(entry),
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1231 gaim_proxy_info_get_password(proxy_info));
8137
4971193f761d [gaim-migrate @ 8842]
Mark Doliner <mark@kingant.net>
parents: 8104
diff changeset
1232 gaim_set_accessible_label (entry, label);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1233
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1234 gtk_widget_show_all(ret);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1235 return ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1236 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1237
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1238 #ifndef _WIN32
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1239 static gboolean manual_browser_set(GtkWidget *entry, GdkEventFocus *event, gpointer data) {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1240 const char *program = gtk_entry_get_text(GTK_ENTRY(entry));
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1241
5560
b7319c094153 [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5554
diff changeset
1242 gaim_prefs_set_string("/gaim/gtk/browsers/command", program);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1243
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1244 /* carry on normally */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1245 return FALSE;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1246 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1247
5633
97a079bc8caa [gaim-migrate @ 6040]
Nathan Walp <nwalp@pidgin.im>
parents: 5631
diff changeset
1248 static GList *get_available_browsers()
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1249 {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1250 struct browser {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1251 char *name;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1252 char *command;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1253 };
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1254
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1255 static struct browser possible_browsers[] = {
9405
7b48e7c07bcf [gaim-migrate @ 10219]
Mark Doliner <mark@kingant.net>
parents: 9307
diff changeset
1256 {N_("Epiphany"), "epiphany"},
8267
62af52b1614a [gaim-migrate @ 8990]
Mark Doliner <mark@kingant.net>
parents: 8238
diff changeset
1257 {N_("Firebird"), "mozilla-firebird"},
8356
8f2667524c06 [gaim-migrate @ 9080]
Nathan Walp <nwalp@pidgin.im>
parents: 8340
diff changeset
1258 {N_("Firefox"), "firefox"},
9405
7b48e7c07bcf [gaim-migrate @ 10219]
Mark Doliner <mark@kingant.net>
parents: 9307
diff changeset
1259 {N_("Galeon"), "galeon"},
7b48e7c07bcf [gaim-migrate @ 10219]
Mark Doliner <mark@kingant.net>
parents: 9307
diff changeset
1260 {N_("Gnome Default"), "gnome-open"},
7b48e7c07bcf [gaim-migrate @ 10219]
Mark Doliner <mark@kingant.net>
parents: 9307
diff changeset
1261 {N_("Konqueror"), "kfmclient"},
7b48e7c07bcf [gaim-migrate @ 10219]
Mark Doliner <mark@kingant.net>
parents: 9307
diff changeset
1262 {N_("Mozilla"), "mozilla"},
7b48e7c07bcf [gaim-migrate @ 10219]
Mark Doliner <mark@kingant.net>
parents: 9307
diff changeset
1263 {N_("Netscape"), "netscape"},
7b48e7c07bcf [gaim-migrate @ 10219]
Mark Doliner <mark@kingant.net>
parents: 9307
diff changeset
1264 {N_("Opera"), "opera"}
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1265 };
9405
7b48e7c07bcf [gaim-migrate @ 10219]
Mark Doliner <mark@kingant.net>
parents: 9307
diff changeset
1266 static const int num_possible_browsers = 9;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1267
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1268 GList *browsers = NULL;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1269 int i = 0;
5819
7bdf66ab4fdd [gaim-migrate @ 6249]
Luke Schierer <lschiere@pidgin.im>
parents: 5771
diff changeset
1270 char *browser_setting = (char *)gaim_prefs_get_string("/gaim/gtk/browsers/browser");
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1271
5568
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1272 browsers = g_list_prepend(browsers, "custom");
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1273 browsers = g_list_prepend(browsers, _("Manual"));
5568
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1274
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1275 for (i = 0; i < num_possible_browsers; i++) {
7108
6faeeecab0dc [gaim-migrate @ 7673]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1276 if (gaim_program_is_valid(possible_browsers[i].command)) {
5633
97a079bc8caa [gaim-migrate @ 6040]
Nathan Walp <nwalp@pidgin.im>
parents: 5631
diff changeset
1277 browsers = g_list_prepend(browsers,
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
1278 possible_browsers[i].command);
5568
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1279 browsers = g_list_prepend(browsers, _(possible_browsers[i].name));
5825
729e688fd2e7 [gaim-migrate @ 6255]
Sean Egan <seanegan@gmail.com>
parents: 5821
diff changeset
1280 if(browser_setting && !strcmp(possible_browsers[i].command, browser_setting))
5819
7bdf66ab4fdd [gaim-migrate @ 6249]
Luke Schierer <lschiere@pidgin.im>
parents: 5771
diff changeset
1281 browser_setting = NULL;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1282 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1283 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1284
5819
7bdf66ab4fdd [gaim-migrate @ 6249]
Luke Schierer <lschiere@pidgin.im>
parents: 5771
diff changeset
1285 if(browser_setting)
7bdf66ab4fdd [gaim-migrate @ 6249]
Luke Schierer <lschiere@pidgin.im>
parents: 5771
diff changeset
1286 gaim_prefs_set_string("/gaim/gtk/browsers/browser", "custom");
7bdf66ab4fdd [gaim-migrate @ 6249]
Luke Schierer <lschiere@pidgin.im>
parents: 5771
diff changeset
1287
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1288 return browsers;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1289 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1290
5568
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1291 static void
8274
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1292 browser_changed1_cb(const char *name, GaimPrefType type, gpointer value,
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1293 gpointer data)
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1294 {
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1295 GtkWidget *hbox = data;
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1296 const char *browser = value;
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1297
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1298 gtk_widget_set_sensitive(hbox, strcmp(browser, "custom"));
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1299 }
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1300
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1301 static void
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1302 browser_changed2_cb(const char *name, GaimPrefType type, gpointer value,
5568
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1303 gpointer data)
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1304 {
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1305 GtkWidget *hbox = data;
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1306 const char *browser = value;
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1307
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1308 gtk_widget_set_sensitive(hbox, !strcmp(browser, "custom"));
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1309 }
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1310
10850
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1311 static GtkWidget *
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1312 browser_page()
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1313 {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1314 GtkWidget *ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1315 GtkWidget *vbox;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1316 GtkWidget *hbox;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1317 GtkWidget *label;
6007
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1318 GtkWidget *entry;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1319 GtkSizeGroup *sg;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1320 GList *browsers = NULL;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1321
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1322 ret = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE);
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1323 gtk_container_set_border_width (GTK_CONTAINER (ret), GAIM_HIG_BORDER);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1324
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1325 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
1326 vbox = gaim_gtk_make_frame (ret, _("Browser Selection"));
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1327
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1328 browsers = get_available_browsers();
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1329 if (browsers != NULL) {
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1330 label = gaim_gtk_prefs_dropdown_from_list(vbox,_("_Browser:"), GAIM_PREF_STRING,
5550
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
1331 "/gaim/gtk/browsers/browser",
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
1332 browsers);
11638
3a05b53a589e [gaim-migrate @ 13914]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11619
diff changeset
1333 g_list_free(browsers);
10973
65c56b8490c5 [gaim-migrate @ 12798]
Mark Doliner <mark@kingant.net>
parents: 10972
diff changeset
1334 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1335 gtk_size_group_add_widget(sg, label);
8274
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1336
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1337 hbox = gtk_hbox_new(FALSE, 0);
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1338 label = gaim_gtk_prefs_dropdown(hbox, _("_Open link in:"), GAIM_PREF_INT,
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1339 "/gaim/gtk/browsers/place",
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1340 _("Browser default"), GAIM_BROWSER_DEFAULT,
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1341 _("Existing window"), GAIM_BROWSER_CURRENT,
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1342 _("New window"), GAIM_BROWSER_NEW_WINDOW,
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1343 _("New tab"), GAIM_BROWSER_NEW_TAB,
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1344 NULL);
10973
65c56b8490c5 [gaim-migrate @ 12798]
Mark Doliner <mark@kingant.net>
parents: 10972
diff changeset
1345 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
8274
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1346 gtk_size_group_add_widget(sg, label);
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1347 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1348
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1349 if (!strcmp(gaim_prefs_get_string("/gaim/gtk/browsers/browser"), "custom"))
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1350 gtk_widget_set_sensitive(hbox, FALSE);
10087
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1351 gaim_prefs_connect_callback(prefs, "/gaim/gtk/browsers/browser",
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1352 browser_changed1_cb, hbox);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1353 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1354
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1355 hbox = gtk_hbox_new(FALSE, 5);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1356 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
6031
855026933d50 [gaim-migrate @ 6481]
Mark Doliner <mark@kingant.net>
parents: 6016
diff changeset
1357 label = gtk_label_new_with_mnemonic(_("_Manual:\n(%s for URL)"));
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1358 gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1359 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1360 gtk_size_group_add_widget(sg, label);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1361
6007
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1362 entry = gtk_entry_new();
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1363 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
5560
b7319c094153 [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5554
diff changeset
1364
b7319c094153 [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5554
diff changeset
1365 if (strcmp(gaim_prefs_get_string("/gaim/gtk/browsers/browser"), "custom"))
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1366 gtk_widget_set_sensitive(hbox, FALSE);
10087
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1367 gaim_prefs_connect_callback(prefs, "/gaim/gtk/browsers/browser",
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1368 browser_changed2_cb, hbox);
5560
b7319c094153 [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5554
diff changeset
1369
6007
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1370 gtk_box_pack_start (GTK_BOX (hbox), entry, FALSE, FALSE, 0);
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1371
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1372 gtk_entry_set_text(GTK_ENTRY(entry),
5560
b7319c094153 [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5554
diff changeset
1373 gaim_prefs_get_string("/gaim/gtk/browsers/command"));
6007
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1374 g_signal_connect(G_OBJECT(entry), "focus-out-event",
5560
b7319c094153 [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5554
diff changeset
1375 G_CALLBACK(manual_browser_set), NULL);
8188
cd9ea20cd8ed [gaim-migrate @ 8909]
Christian Hammond <chipx86@chipx86.com>
parents: 8170
diff changeset
1376 gaim_set_accessible_label (entry, label);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1377
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1378 gtk_widget_show_all(ret);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1379 return ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1380 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1381 #endif /*_WIN32*/
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1382
10850
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1383 static GtkWidget *
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1384 logging_page()
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1385 {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1386 GtkWidget *ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1387 GtkWidget *vbox;
7431
643cbc9a6035 [gaim-migrate @ 8036]
Sean Egan <seanegan@gmail.com>
parents: 7326
diff changeset
1388 GList *names;
8573
7dcd6f26e4a7 [gaim-migrate @ 9321]
Luke Schierer <lschiere@pidgin.im>
parents: 8494
diff changeset
1389
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1390 ret = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE);
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1391 gtk_container_set_border_width (GTK_CONTAINER (ret), GAIM_HIG_BORDER);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1392
11698
a647f92e1d57 [gaim-migrate @ 13989]
Mark Doliner <mark@kingant.net>
parents: 11697
diff changeset
1393 vbox = gaim_gtk_make_frame (ret, _("Logging"));
7431
643cbc9a6035 [gaim-migrate @ 8036]
Sean Egan <seanegan@gmail.com>
parents: 7326
diff changeset
1394 names = gaim_log_logger_get_options();
643cbc9a6035 [gaim-migrate @ 8036]
Sean Egan <seanegan@gmail.com>
parents: 7326
diff changeset
1395
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1396 gaim_gtk_prefs_dropdown_from_list(vbox, _("Log _Format:"), GAIM_PREF_STRING,
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1397 "/core/logging/format", names);
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1398
11638
3a05b53a589e [gaim-migrate @ 13914]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11619
diff changeset
1399 g_list_free(names);
3a05b53a589e [gaim-migrate @ 13914]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11619
diff changeset
1400
11698
a647f92e1d57 [gaim-migrate @ 13989]
Mark Doliner <mark@kingant.net>
parents: 11697
diff changeset
1401 gaim_gtk_prefs_checkbox(_("Log all _instant messages"),
7562
b859cfb5f31a [gaim-migrate @ 8176]
Christian Hammond <chipx86@chipx86.com>
parents: 7561
diff changeset
1402 "/core/logging/log_ims", vbox);
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1403 gaim_gtk_prefs_checkbox(_("Log all c_hats"),
7562
b859cfb5f31a [gaim-migrate @ 8176]
Christian Hammond <chipx86@chipx86.com>
parents: 7561
diff changeset
1404 "/core/logging/log_chats", vbox);
11699
95cc6e1e9388 [gaim-migrate @ 13990]
Mark Doliner <mark@kingant.net>
parents: 11698
diff changeset
1405 gaim_gtk_prefs_checkbox(_("Log all _status changes to system log"),
11698
a647f92e1d57 [gaim-migrate @ 13989]
Mark Doliner <mark@kingant.net>
parents: 11697
diff changeset
1406 "/core/logging/log_system", vbox);
8573
7dcd6f26e4a7 [gaim-migrate @ 9321]
Luke Schierer <lschiere@pidgin.im>
parents: 8494
diff changeset
1407
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1408 gtk_widget_show_all(ret);
11698
a647f92e1d57 [gaim-migrate @ 13989]
Mark Doliner <mark@kingant.net>
parents: 11697
diff changeset
1409
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1410 return ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1411 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1412
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1413 #ifndef _WIN32
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1414 static gint sound_cmd_yeah(GtkEntry *entry, gpointer d)
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1415 {
5684
b61520e71679 [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5681
diff changeset
1416 gaim_prefs_set_string("/gaim/gtk/sound/command",
6007
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1417 gtk_entry_get_text(GTK_ENTRY(entry)));
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1418 return TRUE;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1419 }
6005
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1420
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1421 static void
10074
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1422 sound_changed1_cb(const char *name, GaimPrefType type, gpointer value,
6005
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1423 gpointer data)
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1424 {
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1425 GtkWidget *hbox = data;
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1426 const char *method = value;
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1427
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1428 gtk_widget_set_sensitive(hbox, !strcmp(method, "custom"));
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1429 }
10074
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1430
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1431 static void
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1432 sound_changed2_cb(const char *name, GaimPrefType type, gpointer value,
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1433 gpointer data)
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1434 {
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1435 GtkWidget *vbox = data;
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1436 const char *method = value;
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1437
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1438 gtk_widget_set_sensitive(vbox, strcmp(method, "none"));
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1439 }
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1440 #endif
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1441
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1442
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1443 static void
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1444 event_toggled(GtkCellRendererToggle *cell, gchar *pth, gpointer data)
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1445 {
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1446 GtkTreeModel *model = (GtkTreeModel *)data;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1447 GtkTreeIter iter;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1448 GtkTreePath *path = gtk_tree_path_new_from_string(pth);
10930
bfb3ac69cdd0 [gaim-migrate @ 12709]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10871
diff changeset
1449 char *pref;
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1450
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1451 gtk_tree_model_get_iter (model, &iter, path);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1452 gtk_tree_model_get (model, &iter,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1453 2, &pref,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1454 -1);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1455
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1456 gaim_prefs_set_bool(pref, !gtk_cell_renderer_toggle_get_active(cell));
10930
bfb3ac69cdd0 [gaim-migrate @ 12709]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10871
diff changeset
1457 g_free(pref);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1458
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1459 gtk_list_store_set(GTK_LIST_STORE (model), &iter,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1460 0, !gtk_cell_renderer_toggle_get_active(cell),
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1461 -1);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1462
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1463 gtk_tree_path_free(path);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1464 }
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1465
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1466 static void
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1467 test_sound(GtkWidget *button, gpointer i_am_NULL)
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1468 {
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1469 char *pref;
11642
58bc500cf226 [gaim-migrate @ 13919]
Mark Doliner <mark@kingant.net>
parents: 11638
diff changeset
1470 gboolean temp_value;
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1471
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1472 pref = g_strdup_printf("/gaim/gtk/sound/enabled/%s",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1473 gaim_gtk_sound_get_event_option(sound_row_sel));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1474
11642
58bc500cf226 [gaim-migrate @ 13919]
Mark Doliner <mark@kingant.net>
parents: 11638
diff changeset
1475 temp_value = gaim_prefs_get_bool(pref);
58bc500cf226 [gaim-migrate @ 13919]
Mark Doliner <mark@kingant.net>
parents: 11638
diff changeset
1476
58bc500cf226 [gaim-migrate @ 13919]
Mark Doliner <mark@kingant.net>
parents: 11638
diff changeset
1477 if (!temp_value) gaim_prefs_set_bool(pref, TRUE);
58bc500cf226 [gaim-migrate @ 13919]
Mark Doliner <mark@kingant.net>
parents: 11638
diff changeset
1478
58bc500cf226 [gaim-migrate @ 13919]
Mark Doliner <mark@kingant.net>
parents: 11638
diff changeset
1479 gaim_sound_play_event(sound_row_sel, NULL);
58bc500cf226 [gaim-migrate @ 13919]
Mark Doliner <mark@kingant.net>
parents: 11638
diff changeset
1480
58bc500cf226 [gaim-migrate @ 13919]
Mark Doliner <mark@kingant.net>
parents: 11638
diff changeset
1481 if (!temp_value) gaim_prefs_set_bool(pref, FALSE);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1482
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1483 g_free(pref);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1484 }
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1485
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1486 /*
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1487 * Resets a sound file back to default.
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1488 */
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1489 static void
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1490 reset_sound(GtkWidget *button, gpointer i_am_also_NULL)
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1491 {
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1492 gchar *pref;
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1493
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1494 pref = g_strdup_printf("/gaim/gtk/sound/file/%s",
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1495 gaim_gtk_sound_get_event_option(sound_row_sel));
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1496 gaim_prefs_set_string(pref, "");
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1497 g_free(pref);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1498
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1499 gtk_entry_set_text(GTK_ENTRY(sound_entry), "(default)");
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1500 }
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1501
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1502 static void
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1503 sound_chosen_cb(void *user_data, const char *filename)
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1504 {
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1505 gchar *pref;
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1506 int sound;
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1507
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1508 sound = GPOINTER_TO_INT(user_data);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1509
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1510 /* Set it -- and forget it */
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1511 pref = g_strdup_printf("/gaim/gtk/sound/file/%s",
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1512 gaim_gtk_sound_get_event_option(sound));
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1513 gaim_prefs_set_string(pref, filename);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1514 g_free(pref);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1515
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1516 /*
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1517 * If the sound we just changed is still the currently selected
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1518 * sound, then update the box showing the file name.
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1519 */
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1520 if (sound == sound_row_sel)
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1521 gtk_entry_set_text(GTK_ENTRY(sound_entry), filename);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1522 }
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1523
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1524 static void select_sound(GtkWidget *button, gpointer being_NULL_is_fun)
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1525 {
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1526 gchar *pref;
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1527 const char *filename;
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1528
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1529 pref = g_strdup_printf("/gaim/gtk/sound/file/%s",
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1530 gaim_gtk_sound_get_event_option(sound_row_sel));
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1531 filename = gaim_prefs_get_string(pref);
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1532 g_free(pref);
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1533
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1534 if (*filename == '\0')
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1535 filename = NULL;
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1536
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1537 gaim_request_file(prefs, _("Sound Selection"), filename, FALSE,
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1538 G_CALLBACK(sound_chosen_cb), NULL, GINT_TO_POINTER(sound_row_sel));
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1539 }
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1540
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1541 static void prefs_sound_sel(GtkTreeSelection *sel, GtkTreeModel *model) {
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1542 GtkTreeIter iter;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1543 GValue val = { 0, };
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1544 const char *file;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1545 char *pref;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1546
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1547 if (! gtk_tree_selection_get_selected (sel, &model, &iter))
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1548 return;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1549 gtk_tree_model_get_value (model, &iter, 3, &val);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1550 sound_row_sel = g_value_get_uint(&val);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1551
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1552 pref = g_strdup_printf("/gaim/gtk/sound/file/%s",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1553 gaim_gtk_sound_get_event_option(sound_row_sel));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1554 file = gaim_prefs_get_string(pref);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1555 g_free(pref);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1556 if (sound_entry)
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1557 gtk_entry_set_text(GTK_ENTRY(sound_entry), (file && *file != '\0') ? file : "(default)");
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1558 g_value_unset (&val);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1559 }
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1560
10850
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1561 static GtkWidget *
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1562 sound_page()
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1563 {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1564 GtkWidget *ret;
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1565 GtkWidget *vbox, *sw, *button;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1566 GtkSizeGroup *sg;
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1567 GtkTreeIter iter;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1568 GtkWidget *event_view;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1569 GtkListStore *event_store;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1570 GtkCellRenderer *rend;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1571 GtkTreeViewColumn *col;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1572 GtkTreeSelection *sel;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1573 GtkTreePath *path;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1574 GtkWidget *hbox;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1575 int j;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1576 const char *file;
11082
e25575a59f01 [gaim-migrate @ 13099]
Mark Doliner <mark@kingant.net>
parents: 11052
diff changeset
1577 char *pref;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1578 #ifndef _WIN32
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1579 GtkWidget *dd;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1580 GtkWidget *label;
6007
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1581 GtkWidget *entry;
5684
b61520e71679 [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5681
diff changeset
1582 const char *cmd;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1583 #endif
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1584
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1585 ret = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE);
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1586 gtk_container_set_border_width (GTK_CONTAINER (ret), GAIM_HIG_BORDER);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1587
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1588 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1589
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1590 #ifndef _WIN32
6033
22923270493f [gaim-migrate @ 6483]
Mark Doliner <mark@kingant.net>
parents: 6031
diff changeset
1591 vbox = gaim_gtk_make_frame (ret, _("Sound Method"));
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1592 dd = gaim_gtk_prefs_dropdown(vbox, _("_Method:"), GAIM_PREF_STRING,
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1593 "/gaim/gtk/sound/method",
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1594 _("Console beep"), "beep",
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1595 #ifdef USE_AO
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1596 _("Automatic"), "automatic",
11082
e25575a59f01 [gaim-migrate @ 13099]
Mark Doliner <mark@kingant.net>
parents: 11052
diff changeset
1597 "Arts", "arts",
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1598 "ESD", "esd",
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1599 "NAS", "nas",
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1600 #endif
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1601 _("Command"), "custom",
10074
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1602 _("No sounds"), "none",
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1603 NULL);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1604 gtk_size_group_add_widget(sg, dd);
10973
65c56b8490c5 [gaim-migrate @ 12798]
Mark Doliner <mark@kingant.net>
parents: 10972
diff changeset
1605 gtk_misc_set_alignment(GTK_MISC(dd), 0, 0.5);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1606
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1607 hbox = gtk_hbox_new(FALSE, 5);
11442
73f7cfa46f1b [gaim-migrate @ 13681]
Richard Laager <rlaager@wiktel.com>
parents: 11424
diff changeset
1608 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1609
6031
855026933d50 [gaim-migrate @ 6481]
Mark Doliner <mark@kingant.net>
parents: 6016
diff changeset
1610 label = gtk_label_new_with_mnemonic(_("Sound c_ommand:\n(%s for filename)"));
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1611 gtk_size_group_add_widget(sg, label);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1612 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
11442
73f7cfa46f1b [gaim-migrate @ 13681]
Richard Laager <rlaager@wiktel.com>
parents: 11424
diff changeset
1613 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1614
6007
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1615 entry = gtk_entry_new();
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1616 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1617
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1618 gtk_editable_set_editable(GTK_EDITABLE(entry), TRUE);
5684
b61520e71679 [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5681
diff changeset
1619 cmd = gaim_prefs_get_string("/gaim/gtk/sound/command");
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1620 if(cmd)
6007
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1621 gtk_entry_set_text(GTK_ENTRY(entry), cmd);
11442
73f7cfa46f1b [gaim-migrate @ 13681]
Richard Laager <rlaager@wiktel.com>
parents: 11424
diff changeset
1622
73f7cfa46f1b [gaim-migrate @ 13681]
Richard Laager <rlaager@wiktel.com>
parents: 11424
diff changeset
1623 gtk_box_pack_start(GTK_BOX(hbox), entry, TRUE, TRUE, 0);
6007
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1624 g_signal_connect(G_OBJECT(entry), "changed",
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1625 G_CALLBACK(sound_cmd_yeah), NULL);
6005
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1626
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1627 gtk_widget_set_sensitive(hbox,
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1628 !strcmp(gaim_prefs_get_string("/gaim/gtk/sound/method"),
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1629 "custom"));
10087
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1630 gaim_prefs_connect_callback(prefs, "/gaim/gtk/sound/method",
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1631 sound_changed1_cb, hbox);
6005
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1632
8141
5efe3d9cd552 [gaim-migrate @ 8849]
Luke Schierer <lschiere@pidgin.im>
parents: 8137
diff changeset
1633 gaim_set_accessible_label (entry, label);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1634 #endif /* _WIN32 */
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1635
10074
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1636 vbox = gaim_gtk_make_frame (ret, _("Sound Options"));
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1637 gaim_gtk_prefs_checkbox(_("Sounds when conversation has _focus"),
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1638 "/gaim/gtk/sound/conv_focus", vbox);
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1639 gaim_gtk_prefs_checkbox(_("_Sounds while away"),
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1640 "/core/sound/while_away", vbox);
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1641
10075
4670b7fd1a89 [gaim-migrate @ 11055]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10074
diff changeset
1642 #ifndef _WIN32
10074
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1643 gtk_widget_set_sensitive(vbox,
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1644 strcmp(gaim_prefs_get_string("/gaim/gtk/sound/method"), "none"));
10087
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1645 gaim_prefs_connect_callback(prefs, "/gaim/gtk/sound/method",
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1646 sound_changed2_cb, vbox);
10075
4670b7fd1a89 [gaim-migrate @ 11055]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10074
diff changeset
1647 #endif
10074
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1648
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1649 vbox = gaim_gtk_make_frame(ret, _("Sound Events"));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1650
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1651 /* The following is an ugly hack to make the frame expand so the
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1652 * sound events list is big enough to be usable */
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1653 gtk_box_set_child_packing(GTK_BOX(vbox->parent), vbox, TRUE, TRUE, 0,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1654 GTK_PACK_START);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1655 gtk_box_set_child_packing(GTK_BOX(vbox->parent->parent), vbox->parent, TRUE,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1656 TRUE, 0, GTK_PACK_START);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1657 gtk_box_set_child_packing(GTK_BOX(vbox->parent->parent->parent),
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1658 vbox->parent->parent, TRUE, TRUE, 0, GTK_PACK_START);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1659
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1660 sw = gtk_scrolled_window_new(NULL,NULL);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1661 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1662 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1663
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1664 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1665 event_store = gtk_list_store_new (4, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1666
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1667 for (j=0; j < GAIM_NUM_SOUNDS; j++) {
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1668 char *pref = g_strdup_printf("/gaim/gtk/sound/enabled/%s",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1669 gaim_gtk_sound_get_event_option(j));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1670 const char *label = gaim_gtk_sound_get_event_label(j);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1671
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1672 if (label == NULL) {
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1673 g_free(pref);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1674 continue;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1675 }
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1676
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1677 gtk_list_store_append (event_store, &iter);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1678 gtk_list_store_set(event_store, &iter,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1679 0, gaim_prefs_get_bool(pref),
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1680 1, _(label),
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1681 2, pref,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1682 3, j,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1683 -1);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1684 g_free(pref);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1685 }
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1686
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1687 event_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL(event_store));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1688
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1689 rend = gtk_cell_renderer_toggle_new();
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1690 sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (event_view));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1691 g_signal_connect (G_OBJECT (sel), "changed",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1692 G_CALLBACK (prefs_sound_sel),
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1693 NULL);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1694 g_signal_connect (G_OBJECT(rend), "toggled",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1695 G_CALLBACK(event_toggled), event_store);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1696 path = gtk_tree_path_new_first();
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1697 gtk_tree_selection_select_path(sel, path);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1698 gtk_tree_path_free(path);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1699
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1700 col = gtk_tree_view_column_new_with_attributes (_("Play"),
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1701 rend,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1702 "active", 0,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1703 NULL);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1704 gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1705
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1706 rend = gtk_cell_renderer_text_new();
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1707 col = gtk_tree_view_column_new_with_attributes (_("Event"),
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1708 rend,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1709 "text", 1,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1710 NULL);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1711 gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1712 g_object_unref(G_OBJECT(event_store));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1713 gtk_container_add(GTK_CONTAINER(sw), event_view);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1714
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1715 hbox = gtk_hbox_new(FALSE, GAIM_HIG_BOX_SPACE);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1716 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1717 sound_entry = gtk_entry_new();
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1718 pref = g_strdup_printf("/gaim/gtk/sound/file/%s",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1719 gaim_gtk_sound_get_event_option(0));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1720 file = gaim_prefs_get_string(pref);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1721 g_free(pref);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1722 gtk_entry_set_text(GTK_ENTRY(sound_entry), (file && *file != '\0') ? file : "(default)");
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1723 gtk_editable_set_editable(GTK_EDITABLE(sound_entry), FALSE);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1724 gtk_box_pack_start(GTK_BOX(hbox), sound_entry, FALSE, FALSE, 5);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1725
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1726 button = gtk_button_new_with_label(_("Test"));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1727 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(test_sound), NULL);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1728 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1729
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1730 button = gtk_button_new_with_label(_("Reset"));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1731 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(reset_sound), NULL);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1732 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1733
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1734 button = gtk_button_new_with_label(_("Choose..."));
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1735 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(select_sound), NULL);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1736 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1737 gtk_widget_show_all(ret);
9118
2063f8de8f93 [gaim-migrate @ 9895]
Nathan Walp <nwalp@pidgin.im>
parents: 9112
diff changeset
1738
10075
4670b7fd1a89 [gaim-migrate @ 11055]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10074
diff changeset
1739 #ifndef _WIN32
10074
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1740 gtk_widget_set_sensitive(vbox,
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1741 strcmp(gaim_prefs_get_string("/gaim/gtk/sound/method"), "none"));
10087
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1742 gaim_prefs_connect_callback(prefs, "/gaim/gtk/sound/method",
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1743 sound_changed2_cb, vbox);
10075
4670b7fd1a89 [gaim-migrate @ 11055]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10074
diff changeset
1744 #endif
10074
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1745
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1746 return ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1747 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1748
10182
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1749 /* XXX CORE/UI */
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1750 #if 0
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1751 static void
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1752 set_default_away(GtkWidget *w, gpointer data)
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1753 {
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1754 struct away_message *default_away = NULL;
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1755 int length = g_slist_length(away_messages);
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1756 int i = GPOINTER_TO_INT(data);
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1757
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1758 if (away_messages == NULL)
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1759 default_away = NULL;
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1760 else if (i >= length)
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1761 default_away = g_slist_nth_data(away_messages, length - 1);
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1762 else
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1763 default_away = g_slist_nth_data(away_messages, i);
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1764
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1765 if(default_away)
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1766 gaim_prefs_set_string("/core/away/default_message", default_away->name);
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1767 else
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1768 gaim_prefs_set_string("/core/away/default_message", "");
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1769 }
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1770 #endif
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1771
10850
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1772 static GtkWidget *
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1773 away_page()
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1774 {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1775 GtkWidget *ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1776 GtkWidget *vbox;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1777 GtkWidget *hbox;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1778 GtkWidget *label;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1779 GtkWidget *button;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1780 GtkWidget *select;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1781 GtkSizeGroup *sg;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1782
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1783 ret = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE);
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1784 gtk_container_set_border_width (GTK_CONTAINER (ret), GAIM_HIG_BORDER);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1785
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1786 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1787
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
1788 vbox = gaim_gtk_make_frame (ret, _("Away"));
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1789 gaim_gtk_prefs_checkbox(_("_Queue new messages when away"),
5573
5e7de337a053 [gaim-migrate @ 5976]
Christian Hammond <chipx86@chipx86.com>
parents: 5568
diff changeset
1790 "/gaim/gtk/away/queue_messages", vbox);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1791
9596
7b3212aa698c [gaim-migrate @ 10439]
Mark Doliner <mark@kingant.net>
parents: 9521
diff changeset
1792 label = gaim_gtk_prefs_dropdown(vbox, _("_Auto-reply:"),
7b3212aa698c [gaim-migrate @ 10439]
Mark Doliner <mark@kingant.net>
parents: 9521
diff changeset
1793 GAIM_PREF_STRING, "/core/away/auto_reply",
7b3212aa698c [gaim-migrate @ 10439]
Mark Doliner <mark@kingant.net>
parents: 9521
diff changeset
1794 _("Never"), "never",
9736
bd61fb6021ad [gaim-migrate @ 10597]
Sean Egan <seanegan@gmail.com>
parents: 9730
diff changeset
1795 _("When away"), "away",
10859
310c5e6120fb [gaim-migrate @ 12542]
Mark Doliner <mark@kingant.net>
parents: 10850
diff changeset
1796 _("When both away and idle"), "awayidle",
9596
7b3212aa698c [gaim-migrate @ 10439]
Mark Doliner <mark@kingant.net>
parents: 9521
diff changeset
1797 NULL);
6142
9a1c1b1764ac [gaim-migrate @ 6616]
Nathan Walp <nwalp@pidgin.im>
parents: 6141
diff changeset
1798
11287
fb6e85c55fb8 [gaim-migrate @ 13484]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11275
diff changeset
1799 button = gaim_gtk_prefs_checkbox(_("_Report idle time"),
fb6e85c55fb8 [gaim-migrate @ 13484]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11275
diff changeset
1800 "/gaim/gtk/idle/report", vbox);
fb6e85c55fb8 [gaim-migrate @ 13484]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11275
diff changeset
1801
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
1802 vbox = gaim_gtk_make_frame (ret, _("Auto-away"));
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1803 button = gaim_gtk_prefs_checkbox(_("Set away _when idle"),
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
1804 "/core/away/away_when_idle", vbox);
8238
32625c0dbba6 [gaim-migrate @ 8961]
Mark Doliner <mark@kingant.net>
parents: 8231
diff changeset
1805
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1806 select = gaim_gtk_prefs_labeled_spin_button(vbox,
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1807 _("_Minutes before setting away:"), "/core/away/mins_before_away",
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1808 1, 24 * 60, sg);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1809 g_signal_connect(G_OBJECT(button), "clicked",
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1810 G_CALLBACK(gaim_gtk_toggle_sensitive), select);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1811
8238
32625c0dbba6 [gaim-migrate @ 8961]
Mark Doliner <mark@kingant.net>
parents: 8231
diff changeset
1812 hbox = gtk_hbox_new(FALSE, 0);
32625c0dbba6 [gaim-migrate @ 8961]
Mark Doliner <mark@kingant.net>
parents: 8231
diff changeset
1813 gtk_container_add(GTK_CONTAINER(vbox), hbox);
32625c0dbba6 [gaim-migrate @ 8961]
Mark Doliner <mark@kingant.net>
parents: 8231
diff changeset
1814
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1815 label = gtk_label_new_with_mnemonic(_("Away m_essage:"));
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1816 gtk_size_group_add_widget(sg, label);
10973
65c56b8490c5 [gaim-migrate @ 12798]
Mark Doliner <mark@kingant.net>
parents: 10972
diff changeset
1817 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
8238
32625c0dbba6 [gaim-migrate @ 8961]
Mark Doliner <mark@kingant.net>
parents: 8231
diff changeset
1818 g_signal_connect(G_OBJECT(button), "clicked",
32625c0dbba6 [gaim-migrate @ 8961]
Mark Doliner <mark@kingant.net>
parents: 8231
diff changeset
1819 G_CALLBACK(gaim_gtk_toggle_sensitive), label);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1820 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
8238
32625c0dbba6 [gaim-migrate @ 8961]
Mark Doliner <mark@kingant.net>
parents: 8231
diff changeset
1821
5550
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
1822 if (!gaim_prefs_get_bool("/core/away/away_when_idle")) {
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
1823 gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE);
8238
32625c0dbba6 [gaim-migrate @ 8961]
Mark Doliner <mark@kingant.net>
parents: 8231
diff changeset
1824 gtk_widget_set_sensitive(GTK_WIDGET(label), FALSE);
5550
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
1825 }
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
1826
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1827 gtk_widget_show_all(ret);
5550
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
1828
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1829 return ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1830 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1831
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1832 static GtkWidget *plugin_description=NULL, *plugin_details=NULL;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1833
11525
b47708f46a38 [gaim-migrate @ 13773]
Tim Ringenbach <marv@pidgin.im>
parents: 11442
diff changeset
1834 static void prefs_plugin_sel (GtkTreeSelection *sel, GtkTreeModel *model)
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1835 {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1836 gchar *buf, *pname, *perr, *pdesc, *pauth, *pweb;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1837 GtkTreeIter iter;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1838 GValue val = { 0, };
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1839 GaimPlugin *plug;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1840
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1841 if (! gtk_tree_selection_get_selected (sel, &model, &iter))
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1842 return;
8104
a89cffefca93 [gaim-migrate @ 8804]
Ethan Blanton <elb@pidgin.im>
parents: 8075
diff changeset
1843 gtk_tree_model_get_value (model, &iter, 3, &val);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1844 plug = g_value_get_pointer(&val);
8998
3738d1eac0ad [gaim-migrate @ 9773]
Luke Schierer <lschiere@pidgin.im>
parents: 8994
diff changeset
1845
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1846 pname = g_markup_escape_text(_(plug->info->name), -1);
11525
b47708f46a38 [gaim-migrate @ 13773]
Tim Ringenbach <marv@pidgin.im>
parents: 11442
diff changeset
1847 pdesc = (plug->info->description) ?
9307
2138b3a07cb8 [gaim-migrate @ 10115]
Tim Ringenbach <marv@pidgin.im>
parents: 9303
diff changeset
1848 g_markup_escape_text(_(plug->info->description), -1) : NULL;
2138b3a07cb8 [gaim-migrate @ 10115]
Tim Ringenbach <marv@pidgin.im>
parents: 9303
diff changeset
1849 pauth = (plug->info->author) ?
2138b3a07cb8 [gaim-migrate @ 10115]
Tim Ringenbach <marv@pidgin.im>
parents: 9303
diff changeset
1850 g_markup_escape_text(_(plug->info->author), -1) : NULL;
11525
b47708f46a38 [gaim-migrate @ 13773]
Tim Ringenbach <marv@pidgin.im>
parents: 11442
diff changeset
1851 pweb = (plug->info->homepage) ?
9307
2138b3a07cb8 [gaim-migrate @ 10115]
Tim Ringenbach <marv@pidgin.im>
parents: 9303
diff changeset
1852 g_markup_escape_text(_(plug->info->homepage), -1) : NULL;
2138b3a07cb8 [gaim-migrate @ 10115]
Tim Ringenbach <marv@pidgin.im>
parents: 9303
diff changeset
1853
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1854 if (plug->error != NULL) {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1855 perr = g_markup_escape_text(_(plug->error), -1);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1856 buf = g_strdup_printf(
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1857 "<span size=\"larger\">%s %s</span>\n\n"
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1858 "<span weight=\"bold\" color=\"red\">%s</span>\n\n"
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1859 "%s",
10386
232808c6d6ab [gaim-migrate @ 11612]
Tim Ringenbach <marv@pidgin.im>
parents: 10377
diff changeset
1860 pname, plug->info->version, perr, pdesc ? pdesc : "");
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1861 g_free(perr);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1862 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1863 else {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1864 buf = g_strdup_printf(
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1865 "<span size=\"larger\">%s %s</span>\n\n%s",
10386
232808c6d6ab [gaim-migrate @ 11612]
Tim Ringenbach <marv@pidgin.im>
parents: 10377
diff changeset
1866 pname, plug->info->version, pdesc ? pdesc : "");
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1867 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1868 gtk_label_set_markup(GTK_LABEL(plugin_description), buf);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1869 g_free(buf);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1870
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1871 buf = g_strdup_printf(
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1872 #ifndef _WIN32
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1873 _("<span size=\"larger\">%s %s</span>\n\n"
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1874 "<span weight=\"bold\">Written by:</span>\t%s\n"
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1875 "<span weight=\"bold\">Web site:</span>\t\t%s\n"
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1876 "<span weight=\"bold\">File name:</span>\t%s"),
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1877 #else
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1878 _("<span size=\"larger\">%s %s</span>\n\n"
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1879 "<span weight=\"bold\">Written by:</span> %s\n"
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1880 "<span weight=\"bold\">URL:</span> %s\n"
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1881 "<span weight=\"bold\">File name:</span> %s"),
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1882 #endif
10386
232808c6d6ab [gaim-migrate @ 11612]
Tim Ringenbach <marv@pidgin.im>
parents: 10377
diff changeset
1883 pname, plug->info->version, pauth ? pauth : "", pweb ? pweb : "", plug->path);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1884
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1885 gtk_label_set_markup(GTK_LABEL(plugin_details), buf);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1886 g_value_unset(&val);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1887 g_free(buf);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1888 g_free(pname);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1889 g_free(pdesc);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1890 g_free(pauth);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1891 g_free(pweb);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1892 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1893
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1894 static void plugin_load (GtkCellRendererToggle *cell, gchar *pth, gpointer data)
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1895 {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1896 GtkTreeModel *model = (GtkTreeModel *)data;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1897 GtkTreeIter iter;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1898 GtkTreePath *path = gtk_tree_path_new_from_string(pth);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1899 GaimPlugin *plug;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1900 gchar buf[1024];
6040
80e3641ee9eb [gaim-migrate @ 6490]
Mark Doliner <mark@kingant.net>
parents: 6039
diff changeset
1901 gchar *name = NULL, *description = NULL;
6928
6ed0a1c045b4 [gaim-migrate @ 7475]
Christian Hammond <chipx86@chipx86.com>
parents: 6861
diff changeset
1902
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1903 GdkCursor *wait = gdk_cursor_new (GDK_WATCH);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1904 gdk_window_set_cursor(prefs->window, wait);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1905 gdk_cursor_unref(wait);
6928
6ed0a1c045b4 [gaim-migrate @ 7475]
Christian Hammond <chipx86@chipx86.com>
parents: 6861
diff changeset
1906
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1907 gtk_tree_model_get_iter (model, &iter, path);
8104
a89cffefca93 [gaim-migrate @ 8804]
Ethan Blanton <elb@pidgin.im>
parents: 8075
diff changeset
1908 gtk_tree_model_get (model, &iter, 3, &plug, -1);
6928
6ed0a1c045b4 [gaim-migrate @ 7475]
Christian Hammond <chipx86@chipx86.com>
parents: 6861
diff changeset
1909
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1910 if (!gaim_plugin_is_loaded(plug)) {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1911 gaim_plugin_load(plug);
10759
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
1912 add_plugin_prefs(plug);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1913 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1914 else {
10759
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
1915 delete_plugin_prefs(plug);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1916 gaim_plugin_unload(plug);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1917 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1918
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1919 gdk_window_set_cursor(prefs->window, NULL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1920
6040
80e3641ee9eb [gaim-migrate @ 6490]
Mark Doliner <mark@kingant.net>
parents: 6039
diff changeset
1921 name = g_markup_escape_text(_(plug->info->name), -1);
80e3641ee9eb [gaim-migrate @ 6490]
Mark Doliner <mark@kingant.net>
parents: 6039
diff changeset
1922 description = g_markup_escape_text(_(plug->info->description), -1);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1923 if (plug->error != NULL) {
6040
80e3641ee9eb [gaim-migrate @ 6490]
Mark Doliner <mark@kingant.net>
parents: 6039
diff changeset
1924 gchar *error = g_markup_escape_text(plug->error, -1);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1925 g_snprintf(buf, sizeof(buf),
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1926 "<span size=\"larger\">%s %s</span>\n\n"
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1927 "<span weight=\"bold\" color=\"red\">%s</span>\n\n"
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1928 "%s",
6040
80e3641ee9eb [gaim-migrate @ 6490]
Mark Doliner <mark@kingant.net>
parents: 6039
diff changeset
1929 name, plug->info->version, error, description);
80e3641ee9eb [gaim-migrate @ 6490]
Mark Doliner <mark@kingant.net>
parents: 6039
diff changeset
1930 g_free(error);
80e3641ee9eb [gaim-migrate @ 6490]
Mark Doliner <mark@kingant.net>
parents: 6039
diff changeset
1931 } else {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1932 g_snprintf(buf, sizeof(buf),
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1933 "<span size=\"larger\">%s %s</span>\n\n%s",
6040
80e3641ee9eb [gaim-migrate @ 6490]
Mark Doliner <mark@kingant.net>
parents: 6039
diff changeset
1934 name, plug->info->version, description);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1935 }
6040
80e3641ee9eb [gaim-migrate @ 6490]
Mark Doliner <mark@kingant.net>
parents: 6039
diff changeset
1936 g_free(name);
80e3641ee9eb [gaim-migrate @ 6490]
Mark Doliner <mark@kingant.net>
parents: 6039
diff changeset
1937 g_free(description);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1938
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1939 gtk_label_set_markup(GTK_LABEL(plugin_description), buf);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1940 gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1941 gaim_plugin_is_loaded(plug), -1);
6928
6ed0a1c045b4 [gaim-migrate @ 7475]
Christian Hammond <chipx86@chipx86.com>
parents: 6861
diff changeset
1942
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1943 gtk_label_set_markup(GTK_LABEL(plugin_description), buf);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1944 gtk_tree_path_free(path);
5981
81564bb4db68 [gaim-migrate @ 6429]
Christian Hammond <chipx86@chipx86.com>
parents: 5966
diff changeset
1945
81564bb4db68 [gaim-migrate @ 6429]
Christian Hammond <chipx86@chipx86.com>
parents: 5966
diff changeset
1946 gaim_gtk_plugins_save();
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1947 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1948
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1949 static void
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1950 update_plugin_list(void *data)
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1951 {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1952 GtkListStore *ls = GTK_LIST_STORE(data);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1953 GtkTreeIter iter;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1954 GList *probes;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1955 GaimPlugin *plug;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1956
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1957 gtk_list_store_clear(ls);
11052
8a68c933a5dd [gaim-migrate @ 12990]
Richard Laager <rlaager@wiktel.com>
parents: 11033
diff changeset
1958 gaim_plugins_probe(GAIM_PLUGIN_EXT);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1959
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1960 for (probes = gaim_plugins_get_all();
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1961 probes != NULL;
6928
6ed0a1c045b4 [gaim-migrate @ 7475]
Christian Hammond <chipx86@chipx86.com>
parents: 6861
diff changeset
1962 probes = probes->next)
6ed0a1c045b4 [gaim-migrate @ 7475]
Christian Hammond <chipx86@chipx86.com>
parents: 6861
diff changeset
1963 {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1964 plug = probes->data;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1965
6928
6ed0a1c045b4 [gaim-migrate @ 7475]
Christian Hammond <chipx86@chipx86.com>
parents: 6861
diff changeset
1966 if (plug->info->type != GAIM_PLUGIN_STANDARD ||
6930
31c45d99e1a8 [gaim-migrate @ 7477]
Christian Hammond <chipx86@chipx86.com>
parents: 6928
diff changeset
1967 (plug->info->flags & GAIM_PLUGIN_FLAG_INVISIBLE))
6928
6ed0a1c045b4 [gaim-migrate @ 7475]
Christian Hammond <chipx86@chipx86.com>
parents: 6861
diff changeset
1968 {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1969 continue;
6928
6ed0a1c045b4 [gaim-migrate @ 7475]
Christian Hammond <chipx86@chipx86.com>
parents: 6861
diff changeset
1970 }
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1971
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1972 gtk_list_store_append (ls, &iter);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1973 gtk_list_store_set(ls, &iter,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1974 0, gaim_plugin_is_loaded(plug),
6928
6ed0a1c045b4 [gaim-migrate @ 7475]
Christian Hammond <chipx86@chipx86.com>
parents: 6861
diff changeset
1975 1, plug->info->name ? _(plug->info->name) : plug->path,
8162
3273ff25b645 [gaim-migrate @ 8874]
Luke Schierer <lschiere@pidgin.im>
parents: 8152
diff changeset
1976 2, _(plug->info->summary),
8104
a89cffefca93 [gaim-migrate @ 8804]
Ethan Blanton <elb@pidgin.im>
parents: 8075
diff changeset
1977 3, plug, -1);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1978 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1979 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1980
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1981 static GtkWidget *plugin_page ()
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1982 {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1983 GtkWidget *ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1984 GtkWidget *sw, *vp;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1985 GtkWidget *event_view;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1986 GtkListStore *ls;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1987 GtkCellRenderer *rend, *rendt;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1988 GtkTreeViewColumn *col;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1989 GtkTreeSelection *sel;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1990 GtkTreePath *path;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1991 GtkWidget *nb;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1992
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1993 ret = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE);
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1994 gtk_container_set_border_width (GTK_CONTAINER (ret), GAIM_HIG_BORDER);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1995
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1996 sw = gtk_scrolled_window_new(NULL,NULL);
8104
a89cffefca93 [gaim-migrate @ 8804]
Ethan Blanton <elb@pidgin.im>
parents: 8075
diff changeset
1997 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1998 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1999
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2000 gtk_box_pack_start(GTK_BOX(ret), sw, TRUE, TRUE, 0);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2001
8104
a89cffefca93 [gaim-migrate @ 8804]
Ethan Blanton <elb@pidgin.im>
parents: 8075
diff changeset
2002 ls = gtk_list_store_new (4, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER);
7939
451d2946423e [gaim-migrate @ 8610]
Mark Doliner <mark@kingant.net>
parents: 7932
diff changeset
2003 gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(ls),
451d2946423e [gaim-migrate @ 8610]
Mark Doliner <mark@kingant.net>
parents: 7932
diff changeset
2004 1, GTK_SORT_ASCENDING);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2005
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2006 update_plugin_list(ls);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2007
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2008 event_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL(ls));
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2009
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2010 rend = gtk_cell_renderer_toggle_new();
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2011 sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (event_view));
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2012
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2013 col = gtk_tree_view_column_new_with_attributes (_("Load"),
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2014 rend,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2015 "active", 0,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2016 NULL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2017 gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2018
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2019 rendt = gtk_cell_renderer_text_new();
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2020 col = gtk_tree_view_column_new_with_attributes (_("Name"),
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2021 rendt,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2022 "text", 1,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2023 NULL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2024 gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col);
8998
3738d1eac0ad [gaim-migrate @ 9773]
Luke Schierer <lschiere@pidgin.im>
parents: 8994
diff changeset
2025
8104
a89cffefca93 [gaim-migrate @ 8804]
Ethan Blanton <elb@pidgin.im>
parents: 8075
diff changeset
2026 rendt = gtk_cell_renderer_text_new();
a89cffefca93 [gaim-migrate @ 8804]
Ethan Blanton <elb@pidgin.im>
parents: 8075
diff changeset
2027 col = gtk_tree_view_column_new_with_attributes(_("Summary"),
a89cffefca93 [gaim-migrate @ 8804]
Ethan Blanton <elb@pidgin.im>
parents: 8075
diff changeset
2028 rendt,
a89cffefca93 [gaim-migrate @ 8804]
Ethan Blanton <elb@pidgin.im>
parents: 8075
diff changeset
2029 "text", 2,
a89cffefca93 [gaim-migrate @ 8804]
Ethan Blanton <elb@pidgin.im>
parents: 8075
diff changeset
2030 NULL);
a89cffefca93 [gaim-migrate @ 8804]
Ethan Blanton <elb@pidgin.im>
parents: 8075
diff changeset
2031 gtk_tree_view_append_column(GTK_TREE_VIEW(event_view), col);
8998
3738d1eac0ad [gaim-migrate @ 9773]
Luke Schierer <lschiere@pidgin.im>
parents: 8994
diff changeset
2032
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2033 g_object_unref(G_OBJECT(ls));
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2034 gtk_container_add(GTK_CONTAINER(sw), event_view);
8998
3738d1eac0ad [gaim-migrate @ 9773]
Luke Schierer <lschiere@pidgin.im>
parents: 8994
diff changeset
2035
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2036
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2037 nb = gtk_notebook_new();
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2038 gtk_notebook_set_tab_pos (GTK_NOTEBOOK(nb), GTK_POS_BOTTOM);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2039 gtk_notebook_popup_disable(GTK_NOTEBOOK(nb));
8998
3738d1eac0ad [gaim-migrate @ 9773]
Luke Schierer <lschiere@pidgin.im>
parents: 8994
diff changeset
2040
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2041 /* Description */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2042 sw = gtk_scrolled_window_new(NULL, NULL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2043 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2044 plugin_description = gtk_label_new(NULL);
8998
3738d1eac0ad [gaim-migrate @ 9773]
Luke Schierer <lschiere@pidgin.im>
parents: 8994
diff changeset
2045
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2046 vp = gtk_viewport_new(NULL, NULL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2047 gtk_viewport_set_shadow_type(GTK_VIEWPORT(vp), GTK_SHADOW_NONE);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2048 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_NONE);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2049
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2050 gtk_container_add(GTK_CONTAINER(vp), plugin_description);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2051 gtk_container_add(GTK_CONTAINER(sw), vp);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2052
8998
3738d1eac0ad [gaim-migrate @ 9773]
Luke Schierer <lschiere@pidgin.im>
parents: 8994
diff changeset
2053 gtk_label_set_selectable(GTK_LABEL(plugin_description), TRUE);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2054 gtk_label_set_line_wrap(GTK_LABEL(plugin_description), TRUE);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2055 gtk_misc_set_alignment(GTK_MISC(plugin_description), 0, 0);
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
2056 gtk_misc_set_padding(GTK_MISC(plugin_description), GAIM_HIG_BOX_SPACE, GAIM_HIG_BOX_SPACE);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2057 gtk_notebook_append_page(GTK_NOTEBOOK(nb), sw, gtk_label_new(_("Description")));
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2058
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2059 /* Details */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2060 sw = gtk_scrolled_window_new(NULL, NULL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2061 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2062 plugin_details = gtk_label_new(NULL);
8998
3738d1eac0ad [gaim-migrate @ 9773]
Luke Schierer <lschiere@pidgin.im>
parents: 8994
diff changeset
2063
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2064 vp = gtk_viewport_new(NULL, NULL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2065 gtk_viewport_set_shadow_type(GTK_VIEWPORT(vp), GTK_SHADOW_NONE);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2066 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_NONE);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2067
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2068 gtk_container_add(GTK_CONTAINER(vp), plugin_details);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2069 gtk_container_add(GTK_CONTAINER(sw), vp);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2070
8998
3738d1eac0ad [gaim-migrate @ 9773]
Luke Schierer <lschiere@pidgin.im>
parents: 8994
diff changeset
2071 gtk_label_set_selectable(GTK_LABEL(plugin_details), TRUE);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2072 gtk_label_set_line_wrap(GTK_LABEL(plugin_details), TRUE);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2073 gtk_misc_set_alignment(GTK_MISC(plugin_details), 0, 0);
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
2074 gtk_misc_set_padding(GTK_MISC(plugin_details), GAIM_HIG_BOX_SPACE, GAIM_HIG_BOX_SPACE);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2075 gtk_notebook_append_page(GTK_NOTEBOOK(nb), sw, gtk_label_new(_("Details")));
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2076 gtk_box_pack_start(GTK_BOX(ret), nb, TRUE, TRUE, 0);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2077
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2078 g_signal_connect (G_OBJECT (sel), "changed",
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2079 G_CALLBACK (prefs_plugin_sel),
8998
3738d1eac0ad [gaim-migrate @ 9773]
Luke Schierer <lschiere@pidgin.im>
parents: 8994
diff changeset
2080 NULL);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2081 g_signal_connect (G_OBJECT(rend), "toggled",
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2082 G_CALLBACK(plugin_load), ls);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2083
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2084 path = gtk_tree_path_new_first();
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2085 gtk_tree_selection_select_path(sel, path);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2086 gtk_tree_path_free(path);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2087
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2088 gaim_plugins_register_probe_notify_cb(update_plugin_list, ls);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2089
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2090 gtk_widget_show_all(ret);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2091 return ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2092 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2093
10759
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
2094 int prefs_notebook_add_page(const char *text,
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2095 GdkPixbuf *pixbuf,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2096 GtkWidget *page,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2097 GtkTreeIter *iter,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2098 GtkTreeIter *parent,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2099 int ind) {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2100 GdkPixbuf *icon = NULL;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2101
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2102 if (pixbuf)
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2103 icon = gdk_pixbuf_scale_simple (pixbuf, 18, 18, GDK_INTERP_BILINEAR);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2104
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2105 if (pixbuf)
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2106 g_object_unref(pixbuf);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2107 if (icon)
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2108 g_object_unref(icon);
10759
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
2109
11380
eb49e64d02fd [gaim-migrate @ 13607]
Mark Doliner <mark@kingant.net>
parents: 11287
diff changeset
2110 #if GTK_CHECK_VERSION(2,4,0)
10759
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
2111 return gtk_notebook_append_page(GTK_NOTEBOOK(prefsnotebook), page, gtk_label_new(text));
11380
eb49e64d02fd [gaim-migrate @ 13607]
Mark Doliner <mark@kingant.net>
parents: 11287
diff changeset
2112 #else
eb49e64d02fd [gaim-migrate @ 13607]
Mark Doliner <mark@kingant.net>
parents: 11287
diff changeset
2113 gtk_notebook_append_page(GTK_NOTEBOOK(prefsnotebook), page, gtk_label_new(text));
eb49e64d02fd [gaim-migrate @ 13607]
Mark Doliner <mark@kingant.net>
parents: 11287
diff changeset
2114 return gtk_notebook_page_num(GTK_NOTEBOOK(prefsnotebook), page);
eb49e64d02fd [gaim-migrate @ 13607]
Mark Doliner <mark@kingant.net>
parents: 11287
diff changeset
2115 #endif
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2116 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2117
10871
6240d7fd5b2c [gaim-migrate @ 12558]
Mark Doliner <mark@kingant.net>
parents: 10859
diff changeset
2118 static void prefs_notebook_init() {
9267
3e8619644a8a [gaim-migrate @ 10066]
Tim Ringenbach <marv@pidgin.im>
parents: 9251
diff changeset
2119 GtkTreeIter p, c, c2;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2120 GList *l;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2121 prefs_notebook_add_page(_("Buddy List"), NULL, list_page(), &c, &p, notebook_page++);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
2122 prefs_notebook_add_page(_("Conversations"), NULL, conv_page(), &c, &p, notebook_page++);
9267
3e8619644a8a [gaim-migrate @ 10066]
Tim Ringenbach <marv@pidgin.im>
parents: 9251
diff changeset
2123 prefs_notebook_add_page(_("Smiley Themes"), NULL, theme_page(), &c2, &c, notebook_page++);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
2124 prefs_notebook_add_page(_("Sounds"), NULL, sound_page(), &c, &p, notebook_page++);
8238
32625c0dbba6 [gaim-migrate @ 8961]
Mark Doliner <mark@kingant.net>
parents: 8231
diff changeset
2125 prefs_notebook_add_page(_("Network"), NULL, network_page(), &p, NULL, notebook_page++);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2126 #ifndef _WIN32
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2127 /* We use the registered default browser in windows */
10060
7570908c558f [gaim-migrate @ 11030]
Tim Ringenbach <marv@pidgin.im>
parents: 9993
diff changeset
2128 /* if the user is running gnome 2.x, hide the browsers tab */
10061
83eb12b1f1a1 [gaim-migrate @ 11033]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10060
diff changeset
2129 if (gaim_running_gnome() == FALSE) {
10060
7570908c558f [gaim-migrate @ 11030]
Tim Ringenbach <marv@pidgin.im>
parents: 9993
diff changeset
2130 prefs_notebook_add_page(_("Browser"), NULL, browser_page(), &p, NULL, notebook_page++);
7570908c558f [gaim-migrate @ 11030]
Tim Ringenbach <marv@pidgin.im>
parents: 9993
diff changeset
2131 }
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2132 #endif
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2133 prefs_notebook_add_page(_("Logging"), NULL, logging_page(), &p, NULL, notebook_page++);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2134 prefs_notebook_add_page(_("Away / Idle"), NULL, away_page(), &p, NULL, notebook_page++);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2135
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2136 if (gaim_plugins_enabled()) {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2137 prefs_notebook_add_page(_("Plugins"), NULL, plugin_page(), &plugin_iter, NULL, notebook_page++);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2138
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2139 for (l = gaim_plugins_get_loaded(); l != NULL; l = l->next) {
10759
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
2140 add_plugin_prefs(l->data);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2141 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2142 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2143 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2144
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2145 void gaim_gtk_prefs_show(void)
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2146 {
10078
436fe70b4d50 [gaim-migrate @ 11060]
Sean Egan <seanegan@gmail.com>
parents: 10075
diff changeset
2147 GtkWidget *vbox;
8292
90ed519c6645 [gaim-migrate @ 9016]
Christian Hammond <chipx86@chipx86.com>
parents: 8283
diff changeset
2148 GtkWidget *bbox;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2149 GtkWidget *notebook;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2150 GtkWidget *button;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2151
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2152 if (prefs) {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2153 gtk_window_present(GTK_WINDOW(prefs));
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2154 return;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2155 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2156
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2157 /* copy the preferences to tmp values...
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2158 * I liked "take affect immediately" Oh well :-( */
6016
1e4a574bb46d [gaim-migrate @ 6466]
Mark Doliner <mark@kingant.net>
parents: 6007
diff changeset
2159 /* (that should have been "effect," right?) */
1e4a574bb46d [gaim-migrate @ 6466]
Mark Doliner <mark@kingant.net>
parents: 6007
diff changeset
2160
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2161 /* Back to instant-apply! I win! BU-HAHAHA! */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2162
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2163 /* Create the window */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2164 prefs = gtk_window_new(GTK_WINDOW_TOPLEVEL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2165 gtk_window_set_role(GTK_WINDOW(prefs), "preferences");
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2166 gtk_window_set_title(GTK_WINDOW(prefs), _("Preferences"));
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2167 gtk_window_set_resizable (GTK_WINDOW(prefs), FALSE);
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
2168 gtk_container_set_border_width(GTK_CONTAINER(prefs), GAIM_HIG_BORDER);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2169 g_signal_connect(G_OBJECT(prefs), "destroy",
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2170 G_CALLBACK(delete_prefs), NULL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2171
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
2172 vbox = gtk_vbox_new(FALSE, GAIM_HIG_BORDER);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2173 gtk_container_add(GTK_CONTAINER(prefs), vbox);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2174 gtk_widget_show(vbox);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2175
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2176 /* The notebook */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2177 prefsnotebook = notebook = gtk_notebook_new ();
10078
436fe70b4d50 [gaim-migrate @ 11060]
Sean Egan <seanegan@gmail.com>
parents: 10075
diff changeset
2178 gtk_box_pack_start (GTK_BOX (vbox), notebook, FALSE, FALSE, 0);
436fe70b4d50 [gaim-migrate @ 11060]
Sean Egan <seanegan@gmail.com>
parents: 10075
diff changeset
2179
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2180
8713
7024b595b6ae [gaim-migrate @ 9467]
Luke Schierer <lschiere@pidgin.im>
parents: 8705
diff changeset
2181 /* The buttons to press! */
8292
90ed519c6645 [gaim-migrate @ 9016]
Christian Hammond <chipx86@chipx86.com>
parents: 8283
diff changeset
2182 bbox = gtk_hbutton_box_new();
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
2183 gtk_box_set_spacing(GTK_BOX(bbox), GAIM_HIG_BOX_SPACE);
8292
90ed519c6645 [gaim-migrate @ 9016]
Christian Hammond <chipx86@chipx86.com>
parents: 8283
diff changeset
2184 gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END);
90ed519c6645 [gaim-migrate @ 9016]
Christian Hammond <chipx86@chipx86.com>
parents: 8283
diff changeset
2185 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0);
90ed519c6645 [gaim-migrate @ 9016]
Christian Hammond <chipx86@chipx86.com>
parents: 8283
diff changeset
2186 gtk_widget_show (bbox);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2187
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2188 button = gtk_button_new_from_stock (GTK_STOCK_CLOSE);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2189 g_signal_connect_swapped(G_OBJECT(button), "clicked",
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2190 G_CALLBACK(gtk_widget_destroy), prefs);
8292
90ed519c6645 [gaim-migrate @ 9016]
Christian Hammond <chipx86@chipx86.com>
parents: 8283
diff changeset
2191 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2192 gtk_widget_show(button);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2193
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2194 prefs_notebook_init();
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2195
5568
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
2196 /* Show everything. */
10078
436fe70b4d50 [gaim-migrate @ 11060]
Sean Egan <seanegan@gmail.com>
parents: 10075
diff changeset
2197 gtk_widget_show_all(prefs);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2198 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2199
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
2200 static void
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
2201 set_bool_pref(GtkWidget *w, const char *key)
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
2202 {
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
2203 gaim_prefs_set_bool(key,
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
2204 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w)));
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
2205 }
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
2206
7976
8e5a21b1efa6 [gaim-migrate @ 8653]
Nathan Walp <nwalp@pidgin.im>
parents: 7940
diff changeset
2207 GtkWidget *
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
2208 gaim_gtk_prefs_checkbox(const char *text, const char *key, GtkWidget *page)
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2209 {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2210 GtkWidget *button;
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
2211
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2212 button = gtk_check_button_new_with_mnemonic(text);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
2213 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button),
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
2214 gaim_prefs_get_bool(key));
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
2215
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2216 gtk_box_pack_start(GTK_BOX(page), button, FALSE, FALSE, 0);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
2217
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
2218 g_signal_connect(G_OBJECT(button), "clicked",
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
2219 G_CALLBACK(set_bool_pref), (char *)key);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
2220
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2221 gtk_widget_show(button);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2222
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2223 return button;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2224 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2225
5770
a86051df9122 [gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents: 5753
diff changeset
2226 static void
a86051df9122 [gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents: 5753
diff changeset
2227 smiley_theme_pref_cb(const char *name, GaimPrefType type, gpointer value,
a86051df9122 [gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents: 5753
diff changeset
2228 gpointer data)
a86051df9122 [gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents: 5753
diff changeset
2229 {
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
2230 const char *themename = value;
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
2231 GSList *themes;
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
2232
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
2233 for (themes = smiley_themes; themes; themes = themes->next) {
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
2234 struct smiley_theme *smile = themes->data;
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
2235 if (smile->name && strcmp(themename, smile->name) == 0) {
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
2236 gaim_gtkthemes_load_smiley_theme(smile->path, TRUE);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
2237 break;
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
2238 }
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
2239 }
5770
a86051df9122 [gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents: 5753
diff changeset
2240 }
a86051df9122 [gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents: 5753
diff changeset
2241
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2242 void
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2243 gaim_gtk_prefs_init(void)
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2244 {
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2245 gaim_prefs_add_none("/gaim");
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2246 gaim_prefs_add_none("/gaim/gtk");
5550
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
2247 gaim_prefs_add_none("/plugins/gtk");
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
2248
5573
5e7de337a053 [gaim-migrate @ 5976]
Christian Hammond <chipx86@chipx86.com>
parents: 5568
diff changeset
2249 /* Away Queueing */
5e7de337a053 [gaim-migrate @ 5976]
Christian Hammond <chipx86@chipx86.com>
parents: 5568
diff changeset
2250 gaim_prefs_add_none("/gaim/gtk/away");
5e7de337a053 [gaim-migrate @ 5976]
Christian Hammond <chipx86@chipx86.com>
parents: 5568
diff changeset
2251 gaim_prefs_add_bool("/gaim/gtk/away/queue_messages", FALSE);
5e7de337a053 [gaim-migrate @ 5976]
Christian Hammond <chipx86@chipx86.com>
parents: 5568
diff changeset
2252
8283
35f69749b226 [gaim-migrate @ 9007]
Luke Schierer <lschiere@pidgin.im>
parents: 8274
diff changeset
2253 #ifndef _WIN32
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
2254 /* Browsers */
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
2255 gaim_prefs_add_none("/gaim/gtk/browsers");
8272
9af78e73f0b2 [gaim-migrate @ 8996]
Mark Doliner <mark@kingant.net>
parents: 8267
diff changeset
2256 gaim_prefs_add_int("/gaim/gtk/browsers/place", GAIM_BROWSER_DEFAULT);
5560
b7319c094153 [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5554
diff changeset
2257 gaim_prefs_add_string("/gaim/gtk/browsers/command", "");
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
2258 gaim_prefs_add_string("/gaim/gtk/browsers/browser", "mozilla");
8283
35f69749b226 [gaim-migrate @ 9007]
Luke Schierer <lschiere@pidgin.im>
parents: 8274
diff changeset
2259 #endif
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
2260
5550
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
2261 /* Idle */
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
2262 gaim_prefs_add_none("/gaim/gtk/idle");
11287
fb6e85c55fb8 [gaim-migrate @ 13484]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11275
diff changeset
2263 gaim_prefs_add_bool("/gaim/gtk/idle/report", TRUE);
5550
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
2264
5949
90d0849abd3c [gaim-migrate @ 6393]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
2265 /* Plugins */
5982
35d3c1ac5ece [gaim-migrate @ 6430]
Christian Hammond <chipx86@chipx86.com>
parents: 5981
diff changeset
2266 gaim_prefs_add_none("/gaim/gtk/plugins");
5949
90d0849abd3c [gaim-migrate @ 6393]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
2267 gaim_prefs_add_string_list("/gaim/gtk/plugins/loaded", NULL);
90d0849abd3c [gaim-migrate @ 6393]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
2268
10605
56d4460bb6bd [gaim-migrate @ 12037]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10589
diff changeset
2269 /* File locations */
56d4460bb6bd [gaim-migrate @ 12037]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10589
diff changeset
2270 gaim_prefs_add_none("/gaim/gtk/filelocations");
56d4460bb6bd [gaim-migrate @ 12037]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10589
diff changeset
2271 gaim_prefs_add_string("/gaim/gtk/filelocations/last_save_folder", "");
56d4460bb6bd [gaim-migrate @ 12037]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10589
diff changeset
2272 gaim_prefs_add_string("/gaim/gtk/filelocations/last_open_folder", "");
56d4460bb6bd [gaim-migrate @ 12037]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10589
diff changeset
2273 gaim_prefs_add_string("/gaim/gtk/filelocations/last_icon_folder", "");
56d4460bb6bd [gaim-migrate @ 12037]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10589
diff changeset
2274
5539
de09863bd4b5 [gaim-migrate @ 5939]
Christian Hammond <chipx86@chipx86.com>
parents: 5535
diff changeset
2275 /* Smiley Themes */
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
2276 gaim_prefs_add_none("/gaim/gtk/smileys");
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
2277 gaim_prefs_add_string("/gaim/gtk/smileys/theme", "Default");
5770
a86051df9122 [gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents: 5753
diff changeset
2278
a86051df9122 [gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents: 5753
diff changeset
2279 /* Smiley Callbacks */
10087
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
2280 gaim_prefs_connect_callback(prefs, "/gaim/gtk/smileys/theme",
5770
a86051df9122 [gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents: 5753
diff changeset
2281 smiley_theme_pref_cb, NULL);
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2282 }
8905
438e8d857554 [gaim-migrate @ 9674]
Mark Doliner <mark@kingant.net>
parents: 8900
diff changeset
2283
438e8d857554 [gaim-migrate @ 9674]
Mark Doliner <mark@kingant.net>
parents: 8900
diff changeset
2284 void gaim_gtk_prefs_update_old() {
438e8d857554 [gaim-migrate @ 9674]
Mark Doliner <mark@kingant.net>
parents: 8900
diff changeset
2285 /* Rename some old prefs */
438e8d857554 [gaim-migrate @ 9674]
Mark Doliner <mark@kingant.net>
parents: 8900
diff changeset
2286 gaim_prefs_rename("/gaim/gtk/logging/log_ims", "/core/logging/log_ims");
438e8d857554 [gaim-migrate @ 9674]
Mark Doliner <mark@kingant.net>
parents: 8900
diff changeset
2287 gaim_prefs_rename("/gaim/gtk/logging/log_chats", "/core/logging/log_chats");
438e8d857554 [gaim-migrate @ 9674]
Mark Doliner <mark@kingant.net>
parents: 8900
diff changeset
2288 gaim_prefs_rename("/core/conversations/placement",
8998
3738d1eac0ad [gaim-migrate @ 9773]
Luke Schierer <lschiere@pidgin.im>
parents: 8994
diff changeset
2289 "/gaim/gtk/conversations/placement");
8905
438e8d857554 [gaim-migrate @ 9674]
Mark Doliner <mark@kingant.net>
parents: 8900
diff changeset
2290
10307
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 10297
diff changeset
2291 gaim_prefs_rename("/gaim/gtk/debug/timestamps", "/core/debug/timestamps");
10701
e4d893b12624 [gaim-migrate @ 12283]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10676
diff changeset
2292 gaim_prefs_rename("/gaim/gtk/conversations/im/raise_on_events", "/plugins/gtk/X11/notify/method_raise");
10307
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 10297
diff changeset
2293
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
2294 /* I'm leaving both of these to support people that were running 2.0.0cvs before this change.
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
2295 * The latter can be removed before 2.0.0 is released, or after that if it's forgotten. */
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
2296 gaim_prefs_rename_boolean_toggle("/gaim/gtk/conversations/ignore_colors",
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
2297 "/gaim/gtk/conversations/show_incoming_formatting");
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
2298 gaim_prefs_rename_boolean_toggle("/gaim/gtk/conversations/ignore_formatting",
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
2299 "/gaim/gtk/conversations/show_incoming_formatting");
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
2300
8905
438e8d857554 [gaim-migrate @ 9674]
Mark Doliner <mark@kingant.net>
parents: 8900
diff changeset
2301 /* Remove some no-longer-used prefs */
10398
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
2302 gaim_prefs_remove("/gaim/gtk/blist/auto_expand_contacts");
10133
e144efd6a5be [gaim-migrate @ 11197]
Mark Doliner <mark@kingant.net>
parents: 10129
diff changeset
2303 gaim_prefs_remove("/gaim/gtk/blist/button_style");
10168
e6372844a4b8 [gaim-migrate @ 11257]
Mark Doliner <mark@kingant.net>
parents: 10167
diff changeset
2304 gaim_prefs_remove("/gaim/gtk/blist/grey_idle_buddies");
10133
e144efd6a5be [gaim-migrate @ 11197]
Mark Doliner <mark@kingant.net>
parents: 10129
diff changeset
2305 gaim_prefs_remove("/gaim/gtk/blist/raise_on_events");
8945
6d7b403b11bb [gaim-migrate @ 9717]
Mark Doliner <mark@kingant.net>
parents: 8944
diff changeset
2306 gaim_prefs_remove("/gaim/gtk/blist/show_group_count");
10353
fc7168f9ecb0 [gaim-migrate @ 11570]
Mark Doliner <mark@kingant.net>
parents: 10351
diff changeset
2307 gaim_prefs_remove("/gaim/gtk/blist/show_idle_time");
fc7168f9ecb0 [gaim-migrate @ 11570]
Mark Doliner <mark@kingant.net>
parents: 10351
diff changeset
2308 gaim_prefs_remove("/gaim/gtk/blist/show_warning_level");
10358
524674a4f6bb [gaim-migrate @ 11576]
Mark Doliner <mark@kingant.net>
parents: 10356
diff changeset
2309 gaim_prefs_remove("/gaim/gtk/conversations/button_type");
10398
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
2310 gaim_prefs_remove("/gaim/gtk/conversations/ctrl_enter_sends");
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
2311 gaim_prefs_remove("/gaim/gtk/conversations/enter_sends");
11697
186d2d293ef4 [gaim-migrate @ 13988]
Mark Doliner <mark@kingant.net>
parents: 11642
diff changeset
2312 gaim_prefs_remove("/gaim/gtk/conversations/escape_closes");
10164
3f71f7282dbf [gaim-migrate @ 11250]
Mark Doliner <mark@kingant.net>
parents: 10163
diff changeset
2313 gaim_prefs_remove("/gaim/gtk/conversations/html_shortcuts");
8946
80944edf8d80 [gaim-migrate @ 9718]
Mark Doliner <mark@kingant.net>
parents: 8945
diff changeset
2314 gaim_prefs_remove("/gaim/gtk/conversations/icons_on_tabs");
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
2315 gaim_prefs_remove("/gaim/gtk/conversations/send_formatting");
10398
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
2316 gaim_prefs_remove("/gaim/gtk/conversations/show_smileys");
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
2317 gaim_prefs_remove("/gaim/gtk/conversations/show_timestamps");
8905
438e8d857554 [gaim-migrate @ 9674]
Mark Doliner <mark@kingant.net>
parents: 8900
diff changeset
2318 gaim_prefs_remove("/gaim/gtk/conversations/show_urls_as_links");
10164
3f71f7282dbf [gaim-migrate @ 11250]
Mark Doliner <mark@kingant.net>
parents: 10163
diff changeset
2319 gaim_prefs_remove("/gaim/gtk/conversations/smiley_shortcuts");
9025
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
2320 gaim_prefs_remove("/gaim/gtk/conversations/use_custom_bgcolor");
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
2321 gaim_prefs_remove("/gaim/gtk/conversations/use_custom_fgcolor");
11269
1cbe76d30e81 [gaim-migrate @ 13451]
Richard Laager <rlaager@wiktel.com>
parents: 11267
diff changeset
2322 gaim_prefs_remove("/gaim/gtk/conversations/use_custom_font");
9025
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
2323 gaim_prefs_remove("/gaim/gtk/conversations/use_custom_size");
10398
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
2324 gaim_prefs_remove("/gaim/gtk/conversations/chat/old_tab_complete");
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
2325 gaim_prefs_remove("/gaim/gtk/conversations/chat/tab_completion");
9301
3d5519a84d02 [gaim-migrate @ 10105]
Mark Doliner <mark@kingant.net>
parents: 9285
diff changeset
2326 gaim_prefs_remove("/gaim/gtk/conversations/im/hide_on_send");
10398
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
2327 gaim_prefs_remove("/gaim/gtk/conversations/chat/color_nicks");
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
2328 gaim_prefs_remove("/gaim/gtk/conversations/chat/raise_on_events");
10492
45ad1d15fab3 [gaim-migrate @ 11782]
Sean Egan <seanegan@gmail.com>
parents: 10489
diff changeset
2329 gaim_prefs_remove("/gaim/gtk/conversations/ignore_fonts");
45ad1d15fab3 [gaim-migrate @ 11782]
Sean Egan <seanegan@gmail.com>
parents: 10489
diff changeset
2330 gaim_prefs_remove("/gaim/gtk/conversations/ignore_font_sizes");
11697
186d2d293ef4 [gaim-migrate @ 13988]
Mark Doliner <mark@kingant.net>
parents: 11642
diff changeset
2331 gaim_prefs_remove("/gaim/gtk/idle/method");
10398
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
2332 gaim_prefs_remove("/gaim/gtk/logging/individual_logs");
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
2333 gaim_prefs_remove("/gaim/gtk/sound/signon");
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
2334 gaim_prefs_remove("/gaim/gtk/sound/silent_signon");
8905
438e8d857554 [gaim-migrate @ 9674]
Mark Doliner <mark@kingant.net>
parents: 8900
diff changeset
2335 }