Mercurial > gftp.yaz
comparison src/gtk/gtkui_transfer.c @ 374:d207b8241e96
2003-1-21 Brian Masney <masneyb@gftp.org>
* lib/config_file.c lib/gftp.h - set the character string arguments to
const for the following functions: gftp_lookup_global_option(),
gftp_lookup_request_option(), gftp_lookup_bookmark_option(),
gftp_set_global_option(), gftp_set_request_option(),
gftp_set_bookmark_option()
* lib/misc.c lib/gftp.h - set the character string arguments to const
for the function gftp_match_filespec()
* src/gtk/gftp-gtk.c src/gtk/menu-items.c src/uicommon/gftpui.c - moved
more UI independant parts to the uicommon directory. Moved some GUI
specific functionality into gftp-gtk.c
* src/text/gftp-text.c src/gtk/gftp-gtk.c src/uicommon/gftpui.c - pass
the local/remote uidata/request structures to process_command(). Removed
old function gftpui_common_init(). Added new gftpui_common_init() that
sets up common functionality for a port.
* src/gtk/gtkui.c src/gtk/gtkui_transfer.c - moved
gftpui_add_file_to_transfer() to gtkui_transfer.c
* src/gtk/gtkui_transfer.c - cleaned up these functions some and made
them more modular
* src/uicommon/gftpui.c src/uicommon/gftpui.h - for all of the command
line functions, make the command argument a constant
author | masneyb |
---|---|
date | Wed, 21 Jan 2004 23:35:40 +0000 |
parents | 39b57989c34a |
children | 14da115b149b |
comparison
equal
deleted
inserted
replaced
373:642bc7a87f05 | 374:d207b8241e96 |
---|---|
18 /*****************************************************************************/ | 18 /*****************************************************************************/ |
19 | 19 |
20 #include "gftp-gtk.h" | 20 #include "gftp-gtk.h" |
21 static const char cvsid[] = "$Id$"; | 21 static const char cvsid[] = "$Id$"; |
22 | 22 |
23 static void | 23 |
24 trans_selectall (GtkWidget * widget, gpointer data) | 24 void |
25 gftpui_add_file_to_transfer (gftp_transfer * tdata, GList * curfle, | |
26 char *filepos) | |
27 { | |
28 gftpui_common_curtrans_data * transdata; | |
29 gftp_file * fle; | |
30 char *text[2]; | |
31 | |
32 fle = curfle->data; | |
33 text[0] = filepos; | |
34 if (fle->transfer_action == GFTP_TRANS_ACTION_SKIP) | |
35 text[1] = _("Skipped"); | |
36 else | |
37 text[1] = _("Waiting..."); | |
38 | |
39 fle->user_data = gtk_ctree_insert_node (GTK_CTREE (dlwdw), | |
40 tdata->user_data, NULL, text, 5, | |
41 NULL, NULL, NULL, NULL, | |
42 FALSE, FALSE); | |
43 transdata = g_malloc (sizeof (*transdata)); | |
44 transdata->transfer = tdata; | |
45 transdata->curfle = curfle; | |
46 | |
47 gtk_ctree_node_set_row_data (GTK_CTREE (dlwdw), fle->user_data, transdata); | |
48 } | |
49 | |
50 | |
51 static void | |
52 gftpui_gtk_trans_selectall (GtkWidget * widget, gpointer data) | |
25 { | 53 { |
26 gftp_transfer * tdata; | 54 gftp_transfer * tdata; |
27 tdata = data; | 55 tdata = data; |
28 | 56 |
29 gtk_clist_select_all (GTK_CLIST (tdata->clist)); | 57 gtk_clist_select_all (GTK_CLIST (tdata->clist)); |
30 } | 58 } |
31 | 59 |
32 | 60 |
33 static void | 61 static void |
34 trans_unselectall (GtkWidget * widget, gpointer data) | 62 gftpui_gtk_trans_unselectall (GtkWidget * widget, gpointer data) |
35 { | 63 { |
36 gftp_transfer * tdata; | 64 gftp_transfer * tdata; |
37 tdata = data; | 65 tdata = data; |
38 | 66 |
39 gtk_clist_unselect_all (GTK_CLIST (tdata->clist)); | 67 gtk_clist_unselect_all (GTK_CLIST (tdata->clist)); |
40 } | 68 } |
41 | 69 |
42 | 70 |
43 static void | 71 static void |
44 overwrite (GtkWidget * widget, gpointer data) | 72 gftpui_gtk_set_action (gftp_transfer * tdata, char * transfer_str, |
73 int transfer_action) | |
45 { | 74 { |
46 GList * templist, * filelist; | 75 GList * templist, * filelist; |
47 gftp_transfer * tdata; | |
48 gftp_file * tempfle; | 76 gftp_file * tempfle; |
49 int curpos; | 77 int curpos; |
50 | 78 |
51 tdata = data; | 79 g_static_mutex_lock (&tdata->structmutex); |
80 | |
52 curpos = 0; | 81 curpos = 0; |
53 filelist = tdata->files; | 82 filelist = tdata->files; |
54 templist = GTK_CLIST (tdata->clist)->selection; | 83 templist = GTK_CLIST (tdata->clist)->selection; |
55 while (templist != NULL) | 84 while (templist != NULL) |
56 { | 85 { |
57 templist = get_next_selection (templist, &filelist, &curpos); | 86 templist = get_next_selection (templist, &filelist, &curpos); |
58 tempfle = filelist->data; | 87 tempfle = filelist->data; |
59 tempfle->transfer_action = GFTP_TRANS_ACTION_OVERWRITE; | 88 tempfle->transfer_action = transfer_action; |
60 gtk_clist_set_text (GTK_CLIST (tdata->clist), curpos, 3, _("Overwrite")); | 89 gtk_clist_set_text (GTK_CLIST (tdata->clist), curpos, 3, transfer_str); |
61 } | 90 } |
62 } | 91 |
63 | 92 g_static_mutex_unlock (&tdata->structmutex); |
64 | 93 } |
65 static void | 94 |
66 resume (GtkWidget * widget, gpointer data) | 95 |
67 { | 96 static void |
68 GList * templist, * filelist; | 97 gftpui_gtk_overwrite (GtkWidget * widget, gpointer data) |
69 gftp_transfer * tdata; | 98 { |
70 gftp_file * tempfle; | 99 gftpui_gtk_set_action (data, _("Overwrite"), GFTP_TRANS_ACTION_OVERWRITE); |
71 int curpos; | 100 } |
72 | 101 |
73 tdata = data; | 102 |
74 curpos = 0; | 103 static void |
75 filelist = tdata->files; | 104 gftpui_gtk_resume (GtkWidget * widget, gpointer data) |
76 templist = GTK_CLIST (tdata->clist)->selection; | 105 { |
77 while (templist != NULL) | 106 gftpui_gtk_set_action (data, _("Resume"), GFTP_TRANS_ACTION_RESUME); |
78 { | 107 } |
79 templist = get_next_selection (templist, &filelist, &curpos); | 108 |
80 tempfle = filelist->data; | 109 |
81 tempfle->transfer_action = GFTP_TRANS_ACTION_RESUME; | 110 static void |
82 gtk_clist_set_text (GTK_CLIST (tdata->clist), curpos, 3, _("Resume")); | 111 gftpui_gtk_skip (GtkWidget * widget, gpointer data) |
83 } | 112 { |
84 } | 113 gftpui_gtk_set_action (data, _("Skip"), GFTP_TRANS_ACTION_SKIP); |
85 | 114 } |
86 | 115 |
87 static void | 116 |
88 skip (GtkWidget * widget, gpointer data) | 117 static void |
89 { | 118 gftpui_gtk_ok (GtkWidget * widget, gpointer data) |
90 GList * templist, * filelist; | |
91 gftp_transfer * tdata; | |
92 gftp_file * tempfle; | |
93 int curpos; | |
94 | |
95 tdata = data; | |
96 curpos = 0; | |
97 filelist = tdata->files; | |
98 templist = GTK_CLIST (tdata->clist)->selection; | |
99 while (templist != NULL) | |
100 { | |
101 templist = get_next_selection (templist, &filelist, &curpos); | |
102 tempfle = filelist->data; | |
103 tempfle->transfer_action = GFTP_TRANS_ACTION_SKIP; | |
104 gtk_clist_set_text (GTK_CLIST (tdata->clist), curpos, 3, _("Skip")); | |
105 } | |
106 } | |
107 | |
108 | |
109 static void | |
110 ok (GtkWidget * widget, gpointer data) | |
111 { | 119 { |
112 gftp_transfer * tdata; | 120 gftp_transfer * tdata; |
113 gftp_file * tempfle; | 121 gftp_file * tempfle; |
114 GList * templist; | 122 GList * templist; |
115 | 123 |
120 tempfle = templist->data; | 128 tempfle = templist->data; |
121 if (tempfle->transfer_action != GFTP_TRANS_ACTION_SKIP) | 129 if (tempfle->transfer_action != GFTP_TRANS_ACTION_SKIP) |
122 break; | 130 break; |
123 } | 131 } |
124 | 132 |
133 tdata->ready = 1; | |
125 if (templist == NULL) | 134 if (templist == NULL) |
126 { | 135 { |
127 tdata->show = 0; | 136 tdata->show = 0; |
128 tdata->ready = tdata->done = 1; | 137 tdata->done = 1; |
129 } | 138 } |
130 else | 139 else |
131 tdata->show = tdata->ready = 1; | 140 tdata->show = 1; |
141 | |
132 g_static_mutex_unlock (&tdata->structmutex); | 142 g_static_mutex_unlock (&tdata->structmutex); |
133 } | 143 } |
134 | 144 |
135 | 145 |
136 static void | 146 static void |
137 cancel (GtkWidget * widget, gpointer data) | 147 gftpui_gtk_cancel (GtkWidget * widget, gpointer data) |
138 { | 148 { |
139 gftp_transfer * tdata; | 149 gftp_transfer * tdata; |
140 | 150 |
141 tdata = data; | 151 tdata = data; |
142 g_static_mutex_lock (&tdata->structmutex); | 152 g_static_mutex_lock (&tdata->structmutex); |
146 } | 156 } |
147 | 157 |
148 | 158 |
149 #if GTK_MAJOR_VERSION > 1 | 159 #if GTK_MAJOR_VERSION > 1 |
150 static void | 160 static void |
151 transfer_action (GtkWidget * widget, gint response, gpointer user_data) | 161 gftpui_gtk_transfer_action (GtkWidget * widget, gint response, |
162 gpointer user_data) | |
152 { | 163 { |
153 switch (response) | 164 switch (response) |
154 { | 165 { |
155 case GTK_RESPONSE_OK: | 166 case GTK_RESPONSE_OK: |
156 ok (widget, user_data); | 167 gftpui_gtk_ok (widget, user_data); |
157 gtk_widget_destroy (widget); | 168 gtk_widget_destroy (widget); |
158 break; | 169 break; |
159 case GTK_RESPONSE_CANCEL: | 170 case GTK_RESPONSE_CANCEL: |
160 cancel (widget, user_data); | 171 gftpui_gtk_cancel (widget, user_data); |
161 /* no break */ | 172 /* no break */ |
162 default: | 173 default: |
163 gtk_widget_destroy (widget); | 174 gtk_widget_destroy (widget); |
164 } | 175 } |
165 } | 176 } |
296 gtk_widget_show (hbox); | 307 gtk_widget_show (hbox); |
297 | 308 |
298 tempwid = gtk_button_new_with_label (_("Overwrite")); | 309 tempwid = gtk_button_new_with_label (_("Overwrite")); |
299 gtk_box_pack_start (GTK_BOX (hbox), tempwid, TRUE, TRUE, 0); | 310 gtk_box_pack_start (GTK_BOX (hbox), tempwid, TRUE, TRUE, 0); |
300 gtk_signal_connect (GTK_OBJECT (tempwid), "clicked", | 311 gtk_signal_connect (GTK_OBJECT (tempwid), "clicked", |
301 GTK_SIGNAL_FUNC (overwrite), (gpointer) tdata); | 312 GTK_SIGNAL_FUNC (gftpui_gtk_overwrite), (gpointer) tdata); |
302 gtk_widget_show (tempwid); | 313 gtk_widget_show (tempwid); |
303 | 314 |
304 tempwid = gtk_button_new_with_label (_("Resume")); | 315 tempwid = gtk_button_new_with_label (_("Resume")); |
305 gtk_box_pack_start (GTK_BOX (hbox), tempwid, TRUE, TRUE, 0); | 316 gtk_box_pack_start (GTK_BOX (hbox), tempwid, TRUE, TRUE, 0); |
306 gtk_signal_connect (GTK_OBJECT (tempwid), "clicked", | 317 gtk_signal_connect (GTK_OBJECT (tempwid), "clicked", |
307 GTK_SIGNAL_FUNC (resume), (gpointer) tdata); | 318 GTK_SIGNAL_FUNC (gftpui_gtk_resume), (gpointer) tdata); |
308 gtk_widget_show (tempwid); | 319 gtk_widget_show (tempwid); |
309 | 320 |
310 tempwid = gtk_button_new_with_label (_("Skip File")); | 321 tempwid = gtk_button_new_with_label (_("Skip File")); |
311 gtk_box_pack_start (GTK_BOX (hbox), tempwid, TRUE, TRUE, 0); | 322 gtk_box_pack_start (GTK_BOX (hbox), tempwid, TRUE, TRUE, 0); |
312 gtk_signal_connect (GTK_OBJECT (tempwid), "clicked", GTK_SIGNAL_FUNC (skip), | 323 gtk_signal_connect (GTK_OBJECT (tempwid), "clicked", |
313 (gpointer) tdata); | 324 GTK_SIGNAL_FUNC (gftpui_gtk_skip), (gpointer) tdata); |
314 gtk_widget_show (tempwid); | 325 gtk_widget_show (tempwid); |
315 | 326 |
316 hbox = gtk_hbox_new (TRUE, 20); | 327 hbox = gtk_hbox_new (TRUE, 20); |
317 gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, TRUE, TRUE, 0); | 328 gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, TRUE, TRUE, 0); |
318 gtk_widget_show (hbox); | 329 gtk_widget_show (hbox); |
319 | 330 |
320 tempwid = gtk_button_new_with_label (_("Select All")); | 331 tempwid = gtk_button_new_with_label (_("Select All")); |
321 gtk_box_pack_start (GTK_BOX (hbox), tempwid, TRUE, TRUE, 0); | 332 gtk_box_pack_start (GTK_BOX (hbox), tempwid, TRUE, TRUE, 0); |
322 gtk_signal_connect (GTK_OBJECT (tempwid), "clicked", | 333 gtk_signal_connect (GTK_OBJECT (tempwid), "clicked", |
323 GTK_SIGNAL_FUNC (trans_selectall), (gpointer) tdata); | 334 GTK_SIGNAL_FUNC (gftpui_gtk_trans_selectall), (gpointer) tdata); |
324 gtk_widget_show (tempwid); | 335 gtk_widget_show (tempwid); |
325 | 336 |
326 tempwid = gtk_button_new_with_label (_("Deselect All")); | 337 tempwid = gtk_button_new_with_label (_("Deselect All")); |
327 gtk_box_pack_start (GTK_BOX (hbox), tempwid, TRUE, TRUE, 0); | 338 gtk_box_pack_start (GTK_BOX (hbox), tempwid, TRUE, TRUE, 0); |
328 gtk_signal_connect (GTK_OBJECT (tempwid), "clicked", | 339 gtk_signal_connect (GTK_OBJECT (tempwid), "clicked", |
329 GTK_SIGNAL_FUNC (trans_unselectall), (gpointer) tdata); | 340 GTK_SIGNAL_FUNC (gftpui_gtk_trans_unselectall), (gpointer) tdata); |
330 gtk_widget_show (tempwid); | 341 gtk_widget_show (tempwid); |
331 | 342 |
332 #if GTK_MAJOR_VERSION == 1 | 343 #if GTK_MAJOR_VERSION == 1 |
333 tempwid = gtk_button_new_with_label (_("OK")); | 344 tempwid = gtk_button_new_with_label (_("OK")); |
334 GTK_WIDGET_SET_FLAGS (tempwid, GTK_CAN_DEFAULT); | 345 GTK_WIDGET_SET_FLAGS (tempwid, GTK_CAN_DEFAULT); |
335 gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->action_area), tempwid, | 346 gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->action_area), tempwid, |
336 TRUE, TRUE, 0); | 347 TRUE, TRUE, 0); |
337 gtk_signal_connect (GTK_OBJECT (tempwid), "clicked", GTK_SIGNAL_FUNC (ok), | 348 gtk_signal_connect (GTK_OBJECT (tempwid), "clicked", |
338 (gpointer) tdata); | 349 GTK_SIGNAL_FUNC (gftpui_gtk_ok), (gpointer) tdata); |
339 gtk_signal_connect_object (GTK_OBJECT (tempwid), "clicked", | 350 gtk_signal_connect_object (GTK_OBJECT (tempwid), "clicked", |
340 GTK_SIGNAL_FUNC (gtk_widget_destroy), | 351 GTK_SIGNAL_FUNC (gtk_widget_destroy), |
341 GTK_OBJECT (dialog)); | 352 GTK_OBJECT (dialog)); |
342 gtk_widget_grab_default (tempwid); | 353 gtk_widget_grab_default (tempwid); |
343 gtk_widget_show (tempwid); | 354 gtk_widget_show (tempwid); |
345 tempwid = gtk_button_new_with_label (_(" Cancel ")); | 356 tempwid = gtk_button_new_with_label (_(" Cancel ")); |
346 GTK_WIDGET_SET_FLAGS (tempwid, GTK_CAN_DEFAULT); | 357 GTK_WIDGET_SET_FLAGS (tempwid, GTK_CAN_DEFAULT); |
347 gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->action_area), tempwid, | 358 gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->action_area), tempwid, |
348 TRUE, TRUE, 0); | 359 TRUE, TRUE, 0); |
349 gtk_signal_connect (GTK_OBJECT (tempwid), "clicked", | 360 gtk_signal_connect (GTK_OBJECT (tempwid), "clicked", |
350 GTK_SIGNAL_FUNC (cancel), (gpointer) tdata); | 361 GTK_SIGNAL_FUNC (gftpui_gtk_cancel), (gpointer) tdata); |
351 gtk_signal_connect_object (GTK_OBJECT (tempwid), "clicked", | 362 gtk_signal_connect_object (GTK_OBJECT (tempwid), "clicked", |
352 GTK_SIGNAL_FUNC (gtk_widget_destroy), | 363 GTK_SIGNAL_FUNC (gtk_widget_destroy), |
353 GTK_OBJECT (dialog)); | 364 GTK_OBJECT (dialog)); |
354 gtk_widget_show (tempwid); | 365 gtk_widget_show (tempwid); |
355 #else | 366 #else |
356 g_signal_connect (GTK_OBJECT (dialog), "response", | 367 g_signal_connect (GTK_OBJECT (dialog), "response", |
357 G_CALLBACK (transfer_action), (gpointer) tdata); | 368 G_CALLBACK (gftpui_gtk_transfer_action),(gpointer) tdata); |
358 #endif | 369 #endif |
359 | 370 |
360 gtk_widget_show (dialog); | 371 gtk_widget_show (dialog); |
361 dialog = NULL; | 372 dialog = NULL; |
362 } | 373 } |