pidgin/gtkft.c

Wed, 21 Sep 2011 06:45:26 +0000

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Wed, 21 Sep 2011 06:45:26 +0000
changeset 32575
eb4fc932fae9
parent 32271
c23069a2b82b
child 32607
3d50780413f8
permissions
-rw-r--r--

Apply conversation theme when opening the GTK conversation. All the
parsing stuff was moved out of the theme code and into the conversation
code.

Someone (not me!) needs to check the code I commented out and see if
we really need that stuff (and then port it to WebKit/styling).

We also need to determine where to place Template.html and the rest
of our (not-yet-written) default theme.

4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 /**
7820
06fc9f66d2cb [gaim-migrate @ 8472]
Mark Doliner <markdoliner@pidgin.im>
parents: 7805
diff changeset
2 * @file gtkft.c GTK+ File Transfer UI
16254
eeb2bba4dc94 Rename the Doxygen group from gtkui to pidgin.
Richard Laager <rlaager@pidgin.im>
parents: 16123
diff changeset
3 * @ingroup pidgin
20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
4 */
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
5
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
6 /* pidgin
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7 *
15931
716b5fac1895 Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
8 * Pidgin is the legal property of its developers, whose names are too numerous
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7859
diff changeset
9 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7859
diff changeset
10 * source distribution.
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
11 *
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * This program is free software; you can redistribute it and/or modify
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * it under the terms of the GNU General Public License as published by
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * the Free Software Foundation; either version 2 of the License, or
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 * (at your option) any later version.
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 *
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * This program is distributed in the hope that it will be useful,
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 * GNU General Public License for more details.
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 *
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 * You should have received a copy of the GNU General Public License
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 18203
diff changeset
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
25 */
9791
f5c5bda0b96b [gaim-migrate @ 10659]
Gary Kramlich <grim@pidgin.im>
parents: 9785
diff changeset
26 #include "internal.h"
15577
b8129373f65e More pidgin changes
Sean Egan <seanegan@pidgin.im>
parents: 15570
diff changeset
27 #include "pidgin.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5826
diff changeset
28
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5826
diff changeset
29 #include "debug.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5826
diff changeset
30 #include "notify.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5826
diff changeset
31 #include "ft.h"
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
32 #include "prpl.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5826
diff changeset
33 #include "util.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5826
diff changeset
34
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5826
diff changeset
35 #include "gtkft.h"
5974
00c68435d9f3 [gaim-migrate @ 6421]
Mark Doliner <markdoliner@pidgin.im>
parents: 5966
diff changeset
36 #include "prefs.h"
15883
969b74a3e27a According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
37 #include "pidginstock.h"
5966
91a208b3e979 [gaim-migrate @ 6413]
Mark Doliner <markdoliner@pidgin.im>
parents: 5959
diff changeset
38 #include "gtkutils.h"
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
39
27420
cae9468439b4 Add code to generate a thumbnail (only fully works with GDK 2.4+ so far)
Marcus Lundblad <malu@pidgin.im>
parents: 27327
diff changeset
40 /* the maximum size of files we will try to make a thumbnail for */
cae9468439b4 Add code to generate a thumbnail (only fully works with GDK 2.4+ so far)
Marcus Lundblad <malu@pidgin.im>
parents: 27327
diff changeset
41 #define PIDGIN_XFER_MAX_SIZE_IMAGE_THUMBNAIL 10 * 1024 * 1024
cae9468439b4 Add code to generate a thumbnail (only fully works with GDK 2.4+ so far)
Marcus Lundblad <malu@pidgin.im>
parents: 27327
diff changeset
42
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
43 struct _PidginXferDialog
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
44 {
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
45 gboolean keep_open;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
46 gboolean auto_clear;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
47
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
48 gint num_transfers;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
49
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
50 PurpleXfer *selected_xfer;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
51
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
52 GtkWidget *window;
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
53 GtkWidget *tree;
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
54 GtkListStore *model;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
55
11735
a1d2afa9b4e9 [gaim-migrate @ 14026]
Mark Doliner <markdoliner@pidgin.im>
parents: 11639
diff changeset
56 GtkWidget *expander;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
57
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
58 GtkWidget *table;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
59
9785
14fe4689ff01 [gaim-migrate @ 10653]
Tim Ringenbach <marv@pidgin.im>
parents: 9606
diff changeset
60 GtkWidget *local_user_desc_label;
14fe4689ff01 [gaim-migrate @ 10653]
Tim Ringenbach <marv@pidgin.im>
parents: 9606
diff changeset
61 GtkWidget *local_user_label;
14fe4689ff01 [gaim-migrate @ 10653]
Tim Ringenbach <marv@pidgin.im>
parents: 9606
diff changeset
62 GtkWidget *remote_user_desc_label;
14fe4689ff01 [gaim-migrate @ 10653]
Tim Ringenbach <marv@pidgin.im>
parents: 9606
diff changeset
63 GtkWidget *remote_user_label;
14fe4689ff01 [gaim-migrate @ 10653]
Tim Ringenbach <marv@pidgin.im>
parents: 9606
diff changeset
64 GtkWidget *protocol_label;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
65 GtkWidget *filename_label;
10911
e2cc7dddee17 [gaim-migrate @ 12665]
Daniel Atallah <datallah@pidgin.im>
parents: 10654
diff changeset
66 GtkWidget *localfile_label;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
67 GtkWidget *status_label;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
68 GtkWidget *speed_label;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
69 GtkWidget *time_elapsed_label;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
70 GtkWidget *time_remaining_label;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
71
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
72 GtkWidget *progress;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
73
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
74 /* Buttons */
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
75 GtkWidget *open_button;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
76 GtkWidget *remove_button;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
77 GtkWidget *stop_button;
5608
b78f573998e5 [gaim-migrate @ 6012]
Robert McQueen <robot101@debian.org>
parents: 5498
diff changeset
78 GtkWidget *close_button;
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
79 };
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
80
6240
0390b27fe09d [gaim-migrate @ 6734]
Christian Hammond <chipx86@chipx86.com>
parents: 5974
diff changeset
81 typedef struct
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
82 {
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
83 GtkTreeIter iter;
11925
458844cb2ee7 [gaim-migrate @ 14216]
John Eckerdal
parents: 11896
diff changeset
84 time_t last_updated_time;
7805
6045c467441e [gaim-migrate @ 8452]
Tim Ringenbach <marv@pidgin.im>
parents: 7738
diff changeset
85 gboolean in_list;
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
86
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
87 char *name;
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
88
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
89 } PidginXferUiData;
6240
0390b27fe09d [gaim-migrate @ 6734]
Christian Hammond <chipx86@chipx86.com>
parents: 5974
diff changeset
90
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
91 static PidginXferDialog *xfer_dialog = NULL;
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
92
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
93 enum
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
94 {
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
95 COLUMN_STATUS = 0,
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
96 COLUMN_PROGRESS,
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
97 COLUMN_FILENAME,
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
98 COLUMN_SIZE,
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
99 COLUMN_REMAINING,
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
100 COLUMN_DATA,
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
101 NUM_COLUMNS
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
102 };
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
103
7805
6045c467441e [gaim-migrate @ 8452]
Tim Ringenbach <marv@pidgin.im>
parents: 7738
diff changeset
104
6045c467441e [gaim-migrate @ 8452]
Tim Ringenbach <marv@pidgin.im>
parents: 7738
diff changeset
105 /**************************************************************************
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
106 * Utility Functions
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
107 **************************************************************************/
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
108 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
109 get_xfer_info_strings(PurpleXfer *xfer, char **kbsec, char **time_elapsed,
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
110 char **time_remaining)
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
111 {
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
112 double kb_sent, kb_rem;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
113 double kbps = 0.0;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
114 time_t elapsed, now;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
115
32271
c23069a2b82b Use accessors for PurpleXfer
Daniel Atallah <datallah@pidgin.im>
parents: 32250
diff changeset
116 now = purple_xfer_get_end_time(xfer);
c23069a2b82b Use accessors for PurpleXfer
Daniel Atallah <datallah@pidgin.im>
parents: 32250
diff changeset
117 if (now == 0)
9017
049f37b0ce05 [gaim-migrate @ 9793]
Kevin Stange <kstange@pidgin.im>
parents: 8585
diff changeset
118 now = time(NULL);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
119
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
120 kb_sent = purple_xfer_get_bytes_sent(xfer) / 1024.0;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
121 kb_rem = purple_xfer_get_bytes_remaining(xfer) / 1024.0;
32271
c23069a2b82b Use accessors for PurpleXfer
Daniel Atallah <datallah@pidgin.im>
parents: 32250
diff changeset
122 elapsed = purple_xfer_get_start_time(xfer);
c23069a2b82b Use accessors for PurpleXfer
Daniel Atallah <datallah@pidgin.im>
parents: 32250
diff changeset
123 if (elapsed > 0)
c23069a2b82b Use accessors for PurpleXfer
Daniel Atallah <datallah@pidgin.im>
parents: 32250
diff changeset
124 elapsed = now - elapsed;
c23069a2b82b Use accessors for PurpleXfer
Daniel Atallah <datallah@pidgin.im>
parents: 32250
diff changeset
125 else
c23069a2b82b Use accessors for PurpleXfer
Daniel Atallah <datallah@pidgin.im>
parents: 32250
diff changeset
126 elapsed = 0;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
127 kbps = (elapsed > 0 ? (kb_sent / elapsed) : 0);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
128
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
129 if (kbsec != NULL) {
18203
4f191741c0f4 Use the IEC binary units to match our math.
Richard Laager <rlaager@pidgin.im>
parents: 18178
diff changeset
130 *kbsec = g_strdup_printf(_("%.2f KiB/s"), kbps);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
131 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
132
13599
b6369e541654 [gaim-migrate @ 15984]
Mark Doliner <markdoliner@pidgin.im>
parents: 13107
diff changeset
133 if (time_elapsed != NULL)
b6369e541654 [gaim-migrate @ 15984]
Mark Doliner <markdoliner@pidgin.im>
parents: 13107
diff changeset
134 {
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
135 int h, m, s;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
136 int secs_elapsed;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
137
32271
c23069a2b82b Use accessors for PurpleXfer
Daniel Atallah <datallah@pidgin.im>
parents: 32250
diff changeset
138 if (purple_xfer_get_start_time(xfer) > 0)
13599
b6369e541654 [gaim-migrate @ 15984]
Mark Doliner <markdoliner@pidgin.im>
parents: 13107
diff changeset
139 {
32271
c23069a2b82b Use accessors for PurpleXfer
Daniel Atallah <datallah@pidgin.im>
parents: 32250
diff changeset
140 secs_elapsed = now - purple_xfer_get_start_time(xfer);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
141
13599
b6369e541654 [gaim-migrate @ 15984]
Mark Doliner <markdoliner@pidgin.im>
parents: 13107
diff changeset
142 h = secs_elapsed / 3600;
b6369e541654 [gaim-migrate @ 15984]
Mark Doliner <markdoliner@pidgin.im>
parents: 13107
diff changeset
143 m = (secs_elapsed % 3600) / 60;
b6369e541654 [gaim-migrate @ 15984]
Mark Doliner <markdoliner@pidgin.im>
parents: 13107
diff changeset
144 s = secs_elapsed % 60;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
145
13599
b6369e541654 [gaim-migrate @ 15984]
Mark Doliner <markdoliner@pidgin.im>
parents: 13107
diff changeset
146 *time_elapsed = g_strdup_printf("%d:%02d:%02d", h, m, s);
b6369e541654 [gaim-migrate @ 15984]
Mark Doliner <markdoliner@pidgin.im>
parents: 13107
diff changeset
147 }
b6369e541654 [gaim-migrate @ 15984]
Mark Doliner <markdoliner@pidgin.im>
parents: 13107
diff changeset
148 else
b6369e541654 [gaim-migrate @ 15984]
Mark Doliner <markdoliner@pidgin.im>
parents: 13107
diff changeset
149 {
b6369e541654 [gaim-migrate @ 15984]
Mark Doliner <markdoliner@pidgin.im>
parents: 13107
diff changeset
150 *time_elapsed = g_strdup(_("Not started"));
b6369e541654 [gaim-migrate @ 15984]
Mark Doliner <markdoliner@pidgin.im>
parents: 13107
diff changeset
151 }
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
152 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
153
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
154 if (time_remaining != NULL) {
22063
857aa10338af Prevent a divide by zero. Fixes #4490.
Daniel Atallah <datallah@pidgin.im>
parents: 22005
diff changeset
155 if (purple_xfer_is_completed(xfer)) {
8351
216d9836e839 [gaim-migrate @ 9075]
Tim Ringenbach <marv@pidgin.im>
parents: 8282
diff changeset
156 *time_remaining = g_strdup(_("Finished"));
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
157 }
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
158 else if (purple_xfer_is_canceled(xfer)) {
30708
535bec1e66fb Standardize on "cancelled".
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30706
diff changeset
159 *time_remaining = g_strdup(_("Cancelled"));
9017
049f37b0ce05 [gaim-migrate @ 9793]
Kevin Stange <kstange@pidgin.im>
parents: 8585
diff changeset
160 }
22063
857aa10338af Prevent a divide by zero. Fixes #4490.
Daniel Atallah <datallah@pidgin.im>
parents: 22005
diff changeset
161 else if (purple_xfer_get_size(xfer) == 0 || (kb_sent > 0 && kbps == 0)) {
857aa10338af Prevent a divide by zero. Fixes #4490.
Daniel Atallah <datallah@pidgin.im>
parents: 22005
diff changeset
162 *time_remaining = g_strdup(_("Unknown"));
857aa10338af Prevent a divide by zero. Fixes #4490.
Daniel Atallah <datallah@pidgin.im>
parents: 22005
diff changeset
163 }
9017
049f37b0ce05 [gaim-migrate @ 9793]
Kevin Stange <kstange@pidgin.im>
parents: 8585
diff changeset
164 else if (kb_sent <= 0) {
049f37b0ce05 [gaim-migrate @ 9793]
Kevin Stange <kstange@pidgin.im>
parents: 8585
diff changeset
165 *time_remaining = g_strdup(_("Waiting for transfer to begin"));
049f37b0ce05 [gaim-migrate @ 9793]
Kevin Stange <kstange@pidgin.im>
parents: 8585
diff changeset
166 }
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
167 else {
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
168 int h, m, s;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
169 int secs_remaining;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
170
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
171 secs_remaining = (int)(kb_rem / kbps);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
172
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
173 h = secs_remaining / 3600;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
174 m = (secs_remaining % 3600) / 60;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
175 s = secs_remaining % 60;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
176
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
177 *time_remaining = g_strdup_printf("%d:%02d:%02d", h, m, s);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
178 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
179 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
180 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
181
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
182 static void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
183 update_title_progress(PidginXferDialog *dialog)
14535
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
184 {
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
185 gboolean valid;
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
186 GtkTreeIter iter;
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
187 int num_active_xfers = 0;
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
188 guint64 total_bytes_xferred = 0;
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
189 guint64 total_file_size = 0;
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
190
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
191 if (dialog->window == NULL)
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
192 return;
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
193
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
194 valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(dialog->model), &iter);
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
195
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
196 /* Find all active transfers */
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
197 while (valid) {
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
198 GValue val;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
199 PurpleXfer *xfer = NULL;
14535
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
200
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
201 val.g_type = 0;
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
202 gtk_tree_model_get_value(GTK_TREE_MODEL(dialog->model),
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
203 &iter, COLUMN_DATA, &val);
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
204
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
205 xfer = g_value_get_pointer(&val);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
206 if (purple_xfer_get_status(xfer) == PURPLE_XFER_STATUS_STARTED) {
14535
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
207 num_active_xfers++;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
208 total_bytes_xferred += purple_xfer_get_bytes_sent(xfer);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
209 total_file_size += purple_xfer_get_size(xfer);
14535
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
210 }
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
211
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
212 valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(dialog->model), &iter);
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
213 }
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
214
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
215 /* Update the title */
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
216 if (num_active_xfers > 0)
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
217 {
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
218 gchar *title;
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
219 int total_pct = 0;
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
220
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
221 if (total_file_size > 0) {
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
222 total_pct = 100 * total_bytes_xferred / total_file_size;
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
223 }
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
224
23475
fbc70a80d0e7 "This patch pluralizes a few strings that should be pluralized for
Laurynas Biveinis <laurynas.biveinis@gmail.com>
parents: 22590
diff changeset
225 title = g_strdup_printf(ngettext("File Transfers - %d%% of %d file",
fbc70a80d0e7 "This patch pluralizes a few strings that should be pluralized for
Laurynas Biveinis <laurynas.biveinis@gmail.com>
parents: 22590
diff changeset
226 "File Transfers - %d%% of %d files",
fbc70a80d0e7 "This patch pluralizes a few strings that should be pluralized for
Laurynas Biveinis <laurynas.biveinis@gmail.com>
parents: 22590
diff changeset
227 num_active_xfers),
fbc70a80d0e7 "This patch pluralizes a few strings that should be pluralized for
Laurynas Biveinis <laurynas.biveinis@gmail.com>
parents: 22590
diff changeset
228 total_pct, num_active_xfers);
14535
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
229 gtk_window_set_title(GTK_WINDOW(dialog->window), title);
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
230 g_free(title);
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
231 } else {
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
232 gtk_window_set_title(GTK_WINDOW(dialog->window), _("File Transfers"));
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
233 }
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
234 }
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
235
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
236 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
237 update_detailed_info(PidginXferDialog *dialog, PurpleXfer *xfer)
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
238 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
239 PidginXferUiData *data;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
240 char *kbsec, *time_elapsed, *time_remaining;
10919
22fba24cd16e [gaim-migrate @ 12683]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10911
diff changeset
241 char *status, *utf8;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
242
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
243 if (dialog == NULL || xfer == NULL)
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
244 return;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
245
32250
c77e715af24a Update Pidgin to use the new accessor methods.
Andrew Victor <andrew.victor@mxit.com>
parents: 31889
diff changeset
246 data = purple_xfer_get_ui_data(xfer);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
247
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
248 get_xfer_info_strings(xfer, &kbsec, &time_elapsed, &time_remaining);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
249
17685
4d7e292274ec Use G_GSIZE_FORMAT when formatting strings containing size_t values in
Mark Doliner <markdoliner@pidgin.im>
parents: 16752
diff changeset
250 status = g_strdup_printf("%d%% (%" G_GSIZE_FORMAT " of %" G_GSIZE_FORMAT " bytes)",
4d7e292274ec Use G_GSIZE_FORMAT when formatting strings containing size_t values in
Mark Doliner <markdoliner@pidgin.im>
parents: 16752
diff changeset
251 (int)(purple_xfer_get_progress(xfer)*100),
17696
61059ed5d4a9 These casts were causing warnings for Stu but not me.
Mark Doliner <markdoliner@pidgin.im>
parents: 17685
diff changeset
252 purple_xfer_get_bytes_sent(xfer),
61059ed5d4a9 These casts were causing warnings for Stu but not me.
Mark Doliner <markdoliner@pidgin.im>
parents: 17685
diff changeset
253 purple_xfer_get_size(xfer));
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
254
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
255 if (purple_xfer_is_completed(xfer)) {
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
256
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
257 GdkPixbuf *pixbuf = NULL;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
258
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
259 pixbuf = gtk_widget_render_icon(xfer_dialog->window,
15570
81e9b7d13875 stock to pidgin
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
260 PIDGIN_STOCK_FILE_DONE,
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
261 GTK_ICON_SIZE_MENU, NULL);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
262
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
263 gtk_list_store_set(GTK_LIST_STORE(xfer_dialog->model), &data->iter,
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
264 COLUMN_STATUS, pixbuf,
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
265 -1);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
266
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
267 g_object_unref(pixbuf);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
268 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
269
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
270 if (purple_xfer_get_type(xfer) == PURPLE_XFER_RECEIVE) {
9785
14fe4689ff01 [gaim-migrate @ 10653]
Tim Ringenbach <marv@pidgin.im>
parents: 9606
diff changeset
271 gtk_label_set_markup(GTK_LABEL(dialog->local_user_desc_label),
14fe4689ff01 [gaim-migrate @ 10653]
Tim Ringenbach <marv@pidgin.im>
parents: 9606
diff changeset
272 _("<b>Receiving As:</b>"));
14fe4689ff01 [gaim-migrate @ 10653]
Tim Ringenbach <marv@pidgin.im>
parents: 9606
diff changeset
273 gtk_label_set_markup(GTK_LABEL(dialog->remote_user_desc_label),
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
274 _("<b>Receiving From:</b>"));
9785
14fe4689ff01 [gaim-migrate @ 10653]
Tim Ringenbach <marv@pidgin.im>
parents: 9606
diff changeset
275 }
14fe4689ff01 [gaim-migrate @ 10653]
Tim Ringenbach <marv@pidgin.im>
parents: 9606
diff changeset
276 else {
14fe4689ff01 [gaim-migrate @ 10653]
Tim Ringenbach <marv@pidgin.im>
parents: 9606
diff changeset
277 gtk_label_set_markup(GTK_LABEL(dialog->remote_user_desc_label),
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
278 _("<b>Sending To:</b>"));
9785
14fe4689ff01 [gaim-migrate @ 10653]
Tim Ringenbach <marv@pidgin.im>
parents: 9606
diff changeset
279 gtk_label_set_markup(GTK_LABEL(dialog->local_user_desc_label),
14fe4689ff01 [gaim-migrate @ 10653]
Tim Ringenbach <marv@pidgin.im>
parents: 9606
diff changeset
280 _("<b>Sending As:</b>"));
14fe4689ff01 [gaim-migrate @ 10653]
Tim Ringenbach <marv@pidgin.im>
parents: 9606
diff changeset
281 }
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
282
13599
b6369e541654 [gaim-migrate @ 15984]
Mark Doliner <markdoliner@pidgin.im>
parents: 13107
diff changeset
283 gtk_label_set_text(GTK_LABEL(dialog->local_user_label),
32271
c23069a2b82b Use accessors for PurpleXfer
Daniel Atallah <datallah@pidgin.im>
parents: 32250
diff changeset
284 purple_account_get_username(purple_xfer_get_account(xfer)));
c23069a2b82b Use accessors for PurpleXfer
Daniel Atallah <datallah@pidgin.im>
parents: 32250
diff changeset
285 gtk_label_set_text(GTK_LABEL(dialog->remote_user_label), purple_xfer_get_remote_user(xfer));
13599
b6369e541654 [gaim-migrate @ 15984]
Mark Doliner <markdoliner@pidgin.im>
parents: 13107
diff changeset
286 gtk_label_set_text(GTK_LABEL(dialog->protocol_label),
32271
c23069a2b82b Use accessors for PurpleXfer
Daniel Atallah <datallah@pidgin.im>
parents: 32250
diff changeset
287 purple_account_get_protocol_name(purple_xfer_get_account(xfer)));
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
288
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
289 if (purple_xfer_get_type(xfer) == PURPLE_XFER_RECEIVE) {
7738
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
290 gtk_label_set_text(GTK_LABEL(dialog->filename_label),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
291 purple_xfer_get_filename(xfer));
7738
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
292 } else {
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
293 char *tmp;
10919
22fba24cd16e [gaim-migrate @ 12683]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10911
diff changeset
294
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
295 tmp = g_path_get_basename(purple_xfer_get_local_filename(xfer));
10919
22fba24cd16e [gaim-migrate @ 12683]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10911
diff changeset
296 utf8 = g_filename_to_utf8(tmp, -1, NULL, NULL, NULL);
7738
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
297 g_free(tmp);
10919
22fba24cd16e [gaim-migrate @ 12683]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10911
diff changeset
298
22fba24cd16e [gaim-migrate @ 12683]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10911
diff changeset
299 gtk_label_set_text(GTK_LABEL(dialog->filename_label), utf8);
22fba24cd16e [gaim-migrate @ 12683]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10911
diff changeset
300 g_free(utf8);
7738
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
301 }
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
302
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
303 utf8 = g_filename_to_utf8((purple_xfer_get_local_filename(xfer)), -1, NULL, NULL, NULL);
10919
22fba24cd16e [gaim-migrate @ 12683]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10911
diff changeset
304 gtk_label_set_text(GTK_LABEL(dialog->localfile_label), utf8);
22fba24cd16e [gaim-migrate @ 12683]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10911
diff changeset
305 g_free(utf8);
10911
e2cc7dddee17 [gaim-migrate @ 12665]
Daniel Atallah <datallah@pidgin.im>
parents: 10654
diff changeset
306
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
307 gtk_label_set_text(GTK_LABEL(dialog->status_label), status);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
308
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
309 gtk_label_set_text(GTK_LABEL(dialog->speed_label), kbsec);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
310 gtk_label_set_text(GTK_LABEL(dialog->time_elapsed_label), time_elapsed);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
311 gtk_label_set_text(GTK_LABEL(dialog->time_remaining_label),
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
312 time_remaining);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
313
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
314 gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(dialog->progress),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
315 purple_xfer_get_progress(xfer));
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
316
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
317 g_free(kbsec);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
318 g_free(time_elapsed);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
319 g_free(time_remaining);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
320 g_free(status);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
321 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
322
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
323 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
324 update_buttons(PidginXferDialog *dialog, PurpleXfer *xfer)
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
325 {
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
326 if (dialog->selected_xfer == NULL) {
11735
a1d2afa9b4e9 [gaim-migrate @ 14026]
Mark Doliner <markdoliner@pidgin.im>
parents: 11639
diff changeset
327 gtk_widget_set_sensitive(dialog->expander, FALSE);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
328 gtk_widget_set_sensitive(dialog->open_button, FALSE);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
329 gtk_widget_set_sensitive(dialog->stop_button, FALSE);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
330
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
331 gtk_widget_show(dialog->stop_button);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
332 gtk_widget_hide(dialog->remove_button);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
333
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
334 return;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
335 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
336
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
337 if (dialog->selected_xfer != xfer)
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
338 return;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
339
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
340 if (purple_xfer_is_completed(xfer)) {
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
341 gtk_widget_hide(dialog->stop_button);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
342 gtk_widget_show(dialog->remove_button);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
343
11010
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
344 #ifdef _WIN32
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
345 /* If using Win32... */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
346 if (purple_xfer_get_type(xfer) == PURPLE_XFER_RECEIVE) {
10923
f50de29e14a3 [gaim-migrate @ 12693]
Daniel Atallah <datallah@pidgin.im>
parents: 10919
diff changeset
347 gtk_widget_set_sensitive(dialog->open_button, TRUE);
f50de29e14a3 [gaim-migrate @ 12693]
Daniel Atallah <datallah@pidgin.im>
parents: 10919
diff changeset
348 } else {
f50de29e14a3 [gaim-migrate @ 12693]
Daniel Atallah <datallah@pidgin.im>
parents: 10919
diff changeset
349 gtk_widget_set_sensitive(dialog->open_button, FALSE);
f50de29e14a3 [gaim-migrate @ 12693]
Daniel Atallah <datallah@pidgin.im>
parents: 10919
diff changeset
350 }
11010
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
351 #else
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
352 if (purple_xfer_get_type(xfer) == PURPLE_XFER_RECEIVE) {
11010
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
353 gtk_widget_set_sensitive(dialog->open_button, TRUE);
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
354 } else {
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
355 gtk_widget_set_sensitive (dialog->open_button, FALSE);
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
356 }
8366
bfc912d5f178 [gaim-migrate @ 9091]
Kevin Stange <kstange@pidgin.im>
parents: 8351
diff changeset
357 #endif
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
358
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
359 gtk_widget_set_sensitive(dialog->remove_button, TRUE);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
360 } else if (purple_xfer_is_canceled(xfer)) {
7738
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
361 gtk_widget_hide(dialog->stop_button);
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
362 gtk_widget_show(dialog->remove_button);
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
363
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
364 gtk_widget_set_sensitive(dialog->open_button, FALSE);
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
365
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
366 gtk_widget_set_sensitive(dialog->remove_button, TRUE);
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
367 } else {
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
368 gtk_widget_show(dialog->stop_button);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
369 gtk_widget_hide(dialog->remove_button);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
370
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
371 gtk_widget_set_sensitive(dialog->open_button, FALSE);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
372 gtk_widget_set_sensitive(dialog->stop_button, TRUE);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
373 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
374 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
375
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
376 static void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
377 ensure_row_selected(PidginXferDialog *dialog)
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
378 {
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
379 GtkTreeIter iter;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
380 GtkTreeSelection *selection;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
381
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
382 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->tree));
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
383
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
384 if (gtk_tree_selection_get_selected(selection, NULL, &iter))
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
385 return;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
386
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
387 if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(dialog->model), &iter))
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
388 gtk_tree_selection_select_iter(selection, &iter);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
389 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
390
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
391 /**************************************************************************
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
392 * Callbacks
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
393 **************************************************************************/
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
394 static gint
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
395 delete_win_cb(GtkWidget *w, GdkEventAny *e, gpointer d)
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
396 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
397 PidginXferDialog *dialog;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
398
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
399 dialog = (PidginXferDialog *)d;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
400
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
401 pidgin_xfer_dialog_hide(dialog);
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
402
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
403 return TRUE;
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
404 }
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
405
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
406 static void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
407 toggle_keep_open_cb(GtkWidget *w, PidginXferDialog *dialog)
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
408 {
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
409 dialog->keep_open = !dialog->keep_open;
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
410 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/filetransfer/keep_open",
6240
0390b27fe09d [gaim-migrate @ 6734]
Christian Hammond <chipx86@chipx86.com>
parents: 5974
diff changeset
411 dialog->keep_open);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
412 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
413
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
414 static void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
415 toggle_clear_finished_cb(GtkWidget *w, PidginXferDialog *dialog)
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
416 {
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
417 dialog->auto_clear = !dialog->auto_clear;
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
418 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/filetransfer/clear_finished",
6240
0390b27fe09d [gaim-migrate @ 6734]
Christian Hammond <chipx86@chipx86.com>
parents: 5974
diff changeset
419 dialog->auto_clear);
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
420 }
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
421
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
422 static void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
423 selection_changed_cb(GtkTreeSelection *selection, PidginXferDialog *dialog)
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
424 {
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
425 GtkTreeIter iter;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
426 PurpleXfer *xfer = NULL;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
427
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
428 if (gtk_tree_selection_get_selected(selection, NULL, &iter)) {
12600
7ecd4441fdc7 [gaim-migrate @ 14934]
Richard Laager <rlaager@pidgin.im>
parents: 12483
diff changeset
429 GValue val;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
430
11735
a1d2afa9b4e9 [gaim-migrate @ 14026]
Mark Doliner <markdoliner@pidgin.im>
parents: 11639
diff changeset
431 gtk_widget_set_sensitive(dialog->expander, TRUE);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
432
12600
7ecd4441fdc7 [gaim-migrate @ 14934]
Richard Laager <rlaager@pidgin.im>
parents: 12483
diff changeset
433 val.g_type = 0;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
434 gtk_tree_model_get_value(GTK_TREE_MODEL(dialog->model),
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
435 &iter, COLUMN_DATA, &val);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
436
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
437 xfer = g_value_get_pointer(&val);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
438
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
439 update_detailed_info(dialog, xfer);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
440
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
441 dialog->selected_xfer = xfer;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
442 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
443 else {
12906
0ef3f629f00f [gaim-migrate @ 15259]
Daniel Atallah <datallah@pidgin.im>
parents: 12774
diff changeset
444 gtk_expander_set_expanded(GTK_EXPANDER(dialog->expander),
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
445 FALSE);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
446
11735
a1d2afa9b4e9 [gaim-migrate @ 14026]
Mark Doliner <markdoliner@pidgin.im>
parents: 11639
diff changeset
447 gtk_widget_set_sensitive(dialog->expander, FALSE);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
448
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
449 dialog->selected_xfer = NULL;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
450 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
451
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
452 update_buttons(dialog, xfer);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
453 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
454
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
455 static void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
456 open_button_cb(GtkButton *button, PidginXferDialog *dialog)
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
457 {
11010
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
458 #ifdef _WIN32
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
459 /* If using Win32... */
10923
f50de29e14a3 [gaim-migrate @ 12693]
Daniel Atallah <datallah@pidgin.im>
parents: 10919
diff changeset
460 int code;
29508
26abf4ffa828 Remove some win9x specific code.
Daniel Atallah <datallah@pidgin.im>
parents: 29494
diff changeset
461 wchar_t *wc_filename = g_utf8_to_utf16(
26abf4ffa828 Remove some win9x specific code.
Daniel Atallah <datallah@pidgin.im>
parents: 29494
diff changeset
462 purple_xfer_get_local_filename(
26abf4ffa828 Remove some win9x specific code.
Daniel Atallah <datallah@pidgin.im>
parents: 29494
diff changeset
463 dialog->selected_xfer),
26abf4ffa828 Remove some win9x specific code.
Daniel Atallah <datallah@pidgin.im>
parents: 29494
diff changeset
464 -1, NULL, NULL, NULL);
10923
f50de29e14a3 [gaim-migrate @ 12693]
Daniel Atallah <datallah@pidgin.im>
parents: 10919
diff changeset
465
29508
26abf4ffa828 Remove some win9x specific code.
Daniel Atallah <datallah@pidgin.im>
parents: 29494
diff changeset
466 code = (int) ShellExecuteW(NULL, NULL, wc_filename, NULL, NULL,
26abf4ffa828 Remove some win9x specific code.
Daniel Atallah <datallah@pidgin.im>
parents: 29494
diff changeset
467 SW_SHOW);
11010
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
468
29508
26abf4ffa828 Remove some win9x specific code.
Daniel Atallah <datallah@pidgin.im>
parents: 29494
diff changeset
469 g_free(wc_filename);
10923
f50de29e14a3 [gaim-migrate @ 12693]
Daniel Atallah <datallah@pidgin.im>
parents: 10919
diff changeset
470
f50de29e14a3 [gaim-migrate @ 12693]
Daniel Atallah <datallah@pidgin.im>
parents: 10919
diff changeset
471 if (code == SE_ERR_ASSOCINCOMPLETE || code == SE_ERR_NOASSOC)
f50de29e14a3 [gaim-migrate @ 12693]
Daniel Atallah <datallah@pidgin.im>
parents: 10919
diff changeset
472 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
473 purple_notify_error(dialog, NULL,
10923
f50de29e14a3 [gaim-migrate @ 12693]
Daniel Atallah <datallah@pidgin.im>
parents: 10919
diff changeset
474 _("There is no application configured to open this type of file."), NULL);
f50de29e14a3 [gaim-migrate @ 12693]
Daniel Atallah <datallah@pidgin.im>
parents: 10919
diff changeset
475 }
f50de29e14a3 [gaim-migrate @ 12693]
Daniel Atallah <datallah@pidgin.im>
parents: 10919
diff changeset
476 else if (code < 32)
f50de29e14a3 [gaim-migrate @ 12693]
Daniel Atallah <datallah@pidgin.im>
parents: 10919
diff changeset
477 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
478 purple_notify_error(dialog, NULL,
10923
f50de29e14a3 [gaim-migrate @ 12693]
Daniel Atallah <datallah@pidgin.im>
parents: 10919
diff changeset
479 _("An error occurred while opening the file."), NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
480 purple_debug_warning("ft", "filename: %s; code: %d\n",
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
481 purple_xfer_get_local_filename(dialog->selected_xfer), code);
10923
f50de29e14a3 [gaim-migrate @ 12693]
Daniel Atallah <datallah@pidgin.im>
parents: 10919
diff changeset
482 }
11010
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
483 #else
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
484 const char *filename = purple_xfer_get_local_filename(dialog->selected_xfer);
12483
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
485 char *command = NULL;
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
486 char *tmp = NULL;
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
487 GError *error = NULL;
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
488
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
489 if (purple_running_gnome())
11010
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
490 {
12483
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
491 char *escaped = g_shell_quote(filename);
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
492 command = g_strdup_printf("gnome-open %s", escaped);
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
493 g_free(escaped);
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
494 }
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
495 else if (purple_running_kde())
12483
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
496 {
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
497 char *escaped = g_shell_quote(filename);
11010
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
498
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
499 if (purple_str_has_suffix(filename, ".desktop"))
12483
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
500 command = g_strdup_printf("kfmclient openURL %s 'text/plain'", escaped);
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
501 else
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
502 command = g_strdup_printf("kfmclient openURL %s", escaped);
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
503 g_free(escaped);
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
504 }
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
505 else
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
506 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
507 purple_notify_uri(NULL, filename);
12483
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
508 return;
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
509 }
11010
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
510
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
511 if (purple_program_is_valid(command))
12483
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
512 {
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
513 gint exit_status;
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
514 if (!g_spawn_command_line_sync(command, NULL, NULL, &exit_status, &error))
11010
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
515 {
12483
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
516 tmp = g_strdup_printf(_("Error launching %s: %s"),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
517 purple_xfer_get_local_filename(dialog->selected_xfer),
12483
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
518 error->message);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
519 purple_notify_error(dialog, NULL, _("Unable to open file."), tmp);
12483
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
520 g_free(tmp);
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
521 g_error_free(error);
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
522 }
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
523 if (exit_status != 0)
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
524 {
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
525 char *primary = g_strdup_printf(_("Error running %s"), command);
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
526 char *secondary = g_strdup_printf(_("Process returned error code %d"),
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
527 exit_status);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
528 purple_notify_error(dialog, NULL, primary, secondary);
12483
38fc67810cdb [gaim-migrate @ 14795]
Richard Laager <rlaager@pidgin.im>
parents: 12421
diff changeset
529 g_free(tmp);
11010
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
530 }
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
531 }
8366
bfc912d5f178 [gaim-migrate @ 9091]
Kevin Stange <kstange@pidgin.im>
parents: 8351
diff changeset
532 #endif
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
533 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
534
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
535 static void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
536 remove_button_cb(GtkButton *button, PidginXferDialog *dialog)
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
537 {
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
538 pidgin_xfer_dialog_remove_xfer(dialog, dialog->selected_xfer);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
539 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
540
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
541 static void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
542 stop_button_cb(GtkButton *button, PidginXferDialog *dialog)
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
543 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
544 purple_xfer_cancel_local(dialog->selected_xfer);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
545 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
546
5608
b78f573998e5 [gaim-migrate @ 6012]
Robert McQueen <robot101@debian.org>
parents: 5498
diff changeset
547 static void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
548 close_button_cb(GtkButton *button, PidginXferDialog *dialog)
5608
b78f573998e5 [gaim-migrate @ 6012]
Robert McQueen <robot101@debian.org>
parents: 5498
diff changeset
549 {
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
550 pidgin_xfer_dialog_hide(dialog);
5608
b78f573998e5 [gaim-migrate @ 6012]
Robert McQueen <robot101@debian.org>
parents: 5498
diff changeset
551 }
b78f573998e5 [gaim-migrate @ 6012]
Robert McQueen <robot101@debian.org>
parents: 5498
diff changeset
552
14535
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
553
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
554 /**************************************************************************
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
555 * Dialog Building Functions
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
556 **************************************************************************/
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
557 static GtkWidget *
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
558 setup_tree(PidginXferDialog *dialog)
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
559 {
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
560 GtkWidget *tree;
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
561 GtkListStore *model;
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
562 GtkCellRenderer *renderer;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
563 GtkTreeViewColumn *column;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
564 GtkTreeSelection *selection;
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
565
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
566 /* Build the tree model */
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
567 /* Transfer type, Progress Bar, Filename, Size, Remaining */
29772
00ac6589c56a The official GTK+ version of CellRendererProgress uses "value" which is an
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
568 model = gtk_list_store_new(NUM_COLUMNS, GDK_TYPE_PIXBUF, G_TYPE_INT,
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
569 G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING,
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
570 G_TYPE_POINTER);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
571 dialog->model = model;
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
572
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
573 /* Create the treeview */
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
574 dialog->tree = tree = gtk_tree_view_new_with_model(GTK_TREE_MODEL(model));
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
575 gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(tree), TRUE);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
576 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree));
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
577 /* gtk_tree_selection_set_mode(selection, GTK_SELECTION_MULTIPLE); */
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
578
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
579 gtk_widget_show(tree);
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
580
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
581 g_signal_connect(G_OBJECT(selection), "changed",
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
582 G_CALLBACK(selection_changed_cb), dialog);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
583
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
584 g_object_unref(G_OBJECT(model));
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
585
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
586
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
587 /* Columns */
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
588
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
589 /* Transfer Type column */
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
590 renderer = gtk_cell_renderer_pixbuf_new();
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
591 column = gtk_tree_view_column_new_with_attributes(NULL, renderer,
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
592 "pixbuf", COLUMN_STATUS, NULL);
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
593 gtk_tree_view_column_set_sizing(GTK_TREE_VIEW_COLUMN(column),
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
594 GTK_TREE_VIEW_COLUMN_FIXED);
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
595 gtk_tree_view_column_set_fixed_width(GTK_TREE_VIEW_COLUMN(column), 25);
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
596 gtk_tree_view_column_set_resizable(GTK_TREE_VIEW_COLUMN(column), TRUE);
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
597 gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
598
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
599 /* Progress bar column */
29494
2908aa45d22f Drop a crapton of GTK+ code that we were carrying exclusively for backward
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27982
diff changeset
600 renderer = gtk_cell_renderer_progress_new();
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
601 column = gtk_tree_view_column_new_with_attributes(_("Progress"), renderer,
29772
00ac6589c56a The official GTK+ version of CellRendererProgress uses "value" which is an
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
602 "value", COLUMN_PROGRESS, NULL);
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
603 gtk_tree_view_column_set_resizable(GTK_TREE_VIEW_COLUMN(column), TRUE);
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
604 gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
605
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
606 /* Filename column */
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
607 renderer = gtk_cell_renderer_text_new();
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
608 column = gtk_tree_view_column_new_with_attributes(_("Filename"), renderer,
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
609 "text", COLUMN_FILENAME, NULL);
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
610 gtk_tree_view_column_set_resizable(GTK_TREE_VIEW_COLUMN(column), TRUE);
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
611 gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
612
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
613 /* File Size column */
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
614 renderer = gtk_cell_renderer_text_new();
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
615 column = gtk_tree_view_column_new_with_attributes(_("Size"), renderer,
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
616 "text", COLUMN_SIZE, NULL);
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
617 gtk_tree_view_column_set_resizable(GTK_TREE_VIEW_COLUMN(column), TRUE);
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
618 gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
619
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
620 /* Bytes Remaining column */
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
621 renderer = gtk_cell_renderer_text_new();
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
622 column = gtk_tree_view_column_new_with_attributes(_("Remaining"),
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
623 renderer, "text", COLUMN_REMAINING, NULL);
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
624 gtk_tree_view_column_set_resizable(GTK_TREE_VIEW_COLUMN(column), TRUE);
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
625 gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
626
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
627 gtk_tree_view_columns_autosize(GTK_TREE_VIEW(tree));
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
628
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
629 gtk_widget_show(tree);
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
630
31321
1fef3832cfa2 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: 31294
diff changeset
631 return tree;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
632 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
633
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
634 static GtkWidget *
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
635 make_info_table(PidginXferDialog *dialog)
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
636 {
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
637 GtkWidget *table;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
638 GtkWidget *label;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
639 int i;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
640
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
641 struct
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
642 {
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
643 GtkWidget **desc_label;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
644 GtkWidget **val_label;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
645 const char *desc;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
646
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
647 } labels[] =
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
648 {
9785
14fe4689ff01 [gaim-migrate @ 10653]
Tim Ringenbach <marv@pidgin.im>
parents: 9606
diff changeset
649 { &dialog->local_user_desc_label, &dialog->local_user_label, NULL },
14fe4689ff01 [gaim-migrate @ 10653]
Tim Ringenbach <marv@pidgin.im>
parents: 9606
diff changeset
650 { &dialog->remote_user_desc_label, &dialog->remote_user_label, NULL },
10911
e2cc7dddee17 [gaim-migrate @ 12665]
Daniel Atallah <datallah@pidgin.im>
parents: 10654
diff changeset
651 { &label, &dialog->protocol_label, _("Protocol:") },
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
652 { &label, &dialog->filename_label, _("Filename:") },
10911
e2cc7dddee17 [gaim-migrate @ 12665]
Daniel Atallah <datallah@pidgin.im>
parents: 10654
diff changeset
653 { &label, &dialog->localfile_label, _("Local File:") },
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
654 { &label, &dialog->status_label, _("Status:") },
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
655 { &label, &dialog->speed_label, _("Speed:") },
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
656 { &label, &dialog->time_elapsed_label, _("Time Elapsed:") },
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
657 { &label, &dialog->time_remaining_label, _("Time Remaining:") }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
658 };
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
659
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
660 /* Setup the initial table */
27327
4766fe5f9209 The FT table needs to have one more row to be correct, though it seems to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27324
diff changeset
661 dialog->table = table = gtk_table_new(G_N_ELEMENTS(labels) + 1, 2, FALSE);
15882
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15692
diff changeset
662 gtk_table_set_row_spacings(GTK_TABLE(table), PIDGIN_HIG_BOX_SPACE);
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15692
diff changeset
663 gtk_table_set_col_spacings(GTK_TABLE(table), PIDGIN_HIG_BOX_SPACE);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
664
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
665 /* Setup the labels */
27324
65ba060b41af Restore the "Time Remaining" field in the file transfer window, but not in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23475
diff changeset
666 for (i = 0; i < G_N_ELEMENTS(labels); i++) {
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
667 GtkWidget *label;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
668 char buf[256];
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
669
4894
83d287768f87 [gaim-migrate @ 5226]
Taso N. Devetzis
parents: 4719
diff changeset
670 g_snprintf(buf, sizeof(buf), "<b>%s</b>",
83d287768f87 [gaim-migrate @ 5226]
Taso N. Devetzis
parents: 4719
diff changeset
671 labels[i].desc != NULL ? labels[i].desc : "");
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
672
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
673 *labels[i].desc_label = label = gtk_label_new(NULL);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
674 gtk_label_set_markup(GTK_LABEL(label), buf);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
675 gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_RIGHT);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
676 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
677 gtk_table_attach(GTK_TABLE(table), label, 0, 1, i, i + 1,
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
678 GTK_FILL, 0, 0, 0);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
679 gtk_widget_show(label);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
680
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
681 *labels[i].val_label = label = gtk_label_new(NULL);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
682 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
683 gtk_table_attach(GTK_TABLE(table), label, 1, 2, i, i + 1,
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
684 GTK_FILL | GTK_EXPAND, 0, 0, 0);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
685 gtk_widget_show(label);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
686 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
687
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
688 /* Setup the progress bar */
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
689 dialog->progress = gtk_progress_bar_new();
27324
65ba060b41af Restore the "Time Remaining" field in the file transfer window, but not in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23475
diff changeset
690 gtk_table_attach(GTK_TABLE(table), dialog->progress,
65ba060b41af Restore the "Time Remaining" field in the file transfer window, but not in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23475
diff changeset
691 0, 2,
65ba060b41af Restore the "Time Remaining" field in the file transfer window, but not in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23475
diff changeset
692 G_N_ELEMENTS(labels), G_N_ELEMENTS(labels) + 1,
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
693 GTK_FILL, GTK_FILL, 0, 0);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
694 gtk_widget_show(dialog->progress);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
695
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
696 return table;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
697 }
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
698
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
699 PidginXferDialog *
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
700 pidgin_xfer_dialog_new(void)
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
701 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
702 PidginXferDialog *dialog;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
703 GtkWidget *window;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
704 GtkWidget *vbox1, *vbox2;
11735
a1d2afa9b4e9 [gaim-migrate @ 14026]
Mark Doliner <markdoliner@pidgin.im>
parents: 11639
diff changeset
705 GtkWidget *expander;
29161
d7bba1ea597b Add a GtkAlignment to create a small indent for the file transfer details.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27982
diff changeset
706 GtkWidget *alignment;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
707 GtkWidget *table;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
708 GtkWidget *checkbox;
29321
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
709 GtkWidget *bbox;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
710
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
711 dialog = g_new0(PidginXferDialog, 1);
6240
0390b27fe09d [gaim-migrate @ 6734]
Christian Hammond <chipx86@chipx86.com>
parents: 5974
diff changeset
712 dialog->keep_open =
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
713 purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/filetransfer/keep_open");
6240
0390b27fe09d [gaim-migrate @ 6734]
Christian Hammond <chipx86@chipx86.com>
parents: 5974
diff changeset
714 dialog->auto_clear =
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
715 purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/filetransfer/clear_finished");
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
716
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
717 /* Create the window. */
29321
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
718 dialog->window = window = pidgin_create_window(_("File Transfers"), PIDGIN_HIG_BORDER, "file transfer", TRUE);
27982
9449faaadb13 ft: Set an initial size for the dialog; that shrunk it way too much.
Paul Aurich <darkrain42@pidgin.im>
parents: 27981
diff changeset
719 gtk_window_set_default_size(GTK_WINDOW(window), 450, 250);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
720
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
721 g_signal_connect(G_OBJECT(window), "delete_event",
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
722 G_CALLBACK(delete_win_cb), dialog);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
723
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
724 /* Create the parent vbox for everything. */
29321
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
725 vbox1 = gtk_vbox_new(FALSE, 0);
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
726 gtk_widget_show(vbox1);
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
727 gtk_container_add(GTK_CONTAINER(window), vbox1);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
728
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
729 /* Create the main vbox for top half of the window. */
15882
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15692
diff changeset
730 vbox2 = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
731 gtk_box_pack_start(GTK_BOX(vbox1), vbox2, TRUE, TRUE, 0);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
732 gtk_widget_show(vbox2);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
733
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
734 /* Setup the listbox */
32271
c23069a2b82b Use accessors for PurpleXfer
Daniel Atallah <datallah@pidgin.im>
parents: 32250
diff changeset
735 gtk_box_pack_start(GTK_BOX(vbox2),
c23069a2b82b Use accessors for PurpleXfer
Daniel Atallah <datallah@pidgin.im>
parents: 32250
diff changeset
736 pidgin_make_scrollable(setup_tree(dialog), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC, GTK_SHADOW_IN, -1, 140),
31321
1fef3832cfa2 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: 31294
diff changeset
737 TRUE, TRUE, 0);
7272
f8335b8f1f1c [gaim-migrate @ 7849]
Christian Hammond <chipx86@chipx86.com>
parents: 7107
diff changeset
738
11896
2c70e36de614 [gaim-migrate @ 14187]
Richard Laager <rlaager@pidgin.im>
parents: 11735
diff changeset
739 /* "Close this window when all transfers finish" */
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
740 checkbox = gtk_check_button_new_with_mnemonic(
12331
c6881a883c0f [gaim-migrate @ 14635]
Mark Doliner <markdoliner@pidgin.im>
parents: 11994
diff changeset
741 _("Close this window when all transfers _finish"));
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
742 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbox),
11896
2c70e36de614 [gaim-migrate @ 14187]
Richard Laager <rlaager@pidgin.im>
parents: 11735
diff changeset
743 !dialog->keep_open);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
744 g_signal_connect(G_OBJECT(checkbox), "toggled",
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
745 G_CALLBACK(toggle_keep_open_cb), dialog);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
746 gtk_box_pack_start(GTK_BOX(vbox2), checkbox, FALSE, FALSE, 0);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
747 gtk_widget_show(checkbox);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
748
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
749 /* "Clear finished transfers" */
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
750 checkbox = gtk_check_button_new_with_mnemonic(
11639
eb367d4028fa [gaim-migrate @ 13915]
Will Thompson <resiak@pidgin.im>
parents: 11406
diff changeset
751 _("C_lear finished transfers"));
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
752 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbox),
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
753 dialog->auto_clear);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
754 g_signal_connect(G_OBJECT(checkbox), "toggled",
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
755 G_CALLBACK(toggle_clear_finished_cb), dialog);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
756 gtk_box_pack_start(GTK_BOX(vbox2), checkbox, FALSE, FALSE, 0);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
757 gtk_widget_show(checkbox);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
758
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
759 /* "Download Details" arrow */
11735
a1d2afa9b4e9 [gaim-migrate @ 14026]
Mark Doliner <markdoliner@pidgin.im>
parents: 11639
diff changeset
760 expander = gtk_expander_new_with_mnemonic(_("File transfer _details"));
a1d2afa9b4e9 [gaim-migrate @ 14026]
Mark Doliner <markdoliner@pidgin.im>
parents: 11639
diff changeset
761 dialog->expander = expander;
a1d2afa9b4e9 [gaim-migrate @ 14026]
Mark Doliner <markdoliner@pidgin.im>
parents: 11639
diff changeset
762 gtk_box_pack_start(GTK_BOX(vbox2), expander, FALSE, FALSE, 0);
a1d2afa9b4e9 [gaim-migrate @ 14026]
Mark Doliner <markdoliner@pidgin.im>
parents: 11639
diff changeset
763 gtk_widget_show(expander);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
764
11735
a1d2afa9b4e9 [gaim-migrate @ 14026]
Mark Doliner <markdoliner@pidgin.im>
parents: 11639
diff changeset
765 gtk_widget_set_sensitive(expander, FALSE);
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
766
29161
d7bba1ea597b Add a GtkAlignment to create a small indent for the file transfer details.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27982
diff changeset
767 /* Small indent make table fall under GtkExpander's label */
d7bba1ea597b Add a GtkAlignment to create a small indent for the file transfer details.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27982
diff changeset
768 alignment = gtk_alignment_new(1, 0, 1, 1);
d7bba1ea597b Add a GtkAlignment to create a small indent for the file transfer details.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27982
diff changeset
769 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 20, 0);
d7bba1ea597b Add a GtkAlignment to create a small indent for the file transfer details.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27982
diff changeset
770 gtk_container_add(GTK_CONTAINER(expander), alignment);
d7bba1ea597b Add a GtkAlignment to create a small indent for the file transfer details.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27982
diff changeset
771 gtk_widget_show(alignment);
d7bba1ea597b Add a GtkAlignment to create a small indent for the file transfer details.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27982
diff changeset
772
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
773 /* The table of information. */
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
774 table = make_info_table(dialog);
29161
d7bba1ea597b Add a GtkAlignment to create a small indent for the file transfer details.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27982
diff changeset
775 gtk_container_add(GTK_CONTAINER(alignment), table);
11735
a1d2afa9b4e9 [gaim-migrate @ 14026]
Mark Doliner <markdoliner@pidgin.im>
parents: 11639
diff changeset
776 gtk_widget_show(table);
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
777
29321
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
778 bbox = gtk_hbutton_box_new();
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
779 gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END);
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
780 gtk_box_set_spacing(GTK_BOX(bbox), PIDGIN_HIG_BOX_SPACE);
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
781 gtk_box_pack_end(GTK_BOX(vbox1), bbox, FALSE, TRUE, 0);
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
782 gtk_widget_show(bbox);
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
783
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
784 #define ADD_BUTTON(b, label, callback, callbackdata) do { \
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
785 GtkWidget *button = gtk_button_new_from_stock(label); \
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
786 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0); \
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
787 g_signal_connect(G_OBJECT(button), "clicked", callback, callbackdata); \
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
788 gtk_widget_show(button); \
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
789 b = button; \
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
790 } while (0)
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
791
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
792 /* Open button */
29321
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
793 ADD_BUTTON(dialog->open_button, GTK_STOCK_OPEN, G_CALLBACK(open_button_cb), dialog);
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
794 gtk_widget_set_sensitive(dialog->open_button, FALSE);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
795
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
796 /* Remove button */
29321
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
797 ADD_BUTTON(dialog->remove_button, GTK_STOCK_REMOVE, G_CALLBACK(remove_button_cb), dialog);
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
798 gtk_widget_hide(dialog->remove_button);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
799
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
800 /* Stop button */
29321
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
801 ADD_BUTTON(dialog->stop_button, GTK_STOCK_STOP, G_CALLBACK(stop_button_cb), dialog);
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
802 gtk_widget_set_sensitive(dialog->stop_button, FALSE);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
803
5608
b78f573998e5 [gaim-migrate @ 6012]
Robert McQueen <robot101@debian.org>
parents: 5498
diff changeset
804 /* Close button */
29321
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
805 ADD_BUTTON(dialog->close_button, GTK_STOCK_CLOSE, G_CALLBACK(close_button_cb), dialog);
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
806
c089a3e0092e De-dialogify the file-transfer and debug windows.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29161
diff changeset
807 #undef ADD_BUTTON
5608
b78f573998e5 [gaim-migrate @ 6012]
Robert McQueen <robot101@debian.org>
parents: 5498
diff changeset
808
14726
d8a663833430 [gaim-migrate @ 17410]
Daniel Atallah <datallah@pidgin.im>
parents: 14535
diff changeset
809 #ifdef _WIN32
d8a663833430 [gaim-migrate @ 17410]
Daniel Atallah <datallah@pidgin.im>
parents: 14535
diff changeset
810 g_signal_connect(G_OBJECT(dialog->window), "show",
15574
18d9d1c05994 Win32 de-gaimification of pidgin
Daniel Atallah <datallah@pidgin.im>
parents: 15570
diff changeset
811 G_CALLBACK(winpidgin_ensure_onscreen), dialog->window);
14726
d8a663833430 [gaim-migrate @ 17410]
Daniel Atallah <datallah@pidgin.im>
parents: 14535
diff changeset
812 #endif
d8a663833430 [gaim-migrate @ 17410]
Daniel Atallah <datallah@pidgin.im>
parents: 14535
diff changeset
813
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
814 return dialog;
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
815 }
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
816
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
817 void
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
818 pidgin_xfer_dialog_destroy(PidginXferDialog *dialog)
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
819 {
6240
0390b27fe09d [gaim-migrate @ 6734]
Christian Hammond <chipx86@chipx86.com>
parents: 5974
diff changeset
820 g_return_if_fail(dialog != NULL);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
821
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
822 purple_notify_close_with_handle(dialog);
11010
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
823
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
824 gtk_widget_destroy(dialog->window);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
825
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
826 g_free(dialog);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
827 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
828
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
829 void
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
830 pidgin_xfer_dialog_show(PidginXferDialog *dialog)
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
831 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
832 PidginXferDialog *tmp;
14456
eb757f0f9749 [gaim-migrate @ 17102]
Etan Reisner <deryni@pidgin.im>
parents: 14253
diff changeset
833
eb757f0f9749 [gaim-migrate @ 17102]
Etan Reisner <deryni@pidgin.im>
parents: 14253
diff changeset
834 if (dialog == NULL) {
15692
ecda27df58b9 Some more pidgininfication
Daniel Atallah <datallah@pidgin.im>
parents: 15578
diff changeset
835 tmp = pidgin_get_xfer_dialog();
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
836
14456
eb757f0f9749 [gaim-migrate @ 17102]
Etan Reisner <deryni@pidgin.im>
parents: 14253
diff changeset
837 if (tmp == NULL) {
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
838 tmp = pidgin_xfer_dialog_new();
15692
ecda27df58b9 Some more pidgininfication
Daniel Atallah <datallah@pidgin.im>
parents: 15578
diff changeset
839 pidgin_set_xfer_dialog(tmp);
14456
eb757f0f9749 [gaim-migrate @ 17102]
Etan Reisner <deryni@pidgin.im>
parents: 14253
diff changeset
840 }
eb757f0f9749 [gaim-migrate @ 17102]
Etan Reisner <deryni@pidgin.im>
parents: 14253
diff changeset
841
eb757f0f9749 [gaim-migrate @ 17102]
Etan Reisner <deryni@pidgin.im>
parents: 14253
diff changeset
842 gtk_widget_show(tmp->window);
eb757f0f9749 [gaim-migrate @ 17102]
Etan Reisner <deryni@pidgin.im>
parents: 14253
diff changeset
843 } else {
20248
fdafd57b1d99 applied changes from e82ae16ed445d6896fec536a492fcc17bc6098e4
Luke Schierer <lschiere@pidgin.im>
parents: 20147
diff changeset
844 gtk_window_present(GTK_WINDOW(dialog->window));
14456
eb757f0f9749 [gaim-migrate @ 17102]
Etan Reisner <deryni@pidgin.im>
parents: 14253
diff changeset
845 }
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
846 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
847
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
848 void
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
849 pidgin_xfer_dialog_hide(PidginXferDialog *dialog)
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
850 {
6240
0390b27fe09d [gaim-migrate @ 6734]
Christian Hammond <chipx86@chipx86.com>
parents: 5974
diff changeset
851 g_return_if_fail(dialog != NULL);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
852
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
853 purple_notify_close_with_handle(dialog);
11010
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
854
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
855 gtk_widget_hide(dialog->window);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
856 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
857
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
858 void
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
859 pidgin_xfer_dialog_add_xfer(PidginXferDialog *dialog, PurpleXfer *xfer)
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
860 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
861 PidginXferUiData *data;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
862 PurpleXferType type;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
863 GdkPixbuf *pixbuf;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
864 char *size_str, *remaining_str;
10919
22fba24cd16e [gaim-migrate @ 12683]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10911
diff changeset
865 char *lfilename, *utf8;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
866
6240
0390b27fe09d [gaim-migrate @ 6734]
Christian Hammond <chipx86@chipx86.com>
parents: 5974
diff changeset
867 g_return_if_fail(dialog != NULL);
0390b27fe09d [gaim-migrate @ 6734]
Christian Hammond <chipx86@chipx86.com>
parents: 5974
diff changeset
868 g_return_if_fail(xfer != NULL);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
869
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
870 purple_xfer_ref(xfer);
7805
6045c467441e [gaim-migrate @ 8452]
Tim Ringenbach <marv@pidgin.im>
parents: 7738
diff changeset
871
32250
c77e715af24a Update Pidgin to use the new accessor methods.
Andrew Victor <andrew.victor@mxit.com>
parents: 31889
diff changeset
872 data = purple_xfer_get_ui_data(xfer);
7805
6045c467441e [gaim-migrate @ 8452]
Tim Ringenbach <marv@pidgin.im>
parents: 7738
diff changeset
873 data->in_list = TRUE;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
874
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
875 pidgin_xfer_dialog_show(dialog);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
876
11925
458844cb2ee7 [gaim-migrate @ 14216]
John Eckerdal
parents: 11896
diff changeset
877 data->last_updated_time = 0;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
878
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
879 type = purple_xfer_get_type(xfer);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
880
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
881 size_str = purple_str_size_to_units(purple_xfer_get_size(xfer));
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
882 remaining_str = purple_str_size_to_units(purple_xfer_get_bytes_remaining(xfer));
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
883
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
884 pixbuf = gtk_widget_render_icon(dialog->window,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
885 (type == PURPLE_XFER_RECEIVE
15570
81e9b7d13875 stock to pidgin
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
886 ? PIDGIN_STOCK_DOWNLOAD
81e9b7d13875 stock to pidgin
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
887 : PIDGIN_STOCK_UPLOAD),
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
888 GTK_ICON_SIZE_MENU, NULL);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
889
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
890 gtk_list_store_append(dialog->model, &data->iter);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
891 lfilename = g_path_get_basename(purple_xfer_get_local_filename(xfer));
10919
22fba24cd16e [gaim-migrate @ 12683]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10911
diff changeset
892 utf8 = g_filename_to_utf8(lfilename, -1, NULL, NULL, NULL);
22fba24cd16e [gaim-migrate @ 12683]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10911
diff changeset
893 g_free(lfilename);
22fba24cd16e [gaim-migrate @ 12683]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10911
diff changeset
894 lfilename = utf8;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
895 gtk_list_store_set(dialog->model, &data->iter,
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
896 COLUMN_STATUS, pixbuf,
29772
00ac6589c56a The official GTK+ version of CellRendererProgress uses "value" which is an
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
897 COLUMN_PROGRESS, 0,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
898 COLUMN_FILENAME, (type == PURPLE_XFER_RECEIVE)
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
899 ? purple_xfer_get_filename(xfer)
7738
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
900 : lfilename,
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
901 COLUMN_SIZE, size_str,
9785
14fe4689ff01 [gaim-migrate @ 10653]
Tim Ringenbach <marv@pidgin.im>
parents: 9606
diff changeset
902 COLUMN_REMAINING, _("Waiting for transfer to begin"),
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
903 COLUMN_DATA, xfer,
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
904 -1);
7738
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
905 g_free(lfilename);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
906
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
907 gtk_tree_view_columns_autosize(GTK_TREE_VIEW(dialog->tree));
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
908
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
909 g_object_unref(pixbuf);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
910
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
911 g_free(size_str);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
912 g_free(remaining_str);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
913
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
914 dialog->num_transfers++;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
915
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
916 ensure_row_selected(dialog);
14535
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
917 update_title_progress(dialog);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
918 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
919
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
920 void
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
921 pidgin_xfer_dialog_remove_xfer(PidginXferDialog *dialog,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
922 PurpleXfer *xfer)
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
923 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
924 PidginXferUiData *data;
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
925
6240
0390b27fe09d [gaim-migrate @ 6734]
Christian Hammond <chipx86@chipx86.com>
parents: 5974
diff changeset
926 g_return_if_fail(dialog != NULL);
0390b27fe09d [gaim-migrate @ 6734]
Christian Hammond <chipx86@chipx86.com>
parents: 5974
diff changeset
927 g_return_if_fail(xfer != NULL);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
928
32250
c77e715af24a Update Pidgin to use the new accessor methods.
Andrew Victor <andrew.victor@mxit.com>
parents: 31889
diff changeset
929 data = purple_xfer_get_ui_data(xfer);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
930
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
931 if (data == NULL)
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
932 return;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
933
7805
6045c467441e [gaim-migrate @ 8452]
Tim Ringenbach <marv@pidgin.im>
parents: 7738
diff changeset
934 if (!data->in_list)
6045c467441e [gaim-migrate @ 8452]
Tim Ringenbach <marv@pidgin.im>
parents: 7738
diff changeset
935 return;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
936
7805
6045c467441e [gaim-migrate @ 8452]
Tim Ringenbach <marv@pidgin.im>
parents: 7738
diff changeset
937 data->in_list = FALSE;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
938
7805
6045c467441e [gaim-migrate @ 8452]
Tim Ringenbach <marv@pidgin.im>
parents: 7738
diff changeset
939 gtk_list_store_remove(GTK_LIST_STORE(dialog->model), &data->iter);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
940
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
941 dialog->num_transfers--;
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
942
15398
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
943 ensure_row_selected(dialog);
7805
6045c467441e [gaim-migrate @ 8452]
Tim Ringenbach <marv@pidgin.im>
parents: 7738
diff changeset
944
14535
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
945 update_title_progress(dialog);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
946 purple_xfer_unref(xfer);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
947 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
948
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
949 void
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
950 pidgin_xfer_dialog_cancel_xfer(PidginXferDialog *dialog,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
951 PurpleXfer *xfer)
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
952 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
953 PidginXferUiData *data;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
954 GdkPixbuf *pixbuf;
13107
704041197f4d [gaim-migrate @ 15468]
Richard Laager <rlaager@pidgin.im>
parents: 12906
diff changeset
955 const gchar *status;
7738
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
956
6240
0390b27fe09d [gaim-migrate @ 6734]
Christian Hammond <chipx86@chipx86.com>
parents: 5974
diff changeset
957 g_return_if_fail(dialog != NULL);
0390b27fe09d [gaim-migrate @ 6734]
Christian Hammond <chipx86@chipx86.com>
parents: 5974
diff changeset
958 g_return_if_fail(xfer != NULL);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
959
32250
c77e715af24a Update Pidgin to use the new accessor methods.
Andrew Victor <andrew.victor@mxit.com>
parents: 31889
diff changeset
960 data = purple_xfer_get_ui_data(xfer);
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
961
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
962 if (data == NULL)
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
963 return;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
964
8282
2c6d8739141a [gaim-migrate @ 9006]
Tim Ringenbach <marv@pidgin.im>
parents: 8046
diff changeset
965 if (!data->in_list)
2c6d8739141a [gaim-migrate @ 9006]
Tim Ringenbach <marv@pidgin.im>
parents: 8046
diff changeset
966 return;
7738
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
967
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
968 if ((purple_xfer_get_status(xfer) == PURPLE_XFER_STATUS_CANCEL_LOCAL) && (dialog->auto_clear)) {
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
969 pidgin_xfer_dialog_remove_xfer(dialog, xfer);
7738
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
970 return;
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
971 }
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
972
32250
c77e715af24a Update Pidgin to use the new accessor methods.
Andrew Victor <andrew.victor@mxit.com>
parents: 31889
diff changeset
973 data = purple_xfer_get_ui_data(xfer);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
974
9017
049f37b0ce05 [gaim-migrate @ 9793]
Kevin Stange <kstange@pidgin.im>
parents: 8585
diff changeset
975 update_detailed_info(dialog, xfer);
14535
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
976 update_title_progress(dialog);
9017
049f37b0ce05 [gaim-migrate @ 9793]
Kevin Stange <kstange@pidgin.im>
parents: 8585
diff changeset
977
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
978 pixbuf = gtk_widget_render_icon(dialog->window,
15570
81e9b7d13875 stock to pidgin
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
979 PIDGIN_STOCK_FILE_CANCELED,
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
980 GTK_ICON_SIZE_MENU, NULL);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
981
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
982 if (purple_xfer_is_canceled(xfer))
30708
535bec1e66fb Standardize on "cancelled".
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30706
diff changeset
983 status = _("Cancelled");
7738
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
984 else
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
985 status = _("Failed");
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
986
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
987 gtk_list_store_set(dialog->model, &data->iter,
7738
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
988 COLUMN_STATUS, pixbuf,
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
989 COLUMN_REMAINING, status,
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
990 -1);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
991
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
992 g_object_unref(pixbuf);
7738
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
993
ebb766ef2146 [gaim-migrate @ 8383]
Tim Ringenbach <marv@pidgin.im>
parents: 7272
diff changeset
994 update_buttons(dialog, xfer);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
995 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
996
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
997 void
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
998 pidgin_xfer_dialog_update_xfer(PidginXferDialog *dialog,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
999 PurpleXfer *xfer)
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1000 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1001 PidginXferUiData *data;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1002 char *size_str, *remaining_str;
11925
458844cb2ee7 [gaim-migrate @ 14216]
John Eckerdal
parents: 11896
diff changeset
1003 time_t current_time;
15398
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1004 GtkTreeIter iter;
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1005 gboolean valid;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1006
6240
0390b27fe09d [gaim-migrate @ 6734]
Christian Hammond <chipx86@chipx86.com>
parents: 5974
diff changeset
1007 g_return_if_fail(dialog != NULL);
0390b27fe09d [gaim-migrate @ 6734]
Christian Hammond <chipx86@chipx86.com>
parents: 5974
diff changeset
1008 g_return_if_fail(xfer != NULL);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1009
32250
c77e715af24a Update Pidgin to use the new accessor methods.
Andrew Victor <andrew.victor@mxit.com>
parents: 31889
diff changeset
1010 if ((data = purple_xfer_get_ui_data(xfer)) == NULL)
4656
b676f986e7e3 [gaim-migrate @ 4967]
Mark Doliner <markdoliner@pidgin.im>
parents: 4646
diff changeset
1011 return;
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1012
7805
6045c467441e [gaim-migrate @ 8452]
Tim Ringenbach <marv@pidgin.im>
parents: 7738
diff changeset
1013 if (data->in_list == FALSE)
6045c467441e [gaim-migrate @ 8452]
Tim Ringenbach <marv@pidgin.im>
parents: 7738
diff changeset
1014 return;
6045c467441e [gaim-migrate @ 8452]
Tim Ringenbach <marv@pidgin.im>
parents: 7738
diff changeset
1015
11925
458844cb2ee7 [gaim-migrate @ 14216]
John Eckerdal
parents: 11896
diff changeset
1016 current_time = time(NULL);
458844cb2ee7 [gaim-migrate @ 14216]
John Eckerdal
parents: 11896
diff changeset
1017 if (((current_time - data->last_updated_time) == 0) &&
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1018 (!purple_xfer_is_completed(xfer)))
11925
458844cb2ee7 [gaim-migrate @ 14216]
John Eckerdal
parents: 11896
diff changeset
1019 {
458844cb2ee7 [gaim-migrate @ 14216]
John Eckerdal
parents: 11896
diff changeset
1020 /* Don't update the window more than once per second */
458844cb2ee7 [gaim-migrate @ 14216]
John Eckerdal
parents: 11896
diff changeset
1021 return;
458844cb2ee7 [gaim-migrate @ 14216]
John Eckerdal
parents: 11896
diff changeset
1022 }
458844cb2ee7 [gaim-migrate @ 14216]
John Eckerdal
parents: 11896
diff changeset
1023 data->last_updated_time = current_time;
458844cb2ee7 [gaim-migrate @ 14216]
John Eckerdal
parents: 11896
diff changeset
1024
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1025 size_str = purple_str_size_to_units(purple_xfer_get_size(xfer));
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1026 remaining_str = purple_str_size_to_units(purple_xfer_get_bytes_remaining(xfer));
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1027
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1028 gtk_list_store_set(xfer_dialog->model, &data->iter,
29772
00ac6589c56a The official GTK+ version of CellRendererProgress uses "value" which is an
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29694
diff changeset
1029 COLUMN_PROGRESS, (gint)(purple_xfer_get_progress(xfer) * 100),
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1030 COLUMN_SIZE, size_str,
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1031 COLUMN_REMAINING, remaining_str,
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1032 -1);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1033
22590
174fe7103cbd some memleak fixes from Andrew Gaul again:
Andrew Gaul <andrew@gaul.org>
parents: 22063
diff changeset
1034 g_free(size_str);
174fe7103cbd some memleak fixes from Andrew Gaul again:
Andrew Gaul <andrew@gaul.org>
parents: 22063
diff changeset
1035 g_free(remaining_str);
174fe7103cbd some memleak fixes from Andrew Gaul again:
Andrew Gaul <andrew@gaul.org>
parents: 22063
diff changeset
1036
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1037 if (purple_xfer_is_completed(xfer))
11925
458844cb2ee7 [gaim-migrate @ 14216]
John Eckerdal
parents: 11896
diff changeset
1038 {
4607
c1a24e3c94f3 [gaim-migrate @ 4895]
Mark Doliner <markdoliner@pidgin.im>
parents: 4604
diff changeset
1039 GdkPixbuf *pixbuf;
c1a24e3c94f3 [gaim-migrate @ 4895]
Mark Doliner <markdoliner@pidgin.im>
parents: 4604
diff changeset
1040
c1a24e3c94f3 [gaim-migrate @ 4895]
Mark Doliner <markdoliner@pidgin.im>
parents: 4604
diff changeset
1041 pixbuf = gtk_widget_render_icon(dialog->window,
15570
81e9b7d13875 stock to pidgin
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
1042 PIDGIN_STOCK_FILE_DONE,
4607
c1a24e3c94f3 [gaim-migrate @ 4895]
Mark Doliner <markdoliner@pidgin.im>
parents: 4604
diff changeset
1043 GTK_ICON_SIZE_MENU, NULL);
c1a24e3c94f3 [gaim-migrate @ 4895]
Mark Doliner <markdoliner@pidgin.im>
parents: 4604
diff changeset
1044
c1a24e3c94f3 [gaim-migrate @ 4895]
Mark Doliner <markdoliner@pidgin.im>
parents: 4604
diff changeset
1045 gtk_list_store_set(GTK_LIST_STORE(xfer_dialog->model), &data->iter,
c1a24e3c94f3 [gaim-migrate @ 4895]
Mark Doliner <markdoliner@pidgin.im>
parents: 4604
diff changeset
1046 COLUMN_STATUS, pixbuf,
8351
216d9836e839 [gaim-migrate @ 9075]
Tim Ringenbach <marv@pidgin.im>
parents: 8282
diff changeset
1047 COLUMN_REMAINING, _("Finished"),
4607
c1a24e3c94f3 [gaim-migrate @ 4895]
Mark Doliner <markdoliner@pidgin.im>
parents: 4604
diff changeset
1048 -1);
c1a24e3c94f3 [gaim-migrate @ 4895]
Mark Doliner <markdoliner@pidgin.im>
parents: 4604
diff changeset
1049
c1a24e3c94f3 [gaim-migrate @ 4895]
Mark Doliner <markdoliner@pidgin.im>
parents: 4604
diff changeset
1050 g_object_unref(pixbuf);
11925
458844cb2ee7 [gaim-migrate @ 14216]
John Eckerdal
parents: 11896
diff changeset
1051 }
4607
c1a24e3c94f3 [gaim-migrate @ 4895]
Mark Doliner <markdoliner@pidgin.im>
parents: 4604
diff changeset
1052
14535
c39c8159eb84 [gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents: 14456
diff changeset
1053 update_title_progress(dialog);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1054 if (xfer == dialog->selected_xfer)
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1055 update_detailed_info(xfer_dialog, xfer);
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1056
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1057 if (purple_xfer_is_completed(xfer) && dialog->auto_clear)
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
1058 pidgin_xfer_dialog_remove_xfer(dialog, xfer);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1059 else
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1060 update_buttons(dialog, xfer);
15398
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1061
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1062 /*
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1063 * If all transfers are finished, and the pref is set, then
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1064 * close the dialog. Otherwise just exit this function.
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1065 */
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1066 if (dialog->keep_open)
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1067 return;
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1068
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1069 valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(dialog->model), &iter);
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1070 while (valid)
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1071 {
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1072 GValue val;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1073 PurpleXfer *next;
15398
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1074
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1075 val.g_type = 0;
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1076 gtk_tree_model_get_value(GTK_TREE_MODEL(dialog->model),
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1077 &iter, COLUMN_DATA, &val);
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1078
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1079 next = g_value_get_pointer(&val);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1080 if (!purple_xfer_is_completed(next))
15398
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1081 return;
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1082
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1083 valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(dialog->model), &iter);
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1084 }
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1085
b0f483f13f01 [gaim-migrate @ 18128]
Mark Doliner <markdoliner@pidgin.im>
parents: 14726
diff changeset
1086 /* If we got to this point then we know everything is finished */
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
1087 pidgin_xfer_dialog_hide(dialog);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1088 }
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1089
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1090 /**************************************************************************
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1091 * File Transfer UI Ops
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1092 **************************************************************************/
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1093 static void
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
1094 pidgin_xfer_new_xfer(PurpleXfer *xfer)
5169
091d71968b59 [gaim-migrate @ 5533]
Mark Doliner <markdoliner@pidgin.im>
parents: 5131
diff changeset
1095 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1096 PidginXferUiData *data;
5169
091d71968b59 [gaim-migrate @ 5533]
Mark Doliner <markdoliner@pidgin.im>
parents: 5131
diff changeset
1097
32250
c77e715af24a Update Pidgin to use the new accessor methods.
Andrew Victor <andrew.victor@mxit.com>
parents: 31889
diff changeset
1098 /* This is where we're setting xfer's "ui_data" for the first time. */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1099 data = g_new0(PidginXferUiData, 1);
32250
c77e715af24a Update Pidgin to use the new accessor methods.
Andrew Victor <andrew.victor@mxit.com>
parents: 31889
diff changeset
1100 purple_xfer_set_ui_data(xfer, data);
5169
091d71968b59 [gaim-migrate @ 5533]
Mark Doliner <markdoliner@pidgin.im>
parents: 5131
diff changeset
1101 }
091d71968b59 [gaim-migrate @ 5533]
Mark Doliner <markdoliner@pidgin.im>
parents: 5131
diff changeset
1102
091d71968b59 [gaim-migrate @ 5533]
Mark Doliner <markdoliner@pidgin.im>
parents: 5131
diff changeset
1103 static void
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
1104 pidgin_xfer_destroy(PurpleXfer *xfer)
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1105 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1106 PidginXferUiData *data;
7805
6045c467441e [gaim-migrate @ 8452]
Tim Ringenbach <marv@pidgin.im>
parents: 7738
diff changeset
1107
32250
c77e715af24a Update Pidgin to use the new accessor methods.
Andrew Victor <andrew.victor@mxit.com>
parents: 31889
diff changeset
1108 data = purple_xfer_get_ui_data(xfer);
7805
6045c467441e [gaim-migrate @ 8452]
Tim Ringenbach <marv@pidgin.im>
parents: 7738
diff changeset
1109 if (data) {
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13775
diff changeset
1110 g_free(data->name);
7805
6045c467441e [gaim-migrate @ 8452]
Tim Ringenbach <marv@pidgin.im>
parents: 7738
diff changeset
1111 g_free(data);
32250
c77e715af24a Update Pidgin to use the new accessor methods.
Andrew Victor <andrew.victor@mxit.com>
parents: 31889
diff changeset
1112 purple_xfer_set_ui_data(xfer, NULL);
7805
6045c467441e [gaim-migrate @ 8452]
Tim Ringenbach <marv@pidgin.im>
parents: 7738
diff changeset
1113 }
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1114 }
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1115
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1116 static void
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
1117 pidgin_xfer_add_xfer(PurpleXfer *xfer)
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1118 {
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1119 if (xfer_dialog == NULL)
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
1120 xfer_dialog = pidgin_xfer_dialog_new();
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1121
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
1122 pidgin_xfer_dialog_add_xfer(xfer_dialog, xfer);
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1123 }
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1124
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1125 static void
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
1126 pidgin_xfer_update_progress(PurpleXfer *xfer, double percent)
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1127 {
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
1128 pidgin_xfer_dialog_update_xfer(xfer_dialog, xfer);
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1129 }
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1130
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1131 static void
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
1132 pidgin_xfer_cancel_local(PurpleXfer *xfer)
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1133 {
7805
6045c467441e [gaim-migrate @ 8452]
Tim Ringenbach <marv@pidgin.im>
parents: 7738
diff changeset
1134 if (xfer_dialog)
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
1135 pidgin_xfer_dialog_cancel_xfer(xfer_dialog, xfer);
4675
8e0a7b537ca2 [gaim-migrate @ 4986]
Christian Hammond <chipx86@chipx86.com>
parents: 4661
diff changeset
1136 }
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1137
4675
8e0a7b537ca2 [gaim-migrate @ 4986]
Christian Hammond <chipx86@chipx86.com>
parents: 4661
diff changeset
1138 static void
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
1139 pidgin_xfer_cancel_remote(PurpleXfer *xfer)
4675
8e0a7b537ca2 [gaim-migrate @ 4986]
Christian Hammond <chipx86@chipx86.com>
parents: 4661
diff changeset
1140 {
7805
6045c467441e [gaim-migrate @ 8452]
Tim Ringenbach <marv@pidgin.im>
parents: 7738
diff changeset
1141 if (xfer_dialog)
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
1142 pidgin_xfer_dialog_cancel_xfer(xfer_dialog, xfer);
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1143 }
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1144
27420
cae9468439b4 Add code to generate a thumbnail (only fully works with GDK 2.4+ so far)
Marcus Lundblad <malu@pidgin.im>
parents: 27327
diff changeset
1145 static void
30114
8472e53fbbfc Set desired image formats for thumbnails as a parameter to
Marcus Lundblad <malu@pidgin.im>
parents: 30113
diff changeset
1146 pidgin_xfer_add_thumbnail(PurpleXfer *xfer, const gchar *formats)
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30708
diff changeset
1147 {
30128
9714e1218ab7 The normal category for this file seems to 'ft'.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30127
diff changeset
1148 purple_debug_info("ft", "creating thumbnail for transfer\n");
27420
cae9468439b4 Add code to generate a thumbnail (only fully works with GDK 2.4+ so far)
Marcus Lundblad <malu@pidgin.im>
parents: 27327
diff changeset
1149
30114
8472e53fbbfc Set desired image formats for thumbnails as a parameter to
Marcus Lundblad <malu@pidgin.im>
parents: 30113
diff changeset
1150 if (purple_xfer_get_size(xfer) <= PIDGIN_XFER_MAX_SIZE_IMAGE_THUMBNAIL) {
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30708
diff changeset
1151 GdkPixbuf *thumbnail =
31889
96183796df0c Start looking at the GError parameter every time we call these functions:
Mark Doliner <markdoliner@pidgin.im>
parents: 31321
diff changeset
1152 pidgin_pixbuf_new_from_file_at_size(
96183796df0c Start looking at the GError parameter every time we call these functions:
Mark Doliner <markdoliner@pidgin.im>
parents: 31321
diff changeset
1153 purple_xfer_get_local_filename(xfer), 128, 128);
28396
445348fe85ce Remove #ifdefs for older GDK versions, since this will not be included until
Marcus Lundblad <malu@pidgin.im>
parents: 27991
diff changeset
1154
27420
cae9468439b4 Add code to generate a thumbnail (only fully works with GDK 2.4+ so far)
Marcus Lundblad <malu@pidgin.im>
parents: 27327
diff changeset
1155 if (thumbnail) {
30114
8472e53fbbfc Set desired image formats for thumbnails as a parameter to
Marcus Lundblad <malu@pidgin.im>
parents: 30113
diff changeset
1156 gchar **formats_split = g_strsplit(formats, ",", 0);
29777
ffb56bb69f7e Fix some warnings.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29775
diff changeset
1157 gchar *buffer = NULL;
27420
cae9468439b4 Add code to generate a thumbnail (only fully works with GDK 2.4+ so far)
Marcus Lundblad <malu@pidgin.im>
parents: 27327
diff changeset
1158 gsize size;
30113
f60cbf3b3ca9 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <malu@pidgin.im>
parents: 29779
diff changeset
1159 char *option_keys[2] = {NULL, NULL};
f60cbf3b3ca9 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <malu@pidgin.im>
parents: 29779
diff changeset
1160 char *option_values[2] = {NULL, NULL};
f60cbf3b3ca9 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <malu@pidgin.im>
parents: 29779
diff changeset
1161 int i;
f60cbf3b3ca9 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <malu@pidgin.im>
parents: 29779
diff changeset
1162 gchar *format = NULL;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30708
diff changeset
1163
30127
afe544f03d53 Thumbnail formats should be chosen in the order specified by the prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30114
diff changeset
1164 for (i = 0; formats_split[i]; i++) {
30114
8472e53fbbfc Set desired image formats for thumbnails as a parameter to
Marcus Lundblad <malu@pidgin.im>
parents: 30113
diff changeset
1165 if (purple_strequal(formats_split[i], "jpeg")) {
30128
9714e1218ab7 The normal category for this file seems to 'ft'.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30127
diff changeset
1166 purple_debug_info("ft", "creating JPEG thumbnail\n");
30127
afe544f03d53 Thumbnail formats should be chosen in the order specified by the prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30114
diff changeset
1167 option_keys[0] = "quality";
afe544f03d53 Thumbnail formats should be chosen in the order specified by the prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30114
diff changeset
1168 option_values[0] = "90";
afe544f03d53 Thumbnail formats should be chosen in the order specified by the prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30114
diff changeset
1169 format = "jpeg";
afe544f03d53 Thumbnail formats should be chosen in the order specified by the prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30114
diff changeset
1170 break;
30114
8472e53fbbfc Set desired image formats for thumbnails as a parameter to
Marcus Lundblad <malu@pidgin.im>
parents: 30113
diff changeset
1171 } else if (purple_strequal(formats_split[i], "png")) {
30128
9714e1218ab7 The normal category for this file seems to 'ft'.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30127
diff changeset
1172 purple_debug_info("ft", "creating PNG thumbnail\n");
30127
afe544f03d53 Thumbnail formats should be chosen in the order specified by the prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30114
diff changeset
1173 option_keys[0] = "compression";
afe544f03d53 Thumbnail formats should be chosen in the order specified by the prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30114
diff changeset
1174 option_values[0] = "9";
afe544f03d53 Thumbnail formats should be chosen in the order specified by the prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30114
diff changeset
1175 format = "png";
afe544f03d53 Thumbnail formats should be chosen in the order specified by the prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30114
diff changeset
1176 break;
30113
f60cbf3b3ca9 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <malu@pidgin.im>
parents: 29779
diff changeset
1177 }
f60cbf3b3ca9 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <malu@pidgin.im>
parents: 29779
diff changeset
1178 }
f60cbf3b3ca9 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <malu@pidgin.im>
parents: 29779
diff changeset
1179
30127
afe544f03d53 Thumbnail formats should be chosen in the order specified by the prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30114
diff changeset
1180 /* Try the first format given by the PRPL without options */
afe544f03d53 Thumbnail formats should be chosen in the order specified by the prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30114
diff changeset
1181 if (format == NULL) {
30128
9714e1218ab7 The normal category for this file seems to 'ft'.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30127
diff changeset
1182 purple_debug_info("ft",
30113
f60cbf3b3ca9 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <malu@pidgin.im>
parents: 29779
diff changeset
1183 "creating thumbnail of format %s as demanded by PRPL\n",
30114
8472e53fbbfc Set desired image formats for thumbnails as a parameter to
Marcus Lundblad <malu@pidgin.im>
parents: 30113
diff changeset
1184 formats_split[0]);
8472e53fbbfc Set desired image formats for thumbnails as a parameter to
Marcus Lundblad <malu@pidgin.im>
parents: 30113
diff changeset
1185 format = formats_split[0];
30113
f60cbf3b3ca9 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <malu@pidgin.im>
parents: 29779
diff changeset
1186 }
f60cbf3b3ca9 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <malu@pidgin.im>
parents: 29779
diff changeset
1187
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30708
diff changeset
1188 gdk_pixbuf_save_to_bufferv(thumbnail, &buffer, &size, format,
27420
cae9468439b4 Add code to generate a thumbnail (only fully works with GDK 2.4+ so far)
Marcus Lundblad <malu@pidgin.im>
parents: 27327
diff changeset
1189 option_keys, option_values, NULL);
28396
445348fe85ce Remove #ifdefs for older GDK versions, since this will not be included until
Marcus Lundblad <malu@pidgin.im>
parents: 27991
diff changeset
1190
27420
cae9468439b4 Add code to generate a thumbnail (only fully works with GDK 2.4+ so far)
Marcus Lundblad <malu@pidgin.im>
parents: 27327
diff changeset
1191 if (buffer) {
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30708
diff changeset
1192 gchar *mimetype = g_strdup_printf("image/%s", format);
30128
9714e1218ab7 The normal category for this file seems to 'ft'.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30127
diff changeset
1193 purple_debug_info("ft",
29777
ffb56bb69f7e Fix some warnings.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29775
diff changeset
1194 "created thumbnail of %" G_GSIZE_FORMAT " bytes\n",
27420
cae9468439b4 Add code to generate a thumbnail (only fully works with GDK 2.4+ so far)
Marcus Lundblad <malu@pidgin.im>
parents: 27327
diff changeset
1195 size);
30113
f60cbf3b3ca9 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <malu@pidgin.im>
parents: 29779
diff changeset
1196 purple_xfer_set_thumbnail(xfer, buffer, size, mimetype);
27420
cae9468439b4 Add code to generate a thumbnail (only fully works with GDK 2.4+ so far)
Marcus Lundblad <malu@pidgin.im>
parents: 27327
diff changeset
1197 g_free(buffer);
30113
f60cbf3b3ca9 Allow PRPLs to specify the image formats acceptable for thumbnails (in
Marcus Lundblad <malu@pidgin.im>
parents: 29779
diff changeset
1198 g_free(mimetype);
27420
cae9468439b4 Add code to generate a thumbnail (only fully works with GDK 2.4+ so far)
Marcus Lundblad <malu@pidgin.im>
parents: 27327
diff changeset
1199 }
cae9468439b4 Add code to generate a thumbnail (only fully works with GDK 2.4+ so far)
Marcus Lundblad <malu@pidgin.im>
parents: 27327
diff changeset
1200 g_object_unref(thumbnail);
30114
8472e53fbbfc Set desired image formats for thumbnails as a parameter to
Marcus Lundblad <malu@pidgin.im>
parents: 30113
diff changeset
1201 g_strfreev(formats_split);
27420
cae9468439b4 Add code to generate a thumbnail (only fully works with GDK 2.4+ so far)
Marcus Lundblad <malu@pidgin.im>
parents: 27327
diff changeset
1202 }
cae9468439b4 Add code to generate a thumbnail (only fully works with GDK 2.4+ so far)
Marcus Lundblad <malu@pidgin.im>
parents: 27327
diff changeset
1203 }
cae9468439b4 Add code to generate a thumbnail (only fully works with GDK 2.4+ so far)
Marcus Lundblad <malu@pidgin.im>
parents: 27327
diff changeset
1204 }
cae9468439b4 Add code to generate a thumbnail (only fully works with GDK 2.4+ so far)
Marcus Lundblad <malu@pidgin.im>
parents: 27327
diff changeset
1205
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1206 static PurpleXferUiOps ops =
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1207 {
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
1208 pidgin_xfer_new_xfer,
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
1209 pidgin_xfer_destroy,
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
1210 pidgin_xfer_add_xfer,
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
1211 pidgin_xfer_update_progress,
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
1212 pidgin_xfer_cancel_local,
16752
e6bcb1628c57 Patch from John 'rekkanoryo' Bailey to add the padding struct members in pidgin
Gary Kramlich <grim@reaperworld.com>
parents: 16263
diff changeset
1213 pidgin_xfer_cancel_remote,
e6bcb1628c57 Patch from John 'rekkanoryo' Bailey to add the padding struct members in pidgin
Gary Kramlich <grim@reaperworld.com>
parents: 16263
diff changeset
1214 NULL,
e6bcb1628c57 Patch from John 'rekkanoryo' Bailey to add the padding struct members in pidgin
Gary Kramlich <grim@reaperworld.com>
parents: 16263
diff changeset
1215 NULL,
e6bcb1628c57 Patch from John 'rekkanoryo' Bailey to add the padding struct members in pidgin
Gary Kramlich <grim@reaperworld.com>
parents: 16263
diff changeset
1216 NULL,
28720
4b63cf19f159 Make it work again, after some new xfer UI ops where added... :)
Marcus Lundblad <malu@pidgin.im>
parents: 28396
diff changeset
1217 pidgin_xfer_add_thumbnail
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1218 };
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1219
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1220 /**************************************************************************
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1221 * GTK+ File Transfer API
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1222 **************************************************************************/
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1223 void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1224 pidgin_xfers_init(void)
5974
00c68435d9f3 [gaim-migrate @ 6421]
Mark Doliner <markdoliner@pidgin.im>
parents: 5966
diff changeset
1225 {
16123
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
1226 purple_prefs_add_none(PIDGIN_PREFS_ROOT "/filetransfer");
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
1227 purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/filetransfer/clear_finished", TRUE);
8b98683319e7 Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15931
diff changeset
1228 purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/filetransfer/keep_open", FALSE);
5974
00c68435d9f3 [gaim-migrate @ 6421]
Mark Doliner <markdoliner@pidgin.im>
parents: 5966
diff changeset
1229 }
00c68435d9f3 [gaim-migrate @ 6421]
Mark Doliner <markdoliner@pidgin.im>
parents: 5966
diff changeset
1230
00c68435d9f3 [gaim-migrate @ 6421]
Mark Doliner <markdoliner@pidgin.im>
parents: 5966
diff changeset
1231 void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1232 pidgin_xfers_uninit(void)
11010
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
1233 {
11073
e4f03d4a4dca [gaim-migrate @ 13082]
Lalo Martins
parents: 11033
diff changeset
1234 if (xfer_dialog != NULL)
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
1235 pidgin_xfer_dialog_destroy(xfer_dialog);
11010
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
1236 }
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
1237
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 10923
diff changeset
1238 void
15692
ecda27df58b9 Some more pidgininfication
Daniel Atallah <datallah@pidgin.im>
parents: 15578
diff changeset
1239 pidgin_set_xfer_dialog(PidginXferDialog *dialog)
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1240 {
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1241 xfer_dialog = dialog;
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1242 }
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1243
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1244 PidginXferDialog *
15692
ecda27df58b9 Some more pidgininfication
Daniel Atallah <datallah@pidgin.im>
parents: 15578
diff changeset
1245 pidgin_get_xfer_dialog(void)
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1246 {
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4541
diff changeset
1247 return xfer_dialog;
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1248 }
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1249
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15883
diff changeset
1250 PurpleXferUiOps *
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1251 pidgin_xfers_get_ui_ops(void)
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1252 {
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1253 return &ops;
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1254 }

mercurial