Mon, 12 Dec 2005 20:38:10 +0000
[gaim-migrate @ 14782]
SF Patch #1373967 from charkins
"This patch requires #1372898 to be applied first. It
adds two 3-way preferences to the docklet plugin to
determine when the tray icon should blink. One pref is
for unread IM messages, the other for unread chat
messages. The options for each:
im: never, when hidden, always
chat: never, when nick said, always
I've set the defaults to match the 1.x behavior (when
hidden for im, never for chat)."
This patch provided a function used by a previous patch. I undid my (now incorrect) changes there. I modified this to have a limit to the number of tooltips to display. I also tweaked the preference strings a bit. So, blame me if those things are wrong. ;)
committer: Richard Laager <rlaager@pidgin.im>
|
6928
17e0c572bd97
[gaim-migrate @ 7475]
Christian Hammond <chipx86@chipx86.com>
parents:
6861
diff
changeset
|
1 | /** |
|
5530
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5440
diff
changeset
|
2 | * @file gtkprefs.c GTK+ Preferences |
|
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5440
diff
changeset
|
3 | * @ingroup gtkui |
|
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5440
diff
changeset
|
4 | * |
| 5440 | 5 | * gaim |
| 6 | * | |
| 8046 | 7 | * Gaim is the legal property of its developers, whose names are too numerous |
| 8 | * to list here. Please refer to the COPYRIGHT file distributed with this | |
| 9 | * source distribution. | |
| 5440 | 10 | * |
| 11 | * This program is free software; you can redistribute it and/or modify | |
| 12 | * it under the terms of the GNU General Public License as published by | |
| 13 | * the Free Software Foundation; either version 2 of the License, or | |
| 14 | * (at your option) any later version. | |
| 15 | * | |
| 16 | * This program is distributed in the hope that it will be useful, | |
| 17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 19 | * GNU General Public License for more details. | |
| 20 | * | |
| 21 | * You should have received a copy of the GNU General Public License | |
| 22 | * along with this program; if not, write to the Free Software | |
| 23 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 24 | * | |
| 25 | */ | |
| 9791 | 26 | #include "internal.h" |
| 27 | #include "gtkgaim.h" | |
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5870
diff
changeset
|
28 | |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5870
diff
changeset
|
29 | #include "debug.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5870
diff
changeset
|
30 | #include "notify.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5870
diff
changeset
|
31 | #include "prefs.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5870
diff
changeset
|
32 | #include "proxy.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5870
diff
changeset
|
33 | #include "prpl.h" |
|
9508
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
34 | #include "request.h" |
| 12195 | 35 | #include "savedstatuses.h" |
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5870
diff
changeset
|
36 | #include "sound.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5870
diff
changeset
|
37 | #include "util.h" |
| 8231 | 38 | #include "network.h" |
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5870
diff
changeset
|
39 | |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5870
diff
changeset
|
40 | #include "gtkblist.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5870
diff
changeset
|
41 | #include "gtkconv.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5870
diff
changeset
|
42 | #include "gtkdebug.h" |
|
9709
2e73f176cc80
[gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
9707
diff
changeset
|
43 | #include "gtkdialogs.h" |
| 5440 | 44 | #include "gtkimhtml.h" |
| 8833 | 45 | #include "gtkimhtmltoolbar.h" |
|
5530
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5440
diff
changeset
|
46 | #include "gtkprefs.h" |
| 12195 | 47 | #include "gtksavedstatuses.h" |
| 5684 | 48 | #include "gtksound.h" |
|
11525
1d06283bdcc9
[gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents:
11442
diff
changeset
|
49 | #include "gtkthemes.h" |
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5870
diff
changeset
|
50 | #include "gtkutils.h" |
|
10297
b36800725b7a
[gaim-migrate @ 11480]
Evan Schoenberg <evands@pidgin.im>
parents:
10272
diff
changeset
|
51 | #include "gtkstock.h" |
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5870
diff
changeset
|
52 | |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
53 | #define PROXYHOST 0 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
54 | #define PROXYPORT 1 |
|
6005
596ca49e2514
[gaim-migrate @ 6453]
Mark Doliner <markdoliner@pidgin.im>
parents:
6001
diff
changeset
|
55 | #define PROXYUSER 2 |
|
596ca49e2514
[gaim-migrate @ 6453]
Mark Doliner <markdoliner@pidgin.im>
parents:
6001
diff
changeset
|
56 | #define PROXYPASS 3 |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
57 | |
| 5440 | 58 | static int sound_row_sel = 0; |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
59 | static GtkWidget *prefsnotebook; |
| 5440 | 60 | |
| 61 | static GtkWidget *sound_entry = NULL; | |
| 62 | static GtkListStore *smiley_theme_store = NULL; | |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
63 | static GtkWidget *prefs_proxy_frame = NULL; |
| 5440 | 64 | |
| 65 | static GtkWidget *prefs = NULL; | |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
66 | static GtkWidget *debugbutton = NULL; |
| 5440 | 67 | static int notebook_page = 0; |
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
68 | static GtkTreeRowReference *previous_smiley_row = NULL; |
| 5440 | 69 | |
| 70 | /* | |
| 71 | * PROTOTYPES | |
| 72 | */ | |
|
10759
c6600b133594
[gaim-migrate @ 12362]
Mark Doliner <markdoliner@pidgin.im>
parents:
10701
diff
changeset
|
73 | static int prefs_notebook_add_page(const char*, GdkPixbuf*, |
|
c6600b133594
[gaim-migrate @ 12362]
Mark Doliner <markdoliner@pidgin.im>
parents:
10701
diff
changeset
|
74 | GtkWidget*, GtkTreeIter*, |
|
c6600b133594
[gaim-migrate @ 12362]
Mark Doliner <markdoliner@pidgin.im>
parents:
10701
diff
changeset
|
75 | GtkTreeIter*, int); |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
76 | static void delete_prefs(GtkWidget *, void *); |
| 5440 | 77 | |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
78 | static void |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
79 | update_spin_value(GtkWidget *w, GtkWidget *spin) |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
80 | { |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
81 | const char *key = g_object_get_data(G_OBJECT(spin), "val"); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
82 | int value; |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
83 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
84 | value = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spin)); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
85 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
86 | gaim_prefs_set_int(key, value); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
87 | } |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
88 | |
| 7976 | 89 | GtkWidget * |
| 7987 | 90 | gaim_gtk_prefs_labeled_spin_button(GtkWidget *box, const gchar *title, |
| 10367 | 91 | const char *key, int min, int max, GtkSizeGroup *sg) |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
92 | { |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
93 | GtkWidget *hbox; |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
94 | GtkWidget *label; |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
95 | GtkWidget *spin; |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
96 | GtkObject *adjust; |
|
5550
1938d1e59cf8
[gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents:
5547
diff
changeset
|
97 | int val; |
|
1938d1e59cf8
[gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents:
5547
diff
changeset
|
98 | |
|
1938d1e59cf8
[gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents:
5547
diff
changeset
|
99 | val = gaim_prefs_get_int(key); |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
100 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
101 | hbox = gtk_hbox_new(FALSE, 5); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
102 | gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
103 | gtk_widget_show(hbox); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
104 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
105 | label = gtk_label_new_with_mnemonic(title); |
| 8713 | 106 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
107 | gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
108 | gtk_widget_show(label); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
109 | |
|
5550
1938d1e59cf8
[gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents:
5547
diff
changeset
|
110 | adjust = gtk_adjustment_new(val, min, max, 1, 1, 1); |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
111 | spin = gtk_spin_button_new(GTK_ADJUSTMENT(adjust), 1, 0); |
| 10367 | 112 | g_object_set_data(G_OBJECT(spin), "val", (char *)key); |
| 8467 | 113 | if (max < 10000) |
| 114 | gtk_widget_set_size_request(spin, 50, -1); | |
| 115 | else | |
| 116 | gtk_widget_set_size_request(spin, 60, -1); | |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
117 | gtk_box_pack_start(GTK_BOX(hbox), spin, FALSE, FALSE, 0); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
118 | g_signal_connect(G_OBJECT(adjust), "value-changed", |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
119 | G_CALLBACK(update_spin_value), GTK_WIDGET(spin)); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
120 | gtk_widget_show(spin); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
121 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
122 | gtk_label_set_mnemonic_widget(GTK_LABEL(label), spin); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
123 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
124 | if (sg) { |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
125 | gtk_size_group_add_widget(sg, label); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
126 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
127 | } |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
128 | |
| 8137 | 129 | gaim_set_accessible_label (spin, label); |
|
10759
c6600b133594
[gaim-migrate @ 12362]
Mark Doliner <markdoliner@pidgin.im>
parents:
10701
diff
changeset
|
130 | |
|
8238
f7d22f952df5
[gaim-migrate @ 8961]
Mark Doliner <markdoliner@pidgin.im>
parents:
8231
diff
changeset
|
131 | return hbox; |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
132 | } |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
133 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
134 | static void |
| 9422 | 135 | entry_set(GtkEntry *entry, gpointer data) { |
| 10367 | 136 | const char *key = (const char*)data; |
| 9422 | 137 | |
| 138 | gaim_prefs_set_string(key, gtk_entry_get_text(entry)); | |
| 139 | } | |
| 140 | ||
| 141 | GtkWidget * | |
| 10367 | 142 | gaim_gtk_prefs_labeled_entry(GtkWidget *page, const gchar *title, |
| 143 | const char *key, GtkSizeGroup *sg) | |
| 9422 | 144 | { |
| 145 | GtkWidget *hbox, *label, *entry; | |
| 146 | const gchar *value; | |
| 147 | ||
| 148 | value = gaim_prefs_get_string(key); | |
| 149 | ||
| 150 | hbox = gtk_hbox_new(FALSE, 5); | |
| 151 | gtk_box_pack_start(GTK_BOX(page), hbox, FALSE, FALSE, 5); | |
| 152 | gtk_widget_show(hbox); | |
| 153 | ||
| 154 | label = gtk_label_new_with_mnemonic(title); | |
| 155 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
| 156 | gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
| 157 | gtk_widget_show(label); | |
| 158 | ||
| 159 | entry = gtk_entry_new(); | |
| 160 | gtk_entry_set_text(GTK_ENTRY(entry), value); | |
| 161 | gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 0); | |
| 162 | g_signal_connect(G_OBJECT(entry), "changed", | |
| 163 | G_CALLBACK(entry_set), (char*)key); | |
| 164 | gtk_widget_show(entry); | |
| 165 | ||
| 166 | gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); | |
| 167 | ||
| 168 | if(sg) { | |
| 169 | gtk_size_group_add_widget(sg, label); | |
| 170 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 171 | } | |
| 172 | ||
| 173 | gaim_set_accessible_label(entry, label); | |
| 174 | ||
| 175 | return hbox; | |
| 176 | } | |
| 177 | ||
| 178 | static void | |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
179 | dropdown_set(GObject *w, const char *key) |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
180 | { |
|
5551
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
181 | const char *str_value; |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
182 | int int_value; |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
183 | GaimPrefType type; |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
184 | |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
185 | type = GPOINTER_TO_INT(g_object_get_data(w, "type")); |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
186 | |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
187 | if (type == GAIM_PREF_INT) { |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
188 | int_value = GPOINTER_TO_INT(g_object_get_data(w, "value")); |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
189 | |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
190 | gaim_prefs_set_int(key, int_value); |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
191 | } |
|
5551
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
192 | else if (type == GAIM_PREF_STRING) { |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
193 | str_value = (const char *)g_object_get_data(w, "value"); |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
194 | |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
195 | gaim_prefs_set_string(key, str_value); |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
196 | } |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
197 | else if (type == GAIM_PREF_BOOLEAN) { |
| 9151 | 198 | gaim_prefs_set_bool(key, |
| 199 | GPOINTER_TO_INT(g_object_get_data(w, "value"))); | |
|
5551
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
200 | } |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
201 | } |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
202 | |
| 7976 | 203 | GtkWidget * |
| 7987 | 204 | gaim_gtk_prefs_dropdown_from_list(GtkWidget *box, const gchar *title, |
| 205 | GaimPrefType type, const char *key, GList *menuitems) | |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
206 | { |
|
5546
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
207 | GtkWidget *dropdown, *opt, *menu; |
|
11267
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
208 | GtkWidget *label = NULL; |
|
5546
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
209 | GtkWidget *hbox; |
|
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
210 | gchar *text; |
|
5551
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
211 | const char *stored_str = NULL; |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
212 | int stored_int = 0; |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
213 | int int_value = 0; |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
214 | const char *str_value = NULL; |
|
5546
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
215 | int o = 0; |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
216 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
217 | g_return_val_if_fail(menuitems != NULL, NULL); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
218 | |
|
11267
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
219 | if (title != NULL) { |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
220 | hbox = gtk_hbox_new(FALSE, 5); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
221 | /*gtk_container_add (GTK_CONTAINER (box), hbox);*/ |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
222 | gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
223 | gtk_widget_show(hbox); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
224 | |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
225 | label = gtk_label_new_with_mnemonic(title); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
226 | gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
227 | gtk_widget_show(label); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
228 | } else { |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
229 | hbox = box; |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
230 | } |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
231 | |
| 8577 | 232 | #if 0 /* GTK_CHECK_VERSION(2,4,0) */ |
| 233 | if(type == GAIM_PREF_INT) | |
| 234 | model = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_INT); | |
| 235 | else if(type == GAIM_PREF_STRING) | |
| 236 | model = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_STRING); | |
| 237 | dropdown = gtk_combo_box_new_with_model(model); | |
| 238 | #else | |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
239 | dropdown = gtk_option_menu_new(); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
240 | menu = gtk_menu_new(); |
| 8577 | 241 | #endif |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
242 | |
|
11267
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
243 | if (label != NULL) { |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
244 | gtk_label_set_mnemonic_widget(GTK_LABEL(label), dropdown); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
245 | gaim_set_accessible_label (dropdown, label); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
246 | } |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
247 | |
|
5546
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
248 | if (type == GAIM_PREF_INT) |
|
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
249 | stored_int = gaim_prefs_get_int(key); |
|
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
250 | else if (type == GAIM_PREF_STRING) |
|
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
251 | stored_str = gaim_prefs_get_string(key); |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
252 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
253 | while (menuitems != NULL && (text = (char *) menuitems->data) != NULL) { |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
254 | menuitems = g_list_next(menuitems); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
255 | g_return_val_if_fail(menuitems != NULL, NULL); |
|
5546
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
256 | |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
257 | opt = gtk_menu_item_new_with_label(text); |
|
5551
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
258 | |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
259 | g_object_set_data(G_OBJECT(opt), "type", GINT_TO_POINTER(type)); |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
260 | |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
261 | if (type == GAIM_PREF_INT) { |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
262 | int_value = GPOINTER_TO_INT(menuitems->data); |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
263 | g_object_set_data(G_OBJECT(opt), "value", |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
264 | GINT_TO_POINTER(int_value)); |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
265 | } |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
266 | else if (type == GAIM_PREF_STRING) { |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
267 | str_value = (const char *)menuitems->data; |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
268 | |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
269 | g_object_set_data(G_OBJECT(opt), "value", (char *)str_value); |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
270 | } |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
271 | else if (type == GAIM_PREF_BOOLEAN) { |
| 9151 | 272 | g_object_set_data(G_OBJECT(opt), "value", |
| 273 | menuitems->data); | |
|
5551
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
274 | } |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
275 | |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
276 | g_signal_connect(G_OBJECT(opt), "activate", |
|
5551
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
277 | G_CALLBACK(dropdown_set), (char *)key); |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
278 | |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
279 | gtk_widget_show(opt); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
280 | gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
281 | |
|
5551
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
282 | if ((type == GAIM_PREF_INT && stored_int == int_value) || |
|
5753
5daa987c6b87
[gaim-migrate @ 6178]
Christian Hammond <chipx86@chipx86.com>
parents:
5716
diff
changeset
|
283 | (type == GAIM_PREF_STRING && stored_str != NULL && |
|
5daa987c6b87
[gaim-migrate @ 6178]
Christian Hammond <chipx86@chipx86.com>
parents:
5716
diff
changeset
|
284 | !strcmp(stored_str, str_value)) || |
| 9151 | 285 | (type == GAIM_PREF_BOOLEAN && |
| 286 | (gaim_prefs_get_bool(key) == GPOINTER_TO_INT(menuitems->data)))) { | |
|
5546
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
287 | |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
288 | gtk_menu_set_active(GTK_MENU(menu), o); |
|
5546
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
289 | } |
|
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
290 | |
|
5568
3c7cc231c8c4
[gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents:
5567
diff
changeset
|
291 | menuitems = g_list_next(menuitems); |
|
3c7cc231c8c4
[gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents:
5567
diff
changeset
|
292 | |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
293 | o++; |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
294 | } |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
295 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
296 | gtk_option_menu_set_menu(GTK_OPTION_MENU(dropdown), menu); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
297 | gtk_box_pack_start(GTK_BOX(hbox), dropdown, FALSE, FALSE, 0); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
298 | gtk_widget_show(dropdown); |
|
5551
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
299 | |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
300 | return label; |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
301 | } |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
302 | |
| 7976 | 303 | GtkWidget * |
| 7987 | 304 | gaim_gtk_prefs_dropdown(GtkWidget *box, const gchar *title, GaimPrefType type, |
|
5550
1938d1e59cf8
[gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents:
5547
diff
changeset
|
305 | const char *key, ...) |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
306 | { |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
307 | va_list ap; |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
308 | GList *menuitems = NULL; |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
309 | GtkWidget *dropdown = NULL; |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
310 | char *name; |
|
5546
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
311 | int int_value; |
|
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
312 | const char *str_value; |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
313 | |
| 9151 | 314 | g_return_val_if_fail(type == GAIM_PREF_BOOLEAN || type == GAIM_PREF_INT || |
| 315 | type == GAIM_PREF_STRING, NULL); | |
| 316 | ||
|
5551
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
317 | va_start(ap, key); |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
318 | while ((name = va_arg(ap, char *)) != NULL) { |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
319 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
320 | menuitems = g_list_prepend(menuitems, name); |
|
5546
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
321 | |
| 9151 | 322 | if (type == GAIM_PREF_INT || type == GAIM_PREF_BOOLEAN) { |
|
5546
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
323 | int_value = va_arg(ap, int); |
|
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
324 | menuitems = g_list_prepend(menuitems, GINT_TO_POINTER(int_value)); |
|
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
325 | } |
|
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
326 | else { |
|
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
327 | str_value = va_arg(ap, const char *); |
|
5551
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
328 | menuitems = g_list_prepend(menuitems, (char *)str_value); |
|
5546
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
329 | } |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
330 | } |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
331 | va_end(ap); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
332 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
333 | g_return_val_if_fail(menuitems != NULL, NULL); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
334 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
335 | menuitems = g_list_reverse(menuitems); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
336 | |
| 7987 | 337 | dropdown = gaim_gtk_prefs_dropdown_from_list(box, title, type, key, |
| 338 | menuitems); | |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
339 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
340 | g_list_free(menuitems); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
341 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
342 | return dropdown; |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
343 | } |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
344 | |
|
5551
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
345 | static void |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
346 | delete_prefs(GtkWidget *asdf, void *gdsa) |
|
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
347 | { |
|
9508
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
348 | /* Close any "select sound" request dialogs */ |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
349 | gaim_request_close_with_handle(prefs); |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
350 | |
|
10087
e5b80a38939d
[gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10079
diff
changeset
|
351 | /* Unregister callbacks. */ |
|
e5b80a38939d
[gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10079
diff
changeset
|
352 | gaim_prefs_disconnect_by_handle(prefs); |
|
e5b80a38939d
[gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10079
diff
changeset
|
353 | |
| 5440 | 354 | prefs = NULL; |
| 355 | sound_entry = NULL; | |
| 356 | debugbutton = NULL; | |
| 357 | notebook_page = 0; | |
| 358 | smiley_theme_store = NULL; | |
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
359 | if (previous_smiley_row) |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
360 | gtk_tree_row_reference_free(previous_smiley_row); |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
361 | previous_smiley_row = NULL; |
| 5440 | 362 | |
| 363 | } | |
| 364 | ||
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
365 | static void smiley_sel(GtkTreeSelection *sel, GtkTreeModel *model) { |
| 5440 | 366 | GtkTreeIter iter; |
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
367 | const char *themename; |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
368 | char *description; |
| 5440 | 369 | GValue val = { 0, }; |
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
370 | GtkTreePath *path, *oldpath; |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
371 | struct smiley_theme *new_theme, *old_theme; |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
372 | |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
373 | if (!gtk_tree_selection_get_selected(sel, &model, &iter)) |
| 5440 | 374 | return; |
| 11550 | 375 | |
| 376 | old_theme = current_smiley_theme; | |
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
377 | gtk_tree_model_get_value(model, &iter, 3, &val); |
| 11550 | 378 | path = gtk_tree_model_get_path(model, &iter); |
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
379 | themename = g_value_get_string(&val); |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
380 | gaim_prefs_set_string("/gaim/gtk/smileys/theme", themename); |
| 5440 | 381 | g_value_unset (&val); |
| 11550 | 382 | |
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
383 | /* current_smiley_theme is set in callback for the above pref change */ |
| 11550 | 384 | new_theme = current_smiley_theme; |
| 385 | description = g_strdup_printf("<span size='larger' weight='bold'>%s</span> - %s\n" | |
| 386 | "<span size='smaller' foreground='white'>%s</span>", | |
| 387 | new_theme->name, new_theme->author, new_theme->desc); | |
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
388 | gtk_list_store_set(smiley_theme_store, &iter, 1, description, -1); |
| 11550 | 389 | g_free(description); |
| 390 | ||
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
391 | if (new_theme != old_theme && previous_smiley_row) { |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
392 | oldpath = gtk_tree_row_reference_get_path(previous_smiley_row); |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
393 | if (gtk_tree_model_get_iter(model, &iter, oldpath)) { |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
394 | description = g_strdup_printf("<span size='larger' weight='bold'>%s</span> - %s\n" |
| 11550 | 395 | "<span size='smaller' foreground='dim grey'>%s</span>", |
| 396 | old_theme->name, old_theme->author, old_theme->desc); | |
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
397 | gtk_list_store_set(smiley_theme_store, &iter, 1, |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
398 | description, -1); |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
399 | g_free(description); |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
400 | } |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
401 | gtk_tree_path_free(oldpath); |
| 11550 | 402 | } |
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
403 | if (previous_smiley_row) |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
404 | gtk_tree_row_reference_free(previous_smiley_row); |
| 11550 | 405 | previous_smiley_row = gtk_tree_row_reference_new(model, path); |
| 406 | gtk_tree_path_free(path); | |
| 5440 | 407 | } |
| 408 | ||
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
409 | static GtkTreeRowReference *theme_refresh_theme_list() |
| 5440 | 410 | { |
| 411 | GdkPixbuf *pixbuf; | |
| 412 | GSList *themes; | |
| 413 | GtkTreeIter iter; | |
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
414 | GtkTreeRowReference *row_ref = NULL; |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
415 | |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
416 | if (previous_smiley_row) |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
417 | gtk_tree_row_reference_free(previous_smiley_row); |
| 11550 | 418 | previous_smiley_row = NULL; |
| 5440 | 419 | |
|
11525
1d06283bdcc9
[gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents:
11442
diff
changeset
|
420 | gaim_gtkthemes_smiley_theme_probe(); |
|
1d06283bdcc9
[gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents:
11442
diff
changeset
|
421 | |
|
1d06283bdcc9
[gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents:
11442
diff
changeset
|
422 | if (!(themes = smiley_themes)) |
| 5440 | 423 | return NULL; |
| 424 | ||
| 425 | gtk_list_store_clear(smiley_theme_store); | |
| 426 | ||
| 427 | while (themes) { | |
| 428 | struct smiley_theme *theme = themes->data; | |
| 429 | char *description = g_strdup_printf("<span size='larger' weight='bold'>%s</span> - %s\n" | |
| 430 | "<span size='smaller' foreground='dim grey'>%s</span>", | |
| 431 | theme->name, theme->author, theme->desc); | |
| 432 | gtk_list_store_append (smiley_theme_store, &iter); | |
|
8494
55cc657d9d8d
[gaim-migrate @ 9229]
Mark Doliner <markdoliner@pidgin.im>
parents:
8467
diff
changeset
|
433 | |
|
55cc657d9d8d
[gaim-migrate @ 9229]
Mark Doliner <markdoliner@pidgin.im>
parents:
8467
diff
changeset
|
434 | /* |
|
55cc657d9d8d
[gaim-migrate @ 9229]
Mark Doliner <markdoliner@pidgin.im>
parents:
8467
diff
changeset
|
435 | * LEAK - Gentoo memprof thinks pixbuf is leaking here... but it |
|
55cc657d9d8d
[gaim-migrate @ 9229]
Mark Doliner <markdoliner@pidgin.im>
parents:
8467
diff
changeset
|
436 | * looks like it should be ok to me. Anyone know what's up? --Mark |
|
55cc657d9d8d
[gaim-migrate @ 9229]
Mark Doliner <markdoliner@pidgin.im>
parents:
8467
diff
changeset
|
437 | */ |
| 8963 | 438 | pixbuf = (theme->icon ? gdk_pixbuf_new_from_file(theme->icon, NULL) : NULL); |
| 5440 | 439 | |
| 440 | gtk_list_store_set(smiley_theme_store, &iter, | |
| 441 | 0, pixbuf, | |
| 442 | 1, description, | |
| 443 | 2, theme->path, | |
| 8928 | 444 | 3, theme->name, |
| 5440 | 445 | -1); |
|
7094
8f9588491993
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7092
diff
changeset
|
446 | |
|
8f9588491993
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7092
diff
changeset
|
447 | if (pixbuf != NULL) |
|
8f9588491993
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7092
diff
changeset
|
448 | g_object_unref(G_OBJECT(pixbuf)); |
|
8f9588491993
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7092
diff
changeset
|
449 | |
| 5440 | 450 | g_free(description); |
| 451 | themes = themes->next; | |
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
452 | |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
453 | /* If this is the currently selected theme, |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
454 | * we will need to select it. Grab the row reference. */ |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
455 | if (theme == current_smiley_theme) { |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
456 | GtkTreePath *path = gtk_tree_model_get_path( |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
457 | GTK_TREE_MODEL(smiley_theme_store), &iter); |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
458 | row_ref = gtk_tree_row_reference_new( |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
459 | GTK_TREE_MODEL(smiley_theme_store), path); |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
460 | gtk_tree_path_free(path); |
| 5440 | 461 | } |
| 462 | } | |
| 463 | ||
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
464 | return row_ref; |
| 5440 | 465 | } |
| 466 | ||
|
10871
c0282a4f2250
[gaim-migrate @ 12558]
Mark Doliner <markdoliner@pidgin.im>
parents:
10859
diff
changeset
|
467 | static void theme_install_theme(char *path, char *extn) { |
| 5440 | 468 | #ifndef _WIN32 |
|
12134
8652eeb5ff59
[gaim-migrate @ 14434]
Richard Laager <rlaager@pidgin.im>
parents:
12123
diff
changeset
|
469 | gchar *command; |
| 5440 | 470 | #endif |
| 471 | gchar *destdir; | |
| 472 | gchar *tail; | |
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
473 | GtkTreeRowReference *theme_rowref; |
| 5440 | 474 | |
| 475 | /* Just to be safe */ | |
| 476 | g_strchomp(path); | |
| 477 | ||
| 478 | /* I dont know what you are, get out of here */ | |
| 479 | if (extn != NULL) | |
| 480 | tail = extn; | |
| 481 | else if ((tail = strrchr(path, '.')) == NULL) | |
| 482 | return; | |
| 483 | ||
| 484 | destdir = g_strconcat(gaim_user_dir(), G_DIR_SEPARATOR_S "smileys", NULL); | |
| 485 | ||
| 486 | /* We'll check this just to make sure. This also lets us do something different on | |
| 487 | * other platforms, if need be */ | |
| 488 | if (!g_ascii_strcasecmp(tail, ".gz") || !g_ascii_strcasecmp(tail, ".tgz")) { | |
| 489 | #ifndef _WIN32 | |
|
12134
8652eeb5ff59
[gaim-migrate @ 14434]
Richard Laager <rlaager@pidgin.im>
parents:
12123
diff
changeset
|
490 | gchar *path_escaped = g_shell_quote(path); |
|
8652eeb5ff59
[gaim-migrate @ 14434]
Richard Laager <rlaager@pidgin.im>
parents:
12123
diff
changeset
|
491 | gchar *destdir_escaped = g_shell_quote(destdir); |
|
8652eeb5ff59
[gaim-migrate @ 14434]
Richard Laager <rlaager@pidgin.im>
parents:
12123
diff
changeset
|
492 | command = g_strdup_printf("tar > /dev/null xzf %s -C %s", path_escaped, destdir_escaped); |
|
8652eeb5ff59
[gaim-migrate @ 14434]
Richard Laager <rlaager@pidgin.im>
parents:
12123
diff
changeset
|
493 | g_free(path_escaped); |
|
8652eeb5ff59
[gaim-migrate @ 14434]
Richard Laager <rlaager@pidgin.im>
parents:
12123
diff
changeset
|
494 | g_free(destdir_escaped); |
| 5440 | 495 | #else |
| 496 | if(!wgaim_gz_untar(path, destdir)) { | |
| 497 | g_free(destdir); | |
| 498 | return; | |
| 499 | } | |
| 500 | #endif | |
| 501 | } | |
| 502 | else { | |
| 503 | g_free(destdir); | |
| 504 | return; | |
| 505 | } | |
| 506 | ||
| 507 | #ifndef _WIN32 | |
| 508 | /* Fire! */ | |
|
12134
8652eeb5ff59
[gaim-migrate @ 14434]
Richard Laager <rlaager@pidgin.im>
parents:
12123
diff
changeset
|
509 | if (system(command)) |
|
8652eeb5ff59
[gaim-migrate @ 14434]
Richard Laager <rlaager@pidgin.im>
parents:
12123
diff
changeset
|
510 | { |
|
8652eeb5ff59
[gaim-migrate @ 14434]
Richard Laager <rlaager@pidgin.im>
parents:
12123
diff
changeset
|
511 | gaim_notify_error(NULL, NULL, _("Smiley theme failed to unpack."), NULL); |
|
8652eeb5ff59
[gaim-migrate @ 14434]
Richard Laager <rlaager@pidgin.im>
parents:
12123
diff
changeset
|
512 | } |
| 5440 | 513 | |
| 514 | g_free(command); | |
| 515 | #endif | |
| 516 | g_free(destdir); | |
| 517 | ||
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
518 | theme_rowref = theme_refresh_theme_list(); |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
519 | if (theme_rowref != NULL) |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
520 | gtk_tree_row_reference_free(theme_rowref); |
| 5440 | 521 | } |
| 522 | ||
|
7094
8f9588491993
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7092
diff
changeset
|
523 | static void |
|
8f9588491993
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7092
diff
changeset
|
524 | theme_got_url(void *data, const char *themedata, size_t len) |
|
8f9588491993
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7092
diff
changeset
|
525 | { |
| 5440 | 526 | FILE *f; |
| 527 | gchar *path; | |
| 528 | ||
|
10203
21d6c11a53c6
[gaim-migrate @ 11324]
Herman Bloggs <herman@bluedigits.com>
parents:
10182
diff
changeset
|
529 | f = gaim_mkstemp(&path, TRUE); |
| 5440 | 530 | fwrite(themedata, len, 1, f); |
| 531 | fclose(f); | |
| 532 | ||
| 533 | theme_install_theme(path, data); | |
| 534 | ||
|
10589
4e10236e06d4
[gaim-migrate @ 11994]
Daniel Atallah <datallah@pidgin.im>
parents:
10492
diff
changeset
|
535 | g_unlink(path); |
| 5440 | 536 | g_free(path); |
| 537 | } | |
| 538 | ||
|
11137
cf40226ddff7
[gaim-migrate @ 13201]
Mark Doliner <markdoliner@pidgin.im>
parents:
11082
diff
changeset
|
539 | static void theme_dnd_recv(GtkWidget *widget, GdkDragContext *dc, guint x, guint y, GtkSelectionData *sd, |
| 5440 | 540 | guint info, guint t, gpointer data) { |
|
11137
cf40226ddff7
[gaim-migrate @ 13201]
Mark Doliner <markdoliner@pidgin.im>
parents:
11082
diff
changeset
|
541 | gchar *name = (gchar *)sd->data; |
| 5440 | 542 | |
| 543 | if ((sd->length >= 0) && (sd->format == 8)) { | |
|
11137
cf40226ddff7
[gaim-migrate @ 13201]
Mark Doliner <markdoliner@pidgin.im>
parents:
11082
diff
changeset
|
544 | /* Well, it looks like the drag event was cool. |
| 5440 | 545 | * Let's do something with it */ |
| 546 | ||
| 547 | if (!g_ascii_strncasecmp(name, "file://", 7)) { | |
| 548 | GError *converr = NULL; | |
| 549 | gchar *tmp; | |
|
11137
cf40226ddff7
[gaim-migrate @ 13201]
Mark Doliner <markdoliner@pidgin.im>
parents:
11082
diff
changeset
|
550 | /* It looks like we're dealing with a local file. Let's |
| 5440 | 551 | * just untar it in the right place */ |
| 552 | if(!(tmp = g_filename_from_uri(name, NULL, &converr))) { | |
| 553 | gaim_debug(GAIM_DEBUG_ERROR, "theme dnd", "%s\n", | |
| 554 | (converr ? converr->message : | |
| 555 | "g_filename_from_uri error")); | |
| 556 | return; | |
| 557 | } | |
| 558 | theme_install_theme(tmp, NULL); | |
| 559 | g_free(tmp); | |
| 560 | } else if (!g_ascii_strncasecmp(name, "http://", 7)) { | |
| 561 | /* Oo, a web drag and drop. This is where things | |
| 562 | * will start to get interesting */ | |
| 563 | gchar *tail; | |
| 564 | ||
| 565 | if ((tail = strrchr(name, '.')) == NULL) | |
| 566 | return; | |
| 567 | ||
| 568 | /* We'll check this just to make sure. This also lets us do something different on | |
| 569 | * other platforms, if need be */ | |
|
7094
8f9588491993
[gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents:
7092
diff
changeset
|
570 | gaim_url_fetch(name, TRUE, NULL, FALSE, theme_got_url, ".tgz"); |
| 5440 | 571 | } |
| 572 | ||
| 573 | gtk_drag_finish(dc, TRUE, FALSE, t); | |
| 574 | } | |
| 575 | ||
| 576 | gtk_drag_finish(dc, FALSE, FALSE, t); | |
| 577 | } | |
| 578 | ||
| 8928 | 579 | /* Does same as normal sort, except "none" is sorted first */ |
|
12412
8abe3226695e
[gaim-migrate @ 14719]
Richard Laager <rlaager@pidgin.im>
parents:
12281
diff
changeset
|
580 | static gint gaim_sort_smileys (GtkTreeModel *model, |
| 8928 | 581 | GtkTreeIter *a, |
| 582 | GtkTreeIter *b, | |
| 583 | gpointer userdata) | |
| 584 | { | |
| 585 | gint ret = 0; | |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9944
diff
changeset
|
586 | gchar *name1 = NULL, *name2 = NULL; |
| 8928 | 587 | |
| 588 | gtk_tree_model_get(model, a, 3, &name1, -1); | |
| 589 | gtk_tree_model_get(model, b, 3, &name2, -1); | |
| 590 | ||
| 591 | if (name1 == NULL || name2 == NULL) { | |
| 592 | if (!(name1 == NULL && name2 == NULL)) | |
| 593 | ret = (name1 == NULL) ? -1: 1; | |
| 594 | } else if (!g_ascii_strcasecmp(name1, "none")) { | |
|
10167
3f4db9c54e04
[gaim-migrate @ 11254]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10164
diff
changeset
|
595 | if (!g_utf8_collate(name1, name2)) |
|
3f4db9c54e04
[gaim-migrate @ 11254]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10164
diff
changeset
|
596 | ret = 0; |
|
3f4db9c54e04
[gaim-migrate @ 11254]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10164
diff
changeset
|
597 | else |
|
3f4db9c54e04
[gaim-migrate @ 11254]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10164
diff
changeset
|
598 | /* Sort name1 first */ |
|
3f4db9c54e04
[gaim-migrate @ 11254]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10164
diff
changeset
|
599 | ret = -1; |
| 8928 | 600 | } else if (!g_ascii_strcasecmp(name2, "none")) { |
| 601 | /* Sort name2 first */ | |
| 602 | ret = 1; | |
| 603 | } else { | |
| 604 | /* Neither string is "none", default to normal sort */ | |
| 605 | ret = g_utf8_collate(name1,name2); | |
| 606 | } | |
| 607 | ||
|
9521
9c611a48614b
[gaim-migrate @ 10348]
Mark Doliner <markdoliner@pidgin.im>
parents:
9508
diff
changeset
|
608 | g_free(name1); |
|
9c611a48614b
[gaim-migrate @ 10348]
Mark Doliner <markdoliner@pidgin.im>
parents:
9508
diff
changeset
|
609 | g_free(name2); |
|
9c611a48614b
[gaim-migrate @ 10348]
Mark Doliner <markdoliner@pidgin.im>
parents:
9508
diff
changeset
|
610 | |
| 8928 | 611 | return ret; |
| 612 | } | |
| 613 | ||
|
10850
6889f793b918
[gaim-migrate @ 12522]
Mark Doliner <markdoliner@pidgin.im>
parents:
10759
diff
changeset
|
614 | static GtkWidget * |
|
6889f793b918
[gaim-migrate @ 12522]
Mark Doliner <markdoliner@pidgin.im>
parents:
10759
diff
changeset
|
615 | theme_page() |
|
6889f793b918
[gaim-migrate @ 12522]
Mark Doliner <markdoliner@pidgin.im>
parents:
10759
diff
changeset
|
616 | { |
| 5440 | 617 | GtkWidget *ret; |
| 618 | GtkWidget *sw; | |
| 619 | GtkWidget *view; | |
| 620 | GtkCellRenderer *rend; | |
| 621 | GtkTreeViewColumn *col; | |
| 622 | GtkTreeSelection *sel; | |
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
623 | GtkTreeRowReference *rowref; |
| 5440 | 624 | GtkWidget *label; |
| 625 | GtkTargetEntry te[3] = {{"text/plain", 0, 0},{"text/uri-list", 0, 1},{"STRING", 0, 2}}; | |
| 626 | ||
| 11243 | 627 | ret = gtk_vbox_new(FALSE, GAIM_HIG_BOX_SPACE); |
| 628 | gtk_container_set_border_width (GTK_CONTAINER (ret), GAIM_HIG_BORDER); | |
| 5440 | 629 | |
| 630 | 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.")); | |
| 631 | ||
| 632 | gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
| 633 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
| 634 | gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_LEFT); | |
| 635 | ||
| 636 | gtk_box_pack_start(GTK_BOX(ret), label, FALSE, TRUE, 0); | |
| 637 | gtk_widget_show(label); | |
| 638 | ||
| 639 | sw = gtk_scrolled_window_new(NULL,NULL); | |
|
7939
e44763efd9eb
[gaim-migrate @ 8610]
Mark Doliner <markdoliner@pidgin.im>
parents:
7932
diff
changeset
|
640 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); |
|
7931
315fd3921a40
[gaim-migrate @ 8602]
Mark Doliner <markdoliner@pidgin.im>
parents:
7929
diff
changeset
|
641 | gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); |
| 5440 | 642 | |
| 643 | gtk_box_pack_start(GTK_BOX(ret), sw, TRUE, TRUE, 0); | |
| 8928 | 644 | smiley_theme_store = gtk_list_store_new (4, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); |
| 5440 | 645 | |
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
646 | rowref = theme_refresh_theme_list(); |
|
8075
78e53e4f34ee
[gaim-migrate @ 8774]
Mark Doliner <markdoliner@pidgin.im>
parents:
8063
diff
changeset
|
647 | |
| 5440 | 648 | view = gtk_tree_view_new_with_model (GTK_TREE_MODEL(smiley_theme_store)); |
| 649 | ||
|
11525
1d06283bdcc9
[gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents:
11442
diff
changeset
|
650 | gtk_drag_dest_set(view, GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_HIGHLIGHT | GTK_DEST_DEFAULT_DROP, te, |
| 5440 | 651 | sizeof(te) / sizeof(GtkTargetEntry) , GDK_ACTION_COPY | GDK_ACTION_MOVE); |
| 652 | ||
| 653 | g_signal_connect(G_OBJECT(view), "drag_data_received", G_CALLBACK(theme_dnd_recv), smiley_theme_store); | |
| 654 | ||
| 655 | rend = gtk_cell_renderer_pixbuf_new(); | |
| 656 | sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (view)); | |
| 657 | ||
| 8928 | 658 | /* Custom sort so "none" theme is at top of list */ |
| 659 | gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(smiley_theme_store), | |
| 660 | 3, gaim_sort_smileys, NULL, NULL); | |
| 661 | ||
|
8075
78e53e4f34ee
[gaim-migrate @ 8774]
Mark Doliner <markdoliner@pidgin.im>
parents:
8063
diff
changeset
|
662 | gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(smiley_theme_store), |
| 8928 | 663 | 3, GTK_SORT_ASCENDING); |
| 5440 | 664 | |
| 665 | col = gtk_tree_view_column_new_with_attributes (_("Icon"), | |
| 666 | rend, | |
| 667 | "pixbuf", 0, | |
| 668 | NULL); | |
| 669 | gtk_tree_view_append_column (GTK_TREE_VIEW(view), col); | |
| 670 | ||
| 671 | rend = gtk_cell_renderer_text_new(); | |
| 672 | col = gtk_tree_view_column_new_with_attributes (_("Description"), | |
| 673 | rend, | |
| 674 | "markup", 1, | |
| 675 | NULL); | |
| 676 | gtk_tree_view_append_column (GTK_TREE_VIEW(view), col); | |
| 677 | g_object_unref(G_OBJECT(smiley_theme_store)); | |
| 678 | gtk_container_add(GTK_CONTAINER(sw), view); | |
| 679 | ||
|
8075
78e53e4f34ee
[gaim-migrate @ 8774]
Mark Doliner <markdoliner@pidgin.im>
parents:
8063
diff
changeset
|
680 | g_signal_connect(G_OBJECT(sel), "changed", G_CALLBACK(smiley_sel), NULL); |
| 5440 | 681 | |
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
682 | if (rowref) { |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
683 | GtkTreePath *path = gtk_tree_row_reference_get_path(rowref); |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
684 | gtk_tree_row_reference_free(rowref); |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
685 | gtk_tree_selection_select_path(sel, path); |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
686 | gtk_tree_path_free(path); |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
687 | } |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
688 | |
| 5440 | 689 | gtk_widget_show_all(ret); |
| 8137 | 690 | |
| 691 | gaim_set_accessible_label (view, label); | |
| 692 | ||
| 5440 | 693 | return ret; |
| 694 | } | |
| 695 | ||
| 9025 | 696 | static void |
|
11267
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
697 | formatting_toggle_cb(GtkIMHtml *imhtml, GtkIMHtmlButtons buttons, void *toolbar) |
|
5530
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5440
diff
changeset
|
698 | { |
| 9025 | 699 | gboolean bold, italic, uline; |
| 700 | ||
| 701 | bold = italic = uline = FALSE; | |
| 702 | gtk_imhtml_get_current_format(GTK_IMHTML(imhtml), | |
| 703 | &bold, &italic, &uline); | |
| 704 | ||
| 705 | if (buttons & GTK_IMHTML_BOLD) | |
| 706 | gaim_prefs_set_bool("/gaim/gtk/conversations/send_bold", bold); | |
| 707 | if (buttons & GTK_IMHTML_ITALIC) | |
| 708 | gaim_prefs_set_bool("/gaim/gtk/conversations/send_italic", italic); | |
| 709 | if (buttons & GTK_IMHTML_UNDERLINE) | |
| 710 | gaim_prefs_set_bool("/gaim/gtk/conversations/send_underline", uline); | |
| 711 | ||
| 712 | if (buttons & GTK_IMHTML_GROW || buttons & GTK_IMHTML_SHRINK) | |
| 713 | gaim_prefs_set_int("/gaim/gtk/conversations/font_size", | |
| 714 | gtk_imhtml_get_current_fontsize(GTK_IMHTML(imhtml))); | |
| 715 | if (buttons & GTK_IMHTML_FACE) { | |
| 716 | char *face = gtk_imhtml_get_current_fontface(GTK_IMHTML(imhtml)); | |
| 717 | if (!face) | |
| 718 | face = g_strdup(""); | |
| 719 | ||
| 720 | gaim_prefs_set_string("/gaim/gtk/conversations/font_face", face); | |
| 721 | g_free(face); | |
|
5530
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5440
diff
changeset
|
722 | } |
|
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5440
diff
changeset
|
723 | |
| 9025 | 724 | if (buttons & GTK_IMHTML_FORECOLOR) { |
| 725 | char *color = gtk_imhtml_get_current_forecolor(GTK_IMHTML(imhtml)); | |
| 726 | if (!color) | |
| 727 | color = g_strdup(""); | |
| 728 | ||
| 729 | gaim_prefs_set_string("/gaim/gtk/conversations/fgcolor", color); | |
| 730 | g_free(color); | |
| 731 | } | |
| 732 | ||
| 733 | if (buttons & GTK_IMHTML_BACKCOLOR) { | |
|
11267
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
734 | char *color; |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
735 | GObject *object; |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
736 | |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
737 | color = gtk_imhtml_get_current_backcolor(GTK_IMHTML(imhtml)); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
738 | if (!color) |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
739 | color = g_strdup(""); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
740 | |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
741 | /* Block the signal to prevent a loop. */ |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
742 | object = g_object_ref(G_OBJECT(imhtml)); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
743 | g_signal_handlers_block_matched(object, G_SIGNAL_MATCH_DATA, 0, 0, NULL, |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
744 | NULL, toolbar); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
745 | /* Clear the backcolor. */ |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
746 | gtk_imhtml_toggle_backcolor(GTK_IMHTML(imhtml), ""); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
747 | /* Unblock the signal. */ |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
748 | g_signal_handlers_unblock_matched(object, G_SIGNAL_MATCH_DATA, 0, 0, NULL, |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
749 | NULL, toolbar); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
750 | g_object_unref(object); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
751 | |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
752 | /* This will fire a toggle signal and get saved below. */ |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
753 | gtk_imhtml_toggle_background(GTK_IMHTML(imhtml), color); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
754 | |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
755 | g_free(color); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
756 | } |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
757 | |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
758 | if (buttons & GTK_IMHTML_BACKGROUND) { |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
759 | char *color = gtk_imhtml_get_current_background(GTK_IMHTML(imhtml)); |
| 9025 | 760 | if (!color) |
| 761 | color = g_strdup(""); | |
| 762 | ||
| 763 | gaim_prefs_set_string("/gaim/gtk/conversations/bgcolor", color); | |
| 764 | g_free(color); | |
| 765 | } | |
|
5530
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5440
diff
changeset
|
766 | } |
|
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5440
diff
changeset
|
767 | |
|
11275
cdcc651d7ecd
[gaim-migrate @ 13461]
Richard Laager <rlaager@pidgin.im>
parents:
11271
diff
changeset
|
768 | static void |
|
cdcc651d7ecd
[gaim-migrate @ 13461]
Richard Laager <rlaager@pidgin.im>
parents:
11271
diff
changeset
|
769 | formatting_clear_cb(GtkIMHtml *imhtml, void *data) |
|
cdcc651d7ecd
[gaim-migrate @ 13461]
Richard Laager <rlaager@pidgin.im>
parents:
11271
diff
changeset
|
770 | { |
|
cdcc651d7ecd
[gaim-migrate @ 13461]
Richard Laager <rlaager@pidgin.im>
parents:
11271
diff
changeset
|
771 | gaim_prefs_set_bool("/gaim/gtk/conversations/send_bold", FALSE); |
|
cdcc651d7ecd
[gaim-migrate @ 13461]
Richard Laager <rlaager@pidgin.im>
parents:
11271
diff
changeset
|
772 | gaim_prefs_set_bool("/gaim/gtk/conversations/send_italic", FALSE); |
|
cdcc651d7ecd
[gaim-migrate @ 13461]
Richard Laager <rlaager@pidgin.im>
parents:
11271
diff
changeset
|
773 | gaim_prefs_set_bool("/gaim/gtk/conversations/send_underline", FALSE); |
|
cdcc651d7ecd
[gaim-migrate @ 13461]
Richard Laager <rlaager@pidgin.im>
parents:
11271
diff
changeset
|
774 | |
|
cdcc651d7ecd
[gaim-migrate @ 13461]
Richard Laager <rlaager@pidgin.im>
parents:
11271
diff
changeset
|
775 | gaim_prefs_set_int("/gaim/gtk/conversations/font_size", 3); |
|
cdcc651d7ecd
[gaim-migrate @ 13461]
Richard Laager <rlaager@pidgin.im>
parents:
11271
diff
changeset
|
776 | |
|
cdcc651d7ecd
[gaim-migrate @ 13461]
Richard Laager <rlaager@pidgin.im>
parents:
11271
diff
changeset
|
777 | gaim_prefs_set_string("/gaim/gtk/conversations/font_face", ""); |
|
cdcc651d7ecd
[gaim-migrate @ 13461]
Richard Laager <rlaager@pidgin.im>
parents:
11271
diff
changeset
|
778 | gaim_prefs_set_string("/gaim/gtk/conversations/fgcolor", ""); |
|
cdcc651d7ecd
[gaim-migrate @ 13461]
Richard Laager <rlaager@pidgin.im>
parents:
11271
diff
changeset
|
779 | gaim_prefs_set_string("/gaim/gtk/conversations/bgcolor", ""); |
|
cdcc651d7ecd
[gaim-migrate @ 13461]
Richard Laager <rlaager@pidgin.im>
parents:
11271
diff
changeset
|
780 | } |
|
cdcc651d7ecd
[gaim-migrate @ 13461]
Richard Laager <rlaager@pidgin.im>
parents:
11271
diff
changeset
|
781 | |
| 8979 | 782 | static void |
|
9155
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
783 | conversation_usetabs_cb(const char *name, GaimPrefType type, gpointer value, |
| 8979 | 784 | gpointer data) |
| 785 | { | |
| 10112 | 786 | gboolean usetabs = GPOINTER_TO_INT(value); |
|
9155
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
787 | |
|
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
788 | if (usetabs) |
|
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
789 | gtk_widget_set_sensitive(GTK_WIDGET(data), TRUE); |
|
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
790 | else |
| 8979 | 791 | gtk_widget_set_sensitive(GTK_WIDGET(data), FALSE); |
| 792 | } | |
| 793 | ||
|
10850
6889f793b918
[gaim-migrate @ 12522]
Mark Doliner <markdoliner@pidgin.im>
parents:
10759
diff
changeset
|
794 | static GtkWidget * |
|
6889f793b918
[gaim-migrate @ 12522]
Mark Doliner <markdoliner@pidgin.im>
parents:
10759
diff
changeset
|
795 | conv_page() |
|
6889f793b918
[gaim-migrate @ 12522]
Mark Doliner <markdoliner@pidgin.im>
parents:
10759
diff
changeset
|
796 | { |
| 5440 | 797 | GtkWidget *ret; |
|
11271
939be1fdbf7a
[gaim-migrate @ 13454]
Richard Laager <rlaager@pidgin.im>
parents:
11269
diff
changeset
|
798 | GtkWidget *vbox; |
| 5440 | 799 | GtkWidget *label; |
| 800 | GList *names = NULL; | |
|
11267
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
801 | GtkWidget *frame; |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
802 | GtkWidget *imhtml; |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
803 | GtkWidget *toolbar; |
|
11271
939be1fdbf7a
[gaim-migrate @ 13454]
Richard Laager <rlaager@pidgin.im>
parents:
11269
diff
changeset
|
804 | GtkWidget *hbox; |
|
939be1fdbf7a
[gaim-migrate @ 13454]
Richard Laager <rlaager@pidgin.im>
parents:
11269
diff
changeset
|
805 | GtkWidget *vbox2; |
| 11922 | 806 | GtkWidget *iconpref1; |
| 807 | GtkWidget *iconpref2; | |
| 5440 | 808 | |
| 11243 | 809 | ret = gtk_vbox_new(FALSE, GAIM_HIG_BOX_SPACE); |
| 810 | gtk_container_set_border_width(GTK_CONTAINER(ret), GAIM_HIG_BORDER); | |
| 5440 | 811 | |
|
5530
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5440
diff
changeset
|
812 | vbox = gaim_gtk_make_frame(ret, _("Conversations")); |
| 5440 | 813 | |
|
12116
17bf39d2678f
[gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents:
12067
diff
changeset
|
814 | gaim_gtk_prefs_dropdown(vbox, _("_Hide new IM conversations"), |
|
17bf39d2678f
[gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents:
12067
diff
changeset
|
815 | GAIM_PREF_STRING, "/gaim/gtk/conversations/im/hide_new", |
|
17bf39d2678f
[gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents:
12067
diff
changeset
|
816 | _("Never"), "never", |
|
17bf39d2678f
[gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents:
12067
diff
changeset
|
817 | _("When away"), "away", |
|
17bf39d2678f
[gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents:
12067
diff
changeset
|
818 | _("Always"), "always", |
|
17bf39d2678f
[gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents:
12067
diff
changeset
|
819 | NULL); |
|
17bf39d2678f
[gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents:
12067
diff
changeset
|
820 | |
| 9832 | 821 | gaim_gtk_prefs_checkbox(_("Send unknown \"_slash\" commands as messages"), |
| 822 | "/gaim/gtk/conversations/passthrough_unknown_commands", vbox); | |
|
11267
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
823 | gaim_gtk_prefs_checkbox(_("Show _formatting on incoming messages"), |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
824 | "/gaim/gtk/conversations/show_incoming_formatting", vbox); |
| 11922 | 825 | |
| 826 | iconpref1 = gaim_gtk_prefs_checkbox(_("Show buddy _icons"), | |
| 9150 | 827 | "/gaim/gtk/conversations/im/show_buddy_icons", vbox); |
| 11922 | 828 | iconpref2 = gaim_gtk_prefs_checkbox(_("Enable buddy ic_on animation"), |
| 9150 | 829 | "/gaim/gtk/conversations/im/animate_buddy_icons", vbox); |
| 11922 | 830 | if (!gaim_prefs_get_bool("/gaim/gtk/conversations/im/show_buddy_icons")) |
| 831 | gtk_widget_set_sensitive(iconpref2, FALSE); | |
| 832 | g_signal_connect(G_OBJECT(iconpref1), "clicked", | |
| 833 | G_CALLBACK(gaim_gtk_toggle_sensitive), iconpref2); | |
| 834 | ||
|
9155
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
835 | gaim_gtk_prefs_checkbox(_("_Notify buddies that you are typing to them"), |
| 9150 | 836 | "/core/conversations/im/send_typing", vbox); |
|
12067
11fb53722956
[gaim-migrate @ 14362]
Richard Laager <rlaager@pidgin.im>
parents:
12061
diff
changeset
|
837 | #ifdef USE_GTKSPELL |
|
12240
194dc3367706
[gaim-migrate @ 14542]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
12195
diff
changeset
|
838 | gaim_gtk_prefs_checkbox(_("Highlight _misspelled words"), |
|
12067
11fb53722956
[gaim-migrate @ 14362]
Richard Laager <rlaager@pidgin.im>
parents:
12061
diff
changeset
|
839 | "/gaim/gtk/conversations/spellcheck", vbox); |
|
11fb53722956
[gaim-migrate @ 14362]
Richard Laager <rlaager@pidgin.im>
parents:
12061
diff
changeset
|
840 | #endif |
|
11267
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
841 | |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
842 | frame = gaim_gtk_create_imhtml(TRUE, &imhtml, &toolbar); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
843 | gtk_widget_set_name(imhtml, "gaim_gtkprefs_font_imhtml"); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
844 | gtk_imhtml_set_whole_buffer_formatting_only(GTK_IMHTML(imhtml), TRUE); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
845 | gtk_imhtml_set_format_functions(GTK_IMHTML(imhtml), |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
846 | GTK_IMHTML_BOLD | |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
847 | GTK_IMHTML_ITALIC | |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
848 | GTK_IMHTML_UNDERLINE | |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
849 | GTK_IMHTML_GROW | |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
850 | GTK_IMHTML_SHRINK | |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
851 | GTK_IMHTML_FACE | |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
852 | GTK_IMHTML_FORECOLOR | |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
853 | GTK_IMHTML_BACKCOLOR | |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
854 | GTK_IMHTML_BACKGROUND); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
855 | |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
856 | gtk_imhtml_append_text(GTK_IMHTML(imhtml), _("This is how your outgoing message text will appear when you use protocols that support formatting. :)"), 0); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
857 | |
|
11271
939be1fdbf7a
[gaim-migrate @ 13454]
Richard Laager <rlaager@pidgin.im>
parents:
11269
diff
changeset
|
858 | gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); |
|
11267
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
859 | |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
860 | if (gaim_prefs_get_bool("/gaim/gtk/conversations/send_bold")) |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
861 | gtk_imhtml_toggle_bold(GTK_IMHTML(imhtml)); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
862 | if (gaim_prefs_get_bool("/gaim/gtk/conversations/send_italic")) |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
863 | gtk_imhtml_toggle_italic(GTK_IMHTML(imhtml)); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
864 | if (gaim_prefs_get_bool("/gaim/gtk/conversations/send_underline")) |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
865 | gtk_imhtml_toggle_underline(GTK_IMHTML(imhtml)); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
866 | |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
867 | gtk_imhtml_font_set_size(GTK_IMHTML(imhtml), gaim_prefs_get_int("/gaim/gtk/conversations/font_size")); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
868 | gtk_imhtml_toggle_forecolor(GTK_IMHTML(imhtml), gaim_prefs_get_string("/gaim/gtk/conversations/fgcolor")); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
869 | gtk_imhtml_toggle_background(GTK_IMHTML(imhtml), gaim_prefs_get_string("/gaim/gtk/conversations/bgcolor")); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
870 | gtk_imhtml_toggle_fontface(GTK_IMHTML(imhtml), gaim_prefs_get_string("/gaim/gtk/conversations/font_face")); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
871 | |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
872 | g_signal_connect_after(G_OBJECT(imhtml), "format_function_toggle", |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
873 | G_CALLBACK(formatting_toggle_cb), toolbar); |
|
11275
cdcc651d7ecd
[gaim-migrate @ 13461]
Richard Laager <rlaager@pidgin.im>
parents:
11271
diff
changeset
|
874 | g_signal_connect_after(G_OBJECT(imhtml), "format_function_clear", |
|
cdcc651d7ecd
[gaim-migrate @ 13461]
Richard Laager <rlaager@pidgin.im>
parents:
11271
diff
changeset
|
875 | G_CALLBACK(formatting_clear_cb), NULL); |
|
9155
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
876 | |
|
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
877 | /* All the tab options! */ |
|
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
878 | vbox = gaim_gtk_make_frame(ret, _("Tab Options")); |
|
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
879 | |
|
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
880 | gaim_gtk_prefs_checkbox(_("Show IMs and chats in _tabbed windows"), |
|
5547
385f123facb7
[gaim-migrate @ 5948]
Christian Hammond <chipx86@chipx86.com>
parents:
5546
diff
changeset
|
881 | "/gaim/gtk/conversations/tabs", vbox); |
|
9155
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
882 | |
|
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
883 | /* |
|
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
884 | * Connect a signal to the above preference. When conversations are not |
|
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
885 | * shown in a tabbed window then all tabbing options should be disabled. |
|
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
886 | */ |
| 10972 | 887 | vbox2 = gtk_vbox_new(FALSE, 9); |
|
9155
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
888 | gtk_box_pack_start(GTK_BOX(vbox), vbox2, FALSE, FALSE, 0); |
|
10087
e5b80a38939d
[gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10079
diff
changeset
|
889 | gaim_prefs_connect_callback(prefs, "/gaim/gtk/conversations/tabs", |
|
e5b80a38939d
[gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10079
diff
changeset
|
890 | conversation_usetabs_cb, vbox2); |
|
9155
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
891 | if (!gaim_prefs_get_bool("/gaim/gtk/conversations/tabs")) |
|
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
892 | gtk_widget_set_sensitive(vbox2, FALSE); |
|
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
893 | |
|
9891
a192b99a29e9
[gaim-migrate @ 10779]
Mark Doliner <markdoliner@pidgin.im>
parents:
9832
diff
changeset
|
894 | gaim_gtk_prefs_checkbox(_("Show close b_utton on tabs"), |
|
9155
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
895 | "/gaim/gtk/conversations/close_on_tabs", vbox2); |
|
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
896 | |
|
11267
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
897 | hbox = gtk_hbox_new(FALSE, 9); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
898 | gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
899 | |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
900 | label = gaim_gtk_prefs_dropdown(hbox, _("_Placement:"), GAIM_PREF_INT, |
| 8988 | 901 | "/gaim/gtk/conversations/tab_side", |
| 902 | _("Top"), GTK_POS_TOP, | |
| 903 | _("Bottom"), GTK_POS_BOTTOM, | |
| 904 | _("Left"), GTK_POS_LEFT, | |
| 905 | _("Right"), GTK_POS_RIGHT, | |
| 11619 | 906 | #if GTK_CHECK_VERSION(2,6,0) |
| 907 | _("Left Vertical"), GTK_POS_LEFT|8, | |
| 908 | _("Right Vertical"), GTK_POS_RIGHT|8, | |
| 909 | #endif | |
| 8988 | 910 | NULL); |
| 911 | ||
| 11581 | 912 | names = gaim_gtkconv_placement_get_options(); |
|
11267
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
913 | label = gaim_gtk_prefs_dropdown_from_list(hbox, _("N_ew conversations:"), |
|
9155
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
914 | GAIM_PREF_STRING, "/gaim/gtk/conversations/placement", names); |
|
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
915 | g_list_free(names); |
|
29d593903d2b
[gaim-migrate @ 9939]
Mark Doliner <markdoliner@pidgin.im>
parents:
9151
diff
changeset
|
916 | |
| 5440 | 917 | gtk_widget_show_all(ret); |
| 918 | ||
| 919 | return ret; | |
| 920 | } | |
| 921 | ||
| 8231 | 922 | static void network_ip_changed(GtkEntry *entry, gpointer data) |
| 923 | { | |
|
8834
0a798e3d2b84
[gaim-migrate @ 9598]
Mark Doliner <markdoliner@pidgin.im>
parents:
8833
diff
changeset
|
924 | gaim_network_set_public_ip(gtk_entry_get_text(entry)); |
| 8231 | 925 | } |
| 926 | ||
| 9150 | 927 | static void |
| 928 | proxy_changed_cb(const char *name, GaimPrefType type, gpointer value, | |
| 929 | gpointer data) | |
| 930 | { | |
| 931 | GtkWidget *frame = data; | |
| 932 | const char *proxy = value; | |
| 933 | ||
| 934 | if (strcmp(proxy, "none") && strcmp(proxy, "envvar")) | |
| 11746 | 935 | gtk_widget_show_all(frame); |
| 9150 | 936 | else |
| 11740 | 937 | gtk_widget_hide(frame); |
| 9150 | 938 | } |
| 939 | ||
| 940 | static void proxy_print_option(GtkEntry *entry, int entrynum) | |
| 941 | { | |
| 942 | if (entrynum == PROXYHOST) | |
| 943 | gaim_prefs_set_string("/core/proxy/host", gtk_entry_get_text(entry)); | |
| 944 | else if (entrynum == PROXYPORT) | |
| 945 | gaim_prefs_set_int("/core/proxy/port", atoi(gtk_entry_get_text(entry))); | |
| 946 | else if (entrynum == PROXYUSER) | |
| 947 | gaim_prefs_set_string("/core/proxy/username", gtk_entry_get_text(entry)); | |
| 948 | else if (entrynum == PROXYPASS) | |
| 949 | gaim_prefs_set_string("/core/proxy/password", gtk_entry_get_text(entry)); | |
| 950 | } | |
| 951 | ||
|
10850
6889f793b918
[gaim-migrate @ 12522]
Mark Doliner <markdoliner@pidgin.im>
parents:
10759
diff
changeset
|
952 | static GtkWidget * |
|
6889f793b918
[gaim-migrate @ 12522]
Mark Doliner <markdoliner@pidgin.im>
parents:
10759
diff
changeset
|
953 | network_page() |
|
6889f793b918
[gaim-migrate @ 12522]
Mark Doliner <markdoliner@pidgin.im>
parents:
10759
diff
changeset
|
954 | { |
| 8231 | 955 | GtkWidget *ret; |
| 9150 | 956 | GtkWidget *vbox, *hbox, *entry; |
|
11424
b0f8535daa74
[gaim-migrate @ 13661]
Thomas Butter <tbutter@users.sourceforge.net>
parents:
11380
diff
changeset
|
957 | GtkWidget *table, *label, *auto_ip_checkbox, *ports_checkbox, *spin_button, *stun_server_entry; |
| 8231 | 958 | GtkSizeGroup *sg; |
|
11888
525706b75438
[gaim-migrate @ 14179]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11878
diff
changeset
|
959 | GaimProxyInfo *proxy_info = NULL; |
| 8231 | 960 | |
| 11243 | 961 | ret = gtk_vbox_new(FALSE, GAIM_HIG_BOX_SPACE); |
| 962 | gtk_container_set_border_width (GTK_CONTAINER (ret), GAIM_HIG_BORDER); | |
| 8231 | 963 | |
| 964 | vbox = gaim_gtk_make_frame (ret, _("IP Address")); | |
| 965 | ||
|
12152
e663abedf464
[gaim-migrate @ 14453]
Richard Laager <rlaager@pidgin.im>
parents:
12134
diff
changeset
|
966 | stun_server_entry = gaim_gtk_prefs_labeled_entry(vbox,_("ST_UN server:"), "/core/network/stun_server", NULL); |
|
11442
604d5370ff80
[gaim-migrate @ 13681]
Richard Laager <rlaager@pidgin.im>
parents:
11424
diff
changeset
|
967 | |
|
12152
e663abedf464
[gaim-migrate @ 14453]
Richard Laager <rlaager@pidgin.im>
parents:
12134
diff
changeset
|
968 | auto_ip_checkbox = gaim_gtk_prefs_checkbox(_("_Autodetect IP address"), |
| 8231 | 969 | "/core/network/auto_ip", vbox); |
| 970 | ||
| 971 | table = gtk_table_new(2, 1, FALSE); | |
|
11442
604d5370ff80
[gaim-migrate @ 13681]
Richard Laager <rlaager@pidgin.im>
parents:
11424
diff
changeset
|
972 | gtk_container_set_border_width(GTK_CONTAINER(table), 0); |
| 8231 | 973 | gtk_table_set_col_spacings(GTK_TABLE(table), 5); |
| 974 | gtk_table_set_row_spacings(GTK_TABLE(table), 10); | |
| 975 | gtk_container_add(GTK_CONTAINER(vbox), table); | |
| 976 | ||
| 977 | label = gtk_label_new_with_mnemonic(_("Public _IP:")); | |
| 978 | gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); | |
| 979 | gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); | |
| 980 | ||
| 981 | entry = gtk_entry_new(); | |
| 982 | gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); | |
| 983 | gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 0, 1, GTK_FILL, 0, 0, 0); | |
| 984 | g_signal_connect(G_OBJECT(entry), "changed", | |
| 985 | G_CALLBACK(network_ip_changed), NULL); | |
| 986 | ||
|
8834
0a798e3d2b84
[gaim-migrate @ 9598]
Mark Doliner <markdoliner@pidgin.im>
parents:
8833
diff
changeset
|
987 | if (gaim_network_get_public_ip() != NULL) |
| 8231 | 988 | gtk_entry_set_text(GTK_ENTRY(entry), |
|
8834
0a798e3d2b84
[gaim-migrate @ 9598]
Mark Doliner <markdoliner@pidgin.im>
parents:
8833
diff
changeset
|
989 | gaim_network_get_public_ip()); |
| 8231 | 990 | |
| 991 | gaim_set_accessible_label (entry, label); | |
| 992 | ||
| 993 | ||
| 994 | if (gaim_prefs_get_bool("/core/network/auto_ip")) { | |
| 995 | gtk_widget_set_sensitive(GTK_WIDGET(table), FALSE); | |
| 996 | } | |
| 997 | ||
| 998 | g_signal_connect(G_OBJECT(auto_ip_checkbox), "clicked", | |
| 999 | G_CALLBACK(gaim_gtk_toggle_sensitive), table); | |
| 1000 | ||
| 1001 | vbox = gaim_gtk_make_frame (ret, _("Ports")); | |
| 1002 | sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); | |
| 1003 | ||
| 1004 | ports_checkbox = gaim_gtk_prefs_checkbox(_("_Manually specify range of ports to listen on"), | |
| 1005 | "/core/network/ports_range_use", vbox); | |
| 1006 | ||
|
12152
e663abedf464
[gaim-migrate @ 14453]
Richard Laager <rlaager@pidgin.im>
parents:
12134
diff
changeset
|
1007 | spin_button = gaim_gtk_prefs_labeled_spin_button(vbox, _("_Start port:"), |
| 8231 | 1008 | "/core/network/ports_range_start", 0, 65535, sg); |
| 1009 | if (!gaim_prefs_get_bool("/core/network/ports_range_use")) | |
| 1010 | gtk_widget_set_sensitive(GTK_WIDGET(spin_button), FALSE); | |
| 1011 | g_signal_connect(G_OBJECT(ports_checkbox), "clicked", | |
| 1012 | G_CALLBACK(gaim_gtk_toggle_sensitive), spin_button); | |
| 1013 | ||
|
12152
e663abedf464
[gaim-migrate @ 14453]
Richard Laager <rlaager@pidgin.im>
parents:
12134
diff
changeset
|
1014 | spin_button = gaim_gtk_prefs_labeled_spin_button(vbox, _("_End port:"), |
| 8231 | 1015 | "/core/network/ports_range_end", 0, 65535, sg); |
| 1016 | if (!gaim_prefs_get_bool("/core/network/ports_range_use")) | |
| 1017 | gtk_widget_set_sensitive(GTK_WIDGET(spin_button), FALSE); | |
| 1018 | g_signal_connect(G_OBJECT(ports_checkbox), "clicked", | |
| 1019 | G_CALLBACK(gaim_gtk_toggle_sensitive), spin_button); | |
| 1020 | ||
| 11878 | 1021 | if (!gaim_running_gnome()) { |
| 1022 | vbox = gaim_gtk_make_frame(ret, _("Proxy Server")); | |
| 1023 | prefs_proxy_frame = gtk_vbox_new(FALSE, 0); | |
| 1024 | gaim_gtk_prefs_dropdown(vbox, _("Proxy _type:"), GAIM_PREF_STRING, | |
| 1025 | "/core/proxy/type", | |
| 1026 | _("No proxy"), "none", | |
| 1027 | "SOCKS 4", "socks4", | |
| 1028 | "SOCKS 5", "socks5", | |
| 1029 | "HTTP", "http", | |
| 1030 | _("Use Environmental Settings"), "envvar", | |
| 1031 | NULL); | |
| 1032 | gtk_box_pack_start(GTK_BOX(vbox), prefs_proxy_frame, 0, 0, 0); | |
| 1033 | proxy_info = gaim_global_proxy_get_info(); | |
|
5681
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5673
diff
changeset
|
1034 | |
| 11878 | 1035 | gaim_prefs_connect_callback(prefs, "/core/proxy/type", |
| 1036 | proxy_changed_cb, prefs_proxy_frame); | |
| 1037 | ||
| 1038 | table = gtk_table_new(4, 2, FALSE); | |
| 1039 | gtk_container_set_border_width(GTK_CONTAINER(table), 0); | |
| 1040 | gtk_table_set_col_spacings(GTK_TABLE(table), 5); | |
| 1041 | gtk_table_set_row_spacings(GTK_TABLE(table), 10); | |
| 1042 | gtk_container_add(GTK_CONTAINER(prefs_proxy_frame), table); | |
| 5440 | 1043 | |
| 1044 | ||
| 11878 | 1045 | label = gtk_label_new_with_mnemonic(_("_Host:")); |
| 1046 | gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); | |
| 1047 | gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); | |
| 5440 | 1048 | |
| 11878 | 1049 | entry = gtk_entry_new(); |
| 1050 | gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); | |
| 1051 | gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 0, 1, GTK_FILL, 0, 0, 0); | |
| 1052 | g_signal_connect(G_OBJECT(entry), "changed", | |
| 1053 | G_CALLBACK(proxy_print_option), (void *)PROXYHOST); | |
|
5681
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5673
diff
changeset
|
1054 | |
| 11878 | 1055 | if (proxy_info != NULL && gaim_proxy_info_get_host(proxy_info)) |
| 1056 | gtk_entry_set_text(GTK_ENTRY(entry), | |
| 1057 | gaim_proxy_info_get_host(proxy_info)); | |
| 5440 | 1058 | |
| 11878 | 1059 | hbox = gtk_hbox_new(TRUE, 5); |
| 1060 | gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 1061 | gaim_set_accessible_label (entry, label); | |
| 5440 | 1062 | |
| 11878 | 1063 | label = gtk_label_new_with_mnemonic(_("_Port:")); |
| 1064 | gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); | |
| 1065 | gtk_table_attach(GTK_TABLE(table), label, 2, 3, 0, 1, GTK_FILL, 0, 0, 0); | |
| 5440 | 1066 | |
| 11878 | 1067 | entry = gtk_entry_new(); |
| 1068 | gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); | |
| 1069 | gtk_table_attach(GTK_TABLE(table), entry, 3, 4, 0, 1, GTK_FILL, 0, 0, 0); | |
| 1070 | g_signal_connect(G_OBJECT(entry), "changed", | |
| 1071 | G_CALLBACK(proxy_print_option), (void *)PROXYPORT); | |
| 5440 | 1072 | |
| 11878 | 1073 | if (proxy_info != NULL && gaim_proxy_info_get_port(proxy_info) != 0) { |
| 1074 | char buf[128]; | |
| 1075 | g_snprintf(buf, sizeof(buf), "%d", | |
|
5681
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5673
diff
changeset
|
1076 | gaim_proxy_info_get_port(proxy_info)); |
|
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5673
diff
changeset
|
1077 | |
| 11878 | 1078 | gtk_entry_set_text(GTK_ENTRY(entry), buf); |
| 1079 | } | |
| 1080 | gaim_set_accessible_label (entry, label); | |
| 5440 | 1081 | |
| 11878 | 1082 | label = gtk_label_new_with_mnemonic(_("_User:")); |
| 1083 | gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); | |
| 1084 | gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2, GTK_FILL, 0, 0, 0); | |
| 5440 | 1085 | |
| 11878 | 1086 | entry = gtk_entry_new(); |
| 1087 | gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); | |
| 1088 | gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 1, 2, GTK_FILL, 0, 0, 0); | |
| 1089 | g_signal_connect(G_OBJECT(entry), "changed", | |
| 1090 | G_CALLBACK(proxy_print_option), (void *)PROXYUSER); | |
|
5681
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5673
diff
changeset
|
1091 | |
| 11878 | 1092 | if (proxy_info != NULL && gaim_proxy_info_get_username(proxy_info) != NULL) |
| 1093 | gtk_entry_set_text(GTK_ENTRY(entry), | |
|
5681
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5673
diff
changeset
|
1094 | gaim_proxy_info_get_username(proxy_info)); |
| 5440 | 1095 | |
| 11878 | 1096 | hbox = gtk_hbox_new(TRUE, 5); |
| 1097 | gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 1098 | gaim_set_accessible_label (entry, label); | |
| 5440 | 1099 | |
| 11878 | 1100 | label = gtk_label_new_with_mnemonic(_("Pa_ssword:")); |
| 1101 | gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); | |
| 1102 | gtk_table_attach(GTK_TABLE(table), label, 2, 3, 1, 2, GTK_FILL, 0, 0, 0); | |
| 5440 | 1103 | |
| 11878 | 1104 | entry = gtk_entry_new(); |
| 1105 | gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); | |
| 1106 | gtk_table_attach(GTK_TABLE(table), entry, 3, 4, 1, 2, GTK_FILL , 0, 0, 0); | |
| 1107 | gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE); | |
|
11986
21d2ab6421a7
[gaim-migrate @ 14279]
Mark Doliner <markdoliner@pidgin.im>
parents:
11985
diff
changeset
|
1108 | gtk_entry_set_invisible_char(GTK_ENTRY(entry), GAIM_INVISIBLE_CHAR); |
| 11878 | 1109 | g_signal_connect(G_OBJECT(entry), "changed", |
| 1110 | G_CALLBACK(proxy_print_option), (void *)PROXYPASS); | |
|
5681
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5673
diff
changeset
|
1111 | |
| 11878 | 1112 | if (proxy_info != NULL && gaim_proxy_info_get_password(proxy_info) != NULL) |
| 1113 | gtk_entry_set_text(GTK_ENTRY(entry), | |
| 1114 | gaim_proxy_info_get_password(proxy_info)); | |
| 1115 | gaim_set_accessible_label (entry, label); | |
| 1116 | } | |
| 5440 | 1117 | |
| 1118 | gtk_widget_show_all(ret); | |
| 11740 | 1119 | if (proxy_info == NULL || |
| 1120 | gaim_proxy_info_get_type(proxy_info) == GAIM_PROXY_NONE || | |
| 1121 | gaim_proxy_info_get_type(proxy_info) == GAIM_PROXY_USE_ENVVAR) | |
| 1122 | gtk_widget_hide(table); | |
| 5440 | 1123 | return ret; |
| 1124 | } | |
| 1125 | ||
| 1126 | #ifndef _WIN32 | |
| 1127 | static gboolean manual_browser_set(GtkWidget *entry, GdkEventFocus *event, gpointer data) { | |
| 1128 | const char *program = gtk_entry_get_text(GTK_ENTRY(entry)); | |
| 1129 | ||
|
5560
7cd6678f838b
[gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents:
5554
diff
changeset
|
1130 | gaim_prefs_set_string("/gaim/gtk/browsers/command", program); |
| 5440 | 1131 | |
| 1132 | /* carry on normally */ | |
| 1133 | return FALSE; | |
| 1134 | } | |
| 1135 | ||
| 5633 | 1136 | static GList *get_available_browsers() |
| 5440 | 1137 | { |
| 1138 | struct browser { | |
| 1139 | char *name; | |
| 1140 | char *command; | |
| 1141 | }; | |
| 1142 | ||
| 1143 | static struct browser possible_browsers[] = { | |
|
9405
3413b3694435
[gaim-migrate @ 10219]
Mark Doliner <markdoliner@pidgin.im>
parents:
9307
diff
changeset
|
1144 | {N_("Epiphany"), "epiphany"}, |
|
8267
53bdf5396546
[gaim-migrate @ 8990]
Mark Doliner <markdoliner@pidgin.im>
parents:
8238
diff
changeset
|
1145 | {N_("Firebird"), "mozilla-firebird"}, |
| 8356 | 1146 | {N_("Firefox"), "firefox"}, |
|
9405
3413b3694435
[gaim-migrate @ 10219]
Mark Doliner <markdoliner@pidgin.im>
parents:
9307
diff
changeset
|
1147 | {N_("Galeon"), "galeon"}, |
|
11816
db8f9f6fb6cb
[gaim-migrate @ 14107]
Richard Laager <rlaager@pidgin.im>
parents:
11811
diff
changeset
|
1148 | {N_("GNOME Default"), "gnome-open"}, |
|
9405
3413b3694435
[gaim-migrate @ 10219]
Mark Doliner <markdoliner@pidgin.im>
parents:
9307
diff
changeset
|
1149 | {N_("Konqueror"), "kfmclient"}, |
|
3413b3694435
[gaim-migrate @ 10219]
Mark Doliner <markdoliner@pidgin.im>
parents:
9307
diff
changeset
|
1150 | {N_("Mozilla"), "mozilla"}, |
|
3413b3694435
[gaim-migrate @ 10219]
Mark Doliner <markdoliner@pidgin.im>
parents:
9307
diff
changeset
|
1151 | {N_("Netscape"), "netscape"}, |
|
3413b3694435
[gaim-migrate @ 10219]
Mark Doliner <markdoliner@pidgin.im>
parents:
9307
diff
changeset
|
1152 | {N_("Opera"), "opera"} |
| 5440 | 1153 | }; |
|
9405
3413b3694435
[gaim-migrate @ 10219]
Mark Doliner <markdoliner@pidgin.im>
parents:
9307
diff
changeset
|
1154 | static const int num_possible_browsers = 9; |
| 5440 | 1155 | |
| 1156 | GList *browsers = NULL; | |
| 1157 | int i = 0; | |
| 5819 | 1158 | char *browser_setting = (char *)gaim_prefs_get_string("/gaim/gtk/browsers/browser"); |
| 5440 | 1159 | |
|
5568
3c7cc231c8c4
[gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents:
5567
diff
changeset
|
1160 | browsers = g_list_prepend(browsers, "custom"); |
| 5440 | 1161 | browsers = g_list_prepend(browsers, _("Manual")); |
|
5568
3c7cc231c8c4
[gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents:
5567
diff
changeset
|
1162 | |
| 5440 | 1163 | for (i = 0; i < num_possible_browsers; i++) { |
|
7108
82655fa54acb
[gaim-migrate @ 7673]
Christian Hammond <chipx86@chipx86.com>
parents:
7095
diff
changeset
|
1164 | if (gaim_program_is_valid(possible_browsers[i].command)) { |
| 5633 | 1165 | browsers = g_list_prepend(browsers, |
|
5551
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
1166 | possible_browsers[i].command); |
|
5568
3c7cc231c8c4
[gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents:
5567
diff
changeset
|
1167 | browsers = g_list_prepend(browsers, _(possible_browsers[i].name)); |
| 5825 | 1168 | if(browser_setting && !strcmp(possible_browsers[i].command, browser_setting)) |
| 5819 | 1169 | browser_setting = NULL; |
| 5440 | 1170 | } |
| 1171 | } | |
| 1172 | ||
| 5819 | 1173 | if(browser_setting) |
| 1174 | gaim_prefs_set_string("/gaim/gtk/browsers/browser", "custom"); | |
| 1175 | ||
| 5440 | 1176 | return browsers; |
| 1177 | } | |
| 1178 | ||
|
5568
3c7cc231c8c4
[gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents:
5567
diff
changeset
|
1179 | static void |
|
8274
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1180 | browser_changed1_cb(const char *name, GaimPrefType type, gpointer value, |
|
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1181 | gpointer data) |
|
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1182 | { |
|
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1183 | GtkWidget *hbox = data; |
|
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1184 | const char *browser = value; |
|
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1185 | |
|
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1186 | gtk_widget_set_sensitive(hbox, strcmp(browser, "custom")); |
|
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1187 | } |
|
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1188 | |
|
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1189 | static void |
|
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1190 | browser_changed2_cb(const char *name, GaimPrefType type, gpointer value, |
|
5568
3c7cc231c8c4
[gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents:
5567
diff
changeset
|
1191 | gpointer data) |
|
3c7cc231c8c4
[gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents:
5567
diff
changeset
|
1192 | { |
|
3c7cc231c8c4
[gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents:
5567
diff
changeset
|
1193 | GtkWidget *hbox = data; |
|
3c7cc231c8c4
[gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents:
5567
diff
changeset
|
1194 | const char *browser = value; |
|
3c7cc231c8c4
[gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents:
5567
diff
changeset
|
1195 | |
|
3c7cc231c8c4
[gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents:
5567
diff
changeset
|
1196 | gtk_widget_set_sensitive(hbox, !strcmp(browser, "custom")); |
|
3c7cc231c8c4
[gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents:
5567
diff
changeset
|
1197 | } |
|
3c7cc231c8c4
[gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents:
5567
diff
changeset
|
1198 | |
|
10850
6889f793b918
[gaim-migrate @ 12522]
Mark Doliner <markdoliner@pidgin.im>
parents:
10759
diff
changeset
|
1199 | static GtkWidget * |
|
6889f793b918
[gaim-migrate @ 12522]
Mark Doliner <markdoliner@pidgin.im>
parents:
10759
diff
changeset
|
1200 | browser_page() |
|
6889f793b918
[gaim-migrate @ 12522]
Mark Doliner <markdoliner@pidgin.im>
parents:
10759
diff
changeset
|
1201 | { |
| 5440 | 1202 | GtkWidget *ret; |
| 1203 | GtkWidget *vbox; | |
| 1204 | GtkWidget *hbox; | |
| 1205 | GtkWidget *label; | |
|
6007
8a852b9295e0
[gaim-migrate @ 6455]
Mark Doliner <markdoliner@pidgin.im>
parents:
6006
diff
changeset
|
1206 | GtkWidget *entry; |
| 5440 | 1207 | GtkSizeGroup *sg; |
| 1208 | GList *browsers = NULL; | |
| 1209 | ||
| 11243 | 1210 | ret = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
| 1211 | gtk_container_set_border_width (GTK_CONTAINER (ret), GAIM_HIG_BORDER); | |
| 5440 | 1212 | |
| 1213 | sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); | |
|
5530
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5440
diff
changeset
|
1214 | vbox = gaim_gtk_make_frame (ret, _("Browser Selection")); |
| 5440 | 1215 | |
| 1216 | browsers = get_available_browsers(); | |
| 1217 | if (browsers != NULL) { | |
| 7987 | 1218 | label = gaim_gtk_prefs_dropdown_from_list(vbox,_("_Browser:"), GAIM_PREF_STRING, |
|
5550
1938d1e59cf8
[gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents:
5547
diff
changeset
|
1219 | "/gaim/gtk/browsers/browser", |
|
1938d1e59cf8
[gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents:
5547
diff
changeset
|
1220 | browsers); |
|
11638
1821b40269a3
[gaim-migrate @ 13914]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11619
diff
changeset
|
1221 | g_list_free(browsers); |
|
10973
baecb01a0cf4
[gaim-migrate @ 12798]
Michael R. Head <burner@suppressingfire.org>
parents:
10972
diff
changeset
|
1222 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
| 5440 | 1223 | gtk_size_group_add_widget(sg, label); |
|
8274
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1224 | |
|
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1225 | hbox = gtk_hbox_new(FALSE, 0); |
|
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1226 | label = gaim_gtk_prefs_dropdown(hbox, _("_Open link in:"), GAIM_PREF_INT, |
|
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1227 | "/gaim/gtk/browsers/place", |
|
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1228 | _("Browser default"), GAIM_BROWSER_DEFAULT, |
|
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1229 | _("Existing window"), GAIM_BROWSER_CURRENT, |
|
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1230 | _("New window"), GAIM_BROWSER_NEW_WINDOW, |
|
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1231 | _("New tab"), GAIM_BROWSER_NEW_TAB, |
|
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1232 | NULL); |
|
10973
baecb01a0cf4
[gaim-migrate @ 12798]
Michael R. Head <burner@suppressingfire.org>
parents:
10972
diff
changeset
|
1233 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
|
8274
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1234 | gtk_size_group_add_widget(sg, label); |
|
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1235 | gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
|
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1236 | |
|
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1237 | if (!strcmp(gaim_prefs_get_string("/gaim/gtk/browsers/browser"), "custom")) |
|
a9a41c888a4e
[gaim-migrate @ 8998]
Mark Doliner <markdoliner@pidgin.im>
parents:
8272
diff
changeset
|
1238 | gtk_widget_set_sensitive(hbox, FALSE); |
|
10087
e5b80a38939d
[gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10079
diff
changeset
|
1239 | gaim_prefs_connect_callback(prefs, "/gaim/gtk/browsers/browser", |
|
e5b80a38939d
[gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10079
diff
changeset
|
1240 | browser_changed1_cb, hbox); |
| 5440 | 1241 | } |
| 1242 | ||
| 1243 | hbox = gtk_hbox_new(FALSE, 5); | |
| 1244 | gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
|
6031
7bcdcf180d48
[gaim-migrate @ 6481]
Mark Doliner <markdoliner@pidgin.im>
parents:
6016
diff
changeset
|
1245 | label = gtk_label_new_with_mnemonic(_("_Manual:\n(%s for URL)")); |
| 5440 | 1246 | gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); |
| 1247 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
| 1248 | gtk_size_group_add_widget(sg, label); | |
| 1249 | ||
|
6007
8a852b9295e0
[gaim-migrate @ 6455]
Mark Doliner <markdoliner@pidgin.im>
parents:
6006
diff
changeset
|
1250 | entry = gtk_entry_new(); |
|
8a852b9295e0
[gaim-migrate @ 6455]
Mark Doliner <markdoliner@pidgin.im>
parents:
6006
diff
changeset
|
1251 | gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); |
|
5560
7cd6678f838b
[gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents:
5554
diff
changeset
|
1252 | |
|
7cd6678f838b
[gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents:
5554
diff
changeset
|
1253 | if (strcmp(gaim_prefs_get_string("/gaim/gtk/browsers/browser"), "custom")) |
| 5440 | 1254 | gtk_widget_set_sensitive(hbox, FALSE); |
|
10087
e5b80a38939d
[gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10079
diff
changeset
|
1255 | gaim_prefs_connect_callback(prefs, "/gaim/gtk/browsers/browser", |
|
e5b80a38939d
[gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10079
diff
changeset
|
1256 | browser_changed2_cb, hbox); |
|
5560
7cd6678f838b
[gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents:
5554
diff
changeset
|
1257 | |
|
6007
8a852b9295e0
[gaim-migrate @ 6455]
Mark Doliner <markdoliner@pidgin.im>
parents:
6006
diff
changeset
|
1258 | gtk_box_pack_start (GTK_BOX (hbox), entry, FALSE, FALSE, 0); |
|
8a852b9295e0
[gaim-migrate @ 6455]
Mark Doliner <markdoliner@pidgin.im>
parents:
6006
diff
changeset
|
1259 | |
|
8a852b9295e0
[gaim-migrate @ 6455]
Mark Doliner <markdoliner@pidgin.im>
parents:
6006
diff
changeset
|
1260 | gtk_entry_set_text(GTK_ENTRY(entry), |
|
5560
7cd6678f838b
[gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents:
5554
diff
changeset
|
1261 | gaim_prefs_get_string("/gaim/gtk/browsers/command")); |
|
6007
8a852b9295e0
[gaim-migrate @ 6455]
Mark Doliner <markdoliner@pidgin.im>
parents:
6006
diff
changeset
|
1262 | g_signal_connect(G_OBJECT(entry), "focus-out-event", |
|
5560
7cd6678f838b
[gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents:
5554
diff
changeset
|
1263 | G_CALLBACK(manual_browser_set), NULL); |
|
8188
00097fe3f4a4
[gaim-migrate @ 8909]
Christian Hammond <chipx86@chipx86.com>
parents:
8170
diff
changeset
|
1264 | gaim_set_accessible_label (entry, label); |
| 5440 | 1265 | |
| 1266 | gtk_widget_show_all(ret); | |
| 1267 | return ret; | |
| 1268 | } | |
| 1269 | #endif /*_WIN32*/ | |
| 1270 | ||
|
10850
6889f793b918
[gaim-migrate @ 12522]
Mark Doliner <markdoliner@pidgin.im>
parents:
10759
diff
changeset
|
1271 | static GtkWidget * |
|
6889f793b918
[gaim-migrate @ 12522]
Mark Doliner <markdoliner@pidgin.im>
parents:
10759
diff
changeset
|
1272 | logging_page() |
|
6889f793b918
[gaim-migrate @ 12522]
Mark Doliner <markdoliner@pidgin.im>
parents:
10759
diff
changeset
|
1273 | { |
| 5440 | 1274 | GtkWidget *ret; |
| 1275 | GtkWidget *vbox; | |
| 7431 | 1276 | GList *names; |
| 8573 | 1277 | |
| 11243 | 1278 | ret = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
| 1279 | gtk_container_set_border_width (GTK_CONTAINER (ret), GAIM_HIG_BORDER); | |
| 5440 | 1280 | |
|
11698
afbf0d8bdacf
[gaim-migrate @ 13989]
Mark Doliner <markdoliner@pidgin.im>
parents:
11697
diff
changeset
|
1281 | vbox = gaim_gtk_make_frame (ret, _("Logging")); |
| 7431 | 1282 | names = gaim_log_logger_get_options(); |
| 1283 | ||
|
12152
e663abedf464
[gaim-migrate @ 14453]
Richard Laager <rlaager@pidgin.im>
parents:
12134
diff
changeset
|
1284 | gaim_gtk_prefs_dropdown_from_list(vbox, _("Log _format:"), GAIM_PREF_STRING, |
| 7987 | 1285 | "/core/logging/format", names); |
| 1286 | ||
|
11638
1821b40269a3
[gaim-migrate @ 13914]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11619
diff
changeset
|
1287 | g_list_free(names); |
|
1821b40269a3
[gaim-migrate @ 13914]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11619
diff
changeset
|
1288 | |
|
11698
afbf0d8bdacf
[gaim-migrate @ 13989]
Mark Doliner <markdoliner@pidgin.im>
parents:
11697
diff
changeset
|
1289 | gaim_gtk_prefs_checkbox(_("Log all _instant messages"), |
|
7562
7cbd89f3cef1
[gaim-migrate @ 8176]
Christian Hammond <chipx86@chipx86.com>
parents:
7561
diff
changeset
|
1290 | "/core/logging/log_ims", vbox); |
| 7987 | 1291 | gaim_gtk_prefs_checkbox(_("Log all c_hats"), |
|
7562
7cbd89f3cef1
[gaim-migrate @ 8176]
Christian Hammond <chipx86@chipx86.com>
parents:
7561
diff
changeset
|
1292 | "/core/logging/log_chats", vbox); |
|
11699
e7ca65b58ce9
[gaim-migrate @ 13990]
Mark Doliner <markdoliner@pidgin.im>
parents:
11698
diff
changeset
|
1293 | gaim_gtk_prefs_checkbox(_("Log all _status changes to system log"), |
|
11698
afbf0d8bdacf
[gaim-migrate @ 13989]
Mark Doliner <markdoliner@pidgin.im>
parents:
11697
diff
changeset
|
1294 | "/core/logging/log_system", vbox); |
| 8573 | 1295 | |
| 5440 | 1296 | gtk_widget_show_all(ret); |
|
11698
afbf0d8bdacf
[gaim-migrate @ 13989]
Mark Doliner <markdoliner@pidgin.im>
parents:
11697
diff
changeset
|
1297 | |
| 5440 | 1298 | return ret; |
| 1299 | } | |
| 1300 | ||
| 1301 | #ifndef _WIN32 | |
| 1302 | static gint sound_cmd_yeah(GtkEntry *entry, gpointer d) | |
| 1303 | { | |
| 5684 | 1304 | gaim_prefs_set_string("/gaim/gtk/sound/command", |
|
6007
8a852b9295e0
[gaim-migrate @ 6455]
Mark Doliner <markdoliner@pidgin.im>
parents:
6006
diff
changeset
|
1305 | gtk_entry_get_text(GTK_ENTRY(entry))); |
| 5440 | 1306 | return TRUE; |
| 1307 | } | |
|
6005
596ca49e2514
[gaim-migrate @ 6453]
Mark Doliner <markdoliner@pidgin.im>
parents:
6001
diff
changeset
|
1308 | |
|
596ca49e2514
[gaim-migrate @ 6453]
Mark Doliner <markdoliner@pidgin.im>
parents:
6001
diff
changeset
|
1309 | static void |
|
10074
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1310 | sound_changed1_cb(const char *name, GaimPrefType type, gpointer value, |
|
6005
596ca49e2514
[gaim-migrate @ 6453]
Mark Doliner <markdoliner@pidgin.im>
parents:
6001
diff
changeset
|
1311 | gpointer data) |
|
596ca49e2514
[gaim-migrate @ 6453]
Mark Doliner <markdoliner@pidgin.im>
parents:
6001
diff
changeset
|
1312 | { |
|
596ca49e2514
[gaim-migrate @ 6453]
Mark Doliner <markdoliner@pidgin.im>
parents:
6001
diff
changeset
|
1313 | GtkWidget *hbox = data; |
|
596ca49e2514
[gaim-migrate @ 6453]
Mark Doliner <markdoliner@pidgin.im>
parents:
6001
diff
changeset
|
1314 | const char *method = value; |
|
596ca49e2514
[gaim-migrate @ 6453]
Mark Doliner <markdoliner@pidgin.im>
parents:
6001
diff
changeset
|
1315 | |
|
596ca49e2514
[gaim-migrate @ 6453]
Mark Doliner <markdoliner@pidgin.im>
parents:
6001
diff
changeset
|
1316 | gtk_widget_set_sensitive(hbox, !strcmp(method, "custom")); |
|
596ca49e2514
[gaim-migrate @ 6453]
Mark Doliner <markdoliner@pidgin.im>
parents:
6001
diff
changeset
|
1317 | } |
|
10074
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1318 | |
|
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1319 | static void |
|
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1320 | sound_changed2_cb(const char *name, GaimPrefType type, gpointer value, |
|
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1321 | gpointer data) |
|
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1322 | { |
|
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1323 | GtkWidget *vbox = data; |
|
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1324 | const char *method = value; |
|
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1325 | |
|
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1326 | gtk_widget_set_sensitive(vbox, strcmp(method, "none")); |
|
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1327 | } |
| 5440 | 1328 | #endif |
| 1329 | ||
| 9150 | 1330 | |
| 1331 | static void | |
| 1332 | event_toggled(GtkCellRendererToggle *cell, gchar *pth, gpointer data) | |
| 1333 | { | |
| 1334 | GtkTreeModel *model = (GtkTreeModel *)data; | |
| 1335 | GtkTreeIter iter; | |
| 1336 | GtkTreePath *path = gtk_tree_path_new_from_string(pth); | |
|
10930
b6406d3b0778
[gaim-migrate @ 12709]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10871
diff
changeset
|
1337 | char *pref; |
| 9150 | 1338 | |
| 1339 | gtk_tree_model_get_iter (model, &iter, path); | |
| 1340 | gtk_tree_model_get (model, &iter, | |
| 1341 | 2, &pref, | |
| 1342 | -1); | |
| 1343 | ||
| 1344 | gaim_prefs_set_bool(pref, !gtk_cell_renderer_toggle_get_active(cell)); | |
|
10930
b6406d3b0778
[gaim-migrate @ 12709]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10871
diff
changeset
|
1345 | g_free(pref); |
| 9150 | 1346 | |
| 1347 | gtk_list_store_set(GTK_LIST_STORE (model), &iter, | |
| 1348 | 0, !gtk_cell_renderer_toggle_get_active(cell), | |
| 1349 | -1); | |
| 1350 | ||
| 1351 | gtk_tree_path_free(path); | |
| 1352 | } | |
| 1353 | ||
| 1354 | static void | |
| 1355 | test_sound(GtkWidget *button, gpointer i_am_NULL) | |
| 1356 | { | |
| 1357 | char *pref; | |
|
11642
76b60f0bf467
[gaim-migrate @ 13919]
Casey Harkins <charkins@pidgin.im>
parents:
11638
diff
changeset
|
1358 | gboolean temp_value; |
| 9150 | 1359 | |
| 1360 | pref = g_strdup_printf("/gaim/gtk/sound/enabled/%s", | |
| 1361 | gaim_gtk_sound_get_event_option(sound_row_sel)); | |
| 1362 | ||
|
11642
76b60f0bf467
[gaim-migrate @ 13919]
Casey Harkins <charkins@pidgin.im>
parents:
11638
diff
changeset
|
1363 | temp_value = gaim_prefs_get_bool(pref); |
|
76b60f0bf467
[gaim-migrate @ 13919]
Casey Harkins <charkins@pidgin.im>
parents:
11638
diff
changeset
|
1364 | |
|
76b60f0bf467
[gaim-migrate @ 13919]
Casey Harkins <charkins@pidgin.im>
parents:
11638
diff
changeset
|
1365 | if (!temp_value) gaim_prefs_set_bool(pref, TRUE); |
|
76b60f0bf467
[gaim-migrate @ 13919]
Casey Harkins <charkins@pidgin.im>
parents:
11638
diff
changeset
|
1366 | |
|
76b60f0bf467
[gaim-migrate @ 13919]
Casey Harkins <charkins@pidgin.im>
parents:
11638
diff
changeset
|
1367 | gaim_sound_play_event(sound_row_sel, NULL); |
|
76b60f0bf467
[gaim-migrate @ 13919]
Casey Harkins <charkins@pidgin.im>
parents:
11638
diff
changeset
|
1368 | |
|
76b60f0bf467
[gaim-migrate @ 13919]
Casey Harkins <charkins@pidgin.im>
parents:
11638
diff
changeset
|
1369 | if (!temp_value) gaim_prefs_set_bool(pref, FALSE); |
| 9150 | 1370 | |
| 1371 | g_free(pref); | |
| 1372 | } | |
| 1373 | ||
|
9508
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1374 | /* |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1375 | * Resets a sound file back to default. |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1376 | */ |
| 9150 | 1377 | static void |
| 1378 | reset_sound(GtkWidget *button, gpointer i_am_also_NULL) | |
| 1379 | { | |
|
9508
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1380 | gchar *pref; |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1381 | |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1382 | pref = g_strdup_printf("/gaim/gtk/sound/file/%s", |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1383 | gaim_gtk_sound_get_event_option(sound_row_sel)); |
| 9150 | 1384 | gaim_prefs_set_string(pref, ""); |
| 1385 | g_free(pref); | |
| 1386 | ||
| 1387 | gtk_entry_set_text(GTK_ENTRY(sound_entry), "(default)"); | |
| 1388 | } | |
| 1389 | ||
|
9508
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1390 | static void |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1391 | sound_chosen_cb(void *user_data, const char *filename) |
| 9150 | 1392 | { |
|
9508
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1393 | gchar *pref; |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1394 | int sound; |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1395 | |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1396 | sound = GPOINTER_TO_INT(user_data); |
| 9150 | 1397 | |
| 1398 | /* Set it -- and forget it */ | |
| 1399 | pref = g_strdup_printf("/gaim/gtk/sound/file/%s", | |
|
9508
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1400 | gaim_gtk_sound_get_event_option(sound)); |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1401 | gaim_prefs_set_string(pref, filename); |
| 9150 | 1402 | g_free(pref); |
| 1403 | ||
|
9508
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1404 | /* |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1405 | * If the sound we just changed is still the currently selected |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1406 | * sound, then update the box showing the file name. |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1407 | */ |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1408 | if (sound == sound_row_sel) |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1409 | gtk_entry_set_text(GTK_ENTRY(sound_entry), filename); |
| 9150 | 1410 | } |
| 1411 | ||
|
9508
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1412 | static void select_sound(GtkWidget *button, gpointer being_NULL_is_fun) |
| 9150 | 1413 | { |
|
9508
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1414 | gchar *pref; |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1415 | const char *filename; |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1416 | |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1417 | pref = g_strdup_printf("/gaim/gtk/sound/file/%s", |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1418 | gaim_gtk_sound_get_event_option(sound_row_sel)); |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1419 | filename = gaim_prefs_get_string(pref); |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1420 | g_free(pref); |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1421 | |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1422 | if (*filename == '\0') |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1423 | filename = NULL; |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1424 | |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1425 | gaim_request_file(prefs, _("Sound Selection"), filename, FALSE, |
|
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1426 | G_CALLBACK(sound_chosen_cb), NULL, GINT_TO_POINTER(sound_row_sel)); |
| 9150 | 1427 | } |
| 1428 | ||
|
9508
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1429 | static void prefs_sound_sel(GtkTreeSelection *sel, GtkTreeModel *model) { |
| 9150 | 1430 | GtkTreeIter iter; |
| 1431 | GValue val = { 0, }; | |
| 1432 | const char *file; | |
| 1433 | char *pref; | |
| 1434 | ||
| 1435 | if (! gtk_tree_selection_get_selected (sel, &model, &iter)) | |
| 1436 | return; | |
| 1437 | gtk_tree_model_get_value (model, &iter, 3, &val); | |
| 1438 | sound_row_sel = g_value_get_uint(&val); | |
| 1439 | ||
| 1440 | pref = g_strdup_printf("/gaim/gtk/sound/file/%s", | |
| 1441 | gaim_gtk_sound_get_event_option(sound_row_sel)); | |
| 1442 | file = gaim_prefs_get_string(pref); | |
| 1443 | g_free(pref); | |
| 1444 | if (sound_entry) | |
| 1445 | gtk_entry_set_text(GTK_ENTRY(sound_entry), (file && *file != '\0') ? file : "(default)"); | |
| 1446 | g_value_unset (&val); | |
| 1447 | } | |
| 1448 | ||
|
10850
6889f793b918
[gaim-migrate @ 12522]
Mark Doliner <markdoliner@pidgin.im>
parents:
10759
diff
changeset
|
1449 | static GtkWidget * |
|
6889f793b918
[gaim-migrate @ 12522]
Mark Doliner <markdoliner@pidgin.im>
parents:
10759
diff
changeset
|
1450 | sound_page() |
|
6889f793b918
[gaim-migrate @ 12522]
Mark Doliner <markdoliner@pidgin.im>
parents:
10759
diff
changeset
|
1451 | { |
| 5440 | 1452 | GtkWidget *ret; |
| 9150 | 1453 | GtkWidget *vbox, *sw, *button; |
| 5440 | 1454 | GtkSizeGroup *sg; |
| 9150 | 1455 | GtkTreeIter iter; |
| 1456 | GtkWidget *event_view; | |
| 1457 | GtkListStore *event_store; | |
| 1458 | GtkCellRenderer *rend; | |
| 1459 | GtkTreeViewColumn *col; | |
| 1460 | GtkTreeSelection *sel; | |
| 1461 | GtkTreePath *path; | |
| 1462 | GtkWidget *hbox; | |
| 1463 | int j; | |
| 1464 | const char *file; | |
|
11082
4ea41a935359
[gaim-migrate @ 13099]
Mark Doliner <markdoliner@pidgin.im>
parents:
11052
diff
changeset
|
1465 | char *pref; |
| 5440 | 1466 | #ifndef _WIN32 |
| 1467 | GtkWidget *dd; | |
| 1468 | GtkWidget *label; | |
|
6007
8a852b9295e0
[gaim-migrate @ 6455]
Mark Doliner <markdoliner@pidgin.im>
parents:
6006
diff
changeset
|
1469 | GtkWidget *entry; |
| 5684 | 1470 | const char *cmd; |
| 5440 | 1471 | #endif |
| 1472 | ||
| 11243 | 1473 | ret = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
| 1474 | gtk_container_set_border_width (GTK_CONTAINER (ret), GAIM_HIG_BORDER); | |
| 5440 | 1475 | |
| 1476 | sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); | |
| 1477 | ||
| 1478 | #ifndef _WIN32 | |
|
6033
258034132922
[gaim-migrate @ 6483]
Mark Doliner <markdoliner@pidgin.im>
parents:
6031
diff
changeset
|
1479 | vbox = gaim_gtk_make_frame (ret, _("Sound Method")); |
| 7987 | 1480 | dd = gaim_gtk_prefs_dropdown(vbox, _("_Method:"), GAIM_PREF_STRING, |
| 1481 | "/gaim/gtk/sound/method", | |
| 1482 | _("Console beep"), "beep", | |
| 5440 | 1483 | #ifdef USE_AO |
| 7987 | 1484 | _("Automatic"), "automatic", |
|
11082
4ea41a935359
[gaim-migrate @ 13099]
Mark Doliner <markdoliner@pidgin.im>
parents:
11052
diff
changeset
|
1485 | "Arts", "arts", |
| 7987 | 1486 | "ESD", "esd", |
| 1487 | "NAS", "nas", | |
| 5440 | 1488 | #endif |
| 7987 | 1489 | _("Command"), "custom", |
|
10074
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1490 | _("No sounds"), "none", |
| 7987 | 1491 | NULL); |
| 5440 | 1492 | gtk_size_group_add_widget(sg, dd); |
|
10973
baecb01a0cf4
[gaim-migrate @ 12798]
Michael R. Head <burner@suppressingfire.org>
parents:
10972
diff
changeset
|
1493 | gtk_misc_set_alignment(GTK_MISC(dd), 0, 0.5); |
| 5440 | 1494 | |
| 1495 | hbox = gtk_hbox_new(FALSE, 5); | |
|
11442
604d5370ff80
[gaim-migrate @ 13681]
Richard Laager <rlaager@pidgin.im>
parents:
11424
diff
changeset
|
1496 | gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 5440 | 1497 | |
|
6031
7bcdcf180d48
[gaim-migrate @ 6481]
Mark Doliner <markdoliner@pidgin.im>
parents:
6016
diff
changeset
|
1498 | label = gtk_label_new_with_mnemonic(_("Sound c_ommand:\n(%s for filename)")); |
| 5440 | 1499 | gtk_size_group_add_widget(sg, label); |
| 1500 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
|
11442
604d5370ff80
[gaim-migrate @ 13681]
Richard Laager <rlaager@pidgin.im>
parents:
11424
diff
changeset
|
1501 | gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 5440 | 1502 | |
|
6007
8a852b9295e0
[gaim-migrate @ 6455]
Mark Doliner <markdoliner@pidgin.im>
parents:
6006
diff
changeset
|
1503 | entry = gtk_entry_new(); |
|
8a852b9295e0
[gaim-migrate @ 6455]
Mark Doliner <markdoliner@pidgin.im>
parents:
6006
diff
changeset
|
1504 | gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); |
|
8a852b9295e0
[gaim-migrate @ 6455]
Mark Doliner <markdoliner@pidgin.im>
parents:
6006
diff
changeset
|
1505 | |
|
8a852b9295e0
[gaim-migrate @ 6455]
Mark Doliner <markdoliner@pidgin.im>
parents:
6006
diff
changeset
|
1506 | gtk_editable_set_editable(GTK_EDITABLE(entry), TRUE); |
| 5684 | 1507 | cmd = gaim_prefs_get_string("/gaim/gtk/sound/command"); |
| 5440 | 1508 | if(cmd) |
|
6007
8a852b9295e0
[gaim-migrate @ 6455]
Mark Doliner <markdoliner@pidgin.im>
parents:
6006
diff
changeset
|
1509 | gtk_entry_set_text(GTK_ENTRY(entry), cmd); |
|
11442
604d5370ff80
[gaim-migrate @ 13681]
Richard Laager <rlaager@pidgin.im>
parents:
11424
diff
changeset
|
1510 | |
|
604d5370ff80
[gaim-migrate @ 13681]
Richard Laager <rlaager@pidgin.im>
parents:
11424
diff
changeset
|
1511 | gtk_box_pack_start(GTK_BOX(hbox), entry, TRUE, TRUE, 0); |
|
6007
8a852b9295e0
[gaim-migrate @ 6455]
Mark Doliner <markdoliner@pidgin.im>
parents:
6006
diff
changeset
|
1512 | g_signal_connect(G_OBJECT(entry), "changed", |
| 5440 | 1513 | G_CALLBACK(sound_cmd_yeah), NULL); |
|
6005
596ca49e2514
[gaim-migrate @ 6453]
Mark Doliner <markdoliner@pidgin.im>
parents:
6001
diff
changeset
|
1514 | |
|
596ca49e2514
[gaim-migrate @ 6453]
Mark Doliner <markdoliner@pidgin.im>
parents:
6001
diff
changeset
|
1515 | gtk_widget_set_sensitive(hbox, |
|
596ca49e2514
[gaim-migrate @ 6453]
Mark Doliner <markdoliner@pidgin.im>
parents:
6001
diff
changeset
|
1516 | !strcmp(gaim_prefs_get_string("/gaim/gtk/sound/method"), |
|
596ca49e2514
[gaim-migrate @ 6453]
Mark Doliner <markdoliner@pidgin.im>
parents:
6001
diff
changeset
|
1517 | "custom")); |
|
10087
e5b80a38939d
[gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10079
diff
changeset
|
1518 | gaim_prefs_connect_callback(prefs, "/gaim/gtk/sound/method", |
|
e5b80a38939d
[gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10079
diff
changeset
|
1519 | sound_changed1_cb, hbox); |
|
6005
596ca49e2514
[gaim-migrate @ 6453]
Mark Doliner <markdoliner@pidgin.im>
parents:
6001
diff
changeset
|
1520 | |
| 8141 | 1521 | gaim_set_accessible_label (entry, label); |
| 5440 | 1522 | #endif /* _WIN32 */ |
| 9150 | 1523 | |
|
10074
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1524 | vbox = gaim_gtk_make_frame (ret, _("Sound Options")); |
|
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1525 | gaim_gtk_prefs_checkbox(_("Sounds when conversation has _focus"), |
|
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1526 | "/gaim/gtk/sound/conv_focus", vbox); |
|
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1527 | gaim_gtk_prefs_checkbox(_("_Sounds while away"), |
|
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1528 | "/core/sound/while_away", vbox); |
|
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1529 | |
|
10075
d2d752ab0335
[gaim-migrate @ 11055]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10074
diff
changeset
|
1530 | #ifndef _WIN32 |
|
10074
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1531 | gtk_widget_set_sensitive(vbox, |
|
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1532 | strcmp(gaim_prefs_get_string("/gaim/gtk/sound/method"), "none")); |
|
10087
e5b80a38939d
[gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10079
diff
changeset
|
1533 | gaim_prefs_connect_callback(prefs, "/gaim/gtk/sound/method", |
|
e5b80a38939d
[gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10079
diff
changeset
|
1534 | sound_changed2_cb, vbox); |
|
10075
d2d752ab0335
[gaim-migrate @ 11055]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10074
diff
changeset
|
1535 | #endif |
|
10074
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1536 | |
| 9150 | 1537 | vbox = gaim_gtk_make_frame(ret, _("Sound Events")); |
| 1538 | ||
| 1539 | /* The following is an ugly hack to make the frame expand so the | |
| 1540 | * sound events list is big enough to be usable */ | |
| 1541 | gtk_box_set_child_packing(GTK_BOX(vbox->parent), vbox, TRUE, TRUE, 0, | |
| 1542 | GTK_PACK_START); | |
| 1543 | gtk_box_set_child_packing(GTK_BOX(vbox->parent->parent), vbox->parent, TRUE, | |
| 1544 | TRUE, 0, GTK_PACK_START); | |
| 1545 | gtk_box_set_child_packing(GTK_BOX(vbox->parent->parent->parent), | |
| 1546 | vbox->parent->parent, TRUE, TRUE, 0, GTK_PACK_START); | |
| 1547 | ||
| 1548 | sw = gtk_scrolled_window_new(NULL,NULL); | |
| 1549 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); | |
| 1550 | gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); | |
| 1551 | ||
| 1552 | gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0); | |
| 1553 | event_store = gtk_list_store_new (4, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT); | |
| 1554 | ||
| 1555 | for (j=0; j < GAIM_NUM_SOUNDS; j++) { | |
| 1556 | char *pref = g_strdup_printf("/gaim/gtk/sound/enabled/%s", | |
| 1557 | gaim_gtk_sound_get_event_option(j)); | |
| 1558 | const char *label = gaim_gtk_sound_get_event_label(j); | |
| 1559 | ||
| 1560 | if (label == NULL) { | |
| 1561 | g_free(pref); | |
| 1562 | continue; | |
| 1563 | } | |
| 1564 | ||
| 1565 | gtk_list_store_append (event_store, &iter); | |
| 1566 | gtk_list_store_set(event_store, &iter, | |
| 1567 | 0, gaim_prefs_get_bool(pref), | |
| 1568 | 1, _(label), | |
| 1569 | 2, pref, | |
| 1570 | 3, j, | |
| 1571 | -1); | |
| 1572 | g_free(pref); | |
| 1573 | } | |
| 1574 | ||
| 1575 | event_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL(event_store)); | |
| 1576 | ||
| 1577 | rend = gtk_cell_renderer_toggle_new(); | |
| 1578 | sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (event_view)); | |
| 1579 | g_signal_connect (G_OBJECT (sel), "changed", | |
| 1580 | G_CALLBACK (prefs_sound_sel), | |
| 1581 | NULL); | |
| 1582 | g_signal_connect (G_OBJECT(rend), "toggled", | |
| 1583 | G_CALLBACK(event_toggled), event_store); | |
| 1584 | path = gtk_tree_path_new_first(); | |
| 1585 | gtk_tree_selection_select_path(sel, path); | |
| 1586 | gtk_tree_path_free(path); | |
| 1587 | ||
| 1588 | col = gtk_tree_view_column_new_with_attributes (_("Play"), | |
| 1589 | rend, | |
| 1590 | "active", 0, | |
| 1591 | NULL); | |
| 1592 | gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col); | |
| 1593 | ||
| 1594 | rend = gtk_cell_renderer_text_new(); | |
| 1595 | col = gtk_tree_view_column_new_with_attributes (_("Event"), | |
| 1596 | rend, | |
| 1597 | "text", 1, | |
| 1598 | NULL); | |
| 1599 | gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col); | |
| 1600 | g_object_unref(G_OBJECT(event_store)); | |
| 1601 | gtk_container_add(GTK_CONTAINER(sw), event_view); | |
| 1602 | ||
| 11243 | 1603 | hbox = gtk_hbox_new(FALSE, GAIM_HIG_BOX_SPACE); |
| 9150 | 1604 | gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 1605 | sound_entry = gtk_entry_new(); | |
| 1606 | pref = g_strdup_printf("/gaim/gtk/sound/file/%s", | |
| 1607 | gaim_gtk_sound_get_event_option(0)); | |
| 1608 | file = gaim_prefs_get_string(pref); | |
| 1609 | g_free(pref); | |
| 1610 | gtk_entry_set_text(GTK_ENTRY(sound_entry), (file && *file != '\0') ? file : "(default)"); | |
| 1611 | gtk_editable_set_editable(GTK_EDITABLE(sound_entry), FALSE); | |
| 1612 | gtk_box_pack_start(GTK_BOX(hbox), sound_entry, FALSE, FALSE, 5); | |
| 1613 | ||
| 1614 | button = gtk_button_new_with_label(_("Test")); | |
| 1615 | g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(test_sound), NULL); | |
| 1616 | gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1); | |
| 1617 | ||
| 1618 | button = gtk_button_new_with_label(_("Reset")); | |
| 1619 | g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(reset_sound), NULL); | |
| 1620 | gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1); | |
| 1621 | ||
| 1622 | button = gtk_button_new_with_label(_("Choose...")); | |
|
9508
c757be6aad9b
[gaim-migrate @ 10335]
Mark Doliner <markdoliner@pidgin.im>
parents:
9422
diff
changeset
|
1623 | g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(select_sound), NULL); |
| 9150 | 1624 | gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1); |
| 5440 | 1625 | gtk_widget_show_all(ret); |
| 9118 | 1626 | |
|
10075
d2d752ab0335
[gaim-migrate @ 11055]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10074
diff
changeset
|
1627 | #ifndef _WIN32 |
|
10074
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1628 | gtk_widget_set_sensitive(vbox, |
|
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1629 | strcmp(gaim_prefs_get_string("/gaim/gtk/sound/method"), "none")); |
|
10087
e5b80a38939d
[gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10079
diff
changeset
|
1630 | gaim_prefs_connect_callback(prefs, "/gaim/gtk/sound/method", |
|
e5b80a38939d
[gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10079
diff
changeset
|
1631 | sound_changed2_cb, vbox); |
|
10075
d2d752ab0335
[gaim-migrate @ 11055]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10074
diff
changeset
|
1632 | #endif |
|
10074
4fab99572bf1
[gaim-migrate @ 11054]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10061
diff
changeset
|
1633 | |
| 5440 | 1634 | return ret; |
| 1635 | } | |
| 1636 | ||
| 12195 | 1637 | |
|
10182
960939362f7f
[gaim-migrate @ 11297]
Mark Doliner <markdoliner@pidgin.im>
parents:
10181
diff
changeset
|
1638 | static void |
| 12195 | 1639 | set_idle_away(GaimSavedStatus *status) |
|
10182
960939362f7f
[gaim-migrate @ 11297]
Mark Doliner <markdoliner@pidgin.im>
parents:
10181
diff
changeset
|
1640 | { |
| 12195 | 1641 | gaim_prefs_set_int("/core/savedstatus/idleaway", gaim_savedstatus_get_creation_time(status)); |
|
10182
960939362f7f
[gaim-migrate @ 11297]
Mark Doliner <markdoliner@pidgin.im>
parents:
10181
diff
changeset
|
1642 | } |
|
960939362f7f
[gaim-migrate @ 11297]
Mark Doliner <markdoliner@pidgin.im>
parents:
10181
diff
changeset
|
1643 | |
|
10850
6889f793b918
[gaim-migrate @ 12522]
Mark Doliner <markdoliner@pidgin.im>
parents:
10759
diff
changeset
|
1644 | static GtkWidget * |
|
6889f793b918
[gaim-migrate @ 12522]
Mark Doliner <markdoliner@pidgin.im>
parents:
10759
diff
changeset
|
1645 | away_page() |
|
6889f793b918
[gaim-migrate @ 12522]
Mark Doliner <markdoliner@pidgin.im>
parents:
10759
diff
changeset
|
1646 | { |
| 5440 | 1647 | GtkWidget *ret; |
| 1648 | GtkWidget *vbox; | |
| 1649 | GtkWidget *hbox; | |
| 1650 | GtkWidget *label; | |
| 1651 | GtkWidget *button; | |
| 1652 | GtkWidget *select; | |
| 12195 | 1653 | GtkWidget *menu; |
| 5440 | 1654 | GtkSizeGroup *sg; |
| 1655 | ||
| 11243 | 1656 | ret = gtk_vbox_new(FALSE, GAIM_HIG_CAT_SPACE); |
| 1657 | gtk_container_set_border_width (GTK_CONTAINER (ret), GAIM_HIG_BORDER); | |
| 5440 | 1658 | |
| 1659 | sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); | |
| 1660 | ||
|
5530
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5440
diff
changeset
|
1661 | vbox = gaim_gtk_make_frame (ret, _("Away")); |
| 5440 | 1662 | |
|
9596
5f5575b051e6
[gaim-migrate @ 10439]
Mark Doliner <markdoliner@pidgin.im>
parents:
9521
diff
changeset
|
1663 | label = gaim_gtk_prefs_dropdown(vbox, _("_Auto-reply:"), |
|
5f5575b051e6
[gaim-migrate @ 10439]
Mark Doliner <markdoliner@pidgin.im>
parents:
9521
diff
changeset
|
1664 | GAIM_PREF_STRING, "/core/away/auto_reply", |
|
5f5575b051e6
[gaim-migrate @ 10439]
Mark Doliner <markdoliner@pidgin.im>
parents:
9521
diff
changeset
|
1665 | _("Never"), "never", |
| 9736 | 1666 | _("When away"), "away", |
|
10859
d0da8cb9d2e9
[gaim-migrate @ 12542]
Palmer Cox <enix@users.sourceforge.net>
parents:
10850
diff
changeset
|
1667 | _("When both away and idle"), "awayidle", |
|
9596
5f5575b051e6
[gaim-migrate @ 10439]
Mark Doliner <markdoliner@pidgin.im>
parents:
9521
diff
changeset
|
1668 | NULL); |
| 6142 | 1669 | |
|
11287
87bec7c61fed
[gaim-migrate @ 13484]
Daniel Atallah <datallah@pidgin.im>
parents:
11275
diff
changeset
|
1670 | button = gaim_gtk_prefs_checkbox(_("_Report idle time"), |
|
12272
4eee92ead973
[gaim-migrate @ 14574]
Mark Doliner <markdoliner@pidgin.im>
parents:
12240
diff
changeset
|
1671 | "/core/away/report_idle", vbox); |
|
11287
87bec7c61fed
[gaim-migrate @ 13484]
Daniel Atallah <datallah@pidgin.im>
parents:
11275
diff
changeset
|
1672 | |
|
5530
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5440
diff
changeset
|
1673 | vbox = gaim_gtk_make_frame (ret, _("Auto-away")); |
|
11811
62e122478756
[gaim-migrate @ 14102]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11796
diff
changeset
|
1674 | button = gaim_gtk_prefs_checkbox(_("Change status when _idle"), |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
1675 | "/core/away/away_when_idle", vbox); |
|
8238
f7d22f952df5
[gaim-migrate @ 8961]
Mark Doliner <markdoliner@pidgin.im>
parents:
8231
diff
changeset
|
1676 | |
| 7987 | 1677 | select = gaim_gtk_prefs_labeled_spin_button(vbox, |
|
11811
62e122478756
[gaim-migrate @ 14102]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11796
diff
changeset
|
1678 | _("_Minutes before changing status:"), "/core/away/mins_before_away", |
| 7987 | 1679 | 1, 24 * 60, sg); |
| 5440 | 1680 | g_signal_connect(G_OBJECT(button), "clicked", |
| 1681 | G_CALLBACK(gaim_gtk_toggle_sensitive), select); | |
| 1682 | ||
|
8238
f7d22f952df5
[gaim-migrate @ 8961]
Mark Doliner <markdoliner@pidgin.im>
parents:
8231
diff
changeset
|
1683 | hbox = gtk_hbox_new(FALSE, 0); |
|
f7d22f952df5
[gaim-migrate @ 8961]
Mark Doliner <markdoliner@pidgin.im>
parents:
8231
diff
changeset
|
1684 | gtk_container_add(GTK_CONTAINER(vbox), hbox); |
|
f7d22f952df5
[gaim-migrate @ 8961]
Mark Doliner <markdoliner@pidgin.im>
parents:
8231
diff
changeset
|
1685 | |
|
11811
62e122478756
[gaim-migrate @ 14102]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11796
diff
changeset
|
1686 | label = gtk_label_new_with_mnemonic(_("Change _status to:")); |
| 5440 | 1687 | gtk_size_group_add_widget(sg, label); |
|
10973
baecb01a0cf4
[gaim-migrate @ 12798]
Michael R. Head <burner@suppressingfire.org>
parents:
10972
diff
changeset
|
1688 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
|
8238
f7d22f952df5
[gaim-migrate @ 8961]
Mark Doliner <markdoliner@pidgin.im>
parents:
8231
diff
changeset
|
1689 | g_signal_connect(G_OBJECT(button), "clicked", |
|
f7d22f952df5
[gaim-migrate @ 8961]
Mark Doliner <markdoliner@pidgin.im>
parents:
8231
diff
changeset
|
1690 | G_CALLBACK(gaim_gtk_toggle_sensitive), label); |
| 5440 | 1691 | gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 12195 | 1692 | menu = gaim_gtk_status_menu(gaim_savedstatus_get_idleaway(), G_CALLBACK(set_idle_away)); |
| 1693 | gtk_box_pack_start(GTK_BOX(hbox), menu, FALSE, FALSE, 0); | |
| 1694 | g_signal_connect(G_OBJECT(button), "clicked", | |
| 1695 | G_CALLBACK(gaim_gtk_toggle_sensitive), menu); | |
|
8238
f7d22f952df5
[gaim-migrate @ 8961]
Mark Doliner <markdoliner@pidgin.im>
parents:
8231
diff
changeset
|
1696 | |
|
11811
62e122478756
[gaim-migrate @ 14102]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11796
diff
changeset
|
1697 | /* |
|
62e122478756
[gaim-migrate @ 14102]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11796
diff
changeset
|
1698 | * TODO: Need to allow users to choose a GaimSavedStatus |
|
62e122478756
[gaim-migrate @ 14102]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11796
diff
changeset
|
1699 | * to use when going idle-away. Or figure out a |
|
11985
d4a210fb43e9
[gaim-migrate @ 14278]
Mark Doliner <markdoliner@pidgin.im>
parents:
11922
diff
changeset
|
1700 | * better UI for this. Set the preference |
|
12123
a5890e156848
[gaim-migrate @ 14423]
Mark Doliner <markdoliner@pidgin.im>
parents:
12116
diff
changeset
|
1701 | * "/core/savedstatus/idleaway" to the name of the |
|
11985
d4a210fb43e9
[gaim-migrate @ 14278]
Mark Doliner <markdoliner@pidgin.im>
parents:
11922
diff
changeset
|
1702 | * GaimSavedStatus to use. |
|
d4a210fb43e9
[gaim-migrate @ 14278]
Mark Doliner <markdoliner@pidgin.im>
parents:
11922
diff
changeset
|
1703 | * |
|
11811
62e122478756
[gaim-migrate @ 14102]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11796
diff
changeset
|
1704 | */ |
|
62e122478756
[gaim-migrate @ 14102]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11796
diff
changeset
|
1705 | |
|
5550
1938d1e59cf8
[gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents:
5547
diff
changeset
|
1706 | if (!gaim_prefs_get_bool("/core/away/away_when_idle")) { |
| 12195 | 1707 | gtk_widget_set_sensitive(GTK_WIDGET(menu), FALSE); |
|
5550
1938d1e59cf8
[gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents:
5547
diff
changeset
|
1708 | gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE); |
|
8238
f7d22f952df5
[gaim-migrate @ 8961]
Mark Doliner <markdoliner@pidgin.im>
parents:
8231
diff
changeset
|
1709 | gtk_widget_set_sensitive(GTK_WIDGET(label), FALSE); |
|
5550
1938d1e59cf8
[gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents:
5547
diff
changeset
|
1710 | } |
|
1938d1e59cf8
[gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents:
5547
diff
changeset
|
1711 | |
| 5440 | 1712 | gtk_widget_show_all(ret); |
|
5550
1938d1e59cf8
[gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents:
5547
diff
changeset
|
1713 | |
| 5440 | 1714 | return ret; |
| 1715 | } | |
| 1716 | ||
|
10759
c6600b133594
[gaim-migrate @ 12362]
Mark Doliner <markdoliner@pidgin.im>
parents:
10701
diff
changeset
|
1717 | int prefs_notebook_add_page(const char *text, |
| 5440 | 1718 | GdkPixbuf *pixbuf, |
| 1719 | GtkWidget *page, | |
| 1720 | GtkTreeIter *iter, | |
| 1721 | GtkTreeIter *parent, | |
| 1722 | int ind) { | |
| 1723 | GdkPixbuf *icon = NULL; | |
| 1724 | ||
| 1725 | if (pixbuf) | |
| 1726 | icon = gdk_pixbuf_scale_simple (pixbuf, 18, 18, GDK_INTERP_BILINEAR); | |
| 1727 | ||
| 1728 | if (pixbuf) | |
| 1729 | g_object_unref(pixbuf); | |
| 1730 | if (icon) | |
| 1731 | g_object_unref(icon); | |
|
10759
c6600b133594
[gaim-migrate @ 12362]
Mark Doliner <markdoliner@pidgin.im>
parents:
10701
diff
changeset
|
1732 | |
|
11380
35d35c535781
[gaim-migrate @ 13607]
Mark Doliner <markdoliner@pidgin.im>
parents:
11287
diff
changeset
|
1733 | #if GTK_CHECK_VERSION(2,4,0) |
|
10759
c6600b133594
[gaim-migrate @ 12362]
Mark Doliner <markdoliner@pidgin.im>
parents:
10701
diff
changeset
|
1734 | return gtk_notebook_append_page(GTK_NOTEBOOK(prefsnotebook), page, gtk_label_new(text)); |
|
11380
35d35c535781
[gaim-migrate @ 13607]
Mark Doliner <markdoliner@pidgin.im>
parents:
11287
diff
changeset
|
1735 | #else |
|
35d35c535781
[gaim-migrate @ 13607]
Mark Doliner <markdoliner@pidgin.im>
parents:
11287
diff
changeset
|
1736 | gtk_notebook_append_page(GTK_NOTEBOOK(prefsnotebook), page, gtk_label_new(text)); |
|
35d35c535781
[gaim-migrate @ 13607]
Mark Doliner <markdoliner@pidgin.im>
parents:
11287
diff
changeset
|
1737 | return gtk_notebook_page_num(GTK_NOTEBOOK(prefsnotebook), page); |
|
35d35c535781
[gaim-migrate @ 13607]
Mark Doliner <markdoliner@pidgin.im>
parents:
11287
diff
changeset
|
1738 | #endif |
| 5440 | 1739 | } |
| 1740 | ||
|
10871
c0282a4f2250
[gaim-migrate @ 12558]
Mark Doliner <markdoliner@pidgin.im>
parents:
10859
diff
changeset
|
1741 | static void prefs_notebook_init() { |
| 9267 | 1742 | GtkTreeIter p, c, c2; |
| 9150 | 1743 | prefs_notebook_add_page(_("Conversations"), NULL, conv_page(), &c, &p, notebook_page++); |
| 9267 | 1744 | prefs_notebook_add_page(_("Smiley Themes"), NULL, theme_page(), &c2, &c, notebook_page++); |
| 9150 | 1745 | prefs_notebook_add_page(_("Sounds"), NULL, sound_page(), &c, &p, notebook_page++); |
|
8238
f7d22f952df5
[gaim-migrate @ 8961]
Mark Doliner <markdoliner@pidgin.im>
parents:
8231
diff
changeset
|
1746 | prefs_notebook_add_page(_("Network"), NULL, network_page(), &p, NULL, notebook_page++); |
| 5440 | 1747 | #ifndef _WIN32 |
| 1748 | /* We use the registered default browser in windows */ | |
| 10060 | 1749 | /* if the user is running gnome 2.x, hide the browsers tab */ |
|
10061
2833056ea11c
[gaim-migrate @ 11033]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10060
diff
changeset
|
1750 | if (gaim_running_gnome() == FALSE) { |
| 10060 | 1751 | prefs_notebook_add_page(_("Browser"), NULL, browser_page(), &p, NULL, notebook_page++); |
| 1752 | } | |
| 5440 | 1753 | #endif |
| 1754 | prefs_notebook_add_page(_("Logging"), NULL, logging_page(), &p, NULL, notebook_page++); | |
| 1755 | prefs_notebook_add_page(_("Away / Idle"), NULL, away_page(), &p, NULL, notebook_page++); | |
| 1756 | } | |
| 1757 | ||
|
5530
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5440
diff
changeset
|
1758 | void gaim_gtk_prefs_show(void) |
| 5440 | 1759 | { |
| 10078 | 1760 | GtkWidget *vbox; |
|
8292
9b25d6300cda
[gaim-migrate @ 9016]
Christian Hammond <chipx86@chipx86.com>
parents:
8283
diff
changeset
|
1761 | GtkWidget *bbox; |
| 5440 | 1762 | GtkWidget *notebook; |
| 1763 | GtkWidget *button; | |
| 1764 | ||
| 1765 | if (prefs) { | |
| 1766 | gtk_window_present(GTK_WINDOW(prefs)); | |
| 1767 | return; | |
| 1768 | } | |
| 1769 | ||
| 1770 | /* copy the preferences to tmp values... | |
| 1771 | * I liked "take affect immediately" Oh well :-( */ | |
|
6016
31360de33beb
[gaim-migrate @ 6466]
Mark Doliner <markdoliner@pidgin.im>
parents:
6007
diff
changeset
|
1772 | /* (that should have been "effect," right?) */ |
|
31360de33beb
[gaim-migrate @ 6466]
Mark Doliner <markdoliner@pidgin.im>
parents:
6007
diff
changeset
|
1773 | |
| 5440 | 1774 | /* Back to instant-apply! I win! BU-HAHAHA! */ |
| 1775 | ||
| 1776 | /* Create the window */ | |
| 1777 | prefs = gtk_window_new(GTK_WINDOW_TOPLEVEL); | |
| 1778 | gtk_window_set_role(GTK_WINDOW(prefs), "preferences"); | |
| 1779 | gtk_window_set_title(GTK_WINDOW(prefs), _("Preferences")); | |
| 1780 | gtk_window_set_resizable (GTK_WINDOW(prefs), FALSE); | |
| 11243 | 1781 | gtk_container_set_border_width(GTK_CONTAINER(prefs), GAIM_HIG_BORDER); |
| 5440 | 1782 | g_signal_connect(G_OBJECT(prefs), "destroy", |
| 1783 | G_CALLBACK(delete_prefs), NULL); | |
| 1784 | ||
| 11243 | 1785 | vbox = gtk_vbox_new(FALSE, GAIM_HIG_BORDER); |
| 5440 | 1786 | gtk_container_add(GTK_CONTAINER(prefs), vbox); |
| 1787 | gtk_widget_show(vbox); | |
| 1788 | ||
| 1789 | /* The notebook */ | |
| 1790 | prefsnotebook = notebook = gtk_notebook_new (); | |
| 10078 | 1791 | gtk_box_pack_start (GTK_BOX (vbox), notebook, FALSE, FALSE, 0); |
| 11740 | 1792 | gtk_widget_show(prefsnotebook); |
| 5440 | 1793 | |
| 8713 | 1794 | /* The buttons to press! */ |
|
8292
9b25d6300cda
[gaim-migrate @ 9016]
Christian Hammond <chipx86@chipx86.com>
parents:
8283
diff
changeset
|
1795 | bbox = gtk_hbutton_box_new(); |
| 11243 | 1796 | gtk_box_set_spacing(GTK_BOX(bbox), GAIM_HIG_BOX_SPACE); |
|
8292
9b25d6300cda
[gaim-migrate @ 9016]
Christian Hammond <chipx86@chipx86.com>
parents:
8283
diff
changeset
|
1797 | gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END); |
|
9b25d6300cda
[gaim-migrate @ 9016]
Christian Hammond <chipx86@chipx86.com>
parents:
8283
diff
changeset
|
1798 | gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0); |
|
9b25d6300cda
[gaim-migrate @ 9016]
Christian Hammond <chipx86@chipx86.com>
parents:
8283
diff
changeset
|
1799 | gtk_widget_show (bbox); |
| 5440 | 1800 | |
| 1801 | button = gtk_button_new_from_stock (GTK_STOCK_CLOSE); | |
| 1802 | g_signal_connect_swapped(G_OBJECT(button), "clicked", | |
| 1803 | G_CALLBACK(gtk_widget_destroy), prefs); | |
|
8292
9b25d6300cda
[gaim-migrate @ 9016]
Christian Hammond <chipx86@chipx86.com>
parents:
8283
diff
changeset
|
1804 | gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
| 5440 | 1805 | gtk_widget_show(button); |
| 1806 | ||
| 1807 | prefs_notebook_init(); | |
| 1808 | ||
|
5568
3c7cc231c8c4
[gaim-migrate @ 5970]
Christian Hammond <chipx86@chipx86.com>
parents:
5567
diff
changeset
|
1809 | /* Show everything. */ |
| 11740 | 1810 | gtk_widget_show(prefs); |
| 5440 | 1811 | } |
| 1812 | ||
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
1813 | static void |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
1814 | set_bool_pref(GtkWidget *w, const char *key) |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
1815 | { |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
1816 | gaim_prefs_set_bool(key, |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
1817 | gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w))); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
1818 | } |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
1819 | |
| 7976 | 1820 | GtkWidget * |
| 7987 | 1821 | gaim_gtk_prefs_checkbox(const char *text, const char *key, GtkWidget *page) |
| 5440 | 1822 | { |
| 1823 | GtkWidget *button; | |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
1824 | |
| 5440 | 1825 | button = gtk_check_button_new_with_mnemonic(text); |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
1826 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
1827 | gaim_prefs_get_bool(key)); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
1828 | |
| 5440 | 1829 | gtk_box_pack_start(GTK_BOX(page), button, FALSE, FALSE, 0); |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
1830 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
1831 | g_signal_connect(G_OBJECT(button), "clicked", |
|
5551
f92bd449fd90
[gaim-migrate @ 5952]
Christian Hammond <chipx86@chipx86.com>
parents:
5550
diff
changeset
|
1832 | G_CALLBACK(set_bool_pref), (char *)key); |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
1833 | |
| 5440 | 1834 | gtk_widget_show(button); |
| 1835 | ||
| 1836 | return button; | |
| 1837 | } | |
| 1838 | ||
|
5770
e18c7f1947f0
[gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents:
5753
diff
changeset
|
1839 | static void |
|
e18c7f1947f0
[gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents:
5753
diff
changeset
|
1840 | smiley_theme_pref_cb(const char *name, GaimPrefType type, gpointer value, |
|
e18c7f1947f0
[gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents:
5753
diff
changeset
|
1841 | gpointer data) |
|
e18c7f1947f0
[gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents:
5753
diff
changeset
|
1842 | { |
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
1843 | const char *themename = value; |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
1844 | GSList *themes; |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
1845 | |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
1846 | for (themes = smiley_themes; themes; themes = themes->next) { |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
1847 | struct smiley_theme *smile = themes->data; |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
1848 | if (smile->name && strcmp(themename, smile->name) == 0) { |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
1849 | gaim_gtkthemes_load_smiley_theme(smile->path, TRUE); |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
1850 | break; |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
1851 | } |
|
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
1852 | } |
|
5770
e18c7f1947f0
[gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents:
5753
diff
changeset
|
1853 | } |
|
e18c7f1947f0
[gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents:
5753
diff
changeset
|
1854 | |
|
5530
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5440
diff
changeset
|
1855 | void |
|
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5440
diff
changeset
|
1856 | gaim_gtk_prefs_init(void) |
|
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5440
diff
changeset
|
1857 | { |
|
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5440
diff
changeset
|
1858 | gaim_prefs_add_none("/gaim"); |
|
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5440
diff
changeset
|
1859 | gaim_prefs_add_none("/gaim/gtk"); |
|
5550
1938d1e59cf8
[gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents:
5547
diff
changeset
|
1860 | gaim_prefs_add_none("/plugins/gtk"); |
|
1938d1e59cf8
[gaim-migrate @ 5951]
Christian Hammond <chipx86@chipx86.com>
parents:
5547
diff
changeset
|
1861 | |
| 8283 | 1862 | #ifndef _WIN32 |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
1863 | /* Browsers */ |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
1864 | gaim_prefs_add_none("/gaim/gtk/browsers"); |
|
8272
c1e38e0ec1d5
[gaim-migrate @ 8996]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8267
diff
changeset
|
1865 | gaim_prefs_add_int("/gaim/gtk/browsers/place", GAIM_BROWSER_DEFAULT); |
|
5560
7cd6678f838b
[gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents:
5554
diff
changeset
|
1866 | gaim_prefs_add_string("/gaim/gtk/browsers/command", ""); |
|
5546
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
1867 | gaim_prefs_add_string("/gaim/gtk/browsers/browser", "mozilla"); |
| 8283 | 1868 | #endif |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5539
diff
changeset
|
1869 | |
|
5949
bb7cbf02dda9
[gaim-migrate @ 6393]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
1870 | /* Plugins */ |
|
5982
f5a47c78c7bc
[gaim-migrate @ 6430]
Christian Hammond <chipx86@chipx86.com>
parents:
5981
diff
changeset
|
1871 | gaim_prefs_add_none("/gaim/gtk/plugins"); |
|
5949
bb7cbf02dda9
[gaim-migrate @ 6393]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
1872 | gaim_prefs_add_string_list("/gaim/gtk/plugins/loaded", NULL); |
|
bb7cbf02dda9
[gaim-migrate @ 6393]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
1873 | |
|
10605
ad11c1f21415
[gaim-migrate @ 12037]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10589
diff
changeset
|
1874 | /* File locations */ |
|
ad11c1f21415
[gaim-migrate @ 12037]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10589
diff
changeset
|
1875 | gaim_prefs_add_none("/gaim/gtk/filelocations"); |
|
ad11c1f21415
[gaim-migrate @ 12037]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10589
diff
changeset
|
1876 | gaim_prefs_add_string("/gaim/gtk/filelocations/last_save_folder", ""); |
|
ad11c1f21415
[gaim-migrate @ 12037]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10589
diff
changeset
|
1877 | gaim_prefs_add_string("/gaim/gtk/filelocations/last_open_folder", ""); |
|
ad11c1f21415
[gaim-migrate @ 12037]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10589
diff
changeset
|
1878 | gaim_prefs_add_string("/gaim/gtk/filelocations/last_icon_folder", ""); |
|
ad11c1f21415
[gaim-migrate @ 12037]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10589
diff
changeset
|
1879 | |
|
5539
a13dd0ba205a
[gaim-migrate @ 5939]
Christian Hammond <chipx86@chipx86.com>
parents:
5535
diff
changeset
|
1880 | /* Smiley Themes */ |
|
5546
bad75481a8c6
[gaim-migrate @ 5947]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
1881 | gaim_prefs_add_none("/gaim/gtk/smileys"); |
|
11557
7a20e7fb7915
[gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents:
11550
diff
changeset
|
1882 | gaim_prefs_add_string("/gaim/gtk/smileys/theme", "Default"); |
|
5770
e18c7f1947f0
[gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents:
5753
diff
changeset
|
1883 | |
|
e18c7f1947f0
[gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents:
5753
diff
changeset
|
1884 | /* Smiley Callbacks */ |
|
10087
e5b80a38939d
[gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10079
diff
changeset
|
1885 | gaim_prefs_connect_callback(prefs, "/gaim/gtk/smileys/theme", |
|
5770
e18c7f1947f0
[gaim-migrate @ 6195]
Christian Hammond <chipx86@chipx86.com>
parents:
5753
diff
changeset
|
1886 | smiley_theme_pref_cb, NULL); |
|
5530
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5440
diff
changeset
|
1887 | } |
|
8905
cedfa637389f
[gaim-migrate @ 9674]
Mark Doliner <markdoliner@pidgin.im>
parents:
8900
diff
changeset
|
1888 | |
|
cedfa637389f
[gaim-migrate @ 9674]
Mark Doliner <markdoliner@pidgin.im>
parents:
8900
diff
changeset
|
1889 | void gaim_gtk_prefs_update_old() { |
|
12154
fe5ae153f8cd
[gaim-migrate @ 14455]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
12152
diff
changeset
|
1890 | const char *tmp; |
|
8905
cedfa637389f
[gaim-migrate @ 9674]
Mark Doliner <markdoliner@pidgin.im>
parents:
8900
diff
changeset
|
1891 | /* Rename some old prefs */ |
|
cedfa637389f
[gaim-migrate @ 9674]
Mark Doliner <markdoliner@pidgin.im>
parents:
8900
diff
changeset
|
1892 | gaim_prefs_rename("/gaim/gtk/logging/log_ims", "/core/logging/log_ims"); |
|
cedfa637389f
[gaim-migrate @ 9674]
Mark Doliner <markdoliner@pidgin.im>
parents:
8900
diff
changeset
|
1893 | gaim_prefs_rename("/gaim/gtk/logging/log_chats", "/core/logging/log_chats"); |
|
cedfa637389f
[gaim-migrate @ 9674]
Mark Doliner <markdoliner@pidgin.im>
parents:
8900
diff
changeset
|
1894 | gaim_prefs_rename("/core/conversations/placement", |
| 8998 | 1895 | "/gaim/gtk/conversations/placement"); |
|
8905
cedfa637389f
[gaim-migrate @ 9674]
Mark Doliner <markdoliner@pidgin.im>
parents:
8900
diff
changeset
|
1896 | |
|
10307
f3ba80364053
[gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents:
10297
diff
changeset
|
1897 | gaim_prefs_rename("/gaim/gtk/debug/timestamps", "/core/debug/timestamps"); |
|
10701
49e34e971b87
[gaim-migrate @ 12283]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10676
diff
changeset
|
1898 | gaim_prefs_rename("/gaim/gtk/conversations/im/raise_on_events", "/plugins/gtk/X11/notify/method_raise"); |
|
10307
f3ba80364053
[gaim-migrate @ 11497]
Mark Doliner <markdoliner@pidgin.im>
parents:
10297
diff
changeset
|
1899 | |
|
11267
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
1900 | /* I'm leaving both of these to support people that were running 2.0.0cvs before this change. |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
1901 | * The latter can be removed before 2.0.0 is released, or after that if it's forgotten. */ |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
1902 | gaim_prefs_rename_boolean_toggle("/gaim/gtk/conversations/ignore_colors", |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
1903 | "/gaim/gtk/conversations/show_incoming_formatting"); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
1904 | gaim_prefs_rename_boolean_toggle("/gaim/gtk/conversations/ignore_formatting", |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
1905 | "/gaim/gtk/conversations/show_incoming_formatting"); |
|
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
1906 | |
|
12154
fe5ae153f8cd
[gaim-migrate @ 14455]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
12152
diff
changeset
|
1907 | /* this string pref turned into a boolean, try to be friendly */ |
|
12272
4eee92ead973
[gaim-migrate @ 14574]
Mark Doliner <markdoliner@pidgin.im>
parents:
12240
diff
changeset
|
1908 | if (gaim_prefs_exists("/gaim/gtk/idle/reporting_method")) |
|
4eee92ead973
[gaim-migrate @ 14574]
Mark Doliner <markdoliner@pidgin.im>
parents:
12240
diff
changeset
|
1909 | { |
|
4eee92ead973
[gaim-migrate @ 14574]
Mark Doliner <markdoliner@pidgin.im>
parents:
12240
diff
changeset
|
1910 | tmp = gaim_prefs_get_string("/gaim/gtk/idle/reporting_method"); |
|
4eee92ead973
[gaim-migrate @ 14574]
Mark Doliner <markdoliner@pidgin.im>
parents:
12240
diff
changeset
|
1911 | if (tmp != NULL && !strcmp(tmp, "none")) |
|
4eee92ead973
[gaim-migrate @ 14574]
Mark Doliner <markdoliner@pidgin.im>
parents:
12240
diff
changeset
|
1912 | gaim_prefs_set_bool("/core/away/report_idle", FALSE); |
|
12154
fe5ae153f8cd
[gaim-migrate @ 14455]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
12152
diff
changeset
|
1913 | } |
|
fe5ae153f8cd
[gaim-migrate @ 14455]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
12152
diff
changeset
|
1914 | |
|
8905
cedfa637389f
[gaim-migrate @ 9674]
Mark Doliner <markdoliner@pidgin.im>
parents:
8900
diff
changeset
|
1915 | /* Remove some no-longer-used prefs */ |
|
10398
e7543a7da8d6
[gaim-migrate @ 11628]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10389
diff
changeset
|
1916 | gaim_prefs_remove("/gaim/gtk/blist/auto_expand_contacts"); |
|
10133
f9d70220a53e
[gaim-migrate @ 11197]
Mark Doliner <markdoliner@pidgin.im>
parents:
10129
diff
changeset
|
1917 | gaim_prefs_remove("/gaim/gtk/blist/button_style"); |
|
10168
77a77baf474e
[gaim-migrate @ 11257]
Mark Doliner <markdoliner@pidgin.im>
parents:
10167
diff
changeset
|
1918 | gaim_prefs_remove("/gaim/gtk/blist/grey_idle_buddies"); |
|
10133
f9d70220a53e
[gaim-migrate @ 11197]
Mark Doliner <markdoliner@pidgin.im>
parents:
10129
diff
changeset
|
1919 | gaim_prefs_remove("/gaim/gtk/blist/raise_on_events"); |
|
8945
737ea1155ec1
[gaim-migrate @ 9717]
Mark Doliner <markdoliner@pidgin.im>
parents:
8944
diff
changeset
|
1920 | gaim_prefs_remove("/gaim/gtk/blist/show_group_count"); |
|
10353
830e54bb7fa0
[gaim-migrate @ 11570]
Mark Doliner <markdoliner@pidgin.im>
parents:
10351
diff
changeset
|
1921 | gaim_prefs_remove("/gaim/gtk/blist/show_idle_time"); |
|
830e54bb7fa0
[gaim-migrate @ 11570]
Mark Doliner <markdoliner@pidgin.im>
parents:
10351
diff
changeset
|
1922 | gaim_prefs_remove("/gaim/gtk/blist/show_warning_level"); |
|
10358
ac43310ac46d
[gaim-migrate @ 11576]
Mark Doliner <markdoliner@pidgin.im>
parents:
10356
diff
changeset
|
1923 | gaim_prefs_remove("/gaim/gtk/conversations/button_type"); |
|
10398
e7543a7da8d6
[gaim-migrate @ 11628]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10389
diff
changeset
|
1924 | gaim_prefs_remove("/gaim/gtk/conversations/ctrl_enter_sends"); |
|
e7543a7da8d6
[gaim-migrate @ 11628]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10389
diff
changeset
|
1925 | gaim_prefs_remove("/gaim/gtk/conversations/enter_sends"); |
|
11697
f7ee74b6caf9
[gaim-migrate @ 13988]
Mark Doliner <markdoliner@pidgin.im>
parents:
11642
diff
changeset
|
1926 | gaim_prefs_remove("/gaim/gtk/conversations/escape_closes"); |
|
10164
99439320394d
[gaim-migrate @ 11250]
Mark Doliner <markdoliner@pidgin.im>
parents:
10163
diff
changeset
|
1927 | gaim_prefs_remove("/gaim/gtk/conversations/html_shortcuts"); |
|
8946
9dd17283a2ee
[gaim-migrate @ 9718]
Mark Doliner <markdoliner@pidgin.im>
parents:
8945
diff
changeset
|
1928 | gaim_prefs_remove("/gaim/gtk/conversations/icons_on_tabs"); |
|
11267
78f1eb5b3d6e
[gaim-migrate @ 13449]
Richard Laager <rlaager@pidgin.im>
parents:
11256
diff
changeset
|
1929 | gaim_prefs_remove("/gaim/gtk/conversations/send_formatting"); |
|
10398
e7543a7da8d6
[gaim-migrate @ 11628]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10389
diff
changeset
|
1930 | gaim_prefs_remove("/gaim/gtk/conversations/show_smileys"); |
|
8905
cedfa637389f
[gaim-migrate @ 9674]
Mark Doliner <markdoliner@pidgin.im>
parents:
8900
diff
changeset
|
1931 | gaim_prefs_remove("/gaim/gtk/conversations/show_urls_as_links"); |
|
10164
99439320394d
[gaim-migrate @ 11250]
Mark Doliner <markdoliner@pidgin.im>
parents:
10163
diff
changeset
|
1932 | gaim_prefs_remove("/gaim/gtk/conversations/smiley_shortcuts"); |
| 9025 | 1933 | gaim_prefs_remove("/gaim/gtk/conversations/use_custom_bgcolor"); |
| 1934 | gaim_prefs_remove("/gaim/gtk/conversations/use_custom_fgcolor"); | |
|
11269
ca63789d57b9
[gaim-migrate @ 13451]
Richard Laager <rlaager@pidgin.im>
parents:
11267
diff
changeset
|
1935 | gaim_prefs_remove("/gaim/gtk/conversations/use_custom_font"); |
| 9025 | 1936 | gaim_prefs_remove("/gaim/gtk/conversations/use_custom_size"); |
|
10398
e7543a7da8d6
[gaim-migrate @ 11628]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10389
diff
changeset
|
1937 | gaim_prefs_remove("/gaim/gtk/conversations/chat/old_tab_complete"); |
|
e7543a7da8d6
[gaim-migrate @ 11628]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10389
diff
changeset
|
1938 | gaim_prefs_remove("/gaim/gtk/conversations/chat/tab_completion"); |
|
9301
c05274a72788
[gaim-migrate @ 10105]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9285
diff
changeset
|
1939 | gaim_prefs_remove("/gaim/gtk/conversations/im/hide_on_send"); |
|
10398
e7543a7da8d6
[gaim-migrate @ 11628]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10389
diff
changeset
|
1940 | gaim_prefs_remove("/gaim/gtk/conversations/chat/color_nicks"); |
|
e7543a7da8d6
[gaim-migrate @ 11628]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10389
diff
changeset
|
1941 | gaim_prefs_remove("/gaim/gtk/conversations/chat/raise_on_events"); |
| 10492 | 1942 | gaim_prefs_remove("/gaim/gtk/conversations/ignore_fonts"); |
| 1943 | gaim_prefs_remove("/gaim/gtk/conversations/ignore_font_sizes"); | |
|
12154
fe5ae153f8cd
[gaim-migrate @ 14455]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
12152
diff
changeset
|
1944 | gaim_prefs_remove("/gaim/gtk/idle/reporting_method"); |
|
12272
4eee92ead973
[gaim-migrate @ 14574]
Mark Doliner <markdoliner@pidgin.im>
parents:
12240
diff
changeset
|
1945 | gaim_prefs_remove("/gaim/gtk/idle"); |
|
10398
e7543a7da8d6
[gaim-migrate @ 11628]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10389
diff
changeset
|
1946 | gaim_prefs_remove("/gaim/gtk/logging/individual_logs"); |
|
e7543a7da8d6
[gaim-migrate @ 11628]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10389
diff
changeset
|
1947 | gaim_prefs_remove("/gaim/gtk/sound/signon"); |
|
e7543a7da8d6
[gaim-migrate @ 11628]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10389
diff
changeset
|
1948 | gaim_prefs_remove("/gaim/gtk/sound/silent_signon"); |
|
12116
17bf39d2678f
[gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents:
12067
diff
changeset
|
1949 | gaim_prefs_remove("/gaim/gtk/away/queue_messages"); |
|
12281
e5fe6c35c179
[gaim-migrate @ 14585]
Mark Doliner <markdoliner@pidgin.im>
parents:
12272
diff
changeset
|
1950 | gaim_prefs_remove("/gaim/gtk/away"); |
|
12116
17bf39d2678f
[gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents:
12067
diff
changeset
|
1951 | gaim_prefs_remove("/plugins/gtk/docklet/queue_messages"); |
|
8905
cedfa637389f
[gaim-migrate @ 9674]
Mark Doliner <markdoliner@pidgin.im>
parents:
8900
diff
changeset
|
1952 | } |