Wed, 21 Sep 2011 06:45:26 +0000
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 | 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 | 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 | 9 | * to list here. Please refer to the COPYRIGHT file distributed with this |
| 10 | * source distribution. | |
|
7035
76bca80cd91d
[gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
11 | * |
| 4514 | 12 | * This program is free software; you can redistribute it and/or modify |
| 13 | * it under the terms of the GNU General Public License as published by | |
| 14 | * the Free Software Foundation; either version 2 of the License, or | |
| 15 | * (at your option) any later version. | |
| 16 | * | |
| 17 | * This program is distributed in the hope that it will be useful, | |
| 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 20 | * GNU General Public License for more details. | |
| 21 | * | |
| 22 | * You should have received a copy of the GNU General Public License | |
| 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 | 25 | */ |
| 9791 | 26 | #include "internal.h" |
| 15577 | 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 | 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 | 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 | 50 | PurpleXfer *selected_xfer; |
|
4553
3c1735b36327
[gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents:
4541
diff
changeset
|
51 | |
| 4514 | 52 | GtkWidget *window; |
| 53 | GtkWidget *tree; | |
| 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 | 60 | GtkWidget *local_user_desc_label; |
| 61 | GtkWidget *local_user_label; | |
| 62 | GtkWidget *remote_user_desc_label; | |
| 63 | GtkWidget *remote_user_label; | |
| 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 | 79 | }; |
| 80 | ||
|
6240
0390b27fe09d
[gaim-migrate @ 6734]
Christian Hammond <chipx86@chipx86.com>
parents:
5974
diff
changeset
|
81 | typedef struct |
| 4514 | 82 | { |
| 83 | GtkTreeIter iter; | |
| 11925 | 84 | time_t last_updated_time; |
| 7805 | 85 | gboolean in_list; |
| 4514 | 86 | |
| 87 | char *name; | |
| 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 | 92 | |
| 93 | enum | |
| 94 | { | |
| 95 | COLUMN_STATUS = 0, | |
|
4553
3c1735b36327
[gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents:
4541
diff
changeset
|
96 | COLUMN_PROGRESS, |
| 4514 | 97 | COLUMN_FILENAME, |
| 98 | COLUMN_SIZE, | |
| 99 | COLUMN_REMAINING, | |
|
4553
3c1735b36327
[gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents:
4541
diff
changeset
|
100 | COLUMN_DATA, |
| 4514 | 101 | NUM_COLUMNS |
| 102 | }; | |
| 103 | ||
| 7805 | 104 | |
| 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 | 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 | 118 | now = time(NULL); |
|
4553
3c1735b36327
[gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents:
4541
diff
changeset
|
119 | |
| 15884 | 120 | kb_sent = purple_xfer_get_bytes_sent(xfer) / 1024.0; |
| 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 | 156 | *time_remaining = g_strdup(_("Finished")); |
|
4553
3c1735b36327
[gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents:
4541
diff
changeset
|
157 | } |
| 15884 | 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 | 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 | 164 | else if (kb_sent <= 0) { |
| 165 | *time_remaining = g_strdup(_("Waiting for transfer to begin")); | |
| 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 | 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 | 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 | 208 | total_bytes_xferred += purple_xfer_get_bytes_sent(xfer); |
| 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 | 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 | 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 | 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 | 270 | if (purple_xfer_get_type(xfer) == PURPLE_XFER_RECEIVE) { |
| 9785 | 271 | gtk_label_set_markup(GTK_LABEL(dialog->local_user_desc_label), |
| 272 | _("<b>Receiving As:</b>")); | |
| 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 | 275 | } |
| 276 | else { | |
| 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 | 279 | gtk_label_set_markup(GTK_LABEL(dialog->local_user_desc_label), |
| 280 | _("<b>Sending As:</b>")); | |
| 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 | 289 | if (purple_xfer_get_type(xfer) == PURPLE_XFER_RECEIVE) { |
| 7738 | 290 | gtk_label_set_text(GTK_LABEL(dialog->filename_label), |
| 15884 | 291 | purple_xfer_get_filename(xfer)); |
| 7738 | 292 | } else { |
| 293 | char *tmp; | |
|
10919
22fba24cd16e
[gaim-migrate @ 12683]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10911
diff
changeset
|
294 | |
| 15884 | 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 | 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 | 301 | } |
|
4553
3c1735b36327
[gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents:
4541
diff
changeset
|
302 | |
| 15884 | 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 | 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 | 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 | 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 | 344 | #ifdef _WIN32 |
| 345 | /* If using Win32... */ | |
| 15884 | 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 | 351 | #else |
| 15884 | 352 | if (purple_xfer_get_type(xfer) == PURPLE_XFER_RECEIVE) { |
| 11010 | 353 | gtk_widget_set_sensitive(dialog->open_button, TRUE); |
| 354 | } else { | |
| 355 | gtk_widget_set_sensitive (dialog->open_button, FALSE); | |
| 356 | } | |
| 8366 | 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 | 360 | } else if (purple_xfer_is_canceled(xfer)) { |
| 7738 | 361 | gtk_widget_hide(dialog->stop_button); |
| 362 | gtk_widget_show(dialog->remove_button); | |
| 363 | ||
| 364 | gtk_widget_set_sensitive(dialog->open_button, FALSE); | |
| 365 | ||
| 366 | gtk_widget_set_sensitive(dialog->remove_button, TRUE); | |
| 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 | 394 | static gint |
| 395 | delete_win_cb(GtkWidget *w, GdkEventAny *e, gpointer d) | |
| 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 | 402 | |
| 403 | return TRUE; | |
| 404 | } | |
| 405 | ||
| 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 | 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 | 420 | } |
| 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 | 424 | { |
|
4553
3c1735b36327
[gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents:
4541
diff
changeset
|
425 | GtkTreeIter iter; |
| 15884 | 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 | 458 | #ifdef _WIN32 |
| 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 | 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 | 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 | 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 | 480 | purple_debug_warning("ft", "filename: %s; code: %d\n", |
| 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 | 483 | #else |
| 15884 | 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 | 489 | if (purple_running_gnome()) |
| 11010 | 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 | 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 | 498 | |
| 15884 | 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 | 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 | 510 | |
| 15884 | 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 | 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 | 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 | 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 | 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 | 530 | } |
| 531 | } | |
| 8366 | 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 | 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 | 560 | GtkWidget *tree; |
| 561 | GtkListStore *model; | |
| 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 | 565 | |
| 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 | 572 | |
| 573 | /* Create the treeview */ | |
| 574 | dialog->tree = tree = gtk_tree_view_new_with_model(GTK_TREE_MODEL(model)); | |
| 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 | 579 | gtk_widget_show(tree); |
| 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 | 584 | g_object_unref(G_OBJECT(model)); |
| 585 | ||
| 586 | ||
| 587 | /* Columns */ | |
| 588 | ||
| 589 | /* Transfer Type column */ | |
| 590 | renderer = gtk_cell_renderer_pixbuf_new(); | |
| 591 | column = gtk_tree_view_column_new_with_attributes(NULL, renderer, | |
| 592 | "pixbuf", COLUMN_STATUS, NULL); | |
| 593 | gtk_tree_view_column_set_sizing(GTK_TREE_VIEW_COLUMN(column), | |
| 594 | GTK_TREE_VIEW_COLUMN_FIXED); | |
| 595 | gtk_tree_view_column_set_fixed_width(GTK_TREE_VIEW_COLUMN(column), 25); | |
| 596 | gtk_tree_view_column_set_resizable(GTK_TREE_VIEW_COLUMN(column), TRUE); | |
| 597 | gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column); | |
| 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 | 603 | gtk_tree_view_column_set_resizable(GTK_TREE_VIEW_COLUMN(column), TRUE); |
| 604 | gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column); | |
| 605 | ||
| 606 | /* Filename column */ | |
| 607 | renderer = gtk_cell_renderer_text_new(); | |
| 608 | column = gtk_tree_view_column_new_with_attributes(_("Filename"), renderer, | |
| 609 | "text", COLUMN_FILENAME, NULL); | |
| 610 | gtk_tree_view_column_set_resizable(GTK_TREE_VIEW_COLUMN(column), TRUE); | |
| 611 | gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column); | |
| 612 | ||
| 613 | /* File Size column */ | |
| 614 | renderer = gtk_cell_renderer_text_new(); | |
| 615 | column = gtk_tree_view_column_new_with_attributes(_("Size"), renderer, | |
| 616 | "text", COLUMN_SIZE, NULL); | |
| 617 | gtk_tree_view_column_set_resizable(GTK_TREE_VIEW_COLUMN(column), TRUE); | |
| 618 | gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column); | |
| 619 | ||
| 620 | /* Bytes Remaining column */ | |
| 621 | renderer = gtk_cell_renderer_text_new(); | |
| 622 | column = gtk_tree_view_column_new_with_attributes(_("Remaining"), | |
| 623 | renderer, "text", COLUMN_REMAINING, NULL); | |
| 624 | gtk_tree_view_column_set_resizable(GTK_TREE_VIEW_COLUMN(column), TRUE); | |
| 625 | gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column); | |
| 626 | ||
| 627 | gtk_tree_view_columns_autosize(GTK_TREE_VIEW(tree)); | |
| 628 | ||
| 629 | gtk_widget_show(tree); | |
| 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 | 649 | { &dialog->local_user_desc_label, &dialog->local_user_label, NULL }, |
| 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 | 662 | gtk_table_set_row_spacings(GTK_TABLE(table), PIDGIN_HIG_BOX_SPACE); |
| 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 | 670 | g_snprintf(buf, sizeof(buf), "<b>%s</b>", |
| 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 | 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 | 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 | 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 | 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 | 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 | 814 | return dialog; |
| 815 | } | |
| 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 | 822 | purple_notify_close_with_handle(dialog); |
| 11010 | 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 | 833 | |
| 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 | 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 | 840 | } |
| 841 | ||
| 842 | gtk_widget_show(tmp->window); | |
| 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 | 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 | 853 | purple_notify_close_with_handle(dialog); |
| 11010 | 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 | 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 | 870 | purple_xfer_ref(xfer); |
| 7805 | 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 | 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 | 877 | data->last_updated_time = 0; |
|
4553
3c1735b36327
[gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents:
4541
diff
changeset
|
878 | |
| 15884 | 879 | type = purple_xfer_get_type(xfer); |
|
4553
3c1735b36327
[gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents:
4541
diff
changeset
|
880 | |
| 15884 | 881 | size_str = purple_str_size_to_units(purple_xfer_get_size(xfer)); |
| 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 | 885 | (type == PURPLE_XFER_RECEIVE |
| 15570 | 886 | ? PIDGIN_STOCK_DOWNLOAD |
| 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 | 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 | 898 | COLUMN_FILENAME, (type == PURPLE_XFER_RECEIVE) |
| 899 | ? purple_xfer_get_filename(xfer) | |
| 7738 | 900 | : lfilename, |
|
4553
3c1735b36327
[gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents:
4541
diff
changeset
|
901 | COLUMN_SIZE, size_str, |
| 9785 | 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 | 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 | 922 | PurpleXfer *xfer) |
| 4514 | 923 | { |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
924 | PidginXferUiData *data; |
| 4514 | 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 | 934 | if (!data->in_list) |
| 935 | return; | |
|
4553
3c1735b36327
[gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents:
4541
diff
changeset
|
936 | |
| 7805 | 937 | data->in_list = FALSE; |
|
4553
3c1735b36327
[gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents:
4541
diff
changeset
|
938 | |
| 7805 | 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 | 944 | |
|
14535
c39c8159eb84
[gaim-migrate @ 17189]
Mark Doliner <markdoliner@pidgin.im>
parents:
14456
diff
changeset
|
945 | update_title_progress(dialog); |
| 15884 | 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 | 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 | 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 | 961 | |
| 962 | if (data == NULL) | |
| 963 | return; | |
|
4553
3c1735b36327
[gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents:
4541
diff
changeset
|
964 | |
| 8282 | 965 | if (!data->in_list) |
| 966 | return; | |
| 7738 | 967 | |
| 15884 | 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 | 970 | return; |
| 971 | } | |
| 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 | 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 | 977 | |
|
4553
3c1735b36327
[gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents:
4541
diff
changeset
|
978 | pixbuf = gtk_widget_render_icon(dialog->window, |
| 15570 | 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 | 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 | 984 | else |
| 985 | status = _("Failed"); | |
| 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 | 988 | COLUMN_STATUS, pixbuf, |
| 989 | COLUMN_REMAINING, status, | |
| 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 | 993 | |
| 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 | 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 | 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 | 1013 | if (data->in_list == FALSE) |
| 1014 | return; | |
| 1015 | ||
| 11925 | 1016 | current_time = time(NULL); |
| 1017 | if (((current_time - data->last_updated_time) == 0) && | |
| 15884 | 1018 | (!purple_xfer_is_completed(xfer))) |
| 11925 | 1019 | { |
| 1020 | /* Don't update the window more than once per second */ | |
| 1021 | return; | |
| 1022 | } | |
| 1023 | data->last_updated_time = current_time; | |
| 1024 | ||
| 15884 | 1025 | size_str = purple_str_size_to_units(purple_xfer_get_size(xfer)); |
| 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 | 1037 | if (purple_xfer_is_completed(xfer)) |
| 11925 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 1109 | if (data) { |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13775
diff
changeset
|
1110 | g_free(data->name); |
| 7805 | 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 | 1113 | } |
| 4514 | 1114 | } |
| 1115 | ||
| 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 | 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 | 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 | 1123 | } |
| 1124 | ||
| 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 | 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 | 1129 | } |
| 1130 | ||
| 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 | 1133 | { |
| 7805 | 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 | 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 | 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 | 1143 | } |
| 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 | 1206 | static PurpleXferUiOps ops = |
| 4514 | 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 | 1218 | }; |
| 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 | 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 | 1233 | { |
| 11073 | 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 | 1236 | } |
| 1237 | ||
| 1238 | void | |
|
15692
ecda27df58b9
Some more pidgininfication
Daniel Atallah <datallah@pidgin.im>
parents:
15578
diff
changeset
|
1239 | pidgin_set_xfer_dialog(PidginXferDialog *dialog) |
| 4514 | 1240 | { |
|
4553
3c1735b36327
[gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents:
4541
diff
changeset
|
1241 | xfer_dialog = dialog; |
| 4514 | 1242 | } |
| 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 | 1246 | { |
|
4553
3c1735b36327
[gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents:
4541
diff
changeset
|
1247 | return xfer_dialog; |
| 4514 | 1248 | } |
| 1249 | ||
| 15884 | 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 | 1252 | { |
| 1253 | return &ops; | |
| 1254 | } |