Mercurial > pidgin
annotate pidgin/gtkprefs.c @ 32211:fa4b88cf8b56
Sort the variant list in the Preferences. It tends to be very
long, so it shouldn't be done at load time, but its average
length dictates that it should be done for the UI, at least.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Fri, 23 Sep 2011 18:24:01 +0000 |
parents | 305fc5850321 |
children | 904686722499 |
rev | line source |
---|---|
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1 /** |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2 * @file gtkprefs.c GTK+ Preferences |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3 * @ingroup pidgin |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
4 */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
5 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
6 /* pidgin |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
7 * |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
8 * Pidgin is the legal property of its developers, whose names are too numerous |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
9 * to list here. Please refer to the COPYRIGHT file distributed with this |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
10 * source distribution. |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
11 * |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
12 * This program is free software; you can redistribute it and/or modify |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
13 * it under the terms of the GNU General Public License as published by |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
14 * the Free Software Foundation; either version 2 of the License, or |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
15 * (at your option) any later version. |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
16 * |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
17 * This program is distributed in the hope that it will be useful, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
20 * GNU General Public License for more details. |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
21 * |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
22 * You should have received a copy of the GNU General Public License |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
23 * along with this program; if not, write to the Free Software |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
25 * |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
26 */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
27 #include "internal.h" |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
28 #include "pidgin.h" |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
29 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
30 #include "debug.h" |
27277
c65ad9007e42
In the Network prefs page, always show the auto-detected IP address by
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27276
diff
changeset
|
31 #include "nat-pmp.h" |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
32 #include "notify.h" |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
33 #include "prefs.h" |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
34 #include "proxy.h" |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
35 #include "prpl.h" |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
36 #include "request.h" |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
37 #include "savedstatuses.h" |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
38 #include "sound.h" |
25091
655a37bc0eb0
fixed images to appear in pref menu
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25088
diff
changeset
|
39 #include "sound-theme.h" |
27277
c65ad9007e42
In the Network prefs page, always show the auto-detected IP address by
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27276
diff
changeset
|
40 #include "stun.h" |
25091
655a37bc0eb0
fixed images to appear in pref menu
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25088
diff
changeset
|
41 #include "theme-manager.h" |
27277
c65ad9007e42
In the Network prefs page, always show the auto-detected IP address by
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27276
diff
changeset
|
42 #include "upnp.h" |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
43 #include "util.h" |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
44 #include "network.h" |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
45 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
46 #include "gtkblist.h" |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
47 #include "gtkconv.h" |
32182
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
48 #include "gtkconv-theme.h" |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
49 #include "gtkdebug.h" |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
50 #include "gtkdialogs.h" |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
51 #include "gtkimhtml.h" |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
52 #include "gtkimhtmltoolbar.h" |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
53 #include "gtkprefs.h" |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
54 #include "gtksavedstatuses.h" |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
55 #include "gtksound.h" |
25117
0bbfb20bad19
Clean up status icon themes a bit
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25114
diff
changeset
|
56 #include "gtkstatus-icon-theme.h" |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
57 #include "gtkthemes.h" |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
58 #include "gtkutils.h" |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
59 #include "pidginstock.h" |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
60 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
61 #define PROXYHOST 0 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
62 #define PROXYPORT 1 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
63 #define PROXYUSER 2 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
64 #define PROXYPASS 3 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
65 |
25111
09feece6ecd5
Fixed some small rendering errors in conversations and prefs
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25107
diff
changeset
|
66 #define PREFS_OPTIMAL_ICON_SIZE 32 |
09feece6ecd5
Fixed some small rendering errors in conversations and prefs
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25107
diff
changeset
|
67 |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
68 struct theme_info { |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
69 gchar *type; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
70 gchar *extension; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
71 gchar *original_name; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
72 }; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
73 |
28813
aec354f08f7c
Re-order variables to follow widget hierarchy.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28812
diff
changeset
|
74 /* Main dialog */ |
aec354f08f7c
Re-order variables to follow widget hierarchy.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28812
diff
changeset
|
75 static GtkWidget *prefs = NULL; |
aec354f08f7c
Re-order variables to follow widget hierarchy.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28812
diff
changeset
|
76 |
aec354f08f7c
Re-order variables to follow widget hierarchy.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28812
diff
changeset
|
77 /* Notebook */ |
28814
9bf6fe097c9c
Make sure all globals are NULL when the prefs page is destroyed.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28813
diff
changeset
|
78 static GtkWidget *prefsnotebook = NULL; |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
79 static int notebook_page = 0; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
80 |
28816
77f2534b0cac
Re-themeize the sample GtkIMHtml entry in the prefs Conversations page when
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28815
diff
changeset
|
81 /* Conversations page */ |
77f2534b0cac
Re-themeize the sample GtkIMHtml entry in the prefs Conversations page when
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28815
diff
changeset
|
82 static GtkWidget *sample_imhtml = NULL; |
77f2534b0cac
Re-themeize the sample GtkIMHtml entry in the prefs Conversations page when
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28815
diff
changeset
|
83 |
28813
aec354f08f7c
Re-order variables to follow widget hierarchy.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28812
diff
changeset
|
84 /* Themes page */ |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
85 static GtkWidget *prefs_sound_themes_combo_box; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
86 static GtkWidget *prefs_blist_themes_combo_box; |
32182
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
87 static GtkWidget *prefs_conv_themes_combo_box; |
32205
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
88 static GtkWidget *prefs_conv_variants_combo_box; |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
89 static GtkWidget *prefs_status_themes_combo_box; |
28570
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
90 static GtkWidget *prefs_smiley_themes_combo_box; |
25088
9ffbfbcf307d
Fixed purple sound loader class init function (bug on startup) and added shell sound theme selector
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23094
diff
changeset
|
91 |
28813
aec354f08f7c
Re-order variables to follow widget hierarchy.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28812
diff
changeset
|
92 /* Sound theme specific */ |
aec354f08f7c
Re-order variables to follow widget hierarchy.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28812
diff
changeset
|
93 static GtkWidget *sound_entry = NULL; |
aec354f08f7c
Re-order variables to follow widget hierarchy.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28812
diff
changeset
|
94 static int sound_row_sel = 0; |
28195
de93712181c1
Don't reset the sound theme pref if we're just loading the list of themes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27799
diff
changeset
|
95 static gboolean prefs_sound_themes_loading; |
de93712181c1
Don't reset the sound theme pref if we're just loading the list of themes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27799
diff
changeset
|
96 |
28815
f56b7177553d
Oops, the GtkListStore's for the themes have a lifetime that extends over
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28814
diff
changeset
|
97 /* These exist outside the lifetime of the prefs dialog */ |
f56b7177553d
Oops, the GtkListStore's for the themes have a lifetime that extends over
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28814
diff
changeset
|
98 static GtkListStore *prefs_sound_themes; |
f56b7177553d
Oops, the GtkListStore's for the themes have a lifetime that extends over
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28814
diff
changeset
|
99 static GtkListStore *prefs_blist_themes; |
32182
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
100 static GtkListStore *prefs_conv_themes; |
32205
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
101 static GtkListStore *prefs_conv_variants; |
28815
f56b7177553d
Oops, the GtkListStore's for the themes have a lifetime that extends over
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28814
diff
changeset
|
102 static GtkListStore *prefs_status_icon_themes; |
f56b7177553d
Oops, the GtkListStore's for the themes have a lifetime that extends over
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28814
diff
changeset
|
103 static GtkListStore *prefs_smiley_themes; |
f56b7177553d
Oops, the GtkListStore's for the themes have a lifetime that extends over
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28814
diff
changeset
|
104 |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
105 /* |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
106 * PROTOTYPES |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
107 */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
108 static void delete_prefs(GtkWidget *, void *); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
109 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
110 static void |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
111 update_spin_value(GtkWidget *w, GtkWidget *spin) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
112 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
113 const char *key = g_object_get_data(G_OBJECT(spin), "val"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
114 int value; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
115 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
116 value = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spin)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
117 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
118 purple_prefs_set_int(key, value); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
119 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
120 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
121 GtkWidget * |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
122 pidgin_prefs_labeled_spin_button(GtkWidget *box, const gchar *title, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
123 const char *key, int min, int max, GtkSizeGroup *sg) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
124 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
125 GtkWidget *spin; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
126 GtkObject *adjust; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
127 int val; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
128 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
129 val = purple_prefs_get_int(key); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
130 |
27275
00d9a2e24797
Change the page_size on the GtkAdjustment used for GtkSpinButtons on the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27263
diff
changeset
|
131 adjust = gtk_adjustment_new(val, min, max, 1, 1, 0); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
132 spin = gtk_spin_button_new(GTK_ADJUSTMENT(adjust), 1, 0); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
133 g_object_set_data(G_OBJECT(spin), "val", (char *)key); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
134 if (max < 10000) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
135 gtk_widget_set_size_request(spin, 50, -1); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
136 else |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
137 gtk_widget_set_size_request(spin, 60, -1); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
138 g_signal_connect(G_OBJECT(adjust), "value-changed", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
139 G_CALLBACK(update_spin_value), GTK_WIDGET(spin)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
140 gtk_widget_show(spin); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
141 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
142 return pidgin_add_widget_to_vbox(GTK_BOX(box), title, sg, spin, FALSE, NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
143 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
144 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
145 static void |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
146 entry_set(GtkEntry *entry, gpointer data) |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
147 { |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
148 const char *key = (const char*)data; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
149 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
150 purple_prefs_set_string(key, gtk_entry_get_text(entry)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
151 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
152 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
153 GtkWidget * |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
154 pidgin_prefs_labeled_entry(GtkWidget *page, const gchar *title, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
155 const char *key, GtkSizeGroup *sg) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
156 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
157 GtkWidget *entry; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
158 const gchar *value; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
159 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
160 value = purple_prefs_get_string(key); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
161 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
162 entry = gtk_entry_new(); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
163 gtk_entry_set_text(GTK_ENTRY(entry), value); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
164 g_signal_connect(G_OBJECT(entry), "changed", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
165 G_CALLBACK(entry_set), (char*)key); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
166 gtk_widget_show(entry); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
167 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
168 return pidgin_add_widget_to_vbox(GTK_BOX(page), title, sg, entry, TRUE, NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
169 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
170 |
26055
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
171 GtkWidget * |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
172 pidgin_prefs_labeled_password(GtkWidget *page, const gchar *title, |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
173 const char *key, GtkSizeGroup *sg) |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
174 { |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
175 GtkWidget *entry; |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
176 const gchar *value; |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
177 |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
178 value = purple_prefs_get_string(key); |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
179 |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
180 entry = gtk_entry_new(); |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
181 gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE); |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
182 gtk_entry_set_text(GTK_ENTRY(entry), value); |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
183 g_signal_connect(G_OBJECT(entry), "changed", |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
184 G_CALLBACK(entry_set), (char*)key); |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
185 gtk_widget_show(entry); |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
186 |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
187 return pidgin_add_widget_to_vbox(GTK_BOX(page), title, sg, entry, TRUE, NULL); |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
188 } |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
189 |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
190 |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
191 static void |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
192 dropdown_set(GObject *w, const char *key) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
193 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
194 const char *str_value; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
195 int int_value; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
196 PurplePrefType type; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
197 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
198 type = GPOINTER_TO_INT(g_object_get_data(w, "type")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
199 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
200 if (type == PURPLE_PREF_INT) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
201 int_value = GPOINTER_TO_INT(g_object_get_data(w, "value")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
202 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
203 purple_prefs_set_int(key, int_value); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
204 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
205 else if (type == PURPLE_PREF_STRING) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
206 str_value = (const char *)g_object_get_data(w, "value"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
207 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
208 purple_prefs_set_string(key, str_value); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
209 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
210 else if (type == PURPLE_PREF_BOOLEAN) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
211 purple_prefs_set_bool(key, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
212 GPOINTER_TO_INT(g_object_get_data(w, "value"))); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
213 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
214 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
215 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
216 GtkWidget * |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
217 pidgin_prefs_dropdown_from_list(GtkWidget *box, const gchar *title, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
218 PurplePrefType type, const char *key, GList *menuitems) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
219 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
220 GtkWidget *dropdown, *opt, *menu; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
221 GtkWidget *label = NULL; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
222 gchar *text; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
223 const char *stored_str = NULL; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
224 int stored_int = 0; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
225 int int_value = 0; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
226 const char *str_value = NULL; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
227 int o = 0; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
228 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
229 g_return_val_if_fail(menuitems != NULL, NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
230 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
231 dropdown = gtk_option_menu_new(); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
232 menu = gtk_menu_new(); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
233 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
234 if (type == PURPLE_PREF_INT) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
235 stored_int = purple_prefs_get_int(key); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
236 else if (type == PURPLE_PREF_STRING) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
237 stored_str = purple_prefs_get_string(key); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
238 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
239 while (menuitems != NULL && (text = (char *) menuitems->data) != NULL) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
240 menuitems = g_list_next(menuitems); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
241 g_return_val_if_fail(menuitems != NULL, NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
242 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
243 opt = gtk_menu_item_new_with_label(text); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
244 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
245 g_object_set_data(G_OBJECT(opt), "type", GINT_TO_POINTER(type)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
246 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
247 if (type == PURPLE_PREF_INT) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
248 int_value = GPOINTER_TO_INT(menuitems->data); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
249 g_object_set_data(G_OBJECT(opt), "value", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
250 GINT_TO_POINTER(int_value)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
251 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
252 else if (type == PURPLE_PREF_STRING) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
253 str_value = (const char *)menuitems->data; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
254 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
255 g_object_set_data(G_OBJECT(opt), "value", (char *)str_value); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
256 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
257 else if (type == PURPLE_PREF_BOOLEAN) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
258 g_object_set_data(G_OBJECT(opt), "value", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
259 menuitems->data); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
260 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
261 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
262 g_signal_connect(G_OBJECT(opt), "activate", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
263 G_CALLBACK(dropdown_set), (char *)key); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
264 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
265 gtk_widget_show(opt); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
266 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
267 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
268 if ((type == PURPLE_PREF_INT && stored_int == int_value) || |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
269 (type == PURPLE_PREF_STRING && stored_str != NULL && |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
270 !strcmp(stored_str, str_value)) || |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
271 (type == PURPLE_PREF_BOOLEAN && |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
272 (purple_prefs_get_bool(key) == GPOINTER_TO_INT(menuitems->data)))) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
273 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
274 gtk_menu_set_active(GTK_MENU(menu), o); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
275 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
276 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
277 menuitems = g_list_next(menuitems); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
278 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
279 o++; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
280 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
281 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
282 gtk_option_menu_set_menu(GTK_OPTION_MENU(dropdown), menu); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
283 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
284 pidgin_add_widget_to_vbox(GTK_BOX(box), title, NULL, dropdown, FALSE, &label); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
285 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
286 return label; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
287 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
288 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
289 GtkWidget * |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
290 pidgin_prefs_dropdown(GtkWidget *box, const gchar *title, PurplePrefType type, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
291 const char *key, ...) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
292 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
293 va_list ap; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
294 GList *menuitems = NULL; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
295 GtkWidget *dropdown = NULL; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
296 char *name; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
297 int int_value; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
298 const char *str_value; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
299 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
300 g_return_val_if_fail(type == PURPLE_PREF_BOOLEAN || type == PURPLE_PREF_INT || |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
301 type == PURPLE_PREF_STRING, NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
302 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
303 va_start(ap, key); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
304 while ((name = va_arg(ap, char *)) != NULL) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
305 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
306 menuitems = g_list_prepend(menuitems, name); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
307 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
308 if (type == PURPLE_PREF_INT || type == PURPLE_PREF_BOOLEAN) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
309 int_value = va_arg(ap, int); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
310 menuitems = g_list_prepend(menuitems, GINT_TO_POINTER(int_value)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
311 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
312 else { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
313 str_value = va_arg(ap, const char *); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
314 menuitems = g_list_prepend(menuitems, (char *)str_value); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
315 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
316 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
317 va_end(ap); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
318 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
319 g_return_val_if_fail(menuitems != NULL, NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
320 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
321 menuitems = g_list_reverse(menuitems); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
322 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
323 dropdown = pidgin_prefs_dropdown_from_list(box, title, type, key, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
324 menuitems); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
325 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
326 g_list_free(menuitems); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
327 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
328 return dropdown; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
329 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
330 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
331 static void |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
332 delete_prefs(GtkWidget *asdf, void *gdsa) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
333 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
334 /* Close any "select sound" request dialogs */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
335 purple_request_close_with_handle(prefs); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
336 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
337 /* Unregister callbacks. */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
338 purple_prefs_disconnect_by_handle(prefs); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
339 |
28814
9bf6fe097c9c
Make sure all globals are NULL when the prefs page is destroyed.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28813
diff
changeset
|
340 /* NULL-ify globals */ |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
341 sound_entry = NULL; |
28814
9bf6fe097c9c
Make sure all globals are NULL when the prefs page is destroyed.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28813
diff
changeset
|
342 sound_row_sel = 0; |
9bf6fe097c9c
Make sure all globals are NULL when the prefs page is destroyed.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28813
diff
changeset
|
343 prefs_sound_themes_loading = FALSE; |
9bf6fe097c9c
Make sure all globals are NULL when the prefs page is destroyed.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28813
diff
changeset
|
344 |
9bf6fe097c9c
Make sure all globals are NULL when the prefs page is destroyed.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28813
diff
changeset
|
345 prefs_sound_themes_combo_box = NULL; |
9bf6fe097c9c
Make sure all globals are NULL when the prefs page is destroyed.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28813
diff
changeset
|
346 prefs_blist_themes_combo_box = NULL; |
32182
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
347 prefs_conv_themes_combo_box = NULL; |
32205
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
348 prefs_conv_variants_combo_box = NULL; |
28814
9bf6fe097c9c
Make sure all globals are NULL when the prefs page is destroyed.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28813
diff
changeset
|
349 prefs_status_themes_combo_box = NULL; |
9bf6fe097c9c
Make sure all globals are NULL when the prefs page is destroyed.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28813
diff
changeset
|
350 prefs_smiley_themes_combo_box = NULL; |
9bf6fe097c9c
Make sure all globals are NULL when the prefs page is destroyed.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28813
diff
changeset
|
351 |
28816
77f2534b0cac
Re-themeize the sample GtkIMHtml entry in the prefs Conversations page when
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28815
diff
changeset
|
352 sample_imhtml = NULL; |
77f2534b0cac
Re-themeize the sample GtkIMHtml entry in the prefs Conversations page when
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28815
diff
changeset
|
353 |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
354 notebook_page = 0; |
28814
9bf6fe097c9c
Make sure all globals are NULL when the prefs page is destroyed.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28813
diff
changeset
|
355 prefsnotebook = NULL; |
9bf6fe097c9c
Make sure all globals are NULL when the prefs page is destroyed.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28813
diff
changeset
|
356 prefs = NULL; |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
357 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
358 |
28271
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
359 static gchar * |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
360 get_theme_markup(const char *name, gboolean custom, const char *author, |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
361 const char *description) |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
362 { |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
363 |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
364 return g_strdup_printf("<b>%s</b>%s%s%s%s\n<span foreground='dim grey'>%s</span>", |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
365 name, custom ? " " : "", custom ? _("(Custom)") : "", |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
366 author != NULL ? " - " : "", author != NULL ? author : "", |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
367 description != NULL ? description : ""); |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
368 } |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
369 |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
370 static void |
28574
851fcedadd82
Rename a smiley theme function to be a bit more descriptive.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28573
diff
changeset
|
371 smileys_refresh_theme_list(void) |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
372 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
373 GdkPixbuf *pixbuf; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
374 GSList *themes; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
375 GtkTreeIter iter; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
376 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
377 pidgin_themes_smiley_theme_probe(); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
378 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
379 if (!(themes = smiley_themes)) |
28570
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
380 return; |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
381 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
382 while (themes) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
383 struct smiley_theme *theme = themes->data; |
28571
8f62997d90b7
Remove some code duplication which also fixes a small inconsistency in the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28570
diff
changeset
|
384 char *description = get_theme_markup(_(theme->name), FALSE, |
8f62997d90b7
Remove some code duplication which also fixes a small inconsistency in the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28570
diff
changeset
|
385 _(theme->author), _(theme->desc)); |
28570
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
386 gtk_list_store_append(prefs_smiley_themes, &iter); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
387 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
388 /* |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
389 * LEAK - Gentoo memprof thinks pixbuf is leaking here... but it |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
390 * looks like it should be ok to me. Anyone know what's up? --Mark |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
391 */ |
31682
e2c6e4fc3c84
Start looking at the GError parameter every time we call these functions:
Mark Doliner <mark@kingant.net>
parents:
31625
diff
changeset
|
392 pixbuf = (theme->icon ? pidgin_pixbuf_new_from_file(theme->icon) : NULL); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
393 |
28570
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
394 gtk_list_store_set(prefs_smiley_themes, &iter, |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
395 0, pixbuf, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
396 1, description, |
28570
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
397 2, theme->name, |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
398 -1); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
399 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
400 if (pixbuf != NULL) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
401 g_object_unref(G_OBJECT(pixbuf)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
402 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
403 g_free(description); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
404 themes = themes->next; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
405 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
406 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
407 |
25107
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
408 /* Rebuild the markup for the sound theme selection for "(Custom)" themes */ |
25092
cf7625d4d7e0
Working sound themes (option 1) theme is saved in prefs and there is no seperate custom theme, everything
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25091
diff
changeset
|
409 static void |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
410 pref_sound_generate_markup(void) |
25924
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
25923
diff
changeset
|
411 { |
25107
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
412 gboolean print_custom, customized; |
28271
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
413 const gchar *author, *description, *current_theme; |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
414 gchar *name, *markup; |
25107
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
415 PurpleSoundTheme *theme; |
25104
2ccad3a8d9fe
fixed segfault when changing blist themes, changed prefs to not rely on static iter, fixed a few leaks
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25102
diff
changeset
|
416 GtkTreeIter iter; |
2ccad3a8d9fe
fixed segfault when changing blist themes, changed prefs to not rely on static iter, fixed a few leaks
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25102
diff
changeset
|
417 |
25107
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
418 customized = pidgin_sound_is_customized(); |
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
419 current_theme = purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/theme"); |
25924
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
25923
diff
changeset
|
420 |
25104
2ccad3a8d9fe
fixed segfault when changing blist themes, changed prefs to not rely on static iter, fixed a few leaks
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25102
diff
changeset
|
421 if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(prefs_sound_themes), &iter)) { |
2ccad3a8d9fe
fixed segfault when changing blist themes, changed prefs to not rely on static iter, fixed a few leaks
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25102
diff
changeset
|
422 do { |
25107
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
423 gtk_tree_model_get(GTK_TREE_MODEL(prefs_sound_themes), &iter, 2, &name, -1); |
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
424 |
28271
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
425 print_custom = customized && name && g_str_equal(current_theme, name); |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
426 |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
427 if (!name || *name == '\0') { |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
428 g_free(name); |
28555
3f1d39bac4cd
Make the default themes' names consistent with the default smiley theme.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28554
diff
changeset
|
429 name = g_strdup(_("Default")); |
28547
45100d41c9ff
The theme authors for default/nonexistant themes should be consistent. Since
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28546
diff
changeset
|
430 author = _("Penguin Pimps"); |
28271
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
431 description = _("The default Pidgin sound theme"); |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
432 } else { |
25107
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
433 theme = PURPLE_SOUND_THEME(purple_theme_manager_find_theme(name, "sound")); |
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
434 author = purple_theme_get_author(PURPLE_THEME(theme)); |
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
435 description = purple_theme_get_description(PURPLE_THEME(theme)); |
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
436 } |
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
437 |
28271
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
438 markup = get_theme_markup(name, print_custom, author, description); |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
439 |
25107
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
440 gtk_list_store_set(prefs_sound_themes, &iter, 1, markup, -1); |
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
441 |
28271
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
442 g_free(name); |
25107
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
443 g_free(markup); |
25104
2ccad3a8d9fe
fixed segfault when changing blist themes, changed prefs to not rely on static iter, fixed a few leaks
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25102
diff
changeset
|
444 |
2ccad3a8d9fe
fixed segfault when changing blist themes, changed prefs to not rely on static iter, fixed a few leaks
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25102
diff
changeset
|
445 } while (gtk_tree_model_iter_next(GTK_TREE_MODEL(prefs_sound_themes), &iter)); |
2ccad3a8d9fe
fixed segfault when changing blist themes, changed prefs to not rely on static iter, fixed a few leaks
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25102
diff
changeset
|
446 } |
25092
cf7625d4d7e0
Working sound themes (option 1) theme is saved in prefs and there is no seperate custom theme, everything
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25091
diff
changeset
|
447 } |
cf7625d4d7e0
Working sound themes (option 1) theme is saved in prefs and there is no seperate custom theme, everything
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25091
diff
changeset
|
448 |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
449 /* adds the themes to the theme list from the manager so they can be displayed in prefs */ |
25091
655a37bc0eb0
fixed images to appear in pref menu
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25088
diff
changeset
|
450 static void |
655a37bc0eb0
fixed images to appear in pref menu
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25088
diff
changeset
|
451 prefs_themes_sort(PurpleTheme *theme) |
655a37bc0eb0
fixed images to appear in pref menu
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25088
diff
changeset
|
452 { |
25092
cf7625d4d7e0
Working sound themes (option 1) theme is saved in prefs and there is no seperate custom theme, everything
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25091
diff
changeset
|
453 GdkPixbuf *pixbuf = NULL; |
25091
655a37bc0eb0
fixed images to appear in pref menu
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25088
diff
changeset
|
454 GtkTreeIter iter; |
25111
09feece6ecd5
Fixed some small rendering errors in conversations and prefs
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25107
diff
changeset
|
455 gchar *image_full = NULL, *markup; |
25107
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
456 const gchar *name, *author, *description; |
25924
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
25923
diff
changeset
|
457 |
25091
655a37bc0eb0
fixed images to appear in pref menu
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25088
diff
changeset
|
458 if (PURPLE_IS_SOUND_THEME(theme)){ |
25924
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
25923
diff
changeset
|
459 |
25096
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25095
diff
changeset
|
460 image_full = purple_theme_get_image_full(theme); |
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25095
diff
changeset
|
461 if (image_full != NULL){ |
31682
e2c6e4fc3c84
Start looking at the GError parameter every time we call these functions:
Mark Doliner <mark@kingant.net>
parents:
31625
diff
changeset
|
462 pixbuf = pidgin_pixbuf_new_from_file_at_scale(image_full, PREFS_OPTIMAL_ICON_SIZE, PREFS_OPTIMAL_ICON_SIZE, TRUE); |
25096
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25095
diff
changeset
|
463 g_free(image_full); |
28271
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
464 } else |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
465 pixbuf = NULL; |
25096
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25095
diff
changeset
|
466 |
25117
0bbfb20bad19
Clean up status icon themes a bit
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25114
diff
changeset
|
467 gtk_list_store_append(prefs_sound_themes, &iter); |
0bbfb20bad19
Clean up status icon themes a bit
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25114
diff
changeset
|
468 gtk_list_store_set(prefs_sound_themes, &iter, 0, pixbuf, 2, purple_theme_get_name(theme), -1); |
25096
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25095
diff
changeset
|
469 |
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25095
diff
changeset
|
470 if (pixbuf != NULL) |
26623
a3f7ade9e45b
Use g_object_ref/unref instead of the deprecated versions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26414
diff
changeset
|
471 g_object_unref(G_OBJECT(pixbuf)); |
25092
cf7625d4d7e0
Working sound themes (option 1) theme is saved in prefs and there is no seperate custom theme, everything
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25091
diff
changeset
|
472 |
25117
0bbfb20bad19
Clean up status icon themes a bit
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25114
diff
changeset
|
473 } else if (PIDGIN_IS_BLIST_THEME(theme) || PIDGIN_IS_STATUS_ICON_THEME(theme)){ |
25114
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
474 GtkListStore *store; |
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
475 |
25924
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
25923
diff
changeset
|
476 if (PIDGIN_IS_BLIST_THEME(theme)) |
25114
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
477 store = prefs_blist_themes; |
28271
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
478 else |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
479 store = prefs_status_icon_themes; |
25102
4aeef8c3cce3
restructured much of the loader and themes for the buddy list, along with a basic trial of group background
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25096
diff
changeset
|
480 |
4aeef8c3cce3
restructured much of the loader and themes for the buddy list, along with a basic trial of group background
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25096
diff
changeset
|
481 image_full = purple_theme_get_image_full(theme); |
4aeef8c3cce3
restructured much of the loader and themes for the buddy list, along with a basic trial of group background
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25096
diff
changeset
|
482 if (image_full != NULL){ |
31682
e2c6e4fc3c84
Start looking at the GError parameter every time we call these functions:
Mark Doliner <mark@kingant.net>
parents:
31625
diff
changeset
|
483 pixbuf = pidgin_pixbuf_new_from_file_at_scale(image_full, PREFS_OPTIMAL_ICON_SIZE, PREFS_OPTIMAL_ICON_SIZE, TRUE); |
25102
4aeef8c3cce3
restructured much of the loader and themes for the buddy list, along with a basic trial of group background
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25096
diff
changeset
|
484 g_free(image_full); |
28271
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
485 } else |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
486 pixbuf = NULL; |
25107
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
487 |
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
488 name = purple_theme_get_name(theme); |
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
489 author = purple_theme_get_author(theme); |
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
490 description = purple_theme_get_description(theme); |
25924
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
25923
diff
changeset
|
491 |
28271
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
492 markup = get_theme_markup(name, FALSE, author, description); |
25102
4aeef8c3cce3
restructured much of the loader and themes for the buddy list, along with a basic trial of group background
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25096
diff
changeset
|
493 |
25117
0bbfb20bad19
Clean up status icon themes a bit
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25114
diff
changeset
|
494 gtk_list_store_append(store, &iter); |
0bbfb20bad19
Clean up status icon themes a bit
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25114
diff
changeset
|
495 gtk_list_store_set(store, &iter, 0, pixbuf, 1, markup, 2, name, -1); |
25107
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
496 |
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
497 g_free(markup); |
25102
4aeef8c3cce3
restructured much of the loader and themes for the buddy list, along with a basic trial of group background
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25096
diff
changeset
|
498 if (pixbuf != NULL) |
26623
a3f7ade9e45b
Use g_object_ref/unref instead of the deprecated versions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26414
diff
changeset
|
499 g_object_unref(G_OBJECT(pixbuf)); |
32182
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
500 |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
501 } else if (PIDGIN_IS_CONV_THEME(theme)) { |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
502 /* No image available? */ |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
503 |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
504 name = purple_theme_get_name(theme); |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
505 /* No author available */ |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
506 /* No description available */ |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
507 |
32205
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
508 markup = get_theme_markup(name, FALSE, NULL, NULL); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
509 |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
510 gtk_list_store_append(prefs_conv_themes, &iter); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
511 gtk_list_store_set(prefs_conv_themes, &iter, 1, markup, 2, name, -1); |
25924
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
25923
diff
changeset
|
512 } |
25091
655a37bc0eb0
fixed images to appear in pref menu
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25088
diff
changeset
|
513 } |
655a37bc0eb0
fixed images to appear in pref menu
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25088
diff
changeset
|
514 |
655a37bc0eb0
fixed images to appear in pref menu
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25088
diff
changeset
|
515 static void |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
516 prefs_set_active_theme_combo(GtkWidget *combo_box, GtkListStore *store, const gchar *current_theme) |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
517 { |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
518 GtkTreeIter iter; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
519 gchar *theme = NULL; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
520 gboolean unset = TRUE; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
521 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
522 if (current_theme && *current_theme && gtk_tree_model_get_iter_first(GTK_TREE_MODEL(store), &iter)) { |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
523 do { |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
524 gtk_tree_model_get(GTK_TREE_MODEL(store), &iter, 2, &theme, -1); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
525 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
526 if (g_str_equal(current_theme, theme)) { |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
527 gtk_combo_box_set_active_iter(GTK_COMBO_BOX(combo_box), &iter); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
528 unset = FALSE; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
529 } |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
530 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
531 g_free(theme); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
532 } while (gtk_tree_model_iter_next(GTK_TREE_MODEL(store), &iter)); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
533 } |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
534 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
535 if (unset) |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
536 gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box), 0); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
537 } |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
538 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
539 static void |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
540 prefs_themes_refresh(void) |
25091
655a37bc0eb0
fixed images to appear in pref menu
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25088
diff
changeset
|
541 { |
655a37bc0eb0
fixed images to appear in pref menu
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25088
diff
changeset
|
542 GdkPixbuf *pixbuf = NULL; |
28271
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
543 gchar *tmp; |
25104
2ccad3a8d9fe
fixed segfault when changing blist themes, changed prefs to not rely on static iter, fixed a few leaks
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25102
diff
changeset
|
544 GtkTreeIter iter; |
25091
655a37bc0eb0
fixed images to appear in pref menu
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25088
diff
changeset
|
545 |
28195
de93712181c1
Don't reset the sound theme pref if we're just loading the list of themes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27799
diff
changeset
|
546 prefs_sound_themes_loading = TRUE; |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
547 /* refresh the list of themes in the manager */ |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
548 purple_theme_manager_refresh(); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
549 |
28271
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
550 tmp = g_build_filename(DATADIR, "icons", "hicolor", "32x32", "apps", "pidgin.png", NULL); |
31682
e2c6e4fc3c84
Start looking at the GError parameter every time we call these functions:
Mark Doliner <mark@kingant.net>
parents:
31625
diff
changeset
|
551 pixbuf = pidgin_pixbuf_new_from_file_at_scale(tmp, PREFS_OPTIMAL_ICON_SIZE, PREFS_OPTIMAL_ICON_SIZE, TRUE); |
28271
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
552 g_free(tmp); |
25091
655a37bc0eb0
fixed images to appear in pref menu
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25088
diff
changeset
|
553 |
25102
4aeef8c3cce3
restructured much of the loader and themes for the buddy list, along with a basic trial of group background
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25096
diff
changeset
|
554 /* sound themes */ |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
555 gtk_list_store_clear(prefs_sound_themes); |
25104
2ccad3a8d9fe
fixed segfault when changing blist themes, changed prefs to not rely on static iter, fixed a few leaks
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25102
diff
changeset
|
556 gtk_list_store_append(prefs_sound_themes, &iter); |
25107
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
557 gtk_list_store_set(prefs_sound_themes, &iter, 0, pixbuf, 2, "", -1); |
25102
4aeef8c3cce3
restructured much of the loader and themes for the buddy list, along with a basic trial of group background
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25096
diff
changeset
|
558 |
4aeef8c3cce3
restructured much of the loader and themes for the buddy list, along with a basic trial of group background
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25096
diff
changeset
|
559 /* blist themes */ |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
560 gtk_list_store_clear(prefs_blist_themes); |
25104
2ccad3a8d9fe
fixed segfault when changing blist themes, changed prefs to not rely on static iter, fixed a few leaks
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25102
diff
changeset
|
561 gtk_list_store_append(prefs_blist_themes, &iter); |
28555
3f1d39bac4cd
Make the default themes' names consistent with the default smiley theme.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28554
diff
changeset
|
562 tmp = get_theme_markup(_("Default"), FALSE, _("Penguin Pimps"), |
28271
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
563 _("The default Pidgin buddy list theme")); |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
564 gtk_list_store_set(prefs_blist_themes, &iter, 0, pixbuf, 1, tmp, 2, "", -1); |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
565 g_free(tmp); |
25102
4aeef8c3cce3
restructured much of the loader and themes for the buddy list, along with a basic trial of group background
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25096
diff
changeset
|
566 |
32182
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
567 /* conversation themes */ |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
568 gtk_list_store_clear(prefs_conv_themes); |
32203
64793e55488e
Add the "default" theme to the beginning of the conversation
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32185
diff
changeset
|
569 gtk_list_store_append(prefs_conv_themes, &iter); |
64793e55488e
Add the "default" theme to the beginning of the conversation
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32185
diff
changeset
|
570 tmp = get_theme_markup(_("Default"), FALSE, _("Penguin Pimps"), |
64793e55488e
Add the "default" theme to the beginning of the conversation
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32185
diff
changeset
|
571 _("The default Pidgin conversation theme")); |
64793e55488e
Add the "default" theme to the beginning of the conversation
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32185
diff
changeset
|
572 gtk_list_store_set(prefs_conv_themes, &iter, 0, pixbuf, 1, tmp, 2, "", -1); |
64793e55488e
Add the "default" theme to the beginning of the conversation
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32185
diff
changeset
|
573 g_free(tmp); |
32182
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
574 |
32205
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
575 /* conversation theme variants */ |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
576 gtk_list_store_clear(prefs_conv_variants); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
577 |
25114
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
578 /* status icon themes */ |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
579 gtk_list_store_clear(prefs_status_icon_themes); |
25114
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
580 gtk_list_store_append(prefs_status_icon_themes, &iter); |
28555
3f1d39bac4cd
Make the default themes' names consistent with the default smiley theme.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28554
diff
changeset
|
581 tmp = get_theme_markup(_("Default"), FALSE, _("Penguin Pimps"), |
28271
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
582 _("The default Pidgin status icon theme")); |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
583 gtk_list_store_set(prefs_status_icon_themes, &iter, 0, pixbuf, 1, tmp, 2, "", -1); |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
584 g_free(tmp); |
28428
0849e1c20486
Prevent an assertion when the status icon pixbuf isn't found.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28331
diff
changeset
|
585 if (pixbuf) |
0849e1c20486
Prevent an assertion when the status icon pixbuf isn't found.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28331
diff
changeset
|
586 g_object_unref(G_OBJECT(pixbuf)); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
587 |
28570
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
588 /* smiley themes */ |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
589 gtk_list_store_clear(prefs_smiley_themes); |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
590 |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
591 purple_theme_manager_for_each_theme(prefs_themes_sort); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
592 pref_sound_generate_markup(); |
28574
851fcedadd82
Rename a smiley theme function to be a bit more descriptive.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28573
diff
changeset
|
593 smileys_refresh_theme_list(); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
594 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
595 /* set active */ |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
596 prefs_set_active_theme_combo(prefs_sound_themes_combo_box, prefs_sound_themes, purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/theme")); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
597 prefs_set_active_theme_combo(prefs_blist_themes_combo_box, prefs_blist_themes, purple_prefs_get_string(PIDGIN_PREFS_ROOT "/blist/theme")); |
32185
f857a6db3bd9
Use a consistent prefs name. It should be conversation*s* to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32184
diff
changeset
|
598 prefs_set_active_theme_combo(prefs_conv_themes_combo_box, prefs_conv_themes, purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/theme")); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
599 prefs_set_active_theme_combo(prefs_status_themes_combo_box, prefs_status_icon_themes, purple_prefs_get_string(PIDGIN_PREFS_ROOT "/status/icon-theme")); |
28570
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
600 prefs_set_active_theme_combo(prefs_smiley_themes_combo_box, prefs_smiley_themes, purple_prefs_get_string(PIDGIN_PREFS_ROOT "/smileys/theme")); |
28195
de93712181c1
Don't reset the sound theme pref if we're just loading the list of themes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27799
diff
changeset
|
601 prefs_sound_themes_loading = FALSE; |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
602 } |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
603 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
604 /* init all the theme variables so that the themes can be sorted later and used by pref pages */ |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
605 static void |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
606 prefs_themes_init(void) |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
607 { |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
608 prefs_sound_themes = gtk_list_store_new(3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING); |
27207
1c1af7e226e5
Kill whitespace at the end of lines.
Paul Aurich <paul@darkrain42.org>
parents:
27203
diff
changeset
|
609 |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
610 prefs_blist_themes = gtk_list_store_new(3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
611 |
32182
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
612 prefs_conv_themes = gtk_list_store_new(3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING); |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
613 |
32205
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
614 prefs_conv_variants = gtk_list_store_new(1, G_TYPE_STRING); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
615 |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
616 prefs_status_icon_themes = gtk_list_store_new(3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING); |
28570
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
617 |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
618 prefs_smiley_themes = gtk_list_store_new(3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
619 } |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
620 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
621 static PurpleTheme * |
27207
1c1af7e226e5
Kill whitespace at the end of lines.
Paul Aurich <paul@darkrain42.org>
parents:
27203
diff
changeset
|
622 prefs_theme_find_theme(const gchar *path, const gchar *type) |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
623 { |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
624 PurpleTheme *theme = purple_theme_manager_load_theme(path, type); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
625 GDir *dir = g_dir_open(path, 0, NULL); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
626 const gchar *next; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
627 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
628 while (!PURPLE_IS_THEME(theme) && (next = g_dir_read_name(dir))) { |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
629 gchar *next_path = g_build_filename(path, next, NULL); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
630 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
631 if (g_file_test(next_path, G_FILE_TEST_IS_DIR)) |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
632 theme = prefs_theme_find_theme(next_path, type); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
633 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
634 g_free(next_path); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
635 } |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
636 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
637 g_dir_close(dir); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
638 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
639 return theme; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
640 } |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
641 |
27208
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
642 /* Eww. Seriously ewww. But thanks, grim! This is taken from guifications2 */ |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
643 static gboolean |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
644 purple_theme_file_copy(const gchar *source, const gchar *destination) |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
645 { |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
646 FILE *src, *dest; |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
647 gint chr = EOF; |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
648 |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
649 if(!(src = g_fopen(source, "rb"))) |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
650 return FALSE; |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
651 if(!(dest = g_fopen(destination, "wb"))) { |
27209
03525f97c9d8
Handle dest failing to open properly by closing the src handle.
Paul Aurich <paul@darkrain42.org>
parents:
27208
diff
changeset
|
652 fclose(src); |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
653 return FALSE; |
27209
03525f97c9d8
Handle dest failing to open properly by closing the src handle.
Paul Aurich <paul@darkrain42.org>
parents:
27208
diff
changeset
|
654 } |
27208
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
655 |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
656 while((chr = fgetc(src)) != EOF) { |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
657 fputc(chr, dest); |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
658 } |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
659 |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
660 fclose(dest); |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
661 fclose(src); |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
662 |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
663 return TRUE; |
27208
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
664 } |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
665 |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
666 static void |
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
667 free_theme_info(struct theme_info *info) |
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
668 { |
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
669 if (info != NULL) { |
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
670 g_free(info->type); |
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
671 g_free(info->extension); |
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
672 g_free(info->original_name); |
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
673 g_free(info); |
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
674 } |
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
675 } |
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
676 |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
677 /* installs a theme, info is freed by function */ |
27207
1c1af7e226e5
Kill whitespace at the end of lines.
Paul Aurich <paul@darkrain42.org>
parents:
27203
diff
changeset
|
678 static void |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
679 theme_install_theme(char *path, struct theme_info *info) |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
680 { |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
681 #ifndef _WIN32 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
682 gchar *command; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
683 #endif |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
684 gchar *destdir; |
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
685 const char *tail; |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
686 gboolean is_smiley_theme, is_archive; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
687 PurpleTheme *theme = NULL; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
688 |
27207
1c1af7e226e5
Kill whitespace at the end of lines.
Paul Aurich <paul@darkrain42.org>
parents:
27203
diff
changeset
|
689 if (info == NULL) |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
690 return; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
691 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
692 /* check the extension */ |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
693 tail = info->extension ? info->extension : strrchr(path, '.'); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
694 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
695 if (!tail) { |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
696 free_theme_info(info); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
697 return; |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
698 } |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
699 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
700 is_archive = !g_ascii_strcasecmp(tail, ".gz") || !g_ascii_strcasecmp(tail, ".tgz"); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
701 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
702 /* Just to be safe */ |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
703 g_strchomp(path); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
704 |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
705 if ((is_smiley_theme = g_str_equal(info->type, "smiley"))) |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
706 destdir = g_build_filename(purple_user_dir(), "smileys", NULL); |
28271
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
707 else |
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
708 destdir = g_build_filename(purple_user_dir(), "themes", "temp", NULL); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
709 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
710 /* We'll check this just to make sure. This also lets us do something different on |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
711 * other platforms, if need be */ |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
712 if (is_archive) { |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
713 #ifndef _WIN32 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
714 gchar *path_escaped = g_shell_quote(path); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
715 gchar *destdir_escaped = g_shell_quote(destdir); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
716 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
717 if (!g_file_test(destdir, G_FILE_TEST_IS_DIR)) |
27208
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
718 purple_build_dir(destdir, S_IRUSR | S_IWUSR | S_IXUSR); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
719 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
720 command = g_strdup_printf("tar > /dev/null xzf %s -C %s", path_escaped, destdir_escaped); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
721 g_free(path_escaped); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
722 g_free(destdir_escaped); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
723 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
724 /* Fire! */ |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
725 if (system(command)) { |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
726 purple_notify_error(NULL, NULL, _("Theme failed to unpack."), NULL); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
727 g_free(command); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
728 g_free(destdir); |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
729 free_theme_info(info); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
730 return; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
731 } |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
732 #else |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
733 if (!winpidgin_gz_untar(path, destdir)) { |
28271
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
734 purple_notify_error(NULL, NULL, _("Theme failed to unpack."), NULL); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
735 g_free(destdir); |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
736 free_theme_info(info); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
737 return; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
738 } |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
739 #endif |
27207
1c1af7e226e5
Kill whitespace at the end of lines.
Paul Aurich <paul@darkrain42.org>
parents:
27203
diff
changeset
|
740 } |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
741 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
742 if (is_smiley_theme) { |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
743 /* just extract the folder to the smiley directory */ |
28570
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
744 prefs_themes_refresh(); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
745 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
746 } else if (is_archive) { |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
747 theme = prefs_theme_find_theme(destdir, info->type); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
748 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
749 if (PURPLE_IS_THEME(theme)) { |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
750 /* create the location for the theme */ |
27207
1c1af7e226e5
Kill whitespace at the end of lines.
Paul Aurich <paul@darkrain42.org>
parents:
27203
diff
changeset
|
751 gchar *theme_dest = g_build_filename(purple_user_dir(), "themes", |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
752 purple_theme_get_name(theme), |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
753 "purple", info->type, NULL); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
754 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
755 if (!g_file_test(theme_dest, G_FILE_TEST_IS_DIR)) |
27208
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
756 purple_build_dir(theme_dest, S_IRUSR | S_IWUSR | S_IXUSR); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
757 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
758 g_free(theme_dest); |
27207
1c1af7e226e5
Kill whitespace at the end of lines.
Paul Aurich <paul@darkrain42.org>
parents:
27203
diff
changeset
|
759 theme_dest = g_build_filename(purple_user_dir(), "themes", |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
760 purple_theme_get_name(theme), |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
761 "purple", info->type, NULL); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
762 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
763 /* move the entire directory to new location */ |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
764 g_rename(purple_theme_get_dir(theme), theme_dest); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
765 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
766 g_free(theme_dest); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
767 g_remove(destdir); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
768 g_object_unref(theme); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
769 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
770 prefs_themes_refresh(); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
771 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
772 } else { |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
773 /* something was wrong with the theme archive */ |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
774 g_unlink(destdir); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
775 purple_notify_error(NULL, NULL, _("Theme failed to load."), NULL); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
776 } |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
777 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
778 } else { /* just a single file so copy it to a new temp directory and attempt to load it*/ |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
779 gchar *temp_path, *temp_file; |
27207
1c1af7e226e5
Kill whitespace at the end of lines.
Paul Aurich <paul@darkrain42.org>
parents:
27203
diff
changeset
|
780 |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
781 temp_path = g_build_filename(purple_user_dir(), "themes", "temp", "sub_folder", NULL); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
782 |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
783 if (info->original_name != NULL) { |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
784 /* name was changed from the original (probably a dnd) change it back before loading */ |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
785 temp_file = g_build_filename(temp_path, info->original_name, NULL); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
786 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
787 } else { |
27208
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
788 gchar *source_name = g_path_get_basename(path); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
789 temp_file = g_build_filename(temp_path, source_name, NULL); |
27208
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
790 g_free(source_name); |
27207
1c1af7e226e5
Kill whitespace at the end of lines.
Paul Aurich <paul@darkrain42.org>
parents:
27203
diff
changeset
|
791 } |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
792 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
793 if (!g_file_test(temp_path, G_FILE_TEST_IS_DIR)) |
27208
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
794 purple_build_dir(temp_path, S_IRUSR | S_IWUSR | S_IXUSR); |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
795 |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
796 if (purple_theme_file_copy(path, temp_file)) { |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
797 /* find the theme, could be in subfolder */ |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
798 theme = prefs_theme_find_theme(temp_path, info->type); |
27208
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
799 |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
800 if (PURPLE_IS_THEME(theme)) { |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
801 gchar *theme_dest = g_build_filename(purple_user_dir(), "themes", |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
802 purple_theme_get_name(theme), |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
803 "purple", info->type, NULL); |
27208
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
804 |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
805 if(!g_file_test(theme_dest, G_FILE_TEST_IS_DIR)) |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
806 purple_build_dir(theme_dest, S_IRUSR | S_IWUSR | S_IXUSR); |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
807 |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
808 g_rename(purple_theme_get_dir(theme), theme_dest); |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
809 |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
810 g_free(theme_dest); |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
811 g_object_unref(theme); |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
812 |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
813 prefs_themes_refresh(); |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
814 } else { |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
815 g_remove(temp_path); |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
816 purple_notify_error(NULL, NULL, _("Theme failed to load."), NULL); |
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
817 } |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
818 } else { |
27208
9f2112ba6049
Update this to not use GIO, so it should build for poizon. Refs #8085.
Paul Aurich <paul@darkrain42.org>
parents:
27207
diff
changeset
|
819 purple_notify_error(NULL, NULL, _("Theme failed to copy."), NULL); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
820 } |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
821 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
822 g_free(temp_file); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
823 g_free(temp_path); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
824 } |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
825 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
826 g_free(destdir); |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
827 free_theme_info(info); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
828 } |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
829 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
830 static void |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
831 theme_got_url(PurpleUtilFetchUrlData *url_data, gpointer user_data, |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
832 const gchar *themedata, size_t len, const gchar *error_message) |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
833 { |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
834 FILE *f; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
835 gchar *path; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
836 size_t wc; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
837 |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
838 if ((error_message != NULL) || (len == 0)) { |
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
839 free_theme_info(user_data); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
840 return; |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
841 } |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
842 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
843 f = purple_mkstemp(&path, TRUE); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
844 wc = fwrite(themedata, len, 1, f); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
845 if (wc != 1) { |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
846 purple_debug_warning("theme_got_url", "Unable to write theme data.\n"); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
847 fclose(f); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
848 g_unlink(path); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
849 g_free(path); |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
850 free_theme_info(user_data); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
851 return; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
852 } |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
853 fclose(f); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
854 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
855 theme_install_theme(path, user_data); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
856 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
857 g_unlink(path); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
858 g_free(path); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
859 } |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
860 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
861 static void |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
862 theme_dnd_recv(GtkWidget *widget, GdkDragContext *dc, guint x, guint y, |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
863 GtkSelectionData *sd, guint info, guint t, gpointer user_data) |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
864 { |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
865 gchar *name = g_strchomp((gchar *)sd->data); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
866 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
867 if ((sd->length >= 0) && (sd->format == 8)) { |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
868 /* Well, it looks like the drag event was cool. |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
869 * Let's do something with it */ |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
870 gchar *temp; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
871 struct theme_info *info = g_new0(struct theme_info, 1); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
872 info->type = g_strdup((gchar *)user_data); |
27207
1c1af7e226e5
Kill whitespace at the end of lines.
Paul Aurich <paul@darkrain42.org>
parents:
27203
diff
changeset
|
873 info->extension = g_strdup(g_strrstr(name,".")); |
1c1af7e226e5
Kill whitespace at the end of lines.
Paul Aurich <paul@darkrain42.org>
parents:
27203
diff
changeset
|
874 temp = g_strrstr(name, "/"); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
875 info->original_name = temp ? g_strdup(++temp) : NULL; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
876 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
877 if (!g_ascii_strncasecmp(name, "file://", 7)) { |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
878 GError *converr = NULL; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
879 gchar *tmp; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
880 /* It looks like we're dealing with a local file. Let's |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
881 * just untar it in the right place */ |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
882 if(!(tmp = g_filename_from_uri(name, NULL, &converr))) { |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
883 purple_debug(PURPLE_DEBUG_ERROR, "theme dnd", "%s\n", |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
884 (converr ? converr->message : |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
885 "g_filename_from_uri error")); |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
886 free_theme_info(info); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
887 return; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
888 } |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
889 theme_install_theme(tmp, info); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
890 g_free(tmp); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
891 } else if (!g_ascii_strncasecmp(name, "http://", 7)) { |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
892 /* Oo, a web drag and drop. This is where things |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
893 * will start to get interesting */ |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
894 purple_util_fetch_url(name, TRUE, NULL, FALSE, theme_got_url, info); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
895 } else if (!g_ascii_strncasecmp(name, "https://", 8)) { |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
896 /* purple_util_fetch_url() doesn't support HTTPS, but we want users |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
897 * to be able to drag and drop links from the SF trackers, so |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
898 * we'll try it as an HTTP URL. */ |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
899 char *tmp = g_strdup(name + 1); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
900 tmp[0] = 'h'; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
901 tmp[1] = 't'; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
902 tmp[2] = 't'; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
903 tmp[3] = 'p'; |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
904 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
905 purple_util_fetch_url(tmp, TRUE, NULL, FALSE, theme_got_url, info); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
906 g_free(tmp); |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
907 } else |
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
908 free_theme_info(info); |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
909 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
910 gtk_drag_finish(dc, TRUE, FALSE, t); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
911 } |
27207
1c1af7e226e5
Kill whitespace at the end of lines.
Paul Aurich <paul@darkrain42.org>
parents:
27203
diff
changeset
|
912 |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
913 gtk_drag_finish(dc, FALSE, FALSE, t); |
25091
655a37bc0eb0
fixed images to appear in pref menu
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25088
diff
changeset
|
914 } |
655a37bc0eb0
fixed images to appear in pref menu
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25088
diff
changeset
|
915 |
25114
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
916 /* builds a theme combo box from a list store with colums: icon preview, markup, theme name */ |
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
917 static GtkWidget * |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
918 prefs_build_theme_combo_box(GtkListStore *store, const char *current_theme, const char *type) |
25114
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
919 { |
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
920 GtkCellRenderer *cell_rend; |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
921 GtkWidget *combo_box; |
28196
ba35d96b9440
Wordwrap just a little bit.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28195
diff
changeset
|
922 GtkTargetEntry te[3] = { |
ba35d96b9440
Wordwrap just a little bit.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28195
diff
changeset
|
923 {"text/plain", 0, 0}, |
ba35d96b9440
Wordwrap just a little bit.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28195
diff
changeset
|
924 {"text/uri-list", 0, 1}, |
ba35d96b9440
Wordwrap just a little bit.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28195
diff
changeset
|
925 {"STRING", 0, 2} |
ba35d96b9440
Wordwrap just a little bit.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28195
diff
changeset
|
926 }; |
25114
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
927 |
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
928 g_return_val_if_fail(store != NULL && current_theme != NULL, NULL); |
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
929 |
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
930 combo_box = gtk_combo_box_new_with_model(GTK_TREE_MODEL(store)); |
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
931 |
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
932 cell_rend = gtk_cell_renderer_pixbuf_new(); |
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
933 gtk_cell_renderer_set_fixed_size(cell_rend, PREFS_OPTIMAL_ICON_SIZE, PREFS_OPTIMAL_ICON_SIZE); |
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
934 gtk_cell_layout_pack_start(GTK_CELL_LAYOUT (combo_box), cell_rend, FALSE); |
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
935 gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(combo_box), cell_rend, "pixbuf", 0, NULL); |
25923
7fc110f70662
s/sucess/success/ in a few places
Mark Doliner <mark@kingant.net>
parents:
25910
diff
changeset
|
936 |
25114
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
937 cell_rend = gtk_cell_renderer_text_new(); |
29061
28714ff543cd
Expand and fill.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
29052
diff
changeset
|
938 gtk_cell_layout_pack_start(GTK_CELL_LAYOUT (combo_box), cell_rend, TRUE); |
25114
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
939 gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(combo_box), cell_rend, "markup", 1, NULL); |
29052
47aa24b2247c
Remove/comment on some GTK_CHECK_VERSION calls.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29038
diff
changeset
|
940 g_object_set(cell_rend, "ellipsize", PANGO_ELLIPSIZE_END, NULL); |
25923
7fc110f70662
s/sucess/success/ in a few places
Mark Doliner <mark@kingant.net>
parents:
25910
diff
changeset
|
941 |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
942 gtk_drag_dest_set(combo_box, GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_HIGHLIGHT | GTK_DEST_DEFAULT_DROP, te, |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
943 sizeof(te) / sizeof(GtkTargetEntry) , GDK_ACTION_COPY | GDK_ACTION_MOVE); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
944 |
28272
a21d3f8b4cf8
Plug some leaks.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28271
diff
changeset
|
945 g_signal_connect(G_OBJECT(combo_box), "drag_data_received", G_CALLBACK(theme_dnd_recv), (gpointer) type); |
25122
9525fb966efb
theme loader cleanup, and remove a few warnings
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25120
diff
changeset
|
946 |
25114
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
947 return combo_box; |
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
948 } |
2d419a0fc0e4
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25111
diff
changeset
|
949 |
25092
cf7625d4d7e0
Working sound themes (option 1) theme is saved in prefs and there is no seperate custom theme, everything
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25091
diff
changeset
|
950 /* sets the current sound theme */ |
cf7625d4d7e0
Working sound themes (option 1) theme is saved in prefs and there is no seperate custom theme, everything
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25091
diff
changeset
|
951 static void |
25104
2ccad3a8d9fe
fixed segfault when changing blist themes, changed prefs to not rely on static iter, fixed a few leaks
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25102
diff
changeset
|
952 prefs_set_sound_theme_cb(GtkComboBox *combo_box, gpointer user_data) |
25092
cf7625d4d7e0
Working sound themes (option 1) theme is saved in prefs and there is no seperate custom theme, everything
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25091
diff
changeset
|
953 { |
cf7625d4d7e0
Working sound themes (option 1) theme is saved in prefs and there is no seperate custom theme, everything
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25091
diff
changeset
|
954 gint i; |
cf7625d4d7e0
Working sound themes (option 1) theme is saved in prefs and there is no seperate custom theme, everything
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25091
diff
changeset
|
955 gchar *pref; |
25104
2ccad3a8d9fe
fixed segfault when changing blist themes, changed prefs to not rely on static iter, fixed a few leaks
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25102
diff
changeset
|
956 gchar *new_theme; |
2ccad3a8d9fe
fixed segfault when changing blist themes, changed prefs to not rely on static iter, fixed a few leaks
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25102
diff
changeset
|
957 GtkTreeIter new_iter; |
25923
7fc110f70662
s/sucess/success/ in a few places
Mark Doliner <mark@kingant.net>
parents:
25910
diff
changeset
|
958 |
28195
de93712181c1
Don't reset the sound theme pref if we're just loading the list of themes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27799
diff
changeset
|
959 if(gtk_combo_box_get_active_iter(combo_box, &new_iter) && !prefs_sound_themes_loading) { |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
960 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
961 gtk_tree_model_get(GTK_TREE_MODEL(prefs_sound_themes), &new_iter, 2, &new_theme, -1); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
962 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
963 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/sound/theme", new_theme); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
964 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
965 /* New theme removes all customization */ |
28271
1e5c4b386a2d
Mark theme prefs as translatable, refactor slightly for consistency and plug a small leak.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28225
diff
changeset
|
966 for(i = 0; i < PURPLE_NUM_SOUNDS; i++){ |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
967 pref = g_strdup_printf(PIDGIN_PREFS_ROOT "/sound/file/%s", |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
968 pidgin_sound_get_event_option(i)); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
969 purple_prefs_set_path(pref, ""); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
970 g_free(pref); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
971 } |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
972 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
973 /* gets rid of the "(Custom)" from the last selection */ |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
974 pref_sound_generate_markup(); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
975 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
976 gtk_entry_set_text(GTK_ENTRY(sound_entry), _("(default)")); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
977 |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
978 g_free(new_theme); |
25092
cf7625d4d7e0
Working sound themes (option 1) theme is saved in prefs and there is no seperate custom theme, everything
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25091
diff
changeset
|
979 } |
cf7625d4d7e0
Working sound themes (option 1) theme is saved in prefs and there is no seperate custom theme, everything
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25091
diff
changeset
|
980 } |
cf7625d4d7e0
Working sound themes (option 1) theme is saved in prefs and there is no seperate custom theme, everything
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25091
diff
changeset
|
981 |
28570
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
982 /* sets the current smiley theme */ |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
983 static void |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
984 prefs_set_smiley_theme_cb(GtkComboBox *combo_box, gpointer user_data) |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
985 { |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
986 gchar *new_theme; |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
987 GtkTreeIter new_iter; |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
988 |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
989 if (gtk_combo_box_get_active_iter(combo_box, &new_iter)) { |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
990 |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
991 gtk_tree_model_get(GTK_TREE_MODEL(prefs_smiley_themes), &new_iter, 2, &new_theme, -1); |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
992 |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
993 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/smileys/theme", new_theme); |
28816
77f2534b0cac
Re-themeize the sample GtkIMHtml entry in the prefs Conversations page when
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28815
diff
changeset
|
994 pidgin_themes_smiley_themeize(sample_imhtml); |
28570
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
995 |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
996 g_free(new_theme); |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
997 } |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
998 } |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
999 |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
1000 |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1001 /* Does same as normal sort, except "none" is sorted first */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1002 static gint pidgin_sort_smileys (GtkTreeModel *model, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1003 GtkTreeIter *a, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1004 GtkTreeIter *b, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1005 gpointer userdata) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1006 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1007 gint ret = 0; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1008 gchar *name1 = NULL, *name2 = NULL; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1009 |
28570
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
1010 gtk_tree_model_get(model, a, 2, &name1, -1); |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
1011 gtk_tree_model_get(model, b, 2, &name2, -1); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1012 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1013 if (name1 == NULL || name2 == NULL) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1014 if (!(name1 == NULL && name2 == NULL)) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1015 ret = (name1 == NULL) ? -1: 1; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1016 } else if (!g_ascii_strcasecmp(name1, "none")) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1017 if (!g_utf8_collate(name1, name2)) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1018 ret = 0; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1019 else |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1020 /* Sort name1 first */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1021 ret = -1; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1022 } else if (!g_ascii_strcasecmp(name2, "none")) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1023 /* Sort name2 first */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1024 ret = 1; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1025 } else { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1026 /* Neither string is "none", default to normal sort */ |
28570
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
1027 ret = purple_utf8_strcasecmp(name1, name2); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1028 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1029 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1030 g_free(name1); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1031 g_free(name2); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1032 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1033 return ret; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1034 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1035 |
28550
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1036 /* sets the current buddy list theme */ |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1037 static void |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1038 prefs_set_blist_theme_cb(GtkComboBox *combo_box, gpointer user_data) |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1039 { |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1040 PidginBlistTheme *theme = NULL; |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1041 GtkTreeIter iter; |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1042 gchar *name = NULL; |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1043 |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1044 if(gtk_combo_box_get_active_iter(combo_box, &iter)) { |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1045 |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1046 gtk_tree_model_get(GTK_TREE_MODEL(prefs_blist_themes), &iter, 2, &name, -1); |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1047 |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1048 if(!name || !g_str_equal(name, "")) |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1049 theme = PIDGIN_BLIST_THEME(purple_theme_manager_find_theme(name, "blist")); |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1050 |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1051 g_free(name); |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1052 |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1053 pidgin_blist_set_theme(theme); |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1054 } |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1055 } |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1056 |
32182
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
1057 /* sets the current conversation theme */ |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
1058 static void |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
1059 prefs_set_conv_theme_cb(GtkComboBox *combo_box, gpointer user_data) |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
1060 { |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
1061 PidginConvTheme *theme = NULL; |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
1062 GtkTreeIter iter; |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
1063 gchar *name = NULL; |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
1064 |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
1065 if (gtk_combo_box_get_active_iter(combo_box, &iter)) { |
32205
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1066 const GList *variants; |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1067 const char *current_variant; |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1068 gboolean unset = TRUE; |
32182
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
1069 |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
1070 gtk_tree_model_get(GTK_TREE_MODEL(prefs_conv_themes), &iter, 2, &name, -1); |
32205
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1071 if (!name || !*name) { |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1072 g_free(name); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1073 return; |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1074 } |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1075 |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1076 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/conversations/theme", name); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1077 |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1078 /* Update list of variants */ |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1079 gtk_list_store_clear(prefs_conv_variants); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1080 |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1081 theme = PIDGIN_CONV_THEME(purple_theme_manager_find_theme(name, "conversation")); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1082 current_variant = pidgin_conversation_theme_get_variant(theme); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1083 |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1084 variants = pidgin_conversation_theme_get_variants(theme); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1085 for (; variants && current_variant; variants = g_list_next(variants)) { |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1086 gtk_list_store_append(prefs_conv_variants, &iter); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1087 gtk_list_store_set(prefs_conv_variants, &iter, 0, variants->data, -1); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1088 |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1089 if (g_str_equal(variants->data, current_variant)) { |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1090 gtk_combo_box_set_active_iter(GTK_COMBO_BOX(prefs_conv_variants_combo_box), &iter); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1091 unset = FALSE; |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1092 } |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1093 } |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1094 |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1095 if (unset) |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1096 gtk_combo_box_set_active(GTK_COMBO_BOX(prefs_conv_variants_combo_box), 0); |
32182
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
1097 |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
1098 g_free(name); |
32205
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1099 } |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1100 } |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1101 |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1102 /* sets the current conversation theme variant */ |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1103 static void |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1104 prefs_set_conv_variant_cb(GtkComboBox *combo_box, gpointer user_data) |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1105 { |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1106 PidginConvTheme *theme = NULL; |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1107 GtkTreeIter iter; |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1108 gchar *name = NULL; |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1109 |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1110 if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(prefs_conv_themes_combo_box), &iter)) { |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1111 gtk_tree_model_get(GTK_TREE_MODEL(prefs_conv_themes), &iter, 2, &name, -1); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1112 theme = PIDGIN_CONV_THEME(purple_theme_manager_find_theme(name, "conversation")); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1113 g_free(name); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1114 |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1115 if (gtk_combo_box_get_active_iter(combo_box, &iter)) { |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1116 gtk_tree_model_get(GTK_TREE_MODEL(prefs_conv_variants), &iter, 0, &name, -1); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1117 pidgin_conversation_theme_set_variant(theme, name); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1118 g_free(name); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1119 } |
32182
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
1120 } |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
1121 } |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
1122 |
28550
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1123 /* sets the current icon theme */ |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1124 static void |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1125 prefs_set_status_icon_theme_cb(GtkComboBox *combo_box, gpointer user_data) |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1126 { |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1127 PidginStatusIconTheme *theme = NULL; |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1128 GtkTreeIter iter; |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1129 gchar *name = NULL; |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1130 |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1131 if(gtk_combo_box_get_active_iter(combo_box, &iter)) { |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1132 |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1133 gtk_tree_model_get(GTK_TREE_MODEL(prefs_status_icon_themes), &iter, 2, &name, -1); |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1134 |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1135 if(!name || !g_str_equal(name, "")) |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1136 theme = PIDGIN_STATUS_ICON_THEME(purple_theme_manager_find_theme(name, "status-icon")); |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1137 |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1138 g_free(name); |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1139 |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1140 pidgin_stock_load_status_icon_theme(theme); |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1141 pidgin_blist_refresh(purple_get_blist()); |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1142 } |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1143 } |
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1144 |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1145 static GtkWidget * |
30447
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1146 add_theme_prefs_combo(GtkWidget *vbox, |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1147 GtkSizeGroup *combo_sg, GtkSizeGroup *label_sg, |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1148 GtkListStore *theme_store, |
31086
a8cc50c2279f
Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents:
30575
diff
changeset
|
1149 GCallback combo_box_cb, gpointer combo_box_cb_user_data, |
30447
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1150 const char *label_str, const char *prefs_path, |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1151 const char *theme_type) |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1152 { |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1153 GtkWidget *label; |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1154 GtkWidget *combo_box = NULL; |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1155 GtkWidget *themesel_hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1156 |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1157 label = gtk_label_new(label_str); |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1158 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1159 gtk_size_group_add_widget(label_sg, label); |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1160 gtk_box_pack_start(GTK_BOX(themesel_hbox), label, FALSE, FALSE, 0); |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1161 |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1162 combo_box = prefs_build_theme_combo_box(theme_store, |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1163 purple_prefs_get_string(prefs_path), |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1164 theme_type); |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1165 g_signal_connect(G_OBJECT(combo_box), "changed", |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1166 (GCallback)combo_box_cb, combo_box_cb_user_data); |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1167 gtk_size_group_add_widget(combo_sg, combo_box); |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1168 gtk_box_pack_start(GTK_BOX(themesel_hbox), combo_box, TRUE, TRUE, 0); |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1169 |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1170 gtk_box_pack_start(GTK_BOX(vbox), themesel_hbox, FALSE, FALSE, 0); |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1171 |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1172 return combo_box; |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1173 } |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1174 |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1175 static GtkWidget * |
32205
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1176 add_child_theme_prefs_combo(GtkWidget *vbox, GtkSizeGroup *combo_sg, |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1177 GtkSizeGroup *label_sg, GtkListStore *theme_store, |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1178 GCallback combo_box_cb, gpointer combo_box_cb_user_data, |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1179 const char *label_str) |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1180 { |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1181 GtkWidget *label; |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1182 GtkWidget *combo_box; |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1183 GtkWidget *themesel_hbox; |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1184 GtkCellRenderer *cell_rend; |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1185 |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1186 themesel_hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1187 gtk_box_pack_start(GTK_BOX(vbox), themesel_hbox, FALSE, FALSE, 0); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1188 |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1189 label = gtk_label_new(label_str); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1190 gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1191 gtk_size_group_add_widget(label_sg, label); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1192 gtk_box_pack_start(GTK_BOX(themesel_hbox), label, FALSE, FALSE, 0); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1193 |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1194 combo_box = gtk_combo_box_new_with_model(GTK_TREE_MODEL(theme_store)); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1195 |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1196 cell_rend = gtk_cell_renderer_text_new(); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1197 gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combo_box), cell_rend, TRUE); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1198 gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(combo_box), cell_rend, "text", 0, NULL); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1199 g_object_set(cell_rend, "ellipsize", PANGO_ELLIPSIZE_END, NULL); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1200 |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1201 g_signal_connect(G_OBJECT(combo_box), "changed", |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1202 (GCallback)combo_box_cb, combo_box_cb_user_data); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1203 gtk_size_group_add_widget(combo_sg, combo_box); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1204 gtk_box_pack_start(GTK_BOX(themesel_hbox), combo_box, TRUE, TRUE, 0); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1205 |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1206 return combo_box; |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1207 } |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1208 |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1209 static GtkWidget * |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1210 theme_page(void) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1211 { |
30447
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1212 GtkWidget *label; |
28573
7e7023193316
Fix merge error
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28572
diff
changeset
|
1213 GtkWidget *ret, *vbox; |
28552
205086f45b2d
Use a couple size groups to make the buddy list and status icon theme selectors
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28551
diff
changeset
|
1214 GtkSizeGroup *label_sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
205086f45b2d
Use a couple size groups to make the buddy list and status icon theme selectors
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28551
diff
changeset
|
1215 GtkSizeGroup *combo_sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1216 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1217 ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1218 gtk_container_set_border_width (GTK_CONTAINER (ret), PIDGIN_HIG_BORDER); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1219 |
28568
ec5316033618
Make a frame for the combo box theme selectors and make the labels left-aligned
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28567
diff
changeset
|
1220 vbox = pidgin_make_frame(ret, _("Theme Selections")); |
ec5316033618
Make a frame for the combo box theme selectors and make the labels left-aligned
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28567
diff
changeset
|
1221 |
28570
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
1222 /* Instructions */ |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
1223 label = gtk_label_new(_("Select a theme that you would like to use from " |
28576
70ddeafbe185
Make the instructions wrap a bit nicer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28575
diff
changeset
|
1224 "the lists below.\nNew themes can be installed by " |
28570
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
1225 "dragging and dropping them onto the theme list.")); |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
1226 |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
1227 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
1228 gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_LEFT); |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
1229 |
28576
70ddeafbe185
Make the instructions wrap a bit nicer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28575
diff
changeset
|
1230 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, FALSE, 0); |
28570
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
1231 gtk_widget_show(label); |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
1232 |
28550
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1233 /* Buddy List Themes */ |
30447
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1234 prefs_blist_themes_combo_box = add_theme_prefs_combo( |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1235 vbox, combo_sg, label_sg, prefs_blist_themes, |
31086
a8cc50c2279f
Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents:
30575
diff
changeset
|
1236 (GCallback)prefs_set_blist_theme_cb, NULL, |
30447
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1237 _("Buddy List Theme:"), PIDGIN_PREFS_ROOT "/blist/theme", "blist"); |
28550
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1238 |
32182
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
1239 /* Conversation Themes */ |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
1240 prefs_conv_themes_combo_box = add_theme_prefs_combo( |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
1241 vbox, combo_sg, label_sg, prefs_conv_themes, |
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
1242 (GCallback)prefs_set_conv_theme_cb, NULL, |
32185
f857a6db3bd9
Use a consistent prefs name. It should be conversation*s* to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32184
diff
changeset
|
1243 _("Conversation Theme:"), PIDGIN_PREFS_ROOT "/conversations/theme", "conversation"); |
32182
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
1244 |
32205
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1245 /* Conversation Theme Variants */ |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1246 prefs_conv_variants_combo_box = add_child_theme_prefs_combo( |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1247 vbox, combo_sg, label_sg, prefs_conv_variants, |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1248 (GCallback)prefs_set_conv_variant_cb, NULL, _("\tVariant:")); |
305fc5850321
Add a separate combo box for selecting the theme variant, and actually
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32203
diff
changeset
|
1249 |
32211
fa4b88cf8b56
Sort the variant list in the Preferences. It tends to be very
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32205
diff
changeset
|
1250 gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(prefs_conv_variants), |
fa4b88cf8b56
Sort the variant list in the Preferences. It tends to be very
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32205
diff
changeset
|
1251 0, GTK_SORT_ASCENDING); |
fa4b88cf8b56
Sort the variant list in the Preferences. It tends to be very
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32205
diff
changeset
|
1252 |
28550
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1253 /* Status Icon Themes */ |
30447
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1254 prefs_status_themes_combo_box = add_theme_prefs_combo( |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1255 vbox, combo_sg, label_sg, prefs_status_icon_themes, |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1256 (GCallback)prefs_set_status_icon_theme_cb, NULL, |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1257 _("Status Icon Theme:"), PIDGIN_PREFS_ROOT "/status/icon-theme", "icon"); |
28550
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1258 |
28554
aae013ae7e1e
Move the sound theme selector to the Themes tab and make the smiley section
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28552
diff
changeset
|
1259 /* Sound Themes */ |
30447
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1260 prefs_sound_themes_combo_box = add_theme_prefs_combo( |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1261 vbox, combo_sg, label_sg, prefs_sound_themes, |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1262 (GCallback)prefs_set_sound_theme_cb, NULL, |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1263 _("Sound Theme:"), PIDGIN_PREFS_ROOT "/sound/theme", "sound"); |
28554
aae013ae7e1e
Move the sound theme selector to the Themes tab and make the smiley section
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28552
diff
changeset
|
1264 |
28550
be170630d071
Move the status icon and blist theme comboboxes to the Themes tab. This looks
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28549
diff
changeset
|
1265 /* Smiley Themes */ |
30447
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1266 prefs_smiley_themes_combo_box = add_theme_prefs_combo( |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1267 vbox, combo_sg, label_sg, prefs_smiley_themes, |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1268 (GCallback)prefs_set_smiley_theme_cb, NULL, |
dbca01e4c689
Reduce some code duplication in the Prefs dialog creation function.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30442
diff
changeset
|
1269 _("Smiley Theme:"), PIDGIN_PREFS_ROOT "/smileys/theme", "smiley"); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1270 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1271 /* Custom sort so "none" theme is at top of list */ |
28570
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
1272 gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(prefs_smiley_themes), |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
1273 2, pidgin_sort_smileys, NULL, NULL); |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
1274 gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(prefs_smiley_themes), |
97fcfefdbda7
Convert Smiley theme selection to the simpler combo box affair that's in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28566
diff
changeset
|
1275 2, GTK_SORT_ASCENDING); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1276 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1277 gtk_widget_show_all(ret); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1278 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1279 return ret; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1280 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1281 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1282 static void |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1283 formatting_toggle_cb(GtkIMHtml *imhtml, GtkIMHtmlButtons buttons, void *toolbar) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1284 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1285 gboolean bold, italic, uline; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1286 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1287 gtk_imhtml_get_current_format(GTK_IMHTML(imhtml), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1288 &bold, &italic, &uline); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1289 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1290 if (buttons & GTK_IMHTML_BOLD) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1291 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/conversations/send_bold", bold); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1292 if (buttons & GTK_IMHTML_ITALIC) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1293 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/conversations/send_italic", italic); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1294 if (buttons & GTK_IMHTML_UNDERLINE) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1295 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/conversations/send_underline", uline); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1296 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1297 if (buttons & GTK_IMHTML_GROW || buttons & GTK_IMHTML_SHRINK) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1298 purple_prefs_set_int(PIDGIN_PREFS_ROOT "/conversations/font_size", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1299 gtk_imhtml_get_current_fontsize(GTK_IMHTML(imhtml))); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1300 if (buttons & GTK_IMHTML_FACE) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1301 char *face = gtk_imhtml_get_current_fontface(GTK_IMHTML(imhtml)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1302 if (!face) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1303 face = g_strdup(""); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1304 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1305 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/conversations/font_face", face); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1306 g_free(face); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1307 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1308 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1309 if (buttons & GTK_IMHTML_FORECOLOR) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1310 char *color = gtk_imhtml_get_current_forecolor(GTK_IMHTML(imhtml)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1311 if (!color) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1312 color = g_strdup(""); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1313 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1314 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/conversations/fgcolor", color); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1315 g_free(color); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1316 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1317 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1318 if (buttons & GTK_IMHTML_BACKCOLOR) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1319 char *color; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1320 GObject *object; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1321 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1322 color = gtk_imhtml_get_current_backcolor(GTK_IMHTML(imhtml)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1323 if (!color) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1324 color = g_strdup(""); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1325 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1326 /* Block the signal to prevent a loop. */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1327 object = g_object_ref(G_OBJECT(imhtml)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1328 g_signal_handlers_block_matched(object, G_SIGNAL_MATCH_DATA, 0, 0, NULL, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1329 NULL, toolbar); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1330 /* Clear the backcolor. */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1331 gtk_imhtml_toggle_backcolor(GTK_IMHTML(imhtml), ""); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1332 /* Unblock the signal. */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1333 g_signal_handlers_unblock_matched(object, G_SIGNAL_MATCH_DATA, 0, 0, NULL, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1334 NULL, toolbar); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1335 g_object_unref(object); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1336 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1337 /* This will fire a toggle signal and get saved below. */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1338 gtk_imhtml_toggle_background(GTK_IMHTML(imhtml), color); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1339 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1340 g_free(color); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1341 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1342 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1343 if (buttons & GTK_IMHTML_BACKGROUND) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1344 char *color = gtk_imhtml_get_current_background(GTK_IMHTML(imhtml)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1345 if (!color) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1346 color = g_strdup(""); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1347 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1348 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/conversations/bgcolor", color); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1349 g_free(color); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1350 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1351 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1352 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1353 static void |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1354 formatting_clear_cb(GtkIMHtml *imhtml, void *data) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1355 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1356 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/conversations/send_bold", FALSE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1357 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/conversations/send_italic", FALSE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1358 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/conversations/send_underline", FALSE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1359 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1360 purple_prefs_set_int(PIDGIN_PREFS_ROOT "/conversations/font_size", 3); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1361 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1362 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/conversations/font_face", ""); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1363 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/conversations/fgcolor", ""); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1364 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/conversations/bgcolor", ""); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1365 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1366 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1367 static void |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1368 conversation_usetabs_cb(const char *name, PurplePrefType type, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1369 gconstpointer value, gpointer data) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1370 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1371 gboolean usetabs = GPOINTER_TO_INT(value); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1372 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1373 if (usetabs) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1374 gtk_widget_set_sensitive(GTK_WIDGET(data), TRUE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1375 else |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1376 gtk_widget_set_sensitive(GTK_WIDGET(data), FALSE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1377 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1378 |
22796
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1379 |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1380 #define CONVERSATION_CLOSE_ACCEL_PATH "<main>/Conversation/Close" |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1381 |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1382 /* Filled in in keyboard_shortcuts(). */ |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1383 static GtkAccelKey ctrl_w = { 0, 0, 0 }; |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1384 static GtkAccelKey escape = { 0, 0, 0 }; |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1385 |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1386 static guint escape_closes_conversation_cb_id = 0; |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1387 |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1388 static gboolean |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1389 accel_is_escape(GtkAccelKey *k) |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1390 { |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1391 return (k->accel_key == escape.accel_key |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1392 && k->accel_mods == escape.accel_mods); |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1393 } |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1394 |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1395 /* Update the tickybox in Preferences when the keybinding for Conversation -> |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1396 * Close is changed via Gtk. |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1397 */ |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1398 static void |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1399 conversation_close_accel_changed_cb (GtkAccelMap *object, |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1400 gchar *accel_path, |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1401 guint accel_key, |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1402 GdkModifierType accel_mods, |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1403 gpointer checkbox_) |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1404 { |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1405 GtkToggleButton *checkbox = GTK_TOGGLE_BUTTON(checkbox_); |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1406 GtkAccelKey new = { accel_key, accel_mods, 0 }; |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1407 |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1408 g_signal_handler_block(checkbox, escape_closes_conversation_cb_id); |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1409 gtk_toggle_button_set_active(checkbox, accel_is_escape(&new)); |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1410 g_signal_handler_unblock(checkbox, escape_closes_conversation_cb_id); |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1411 } |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1412 |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1413 |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1414 static void |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1415 escape_closes_conversation_cb(GtkWidget *w, |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1416 gpointer unused) |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1417 { |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1418 gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w)); |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1419 gboolean changed; |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1420 GtkAccelKey *new_key = active ? &escape : &ctrl_w; |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1421 |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1422 changed = gtk_accel_map_change_entry(CONVERSATION_CLOSE_ACCEL_PATH, |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1423 new_key->accel_key, new_key->accel_mods, TRUE); |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1424 |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1425 /* If another path is already bound to the new accelerator, |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1426 * _change_entry tries to delete that binding (because it was passed |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1427 * replace=TRUE). If that other path is locked, then _change_entry |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1428 * will fail. We don't ever lock any accelerator paths, so this case |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1429 * should never arise. |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1430 */ |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1431 if(!changed) |
22802
d2af1ee7448b
Replace a notification that should never happen with a debug message that
Richard Laager <rlaager@wiktel.com>
parents:
22796
diff
changeset
|
1432 purple_debug_warning("gtkprefs", "Escape accel failed to change\n"); |
22796
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1433 } |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1434 |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1435 |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1436 /* Creates preferences for keyboard shortcuts that it's hard to change with the |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1437 * standard Gtk accelerator-changing mechanism. |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1438 */ |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1439 static void |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1440 keyboard_shortcuts(GtkWidget *page) |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1441 { |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1442 GtkWidget *vbox = pidgin_make_frame(page, _("Keyboard Shortcuts")); |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1443 GtkWidget *checkbox; |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1444 GtkAccelKey current = { 0, 0, 0 }; |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1445 GtkAccelMap *map = gtk_accel_map_get(); |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1446 |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1447 /* Maybe it would be better just to hardcode the values? |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1448 * -- resiak, 2007-04-30 |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1449 */ |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1450 if (ctrl_w.accel_key == 0) |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1451 { |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1452 gtk_accelerator_parse ("<Control>w", &(ctrl_w.accel_key), |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1453 &(ctrl_w.accel_mods)); |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1454 g_assert(ctrl_w.accel_key != 0); |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1455 |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1456 gtk_accelerator_parse ("Escape", &(escape.accel_key), |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1457 &(escape.accel_mods)); |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1458 g_assert(escape.accel_key != 0); |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1459 } |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1460 |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1461 checkbox = gtk_check_button_new_with_mnemonic( |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1462 _("Cl_ose conversations with the Escape key")); |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1463 gtk_accel_map_lookup_entry(CONVERSATION_CLOSE_ACCEL_PATH, ¤t); |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1464 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbox), |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1465 accel_is_escape(¤t)); |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1466 |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1467 escape_closes_conversation_cb_id = g_signal_connect(checkbox, |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1468 "clicked", G_CALLBACK(escape_closes_conversation_cb), NULL); |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1469 |
22986
f6dc06ba2bf4
The checkbox needs to be toggled back on only when it's alive. And the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22835
diff
changeset
|
1470 g_signal_connect_object(map, "changed::" CONVERSATION_CLOSE_ACCEL_PATH, |
f6dc06ba2bf4
The checkbox needs to be toggled back on only when it's alive. And the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22835
diff
changeset
|
1471 G_CALLBACK(conversation_close_accel_changed_cb), checkbox, (GConnectFlags)0); |
22796
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1472 |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1473 gtk_box_pack_start(GTK_BOX(vbox), checkbox, FALSE, FALSE, 0); |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1474 } |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1475 |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1476 static GtkWidget * |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1477 interface_page(void) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1478 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1479 GtkWidget *ret; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1480 GtkWidget *vbox; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1481 GtkWidget *vbox2; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1482 GtkWidget *label; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1483 GtkSizeGroup *sg; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1484 GList *names = NULL; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1485 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1486 ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1487 gtk_container_set_border_width(GTK_CONTAINER(ret), PIDGIN_HIG_BORDER); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1488 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1489 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1490 |
25924
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
25923
diff
changeset
|
1491 /* System Tray */ |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1492 vbox = pidgin_make_frame(ret, _("System Tray Icon")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1493 label = pidgin_prefs_dropdown(vbox, _("_Show system tray icon:"), PURPLE_PREF_STRING, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1494 PIDGIN_PREFS_ROOT "/docklet/show", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1495 _("Always"), "always", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1496 _("On unread messages"), "pending", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1497 _("Never"), "never", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1498 NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1499 gtk_size_group_add_widget(sg, label); |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
1500 gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1501 |
27336
48b59f34b0f8
Rename the "Conversation Window Hiding" preferences section to "Conversation
Etan Reisner <pidgin@unreliablesource.net>
parents:
26991
diff
changeset
|
1502 vbox = pidgin_make_frame(ret, _("Conversation Window")); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1503 label = pidgin_prefs_dropdown(vbox, _("_Hide new IM conversations:"), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1504 PURPLE_PREF_STRING, PIDGIN_PREFS_ROOT "/conversations/im/hide_new", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1505 _("Never"), "never", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1506 _("When away"), "away", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1507 _("Always"), "always", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1508 NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1509 gtk_size_group_add_widget(sg, label); |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
1510 gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1511 |
27336
48b59f34b0f8
Rename the "Conversation Window Hiding" preferences section to "Conversation
Etan Reisner <pidgin@unreliablesource.net>
parents:
26991
diff
changeset
|
1512 #ifdef _WIN32 |
48b59f34b0f8
Rename the "Conversation Window Hiding" preferences section to "Conversation
Etan Reisner <pidgin@unreliablesource.net>
parents:
26991
diff
changeset
|
1513 pidgin_prefs_checkbox(_("Minimi_ze new conversation windows"), PIDGIN_PREFS_ROOT "/win32/minimize_new_convs", vbox); |
48b59f34b0f8
Rename the "Conversation Window Hiding" preferences section to "Conversation
Etan Reisner <pidgin@unreliablesource.net>
parents:
26991
diff
changeset
|
1514 #endif |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1515 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1516 /* All the tab options! */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1517 vbox = pidgin_make_frame(ret, _("Tabs")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1518 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1519 pidgin_prefs_checkbox(_("Show IMs and chats in _tabbed windows"), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1520 PIDGIN_PREFS_ROOT "/conversations/tabs", vbox); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1521 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1522 /* |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1523 * Connect a signal to the above preference. When conversations are not |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1524 * shown in a tabbed window then all tabbing options should be disabled. |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1525 */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1526 vbox2 = gtk_vbox_new(FALSE, 9); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1527 gtk_box_pack_start(GTK_BOX(vbox), vbox2, FALSE, FALSE, 0); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1528 purple_prefs_connect_callback(prefs, PIDGIN_PREFS_ROOT "/conversations/tabs", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1529 conversation_usetabs_cb, vbox2); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1530 if (!purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/conversations/tabs")) |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
1531 gtk_widget_set_sensitive(vbox2, FALSE); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1532 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1533 pidgin_prefs_checkbox(_("Show close b_utton on tabs"), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1534 PIDGIN_PREFS_ROOT "/conversations/close_on_tabs", vbox2); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1535 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1536 label = pidgin_prefs_dropdown(vbox2, _("_Placement:"), PURPLE_PREF_INT, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1537 PIDGIN_PREFS_ROOT "/conversations/tab_side", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1538 _("Top"), GTK_POS_TOP, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1539 _("Bottom"), GTK_POS_BOTTOM, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1540 _("Left"), GTK_POS_LEFT, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1541 _("Right"), GTK_POS_RIGHT, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1542 _("Left Vertical"), GTK_POS_LEFT|8, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1543 _("Right Vertical"), GTK_POS_RIGHT|8, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1544 NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1545 gtk_size_group_add_widget(sg, label); |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
1546 gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1547 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1548 names = pidgin_conv_placement_get_options(); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1549 label = pidgin_prefs_dropdown_from_list(vbox2, _("N_ew conversations:"), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1550 PURPLE_PREF_STRING, PIDGIN_PREFS_ROOT "/conversations/placement", names); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1551 gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1552 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1553 gtk_size_group_add_widget(sg, label); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1554 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1555 g_list_free(names); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1556 |
22796
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1557 keyboard_shortcuts(ret); |
7e28f2b64982
Add a tickybox to set the 'close conversation window' shortcut to Escape.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22287
diff
changeset
|
1558 |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1559 gtk_widget_show_all(ret); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1560 g_object_unref(sg); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1561 return ret; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1562 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1563 |
28588
afbf1c6210d7
Fix some stuff in the prefs dialog on Win32
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28585
diff
changeset
|
1564 #ifdef _WIN32 |
afbf1c6210d7
Fix some stuff in the prefs dialog on Win32
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28585
diff
changeset
|
1565 static void |
29038
f6cc97902049
Make the conversation text preview section dynamically update as the win32-only font override changes. Fixes #11168
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28818
diff
changeset
|
1566 apply_custom_font(void) |
f6cc97902049
Make the conversation text preview section dynamically update as the win32-only font override changes. Fixes #11168
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28818
diff
changeset
|
1567 { |
f6cc97902049
Make the conversation text preview section dynamically update as the win32-only font override changes. Fixes #11168
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28818
diff
changeset
|
1568 PangoFontDescription *desc = NULL; |
f6cc97902049
Make the conversation text preview section dynamically update as the win32-only font override changes. Fixes #11168
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28818
diff
changeset
|
1569 if (!purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/conversations/use_theme_font")) { |
f6cc97902049
Make the conversation text preview section dynamically update as the win32-only font override changes. Fixes #11168
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28818
diff
changeset
|
1570 const char *font = purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/custom_font"); |
f6cc97902049
Make the conversation text preview section dynamically update as the win32-only font override changes. Fixes #11168
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28818
diff
changeset
|
1571 desc = pango_font_description_from_string(font); |
f6cc97902049
Make the conversation text preview section dynamically update as the win32-only font override changes. Fixes #11168
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28818
diff
changeset
|
1572 } |
f6cc97902049
Make the conversation text preview section dynamically update as the win32-only font override changes. Fixes #11168
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28818
diff
changeset
|
1573 |
f6cc97902049
Make the conversation text preview section dynamically update as the win32-only font override changes. Fixes #11168
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28818
diff
changeset
|
1574 gtk_widget_modify_font(sample_imhtml, desc); |
f6cc97902049
Make the conversation text preview section dynamically update as the win32-only font override changes. Fixes #11168
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28818
diff
changeset
|
1575 if (desc) |
f6cc97902049
Make the conversation text preview section dynamically update as the win32-only font override changes. Fixes #11168
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28818
diff
changeset
|
1576 pango_font_description_free(desc); |
f6cc97902049
Make the conversation text preview section dynamically update as the win32-only font override changes. Fixes #11168
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28818
diff
changeset
|
1577 |
f6cc97902049
Make the conversation text preview section dynamically update as the win32-only font override changes. Fixes #11168
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28818
diff
changeset
|
1578 } |
f6cc97902049
Make the conversation text preview section dynamically update as the win32-only font override changes. Fixes #11168
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28818
diff
changeset
|
1579 static void |
28588
afbf1c6210d7
Fix some stuff in the prefs dialog on Win32
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28585
diff
changeset
|
1580 pidgin_custom_font_set(GtkFontButton *font_button, gpointer nul) |
afbf1c6210d7
Fix some stuff in the prefs dialog on Win32
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28585
diff
changeset
|
1581 { |
29038
f6cc97902049
Make the conversation text preview section dynamically update as the win32-only font override changes. Fixes #11168
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28818
diff
changeset
|
1582 |
28588
afbf1c6210d7
Fix some stuff in the prefs dialog on Win32
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28585
diff
changeset
|
1583 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/conversations/custom_font", |
29038
f6cc97902049
Make the conversation text preview section dynamically update as the win32-only font override changes. Fixes #11168
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28818
diff
changeset
|
1584 gtk_font_button_get_font_name(font_button)); |
f6cc97902049
Make the conversation text preview section dynamically update as the win32-only font override changes. Fixes #11168
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28818
diff
changeset
|
1585 |
f6cc97902049
Make the conversation text preview section dynamically update as the win32-only font override changes. Fixes #11168
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28818
diff
changeset
|
1586 apply_custom_font(); |
28588
afbf1c6210d7
Fix some stuff in the prefs dialog on Win32
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28585
diff
changeset
|
1587 } |
afbf1c6210d7
Fix some stuff in the prefs dialog on Win32
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28585
diff
changeset
|
1588 #endif |
afbf1c6210d7
Fix some stuff in the prefs dialog on Win32
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28585
diff
changeset
|
1589 |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1590 static GtkWidget * |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1591 conv_page(void) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1592 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1593 GtkWidget *ret; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1594 GtkWidget *vbox; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1595 GtkWidget *toolbar; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1596 GtkWidget *iconpref1; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1597 GtkWidget *iconpref2; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1598 GtkWidget *imhtml; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1599 GtkWidget *frame; |
31726
a8f62638417e
Make the max size of incoming smileys a pref instead of harcoding it. Patch from Xinef (with small modifications) Refs #5231
masca@cpw.pidgin.im
parents:
31682
diff
changeset
|
1600 GtkWidget *hbox; |
a8f62638417e
Make the max size of incoming smileys a pref instead of harcoding it. Patch from Xinef (with small modifications) Refs #5231
masca@cpw.pidgin.im
parents:
31682
diff
changeset
|
1601 GtkWidget *checkbox; |
a8f62638417e
Make the max size of incoming smileys a pref instead of harcoding it. Patch from Xinef (with small modifications) Refs #5231
masca@cpw.pidgin.im
parents:
31682
diff
changeset
|
1602 GtkWidget *spin_button; |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1603 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1604 ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1605 gtk_container_set_border_width(GTK_CONTAINER(ret), PIDGIN_HIG_BORDER); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1606 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1607 vbox = pidgin_make_frame(ret, _("Conversations")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1608 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1609 pidgin_prefs_checkbox(_("Show _formatting on incoming messages"), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1610 PIDGIN_PREFS_ROOT "/conversations/show_incoming_formatting", vbox); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1611 pidgin_prefs_checkbox(_("Close IMs immediately when the tab is closed"), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1612 PIDGIN_PREFS_ROOT "/conversations/im/close_immediately", vbox); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1613 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1614 iconpref1 = pidgin_prefs_checkbox(_("Show _detailed information"), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1615 PIDGIN_PREFS_ROOT "/conversations/im/show_buddy_icons", vbox); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1616 iconpref2 = pidgin_prefs_checkbox(_("Enable buddy ic_on animation"), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1617 PIDGIN_PREFS_ROOT "/conversations/im/animate_buddy_icons", vbox); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1618 if (!purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/conversations/im/show_buddy_icons")) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1619 gtk_widget_set_sensitive(iconpref2, FALSE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1620 g_signal_connect(G_OBJECT(iconpref1), "clicked", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1621 G_CALLBACK(pidgin_toggle_sensitive), iconpref2); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1622 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1623 pidgin_prefs_checkbox(_("_Notify buddies that you are typing to them"), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1624 "/purple/conversations/im/send_typing", vbox); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1625 #ifdef USE_GTKSPELL |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1626 pidgin_prefs_checkbox(_("Highlight _misspelled words"), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1627 PIDGIN_PREFS_ROOT "/conversations/spellcheck", vbox); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1628 #endif |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1629 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1630 pidgin_prefs_checkbox(_("Use smooth-scrolling"), PIDGIN_PREFS_ROOT "/conversations/use_smooth_scrolling", vbox); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1631 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1632 #ifdef _WIN32 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1633 pidgin_prefs_checkbox(_("F_lash window when IMs are received"), PIDGIN_PREFS_ROOT "/win32/blink_im", vbox); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1634 #endif |
31726
a8f62638417e
Make the max size of incoming smileys a pref instead of harcoding it. Patch from Xinef (with small modifications) Refs #5231
masca@cpw.pidgin.im
parents:
31682
diff
changeset
|
1635 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); |
a8f62638417e
Make the max size of incoming smileys a pref instead of harcoding it. Patch from Xinef (with small modifications) Refs #5231
masca@cpw.pidgin.im
parents:
31682
diff
changeset
|
1636 |
a8f62638417e
Make the max size of incoming smileys a pref instead of harcoding it. Patch from Xinef (with small modifications) Refs #5231
masca@cpw.pidgin.im
parents:
31682
diff
changeset
|
1637 checkbox = pidgin_prefs_checkbox(_("Resize incoming custom smileys"), |
a8f62638417e
Make the max size of incoming smileys a pref instead of harcoding it. Patch from Xinef (with small modifications) Refs #5231
masca@cpw.pidgin.im
parents:
31682
diff
changeset
|
1638 PIDGIN_PREFS_ROOT "/conversations/resize_custom_smileys", hbox); |
a8f62638417e
Make the max size of incoming smileys a pref instead of harcoding it. Patch from Xinef (with small modifications) Refs #5231
masca@cpw.pidgin.im
parents:
31682
diff
changeset
|
1639 |
a8f62638417e
Make the max size of incoming smileys a pref instead of harcoding it. Patch from Xinef (with small modifications) Refs #5231
masca@cpw.pidgin.im
parents:
31682
diff
changeset
|
1640 spin_button = pidgin_prefs_labeled_spin_button(hbox, |
a8f62638417e
Make the max size of incoming smileys a pref instead of harcoding it. Patch from Xinef (with small modifications) Refs #5231
masca@cpw.pidgin.im
parents:
31682
diff
changeset
|
1641 _("Maximum size:"), |
a8f62638417e
Make the max size of incoming smileys a pref instead of harcoding it. Patch from Xinef (with small modifications) Refs #5231
masca@cpw.pidgin.im
parents:
31682
diff
changeset
|
1642 PIDGIN_PREFS_ROOT "/conversations/custom_smileys_size", |
a8f62638417e
Make the max size of incoming smileys a pref instead of harcoding it. Patch from Xinef (with small modifications) Refs #5231
masca@cpw.pidgin.im
parents:
31682
diff
changeset
|
1643 16, 512, NULL); |
a8f62638417e
Make the max size of incoming smileys a pref instead of harcoding it. Patch from Xinef (with small modifications) Refs #5231
masca@cpw.pidgin.im
parents:
31682
diff
changeset
|
1644 |
a8f62638417e
Make the max size of incoming smileys a pref instead of harcoding it. Patch from Xinef (with small modifications) Refs #5231
masca@cpw.pidgin.im
parents:
31682
diff
changeset
|
1645 if (!purple_prefs_get_bool( |
a8f62638417e
Make the max size of incoming smileys a pref instead of harcoding it. Patch from Xinef (with small modifications) Refs #5231
masca@cpw.pidgin.im
parents:
31682
diff
changeset
|
1646 PIDGIN_PREFS_ROOT "/conversations/resize_custom_smileys")) |
a8f62638417e
Make the max size of incoming smileys a pref instead of harcoding it. Patch from Xinef (with small modifications) Refs #5231
masca@cpw.pidgin.im
parents:
31682
diff
changeset
|
1647 gtk_widget_set_sensitive(GTK_WIDGET(spin_button), FALSE); |
a8f62638417e
Make the max size of incoming smileys a pref instead of harcoding it. Patch from Xinef (with small modifications) Refs #5231
masca@cpw.pidgin.im
parents:
31682
diff
changeset
|
1648 |
a8f62638417e
Make the max size of incoming smileys a pref instead of harcoding it. Patch from Xinef (with small modifications) Refs #5231
masca@cpw.pidgin.im
parents:
31682
diff
changeset
|
1649 g_signal_connect(G_OBJECT(checkbox), "clicked", |
a8f62638417e
Make the max size of incoming smileys a pref instead of harcoding it. Patch from Xinef (with small modifications) Refs #5231
masca@cpw.pidgin.im
parents:
31682
diff
changeset
|
1650 G_CALLBACK(pidgin_toggle_sensitive), spin_button); |
a8f62638417e
Make the max size of incoming smileys a pref instead of harcoding it. Patch from Xinef (with small modifications) Refs #5231
masca@cpw.pidgin.im
parents:
31682
diff
changeset
|
1651 |
a8f62638417e
Make the max size of incoming smileys a pref instead of harcoding it. Patch from Xinef (with small modifications) Refs #5231
masca@cpw.pidgin.im
parents:
31682
diff
changeset
|
1652 pidgin_add_widget_to_vbox(GTK_BOX(vbox), NULL, NULL, hbox, TRUE, NULL); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1653 |
22826
958f9379eb1a
Add a "minimum lines" pref for the im entry box thing; up to 8 lines.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22802
diff
changeset
|
1654 pidgin_prefs_labeled_spin_button(vbox, |
22835
d2c7f183c08f
Change the label on the entry area height pref
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
22826
diff
changeset
|
1655 _("Minimum input area height in lines:"), |
22826
958f9379eb1a
Add a "minimum lines" pref for the im entry box thing; up to 8 lines.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22802
diff
changeset
|
1656 PIDGIN_PREFS_ROOT "/conversations/minimum_entry_lines", |
958f9379eb1a
Add a "minimum lines" pref for the im entry box thing; up to 8 lines.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22802
diff
changeset
|
1657 1, 8, NULL); |
958f9379eb1a
Add a "minimum lines" pref for the im entry box thing; up to 8 lines.
Will Thompson <will.thompson@collabora.co.uk>
parents:
22802
diff
changeset
|
1658 |
29319
eef381e831c6
Fix the Windows font pref for the new GTK version requirements.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
29318
diff
changeset
|
1659 #ifdef _WIN32 |
28588
afbf1c6210d7
Fix some stuff in the prefs dialog on Win32
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28585
diff
changeset
|
1660 { |
afbf1c6210d7
Fix some stuff in the prefs dialog on Win32
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28585
diff
changeset
|
1661 GtkWidget *fontpref, *font_button, *hbox; |
afbf1c6210d7
Fix some stuff in the prefs dialog on Win32
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28585
diff
changeset
|
1662 const char *font_name; |
28581
b027d1d97edb
I *think* this properly adds back the font preference stuff I axed earlier, but
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28580
diff
changeset
|
1663 vbox = pidgin_make_frame(ret, _("Font")); |
b027d1d97edb
I *think* this properly adds back the font preference stuff I axed earlier, but
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28580
diff
changeset
|
1664 |
b027d1d97edb
I *think* this properly adds back the font preference stuff I axed earlier, but
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28580
diff
changeset
|
1665 fontpref = pidgin_prefs_checkbox(_("Use font from _theme"), |
b027d1d97edb
I *think* this properly adds back the font preference stuff I axed earlier, but
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28580
diff
changeset
|
1666 PIDGIN_PREFS_ROOT "/conversations/use_theme_font", vbox); |
b027d1d97edb
I *think* this properly adds back the font preference stuff I axed earlier, but
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28580
diff
changeset
|
1667 |
b027d1d97edb
I *think* this properly adds back the font preference stuff I axed earlier, but
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28580
diff
changeset
|
1668 font_name = purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/custom_font"); |
b027d1d97edb
I *think* this properly adds back the font preference stuff I axed earlier, but
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28580
diff
changeset
|
1669 if ((font_name == NULL) || (*font_name == '\0')) { |
b027d1d97edb
I *think* this properly adds back the font preference stuff I axed earlier, but
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28580
diff
changeset
|
1670 font_button = gtk_font_button_new(); |
b027d1d97edb
I *think* this properly adds back the font preference stuff I axed earlier, but
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28580
diff
changeset
|
1671 } else { |
b027d1d97edb
I *think* this properly adds back the font preference stuff I axed earlier, but
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28580
diff
changeset
|
1672 font_button = gtk_font_button_new_with_font(font_name); |
b027d1d97edb
I *think* this properly adds back the font preference stuff I axed earlier, but
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28580
diff
changeset
|
1673 } |
b027d1d97edb
I *think* this properly adds back the font preference stuff I axed earlier, but
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28580
diff
changeset
|
1674 |
b027d1d97edb
I *think* this properly adds back the font preference stuff I axed earlier, but
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28580
diff
changeset
|
1675 gtk_font_button_set_show_style(GTK_FONT_BUTTON(font_button), TRUE); |
b027d1d97edb
I *think* this properly adds back the font preference stuff I axed earlier, but
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28580
diff
changeset
|
1676 hbox = pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("Conversation _font:"), NULL, font_button, FALSE, NULL); |
b027d1d97edb
I *think* this properly adds back the font preference stuff I axed earlier, but
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28580
diff
changeset
|
1677 if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/conversations/use_theme_font")) |
b027d1d97edb
I *think* this properly adds back the font preference stuff I axed earlier, but
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28580
diff
changeset
|
1678 gtk_widget_set_sensitive(hbox, FALSE); |
b027d1d97edb
I *think* this properly adds back the font preference stuff I axed earlier, but
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28580
diff
changeset
|
1679 g_signal_connect(G_OBJECT(fontpref), "clicked", G_CALLBACK(pidgin_toggle_sensitive), hbox); |
29038
f6cc97902049
Make the conversation text preview section dynamically update as the win32-only font override changes. Fixes #11168
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28818
diff
changeset
|
1680 g_signal_connect(G_OBJECT(fontpref), "clicked", G_CALLBACK(apply_custom_font), hbox); |
28581
b027d1d97edb
I *think* this properly adds back the font preference stuff I axed earlier, but
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28580
diff
changeset
|
1681 g_signal_connect(G_OBJECT(font_button), "font-set", G_CALLBACK(pidgin_custom_font_set), NULL); |
28588
afbf1c6210d7
Fix some stuff in the prefs dialog on Win32
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28585
diff
changeset
|
1682 |
afbf1c6210d7
Fix some stuff in the prefs dialog on Win32
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28585
diff
changeset
|
1683 } |
28581
b027d1d97edb
I *think* this properly adds back the font preference stuff I axed earlier, but
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28580
diff
changeset
|
1684 #endif |
b027d1d97edb
I *think* this properly adds back the font preference stuff I axed earlier, but
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28580
diff
changeset
|
1685 |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1686 vbox = pidgin_make_frame(ret, _("Default Formatting")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1687 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1688 frame = pidgin_create_imhtml(TRUE, &imhtml, &toolbar, NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1689 gtk_widget_show(frame); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1690 gtk_widget_set_name(imhtml, "pidgin_prefs_font_imhtml"); |
28596
bd4f23c22dc2
Prevent an infinite loop from the preference window.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
28590
diff
changeset
|
1691 gtk_widget_set_size_request(frame, 450, -1); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1692 gtk_imhtml_set_whole_buffer_formatting_only(GTK_IMHTML(imhtml), TRUE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1693 gtk_imhtml_set_format_functions(GTK_IMHTML(imhtml), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1694 GTK_IMHTML_BOLD | |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1695 GTK_IMHTML_ITALIC | |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1696 GTK_IMHTML_UNDERLINE | |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1697 GTK_IMHTML_GROW | |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1698 GTK_IMHTML_SHRINK | |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1699 GTK_IMHTML_FACE | |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1700 GTK_IMHTML_FORECOLOR | |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1701 GTK_IMHTML_BACKCOLOR | |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1702 GTK_IMHTML_BACKGROUND); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1703 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1704 gtk_imhtml_append_text(GTK_IMHTML(imhtml), _("This is how your outgoing message text will appear when you use protocols that support formatting."), 0); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1705 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1706 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1707 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1708 gtk_imhtml_setup_entry(GTK_IMHTML(imhtml), PURPLE_CONNECTION_HTML | PURPLE_CONNECTION_FORMATTING_WBFO); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1709 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1710 g_signal_connect_after(G_OBJECT(imhtml), "format_function_toggle", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1711 G_CALLBACK(formatting_toggle_cb), toolbar); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1712 g_signal_connect_after(G_OBJECT(imhtml), "format_function_clear", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1713 G_CALLBACK(formatting_clear_cb), NULL); |
28816
77f2534b0cac
Re-themeize the sample GtkIMHtml entry in the prefs Conversations page when
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28815
diff
changeset
|
1714 sample_imhtml = imhtml; |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1715 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1716 gtk_widget_show(ret); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1717 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1718 return ret; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1719 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1720 |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
1721 static void |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
1722 network_ip_changed(GtkEntry *entry, gpointer data) |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1723 { |
27235
5b20267a61d3
Change the background of the IP address input in the Network preferences to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27227
diff
changeset
|
1724 const gchar *text = gtk_entry_get_text(entry); |
5b20267a61d3
Change the background of the IP address input in the Network preferences to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27227
diff
changeset
|
1725 GdkColor color; |
5b20267a61d3
Change the background of the IP address input in the Network preferences to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27227
diff
changeset
|
1726 |
27276
df8d6f75535a
Don't colourize the IP entry field when it's empty, and reset the actual
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27275
diff
changeset
|
1727 if (text && *text) { |
df8d6f75535a
Don't colourize the IP entry field when it's empty, and reset the actual
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27275
diff
changeset
|
1728 if (purple_ip_address_is_valid(text)) { |
df8d6f75535a
Don't colourize the IP entry field when it's empty, and reset the actual
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27275
diff
changeset
|
1729 color.red = 0xAFFF; |
df8d6f75535a
Don't colourize the IP entry field when it's empty, and reset the actual
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27275
diff
changeset
|
1730 color.green = 0xFFFF; |
df8d6f75535a
Don't colourize the IP entry field when it's empty, and reset the actual
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27275
diff
changeset
|
1731 color.blue = 0xAFFF; |
df8d6f75535a
Don't colourize the IP entry field when it's empty, and reset the actual
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27275
diff
changeset
|
1732 |
df8d6f75535a
Don't colourize the IP entry field when it's empty, and reset the actual
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27275
diff
changeset
|
1733 purple_network_set_public_ip(text); |
df8d6f75535a
Don't colourize the IP entry field when it's empty, and reset the actual
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27275
diff
changeset
|
1734 } else { |
df8d6f75535a
Don't colourize the IP entry field when it's empty, and reset the actual
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27275
diff
changeset
|
1735 color.red = 0xFFFF; |
df8d6f75535a
Don't colourize the IP entry field when it's empty, and reset the actual
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27275
diff
changeset
|
1736 color.green = 0xAFFF; |
df8d6f75535a
Don't colourize the IP entry field when it's empty, and reset the actual
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27275
diff
changeset
|
1737 color.blue = 0xAFFF; |
df8d6f75535a
Don't colourize the IP entry field when it's empty, and reset the actual
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27275
diff
changeset
|
1738 } |
df8d6f75535a
Don't colourize the IP entry field when it's empty, and reset the actual
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27275
diff
changeset
|
1739 |
df8d6f75535a
Don't colourize the IP entry field when it's empty, and reset the actual
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27275
diff
changeset
|
1740 gtk_widget_modify_base(GTK_WIDGET(entry), GTK_STATE_NORMAL, &color); |
df8d6f75535a
Don't colourize the IP entry field when it's empty, and reset the actual
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27275
diff
changeset
|
1741 |
df8d6f75535a
Don't colourize the IP entry field when it's empty, and reset the actual
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27275
diff
changeset
|
1742 } else { |
df8d6f75535a
Don't colourize the IP entry field when it's empty, and reset the actual
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27275
diff
changeset
|
1743 purple_network_set_public_ip(""); |
df8d6f75535a
Don't colourize the IP entry field when it's empty, and reset the actual
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27275
diff
changeset
|
1744 gtk_widget_modify_base(GTK_WIDGET(entry), GTK_STATE_NORMAL, NULL); |
27235
5b20267a61d3
Change the background of the IP address input in the Network preferences to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27227
diff
changeset
|
1745 } |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1746 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1747 |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
1748 static gboolean |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
1749 network_stun_server_changed_cb(GtkWidget *widget, |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
1750 GdkEventFocus *event, gpointer data) |
26050
ae3d25465d0f
Run an asynchronous DNS lookup for the STUN server IP (to set as a property
Marcus Lundblad <ml@update.uu.se>
parents:
26020
diff
changeset
|
1751 { |
ae3d25465d0f
Run an asynchronous DNS lookup for the STUN server IP (to set as a property
Marcus Lundblad <ml@update.uu.se>
parents:
26020
diff
changeset
|
1752 GtkEntry *entry = GTK_ENTRY(widget); |
ae3d25465d0f
Run an asynchronous DNS lookup for the STUN server IP (to set as a property
Marcus Lundblad <ml@update.uu.se>
parents:
26020
diff
changeset
|
1753 purple_prefs_set_string("/purple/network/stun_server", |
ae3d25465d0f
Run an asynchronous DNS lookup for the STUN server IP (to set as a property
Marcus Lundblad <ml@update.uu.se>
parents:
26020
diff
changeset
|
1754 gtk_entry_get_text(entry)); |
ae3d25465d0f
Run an asynchronous DNS lookup for the STUN server IP (to set as a property
Marcus Lundblad <ml@update.uu.se>
parents:
26020
diff
changeset
|
1755 purple_network_set_stun_server(gtk_entry_get_text(entry)); |
27207
1c1af7e226e5
Kill whitespace at the end of lines.
Paul Aurich <paul@darkrain42.org>
parents:
27203
diff
changeset
|
1756 |
26050
ae3d25465d0f
Run an asynchronous DNS lookup for the STUN server IP (to set as a property
Marcus Lundblad <ml@update.uu.se>
parents:
26020
diff
changeset
|
1757 return FALSE; |
ae3d25465d0f
Run an asynchronous DNS lookup for the STUN server IP (to set as a property
Marcus Lundblad <ml@update.uu.se>
parents:
26020
diff
changeset
|
1758 } |
ae3d25465d0f
Run an asynchronous DNS lookup for the STUN server IP (to set as a property
Marcus Lundblad <ml@update.uu.se>
parents:
26020
diff
changeset
|
1759 |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
1760 static gboolean |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
1761 network_turn_server_changed_cb(GtkWidget *widget, |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
1762 GdkEventFocus *event, gpointer data) |
26055
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
1763 { |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
1764 GtkEntry *entry = GTK_ENTRY(widget); |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
1765 purple_prefs_set_string("/purple/network/turn_server", |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
1766 gtk_entry_get_text(entry)); |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
1767 purple_network_set_turn_server(gtk_entry_get_text(entry)); |
27207
1c1af7e226e5
Kill whitespace at the end of lines.
Paul Aurich <paul@darkrain42.org>
parents:
27203
diff
changeset
|
1768 |
26055
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
1769 return FALSE; |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
1770 } |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
1771 |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1772 static void |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1773 proxy_changed_cb(const char *name, PurplePrefType type, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1774 gconstpointer value, gpointer data) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1775 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1776 GtkWidget *frame = data; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1777 const char *proxy = value; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1778 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1779 if (strcmp(proxy, "none") && strcmp(proxy, "envvar")) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1780 gtk_widget_show_all(frame); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1781 else |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1782 gtk_widget_hide(frame); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1783 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1784 |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
1785 static void |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
1786 proxy_print_option(GtkEntry *entry, int entrynum) |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1787 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1788 if (entrynum == PROXYHOST) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1789 purple_prefs_set_string("/purple/proxy/host", gtk_entry_get_text(entry)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1790 else if (entrynum == PROXYPORT) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1791 purple_prefs_set_int("/purple/proxy/port", atoi(gtk_entry_get_text(entry))); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1792 else if (entrynum == PROXYUSER) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1793 purple_prefs_set_string("/purple/proxy/username", gtk_entry_get_text(entry)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1794 else if (entrynum == PROXYPASS) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1795 purple_prefs_set_string("/purple/proxy/password", gtk_entry_get_text(entry)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1796 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1797 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1798 static void |
28578
ab538f3edcce
In GNOME 2.26, the program gnome-network-preferences was renamed to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28577
diff
changeset
|
1799 proxy_button_clicked_cb(GtkWidget *button, gchar *program) |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1800 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1801 GError *err = NULL; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1802 |
28578
ab538f3edcce
In GNOME 2.26, the program gnome-network-preferences was renamed to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28577
diff
changeset
|
1803 if (g_spawn_command_line_async(program, &err)) |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1804 return; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1805 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1806 purple_notify_error(NULL, NULL, _("Cannot start proxy configuration program."), err->message); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1807 g_error_free(err); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1808 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1809 |
28588
afbf1c6210d7
Fix some stuff in the prefs dialog on Win32
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28585
diff
changeset
|
1810 #ifndef _WIN32 |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1811 static void |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1812 browser_button_clicked_cb(GtkWidget *button, gpointer null) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1813 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1814 GError *err = NULL; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1815 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1816 if (g_spawn_command_line_async ("gnome-default-applications-properties", &err)) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1817 return; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1818 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1819 purple_notify_error(NULL, NULL, _("Cannot start browser configuration program."), err->message); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1820 g_error_free(err); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1821 } |
28588
afbf1c6210d7
Fix some stuff in the prefs dialog on Win32
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28585
diff
changeset
|
1822 #endif |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1823 |
28223
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1824 static void |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1825 auto_ip_button_clicked_cb(GtkWidget *button, gpointer null) |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1826 { |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1827 const char *ip; |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1828 PurpleStunNatDiscovery *stun; |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1829 char *auto_ip_text; |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1830 |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1831 /* purple_network_get_my_ip will return the IP that was set by the user with |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1832 purple_network_set_public_ip, so make a lookup for the auto-detected IP |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1833 ourselves. */ |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1834 |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1835 if (purple_prefs_get_bool("/purple/network/auto_ip")) { |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1836 /* Check if STUN discovery was already done */ |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1837 stun = purple_stun_discover(NULL); |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1838 if ((stun != NULL) && (stun->status == PURPLE_STUN_STATUS_DISCOVERED)) { |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1839 ip = stun->publicip; |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1840 } else { |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1841 /* Attempt to get the IP from a NAT device using UPnP */ |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1842 ip = purple_upnp_get_public_ip(); |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1843 if (ip == NULL) { |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1844 /* Attempt to get the IP from a NAT device using NAT-PMP */ |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1845 ip = purple_pmp_get_public_ip(); |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1846 if (ip == NULL) { |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1847 /* Just fetch the IP of the local system */ |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1848 ip = purple_network_get_local_system_ip(-1); |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1849 } |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1850 } |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1851 } |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1852 } |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1853 else |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1854 ip = _("Disabled"); |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1855 |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1856 auto_ip_text = g_strdup_printf(_("Use _automatically detected IP address: %s"), ip); |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1857 gtk_button_set_label(GTK_BUTTON(button), auto_ip_text); |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1858 g_free(auto_ip_text); |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1859 } |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1860 |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1861 static GtkWidget * |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1862 network_page(void) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1863 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1864 GtkWidget *ret; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1865 GtkWidget *vbox, *hbox, *entry; |
28225
3b39438509c7
Fix minor warning
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28224
diff
changeset
|
1866 GtkWidget *label, *auto_ip_checkbox, *ports_checkbox, *spin_button; |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1867 GtkSizeGroup *sg; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1868 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1869 ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1870 gtk_container_set_border_width (GTK_CONTAINER (ret), PIDGIN_HIG_BORDER); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1871 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1872 vbox = pidgin_make_frame (ret, _("IP Address")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1873 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
26050
ae3d25465d0f
Run an asynchronous DNS lookup for the STUN server IP (to set as a property
Marcus Lundblad <ml@update.uu.se>
parents:
26020
diff
changeset
|
1874 |
ae3d25465d0f
Run an asynchronous DNS lookup for the STUN server IP (to set as a property
Marcus Lundblad <ml@update.uu.se>
parents:
26020
diff
changeset
|
1875 entry = gtk_entry_new(); |
26130
1ae8629f29dc
Fix up the network preference window.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26113
diff
changeset
|
1876 gtk_entry_set_text(GTK_ENTRY(entry), purple_prefs_get_string( |
1ae8629f29dc
Fix up the network preference window.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26113
diff
changeset
|
1877 "/purple/network/stun_server")); |
26050
ae3d25465d0f
Run an asynchronous DNS lookup for the STUN server IP (to set as a property
Marcus Lundblad <ml@update.uu.se>
parents:
26020
diff
changeset
|
1878 g_signal_connect(G_OBJECT(entry), "focus-out-event", |
26130
1ae8629f29dc
Fix up the network preference window.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26113
diff
changeset
|
1879 G_CALLBACK(network_stun_server_changed_cb), NULL); |
1ae8629f29dc
Fix up the network preference window.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26113
diff
changeset
|
1880 gtk_widget_show(entry); |
1ae8629f29dc
Fix up the network preference window.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26113
diff
changeset
|
1881 |
28331
11c98889d0a6
Mark "STUN server:" for translation.
Paul Aurich <paul@darkrain42.org>
parents:
28272
diff
changeset
|
1882 pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("ST_UN server:"), |
26130
1ae8629f29dc
Fix up the network preference window.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26113
diff
changeset
|
1883 sg, entry, TRUE, NULL); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1884 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1885 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1886 gtk_container_add(GTK_CONTAINER(vbox), hbox); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1887 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1888 label = gtk_label_new(NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1889 gtk_container_add(GTK_CONTAINER(hbox), label); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1890 gtk_size_group_add_widget(sg, label); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1891 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1892 label = gtk_label_new(NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1893 gtk_label_set_markup(GTK_LABEL(label), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1894 _("<span style=\"italic\">Example: stunserver.org</span>")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1895 gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1896 gtk_container_add(GTK_CONTAINER(hbox), label); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1897 |
28223
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1898 auto_ip_checkbox = pidgin_prefs_checkbox("Use _automatically detected IP address", |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1899 "/purple/network/auto_ip", vbox); |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1900 g_signal_connect(G_OBJECT(auto_ip_checkbox), "clicked", |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1901 G_CALLBACK(auto_ip_button_clicked_cb), NULL); |
144295e8f69f
Don't do IP discovery if the automatic IP detection pref is disabled, even
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28207
diff
changeset
|
1902 auto_ip_button_clicked_cb(auto_ip_checkbox, NULL); /* Update label */ |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1903 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1904 entry = gtk_entry_new(); |
28224
f4ab1c919546
I don't see why the Public IP entry needs to be different and use a Table
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28223
diff
changeset
|
1905 gtk_entry_set_text(GTK_ENTRY(entry), purple_network_get_public_ip()); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1906 g_signal_connect(G_OBJECT(entry), "changed", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1907 G_CALLBACK(network_ip_changed), NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1908 |
28224
f4ab1c919546
I don't see why the Public IP entry needs to be different and use a Table
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28223
diff
changeset
|
1909 hbox = pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("Public _IP:"), |
f4ab1c919546
I don't see why the Public IP entry needs to be different and use a Table
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28223
diff
changeset
|
1910 sg, entry, TRUE, NULL); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1911 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1912 if (purple_prefs_get_bool("/purple/network/auto_ip")) { |
28224
f4ab1c919546
I don't see why the Public IP entry needs to be different and use a Table
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28223
diff
changeset
|
1913 gtk_widget_set_sensitive(GTK_WIDGET(hbox), FALSE); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1914 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1915 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1916 g_signal_connect(G_OBJECT(auto_ip_checkbox), "clicked", |
28224
f4ab1c919546
I don't see why the Public IP entry needs to be different and use a Table
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28223
diff
changeset
|
1917 G_CALLBACK(pidgin_toggle_sensitive), hbox); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1918 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1919 g_object_unref(sg); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1920 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1921 vbox = pidgin_make_frame (ret, _("Ports")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1922 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1923 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1924 pidgin_prefs_checkbox(_("_Enable automatic router port forwarding"), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1925 "/purple/network/map_ports", vbox); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1926 |
28480
312723475233
Per discussion in devel@conference.pidgin.im a couple days ago, make the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28428
diff
changeset
|
1927 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); |
312723475233
Per discussion in devel@conference.pidgin.im a couple days ago, make the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28428
diff
changeset
|
1928 |
312723475233
Per discussion in devel@conference.pidgin.im a couple days ago, make the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28428
diff
changeset
|
1929 ports_checkbox = pidgin_prefs_checkbox(_("_Manually specify range of ports to listen on:"), |
312723475233
Per discussion in devel@conference.pidgin.im a couple days ago, make the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28428
diff
changeset
|
1930 "/purple/network/ports_range_use", hbox); |
312723475233
Per discussion in devel@conference.pidgin.im a couple days ago, make the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28428
diff
changeset
|
1931 |
312723475233
Per discussion in devel@conference.pidgin.im a couple days ago, make the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28428
diff
changeset
|
1932 spin_button = pidgin_prefs_labeled_spin_button(hbox, _("_Start:"), |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1933 "/purple/network/ports_range_start", 0, 65535, sg); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1934 if (!purple_prefs_get_bool("/purple/network/ports_range_use")) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1935 gtk_widget_set_sensitive(GTK_WIDGET(spin_button), FALSE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1936 g_signal_connect(G_OBJECT(ports_checkbox), "clicked", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1937 G_CALLBACK(pidgin_toggle_sensitive), spin_button); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1938 |
28480
312723475233
Per discussion in devel@conference.pidgin.im a couple days ago, make the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28428
diff
changeset
|
1939 spin_button = pidgin_prefs_labeled_spin_button(hbox, _("_End:"), |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1940 "/purple/network/ports_range_end", 0, 65535, sg); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1941 if (!purple_prefs_get_bool("/purple/network/ports_range_use")) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1942 gtk_widget_set_sensitive(GTK_WIDGET(spin_button), FALSE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1943 g_signal_connect(G_OBJECT(ports_checkbox), "clicked", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1944 G_CALLBACK(pidgin_toggle_sensitive), spin_button); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1945 |
28480
312723475233
Per discussion in devel@conference.pidgin.im a couple days ago, make the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28428
diff
changeset
|
1946 pidgin_add_widget_to_vbox(GTK_BOX(vbox), NULL, NULL, hbox, TRUE, NULL); |
312723475233
Per discussion in devel@conference.pidgin.im a couple days ago, make the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28428
diff
changeset
|
1947 |
26130
1ae8629f29dc
Fix up the network preference window.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26113
diff
changeset
|
1948 g_object_unref(sg); |
26055
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
1949 |
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
1950 /* TURN server */ |
26130
1ae8629f29dc
Fix up the network preference window.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26113
diff
changeset
|
1951 vbox = pidgin_make_frame(ret, _("Relay Server (TURN)")); |
26055
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
1952 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
26130
1ae8629f29dc
Fix up the network preference window.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26113
diff
changeset
|
1953 |
26055
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
1954 entry = gtk_entry_new(); |
26130
1ae8629f29dc
Fix up the network preference window.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26113
diff
changeset
|
1955 gtk_entry_set_text(GTK_ENTRY(entry), purple_prefs_get_string( |
1ae8629f29dc
Fix up the network preference window.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26113
diff
changeset
|
1956 "/purple/network/turn_server")); |
26055
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
1957 g_signal_connect(G_OBJECT(entry), "focus-out-event", |
26130
1ae8629f29dc
Fix up the network preference window.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26113
diff
changeset
|
1958 G_CALLBACK(network_turn_server_changed_cb), NULL); |
1ae8629f29dc
Fix up the network preference window.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26113
diff
changeset
|
1959 gtk_widget_show(entry); |
1ae8629f29dc
Fix up the network preference window.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26113
diff
changeset
|
1960 |
28198
18d299472a97
Mark some "TURN server" strings for translation.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28196
diff
changeset
|
1961 hbox = pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("_TURN server:"), |
26130
1ae8629f29dc
Fix up the network preference window.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26113
diff
changeset
|
1962 sg, entry, TRUE, NULL); |
31086
a8cc50c2279f
Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents:
30575
diff
changeset
|
1963 |
30469
195d034b6cfe
Removed the TCP and TLS TURN relaying options since libnice currently only supports these in Google mode. Added a note about this in fs-backend.c and changed the prefs label to read "UDP Port"
Marcus Lundblad <ml@update.uu.se>
parents:
30447
diff
changeset
|
1964 pidgin_prefs_labeled_spin_button(hbox, _("_UDP Port:"), |
26130
1ae8629f29dc
Fix up the network preference window.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26113
diff
changeset
|
1965 "/purple/network/turn_port", 0, 65535, NULL); |
30469
195d034b6cfe
Removed the TCP and TLS TURN relaying options since libnice currently only supports these in Google mode. Added a note about this in fs-backend.c and changed the prefs label to read "UDP Port"
Marcus Lundblad <ml@update.uu.se>
parents:
30447
diff
changeset
|
1966 |
31625
8b434ffd4efc
Add support for using TCP relaying with TURN
Marcus Lundblad <ml@update.uu.se>
parents:
31478
diff
changeset
|
1967 pidgin_prefs_labeled_spin_button(hbox, _("T_CP Port:"), |
8b434ffd4efc
Add support for using TCP relaying with TURN
Marcus Lundblad <ml@update.uu.se>
parents:
31478
diff
changeset
|
1968 "/purple/network/turn_port_tcp", 0, 65535, NULL); |
8b434ffd4efc
Add support for using TCP relaying with TURN
Marcus Lundblad <ml@update.uu.se>
parents:
31478
diff
changeset
|
1969 |
28485
532307346255
Fix the accelerators on the Network tab. Have I mentioned recently that I hate
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28484
diff
changeset
|
1970 hbox = pidgin_prefs_labeled_entry(vbox, _("Use_rname:"), |
26055
c56e8826fed0
Added support to generate relayed candidates (TURN).
Marcus Lundblad <ml@update.uu.se>
parents:
26050
diff
changeset
|
1971 "/purple/network/turn_username", sg); |
28485
532307346255
Fix the accelerators on the Network tab. Have I mentioned recently that I hate
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28484
diff
changeset
|
1972 pidgin_prefs_labeled_password(hbox, _("Pass_word:"), |
26130
1ae8629f29dc
Fix up the network preference window.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26113
diff
changeset
|
1973 "/purple/network/turn_password", NULL); |
1ae8629f29dc
Fix up the network preference window.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26113
diff
changeset
|
1974 |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1975 gtk_widget_show_all(ret); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1976 g_object_unref(sg); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1977 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1978 return ret; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1979 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1980 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1981 #ifndef _WIN32 |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
1982 static gboolean |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
1983 manual_browser_set(GtkWidget *entry, GdkEventFocus *event, gpointer data) |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
1984 { |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1985 const char *program = gtk_entry_get_text(GTK_ENTRY(entry)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1986 |
30569
70d8e2e71552
I thought I had done this in my last commit. Clearly I'm an idiot. This fixes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30567
diff
changeset
|
1987 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/browsers/manual_command", program); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1988 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1989 /* carry on normally */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1990 return FALSE; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1991 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1992 |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
1993 static GList * |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
1994 get_available_browsers(void) |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1995 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1996 struct browser { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1997 char *name; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1998 char *command; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
1999 }; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2000 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2001 /* Sorted reverse alphabetically */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2002 static const struct browser possible_browsers[] = { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2003 {N_("Seamonkey"), "seamonkey"}, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2004 {N_("Opera"), "opera"}, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2005 {N_("Netscape"), "netscape"}, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2006 {N_("Mozilla"), "mozilla"}, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2007 {N_("Konqueror"), "kfmclient"}, |
30556
0dc6c4be763d
Modernize the list of browsers a bit by adding Google Chrome and Chromium to
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30469
diff
changeset
|
2008 {N_("Google Chrome"), "google-chrome"}, |
0dc6c4be763d
Modernize the list of browsers a bit by adding Google Chrome and Chromium to
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30469
diff
changeset
|
2009 /* Do not move the line below. Code below expects gnome-open to be in |
0dc6c4be763d
Modernize the list of browsers a bit by adding Google Chrome and Chromium to
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30469
diff
changeset
|
2010 * this list immediately after xdg-open! */ |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2011 {N_("Desktop Default"), "xdg-open"}, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2012 {N_("GNOME Default"), "gnome-open"}, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2013 {N_("Galeon"), "galeon"}, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2014 {N_("Firefox"), "firefox"}, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2015 {N_("Firebird"), "mozilla-firebird"}, |
30556
0dc6c4be763d
Modernize the list of browsers a bit by adding Google Chrome and Chromium to
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30469
diff
changeset
|
2016 {N_("Epiphany"), "epiphany"}, |
0dc6c4be763d
Modernize the list of browsers a bit by adding Google Chrome and Chromium to
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30469
diff
changeset
|
2017 /* Translators: please do not translate "chromium-browser" here! */ |
0dc6c4be763d
Modernize the list of browsers a bit by adding Google Chrome and Chromium to
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30469
diff
changeset
|
2018 {N_("Chromium (chromium-browser)"), "chromium-browser"}, |
0dc6c4be763d
Modernize the list of browsers a bit by adding Google Chrome and Chromium to
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30469
diff
changeset
|
2019 /* Translators: please do not translate "chrome" here! */ |
0dc6c4be763d
Modernize the list of browsers a bit by adding Google Chrome and Chromium to
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30469
diff
changeset
|
2020 {N_("Chromium (chrome)"), "chrome"} |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2021 }; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2022 static const int num_possible_browsers = G_N_ELEMENTS(possible_browsers); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2023 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2024 GList *browsers = NULL; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2025 int i = 0; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2026 char *browser_setting = (char *)purple_prefs_get_string(PIDGIN_PREFS_ROOT "/browsers/browser"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2027 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2028 browsers = g_list_prepend(browsers, (gpointer)"custom"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2029 browsers = g_list_prepend(browsers, (gpointer)_("Manual")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2030 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2031 for (i = 0; i < num_possible_browsers; i++) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2032 if (purple_program_is_valid(possible_browsers[i].command)) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2033 browsers = g_list_prepend(browsers, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2034 possible_browsers[i].command); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2035 browsers = g_list_prepend(browsers, (gpointer)_(possible_browsers[i].name)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2036 if(browser_setting && !strcmp(possible_browsers[i].command, browser_setting)) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2037 browser_setting = NULL; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2038 /* If xdg-open is valid, prefer it over gnome-open and skip forward */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2039 if(!strcmp(possible_browsers[i].command, "xdg-open")) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2040 if (browser_setting && !strcmp("gnome-open", browser_setting)) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2041 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/browsers/browser", possible_browsers[i].command); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2042 browser_setting = NULL; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2043 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2044 i++; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2045 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2046 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2047 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2048 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2049 if(browser_setting) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2050 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/browsers/browser", "custom"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2051 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2052 return browsers; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2053 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2054 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2055 static void |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2056 browser_changed1_cb(const char *name, PurplePrefType type, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2057 gconstpointer value, gpointer data) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2058 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2059 GtkWidget *hbox = data; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2060 const char *browser = value; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2061 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2062 gtk_widget_set_sensitive(hbox, strcmp(browser, "custom")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2063 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2064 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2065 static void |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2066 browser_changed2_cb(const char *name, PurplePrefType type, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2067 gconstpointer value, gpointer data) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2068 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2069 GtkWidget *hbox = data; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2070 const char *browser = value; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2071 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2072 gtk_widget_set_sensitive(hbox, !strcmp(browser, "custom")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2073 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2074 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2075 static GtkWidget * |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2076 browser_page(void) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2077 { |
28567
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2078 GtkWidget *ret, *vbox, *hbox, *label, *entry, *browser_button; |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2079 GtkSizeGroup *sg; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2080 GList *browsers = NULL; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2081 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2082 ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2083 gtk_container_set_border_width (GTK_CONTAINER (ret), PIDGIN_HIG_BORDER); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2084 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2085 vbox = pidgin_make_frame (ret, _("Browser Selection")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2086 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2087 if(purple_running_gnome()) { |
28567
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2088 gchar *path = g_find_program_in_path("gnome-default-applications-properties"); |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2089 |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2090 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2091 label = gtk_label_new(_("Browser preferences are configured in GNOME preferences")); |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2092 gtk_container_add(GTK_CONTAINER(vbox), hbox); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2093 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2094 |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2095 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2096 gtk_container_add(GTK_CONTAINER(vbox), hbox); |
28567
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2097 |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2098 if(path == NULL) { |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2099 label = gtk_label_new(NULL); |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2100 gtk_label_set_markup(GTK_LABEL(label), |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2101 _("<b>Browser configuration program was not found.</b>")); |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2102 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2103 } else { |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2104 browser_button = gtk_button_new_with_mnemonic(_("Configure _Browser")); |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2105 g_signal_connect(G_OBJECT(browser_button), "clicked", |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2106 G_CALLBACK(browser_button_clicked_cb), NULL); |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2107 gtk_box_pack_start(GTK_BOX(hbox), browser_button, FALSE, FALSE, 0); |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2108 } |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2109 |
28577
b855ec2d2880
Don't leak path.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28576
diff
changeset
|
2110 g_free(path); |
28567
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2111 gtk_widget_show_all(ret); |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2112 } else { |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2113 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
31086
a8cc50c2279f
Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents:
30575
diff
changeset
|
2114 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2115 browsers = get_available_browsers(); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2116 if (browsers != NULL) { |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2117 label = pidgin_prefs_dropdown_from_list(vbox,_("_Browser:"), PURPLE_PREF_STRING, |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2118 PIDGIN_PREFS_ROOT "/browsers/browser", |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2119 browsers); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2120 g_list_free(browsers); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2121 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2122 gtk_size_group_add_widget(sg, label); |
31086
a8cc50c2279f
Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents:
30575
diff
changeset
|
2123 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2124 hbox = gtk_hbox_new(FALSE, 0); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2125 label = pidgin_prefs_dropdown(hbox, _("_Open link in:"), PURPLE_PREF_INT, |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2126 PIDGIN_PREFS_ROOT "/browsers/place", |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2127 _("Browser default"), PIDGIN_BROWSER_DEFAULT, |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2128 _("Existing window"), PIDGIN_BROWSER_CURRENT, |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2129 _("New window"), PIDGIN_BROWSER_NEW_WINDOW, |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2130 _("New tab"), PIDGIN_BROWSER_NEW_TAB, |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2131 NULL); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2132 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2133 gtk_size_group_add_widget(sg, label); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2134 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
31086
a8cc50c2279f
Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents:
30575
diff
changeset
|
2135 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2136 if (!strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/browsers/browser"), "custom")) |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2137 gtk_widget_set_sensitive(hbox, FALSE); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2138 purple_prefs_connect_callback(prefs, PIDGIN_PREFS_ROOT "/browsers/browser", |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2139 browser_changed1_cb, hbox); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2140 } |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2141 |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2142 entry = gtk_entry_new(); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2143 gtk_entry_set_text(GTK_ENTRY(entry), |
30569
70d8e2e71552
I thought I had done this in my last commit. Clearly I'm an idiot. This fixes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30567
diff
changeset
|
2144 purple_prefs_get_string(PIDGIN_PREFS_ROOT "/browsers/manual_command")); |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2145 g_signal_connect(G_OBJECT(entry), "focus-out-event", |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2146 G_CALLBACK(manual_browser_set), NULL); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2147 hbox = pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("_Manual:\n(%s for URL)"), sg, entry, TRUE, NULL); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2148 if (strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/browsers/browser"), "custom")) |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2149 gtk_widget_set_sensitive(hbox, FALSE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2150 purple_prefs_connect_callback(prefs, PIDGIN_PREFS_ROOT "/browsers/browser", |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2151 browser_changed2_cb, hbox); |
31086
a8cc50c2279f
Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents:
30575
diff
changeset
|
2152 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2153 gtk_widget_show_all(ret); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2154 g_object_unref(sg); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2155 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2156 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2157 return ret; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2158 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2159 #endif /*_WIN32*/ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2160 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2161 static GtkWidget * |
28546
a8e0ad5a7ada
Move the proxy stuff to a separate tab, per deryni's suggestion.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28545
diff
changeset
|
2162 proxy_page(void) |
a8e0ad5a7ada
Move the proxy stuff to a separate tab, per deryni's suggestion.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28545
diff
changeset
|
2163 { |
a8e0ad5a7ada
Move the proxy stuff to a separate tab, per deryni's suggestion.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28545
diff
changeset
|
2164 GtkWidget *ret = NULL, *vbox = NULL, *hbox = NULL; |
28567
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2165 GtkWidget *table = NULL, *entry = NULL, *label = NULL, *proxy_button = NULL; |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2166 GtkWidget *prefs_proxy_frame = NULL; |
28546
a8e0ad5a7ada
Move the proxy stuff to a separate tab, per deryni's suggestion.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28545
diff
changeset
|
2167 PurpleProxyInfo *proxy_info; |
a8e0ad5a7ada
Move the proxy stuff to a separate tab, per deryni's suggestion.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28545
diff
changeset
|
2168 |
a8e0ad5a7ada
Move the proxy stuff to a separate tab, per deryni's suggestion.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28545
diff
changeset
|
2169 ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); |
28551
c967e6d63da9
I forgot to set the border on the proxy tab. This looks much better now.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28550
diff
changeset
|
2170 gtk_container_set_border_width(GTK_CONTAINER(ret), PIDGIN_HIG_BORDER); |
28546
a8e0ad5a7ada
Move the proxy stuff to a separate tab, per deryni's suggestion.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28545
diff
changeset
|
2171 vbox = pidgin_make_frame(ret, _("Proxy Server")); |
a8e0ad5a7ada
Move the proxy stuff to a separate tab, per deryni's suggestion.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28545
diff
changeset
|
2172 prefs_proxy_frame = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2173 |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2174 if(purple_running_gnome()) { |
28578
ab538f3edcce
In GNOME 2.26, the program gnome-network-preferences was renamed to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28577
diff
changeset
|
2175 gchar *path = NULL; |
28567
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2176 |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2177 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2178 label = gtk_label_new(_("Proxy preferences are configured in GNOME preferences")); |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2179 gtk_container_add(GTK_CONTAINER(vbox), hbox); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2180 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2181 |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2182 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2183 gtk_container_add(GTK_CONTAINER(vbox), hbox); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2184 |
28578
ab538f3edcce
In GNOME 2.26, the program gnome-network-preferences was renamed to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28577
diff
changeset
|
2185 path = g_find_program_in_path("gnome-network-properties"); |
ab538f3edcce
In GNOME 2.26, the program gnome-network-preferences was renamed to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28577
diff
changeset
|
2186 if (path == NULL) |
ab538f3edcce
In GNOME 2.26, the program gnome-network-preferences was renamed to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28577
diff
changeset
|
2187 path = g_find_program_in_path("gnome-network-preferences"); |
ab538f3edcce
In GNOME 2.26, the program gnome-network-preferences was renamed to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28577
diff
changeset
|
2188 |
28577
b855ec2d2880
Don't leak path.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28576
diff
changeset
|
2189 if (path == NULL) { |
28567
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2190 label = gtk_label_new(NULL); |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2191 gtk_label_set_markup(GTK_LABEL(label), |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2192 _("<b>Proxy configuration program was not found.</b>")); |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2193 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2194 } else { |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2195 proxy_button = gtk_button_new_with_mnemonic(_("Configure _Proxy")); |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2196 g_signal_connect(G_OBJECT(proxy_button), "clicked", |
28578
ab538f3edcce
In GNOME 2.26, the program gnome-network-preferences was renamed to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28577
diff
changeset
|
2197 G_CALLBACK(proxy_button_clicked_cb), |
ab538f3edcce
In GNOME 2.26, the program gnome-network-preferences was renamed to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28577
diff
changeset
|
2198 path); |
28567
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2199 gtk_box_pack_start(GTK_BOX(hbox), proxy_button, FALSE, FALSE, 0); |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2200 } |
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2201 |
28578
ab538f3edcce
In GNOME 2.26, the program gnome-network-preferences was renamed to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28577
diff
changeset
|
2202 /* NOTE: path leaks, but only when the prefs window is destroyed, |
ab538f3edcce
In GNOME 2.26, the program gnome-network-preferences was renamed to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28577
diff
changeset
|
2203 which is never */ |
28567
b182d2e2fcce
Show the Configure Proxy and Configure Browser buttons if the relevant GNOME
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28566
diff
changeset
|
2204 gtk_widget_show_all(ret); |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2205 } else { |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2206 GtkWidget *prefs_proxy_subframe = gtk_vbox_new(FALSE, 0); |
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2207 |
28564
c180d5d48af6
Silence some assertions QuLogic noticed.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28563
diff
changeset
|
2208 /* This is a global option that affects SOCKS4 usage even with |
c180d5d48af6
Silence some assertions QuLogic noticed.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28563
diff
changeset
|
2209 * account-specific proxy settings */ |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2210 pidgin_prefs_checkbox(_("Use remote _DNS with SOCKS4 proxies"), |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2211 "/purple/proxy/socks4_remotedns", prefs_proxy_frame); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2212 gtk_box_pack_start(GTK_BOX(vbox), prefs_proxy_frame, 0, 0, 0); |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2213 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2214 pidgin_prefs_dropdown(prefs_proxy_frame, _("Proxy t_ype:"), PURPLE_PREF_STRING, |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2215 "/purple/proxy/type", |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2216 _("No proxy"), "none", |
31478
9a7c5d242521
Add a new proxy type of "Tor". This is really just a SOCKS5 proxy, but can be
Daniel Atallah <daniel.atallah@gmail.com>
parents:
31367
diff
changeset
|
2217 _("SOCKS 4"), "socks4", |
9a7c5d242521
Add a new proxy type of "Tor". This is really just a SOCKS5 proxy, but can be
Daniel Atallah <daniel.atallah@gmail.com>
parents:
31367
diff
changeset
|
2218 _("SOCKS 5"), "socks5", |
9a7c5d242521
Add a new proxy type of "Tor". This is really just a SOCKS5 proxy, but can be
Daniel Atallah <daniel.atallah@gmail.com>
parents:
31367
diff
changeset
|
2219 _("Tor/Privacy (SOCKS5)"), "tor", |
9a7c5d242521
Add a new proxy type of "Tor". This is really just a SOCKS5 proxy, but can be
Daniel Atallah <daniel.atallah@gmail.com>
parents:
31367
diff
changeset
|
2220 _("HTTP"), "http", |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2221 _("Use Environmental Settings"), "envvar", |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2222 NULL); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2223 gtk_box_pack_start(GTK_BOX(prefs_proxy_frame), prefs_proxy_subframe, 0, 0, 0); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2224 proxy_info = purple_global_proxy_get_info(); |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2225 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2226 gtk_widget_show_all(ret); |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2227 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2228 purple_prefs_connect_callback(prefs, "/purple/proxy/type", |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2229 proxy_changed_cb, prefs_proxy_subframe); |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2230 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2231 table = gtk_table_new(4, 2, FALSE); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2232 gtk_container_set_border_width(GTK_CONTAINER(table), 0); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2233 gtk_table_set_col_spacings(GTK_TABLE(table), 5); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2234 gtk_table_set_row_spacings(GTK_TABLE(table), 10); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2235 gtk_container_add(GTK_CONTAINER(prefs_proxy_subframe), table); |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2236 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2237 label = gtk_label_new_with_mnemonic(_("_Host:")); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2238 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2239 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2240 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2241 entry = gtk_entry_new(); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2242 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2243 gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 0, 1, GTK_FILL, 0, 0, 0); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2244 g_signal_connect(G_OBJECT(entry), "changed", |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2245 G_CALLBACK(proxy_print_option), (void *)PROXYHOST); |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2246 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2247 if (proxy_info != NULL && purple_proxy_info_get_host(proxy_info)) |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2248 gtk_entry_set_text(GTK_ENTRY(entry), |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2249 purple_proxy_info_get_host(proxy_info)); |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2250 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2251 hbox = gtk_hbox_new(TRUE, 5); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2252 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2253 pidgin_set_accessible_label (entry, label); |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2254 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2255 label = gtk_label_new_with_mnemonic(_("P_ort:")); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2256 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2257 gtk_table_attach(GTK_TABLE(table), label, 2, 3, 0, 1, GTK_FILL, 0, 0, 0); |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2258 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2259 entry = gtk_spin_button_new_with_range(0, 65535, 1); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2260 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2261 gtk_table_attach(GTK_TABLE(table), entry, 3, 4, 0, 1, GTK_FILL, 0, 0, 0); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2262 g_signal_connect(G_OBJECT(entry), "changed", |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2263 G_CALLBACK(proxy_print_option), (void *)PROXYPORT); |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2264 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2265 if (proxy_info != NULL && purple_proxy_info_get_port(proxy_info) != 0) { |
28590
107764d98880
This appears to be the correct way to set the spin button value.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28589
diff
changeset
|
2266 gtk_spin_button_set_value(GTK_SPIN_BUTTON(entry), |
107764d98880
This appears to be the correct way to set the spin button value.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28589
diff
changeset
|
2267 purple_proxy_info_get_port(proxy_info)); |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2268 } |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2269 pidgin_set_accessible_label (entry, label); |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2270 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2271 label = gtk_label_new_with_mnemonic(_("User_name:")); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2272 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2273 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2, GTK_FILL, 0, 0, 0); |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2274 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2275 entry = gtk_entry_new(); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2276 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2277 gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 1, 2, GTK_FILL, 0, 0, 0); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2278 g_signal_connect(G_OBJECT(entry), "changed", |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2279 G_CALLBACK(proxy_print_option), (void *)PROXYUSER); |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2280 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2281 if (proxy_info != NULL && purple_proxy_info_get_username(proxy_info) != NULL) |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2282 gtk_entry_set_text(GTK_ENTRY(entry), |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2283 purple_proxy_info_get_username(proxy_info)); |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2284 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2285 hbox = gtk_hbox_new(TRUE, 5); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2286 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2287 pidgin_set_accessible_label (entry, label); |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2288 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2289 label = gtk_label_new_with_mnemonic(_("Pa_ssword:")); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2290 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2291 gtk_table_attach(GTK_TABLE(table), label, 2, 3, 1, 2, GTK_FILL, 0, 0, 0); |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2292 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2293 entry = gtk_entry_new(); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2294 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2295 gtk_table_attach(GTK_TABLE(table), entry, 3, 4, 1, 2, GTK_FILL , 0, 0, 0); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2296 gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE); |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2297 #if !GTK_CHECK_VERSION(2,16,0) |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2298 if (gtk_entry_get_invisible_char(GTK_ENTRY(entry)) == '*') |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2299 gtk_entry_set_invisible_char(GTK_ENTRY(entry), PIDGIN_INVISIBLE_CHAR); |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2300 #endif /* Less than GTK+ 2.16 */ |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2301 g_signal_connect(G_OBJECT(entry), "changed", |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2302 G_CALLBACK(proxy_print_option), (void *)PROXYPASS); |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2303 |
28560
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2304 if (proxy_info != NULL && purple_proxy_info_get_password(proxy_info) != NULL) |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2305 gtk_entry_set_text(GTK_ENTRY(entry), |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2306 purple_proxy_info_get_password(proxy_info)); |
a75d14a474d5
Relocate the proxy and browser blurbs for GNOME users to the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28558
diff
changeset
|
2307 pidgin_set_accessible_label (entry, label); |
28589
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2308 |
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2309 proxy_changed_cb("/purple/proxy/type", PURPLE_PREF_STRING, |
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2310 purple_prefs_get_string("/purple/proxy/type"), |
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2311 prefs_proxy_subframe); |
7141673bd785
Fix the proxy configuration fields to appear as appropriate for the current proxy selection. Also reduce the scope on the proxy frame variables.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28588
diff
changeset
|
2312 |
28546
a8e0ad5a7ada
Move the proxy stuff to a separate tab, per deryni's suggestion.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28545
diff
changeset
|
2313 } |
a8e0ad5a7ada
Move the proxy stuff to a separate tab, per deryni's suggestion.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28545
diff
changeset
|
2314 |
a8e0ad5a7ada
Move the proxy stuff to a separate tab, per deryni's suggestion.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28545
diff
changeset
|
2315 return ret; |
a8e0ad5a7ada
Move the proxy stuff to a separate tab, per deryni's suggestion.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28545
diff
changeset
|
2316 } |
a8e0ad5a7ada
Move the proxy stuff to a separate tab, per deryni's suggestion.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28545
diff
changeset
|
2317 |
a8e0ad5a7ada
Move the proxy stuff to a separate tab, per deryni's suggestion.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28545
diff
changeset
|
2318 static GtkWidget * |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2319 logging_page(void) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2320 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2321 GtkWidget *ret; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2322 GtkWidget *vbox; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2323 GList *names; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2324 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2325 ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2326 gtk_container_set_border_width (GTK_CONTAINER (ret), PIDGIN_HIG_BORDER); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2327 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2328 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2329 vbox = pidgin_make_frame (ret, _("Logging")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2330 names = purple_log_logger_get_options(); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2331 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2332 pidgin_prefs_dropdown_from_list(vbox, _("Log _format:"), PURPLE_PREF_STRING, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2333 "/purple/logging/format", names); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2334 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2335 g_list_free(names); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2336 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2337 pidgin_prefs_checkbox(_("Log all _instant messages"), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2338 "/purple/logging/log_ims", vbox); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2339 pidgin_prefs_checkbox(_("Log all c_hats"), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2340 "/purple/logging/log_chats", vbox); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2341 pidgin_prefs_checkbox(_("Log all _status changes to system log"), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2342 "/purple/logging/log_system", vbox); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2343 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2344 gtk_widget_show_all(ret); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2345 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2346 return ret; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2347 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2348 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2349 #ifndef _WIN32 |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
2350 static gint |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
2351 sound_cmd_yeah(GtkEntry *entry, gpointer d) |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2352 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2353 purple_prefs_set_path(PIDGIN_PREFS_ROOT "/sound/command", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2354 gtk_entry_get_text(GTK_ENTRY(entry))); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2355 return TRUE; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2356 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2357 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2358 static void |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2359 sound_changed1_cb(const char *name, PurplePrefType type, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2360 gconstpointer value, gpointer data) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2361 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2362 GtkWidget *hbox = data; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2363 const char *method = value; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2364 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2365 gtk_widget_set_sensitive(hbox, !strcmp(method, "custom")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2366 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2367 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2368 static void |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2369 sound_changed2_cb(const char *name, PurplePrefType type, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2370 gconstpointer value, gpointer data) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2371 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2372 GtkWidget *vbox = data; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2373 const char *method = value; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2374 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2375 gtk_widget_set_sensitive(vbox, strcmp(method, "none")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2376 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2377 #endif /* !_WIN32 */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2378 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2379 #ifdef USE_GSTREAMER |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2380 static void |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2381 sound_changed3_cb(const char *name, PurplePrefType type, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2382 gconstpointer value, gpointer data) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2383 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2384 GtkWidget *hbox = data; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2385 const char *method = value; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2386 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2387 gtk_widget_set_sensitive(hbox, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2388 !strcmp(method, "automatic") || |
30224
bc4771aff549
Allow setting sound volume when ALSA is used
Stu Tomlinson <stu@nosnilmot.com>
parents:
29408
diff
changeset
|
2389 !strcmp(method, "alsa") || |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2390 !strcmp(method, "esd")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2391 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2392 #endif /* USE_GSTREAMER */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2393 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2394 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2395 static void |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2396 event_toggled(GtkCellRendererToggle *cell, gchar *pth, gpointer data) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2397 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2398 GtkTreeModel *model = (GtkTreeModel *)data; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2399 GtkTreeIter iter; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2400 GtkTreePath *path = gtk_tree_path_new_from_string(pth); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2401 char *pref; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2402 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2403 gtk_tree_model_get_iter (model, &iter, path); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2404 gtk_tree_model_get (model, &iter, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2405 2, &pref, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2406 -1); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2407 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2408 purple_prefs_set_bool(pref, !gtk_cell_renderer_toggle_get_active(cell)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2409 g_free(pref); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2410 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2411 gtk_list_store_set(GTK_LIST_STORE (model), &iter, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2412 0, !gtk_cell_renderer_toggle_get_active(cell), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2413 -1); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2414 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2415 gtk_tree_path_free(path); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2416 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2417 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2418 static void |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2419 test_sound(GtkWidget *button, gpointer i_am_NULL) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2420 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2421 char *pref; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2422 gboolean temp_enabled; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2423 gboolean temp_mute; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2424 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2425 pref = g_strdup_printf(PIDGIN_PREFS_ROOT "/sound/enabled/%s", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2426 pidgin_sound_get_event_option(sound_row_sel)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2427 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2428 temp_enabled = purple_prefs_get_bool(pref); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2429 temp_mute = purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/sound/mute"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2430 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2431 if (!temp_enabled) purple_prefs_set_bool(pref, TRUE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2432 if (temp_mute) purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/sound/mute", FALSE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2433 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2434 purple_sound_play_event(sound_row_sel, NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2435 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2436 if (!temp_enabled) purple_prefs_set_bool(pref, FALSE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2437 if (temp_mute) purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/sound/mute", TRUE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2438 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2439 g_free(pref); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2440 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2441 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2442 /* |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2443 * Resets a sound file back to default. |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2444 */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2445 static void |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2446 reset_sound(GtkWidget *button, gpointer i_am_also_NULL) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2447 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2448 gchar *pref; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2449 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2450 pref = g_strdup_printf(PIDGIN_PREFS_ROOT "/sound/file/%s", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2451 pidgin_sound_get_event_option(sound_row_sel)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2452 purple_prefs_set_path(pref, ""); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2453 g_free(pref); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2454 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2455 gtk_entry_set_text(GTK_ENTRY(sound_entry), _("(default)")); |
25092
cf7625d4d7e0
Working sound themes (option 1) theme is saved in prefs and there is no seperate custom theme, everything
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25091
diff
changeset
|
2456 |
25107
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
2457 pref_sound_generate_markup(); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2458 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2459 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2460 static void |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2461 sound_chosen_cb(void *user_data, const char *filename) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2462 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2463 gchar *pref; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2464 int sound; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2465 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2466 sound = GPOINTER_TO_INT(user_data); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2467 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2468 /* Set it -- and forget it */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2469 pref = g_strdup_printf(PIDGIN_PREFS_ROOT "/sound/file/%s", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2470 pidgin_sound_get_event_option(sound)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2471 purple_prefs_set_path(pref, filename); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2472 g_free(pref); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2473 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2474 /* |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2475 * If the sound we just changed is still the currently selected |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2476 * sound, then update the box showing the file name. |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2477 */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2478 if (sound == sound_row_sel) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2479 gtk_entry_set_text(GTK_ENTRY(sound_entry), filename); |
25095
ef66901f74f5
Fixes the display problems with (option 1) sound themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25092
diff
changeset
|
2480 |
25924
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
25923
diff
changeset
|
2481 pref_sound_generate_markup(); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2482 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2483 |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
2484 static void |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
2485 select_sound(GtkWidget *button, gpointer being_NULL_is_fun) |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2486 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2487 gchar *pref; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2488 const char *filename; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2489 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2490 pref = g_strdup_printf(PIDGIN_PREFS_ROOT "/sound/file/%s", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2491 pidgin_sound_get_event_option(sound_row_sel)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2492 filename = purple_prefs_get_path(pref); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2493 g_free(pref); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2494 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2495 if (*filename == '\0') |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2496 filename = NULL; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2497 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2498 purple_request_file(prefs, _("Sound Selection"), filename, FALSE, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2499 G_CALLBACK(sound_chosen_cb), NULL, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2500 NULL, NULL, NULL, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2501 GINT_TO_POINTER(sound_row_sel)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2502 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2503 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2504 #ifdef USE_GSTREAMER |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
2505 static gchar * |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
2506 prefs_sound_volume_format(GtkScale *scale, gdouble val) |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2507 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2508 if(val < 15) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2509 return g_strdup_printf(_("Quietest")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2510 } else if(val < 30) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2511 return g_strdup_printf(_("Quieter")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2512 } else if(val < 45) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2513 return g_strdup_printf(_("Quiet")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2514 } else if(val < 55) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2515 return g_strdup_printf(_("Normal")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2516 } else if(val < 70) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2517 return g_strdup_printf(_("Loud")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2518 } else if(val < 85) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2519 return g_strdup_printf(_("Louder")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2520 } else { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2521 return g_strdup_printf(_("Loudest")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2522 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2523 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2524 |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
2525 static void |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
2526 prefs_sound_volume_changed(GtkRange *range) |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2527 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2528 int val = (int)gtk_range_get_value(GTK_RANGE(range)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2529 purple_prefs_set_int(PIDGIN_PREFS_ROOT "/sound/volume", val); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2530 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2531 #endif |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2532 |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
2533 static void |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
2534 prefs_sound_sel(GtkTreeSelection *sel, GtkTreeModel *model) |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
2535 { |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2536 GtkTreeIter iter; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2537 GValue val; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2538 const char *file; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2539 char *pref; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2540 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2541 if (! gtk_tree_selection_get_selected (sel, &model, &iter)) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2542 return; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2543 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2544 val.g_type = 0; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2545 gtk_tree_model_get_value (model, &iter, 3, &val); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2546 sound_row_sel = g_value_get_uint(&val); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2547 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2548 pref = g_strdup_printf(PIDGIN_PREFS_ROOT "/sound/file/%s", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2549 pidgin_sound_get_event_option(sound_row_sel)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2550 file = purple_prefs_get_path(pref); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2551 g_free(pref); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2552 if (sound_entry) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2553 gtk_entry_set_text(GTK_ENTRY(sound_entry), (file && *file != '\0') ? file : _("(default)")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2554 g_value_unset (&val); |
25092
cf7625d4d7e0
Working sound themes (option 1) theme is saved in prefs and there is no seperate custom theme, everything
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25091
diff
changeset
|
2555 |
25107
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25104
diff
changeset
|
2556 pref_sound_generate_markup(); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2557 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2558 |
24071
b6e9e794f0ba
Add a "Mute sounds" tickybox in Prefs, mirroring Tools/Mute Sounds.
Will Thompson <will.thompson@collabora.co.uk>
parents:
23094
diff
changeset
|
2559 |
b6e9e794f0ba
Add a "Mute sounds" tickybox in Prefs, mirroring Tools/Mute Sounds.
Will Thompson <will.thompson@collabora.co.uk>
parents:
23094
diff
changeset
|
2560 static void |
b6e9e794f0ba
Add a "Mute sounds" tickybox in Prefs, mirroring Tools/Mute Sounds.
Will Thompson <will.thompson@collabora.co.uk>
parents:
23094
diff
changeset
|
2561 mute_changed_cb(const char *pref_name, |
b6e9e794f0ba
Add a "Mute sounds" tickybox in Prefs, mirroring Tools/Mute Sounds.
Will Thompson <will.thompson@collabora.co.uk>
parents:
23094
diff
changeset
|
2562 PurplePrefType pref_type, |
b6e9e794f0ba
Add a "Mute sounds" tickybox in Prefs, mirroring Tools/Mute Sounds.
Will Thompson <will.thompson@collabora.co.uk>
parents:
23094
diff
changeset
|
2563 gconstpointer val, |
b6e9e794f0ba
Add a "Mute sounds" tickybox in Prefs, mirroring Tools/Mute Sounds.
Will Thompson <will.thompson@collabora.co.uk>
parents:
23094
diff
changeset
|
2564 gpointer data) |
b6e9e794f0ba
Add a "Mute sounds" tickybox in Prefs, mirroring Tools/Mute Sounds.
Will Thompson <will.thompson@collabora.co.uk>
parents:
23094
diff
changeset
|
2565 { |
b6e9e794f0ba
Add a "Mute sounds" tickybox in Prefs, mirroring Tools/Mute Sounds.
Will Thompson <will.thompson@collabora.co.uk>
parents:
23094
diff
changeset
|
2566 GtkToggleButton *button = data; |
24316 | 2567 gboolean muted = GPOINTER_TO_INT(val); |
24071
b6e9e794f0ba
Add a "Mute sounds" tickybox in Prefs, mirroring Tools/Mute Sounds.
Will Thompson <will.thompson@collabora.co.uk>
parents:
23094
diff
changeset
|
2568 |
b6e9e794f0ba
Add a "Mute sounds" tickybox in Prefs, mirroring Tools/Mute Sounds.
Will Thompson <will.thompson@collabora.co.uk>
parents:
23094
diff
changeset
|
2569 g_return_if_fail(!strcmp (pref_name, PIDGIN_PREFS_ROOT "/sound/mute")); |
b6e9e794f0ba
Add a "Mute sounds" tickybox in Prefs, mirroring Tools/Mute Sounds.
Will Thompson <will.thompson@collabora.co.uk>
parents:
23094
diff
changeset
|
2570 |
b6e9e794f0ba
Add a "Mute sounds" tickybox in Prefs, mirroring Tools/Mute Sounds.
Will Thompson <will.thompson@collabora.co.uk>
parents:
23094
diff
changeset
|
2571 /* Block the handler that re-sets the preference. */ |
24316 | 2572 g_signal_handlers_block_matched(button, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, (gpointer)pref_name); |
24071
b6e9e794f0ba
Add a "Mute sounds" tickybox in Prefs, mirroring Tools/Mute Sounds.
Will Thompson <will.thompson@collabora.co.uk>
parents:
23094
diff
changeset
|
2573 gtk_toggle_button_set_active (button, muted); |
24316 | 2574 g_signal_handlers_unblock_matched(button, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, (gpointer)pref_name); |
24071
b6e9e794f0ba
Add a "Mute sounds" tickybox in Prefs, mirroring Tools/Mute Sounds.
Will Thompson <will.thompson@collabora.co.uk>
parents:
23094
diff
changeset
|
2575 } |
b6e9e794f0ba
Add a "Mute sounds" tickybox in Prefs, mirroring Tools/Mute Sounds.
Will Thompson <will.thompson@collabora.co.uk>
parents:
23094
diff
changeset
|
2576 |
b6e9e794f0ba
Add a "Mute sounds" tickybox in Prefs, mirroring Tools/Mute Sounds.
Will Thompson <will.thompson@collabora.co.uk>
parents:
23094
diff
changeset
|
2577 |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2578 static GtkWidget * |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2579 sound_page(void) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2580 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2581 GtkWidget *ret; |
28557
1c892675f054
Collapse "Sound Method" and "Sound Options" sections on the Sounds tab into one
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28556
diff
changeset
|
2582 GtkWidget *vbox, *vbox2, *sw, *button; |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2583 GtkSizeGroup *sg; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2584 GtkTreeIter iter; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2585 GtkWidget *event_view; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2586 GtkListStore *event_store; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2587 GtkCellRenderer *rend; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2588 GtkTreeViewColumn *col; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2589 GtkTreeSelection *sel; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2590 GtkTreePath *path; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2591 GtkWidget *hbox; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2592 int j; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2593 const char *file; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2594 char *pref; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2595 #ifndef _WIN32 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2596 GtkWidget *dd; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2597 GtkWidget *entry; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2598 const char *cmd; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2599 #endif |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2600 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2601 ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2602 gtk_container_set_border_width (GTK_CONTAINER (ret), PIDGIN_HIG_BORDER); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2603 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2604 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2605 |
28557
1c892675f054
Collapse "Sound Method" and "Sound Options" sections on the Sounds tab into one
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28556
diff
changeset
|
2606 vbox2 = pidgin_make_frame(ret, _("Sound Options")); |
1c892675f054
Collapse "Sound Method" and "Sound Options" sections on the Sounds tab into one
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28556
diff
changeset
|
2607 |
28588
afbf1c6210d7
Fix some stuff in the prefs dialog on Win32
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28585
diff
changeset
|
2608 vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); |
afbf1c6210d7
Fix some stuff in the prefs dialog on Win32
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28585
diff
changeset
|
2609 gtk_box_pack_start(GTK_BOX(vbox2), vbox, FALSE, FALSE, 0); |
afbf1c6210d7
Fix some stuff in the prefs dialog on Win32
Daniel Atallah <daniel.atallah@gmail.com>
parents:
28585
diff
changeset
|
2610 |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2611 #ifndef _WIN32 |
28557
1c892675f054
Collapse "Sound Method" and "Sound Options" sections on the Sounds tab into one
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28556
diff
changeset
|
2612 dd = pidgin_prefs_dropdown(vbox2, _("_Method:"), PURPLE_PREF_STRING, |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2613 PIDGIN_PREFS_ROOT "/sound/method", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2614 _("Console beep"), "beep", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2615 #ifdef USE_GSTREAMER |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2616 _("Automatic"), "automatic", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2617 "ESD", "esd", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2618 "ALSA", "alsa", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2619 #endif |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2620 _("Command"), "custom", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2621 _("No sounds"), "none", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2622 NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2623 gtk_size_group_add_widget(sg, dd); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2624 gtk_misc_set_alignment(GTK_MISC(dd), 0, 0.5); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2625 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2626 entry = gtk_entry_new(); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2627 gtk_editable_set_editable(GTK_EDITABLE(entry), TRUE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2628 cmd = purple_prefs_get_path(PIDGIN_PREFS_ROOT "/sound/command"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2629 if(cmd) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2630 gtk_entry_set_text(GTK_ENTRY(entry), cmd); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2631 g_signal_connect(G_OBJECT(entry), "changed", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2632 G_CALLBACK(sound_cmd_yeah), NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2633 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2634 hbox = pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("Sound c_ommand:\n(%s for filename)"), sg, entry, TRUE, NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2635 purple_prefs_connect_callback(prefs, PIDGIN_PREFS_ROOT "/sound/method", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2636 sound_changed1_cb, hbox); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2637 gtk_widget_set_sensitive(hbox, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2638 !strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/method"), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2639 "custom")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2640 #endif /* _WIN32 */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2641 |
24071
b6e9e794f0ba
Add a "Mute sounds" tickybox in Prefs, mirroring Tools/Mute Sounds.
Will Thompson <will.thompson@collabora.co.uk>
parents:
23094
diff
changeset
|
2642 button = pidgin_prefs_checkbox(_("M_ute sounds"), PIDGIN_PREFS_ROOT "/sound/mute", vbox); |
b6e9e794f0ba
Add a "Mute sounds" tickybox in Prefs, mirroring Tools/Mute Sounds.
Will Thompson <will.thompson@collabora.co.uk>
parents:
23094
diff
changeset
|
2643 purple_prefs_connect_callback(prefs, PIDGIN_PREFS_ROOT "/sound/mute", mute_changed_cb, button); |
b6e9e794f0ba
Add a "Mute sounds" tickybox in Prefs, mirroring Tools/Mute Sounds.
Will Thompson <will.thompson@collabora.co.uk>
parents:
23094
diff
changeset
|
2644 |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2645 pidgin_prefs_checkbox(_("Sounds when conversation has _focus"), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2646 PIDGIN_PREFS_ROOT "/sound/conv_focus", vbox); |
24072
3b4dfbcabbf9
Prefs/Sounds: add some mnemonics
Will Thompson <will.thompson@collabora.co.uk>
parents:
24071
diff
changeset
|
2647 pidgin_prefs_dropdown(vbox, _("_Enable sounds:"), |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2648 PURPLE_PREF_INT, "/purple/sound/while_status", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2649 _("Only when available"), 1, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2650 _("Only when not available"), 2, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2651 _("Always"), 3, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2652 NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2653 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2654 #ifdef USE_GSTREAMER |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2655 sw = gtk_hscale_new_with_range(0.0, 100.0, 5.0); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2656 gtk_range_set_increments(GTK_RANGE(sw), 5.0, 25.0); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2657 gtk_range_set_value(GTK_RANGE(sw), purple_prefs_get_int(PIDGIN_PREFS_ROOT "/sound/volume")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2658 g_signal_connect (G_OBJECT (sw), "format-value", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2659 G_CALLBACK (prefs_sound_volume_format), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2660 NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2661 g_signal_connect (G_OBJECT (sw), "value-changed", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2662 G_CALLBACK (prefs_sound_volume_changed), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2663 NULL); |
24072
3b4dfbcabbf9
Prefs/Sounds: add some mnemonics
Will Thompson <will.thompson@collabora.co.uk>
parents:
24071
diff
changeset
|
2664 hbox = pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("V_olume:"), NULL, sw, TRUE, NULL); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2665 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2666 purple_prefs_connect_callback(prefs, PIDGIN_PREFS_ROOT "/sound/method", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2667 sound_changed3_cb, hbox); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2668 sound_changed3_cb(PIDGIN_PREFS_ROOT "/sound/method", PURPLE_PREF_STRING, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2669 purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/method"), hbox); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2670 #endif |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2671 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2672 #ifndef _WIN32 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2673 gtk_widget_set_sensitive(vbox, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2674 strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/method"), "none")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2675 purple_prefs_connect_callback(prefs, PIDGIN_PREFS_ROOT "/sound/method", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2676 sound_changed2_cb, vbox); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2677 #endif |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2678 vbox = pidgin_make_frame(ret, _("Sound Events")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2679 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2680 /* The following is an ugly hack to make the frame expand so the |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2681 * sound events list is big enough to be usable */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2682 gtk_box_set_child_packing(GTK_BOX(vbox->parent), vbox, TRUE, TRUE, 0, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2683 GTK_PACK_START); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2684 gtk_box_set_child_packing(GTK_BOX(vbox->parent->parent), vbox->parent, TRUE, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2685 TRUE, 0, GTK_PACK_START); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2686 gtk_box_set_child_packing(GTK_BOX(vbox->parent->parent->parent), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2687 vbox->parent->parent, TRUE, TRUE, 0, GTK_PACK_START); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2688 |
25088
9ffbfbcf307d
Fixed purple sound loader class init function (bug on startup) and added shell sound theme selector
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23094
diff
changeset
|
2689 /* SOUND SELECTION */ |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2690 event_store = gtk_list_store_new (4, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2691 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2692 for (j=0; j < PURPLE_NUM_SOUNDS; j++) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2693 char *pref = g_strdup_printf(PIDGIN_PREFS_ROOT "/sound/enabled/%s", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2694 pidgin_sound_get_event_option(j)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2695 const char *label = pidgin_sound_get_event_label(j); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2696 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2697 if (label == NULL) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2698 g_free(pref); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2699 continue; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2700 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2701 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2702 gtk_list_store_append (event_store, &iter); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2703 gtk_list_store_set(event_store, &iter, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2704 0, purple_prefs_get_bool(pref), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2705 1, _(label), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2706 2, pref, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2707 3, j, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2708 -1); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2709 g_free(pref); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2710 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2711 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2712 event_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL(event_store)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2713 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2714 rend = gtk_cell_renderer_toggle_new(); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2715 sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (event_view)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2716 g_signal_connect (G_OBJECT (sel), "changed", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2717 G_CALLBACK (prefs_sound_sel), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2718 NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2719 g_signal_connect (G_OBJECT(rend), "toggled", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2720 G_CALLBACK(event_toggled), event_store); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2721 path = gtk_tree_path_new_first(); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2722 gtk_tree_selection_select_path(sel, path); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2723 gtk_tree_path_free(path); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2724 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2725 col = gtk_tree_view_column_new_with_attributes (_("Play"), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2726 rend, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2727 "active", 0, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2728 NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2729 gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2730 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2731 rend = gtk_cell_renderer_text_new(); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2732 col = gtk_tree_view_column_new_with_attributes (_("Event"), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2733 rend, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2734 "text", 1, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2735 NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2736 gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2737 g_object_unref(G_OBJECT(event_store)); |
31367
917c597beb97
Add pidgin_make_scrollable and use it. Cleans up a bunch of duplicate code. Net code loss of 180 lines. Fixes #13073.
Gabriel Schulhof <nix@go-nix.ca>
parents:
31086
diff
changeset
|
2738 gtk_box_pack_start(GTK_BOX(vbox), |
917c597beb97
Add pidgin_make_scrollable and use it. Cleans up a bunch of duplicate code. Net code loss of 180 lines. Fixes #13073.
Gabriel Schulhof <nix@go-nix.ca>
parents:
31086
diff
changeset
|
2739 pidgin_make_scrollable(event_view, GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC, GTK_SHADOW_IN, -1, 100), |
917c597beb97
Add pidgin_make_scrollable and use it. Cleans up a bunch of duplicate code. Net code loss of 180 lines. Fixes #13073.
Gabriel Schulhof <nix@go-nix.ca>
parents:
31086
diff
changeset
|
2740 TRUE, TRUE, 0); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2741 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2742 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2743 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2744 sound_entry = gtk_entry_new(); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2745 pref = g_strdup_printf(PIDGIN_PREFS_ROOT "/sound/file/%s", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2746 pidgin_sound_get_event_option(0)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2747 file = purple_prefs_get_path(pref); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2748 g_free(pref); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2749 gtk_entry_set_text(GTK_ENTRY(sound_entry), (file && *file != '\0') ? file : _("(default)")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2750 gtk_editable_set_editable(GTK_EDITABLE(sound_entry), FALSE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2751 gtk_box_pack_start(GTK_BOX(hbox), sound_entry, FALSE, FALSE, PIDGIN_HIG_BOX_SPACE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2752 |
23094
f057f9533634
Rename and re-order the preference sound buttons to be "Browse...",
Stu Tomlinson <stu@nosnilmot.com>
parents:
22986
diff
changeset
|
2753 button = gtk_button_new_with_mnemonic(_("_Browse...")); |
f057f9533634
Rename and re-order the preference sound buttons to be "Browse...",
Stu Tomlinson <stu@nosnilmot.com>
parents:
22986
diff
changeset
|
2754 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(select_sound), NULL); |
f057f9533634
Rename and re-order the preference sound buttons to be "Browse...",
Stu Tomlinson <stu@nosnilmot.com>
parents:
22986
diff
changeset
|
2755 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1); |
f057f9533634
Rename and re-order the preference sound buttons to be "Browse...",
Stu Tomlinson <stu@nosnilmot.com>
parents:
22986
diff
changeset
|
2756 |
f057f9533634
Rename and re-order the preference sound buttons to be "Browse...",
Stu Tomlinson <stu@nosnilmot.com>
parents:
22986
diff
changeset
|
2757 button = gtk_button_new_with_mnemonic(_("Pre_view")); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2758 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(test_sound), NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2759 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2760 |
23094
f057f9533634
Rename and re-order the preference sound buttons to be "Browse...",
Stu Tomlinson <stu@nosnilmot.com>
parents:
22986
diff
changeset
|
2761 button = gtk_button_new_with_mnemonic(_("_Reset")); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2762 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(reset_sound), NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2763 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2764 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2765 gtk_widget_show_all(ret); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2766 g_object_unref(sg); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2767 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2768 return ret; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2769 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2770 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2771 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2772 static void |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2773 set_idle_away(PurpleSavedStatus *status) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2774 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2775 purple_prefs_set_int("/purple/savedstatus/idleaway", purple_savedstatus_get_creation_time(status)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2776 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2777 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2778 static void |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2779 set_startupstatus(PurpleSavedStatus *status) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2780 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2781 purple_prefs_set_int("/purple/savedstatus/startup", purple_savedstatus_get_creation_time(status)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2782 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2783 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2784 static GtkWidget * |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2785 away_page(void) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2786 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2787 GtkWidget *ret; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2788 GtkWidget *vbox; |
28563
88423a4350e4
Move the "Change status to" menu to be beside the checkbox controlling it.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28562
diff
changeset
|
2789 GtkWidget *hbox; |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2790 GtkWidget *dd; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2791 GtkWidget *label; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2792 GtkWidget *button; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2793 GtkWidget *select; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2794 GtkWidget *menu; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2795 GtkSizeGroup *sg; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2796 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2797 ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2798 gtk_container_set_border_width (GTK_CONTAINER (ret), PIDGIN_HIG_BORDER); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2799 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2800 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2801 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2802 /* Idle stuff */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2803 vbox = pidgin_make_frame(ret, _("Idle")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2804 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2805 dd = pidgin_prefs_dropdown(vbox, _("_Report idle time:"), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2806 PURPLE_PREF_STRING, "/purple/away/idle_reporting", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2807 _("Never"), "none", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2808 _("From last sent message"), "purple", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2809 #if defined(USE_SCREENSAVER) || defined(HAVE_IOKIT) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2810 _("Based on keyboard or mouse use"), "system", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2811 #endif |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2812 NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2813 gtk_size_group_add_widget(sg, dd); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2814 gtk_misc_set_alignment(GTK_MISC(dd), 0, 0.5); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2815 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2816 select = pidgin_prefs_labeled_spin_button(vbox, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2817 _("_Minutes before becoming idle:"), "/purple/away/mins_before_away", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2818 1, 24 * 60, sg); |
26183
e6a7f95cbcc3
Move 'Minutes before becoming idle' above 'Change status when idle'
Paul Aurich <paul@darkrain42.org>
parents:
25947
diff
changeset
|
2819 |
28563
88423a4350e4
Move the "Change status to" menu to be beside the checkbox controlling it.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28562
diff
changeset
|
2820 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); |
88423a4350e4
Move the "Change status to" menu to be beside the checkbox controlling it.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28562
diff
changeset
|
2821 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
88423a4350e4
Move the "Change status to" menu to be beside the checkbox controlling it.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28562
diff
changeset
|
2822 |
88423a4350e4
Move the "Change status to" menu to be beside the checkbox controlling it.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28562
diff
changeset
|
2823 button = pidgin_prefs_checkbox(_("Change to this status when _idle:"), |
88423a4350e4
Move the "Change status to" menu to be beside the checkbox controlling it.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28562
diff
changeset
|
2824 "/purple/away/away_when_idle", hbox); |
88423a4350e4
Move the "Change status to" menu to be beside the checkbox controlling it.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28562
diff
changeset
|
2825 gtk_size_group_add_widget(sg, button); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2826 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2827 /* TODO: Show something useful if we don't have any saved statuses. */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2828 menu = pidgin_status_menu(purple_savedstatus_get_idleaway(), G_CALLBACK(set_idle_away)); |
28563
88423a4350e4
Move the "Change status to" menu to be beside the checkbox controlling it.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28562
diff
changeset
|
2829 gtk_size_group_add_widget(sg, menu); |
88423a4350e4
Move the "Change status to" menu to be beside the checkbox controlling it.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28562
diff
changeset
|
2830 gtk_box_pack_start(GTK_BOX(hbox), menu, FALSE, FALSE, 0); |
88423a4350e4
Move the "Change status to" menu to be beside the checkbox controlling it.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28562
diff
changeset
|
2831 |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2832 g_signal_connect(G_OBJECT(button), "clicked", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2833 G_CALLBACK(pidgin_toggle_sensitive), menu); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2834 |
28582
36de2b72f82b
Ok, clearly I'm an idiot. I removed the right line but from the wrong block.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28581
diff
changeset
|
2835 if(!purple_prefs_get_bool("/purple/away/away_when_idle")) |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2836 gtk_widget_set_sensitive(GTK_WIDGET(menu), FALSE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2837 |
28556
7a4832d1f3dd
Get rid of the "Auto-away" section on the status/idle tab. Move all those
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28555
diff
changeset
|
2838 /* Away stuff */ |
7a4832d1f3dd
Get rid of the "Auto-away" section on the status/idle tab. Move all those
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28555
diff
changeset
|
2839 vbox = pidgin_make_frame(ret, _("Away")); |
7a4832d1f3dd
Get rid of the "Auto-away" section on the status/idle tab. Move all those
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28555
diff
changeset
|
2840 |
7a4832d1f3dd
Get rid of the "Auto-away" section on the status/idle tab. Move all those
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28555
diff
changeset
|
2841 dd = pidgin_prefs_dropdown(vbox, _("_Auto-reply:"), |
7a4832d1f3dd
Get rid of the "Auto-away" section on the status/idle tab. Move all those
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28555
diff
changeset
|
2842 PURPLE_PREF_STRING, "/purple/away/auto_reply", |
7a4832d1f3dd
Get rid of the "Auto-away" section on the status/idle tab. Move all those
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28555
diff
changeset
|
2843 _("Never"), "never", |
7a4832d1f3dd
Get rid of the "Auto-away" section on the status/idle tab. Move all those
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28555
diff
changeset
|
2844 _("When away"), "away", |
7a4832d1f3dd
Get rid of the "Auto-away" section on the status/idle tab. Move all those
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28555
diff
changeset
|
2845 _("When both away and idle"), "awayidle", |
7a4832d1f3dd
Get rid of the "Auto-away" section on the status/idle tab. Move all those
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28555
diff
changeset
|
2846 NULL); |
7a4832d1f3dd
Get rid of the "Auto-away" section on the status/idle tab. Move all those
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28555
diff
changeset
|
2847 gtk_size_group_add_widget(sg, dd); |
7a4832d1f3dd
Get rid of the "Auto-away" section on the status/idle tab. Move all those
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28555
diff
changeset
|
2848 gtk_misc_set_alignment(GTK_MISC(dd), 0, 0.5); |
7a4832d1f3dd
Get rid of the "Auto-away" section on the status/idle tab. Move all those
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28555
diff
changeset
|
2849 |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2850 /* Signon status stuff */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2851 vbox = pidgin_make_frame(ret, _("Status at Startup")); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2852 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2853 button = pidgin_prefs_checkbox(_("Use status from last _exit at startup"), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2854 "/purple/savedstatus/startup_current_status", vbox); |
28563
88423a4350e4
Move the "Change status to" menu to be beside the checkbox controlling it.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28562
diff
changeset
|
2855 gtk_size_group_add_widget(sg, button); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2856 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2857 /* TODO: Show something useful if we don't have any saved statuses. */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2858 menu = pidgin_status_menu(purple_savedstatus_get_startup(), G_CALLBACK(set_startupstatus)); |
28563
88423a4350e4
Move the "Change status to" menu to be beside the checkbox controlling it.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28562
diff
changeset
|
2859 gtk_size_group_add_widget(sg, menu); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2860 g_signal_connect(G_OBJECT(button), "clicked", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2861 G_CALLBACK(pidgin_toggle_sensitive), menu); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2862 pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("Status to a_pply at startup:"), sg, menu, TRUE, &label); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2863 g_signal_connect(G_OBJECT(button), "clicked", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2864 G_CALLBACK(pidgin_toggle_sensitive), label); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2865 |
28582
36de2b72f82b
Ok, clearly I'm an idiot. I removed the right line but from the wrong block.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28581
diff
changeset
|
2866 if(purple_prefs_get_bool("/purple/savedstatus/startup_current_status")) { |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2867 gtk_widget_set_sensitive(GTK_WIDGET(menu), FALSE); |
28582
36de2b72f82b
Ok, clearly I'm an idiot. I removed the right line but from the wrong block.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28581
diff
changeset
|
2868 gtk_widget_set_sensitive(GTK_WIDGET(label), FALSE); |
36de2b72f82b
Ok, clearly I'm an idiot. I removed the right line but from the wrong block.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28581
diff
changeset
|
2869 } |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2870 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2871 gtk_widget_show_all(ret); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2872 g_object_unref(sg); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2873 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2874 return ret; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2875 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2876 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2877 static int |
27351
5b07c7253ba4
That was some seriously screwed up formatting.
Etan Reisner <pidgin@unreliablesource.net>
parents:
27350
diff
changeset
|
2878 prefs_notebook_add_page(const char *text, GtkWidget *page, int ind) |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
2879 { |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2880 return gtk_notebook_append_page(GTK_NOTEBOOK(prefsnotebook), page, gtk_label_new(text)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2881 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2882 |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
2883 static void |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
2884 prefs_notebook_init(void) |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
2885 { |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2886 prefs_notebook_add_page(_("Interface"), interface_page(), notebook_page++); |
28546
a8e0ad5a7ada
Move the proxy stuff to a separate tab, per deryni's suggestion.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28545
diff
changeset
|
2887 |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2888 #ifndef _WIN32 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2889 /* We use the registered default browser in windows */ |
28561
02556824428d
Oops. If the user was running GNOME, he/she wouldn't see the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28560
diff
changeset
|
2890 /* if the user is running Mac OS X, hide the browsers tab */ |
02556824428d
Oops. If the user was running GNOME, he/she wouldn't see the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28560
diff
changeset
|
2891 if(purple_running_osx() == FALSE) |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2892 prefs_notebook_add_page(_("Browser"), browser_page(), notebook_page++); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2893 #endif |
28546
a8e0ad5a7ada
Move the proxy stuff to a separate tab, per deryni's suggestion.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28545
diff
changeset
|
2894 |
28549
7cf246c9a863
Reorder the tabs alphabetically. I left Interface at the top because it's our
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28548
diff
changeset
|
2895 prefs_notebook_add_page(_("Conversations"), conv_page(), notebook_page++); |
7cf246c9a863
Reorder the tabs alphabetically. I left Interface at the top because it's our
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28548
diff
changeset
|
2896 prefs_notebook_add_page(_("Logging"), logging_page(), notebook_page++); |
7cf246c9a863
Reorder the tabs alphabetically. I left Interface at the top because it's our
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28548
diff
changeset
|
2897 prefs_notebook_add_page(_("Network"), network_page(), notebook_page++); |
28561
02556824428d
Oops. If the user was running GNOME, he/she wouldn't see the proxy and browser
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28560
diff
changeset
|
2898 prefs_notebook_add_page(_("Proxy"), proxy_page(), notebook_page++); |
28546
a8e0ad5a7ada
Move the proxy stuff to a separate tab, per deryni's suggestion.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28545
diff
changeset
|
2899 |
28549
7cf246c9a863
Reorder the tabs alphabetically. I left Interface at the top because it's our
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28548
diff
changeset
|
2900 prefs_notebook_add_page(_("Sounds"), sound_page(), notebook_page++); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2901 prefs_notebook_add_page(_("Status / Idle"), away_page(), notebook_page++); |
28549
7cf246c9a863
Reorder the tabs alphabetically. I left Interface at the top because it's our
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28548
diff
changeset
|
2902 prefs_notebook_add_page(_("Themes"), theme_page(), notebook_page++); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2903 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2904 |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
2905 void |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
2906 pidgin_prefs_show(void) |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2907 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2908 GtkWidget *vbox; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2909 GtkWidget *notebook; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2910 GtkWidget *button; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2911 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2912 if (prefs) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2913 gtk_window_present(GTK_WINDOW(prefs)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2914 return; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2915 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2916 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2917 /* copy the preferences to tmp values... |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2918 * I liked "take affect immediately" Oh well :-( */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2919 /* (that should have been "effect," right?) */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2920 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2921 /* Back to instant-apply! I win! BU-HAHAHA! */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2922 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2923 /* Create the window */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2924 prefs = pidgin_create_dialog(_("Preferences"), PIDGIN_HIG_BORDER, "preferences", FALSE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2925 g_signal_connect(G_OBJECT(prefs), "destroy", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2926 G_CALLBACK(delete_prefs), NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2927 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2928 vbox = pidgin_dialog_get_vbox_with_properties(GTK_DIALOG(prefs), FALSE, PIDGIN_HIG_BORDER); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2929 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2930 /* The notebook */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2931 prefsnotebook = notebook = gtk_notebook_new (); |
28545
0c8fe27c6dd8
Change to side-tabs in the prefs window.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28526
diff
changeset
|
2932 gtk_notebook_set_tab_pos(GTK_NOTEBOOK(notebook), GTK_POS_LEFT); |
0c8fe27c6dd8
Change to side-tabs in the prefs window.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28526
diff
changeset
|
2933 gtk_box_pack_start(GTK_BOX (vbox), notebook, FALSE, FALSE, 0); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2934 gtk_widget_show(prefsnotebook); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2935 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2936 button = pidgin_dialog_add_button(GTK_DIALOG(prefs), GTK_STOCK_CLOSE, NULL, NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2937 g_signal_connect_swapped(G_OBJECT(button), "clicked", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2938 G_CALLBACK(gtk_widget_destroy), prefs); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2939 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2940 prefs_notebook_init(); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2941 |
27203
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
2942 /* Refresh the list of themes before showing the preferences window */ |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
2943 prefs_themes_refresh(); |
d629a42c8340
Allow drag-and-drop of all sorts of themes.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26991
diff
changeset
|
2944 |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2945 /* Show everything. */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2946 gtk_widget_show(prefs); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2947 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2948 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2949 static void |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2950 set_bool_pref(GtkWidget *w, const char *key) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2951 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2952 purple_prefs_set_bool(key, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2953 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w))); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2954 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2955 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2956 GtkWidget * |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2957 pidgin_prefs_checkbox(const char *text, const char *key, GtkWidget *page) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2958 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2959 GtkWidget *button; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2960 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2961 button = gtk_check_button_new_with_mnemonic(text); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2962 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2963 purple_prefs_get_bool(key)); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2964 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2965 gtk_box_pack_start(GTK_BOX(page), button, FALSE, FALSE, 0); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2966 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2967 g_signal_connect(G_OBJECT(button), "clicked", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2968 G_CALLBACK(set_bool_pref), (char *)key); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2969 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2970 gtk_widget_show(button); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2971 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2972 return button; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2973 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2974 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2975 static void |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2976 smiley_theme_pref_cb(const char *name, PurplePrefType type, |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2977 gconstpointer value, gpointer data) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2978 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2979 const char *themename = value; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2980 GSList *themes; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2981 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2982 for (themes = smiley_themes; themes; themes = themes->next) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2983 struct smiley_theme *smile = themes->data; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2984 if (smile->name && strcmp(themename, smile->name) == 0) { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2985 pidgin_themes_load_smiley_theme(smile->path, TRUE); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2986 break; |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2987 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2988 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2989 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2990 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2991 void |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2992 pidgin_prefs_init(void) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2993 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2994 purple_prefs_add_none(PIDGIN_PREFS_ROOT ""); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2995 purple_prefs_add_none("/plugins/gtk"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2996 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2997 #ifndef _WIN32 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2998 /* Browsers */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
2999 purple_prefs_add_none(PIDGIN_PREFS_ROOT "/browsers"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3000 purple_prefs_add_int(PIDGIN_PREFS_ROOT "/browsers/place", PIDGIN_BROWSER_DEFAULT); |
30567
8a03508dd6f4
Change the "Manual" browser command pref's name to allow for a relatively simple
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30558
diff
changeset
|
3001 purple_prefs_add_string(PIDGIN_PREFS_ROOT "/browsers/manual_command", ""); |
30575
22749370f1cc
Change default browser for new non-Windows users to xdg-open. Fixes #12505.
sbrabec@suse.cz
parents:
30569
diff
changeset
|
3002 purple_prefs_add_string(PIDGIN_PREFS_ROOT "/browsers/browser", "xdg-open"); |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3003 #endif |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3004 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3005 /* Plugins */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3006 purple_prefs_add_none(PIDGIN_PREFS_ROOT "/plugins"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3007 purple_prefs_add_path_list(PIDGIN_PREFS_ROOT "/plugins/loaded", NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3008 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3009 /* File locations */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3010 purple_prefs_add_none(PIDGIN_PREFS_ROOT "/filelocations"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3011 purple_prefs_add_path(PIDGIN_PREFS_ROOT "/filelocations/last_save_folder", ""); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3012 purple_prefs_add_path(PIDGIN_PREFS_ROOT "/filelocations/last_open_folder", ""); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3013 purple_prefs_add_path(PIDGIN_PREFS_ROOT "/filelocations/last_icon_folder", ""); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3014 |
25091
655a37bc0eb0
fixed images to appear in pref menu
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25088
diff
changeset
|
3015 /* Themes */ |
655a37bc0eb0
fixed images to appear in pref menu
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25088
diff
changeset
|
3016 prefs_themes_init(); |
655a37bc0eb0
fixed images to appear in pref menu
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25088
diff
changeset
|
3017 |
32182
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
3018 /* Conversation Themes */ |
32185
f857a6db3bd9
Use a consistent prefs name. It should be conversation*s* to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32184
diff
changeset
|
3019 purple_prefs_add_none(PIDGIN_PREFS_ROOT "/conversations"); |
f857a6db3bd9
Use a consistent prefs name. It should be conversation*s* to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32184
diff
changeset
|
3020 purple_prefs_add_string(PIDGIN_PREFS_ROOT "/conversations/theme", "Default"); |
32182
4bb82049b075
Add a prefs combo for the conversation theme. Variants are added as
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31852
diff
changeset
|
3021 |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3022 /* Smiley Themes */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3023 purple_prefs_add_none(PIDGIN_PREFS_ROOT "/smileys"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3024 purple_prefs_add_string(PIDGIN_PREFS_ROOT "/smileys/theme", "Default"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3025 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3026 /* Smiley Callbacks */ |
28818
78a63f5590f2
Since the prefs variable holds the widget that refers to the prefs dialog,
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28816
diff
changeset
|
3027 purple_prefs_connect_callback(&prefs, PIDGIN_PREFS_ROOT "/smileys/theme", |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3028 smiley_theme_pref_cb, NULL); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3029 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3030 pidgin_prefs_update_old(); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3031 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3032 |
27227
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
3033 void |
6202c7e62287
You should check the indenting before a copy & paste...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27209
diff
changeset
|
3034 pidgin_prefs_update_old(void) |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3035 { |
30567
8a03508dd6f4
Change the "Manual" browser command pref's name to allow for a relatively simple
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30558
diff
changeset
|
3036 const char *str = NULL; |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3037 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3038 /* Rename some old prefs */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3039 purple_prefs_rename(PIDGIN_PREFS_ROOT "/logging/log_ims", "/purple/logging/log_ims"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3040 purple_prefs_rename(PIDGIN_PREFS_ROOT "/logging/log_chats", "/purple/logging/log_chats"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3041 purple_prefs_rename("/purple/conversations/placement", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3042 PIDGIN_PREFS_ROOT "/conversations/placement"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3043 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3044 purple_prefs_rename(PIDGIN_PREFS_ROOT "/debug/timestamps", "/purple/debug/timestamps"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3045 purple_prefs_rename(PIDGIN_PREFS_ROOT "/conversations/im/raise_on_events", "/plugins/gtk/X11/notify/method_raise"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3046 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3047 purple_prefs_rename_boolean_toggle(PIDGIN_PREFS_ROOT "/conversations/ignore_colors", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3048 PIDGIN_PREFS_ROOT "/conversations/show_incoming_formatting"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3049 |
30567
8a03508dd6f4
Change the "Manual" browser command pref's name to allow for a relatively simple
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30558
diff
changeset
|
3050 /* |
8a03508dd6f4
Change the "Manual" browser command pref's name to allow for a relatively simple
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30558
diff
changeset
|
3051 * this path pref changed to a string, so migrate. I know this will break |
8a03508dd6f4
Change the "Manual" browser command pref's name to allow for a relatively simple
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30558
diff
changeset
|
3052 * things for and confuse users that use multiple versions with the same |
8a03508dd6f4
Change the "Manual" browser command pref's name to allow for a relatively simple
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30558
diff
changeset
|
3053 * config directory, but I'm not inclined to want to deal with that at the |
8a03508dd6f4
Change the "Manual" browser command pref's name to allow for a relatively simple
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30558
diff
changeset
|
3054 * moment. -- rekkanoryo |
8a03508dd6f4
Change the "Manual" browser command pref's name to allow for a relatively simple
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30558
diff
changeset
|
3055 */ |
8a03508dd6f4
Change the "Manual" browser command pref's name to allow for a relatively simple
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30558
diff
changeset
|
3056 if((str = purple_prefs_get_path(PIDGIN_PREFS_ROOT "/browsers/command")) != NULL) { |
8a03508dd6f4
Change the "Manual" browser command pref's name to allow for a relatively simple
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30558
diff
changeset
|
3057 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/browsers/manual_command", str); |
8a03508dd6f4
Change the "Manual" browser command pref's name to allow for a relatively simple
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30558
diff
changeset
|
3058 purple_prefs_remove(PIDGIN_PREFS_ROOT "/browsers/command"); |
8a03508dd6f4
Change the "Manual" browser command pref's name to allow for a relatively simple
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30558
diff
changeset
|
3059 } |
8a03508dd6f4
Change the "Manual" browser command pref's name to allow for a relatively simple
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30558
diff
changeset
|
3060 |
22287
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3061 /* Remove some no-longer-used prefs */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3062 purple_prefs_remove(PIDGIN_PREFS_ROOT "/blist/auto_expand_contacts"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3063 purple_prefs_remove(PIDGIN_PREFS_ROOT "/blist/button_style"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3064 purple_prefs_remove(PIDGIN_PREFS_ROOT "/blist/grey_idle_buddies"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3065 purple_prefs_remove(PIDGIN_PREFS_ROOT "/blist/raise_on_events"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3066 purple_prefs_remove(PIDGIN_PREFS_ROOT "/blist/show_group_count"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3067 purple_prefs_remove(PIDGIN_PREFS_ROOT "/blist/show_warning_level"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3068 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/button_type"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3069 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/ctrl_enter_sends"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3070 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/enter_sends"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3071 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/escape_closes"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3072 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/html_shortcuts"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3073 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/icons_on_tabs"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3074 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/send_formatting"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3075 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/show_smileys"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3076 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/show_urls_as_links"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3077 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/smiley_shortcuts"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3078 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/use_custom_bgcolor"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3079 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/use_custom_fgcolor"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3080 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/use_custom_font"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3081 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/use_custom_size"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3082 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/chat/old_tab_complete"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3083 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/chat/tab_completion"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3084 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/im/hide_on_send"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3085 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/chat/color_nicks"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3086 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/chat/raise_on_events"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3087 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/ignore_fonts"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3088 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/ignore_font_sizes"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3089 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/passthrough_unknown_commands"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3090 purple_prefs_remove(PIDGIN_PREFS_ROOT "/idle"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3091 purple_prefs_remove(PIDGIN_PREFS_ROOT "/logging/individual_logs"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3092 purple_prefs_remove(PIDGIN_PREFS_ROOT "/sound/signon"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3093 purple_prefs_remove(PIDGIN_PREFS_ROOT "/sound/silent_signon"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3094 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3095 /* Convert old queuing prefs to hide_new 3-way pref. */ |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3096 if (purple_prefs_exists("/plugins/gtk/docklet/queue_messages") && |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3097 purple_prefs_get_bool("/plugins/gtk/docklet/queue_messages")) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3098 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3099 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/conversations/im/hide_new", "always"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3100 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3101 else if (purple_prefs_exists(PIDGIN_PREFS_ROOT "/away/queue_messages") && |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3102 purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/away/queue_messages")) |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3103 { |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3104 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/conversations/im/hide_new", "away"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3105 } |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3106 purple_prefs_remove(PIDGIN_PREFS_ROOT "/away/queue_messages"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3107 purple_prefs_remove(PIDGIN_PREFS_ROOT "/away"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3108 purple_prefs_remove("/plugins/gtk/docklet/queue_messages"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3109 |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3110 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/chat/default_width"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3111 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/chat/default_height"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3112 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/im/default_width"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3113 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/im/default_height"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3114 purple_prefs_rename(PIDGIN_PREFS_ROOT "/conversations/x", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3115 PIDGIN_PREFS_ROOT "/conversations/im/x"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3116 purple_prefs_rename(PIDGIN_PREFS_ROOT "/conversations/y", |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3117 PIDGIN_PREFS_ROOT "/conversations/im/y"); |
36036b9489fe
Bring back the "Close IMs immediately when the tab is closed" pref. As far
Stu Tomlinson <stu@nosnilmot.com>
parents:
22282
diff
changeset
|
3118 } |