annotate src/gtkprefs.c @ 11849:dc51cdcb648e

[gaim-migrate @ 14140] sf patch #1339135, from Sadrul Habib Chowdhury Hi. Bleeter found this bug: (1) open up some conversation window (2) open the smiley dialog (3) close the conversation window. the smiley dialog remains open (4) select some smiley (5) Gaim crashes This patch fixes this crash. It shouldn't cause any probs with regards to gtk-version-checking. The other code handling the smiley-dialog doesn't do the version-checking, so this shouldn't be necessary either. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Thu, 27 Oct 2005 12:00:17 +0000
parents 60fcaea41fc0
children f672349cfc1c
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"
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
45 #include "gtkprefs.h"
5684
b61520e71679 [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5681
diff changeset
46 #include "gtksound.h"
11525
b47708f46a38 [gaim-migrate @ 13773]
Tim Ringenbach <marv@pidgin.im>
parents: 11442
diff changeset
47 #include "gtkthemes.h"
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5870
diff changeset
48 #include "gtkutils.h"
10297
ec140184437b [gaim-migrate @ 11480]
Luke Schierer <lschiere@pidgin.im>
parents: 10272
diff changeset
49 #include "gtkstock.h"
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5870
diff changeset
50
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
51 #define PROXYHOST 0
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
52 #define PROXYPORT 1
6005
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
53 #define PROXYUSER 2
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
54 #define PROXYPASS 3
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
55
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
56 static int sound_row_sel = 0;
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
57 static GtkWidget *prefsnotebook;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
58
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
59 static GtkWidget *sound_entry = NULL;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
60 static GtkListStore *smiley_theme_store = NULL;
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
61 static GtkWidget *prefs_proxy_frame = NULL;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
62
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
63 static GtkWidget *prefs = NULL;
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
64 static GtkWidget *debugbutton = NULL;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
65 static int notebook_page = 0;
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
66 static GtkTreeRowReference *previous_smiley_row = NULL;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
67
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
68 /*
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
69 * PROTOTYPES
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
70 */
10759
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
71 static int prefs_notebook_add_page(const char*, GdkPixbuf*,
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
72 GtkWidget*, GtkTreeIter*,
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
73 GtkTreeIter*, int);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
74 static void delete_prefs(GtkWidget *, void *);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
75
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
76 static void
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
77 update_spin_value(GtkWidget *w, GtkWidget *spin)
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
78 {
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
79 const char *key = g_object_get_data(G_OBJECT(spin), "val");
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
80 int value;
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
81
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
82 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
83
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
84 gaim_prefs_set_int(key, 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
7976
8e5a21b1efa6 [gaim-migrate @ 8653]
Nathan Walp <nwalp@pidgin.im>
parents: 7940
diff changeset
87 GtkWidget *
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
88 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
89 const char *key, int min, int max, GtkSizeGroup *sg)
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
90 {
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
91 GtkWidget *hbox;
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
92 GtkWidget *label;
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
93 GtkWidget *spin;
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
94 GtkObject *adjust;
5550
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
95 int val;
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
96
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
97 val = gaim_prefs_get_int(key);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
98
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
99 hbox = gtk_hbox_new(FALSE, 5);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
100 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
101 gtk_widget_show(hbox);
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 label = gtk_label_new_with_mnemonic(title);
8713
7024b595b6ae [gaim-migrate @ 9467]
Luke Schierer <lschiere@pidgin.im>
parents: 8705
diff changeset
104 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
105 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
106 gtk_widget_show(label);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
107
5550
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
108 adjust = gtk_adjustment_new(val, min, max, 1, 1, 1);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
109 spin = gtk_spin_button_new(GTK_ADJUSTMENT(adjust), 1, 0);
10367
5fe89d2df440 [gaim-migrate @ 11586]
Luke Schierer <lschiere@pidgin.im>
parents: 10364
diff changeset
110 g_object_set_data(G_OBJECT(spin), "val", (char *)key);
8467
b7f13b782f8b [gaim-migrate @ 9197]
Mark Doliner <mark@kingant.net>
parents: 8458
diff changeset
111 if (max < 10000)
b7f13b782f8b [gaim-migrate @ 9197]
Mark Doliner <mark@kingant.net>
parents: 8458
diff changeset
112 gtk_widget_set_size_request(spin, 50, -1);
b7f13b782f8b [gaim-migrate @ 9197]
Mark Doliner <mark@kingant.net>
parents: 8458
diff changeset
113 else
b7f13b782f8b [gaim-migrate @ 9197]
Mark Doliner <mark@kingant.net>
parents: 8458
diff changeset
114 gtk_widget_set_size_request(spin, 60, -1);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
115 gtk_box_pack_start(GTK_BOX(hbox), spin, FALSE, FALSE, 0);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
116 g_signal_connect(G_OBJECT(adjust), "value-changed",
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
117 G_CALLBACK(update_spin_value), GTK_WIDGET(spin));
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
118 gtk_widget_show(spin);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
119
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
120 gtk_label_set_mnemonic_widget(GTK_LABEL(label), spin);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
121
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
122 if (sg) {
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
123 gtk_size_group_add_widget(sg, label);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
124 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
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
8137
4971193f761d [gaim-migrate @ 8842]
Mark Doliner <mark@kingant.net>
parents: 8104
diff changeset
127 gaim_set_accessible_label (spin, label);
10759
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
128
8238
32625c0dbba6 [gaim-migrate @ 8961]
Mark Doliner <mark@kingant.net>
parents: 8231
diff changeset
129 return hbox;
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
130 }
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
131
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
132 static void
9422
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
133 entry_set(GtkEntry *entry, gpointer data) {
10367
5fe89d2df440 [gaim-migrate @ 11586]
Luke Schierer <lschiere@pidgin.im>
parents: 10364
diff changeset
134 const char *key = (const char*)data;
9422
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
135
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
136 gaim_prefs_set_string(key, gtk_entry_get_text(entry));
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
137 }
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
138
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
139 GtkWidget *
10367
5fe89d2df440 [gaim-migrate @ 11586]
Luke Schierer <lschiere@pidgin.im>
parents: 10364
diff changeset
140 gaim_gtk_prefs_labeled_entry(GtkWidget *page, const gchar *title,
5fe89d2df440 [gaim-migrate @ 11586]
Luke Schierer <lschiere@pidgin.im>
parents: 10364
diff changeset
141 const char *key, GtkSizeGroup *sg)
9422
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 *hbox, *label, *entry;
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
144 const gchar *value;
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
145
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
146 value = gaim_prefs_get_string(key);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
147
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
148 hbox = gtk_hbox_new(FALSE, 5);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
149 gtk_box_pack_start(GTK_BOX(page), hbox, FALSE, FALSE, 5);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
150 gtk_widget_show(hbox);
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 label = gtk_label_new_with_mnemonic(title);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
153 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
154 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
155 gtk_widget_show(label);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
156
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
157 entry = gtk_entry_new();
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
158 gtk_entry_set_text(GTK_ENTRY(entry), value);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
159 gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 0);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
160 g_signal_connect(G_OBJECT(entry), "changed",
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
161 G_CALLBACK(entry_set), (char*)key);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
162 gtk_widget_show(entry);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
163
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
164 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
165
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
166 if(sg) {
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
167 gtk_size_group_add_widget(sg, label);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
168 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
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
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
171 gaim_set_accessible_label(entry, label);
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
172
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
173 return hbox;
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
d4e3356e7bbc [gaim-migrate @ 10240]
Tim Ringenbach <marv@pidgin.im>
parents: 9405
diff changeset
176 static void
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
177 dropdown_set(GObject *w, const char *key)
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
178 {
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
179 const char *str_value;
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
180 int int_value;
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
181 GaimPrefType type;
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
182
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
183 type = GPOINTER_TO_INT(g_object_get_data(w, "type"));
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
184
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
185 if (type == GAIM_PREF_INT) {
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
186 int_value = GPOINTER_TO_INT(g_object_get_data(w, "value"));
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
187
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
188 gaim_prefs_set_int(key, int_value);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
189 }
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
190 else if (type == GAIM_PREF_STRING) {
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
191 str_value = (const char *)g_object_get_data(w, "value");
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
192
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
193 gaim_prefs_set_string(key, str_value);
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
194 }
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
195 else if (type == GAIM_PREF_BOOLEAN) {
9151
e672ee8a12ec [gaim-migrate @ 9935]
Nathan Walp <nwalp@pidgin.im>
parents: 9150
diff changeset
196 gaim_prefs_set_bool(key,
e672ee8a12ec [gaim-migrate @ 9935]
Nathan Walp <nwalp@pidgin.im>
parents: 9150
diff changeset
197 GPOINTER_TO_INT(g_object_get_data(w, "value")));
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
198 }
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
199 }
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
200
7976
8e5a21b1efa6 [gaim-migrate @ 8653]
Nathan Walp <nwalp@pidgin.im>
parents: 7940
diff changeset
201 GtkWidget *
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
202 gaim_gtk_prefs_dropdown_from_list(GtkWidget *box, const gchar *title,
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
203 GaimPrefType type, const char *key, GList *menuitems)
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
204 {
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
205 GtkWidget *dropdown, *opt, *menu;
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
206 GtkWidget *label = NULL;
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
207 GtkWidget *hbox;
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
208 gchar *text;
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
209 const char *stored_str = NULL;
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
210 int stored_int = 0;
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
211 int int_value = 0;
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
212 const char *str_value = NULL;
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
213 int o = 0;
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
214
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
215 g_return_val_if_fail(menuitems != NULL, NULL);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
216
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
217 if (title != NULL) {
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
218 hbox = gtk_hbox_new(FALSE, 5);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
219 /*gtk_container_add (GTK_CONTAINER (box), hbox);*/
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
220 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
221 gtk_widget_show(hbox);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
222
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
223 label = gtk_label_new_with_mnemonic(title);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
224 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
225 gtk_widget_show(label);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
226 } else {
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
227 hbox = box;
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
228 }
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
229
8577
599d6ac9bbfe [gaim-migrate @ 9326]
Nathan Walp <nwalp@pidgin.im>
parents: 8573
diff changeset
230 #if 0 /* GTK_CHECK_VERSION(2,4,0) */
599d6ac9bbfe [gaim-migrate @ 9326]
Nathan Walp <nwalp@pidgin.im>
parents: 8573
diff changeset
231 if(type == GAIM_PREF_INT)
599d6ac9bbfe [gaim-migrate @ 9326]
Nathan Walp <nwalp@pidgin.im>
parents: 8573
diff changeset
232 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
233 else if(type == GAIM_PREF_STRING)
599d6ac9bbfe [gaim-migrate @ 9326]
Nathan Walp <nwalp@pidgin.im>
parents: 8573
diff changeset
234 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
235 dropdown = gtk_combo_box_new_with_model(model);
599d6ac9bbfe [gaim-migrate @ 9326]
Nathan Walp <nwalp@pidgin.im>
parents: 8573
diff changeset
236 #else
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
237 dropdown = gtk_option_menu_new();
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
238 menu = gtk_menu_new();
8577
599d6ac9bbfe [gaim-migrate @ 9326]
Nathan Walp <nwalp@pidgin.im>
parents: 8573
diff changeset
239 #endif
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
240
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
241 if (label != NULL) {
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
242 gtk_label_set_mnemonic_widget(GTK_LABEL(label), dropdown);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
243 gaim_set_accessible_label (dropdown, label);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
244 }
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
245
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
246 if (type == GAIM_PREF_INT)
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
247 stored_int = gaim_prefs_get_int(key);
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
248 else if (type == GAIM_PREF_STRING)
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
249 stored_str = gaim_prefs_get_string(key);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
250
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
251 while (menuitems != NULL && (text = (char *) menuitems->data) != NULL) {
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
252 menuitems = g_list_next(menuitems);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
253 g_return_val_if_fail(menuitems != NULL, NULL);
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
254
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
255 opt = gtk_menu_item_new_with_label(text);
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
256
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
257 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
258
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
259 if (type == GAIM_PREF_INT) {
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
260 int_value = GPOINTER_TO_INT(menuitems->data);
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
261 g_object_set_data(G_OBJECT(opt), "value",
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
262 GINT_TO_POINTER(int_value));
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
263 }
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
264 else if (type == GAIM_PREF_STRING) {
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
265 str_value = (const char *)menuitems->data;
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
266
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
267 g_object_set_data(G_OBJECT(opt), "value", (char *)str_value);
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
268 }
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
269 else if (type == GAIM_PREF_BOOLEAN) {
9151
e672ee8a12ec [gaim-migrate @ 9935]
Nathan Walp <nwalp@pidgin.im>
parents: 9150
diff changeset
270 g_object_set_data(G_OBJECT(opt), "value",
e672ee8a12ec [gaim-migrate @ 9935]
Nathan Walp <nwalp@pidgin.im>
parents: 9150
diff changeset
271 menuitems->data);
5551
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
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
274 g_signal_connect(G_OBJECT(opt), "activate",
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
275 G_CALLBACK(dropdown_set), (char *)key);
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
276
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
277 gtk_widget_show(opt);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
278 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
279
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
280 if ((type == GAIM_PREF_INT && stored_int == int_value) ||
5753
96214f5de47c [gaim-migrate @ 6178]
Christian Hammond <chipx86@chipx86.com>
parents: 5716
diff changeset
281 (type == GAIM_PREF_STRING && stored_str != NULL &&
96214f5de47c [gaim-migrate @ 6178]
Christian Hammond <chipx86@chipx86.com>
parents: 5716
diff changeset
282 !strcmp(stored_str, str_value)) ||
9151
e672ee8a12ec [gaim-migrate @ 9935]
Nathan Walp <nwalp@pidgin.im>
parents: 9150
diff changeset
283 (type == GAIM_PREF_BOOLEAN &&
e672ee8a12ec [gaim-migrate @ 9935]
Nathan Walp <nwalp@pidgin.im>
parents: 9150
diff changeset
284 (gaim_prefs_get_bool(key) == GPOINTER_TO_INT(menuitems->data)))) {
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
285
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
286 gtk_menu_set_active(GTK_MENU(menu), o);
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
287 }
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
288
5568
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
289 menuitems = g_list_next(menuitems);
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
290
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
291 o++;
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
292 }
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
293
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
294 gtk_option_menu_set_menu(GTK_OPTION_MENU(dropdown), menu);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
295 gtk_box_pack_start(GTK_BOX(hbox), dropdown, FALSE, FALSE, 0);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
296 gtk_widget_show(dropdown);
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
297
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
298 return label;
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
299 }
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
300
7976
8e5a21b1efa6 [gaim-migrate @ 8653]
Nathan Walp <nwalp@pidgin.im>
parents: 7940
diff changeset
301 GtkWidget *
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
302 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
303 const char *key, ...)
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
304 {
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
305 va_list ap;
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
306 GList *menuitems = NULL;
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
307 GtkWidget *dropdown = NULL;
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
308 char *name;
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
309 int int_value;
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
310 const char *str_value;
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
311
9151
e672ee8a12ec [gaim-migrate @ 9935]
Nathan Walp <nwalp@pidgin.im>
parents: 9150
diff changeset
312 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
313 type == GAIM_PREF_STRING, NULL);
e672ee8a12ec [gaim-migrate @ 9935]
Nathan Walp <nwalp@pidgin.im>
parents: 9150
diff changeset
314
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
315 va_start(ap, key);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
316 while ((name = va_arg(ap, char *)) != NULL) {
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
317
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
318 menuitems = g_list_prepend(menuitems, name);
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
319
9151
e672ee8a12ec [gaim-migrate @ 9935]
Nathan Walp <nwalp@pidgin.im>
parents: 9150
diff changeset
320 if (type == GAIM_PREF_INT || type == GAIM_PREF_BOOLEAN) {
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
321 int_value = va_arg(ap, int);
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
322 menuitems = g_list_prepend(menuitems, GINT_TO_POINTER(int_value));
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
323 }
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
324 else {
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
325 str_value = va_arg(ap, const char *);
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
326 menuitems = g_list_prepend(menuitems, (char *)str_value);
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
327 }
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
328 }
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
329 va_end(ap);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
330
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
331 g_return_val_if_fail(menuitems != NULL, NULL);
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 menuitems = g_list_reverse(menuitems);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
334
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
335 dropdown = gaim_gtk_prefs_dropdown_from_list(box, title, type, key,
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
336 menuitems);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
337
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
338 g_list_free(menuitems);
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
339
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
340 return dropdown;
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
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
343 static void
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
344 delete_prefs(GtkWidget *asdf, void *gdsa)
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
345 {
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
346 /* Close any "select sound" request dialogs */
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
347 gaim_request_close_with_handle(prefs);
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
348
10087
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
349 /* Unregister callbacks. */
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
350 gaim_prefs_disconnect_by_handle(prefs);
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
351
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
352 prefs = NULL;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
353 sound_entry = NULL;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
354 debugbutton = NULL;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
355 notebook_page = 0;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
356 smiley_theme_store = NULL;
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
357 if (previous_smiley_row)
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
358 gtk_tree_row_reference_free(previous_smiley_row);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
359 previous_smiley_row = NULL;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
360
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
361 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
362
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
363 static void smiley_sel(GtkTreeSelection *sel, GtkTreeModel *model) {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
364 GtkTreeIter iter;
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
365 const char *themename;
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
366 char *description;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
367 GValue val = { 0, };
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
368 GtkTreePath *path, *oldpath;
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
369 struct smiley_theme *new_theme, *old_theme;
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
370
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
371 if (!gtk_tree_selection_get_selected(sel, &model, &iter))
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
372 return;
11550
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
373
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
374 old_theme = current_smiley_theme;
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
375 gtk_tree_model_get_value(model, &iter, 3, &val);
11550
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
376 path = gtk_tree_model_get_path(model, &iter);
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
377 themename = g_value_get_string(&val);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
378 gaim_prefs_set_string("/gaim/gtk/smileys/theme", themename);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
379 g_value_unset (&val);
11550
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
380
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
381 /* 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
382 new_theme = current_smiley_theme;
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
383 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
384 "<span size='smaller' foreground='white'>%s</span>",
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
385 new_theme->name, new_theme->author, new_theme->desc);
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
386 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
387 g_free(description);
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
388
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
389 if (new_theme != old_theme && previous_smiley_row) {
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
390 oldpath = gtk_tree_row_reference_get_path(previous_smiley_row);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
391 if (gtk_tree_model_get_iter(model, &iter, oldpath)) {
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
392 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
393 "<span size='smaller' foreground='dim grey'>%s</span>",
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
394 old_theme->name, old_theme->author, old_theme->desc);
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
395 gtk_list_store_set(smiley_theme_store, &iter, 1,
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
396 description, -1);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
397 g_free(description);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
398 }
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
399 gtk_tree_path_free(oldpath);
11550
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
400 }
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
401 if (previous_smiley_row)
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
402 gtk_tree_row_reference_free(previous_smiley_row);
11550
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
403 previous_smiley_row = gtk_tree_row_reference_new(model, path);
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
404 gtk_tree_path_free(path);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
405 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
406
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
407 static GtkTreeRowReference *theme_refresh_theme_list()
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
408 {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
409 GdkPixbuf *pixbuf;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
410 GSList *themes;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
411 GtkTreeIter iter;
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
412 GtkTreeRowReference *row_ref = NULL;
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
413
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
414 if (previous_smiley_row)
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
415 gtk_tree_row_reference_free(previous_smiley_row);
11550
ec2335d98b83 [gaim-migrate @ 13805]
Mark Doliner <mark@kingant.net>
parents: 11525
diff changeset
416 previous_smiley_row = NULL;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
417
11525
b47708f46a38 [gaim-migrate @ 13773]
Tim Ringenbach <marv@pidgin.im>
parents: 11442
diff changeset
418 gaim_gtkthemes_smiley_theme_probe();
b47708f46a38 [gaim-migrate @ 13773]
Tim Ringenbach <marv@pidgin.im>
parents: 11442
diff changeset
419
b47708f46a38 [gaim-migrate @ 13773]
Tim Ringenbach <marv@pidgin.im>
parents: 11442
diff changeset
420 if (!(themes = smiley_themes))
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
421 return NULL;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
422
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
423 gtk_list_store_clear(smiley_theme_store);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
424
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
425 while (themes) {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
426 struct smiley_theme *theme = themes->data;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
427 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
428 "<span size='smaller' foreground='dim grey'>%s</span>",
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
429 theme->name, theme->author, theme->desc);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
430 gtk_list_store_append (smiley_theme_store, &iter);
8494
8a1421dcef60 [gaim-migrate @ 9229]
Mark Doliner <mark@kingant.net>
parents: 8467
diff changeset
431
8a1421dcef60 [gaim-migrate @ 9229]
Mark Doliner <mark@kingant.net>
parents: 8467
diff changeset
432 /*
8a1421dcef60 [gaim-migrate @ 9229]
Mark Doliner <mark@kingant.net>
parents: 8467
diff changeset
433 * LEAK - Gentoo memprof thinks pixbuf is leaking here... but it
8a1421dcef60 [gaim-migrate @ 9229]
Mark Doliner <mark@kingant.net>
parents: 8467
diff changeset
434 * 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
435 */
8963
59f1eb8c76d2 [gaim-migrate @ 9737]
Tim Ringenbach <marv@pidgin.im>
parents: 8949
diff changeset
436 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
437
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
438 gtk_list_store_set(smiley_theme_store, &iter,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
439 0, pixbuf,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
440 1, description,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
441 2, theme->path,
8928
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
442 3, theme->name,
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
443 -1);
7094
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7092
diff changeset
444
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7092
diff changeset
445 if (pixbuf != NULL)
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7092
diff changeset
446 g_object_unref(G_OBJECT(pixbuf));
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7092
diff changeset
447
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
448 g_free(description);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
449 themes = themes->next;
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
450
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
451 /* If this is the currently selected theme,
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
452 * we will need to select it. Grab the row reference. */
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
453 if (theme == current_smiley_theme) {
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
454 GtkTreePath *path = gtk_tree_model_get_path(
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
455 GTK_TREE_MODEL(smiley_theme_store), &iter);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
456 row_ref = gtk_tree_row_reference_new(
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
457 GTK_TREE_MODEL(smiley_theme_store), path);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
458 gtk_tree_path_free(path);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
459 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
460 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
461
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
462 return row_ref;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
463 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
464
10871
6240d7fd5b2c [gaim-migrate @ 12558]
Mark Doliner <mark@kingant.net>
parents: 10859
diff changeset
465 static void theme_install_theme(char *path, char *extn) {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
466 #ifndef _WIN32
9769
6be50545eed7 [gaim-migrate @ 10637]
Luke Schierer <lschiere@pidgin.im>
parents: 9736
diff changeset
467 gchar *command, *escaped;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
468 #endif
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
469 gchar *destdir;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
470 gchar *tail;
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
471 GtkTreeRowReference *theme_rowref;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
472
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
473 /* Just to be safe */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
474 g_strchomp(path);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
475
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
476 /* I dont know what you are, get out of here */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
477 if (extn != NULL)
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
478 tail = extn;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
479 else if ((tail = strrchr(path, '.')) == NULL)
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
480 return;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
481
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
482 destdir = g_strconcat(gaim_user_dir(), G_DIR_SEPARATOR_S "smileys", NULL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
483
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
484 /* 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
485 * other platforms, if need be */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
486 if (!g_ascii_strcasecmp(tail, ".gz") || !g_ascii_strcasecmp(tail, ".tgz")) {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
487 #ifndef _WIN32
9769
6be50545eed7 [gaim-migrate @ 10637]
Luke Schierer <lschiere@pidgin.im>
parents: 9736
diff changeset
488 escaped = g_shell_quote(path);
6be50545eed7 [gaim-migrate @ 10637]
Luke Schierer <lschiere@pidgin.im>
parents: 9736
diff changeset
489 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
490 g_free(escaped);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
491 #else
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
492 if(!wgaim_gz_untar(path, destdir)) {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
493 g_free(destdir);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
494 return;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
495 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
496 #endif
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
497 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
498 else {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
499 g_free(destdir);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
500 return;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
501 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
502
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
503 #ifndef _WIN32
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
504 /* Fire! */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
505 system(command);
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 g_free(command);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
508 #endif
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
509 g_free(destdir);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
510
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
511 theme_rowref = theme_refresh_theme_list();
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
512 if (theme_rowref != NULL)
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
513 gtk_tree_row_reference_free(theme_rowref);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
514 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
515
7094
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7092
diff changeset
516 static void
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7092
diff changeset
517 theme_got_url(void *data, const char *themedata, size_t len)
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7092
diff changeset
518 {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
519 FILE *f;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
520 gchar *path;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
521
10203
7ff9b8b22e7d [gaim-migrate @ 11324]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 10182
diff changeset
522 f = gaim_mkstemp(&path, TRUE);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
523 fwrite(themedata, len, 1, f);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
524 fclose(f);
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 theme_install_theme(path, data);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
527
10589
0f7452b1f777 [gaim-migrate @ 11994]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10492
diff changeset
528 g_unlink(path);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
529 g_free(path);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
530 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
531
11137
096020ae09a9 [gaim-migrate @ 13201]
Mark Doliner <mark@kingant.net>
parents: 11082
diff changeset
532 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
533 guint info, guint t, gpointer data) {
11137
096020ae09a9 [gaim-migrate @ 13201]
Mark Doliner <mark@kingant.net>
parents: 11082
diff changeset
534 gchar *name = (gchar *)sd->data;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
535
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
536 if ((sd->length >= 0) && (sd->format == 8)) {
11137
096020ae09a9 [gaim-migrate @ 13201]
Mark Doliner <mark@kingant.net>
parents: 11082
diff changeset
537 /* Well, it looks like the drag event was cool.
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
538 * Let's do something with it */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
539
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
540 if (!g_ascii_strncasecmp(name, "file://", 7)) {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
541 GError *converr = NULL;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
542 gchar *tmp;
11137
096020ae09a9 [gaim-migrate @ 13201]
Mark Doliner <mark@kingant.net>
parents: 11082
diff changeset
543 /* 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
544 * just untar it in the right place */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
545 if(!(tmp = g_filename_from_uri(name, NULL, &converr))) {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
546 gaim_debug(GAIM_DEBUG_ERROR, "theme dnd", "%s\n",
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
547 (converr ? converr->message :
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
548 "g_filename_from_uri error"));
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
549 return;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
550 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
551 theme_install_theme(tmp, NULL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
552 g_free(tmp);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
553 } else if (!g_ascii_strncasecmp(name, "http://", 7)) {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
554 /* Oo, a web drag and drop. This is where things
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
555 * will start to get interesting */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
556 gchar *tail;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
557
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
558 if ((tail = strrchr(name, '.')) == NULL)
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
559 return;
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 /* 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
562 * other platforms, if need be */
7094
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7092
diff changeset
563 gaim_url_fetch(name, TRUE, NULL, FALSE, theme_got_url, ".tgz");
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
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
566 gtk_drag_finish(dc, TRUE, FALSE, t);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
567 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
568
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
569 gtk_drag_finish(dc, FALSE, FALSE, t);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
570 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
571
8928
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
572 /* Does same as normal sort, except "none" is sorted first */
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
573 gint gaim_sort_smileys (GtkTreeModel *model,
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
574 GtkTreeIter *a,
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
575 GtkTreeIter *b,
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
576 gpointer userdata)
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
577 {
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
578 gint ret = 0;
9949
ced29c7b396c [gaim-migrate @ 10845]
Luke Schierer <lschiere@pidgin.im>
parents: 9944
diff changeset
579 gchar *name1 = NULL, *name2 = NULL;
8928
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
580
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
581 gtk_tree_model_get(model, a, 3, &name1, -1);
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
582 gtk_tree_model_get(model, b, 3, &name2, -1);
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
583
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
584 if (name1 == NULL || name2 == NULL) {
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
585 if (!(name1 == NULL && name2 == NULL))
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
586 ret = (name1 == NULL) ? -1: 1;
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
587 } else if (!g_ascii_strcasecmp(name1, "none")) {
10167
cf45c2a6a7cf [gaim-migrate @ 11254]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10164
diff changeset
588 if (!g_utf8_collate(name1, name2))
cf45c2a6a7cf [gaim-migrate @ 11254]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10164
diff changeset
589 ret = 0;
cf45c2a6a7cf [gaim-migrate @ 11254]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10164
diff changeset
590 else
cf45c2a6a7cf [gaim-migrate @ 11254]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10164
diff changeset
591 /* Sort name1 first */
cf45c2a6a7cf [gaim-migrate @ 11254]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10164
diff changeset
592 ret = -1;
8928
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
593 } else if (!g_ascii_strcasecmp(name2, "none")) {
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
594 /* Sort name2 first */
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
595 ret = 1;
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
596 } else {
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
597 /* Neither string is "none", default to normal sort */
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
598 ret = g_utf8_collate(name1,name2);
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
599 }
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
600
9521
9b2f1444811f [gaim-migrate @ 10348]
Mark Doliner <mark@kingant.net>
parents: 9508
diff changeset
601 g_free(name1);
9b2f1444811f [gaim-migrate @ 10348]
Mark Doliner <mark@kingant.net>
parents: 9508
diff changeset
602 g_free(name2);
9b2f1444811f [gaim-migrate @ 10348]
Mark Doliner <mark@kingant.net>
parents: 9508
diff changeset
603
8928
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
604 return ret;
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
605 }
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
606
10850
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
607 static GtkWidget *
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
608 theme_page()
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
609 {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
610 GtkWidget *ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
611 GtkWidget *sw;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
612 GtkWidget *view;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
613 GtkCellRenderer *rend;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
614 GtkTreeViewColumn *col;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
615 GtkTreeSelection *sel;
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
616 GtkTreeRowReference *rowref;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
617 GtkWidget *label;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
618 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
619
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
620 ret = gtk_vbox_new(FALSE, GAIM_HIG_BOX_SPACE);
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
621 gtk_container_set_border_width (GTK_CONTAINER (ret), GAIM_HIG_BORDER);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
622
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
623 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
624
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
625 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
626 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
627 gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_LEFT);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
628
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
629 gtk_box_pack_start(GTK_BOX(ret), label, FALSE, TRUE, 0);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
630 gtk_widget_show(label);
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 sw = gtk_scrolled_window_new(NULL,NULL);
7939
451d2946423e [gaim-migrate @ 8610]
Mark Doliner <mark@kingant.net>
parents: 7932
diff changeset
633 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
634 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
635
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
636 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
637 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
638
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
639 rowref = theme_refresh_theme_list();
8075
41e973dbca03 [gaim-migrate @ 8774]
Mark Doliner <mark@kingant.net>
parents: 8063
diff changeset
640
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
641 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
642
11525
b47708f46a38 [gaim-migrate @ 13773]
Tim Ringenbach <marv@pidgin.im>
parents: 11442
diff changeset
643 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
644 sizeof(te) / sizeof(GtkTargetEntry) , GDK_ACTION_COPY | GDK_ACTION_MOVE);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
645
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
646 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
647
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
648 rend = gtk_cell_renderer_pixbuf_new();
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
649 sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (view));
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
650
8928
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
651 /* Custom sort so "none" theme is at top of list */
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
652 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
653 3, gaim_sort_smileys, NULL, NULL);
755d7f8907c6 [gaim-migrate @ 9698]
Luke Schierer <lschiere@pidgin.im>
parents: 8927
diff changeset
654
8075
41e973dbca03 [gaim-migrate @ 8774]
Mark Doliner <mark@kingant.net>
parents: 8063
diff changeset
655 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
656 3, GTK_SORT_ASCENDING);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
657
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
658 col = gtk_tree_view_column_new_with_attributes (_("Icon"),
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
659 rend,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
660 "pixbuf", 0,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
661 NULL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
662 gtk_tree_view_append_column (GTK_TREE_VIEW(view), col);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
663
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
664 rend = gtk_cell_renderer_text_new();
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
665 col = gtk_tree_view_column_new_with_attributes (_("Description"),
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
666 rend,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
667 "markup", 1,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
668 NULL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
669 gtk_tree_view_append_column (GTK_TREE_VIEW(view), col);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
670 g_object_unref(G_OBJECT(smiley_theme_store));
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
671 gtk_container_add(GTK_CONTAINER(sw), view);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
672
8075
41e973dbca03 [gaim-migrate @ 8774]
Mark Doliner <mark@kingant.net>
parents: 8063
diff changeset
673 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
674
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
675 if (rowref) {
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
676 GtkTreePath *path = gtk_tree_row_reference_get_path(rowref);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
677 gtk_tree_row_reference_free(rowref);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
678 gtk_tree_selection_select_path(sel, path);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
679 gtk_tree_path_free(path);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
680 }
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
681
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
682 gtk_widget_show_all(ret);
8137
4971193f761d [gaim-migrate @ 8842]
Mark Doliner <mark@kingant.net>
parents: 8104
diff changeset
683
4971193f761d [gaim-migrate @ 8842]
Mark Doliner <mark@kingant.net>
parents: 8104
diff changeset
684 gaim_set_accessible_label (view, label);
4971193f761d [gaim-migrate @ 8842]
Mark Doliner <mark@kingant.net>
parents: 8104
diff changeset
685
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
686 return ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
687 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
688
9025
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
689 static void
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
690 formatting_toggle_cb(GtkIMHtml *imhtml, GtkIMHtmlButtons buttons, void *toolbar)
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
691 {
9025
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
692 gboolean bold, italic, uline;
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
693
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
694 bold = italic = uline = FALSE;
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
695 gtk_imhtml_get_current_format(GTK_IMHTML(imhtml),
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
696 &bold, &italic, &uline);
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
697
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
698 if (buttons & GTK_IMHTML_BOLD)
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
699 gaim_prefs_set_bool("/gaim/gtk/conversations/send_bold", bold);
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
700 if (buttons & GTK_IMHTML_ITALIC)
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
701 gaim_prefs_set_bool("/gaim/gtk/conversations/send_italic", italic);
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
702 if (buttons & GTK_IMHTML_UNDERLINE)
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
703 gaim_prefs_set_bool("/gaim/gtk/conversations/send_underline", uline);
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
704
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
705 if (buttons & GTK_IMHTML_GROW || buttons & GTK_IMHTML_SHRINK)
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
706 gaim_prefs_set_int("/gaim/gtk/conversations/font_size",
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
707 gtk_imhtml_get_current_fontsize(GTK_IMHTML(imhtml)));
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
708 if (buttons & GTK_IMHTML_FACE) {
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
709 char *face = gtk_imhtml_get_current_fontface(GTK_IMHTML(imhtml));
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
710 if (!face)
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
711 face = g_strdup("");
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
712
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
713 gaim_prefs_set_string("/gaim/gtk/conversations/font_face", face);
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
714 g_free(face);
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
715 }
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
716
9025
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
717 if (buttons & GTK_IMHTML_FORECOLOR) {
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
718 char *color = gtk_imhtml_get_current_forecolor(GTK_IMHTML(imhtml));
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
719 if (!color)
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
720 color = g_strdup("");
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
721
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
722 gaim_prefs_set_string("/gaim/gtk/conversations/fgcolor", color);
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
723 g_free(color);
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
724 }
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
725
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
726 if (buttons & GTK_IMHTML_BACKCOLOR) {
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
727 char *color;
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
728 GObject *object;
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
729
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
730 color = gtk_imhtml_get_current_backcolor(GTK_IMHTML(imhtml));
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
731 if (!color)
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
732 color = g_strdup("");
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
733
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
734 /* Block the signal to prevent a loop. */
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
735 object = g_object_ref(G_OBJECT(imhtml));
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
736 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
737 NULL, toolbar);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
738 /* Clear the backcolor. */
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
739 gtk_imhtml_toggle_backcolor(GTK_IMHTML(imhtml), "");
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
740 /* Unblock the signal. */
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
741 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
742 NULL, toolbar);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
743 g_object_unref(object);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
744
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
745 /* This will fire a toggle signal and get saved below. */
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
746 gtk_imhtml_toggle_background(GTK_IMHTML(imhtml), color);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
747
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
748 g_free(color);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
749 }
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
750
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
751 if (buttons & GTK_IMHTML_BACKGROUND) {
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
752 char *color = gtk_imhtml_get_current_background(GTK_IMHTML(imhtml));
9025
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
753 if (!color)
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
754 color = g_strdup("");
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
755
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
756 gaim_prefs_set_string("/gaim/gtk/conversations/bgcolor", color);
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
757 g_free(color);
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
758 }
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
759 }
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
760
11275
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
761 static void
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
762 formatting_clear_cb(GtkIMHtml *imhtml, void *data)
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
763 {
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
764 gaim_prefs_set_bool("/gaim/gtk/conversations/send_bold", FALSE);
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
765 gaim_prefs_set_bool("/gaim/gtk/conversations/send_italic", FALSE);
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
766 gaim_prefs_set_bool("/gaim/gtk/conversations/send_underline", FALSE);
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
767
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
768 gaim_prefs_set_int("/gaim/gtk/conversations/font_size", 3);
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
769
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
770 gaim_prefs_set_string("/gaim/gtk/conversations/font_face", "");
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
771 gaim_prefs_set_string("/gaim/gtk/conversations/fgcolor", "");
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
772 gaim_prefs_set_string("/gaim/gtk/conversations/bgcolor", "");
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
773 }
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
774
8979
e2ad3e04d248 [gaim-migrate @ 9753]
Luke Schierer <lschiere@pidgin.im>
parents: 8966
diff changeset
775 static void
9155
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
776 conversation_usetabs_cb(const char *name, GaimPrefType type, gpointer value,
8979
e2ad3e04d248 [gaim-migrate @ 9753]
Luke Schierer <lschiere@pidgin.im>
parents: 8966
diff changeset
777 gpointer data)
e2ad3e04d248 [gaim-migrate @ 9753]
Luke Schierer <lschiere@pidgin.im>
parents: 8966
diff changeset
778 {
10112
1a91e814e9d8 [gaim-migrate @ 11145]
Nathan Walp <nwalp@pidgin.im>
parents: 10108
diff changeset
779 gboolean usetabs = GPOINTER_TO_INT(value);
9155
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
780
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
781 if (usetabs)
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
782 gtk_widget_set_sensitive(GTK_WIDGET(data), TRUE);
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
783 else
8979
e2ad3e04d248 [gaim-migrate @ 9753]
Luke Schierer <lschiere@pidgin.im>
parents: 8966
diff changeset
784 gtk_widget_set_sensitive(GTK_WIDGET(data), FALSE);
e2ad3e04d248 [gaim-migrate @ 9753]
Luke Schierer <lschiere@pidgin.im>
parents: 8966
diff changeset
785 }
e2ad3e04d248 [gaim-migrate @ 9753]
Luke Schierer <lschiere@pidgin.im>
parents: 8966
diff changeset
786
10850
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
787 static GtkWidget *
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
788 conv_page()
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
789 {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
790 GtkWidget *ret;
11271
b33eccbc3a10 [gaim-migrate @ 13454]
Richard Laager <rlaager@wiktel.com>
parents: 11269
diff changeset
791 GtkWidget *vbox;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
792 GtkWidget *label;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
793 GList *names = NULL;
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
794 GtkWidget *frame;
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
795 GtkWidget *imhtml;
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
796 GtkWidget *toolbar;
11271
b33eccbc3a10 [gaim-migrate @ 13454]
Richard Laager <rlaager@wiktel.com>
parents: 11269
diff changeset
797 GtkWidget *hbox;
b33eccbc3a10 [gaim-migrate @ 13454]
Richard Laager <rlaager@wiktel.com>
parents: 11269
diff changeset
798 GtkWidget *vbox2;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
799
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
800 ret = gtk_vbox_new(FALSE, GAIM_HIG_BOX_SPACE);
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
801 gtk_container_set_border_width(GTK_CONTAINER(ret), GAIM_HIG_BORDER);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
802
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
803 vbox = gaim_gtk_make_frame(ret, _("Conversations"));
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
804
9832
54e0322c81fb [gaim-migrate @ 10703]
Tim Ringenbach <marv@pidgin.im>
parents: 9827
diff changeset
805 gaim_gtk_prefs_checkbox(_("Send unknown \"_slash\" commands as messages"),
54e0322c81fb [gaim-migrate @ 10703]
Tim Ringenbach <marv@pidgin.im>
parents: 9827
diff changeset
806 "/gaim/gtk/conversations/passthrough_unknown_commands", vbox);
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
807 gaim_gtk_prefs_checkbox(_("Show _formatting on incoming messages"),
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
808 "/gaim/gtk/conversations/show_incoming_formatting", vbox);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
809 gaim_gtk_prefs_checkbox(_("Show buddy _icons"),
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
810 "/gaim/gtk/conversations/im/show_buddy_icons", vbox);
9155
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
811 gaim_gtk_prefs_checkbox(_("Enable buddy ic_on animation"),
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
812 "/gaim/gtk/conversations/im/animate_buddy_icons", vbox);
9155
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
813 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
814 "/core/conversations/im/send_typing", vbox);
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
815 #ifdef USE_GTKSPELL
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
816 gaim_gtk_prefs_checkbox(_("_Highlight misspelled words"),
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
817 "/gaim/gtk/conversations/spellcheck", vbox);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
818 #endif
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
819
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
820 frame = gaim_gtk_create_imhtml(TRUE, &imhtml, &toolbar);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
821 gtk_widget_set_name(imhtml, "gaim_gtkprefs_font_imhtml");
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
822 gtk_imhtml_set_whole_buffer_formatting_only(GTK_IMHTML(imhtml), TRUE);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
823 gtk_imhtml_set_format_functions(GTK_IMHTML(imhtml),
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
824 GTK_IMHTML_BOLD |
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
825 GTK_IMHTML_ITALIC |
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
826 GTK_IMHTML_UNDERLINE |
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
827 GTK_IMHTML_GROW |
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
828 GTK_IMHTML_SHRINK |
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
829 GTK_IMHTML_FACE |
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
830 GTK_IMHTML_FORECOLOR |
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
831 GTK_IMHTML_BACKCOLOR |
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
832 GTK_IMHTML_BACKGROUND);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
833
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
834 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
835
11271
b33eccbc3a10 [gaim-migrate @ 13454]
Richard Laager <rlaager@wiktel.com>
parents: 11269
diff changeset
836 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
837
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
838 if (gaim_prefs_get_bool("/gaim/gtk/conversations/send_bold"))
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
839 gtk_imhtml_toggle_bold(GTK_IMHTML(imhtml));
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
840 if (gaim_prefs_get_bool("/gaim/gtk/conversations/send_italic"))
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
841 gtk_imhtml_toggle_italic(GTK_IMHTML(imhtml));
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
842 if (gaim_prefs_get_bool("/gaim/gtk/conversations/send_underline"))
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
843 gtk_imhtml_toggle_underline(GTK_IMHTML(imhtml));
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
844
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
845 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
846 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
847 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
848 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
849
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
850 g_signal_connect_after(G_OBJECT(imhtml), "format_function_toggle",
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
851 G_CALLBACK(formatting_toggle_cb), toolbar);
11275
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
852 g_signal_connect_after(G_OBJECT(imhtml), "format_function_clear",
ffc86d9ad8b7 [gaim-migrate @ 13461]
Richard Laager <rlaager@wiktel.com>
parents: 11271
diff changeset
853 G_CALLBACK(formatting_clear_cb), NULL);
9155
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
854
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
855 /* All the tab options! */
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
856 vbox = gaim_gtk_make_frame(ret, _("Tab Options"));
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
857
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
858 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
859 "/gaim/gtk/conversations/tabs", vbox);
9155
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
860
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
861 /*
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
862 * Connect a signal to the above preference. When conversations are not
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
863 * 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
864 */
10972
d5ce9d01f540 [gaim-migrate @ 12797]
Mark Doliner <mark@kingant.net>
parents: 10930
diff changeset
865 vbox2 = gtk_vbox_new(FALSE, 9);
9155
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
866 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
867 gaim_prefs_connect_callback(prefs, "/gaim/gtk/conversations/tabs",
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
868 conversation_usetabs_cb, vbox2);
9155
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
869 if (!gaim_prefs_get_bool("/gaim/gtk/conversations/tabs"))
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
870 gtk_widget_set_sensitive(vbox2, FALSE);
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
871
9891
67dbf65e76cf [gaim-migrate @ 10779]
Mark Doliner <mark@kingant.net>
parents: 9832
diff changeset
872 gaim_gtk_prefs_checkbox(_("Show close b_utton on tabs"),
9155
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
873 "/gaim/gtk/conversations/close_on_tabs", vbox2);
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
874
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
875 hbox = gtk_hbox_new(FALSE, 9);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
876 gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0);
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
877
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
878 label = gaim_gtk_prefs_dropdown(hbox, _("_Placement:"), GAIM_PREF_INT,
8988
d6fea11c62d7 [gaim-migrate @ 9763]
Luke Schierer <lschiere@pidgin.im>
parents: 8979
diff changeset
879 "/gaim/gtk/conversations/tab_side",
d6fea11c62d7 [gaim-migrate @ 9763]
Luke Schierer <lschiere@pidgin.im>
parents: 8979
diff changeset
880 _("Top"), GTK_POS_TOP,
d6fea11c62d7 [gaim-migrate @ 9763]
Luke Schierer <lschiere@pidgin.im>
parents: 8979
diff changeset
881 _("Bottom"), GTK_POS_BOTTOM,
d6fea11c62d7 [gaim-migrate @ 9763]
Luke Schierer <lschiere@pidgin.im>
parents: 8979
diff changeset
882 _("Left"), GTK_POS_LEFT,
d6fea11c62d7 [gaim-migrate @ 9763]
Luke Schierer <lschiere@pidgin.im>
parents: 8979
diff changeset
883 _("Right"), GTK_POS_RIGHT,
11619
de413ae71cba [gaim-migrate @ 13893]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
884 #if GTK_CHECK_VERSION(2,6,0)
de413ae71cba [gaim-migrate @ 13893]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
885 _("Left Vertical"), GTK_POS_LEFT|8,
de413ae71cba [gaim-migrate @ 13893]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
886 _("Right Vertical"), GTK_POS_RIGHT|8,
de413ae71cba [gaim-migrate @ 13893]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
887 #endif
8988
d6fea11c62d7 [gaim-migrate @ 9763]
Luke Schierer <lschiere@pidgin.im>
parents: 8979
diff changeset
888 NULL);
d6fea11c62d7 [gaim-migrate @ 9763]
Luke Schierer <lschiere@pidgin.im>
parents: 8979
diff changeset
889
11581
9b3833da6840 [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11557
diff changeset
890 names = gaim_gtkconv_placement_get_options();
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
891 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
892 GAIM_PREF_STRING, "/gaim/gtk/conversations/placement", names);
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
893 g_list_free(names);
e0c50af60837 [gaim-migrate @ 9939]
Mark Doliner <mark@kingant.net>
parents: 9151
diff changeset
894
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
895 gtk_widget_show_all(ret);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
896
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
897 return ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
898 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
899
8231
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
900 static void network_ip_changed(GtkEntry *entry, gpointer data)
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
901 {
8834
beb7be215db3 [gaim-migrate @ 9598]
Mark Doliner <mark@kingant.net>
parents: 8833
diff changeset
902 gaim_network_set_public_ip(gtk_entry_get_text(entry));
8231
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
903 }
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
904
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
905 static void
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
906 proxy_changed_cb(const char *name, GaimPrefType type, gpointer value,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
907 gpointer data)
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
908 {
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
909 GtkWidget *frame = data;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
910 const char *proxy = value;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
911
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
912 if (strcmp(proxy, "none") && strcmp(proxy, "envvar"))
11746
8d5ea84440ca [gaim-migrate @ 14037]
Sean Egan <seanegan@gmail.com>
parents: 11740
diff changeset
913 gtk_widget_show_all(frame);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
914 else
11740
7e0ad3b6882a [gaim-migrate @ 14031]
Sean Egan <seanegan@gmail.com>
parents: 11709
diff changeset
915 gtk_widget_hide(frame);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
916 }
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
917
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
918 static void proxy_print_option(GtkEntry *entry, int entrynum)
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
919 {
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
920 if (entrynum == PROXYHOST)
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
921 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
922 else if (entrynum == PROXYPORT)
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
923 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
924 else if (entrynum == PROXYUSER)
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
925 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
926 else if (entrynum == PROXYPASS)
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
927 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
928 }
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
929
10850
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
930 static GtkWidget *
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
931 network_page()
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
932 {
8231
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
933 GtkWidget *ret;
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
934 GtkWidget *vbox, *hbox, *entry;
11424
e1ab173ef3b5 [gaim-migrate @ 13661]
Thomas Butter <tbutter>
parents: 11380
diff changeset
935 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
936 GtkSizeGroup *sg;
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
937 GaimProxyInfo *proxy_info;
8231
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
938
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
939 ret = gtk_vbox_new(FALSE, GAIM_HIG_BOX_SPACE);
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
940 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
941
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
942 vbox = gaim_gtk_make_frame (ret, _("IP Address"));
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
943
11442
73f7cfa46f1b [gaim-migrate @ 13681]
Richard Laager <rlaager@wiktel.com>
parents: 11424
diff changeset
944 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
945
8231
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
946 auto_ip_checkbox = gaim_gtk_prefs_checkbox(_("_Autodetect IP Address"),
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
947 "/core/network/auto_ip", vbox);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
948
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
949 table = gtk_table_new(2, 1, FALSE);
11442
73f7cfa46f1b [gaim-migrate @ 13681]
Richard Laager <rlaager@wiktel.com>
parents: 11424
diff changeset
950 gtk_container_set_border_width(GTK_CONTAINER(table), 0);
8231
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
951 gtk_table_set_col_spacings(GTK_TABLE(table), 5);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
952 gtk_table_set_row_spacings(GTK_TABLE(table), 10);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
953 gtk_container_add(GTK_CONTAINER(vbox), table);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
954
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
955 label = gtk_label_new_with_mnemonic(_("Public _IP:"));
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
956 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
957 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
958
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
959 entry = gtk_entry_new();
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
960 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
961 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
962 g_signal_connect(G_OBJECT(entry), "changed",
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
963 G_CALLBACK(network_ip_changed), NULL);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
964
8834
beb7be215db3 [gaim-migrate @ 9598]
Mark Doliner <mark@kingant.net>
parents: 8833
diff changeset
965 if (gaim_network_get_public_ip() != NULL)
8231
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
966 gtk_entry_set_text(GTK_ENTRY(entry),
8834
beb7be215db3 [gaim-migrate @ 9598]
Mark Doliner <mark@kingant.net>
parents: 8833
diff changeset
967 gaim_network_get_public_ip());
8231
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
968
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
969 gaim_set_accessible_label (entry, label);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
970
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
971
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
972 if (gaim_prefs_get_bool("/core/network/auto_ip")) {
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
973 gtk_widget_set_sensitive(GTK_WIDGET(table), FALSE);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
974 }
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
975
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
976 g_signal_connect(G_OBJECT(auto_ip_checkbox), "clicked",
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
977 G_CALLBACK(gaim_gtk_toggle_sensitive), table);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
978
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
979 vbox = gaim_gtk_make_frame (ret, _("Ports"));
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
980 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
981
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
982 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
983 "/core/network/ports_range_use", vbox);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
984
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
985 spin_button = gaim_gtk_prefs_labeled_spin_button(vbox, _("_Start Port:"),
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
986 "/core/network/ports_range_start", 0, 65535, sg);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
987 if (!gaim_prefs_get_bool("/core/network/ports_range_use"))
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
988 gtk_widget_set_sensitive(GTK_WIDGET(spin_button), FALSE);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
989 g_signal_connect(G_OBJECT(ports_checkbox), "clicked",
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
990 G_CALLBACK(gaim_gtk_toggle_sensitive), spin_button);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
991
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
992 spin_button = gaim_gtk_prefs_labeled_spin_button(vbox, _("_End Port:"),
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
993 "/core/network/ports_range_end", 0, 65535, sg);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
994 if (!gaim_prefs_get_bool("/core/network/ports_range_use"))
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
995 gtk_widget_set_sensitive(GTK_WIDGET(spin_button), FALSE);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
996 g_signal_connect(G_OBJECT(ports_checkbox), "clicked",
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
997 G_CALLBACK(gaim_gtk_toggle_sensitive), spin_button);
f50c059b6384 [gaim-migrate @ 8954]
Christian Hammond <chipx86@chipx86.com>
parents: 8188
diff changeset
998
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
999 vbox = gaim_gtk_make_frame(ret, _("Proxy Server"));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1000 prefs_proxy_frame = gtk_vbox_new(FALSE, 0);
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1001 gaim_gtk_prefs_dropdown(vbox, _("Proxy _type:"), GAIM_PREF_STRING,
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1002 "/core/proxy/type",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1003 _("No proxy"), "none",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1004 "SOCKS 4", "socks4",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1005 "SOCKS 5", "socks5",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1006 "HTTP", "http",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1007 _("Use Environmental Settings"), "envvar",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1008 NULL);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1009 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
1010 proxy_info = gaim_global_proxy_get_info();
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1011
10087
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1012 gaim_prefs_connect_callback(prefs, "/core/proxy/type",
11740
7e0ad3b6882a [gaim-migrate @ 14031]
Sean Egan <seanegan@gmail.com>
parents: 11709
diff changeset
1013 proxy_changed_cb, prefs_proxy_frame);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1014
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1015 table = gtk_table_new(4, 2, FALSE);
11442
73f7cfa46f1b [gaim-migrate @ 13681]
Richard Laager <rlaager@wiktel.com>
parents: 11424
diff changeset
1016 gtk_container_set_border_width(GTK_CONTAINER(table), 0);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1017 gtk_table_set_col_spacings(GTK_TABLE(table), 5);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1018 gtk_table_set_row_spacings(GTK_TABLE(table), 10);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1019 gtk_container_add(GTK_CONTAINER(prefs_proxy_frame), table);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1020
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1021
7797
0fb10479a6a3 [gaim-migrate @ 8443]
Mark Doliner <mark@kingant.net>
parents: 7731
diff changeset
1022 label = gtk_label_new_with_mnemonic(_("_Host:"));
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1023 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1024 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
1025
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1026 entry = gtk_entry_new();
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1027 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1028 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
1029 g_signal_connect(G_OBJECT(entry), "changed",
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1030 G_CALLBACK(proxy_print_option), (void *)PROXYHOST);
5681
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1031
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1032 if (proxy_info != NULL && gaim_proxy_info_get_host(proxy_info))
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1033 gtk_entry_set_text(GTK_ENTRY(entry),
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1034 gaim_proxy_info_get_host(proxy_info));
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1035
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1036 hbox = gtk_hbox_new(TRUE, 5);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1037 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
1038 gaim_set_accessible_label (entry, label);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1039
7870
30ee5c52b8dc [gaim-migrate @ 8524]
Luke Schierer <lschiere@pidgin.im>
parents: 7797
diff changeset
1040 label = gtk_label_new_with_mnemonic(_("_Port:"));
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1041 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
1042 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
1043
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1044 entry = gtk_entry_new();
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1045 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1046 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
1047 g_signal_connect(G_OBJECT(entry), "changed",
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1048 G_CALLBACK(proxy_print_option), (void *)PROXYPORT);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1049
5681
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1050 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
1051 char buf[128];
5681
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1052 g_snprintf(buf, sizeof(buf), "%d",
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1053 gaim_proxy_info_get_port(proxy_info));
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1054
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1055 gtk_entry_set_text(GTK_ENTRY(entry), buf);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1056 }
8137
4971193f761d [gaim-migrate @ 8842]
Mark Doliner <mark@kingant.net>
parents: 8104
diff changeset
1057 gaim_set_accessible_label (entry, label);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1058
7797
0fb10479a6a3 [gaim-migrate @ 8443]
Mark Doliner <mark@kingant.net>
parents: 7731
diff changeset
1059 label = gtk_label_new_with_mnemonic(_("_User:"));
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1060 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
1061 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
1062
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1063 entry = gtk_entry_new();
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1064 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1065 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
1066 g_signal_connect(G_OBJECT(entry), "changed",
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1067 G_CALLBACK(proxy_print_option), (void *)PROXYUSER);
5681
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1068
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1069 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
1070 gtk_entry_set_text(GTK_ENTRY(entry),
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1071 gaim_proxy_info_get_username(proxy_info));
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1072
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1073 hbox = gtk_hbox_new(TRUE, 5);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1074 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
1075 gaim_set_accessible_label (entry, label);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1076
7797
0fb10479a6a3 [gaim-migrate @ 8443]
Mark Doliner <mark@kingant.net>
parents: 7731
diff changeset
1077 label = gtk_label_new_with_mnemonic(_("Pa_ssword:"));
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1078 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
1079 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
1080
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1081 entry = gtk_entry_new();
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1082 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1083 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
1084 gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1085 g_signal_connect(G_OBJECT(entry), "changed",
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1086 G_CALLBACK(proxy_print_option), (void *)PROXYPASS);
5681
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1087
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1088 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
1089 gtk_entry_set_text(GTK_ENTRY(entry),
46d7ad0dfa26 [gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents: 5673
diff changeset
1090 gaim_proxy_info_get_password(proxy_info));
8137
4971193f761d [gaim-migrate @ 8842]
Mark Doliner <mark@kingant.net>
parents: 8104
diff changeset
1091 gaim_set_accessible_label (entry, label);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1092
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1093 gtk_widget_show_all(ret);
11740
7e0ad3b6882a [gaim-migrate @ 14031]
Sean Egan <seanegan@gmail.com>
parents: 11709
diff changeset
1094 if (proxy_info == NULL ||
7e0ad3b6882a [gaim-migrate @ 14031]
Sean Egan <seanegan@gmail.com>
parents: 11709
diff changeset
1095 gaim_proxy_info_get_type(proxy_info) == GAIM_PROXY_NONE ||
7e0ad3b6882a [gaim-migrate @ 14031]
Sean Egan <seanegan@gmail.com>
parents: 11709
diff changeset
1096 gaim_proxy_info_get_type(proxy_info) == GAIM_PROXY_USE_ENVVAR)
7e0ad3b6882a [gaim-migrate @ 14031]
Sean Egan <seanegan@gmail.com>
parents: 11709
diff changeset
1097 gtk_widget_hide(table);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1098 return ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1099 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1100
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1101 #ifndef _WIN32
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1102 static gboolean manual_browser_set(GtkWidget *entry, GdkEventFocus *event, gpointer data) {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1103 const char *program = gtk_entry_get_text(GTK_ENTRY(entry));
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1104
5560
b7319c094153 [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5554
diff changeset
1105 gaim_prefs_set_string("/gaim/gtk/browsers/command", program);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1106
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1107 /* carry on normally */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1108 return FALSE;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1109 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1110
5633
97a079bc8caa [gaim-migrate @ 6040]
Nathan Walp <nwalp@pidgin.im>
parents: 5631
diff changeset
1111 static GList *get_available_browsers()
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1112 {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1113 struct browser {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1114 char *name;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1115 char *command;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1116 };
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1117
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1118 static struct browser possible_browsers[] = {
9405
7b48e7c07bcf [gaim-migrate @ 10219]
Mark Doliner <mark@kingant.net>
parents: 9307
diff changeset
1119 {N_("Epiphany"), "epiphany"},
8267
62af52b1614a [gaim-migrate @ 8990]
Mark Doliner <mark@kingant.net>
parents: 8238
diff changeset
1120 {N_("Firebird"), "mozilla-firebird"},
8356
8f2667524c06 [gaim-migrate @ 9080]
Nathan Walp <nwalp@pidgin.im>
parents: 8340
diff changeset
1121 {N_("Firefox"), "firefox"},
9405
7b48e7c07bcf [gaim-migrate @ 10219]
Mark Doliner <mark@kingant.net>
parents: 9307
diff changeset
1122 {N_("Galeon"), "galeon"},
11816
60fcaea41fc0 [gaim-migrate @ 14107]
Richard Laager <rlaager@wiktel.com>
parents: 11811
diff changeset
1123 {N_("GNOME Default"), "gnome-open"},
9405
7b48e7c07bcf [gaim-migrate @ 10219]
Mark Doliner <mark@kingant.net>
parents: 9307
diff changeset
1124 {N_("Konqueror"), "kfmclient"},
7b48e7c07bcf [gaim-migrate @ 10219]
Mark Doliner <mark@kingant.net>
parents: 9307
diff changeset
1125 {N_("Mozilla"), "mozilla"},
7b48e7c07bcf [gaim-migrate @ 10219]
Mark Doliner <mark@kingant.net>
parents: 9307
diff changeset
1126 {N_("Netscape"), "netscape"},
7b48e7c07bcf [gaim-migrate @ 10219]
Mark Doliner <mark@kingant.net>
parents: 9307
diff changeset
1127 {N_("Opera"), "opera"}
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1128 };
9405
7b48e7c07bcf [gaim-migrate @ 10219]
Mark Doliner <mark@kingant.net>
parents: 9307
diff changeset
1129 static const int num_possible_browsers = 9;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1130
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1131 GList *browsers = NULL;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1132 int i = 0;
5819
7bdf66ab4fdd [gaim-migrate @ 6249]
Luke Schierer <lschiere@pidgin.im>
parents: 5771
diff changeset
1133 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
1134
5568
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1135 browsers = g_list_prepend(browsers, "custom");
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1136 browsers = g_list_prepend(browsers, _("Manual"));
5568
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1137
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1138 for (i = 0; i < num_possible_browsers; i++) {
7108
6faeeecab0dc [gaim-migrate @ 7673]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1139 if (gaim_program_is_valid(possible_browsers[i].command)) {
5633
97a079bc8caa [gaim-migrate @ 6040]
Nathan Walp <nwalp@pidgin.im>
parents: 5631
diff changeset
1140 browsers = g_list_prepend(browsers,
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
1141 possible_browsers[i].command);
5568
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1142 browsers = g_list_prepend(browsers, _(possible_browsers[i].name));
5825
729e688fd2e7 [gaim-migrate @ 6255]
Sean Egan <seanegan@gmail.com>
parents: 5821
diff changeset
1143 if(browser_setting && !strcmp(possible_browsers[i].command, browser_setting))
5819
7bdf66ab4fdd [gaim-migrate @ 6249]
Luke Schierer <lschiere@pidgin.im>
parents: 5771
diff changeset
1144 browser_setting = NULL;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1145 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1146 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1147
5819
7bdf66ab4fdd [gaim-migrate @ 6249]
Luke Schierer <lschiere@pidgin.im>
parents: 5771
diff changeset
1148 if(browser_setting)
7bdf66ab4fdd [gaim-migrate @ 6249]
Luke Schierer <lschiere@pidgin.im>
parents: 5771
diff changeset
1149 gaim_prefs_set_string("/gaim/gtk/browsers/browser", "custom");
7bdf66ab4fdd [gaim-migrate @ 6249]
Luke Schierer <lschiere@pidgin.im>
parents: 5771
diff changeset
1150
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1151 return browsers;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1152 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1153
5568
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1154 static void
8274
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1155 browser_changed1_cb(const char *name, GaimPrefType type, gpointer value,
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1156 gpointer data)
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1157 {
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1158 GtkWidget *hbox = data;
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1159 const char *browser = value;
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1160
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1161 gtk_widget_set_sensitive(hbox, strcmp(browser, "custom"));
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1162 }
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1163
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1164 static void
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1165 browser_changed2_cb(const char *name, GaimPrefType type, gpointer value,
5568
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1166 gpointer data)
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1167 {
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1168 GtkWidget *hbox = data;
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1169 const char *browser = value;
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1170
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1171 gtk_widget_set_sensitive(hbox, !strcmp(browser, "custom"));
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1172 }
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1173
10850
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1174 static GtkWidget *
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1175 browser_page()
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1176 {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1177 GtkWidget *ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1178 GtkWidget *vbox;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1179 GtkWidget *hbox;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1180 GtkWidget *label;
6007
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1181 GtkWidget *entry;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1182 GtkSizeGroup *sg;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1183 GList *browsers = NULL;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1184
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1185 ret = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE);
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1186 gtk_container_set_border_width (GTK_CONTAINER (ret), GAIM_HIG_BORDER);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1187
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1188 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
1189 vbox = gaim_gtk_make_frame (ret, _("Browser Selection"));
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1190
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1191 browsers = get_available_browsers();
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1192 if (browsers != NULL) {
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1193 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
1194 "/gaim/gtk/browsers/browser",
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
1195 browsers);
11638
3a05b53a589e [gaim-migrate @ 13914]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11619
diff changeset
1196 g_list_free(browsers);
10973
65c56b8490c5 [gaim-migrate @ 12798]
Mark Doliner <mark@kingant.net>
parents: 10972
diff changeset
1197 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1198 gtk_size_group_add_widget(sg, label);
8274
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1199
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1200 hbox = gtk_hbox_new(FALSE, 0);
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1201 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
1202 "/gaim/gtk/browsers/place",
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1203 _("Browser default"), GAIM_BROWSER_DEFAULT,
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1204 _("Existing window"), GAIM_BROWSER_CURRENT,
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1205 _("New window"), GAIM_BROWSER_NEW_WINDOW,
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1206 _("New tab"), GAIM_BROWSER_NEW_TAB,
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1207 NULL);
10973
65c56b8490c5 [gaim-migrate @ 12798]
Mark Doliner <mark@kingant.net>
parents: 10972
diff changeset
1208 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
8274
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1209 gtk_size_group_add_widget(sg, label);
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1210 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1211
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1212 if (!strcmp(gaim_prefs_get_string("/gaim/gtk/browsers/browser"), "custom"))
0d9559f3bd2e [gaim-migrate @ 8998]
Mark Doliner <mark@kingant.net>
parents: 8272
diff changeset
1213 gtk_widget_set_sensitive(hbox, FALSE);
10087
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1214 gaim_prefs_connect_callback(prefs, "/gaim/gtk/browsers/browser",
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1215 browser_changed1_cb, hbox);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1216 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1217
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1218 hbox = gtk_hbox_new(FALSE, 5);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1219 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
1220 label = gtk_label_new_with_mnemonic(_("_Manual:\n(%s for URL)"));
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1221 gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1222 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1223 gtk_size_group_add_widget(sg, label);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1224
6007
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1225 entry = gtk_entry_new();
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1226 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
5560
b7319c094153 [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5554
diff changeset
1227
b7319c094153 [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5554
diff changeset
1228 if (strcmp(gaim_prefs_get_string("/gaim/gtk/browsers/browser"), "custom"))
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1229 gtk_widget_set_sensitive(hbox, FALSE);
10087
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1230 gaim_prefs_connect_callback(prefs, "/gaim/gtk/browsers/browser",
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1231 browser_changed2_cb, hbox);
5560
b7319c094153 [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5554
diff changeset
1232
6007
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1233 gtk_box_pack_start (GTK_BOX (hbox), entry, FALSE, FALSE, 0);
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1234
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1235 gtk_entry_set_text(GTK_ENTRY(entry),
5560
b7319c094153 [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5554
diff changeset
1236 gaim_prefs_get_string("/gaim/gtk/browsers/command"));
6007
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1237 g_signal_connect(G_OBJECT(entry), "focus-out-event",
5560
b7319c094153 [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5554
diff changeset
1238 G_CALLBACK(manual_browser_set), NULL);
8188
cd9ea20cd8ed [gaim-migrate @ 8909]
Christian Hammond <chipx86@chipx86.com>
parents: 8170
diff changeset
1239 gaim_set_accessible_label (entry, label);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1240
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1241 gtk_widget_show_all(ret);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1242 return ret;
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 #endif /*_WIN32*/
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1245
10850
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1246 static GtkWidget *
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1247 logging_page()
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1248 {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1249 GtkWidget *ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1250 GtkWidget *vbox;
7431
643cbc9a6035 [gaim-migrate @ 8036]
Sean Egan <seanegan@gmail.com>
parents: 7326
diff changeset
1251 GList *names;
8573
7dcd6f26e4a7 [gaim-migrate @ 9321]
Luke Schierer <lschiere@pidgin.im>
parents: 8494
diff changeset
1252
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1253 ret = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE);
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1254 gtk_container_set_border_width (GTK_CONTAINER (ret), GAIM_HIG_BORDER);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1255
11698
a647f92e1d57 [gaim-migrate @ 13989]
Mark Doliner <mark@kingant.net>
parents: 11697
diff changeset
1256 vbox = gaim_gtk_make_frame (ret, _("Logging"));
7431
643cbc9a6035 [gaim-migrate @ 8036]
Sean Egan <seanegan@gmail.com>
parents: 7326
diff changeset
1257 names = gaim_log_logger_get_options();
643cbc9a6035 [gaim-migrate @ 8036]
Sean Egan <seanegan@gmail.com>
parents: 7326
diff changeset
1258
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1259 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
1260 "/core/logging/format", names);
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1261
11638
3a05b53a589e [gaim-migrate @ 13914]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11619
diff changeset
1262 g_list_free(names);
3a05b53a589e [gaim-migrate @ 13914]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11619
diff changeset
1263
11698
a647f92e1d57 [gaim-migrate @ 13989]
Mark Doliner <mark@kingant.net>
parents: 11697
diff changeset
1264 gaim_gtk_prefs_checkbox(_("Log all _instant messages"),
7562
b859cfb5f31a [gaim-migrate @ 8176]
Christian Hammond <chipx86@chipx86.com>
parents: 7561
diff changeset
1265 "/core/logging/log_ims", vbox);
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1266 gaim_gtk_prefs_checkbox(_("Log all c_hats"),
7562
b859cfb5f31a [gaim-migrate @ 8176]
Christian Hammond <chipx86@chipx86.com>
parents: 7561
diff changeset
1267 "/core/logging/log_chats", vbox);
11699
95cc6e1e9388 [gaim-migrate @ 13990]
Mark Doliner <mark@kingant.net>
parents: 11698
diff changeset
1268 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
1269 "/core/logging/log_system", vbox);
8573
7dcd6f26e4a7 [gaim-migrate @ 9321]
Luke Schierer <lschiere@pidgin.im>
parents: 8494
diff changeset
1270
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1271 gtk_widget_show_all(ret);
11698
a647f92e1d57 [gaim-migrate @ 13989]
Mark Doliner <mark@kingant.net>
parents: 11697
diff changeset
1272
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1273 return ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1274 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1275
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1276 #ifndef _WIN32
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1277 static gint sound_cmd_yeah(GtkEntry *entry, gpointer d)
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1278 {
5684
b61520e71679 [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5681
diff changeset
1279 gaim_prefs_set_string("/gaim/gtk/sound/command",
6007
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1280 gtk_entry_get_text(GTK_ENTRY(entry)));
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1281 return TRUE;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1282 }
6005
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1283
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1284 static void
10074
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1285 sound_changed1_cb(const char *name, GaimPrefType type, gpointer value,
6005
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1286 gpointer data)
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1287 {
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1288 GtkWidget *hbox = data;
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1289 const char *method = value;
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1290
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1291 gtk_widget_set_sensitive(hbox, !strcmp(method, "custom"));
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1292 }
10074
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1293
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1294 static void
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1295 sound_changed2_cb(const char *name, GaimPrefType type, gpointer value,
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1296 gpointer data)
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1297 {
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1298 GtkWidget *vbox = data;
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1299 const char *method = value;
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1300
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1301 gtk_widget_set_sensitive(vbox, strcmp(method, "none"));
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1302 }
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1303 #endif
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1304
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1305
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1306 static void
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1307 event_toggled(GtkCellRendererToggle *cell, gchar *pth, gpointer data)
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1308 {
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1309 GtkTreeModel *model = (GtkTreeModel *)data;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1310 GtkTreeIter iter;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1311 GtkTreePath *path = gtk_tree_path_new_from_string(pth);
10930
bfb3ac69cdd0 [gaim-migrate @ 12709]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10871
diff changeset
1312 char *pref;
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1313
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1314 gtk_tree_model_get_iter (model, &iter, path);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1315 gtk_tree_model_get (model, &iter,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1316 2, &pref,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1317 -1);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1318
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1319 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
1320 g_free(pref);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1321
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1322 gtk_list_store_set(GTK_LIST_STORE (model), &iter,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1323 0, !gtk_cell_renderer_toggle_get_active(cell),
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1324 -1);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1325
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1326 gtk_tree_path_free(path);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1327 }
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1328
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1329 static void
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1330 test_sound(GtkWidget *button, gpointer i_am_NULL)
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1331 {
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1332 char *pref;
11642
58bc500cf226 [gaim-migrate @ 13919]
Mark Doliner <mark@kingant.net>
parents: 11638
diff changeset
1333 gboolean temp_value;
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1334
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1335 pref = g_strdup_printf("/gaim/gtk/sound/enabled/%s",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1336 gaim_gtk_sound_get_event_option(sound_row_sel));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1337
11642
58bc500cf226 [gaim-migrate @ 13919]
Mark Doliner <mark@kingant.net>
parents: 11638
diff changeset
1338 temp_value = gaim_prefs_get_bool(pref);
58bc500cf226 [gaim-migrate @ 13919]
Mark Doliner <mark@kingant.net>
parents: 11638
diff changeset
1339
58bc500cf226 [gaim-migrate @ 13919]
Mark Doliner <mark@kingant.net>
parents: 11638
diff changeset
1340 if (!temp_value) gaim_prefs_set_bool(pref, TRUE);
58bc500cf226 [gaim-migrate @ 13919]
Mark Doliner <mark@kingant.net>
parents: 11638
diff changeset
1341
58bc500cf226 [gaim-migrate @ 13919]
Mark Doliner <mark@kingant.net>
parents: 11638
diff changeset
1342 gaim_sound_play_event(sound_row_sel, NULL);
58bc500cf226 [gaim-migrate @ 13919]
Mark Doliner <mark@kingant.net>
parents: 11638
diff changeset
1343
58bc500cf226 [gaim-migrate @ 13919]
Mark Doliner <mark@kingant.net>
parents: 11638
diff changeset
1344 if (!temp_value) gaim_prefs_set_bool(pref, FALSE);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1345
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1346 g_free(pref);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1347 }
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1348
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1349 /*
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1350 * Resets a sound file back to default.
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1351 */
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1352 static void
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1353 reset_sound(GtkWidget *button, gpointer i_am_also_NULL)
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1354 {
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1355 gchar *pref;
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1356
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1357 pref = g_strdup_printf("/gaim/gtk/sound/file/%s",
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1358 gaim_gtk_sound_get_event_option(sound_row_sel));
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1359 gaim_prefs_set_string(pref, "");
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1360 g_free(pref);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1361
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1362 gtk_entry_set_text(GTK_ENTRY(sound_entry), "(default)");
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1363 }
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1364
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1365 static void
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1366 sound_chosen_cb(void *user_data, const char *filename)
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1367 {
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1368 gchar *pref;
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1369 int sound;
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1370
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1371 sound = GPOINTER_TO_INT(user_data);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1372
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1373 /* Set it -- and forget it */
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1374 pref = g_strdup_printf("/gaim/gtk/sound/file/%s",
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1375 gaim_gtk_sound_get_event_option(sound));
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1376 gaim_prefs_set_string(pref, filename);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1377 g_free(pref);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1378
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1379 /*
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1380 * If the sound we just changed is still the currently selected
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1381 * sound, then update the box showing the file name.
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1382 */
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1383 if (sound == sound_row_sel)
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1384 gtk_entry_set_text(GTK_ENTRY(sound_entry), filename);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1385 }
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1386
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1387 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
1388 {
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1389 gchar *pref;
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1390 const char *filename;
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1391
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1392 pref = g_strdup_printf("/gaim/gtk/sound/file/%s",
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1393 gaim_gtk_sound_get_event_option(sound_row_sel));
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1394 filename = gaim_prefs_get_string(pref);
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1395 g_free(pref);
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1396
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1397 if (*filename == '\0')
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1398 filename = NULL;
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1399
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1400 gaim_request_file(prefs, _("Sound Selection"), filename, FALSE,
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1401 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
1402 }
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1403
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1404 static void prefs_sound_sel(GtkTreeSelection *sel, GtkTreeModel *model) {
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1405 GtkTreeIter iter;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1406 GValue val = { 0, };
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1407 const char *file;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1408 char *pref;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1409
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1410 if (! gtk_tree_selection_get_selected (sel, &model, &iter))
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1411 return;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1412 gtk_tree_model_get_value (model, &iter, 3, &val);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1413 sound_row_sel = g_value_get_uint(&val);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1414
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1415 pref = g_strdup_printf("/gaim/gtk/sound/file/%s",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1416 gaim_gtk_sound_get_event_option(sound_row_sel));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1417 file = gaim_prefs_get_string(pref);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1418 g_free(pref);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1419 if (sound_entry)
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1420 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
1421 g_value_unset (&val);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1422 }
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1423
10850
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1424 static GtkWidget *
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1425 sound_page()
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1426 {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1427 GtkWidget *ret;
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1428 GtkWidget *vbox, *sw, *button;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1429 GtkSizeGroup *sg;
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1430 GtkTreeIter iter;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1431 GtkWidget *event_view;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1432 GtkListStore *event_store;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1433 GtkCellRenderer *rend;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1434 GtkTreeViewColumn *col;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1435 GtkTreeSelection *sel;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1436 GtkTreePath *path;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1437 GtkWidget *hbox;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1438 int j;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1439 const char *file;
11082
e25575a59f01 [gaim-migrate @ 13099]
Mark Doliner <mark@kingant.net>
parents: 11052
diff changeset
1440 char *pref;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1441 #ifndef _WIN32
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1442 GtkWidget *dd;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1443 GtkWidget *label;
6007
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1444 GtkWidget *entry;
5684
b61520e71679 [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5681
diff changeset
1445 const char *cmd;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1446 #endif
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1447
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1448 ret = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE);
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1449 gtk_container_set_border_width (GTK_CONTAINER (ret), GAIM_HIG_BORDER);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1450
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1451 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1452
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1453 #ifndef _WIN32
6033
22923270493f [gaim-migrate @ 6483]
Mark Doliner <mark@kingant.net>
parents: 6031
diff changeset
1454 vbox = gaim_gtk_make_frame (ret, _("Sound Method"));
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1455 dd = gaim_gtk_prefs_dropdown(vbox, _("_Method:"), GAIM_PREF_STRING,
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1456 "/gaim/gtk/sound/method",
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1457 _("Console beep"), "beep",
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1458 #ifdef USE_AO
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1459 _("Automatic"), "automatic",
11082
e25575a59f01 [gaim-migrate @ 13099]
Mark Doliner <mark@kingant.net>
parents: 11052
diff changeset
1460 "Arts", "arts",
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1461 "ESD", "esd",
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1462 "NAS", "nas",
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1463 #endif
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1464 _("Command"), "custom",
10074
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1465 _("No sounds"), "none",
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1466 NULL);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1467 gtk_size_group_add_widget(sg, dd);
10973
65c56b8490c5 [gaim-migrate @ 12798]
Mark Doliner <mark@kingant.net>
parents: 10972
diff changeset
1468 gtk_misc_set_alignment(GTK_MISC(dd), 0, 0.5);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1469
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1470 hbox = gtk_hbox_new(FALSE, 5);
11442
73f7cfa46f1b [gaim-migrate @ 13681]
Richard Laager <rlaager@wiktel.com>
parents: 11424
diff changeset
1471 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1472
6031
855026933d50 [gaim-migrate @ 6481]
Mark Doliner <mark@kingant.net>
parents: 6016
diff changeset
1473 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
1474 gtk_size_group_add_widget(sg, label);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1475 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
11442
73f7cfa46f1b [gaim-migrate @ 13681]
Richard Laager <rlaager@wiktel.com>
parents: 11424
diff changeset
1476 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1477
6007
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1478 entry = gtk_entry_new();
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1479 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1480
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1481 gtk_editable_set_editable(GTK_EDITABLE(entry), TRUE);
5684
b61520e71679 [gaim-migrate @ 6104]
Nathan Walp <nwalp@pidgin.im>
parents: 5681
diff changeset
1482 cmd = gaim_prefs_get_string("/gaim/gtk/sound/command");
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1483 if(cmd)
6007
3750fc0325ac [gaim-migrate @ 6455]
Mark Doliner <mark@kingant.net>
parents: 6006
diff changeset
1484 gtk_entry_set_text(GTK_ENTRY(entry), cmd);
11442
73f7cfa46f1b [gaim-migrate @ 13681]
Richard Laager <rlaager@wiktel.com>
parents: 11424
diff changeset
1485
73f7cfa46f1b [gaim-migrate @ 13681]
Richard Laager <rlaager@wiktel.com>
parents: 11424
diff changeset
1486 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
1487 g_signal_connect(G_OBJECT(entry), "changed",
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1488 G_CALLBACK(sound_cmd_yeah), NULL);
6005
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1489
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1490 gtk_widget_set_sensitive(hbox,
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1491 !strcmp(gaim_prefs_get_string("/gaim/gtk/sound/method"),
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1492 "custom"));
10087
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1493 gaim_prefs_connect_callback(prefs, "/gaim/gtk/sound/method",
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1494 sound_changed1_cb, hbox);
6005
81869466b6a7 [gaim-migrate @ 6453]
Mark Doliner <mark@kingant.net>
parents: 6001
diff changeset
1495
8141
5efe3d9cd552 [gaim-migrate @ 8849]
Luke Schierer <lschiere@pidgin.im>
parents: 8137
diff changeset
1496 gaim_set_accessible_label (entry, label);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1497 #endif /* _WIN32 */
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1498
10074
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1499 vbox = gaim_gtk_make_frame (ret, _("Sound Options"));
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1500 gaim_gtk_prefs_checkbox(_("Sounds when conversation has _focus"),
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1501 "/gaim/gtk/sound/conv_focus", vbox);
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1502 gaim_gtk_prefs_checkbox(_("_Sounds while away"),
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1503 "/core/sound/while_away", vbox);
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1504
10075
4670b7fd1a89 [gaim-migrate @ 11055]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10074
diff changeset
1505 #ifndef _WIN32
10074
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1506 gtk_widget_set_sensitive(vbox,
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1507 strcmp(gaim_prefs_get_string("/gaim/gtk/sound/method"), "none"));
10087
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1508 gaim_prefs_connect_callback(prefs, "/gaim/gtk/sound/method",
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1509 sound_changed2_cb, vbox);
10075
4670b7fd1a89 [gaim-migrate @ 11055]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10074
diff changeset
1510 #endif
10074
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1511
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1512 vbox = gaim_gtk_make_frame(ret, _("Sound Events"));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1513
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1514 /* 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
1515 * sound events list is big enough to be usable */
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1516 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
1517 GTK_PACK_START);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1518 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
1519 TRUE, 0, GTK_PACK_START);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1520 gtk_box_set_child_packing(GTK_BOX(vbox->parent->parent->parent),
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1521 vbox->parent->parent, TRUE, TRUE, 0, GTK_PACK_START);
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 sw = gtk_scrolled_window_new(NULL,NULL);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1524 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
1525 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
1526
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1527 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1528 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
1529
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1530 for (j=0; j < GAIM_NUM_SOUNDS; j++) {
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1531 char *pref = g_strdup_printf("/gaim/gtk/sound/enabled/%s",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1532 gaim_gtk_sound_get_event_option(j));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1533 const char *label = gaim_gtk_sound_get_event_label(j);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1534
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1535 if (label == NULL) {
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1536 g_free(pref);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1537 continue;
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1538 }
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 gtk_list_store_append (event_store, &iter);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1541 gtk_list_store_set(event_store, &iter,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1542 0, gaim_prefs_get_bool(pref),
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1543 1, _(label),
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1544 2, pref,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1545 3, j,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1546 -1);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1547 g_free(pref);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1548 }
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1549
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1550 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
1551
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1552 rend = gtk_cell_renderer_toggle_new();
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1553 sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (event_view));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1554 g_signal_connect (G_OBJECT (sel), "changed",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1555 G_CALLBACK (prefs_sound_sel),
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1556 NULL);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1557 g_signal_connect (G_OBJECT(rend), "toggled",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1558 G_CALLBACK(event_toggled), event_store);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1559 path = gtk_tree_path_new_first();
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1560 gtk_tree_selection_select_path(sel, path);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1561 gtk_tree_path_free(path);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1562
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1563 col = gtk_tree_view_column_new_with_attributes (_("Play"),
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1564 rend,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1565 "active", 0,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1566 NULL);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1567 gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1568
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1569 rend = gtk_cell_renderer_text_new();
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1570 col = gtk_tree_view_column_new_with_attributes (_("Event"),
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1571 rend,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1572 "text", 1,
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1573 NULL);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1574 gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1575 g_object_unref(G_OBJECT(event_store));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1576 gtk_container_add(GTK_CONTAINER(sw), event_view);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1577
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1578 hbox = gtk_hbox_new(FALSE, GAIM_HIG_BOX_SPACE);
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1579 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1580 sound_entry = gtk_entry_new();
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1581 pref = g_strdup_printf("/gaim/gtk/sound/file/%s",
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1582 gaim_gtk_sound_get_event_option(0));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1583 file = gaim_prefs_get_string(pref);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1584 g_free(pref);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1585 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
1586 gtk_editable_set_editable(GTK_EDITABLE(sound_entry), FALSE);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1587 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
1588
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1589 button = gtk_button_new_with_label(_("Test"));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1590 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
1591 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1592
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1593 button = gtk_button_new_with_label(_("Reset"));
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1594 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
1595 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1);
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1596
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1597 button = gtk_button_new_with_label(_("Choose..."));
9508
0123d883616c [gaim-migrate @ 10335]
Mark Doliner <mark@kingant.net>
parents: 9422
diff changeset
1598 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
1599 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1600 gtk_widget_show_all(ret);
9118
2063f8de8f93 [gaim-migrate @ 9895]
Nathan Walp <nwalp@pidgin.im>
parents: 9112
diff changeset
1601
10075
4670b7fd1a89 [gaim-migrate @ 11055]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10074
diff changeset
1602 #ifndef _WIN32
10074
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1603 gtk_widget_set_sensitive(vbox,
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1604 strcmp(gaim_prefs_get_string("/gaim/gtk/sound/method"), "none"));
10087
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1605 gaim_prefs_connect_callback(prefs, "/gaim/gtk/sound/method",
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1606 sound_changed2_cb, vbox);
10075
4670b7fd1a89 [gaim-migrate @ 11055]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10074
diff changeset
1607 #endif
10074
2e225cd35615 [gaim-migrate @ 11054]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10061
diff changeset
1608
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1609 return ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1610 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1611
10182
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1612 /* XXX CORE/UI */
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1613 #if 0
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1614 static void
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1615 set_default_away(GtkWidget *w, gpointer data)
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1616 {
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1617 struct away_message *default_away = NULL;
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1618 int length = g_slist_length(away_messages);
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1619 int i = GPOINTER_TO_INT(data);
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1620
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1621 if (away_messages == NULL)
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1622 default_away = NULL;
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1623 else if (i >= length)
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1624 default_away = g_slist_nth_data(away_messages, length - 1);
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1625 else
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1626 default_away = g_slist_nth_data(away_messages, i);
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1627
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1628 if(default_away)
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1629 gaim_prefs_set_string("/core/away/default_message", default_away->name);
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1630 else
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1631 gaim_prefs_set_string("/core/away/default_message", "");
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1632 }
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1633 #endif
4085b2cda8f1 [gaim-migrate @ 11297]
Mark Doliner <mark@kingant.net>
parents: 10181
diff changeset
1634
10850
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1635 static GtkWidget *
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1636 away_page()
fa06fda62868 [gaim-migrate @ 12522]
Mark Doliner <mark@kingant.net>
parents: 10759
diff changeset
1637 {
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1638 GtkWidget *ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1639 GtkWidget *vbox;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1640 GtkWidget *hbox;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1641 GtkWidget *label;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1642 GtkWidget *button;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1643 GtkWidget *select;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1644 GtkSizeGroup *sg;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1645
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1646 ret = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE);
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1647 gtk_container_set_border_width (GTK_CONTAINER (ret), GAIM_HIG_BORDER);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1648
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1649 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1650
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
1651 vbox = gaim_gtk_make_frame (ret, _("Away"));
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1652 gaim_gtk_prefs_checkbox(_("_Queue new messages when away"),
5573
5e7de337a053 [gaim-migrate @ 5976]
Christian Hammond <chipx86@chipx86.com>
parents: 5568
diff changeset
1653 "/gaim/gtk/away/queue_messages", vbox);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1654
9596
7b3212aa698c [gaim-migrate @ 10439]
Mark Doliner <mark@kingant.net>
parents: 9521
diff changeset
1655 label = gaim_gtk_prefs_dropdown(vbox, _("_Auto-reply:"),
7b3212aa698c [gaim-migrate @ 10439]
Mark Doliner <mark@kingant.net>
parents: 9521
diff changeset
1656 GAIM_PREF_STRING, "/core/away/auto_reply",
7b3212aa698c [gaim-migrate @ 10439]
Mark Doliner <mark@kingant.net>
parents: 9521
diff changeset
1657 _("Never"), "never",
9736
bd61fb6021ad [gaim-migrate @ 10597]
Sean Egan <seanegan@gmail.com>
parents: 9730
diff changeset
1658 _("When away"), "away",
10859
310c5e6120fb [gaim-migrate @ 12542]
Mark Doliner <mark@kingant.net>
parents: 10850
diff changeset
1659 _("When both away and idle"), "awayidle",
9596
7b3212aa698c [gaim-migrate @ 10439]
Mark Doliner <mark@kingant.net>
parents: 9521
diff changeset
1660 NULL);
6142
9a1c1b1764ac [gaim-migrate @ 6616]
Nathan Walp <nwalp@pidgin.im>
parents: 6141
diff changeset
1661
11287
fb6e85c55fb8 [gaim-migrate @ 13484]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11275
diff changeset
1662 button = gaim_gtk_prefs_checkbox(_("_Report idle time"),
fb6e85c55fb8 [gaim-migrate @ 13484]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11275
diff changeset
1663 "/gaim/gtk/idle/report", vbox);
fb6e85c55fb8 [gaim-migrate @ 13484]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11275
diff changeset
1664
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
1665 vbox = gaim_gtk_make_frame (ret, _("Auto-away"));
11811
924c6ba240e6 [gaim-migrate @ 14102]
Mark Doliner <mark@kingant.net>
parents: 11796
diff changeset
1666 button = gaim_gtk_prefs_checkbox(_("Change status when _idle"),
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
1667 "/core/away/away_when_idle", vbox);
8238
32625c0dbba6 [gaim-migrate @ 8961]
Mark Doliner <mark@kingant.net>
parents: 8231
diff changeset
1668
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1669 select = gaim_gtk_prefs_labeled_spin_button(vbox,
11811
924c6ba240e6 [gaim-migrate @ 14102]
Mark Doliner <mark@kingant.net>
parents: 11796
diff changeset
1670 _("_Minutes before changing status:"), "/core/away/mins_before_away",
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1671 1, 24 * 60, sg);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1672 g_signal_connect(G_OBJECT(button), "clicked",
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1673 G_CALLBACK(gaim_gtk_toggle_sensitive), select);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1674
8238
32625c0dbba6 [gaim-migrate @ 8961]
Mark Doliner <mark@kingant.net>
parents: 8231
diff changeset
1675 hbox = gtk_hbox_new(FALSE, 0);
32625c0dbba6 [gaim-migrate @ 8961]
Mark Doliner <mark@kingant.net>
parents: 8231
diff changeset
1676 gtk_container_add(GTK_CONTAINER(vbox), hbox);
32625c0dbba6 [gaim-migrate @ 8961]
Mark Doliner <mark@kingant.net>
parents: 8231
diff changeset
1677
11811
924c6ba240e6 [gaim-migrate @ 14102]
Mark Doliner <mark@kingant.net>
parents: 11796
diff changeset
1678 label = gtk_label_new_with_mnemonic(_("Change _status to:"));
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1679 gtk_size_group_add_widget(sg, label);
10973
65c56b8490c5 [gaim-migrate @ 12798]
Mark Doliner <mark@kingant.net>
parents: 10972
diff changeset
1680 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
8238
32625c0dbba6 [gaim-migrate @ 8961]
Mark Doliner <mark@kingant.net>
parents: 8231
diff changeset
1681 g_signal_connect(G_OBJECT(button), "clicked",
32625c0dbba6 [gaim-migrate @ 8961]
Mark Doliner <mark@kingant.net>
parents: 8231
diff changeset
1682 G_CALLBACK(gaim_gtk_toggle_sensitive), label);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1683 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
1684
11811
924c6ba240e6 [gaim-migrate @ 14102]
Mark Doliner <mark@kingant.net>
parents: 11796
diff changeset
1685 /*
924c6ba240e6 [gaim-migrate @ 14102]
Mark Doliner <mark@kingant.net>
parents: 11796
diff changeset
1686 * TODO: Need to allow users to choose a GaimSavedStatus
924c6ba240e6 [gaim-migrate @ 14102]
Mark Doliner <mark@kingant.net>
parents: 11796
diff changeset
1687 * to use when going idle-away. Or figure out a
924c6ba240e6 [gaim-migrate @ 14102]
Mark Doliner <mark@kingant.net>
parents: 11796
diff changeset
1688 * better UI for this.
924c6ba240e6 [gaim-migrate @ 14102]
Mark Doliner <mark@kingant.net>
parents: 11796
diff changeset
1689 */
924c6ba240e6 [gaim-migrate @ 14102]
Mark Doliner <mark@kingant.net>
parents: 11796
diff changeset
1690
5550
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
1691 if (!gaim_prefs_get_bool("/core/away/away_when_idle")) {
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
1692 gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE);
8238
32625c0dbba6 [gaim-migrate @ 8961]
Mark Doliner <mark@kingant.net>
parents: 8231
diff changeset
1693 gtk_widget_set_sensitive(GTK_WIDGET(label), FALSE);
5550
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
1694 }
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
1695
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1696 gtk_widget_show_all(ret);
5550
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
1697
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1698 return ret;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1699 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1700
10759
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
1701 int prefs_notebook_add_page(const char *text,
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1702 GdkPixbuf *pixbuf,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1703 GtkWidget *page,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1704 GtkTreeIter *iter,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1705 GtkTreeIter *parent,
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1706 int ind) {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1707 GdkPixbuf *icon = NULL;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1708
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1709 if (pixbuf)
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1710 icon = gdk_pixbuf_scale_simple (pixbuf, 18, 18, GDK_INTERP_BILINEAR);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1711
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1712 if (pixbuf)
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1713 g_object_unref(pixbuf);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1714 if (icon)
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1715 g_object_unref(icon);
10759
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
1716
11380
eb49e64d02fd [gaim-migrate @ 13607]
Mark Doliner <mark@kingant.net>
parents: 11287
diff changeset
1717 #if GTK_CHECK_VERSION(2,4,0)
10759
56915e1b3ba3 [gaim-migrate @ 12362]
Mark Doliner <mark@kingant.net>
parents: 10701
diff changeset
1718 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
1719 #else
eb49e64d02fd [gaim-migrate @ 13607]
Mark Doliner <mark@kingant.net>
parents: 11287
diff changeset
1720 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
1721 return gtk_notebook_page_num(GTK_NOTEBOOK(prefsnotebook), page);
eb49e64d02fd [gaim-migrate @ 13607]
Mark Doliner <mark@kingant.net>
parents: 11287
diff changeset
1722 #endif
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1723 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1724
10871
6240d7fd5b2c [gaim-migrate @ 12558]
Mark Doliner <mark@kingant.net>
parents: 10859
diff changeset
1725 static void prefs_notebook_init() {
9267
3e8619644a8a [gaim-migrate @ 10066]
Tim Ringenbach <marv@pidgin.im>
parents: 9251
diff changeset
1726 GtkTreeIter p, c, c2;
9150
05532ad61ed5 [gaim-migrate @ 9934]
Luke Schierer <lschiere@pidgin.im>
parents: 9130
diff changeset
1727 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
1728 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
1729 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
1730 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
1731 #ifndef _WIN32
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1732 /* We use the registered default browser in windows */
10060
7570908c558f [gaim-migrate @ 11030]
Tim Ringenbach <marv@pidgin.im>
parents: 9993
diff changeset
1733 /* 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
1734 if (gaim_running_gnome() == FALSE) {
10060
7570908c558f [gaim-migrate @ 11030]
Tim Ringenbach <marv@pidgin.im>
parents: 9993
diff changeset
1735 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
1736 }
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1737 #endif
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1738 prefs_notebook_add_page(_("Logging"), NULL, logging_page(), &p, NULL, notebook_page++);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1739 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
1740 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1741
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
1742 void gaim_gtk_prefs_show(void)
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1743 {
10078
436fe70b4d50 [gaim-migrate @ 11060]
Sean Egan <seanegan@gmail.com>
parents: 10075
diff changeset
1744 GtkWidget *vbox;
8292
90ed519c6645 [gaim-migrate @ 9016]
Christian Hammond <chipx86@chipx86.com>
parents: 8283
diff changeset
1745 GtkWidget *bbox;
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1746 GtkWidget *notebook;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1747 GtkWidget *button;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1748
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1749 if (prefs) {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1750 gtk_window_present(GTK_WINDOW(prefs));
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1751 return;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1752 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1753
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1754 /* copy the preferences to tmp values...
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1755 * I liked "take affect immediately" Oh well :-( */
6016
1e4a574bb46d [gaim-migrate @ 6466]
Mark Doliner <mark@kingant.net>
parents: 6007
diff changeset
1756 /* (that should have been "effect," right?) */
1e4a574bb46d [gaim-migrate @ 6466]
Mark Doliner <mark@kingant.net>
parents: 6007
diff changeset
1757
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1758 /* Back to instant-apply! I win! BU-HAHAHA! */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1759
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1760 /* Create the window */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1761 prefs = gtk_window_new(GTK_WINDOW_TOPLEVEL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1762 gtk_window_set_role(GTK_WINDOW(prefs), "preferences");
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1763 gtk_window_set_title(GTK_WINDOW(prefs), _("Preferences"));
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1764 gtk_window_set_resizable (GTK_WINDOW(prefs), FALSE);
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1765 gtk_container_set_border_width(GTK_CONTAINER(prefs), GAIM_HIG_BORDER);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1766 g_signal_connect(G_OBJECT(prefs), "destroy",
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1767 G_CALLBACK(delete_prefs), NULL);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1768
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1769 vbox = gtk_vbox_new(FALSE, GAIM_HIG_BORDER);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1770 gtk_container_add(GTK_CONTAINER(prefs), vbox);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1771 gtk_widget_show(vbox);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1772
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1773 /* The notebook */
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1774 prefsnotebook = notebook = gtk_notebook_new ();
10078
436fe70b4d50 [gaim-migrate @ 11060]
Sean Egan <seanegan@gmail.com>
parents: 10075
diff changeset
1775 gtk_box_pack_start (GTK_BOX (vbox), notebook, FALSE, FALSE, 0);
11740
7e0ad3b6882a [gaim-migrate @ 14031]
Sean Egan <seanegan@gmail.com>
parents: 11709
diff changeset
1776 gtk_widget_show(prefsnotebook);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1777
8713
7024b595b6ae [gaim-migrate @ 9467]
Luke Schierer <lschiere@pidgin.im>
parents: 8705
diff changeset
1778 /* The buttons to press! */
8292
90ed519c6645 [gaim-migrate @ 9016]
Christian Hammond <chipx86@chipx86.com>
parents: 8283
diff changeset
1779 bbox = gtk_hbutton_box_new();
11243
a511b77a368b [gaim-migrate @ 13408]
Mark Doliner <mark@kingant.net>
parents: 11137
diff changeset
1780 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
1781 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
1782 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0);
90ed519c6645 [gaim-migrate @ 9016]
Christian Hammond <chipx86@chipx86.com>
parents: 8283
diff changeset
1783 gtk_widget_show (bbox);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1784
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1785 button = gtk_button_new_from_stock (GTK_STOCK_CLOSE);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1786 g_signal_connect_swapped(G_OBJECT(button), "clicked",
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1787 G_CALLBACK(gtk_widget_destroy), prefs);
8292
90ed519c6645 [gaim-migrate @ 9016]
Christian Hammond <chipx86@chipx86.com>
parents: 8283
diff changeset
1788 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1789 gtk_widget_show(button);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1790
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1791 prefs_notebook_init();
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1792
5568
fb4f7bd7525c [gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1793 /* Show everything. */
11740
7e0ad3b6882a [gaim-migrate @ 14031]
Sean Egan <seanegan@gmail.com>
parents: 11709
diff changeset
1794 gtk_widget_show(prefs);
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1795 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1796
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
1797 static void
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
1798 set_bool_pref(GtkWidget *w, const char *key)
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
1799 {
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
1800 gaim_prefs_set_bool(key,
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
1801 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w)));
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
1802 }
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
1803
7976
8e5a21b1efa6 [gaim-migrate @ 8653]
Nathan Walp <nwalp@pidgin.im>
parents: 7940
diff changeset
1804 GtkWidget *
7987
fc6b362f9c26 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
1805 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
1806 {
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1807 GtkWidget *button;
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
1808
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1809 button = gtk_check_button_new_with_mnemonic(text);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
1810 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button),
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
1811 gaim_prefs_get_bool(key));
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
1812
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1813 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
1814
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
1815 g_signal_connect(G_OBJECT(button), "clicked",
5551
51699de873af [gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents: 5550
diff changeset
1816 G_CALLBACK(set_bool_pref), (char *)key);
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
1817
5440
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1818 gtk_widget_show(button);
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1819
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1820 return button;
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1821 }
7e8524b5ff98 [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1822
5770
a86051df9122 [gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents: 5753
diff changeset
1823 static void
a86051df9122 [gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents: 5753
diff changeset
1824 smiley_theme_pref_cb(const char *name, GaimPrefType type, gpointer value,
a86051df9122 [gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents: 5753
diff changeset
1825 gpointer data)
a86051df9122 [gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents: 5753
diff changeset
1826 {
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
1827 const char *themename = value;
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
1828 GSList *themes;
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
1829
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
1830 for (themes = smiley_themes; themes; themes = themes->next) {
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
1831 struct smiley_theme *smile = themes->data;
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
1832 if (smile->name && strcmp(themename, smile->name) == 0) {
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
1833 gaim_gtkthemes_load_smiley_theme(smile->path, TRUE);
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
1834 break;
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
1835 }
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
1836 }
5770
a86051df9122 [gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents: 5753
diff changeset
1837 }
a86051df9122 [gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents: 5753
diff changeset
1838
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
1839 void
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
1840 gaim_gtk_prefs_init(void)
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
1841 {
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
1842 gaim_prefs_add_none("/gaim");
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
1843 gaim_prefs_add_none("/gaim/gtk");
5550
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
1844 gaim_prefs_add_none("/plugins/gtk");
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
1845
5573
5e7de337a053 [gaim-migrate @ 5976]
Christian Hammond <chipx86@chipx86.com>
parents: 5568
diff changeset
1846 /* Away Queueing */
5e7de337a053 [gaim-migrate @ 5976]
Christian Hammond <chipx86@chipx86.com>
parents: 5568
diff changeset
1847 gaim_prefs_add_none("/gaim/gtk/away");
5e7de337a053 [gaim-migrate @ 5976]
Christian Hammond <chipx86@chipx86.com>
parents: 5568
diff changeset
1848 gaim_prefs_add_bool("/gaim/gtk/away/queue_messages", FALSE);
5e7de337a053 [gaim-migrate @ 5976]
Christian Hammond <chipx86@chipx86.com>
parents: 5568
diff changeset
1849
8283
35f69749b226 [gaim-migrate @ 9007]
Luke Schierer <lschiere@pidgin.im>
parents: 8274
diff changeset
1850 #ifndef _WIN32
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
1851 /* Browsers */
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
1852 gaim_prefs_add_none("/gaim/gtk/browsers");
8272
9af78e73f0b2 [gaim-migrate @ 8996]
Mark Doliner <mark@kingant.net>
parents: 8267
diff changeset
1853 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
1854 gaim_prefs_add_string("/gaim/gtk/browsers/command", "");
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
1855 gaim_prefs_add_string("/gaim/gtk/browsers/browser", "mozilla");
8283
35f69749b226 [gaim-migrate @ 9007]
Luke Schierer <lschiere@pidgin.im>
parents: 8274
diff changeset
1856 #endif
5545
7a64114641c3 [gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents: 5539
diff changeset
1857
5550
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
1858 /* Idle */
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
1859 gaim_prefs_add_none("/gaim/gtk/idle");
11287
fb6e85c55fb8 [gaim-migrate @ 13484]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11275
diff changeset
1860 gaim_prefs_add_bool("/gaim/gtk/idle/report", TRUE);
5550
b18c2a37cc96 [gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents: 5547
diff changeset
1861
5949
90d0849abd3c [gaim-migrate @ 6393]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1862 /* Plugins */
5982
35d3c1ac5ece [gaim-migrate @ 6430]
Christian Hammond <chipx86@chipx86.com>
parents: 5981
diff changeset
1863 gaim_prefs_add_none("/gaim/gtk/plugins");
5949
90d0849abd3c [gaim-migrate @ 6393]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1864 gaim_prefs_add_string_list("/gaim/gtk/plugins/loaded", NULL);
90d0849abd3c [gaim-migrate @ 6393]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1865
10605
56d4460bb6bd [gaim-migrate @ 12037]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10589
diff changeset
1866 /* File locations */
56d4460bb6bd [gaim-migrate @ 12037]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10589
diff changeset
1867 gaim_prefs_add_none("/gaim/gtk/filelocations");
56d4460bb6bd [gaim-migrate @ 12037]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10589
diff changeset
1868 gaim_prefs_add_string("/gaim/gtk/filelocations/last_save_folder", "");
56d4460bb6bd [gaim-migrate @ 12037]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10589
diff changeset
1869 gaim_prefs_add_string("/gaim/gtk/filelocations/last_open_folder", "");
56d4460bb6bd [gaim-migrate @ 12037]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10589
diff changeset
1870 gaim_prefs_add_string("/gaim/gtk/filelocations/last_icon_folder", "");
56d4460bb6bd [gaim-migrate @ 12037]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10589
diff changeset
1871
5539
de09863bd4b5 [gaim-migrate @ 5939]
Christian Hammond <chipx86@chipx86.com>
parents: 5535
diff changeset
1872 /* Smiley Themes */
5546
22cf337e8b8f [gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents: 5545
diff changeset
1873 gaim_prefs_add_none("/gaim/gtk/smileys");
11557
1e7c0773380f [gaim-migrate @ 13819]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11550
diff changeset
1874 gaim_prefs_add_string("/gaim/gtk/smileys/theme", "Default");
5770
a86051df9122 [gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents: 5753
diff changeset
1875
a86051df9122 [gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents: 5753
diff changeset
1876 /* Smiley Callbacks */
10087
9fdbfe832fac [gaim-migrate @ 11098]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10079
diff changeset
1877 gaim_prefs_connect_callback(prefs, "/gaim/gtk/smileys/theme",
5770
a86051df9122 [gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents: 5753
diff changeset
1878 smiley_theme_pref_cb, NULL);
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
1879 }
8905
438e8d857554 [gaim-migrate @ 9674]
Mark Doliner <mark@kingant.net>
parents: 8900
diff changeset
1880
438e8d857554 [gaim-migrate @ 9674]
Mark Doliner <mark@kingant.net>
parents: 8900
diff changeset
1881 void gaim_gtk_prefs_update_old() {
438e8d857554 [gaim-migrate @ 9674]
Mark Doliner <mark@kingant.net>
parents: 8900
diff changeset
1882 /* Rename some old prefs */
438e8d857554 [gaim-migrate @ 9674]
Mark Doliner <mark@kingant.net>
parents: 8900
diff changeset
1883 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
1884 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
1885 gaim_prefs_rename("/core/conversations/placement",
8998
3738d1eac0ad [gaim-migrate @ 9773]
Luke Schierer <lschiere@pidgin.im>
parents: 8994
diff changeset
1886 "/gaim/gtk/conversations/placement");
8905
438e8d857554 [gaim-migrate @ 9674]
Mark Doliner <mark@kingant.net>
parents: 8900
diff changeset
1887
10307
2ac21bf20e04 [gaim-migrate @ 11497]
Mark Doliner <mark@kingant.net>
parents: 10297
diff changeset
1888 gaim_prefs_rename("/gaim/gtk/debug/timestamps", "/core/debug/timestamps");
10701
e4d893b12624 [gaim-migrate @ 12283]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10676
diff changeset
1889 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
1890
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
1891 /* 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
1892 * 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
1893 gaim_prefs_rename_boolean_toggle("/gaim/gtk/conversations/ignore_colors",
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
1894 "/gaim/gtk/conversations/show_incoming_formatting");
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
1895 gaim_prefs_rename_boolean_toggle("/gaim/gtk/conversations/ignore_formatting",
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
1896 "/gaim/gtk/conversations/show_incoming_formatting");
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
1897
8905
438e8d857554 [gaim-migrate @ 9674]
Mark Doliner <mark@kingant.net>
parents: 8900
diff changeset
1898 /* Remove some no-longer-used prefs */
10398
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
1899 gaim_prefs_remove("/gaim/gtk/blist/auto_expand_contacts");
10133
e144efd6a5be [gaim-migrate @ 11197]
Mark Doliner <mark@kingant.net>
parents: 10129
diff changeset
1900 gaim_prefs_remove("/gaim/gtk/blist/button_style");
10168
e6372844a4b8 [gaim-migrate @ 11257]
Mark Doliner <mark@kingant.net>
parents: 10167
diff changeset
1901 gaim_prefs_remove("/gaim/gtk/blist/grey_idle_buddies");
10133
e144efd6a5be [gaim-migrate @ 11197]
Mark Doliner <mark@kingant.net>
parents: 10129
diff changeset
1902 gaim_prefs_remove("/gaim/gtk/blist/raise_on_events");
8945
6d7b403b11bb [gaim-migrate @ 9717]
Mark Doliner <mark@kingant.net>
parents: 8944
diff changeset
1903 gaim_prefs_remove("/gaim/gtk/blist/show_group_count");
10353
fc7168f9ecb0 [gaim-migrate @ 11570]
Mark Doliner <mark@kingant.net>
parents: 10351
diff changeset
1904 gaim_prefs_remove("/gaim/gtk/blist/show_idle_time");
fc7168f9ecb0 [gaim-migrate @ 11570]
Mark Doliner <mark@kingant.net>
parents: 10351
diff changeset
1905 gaim_prefs_remove("/gaim/gtk/blist/show_warning_level");
10358
524674a4f6bb [gaim-migrate @ 11576]
Mark Doliner <mark@kingant.net>
parents: 10356
diff changeset
1906 gaim_prefs_remove("/gaim/gtk/conversations/button_type");
10398
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
1907 gaim_prefs_remove("/gaim/gtk/conversations/ctrl_enter_sends");
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
1908 gaim_prefs_remove("/gaim/gtk/conversations/enter_sends");
11697
186d2d293ef4 [gaim-migrate @ 13988]
Mark Doliner <mark@kingant.net>
parents: 11642
diff changeset
1909 gaim_prefs_remove("/gaim/gtk/conversations/escape_closes");
10164
3f71f7282dbf [gaim-migrate @ 11250]
Mark Doliner <mark@kingant.net>
parents: 10163
diff changeset
1910 gaim_prefs_remove("/gaim/gtk/conversations/html_shortcuts");
8946
80944edf8d80 [gaim-migrate @ 9718]
Mark Doliner <mark@kingant.net>
parents: 8945
diff changeset
1911 gaim_prefs_remove("/gaim/gtk/conversations/icons_on_tabs");
11267
477e5cca8287 [gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents: 11256
diff changeset
1912 gaim_prefs_remove("/gaim/gtk/conversations/send_formatting");
10398
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
1913 gaim_prefs_remove("/gaim/gtk/conversations/show_smileys");
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
1914 gaim_prefs_remove("/gaim/gtk/conversations/show_timestamps");
8905
438e8d857554 [gaim-migrate @ 9674]
Mark Doliner <mark@kingant.net>
parents: 8900
diff changeset
1915 gaim_prefs_remove("/gaim/gtk/conversations/show_urls_as_links");
10164
3f71f7282dbf [gaim-migrate @ 11250]
Mark Doliner <mark@kingant.net>
parents: 10163
diff changeset
1916 gaim_prefs_remove("/gaim/gtk/conversations/smiley_shortcuts");
9025
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
1917 gaim_prefs_remove("/gaim/gtk/conversations/use_custom_bgcolor");
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
1918 gaim_prefs_remove("/gaim/gtk/conversations/use_custom_fgcolor");
11269
1cbe76d30e81 [gaim-migrate @ 13451]
Richard Laager <rlaager@wiktel.com>
parents: 11267
diff changeset
1919 gaim_prefs_remove("/gaim/gtk/conversations/use_custom_font");
9025
b24967757d46 [gaim-migrate @ 9801]
Luke Schierer <lschiere@pidgin.im>
parents: 8998
diff changeset
1920 gaim_prefs_remove("/gaim/gtk/conversations/use_custom_size");
10398
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
1921 gaim_prefs_remove("/gaim/gtk/conversations/chat/old_tab_complete");
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
1922 gaim_prefs_remove("/gaim/gtk/conversations/chat/tab_completion");
9301
3d5519a84d02 [gaim-migrate @ 10105]
Mark Doliner <mark@kingant.net>
parents: 9285
diff changeset
1923 gaim_prefs_remove("/gaim/gtk/conversations/im/hide_on_send");
10398
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
1924 gaim_prefs_remove("/gaim/gtk/conversations/chat/color_nicks");
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
1925 gaim_prefs_remove("/gaim/gtk/conversations/chat/raise_on_events");
10492
45ad1d15fab3 [gaim-migrate @ 11782]
Sean Egan <seanegan@gmail.com>
parents: 10489
diff changeset
1926 gaim_prefs_remove("/gaim/gtk/conversations/ignore_fonts");
45ad1d15fab3 [gaim-migrate @ 11782]
Sean Egan <seanegan@gmail.com>
parents: 10489
diff changeset
1927 gaim_prefs_remove("/gaim/gtk/conversations/ignore_font_sizes");
11697
186d2d293ef4 [gaim-migrate @ 13988]
Mark Doliner <mark@kingant.net>
parents: 11642
diff changeset
1928 gaim_prefs_remove("/gaim/gtk/idle/method");
10398
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
1929 gaim_prefs_remove("/gaim/gtk/logging/individual_logs");
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
1930 gaim_prefs_remove("/gaim/gtk/sound/signon");
de59c0e7f87e [gaim-migrate @ 11628]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10389
diff changeset
1931 gaim_prefs_remove("/gaim/gtk/sound/silent_signon");
8905
438e8d857554 [gaim-migrate @ 9674]
Mark Doliner <mark@kingant.net>
parents: 8900
diff changeset
1932 }