Mercurial > gftp.yaz
diff src/gtk/menu-items.c @ 19:3b2dcdefc7e9
2002-09-15 Brian Masney <masneyb@gftp.org>
* lib/gftp.h (struct gftp_transfer) - changed the type of numfiles and
numdirs from unsigned long to long. This must be a signed field. This
is a bug I introduced a few days ago.
* lib/local.c (local_put_file) - remove the + off of the ab mode to
fdopen. This is also a bug I introduced a few days ago.
* src/gtk/transfer.c (gftp_gtk_calc_kbs) - make sure that the variable
difftime isn't a negative number when computing the KB/s
* src/gtk/menu-items.c (save_directory_listing) - remove casts to
GTK_OBJECT for the str variable
* src/gtk/gftp-gtk.c - use GTK_STOCK_* icons in place of left.xpm,
right.xpm, up.xpm, down.xpm and stop.xpm in GTK+ 2.0 port
* src/gtk/bookmarks.c - show GTK_STOCK_* icons on the popup menu
* src/gtk/bookmarks.c, src/gtk/chmod_dialog.c, src/gtk/menu-items.c,
src/gtk/misc-gtk.c, src/gtk/options_dialog.c and
src/gtk/view_dialog.c - use gtk_dialog_new_with_buttons in GTK+ 2.0
port to create the dialog. Also, associate gFTP icon with this dialog
* src/gtk/misc-gtk.c - changed the interface of MakeEditDialog and
MakeYesNoDialog. In the GTK+ 2.0 port, I now use stock icons in the
dialog buttons.
author | masneyb |
---|---|
date | Mon, 16 Sep 2002 12:27:50 +0000 |
parents | 83090328581e |
children | 4b244bf9d84d |
line wrap: on
line diff
--- a/src/gtk/menu-items.c Wed Sep 11 10:26:13 2002 +0000 +++ b/src/gtk/menu-items.c Mon Sep 16 12:27:50 2002 +0000 @@ -19,21 +19,9 @@ #include <gftp-gtk.h> -static void do_openurl ( GtkWidget * widget, - gftp_dialog_data * data ); -static void dochange_filespec ( GtkWidget * widget, - gftp_dialog_data * data ); -static void dosave_directory_listing ( GtkWidget * widget, - gftp_save_dir_struct * str ); -static void destroy_save_directory_listing ( gftp_save_dir_struct * str ); -static void dosite ( GtkWidget * widget, - gftp_dialog_data * data ); static int do_change_dir ( gftp_window_data * wdata, char * directory ); static void *do_change_dir_thread ( void * data ); -static void dosavelog ( GtkWidget * widget, - GtkFileSelection * fs ); - static RETSIGTYPE sig_chdirquit ( int signo ); static sigjmp_buf chdirenvir; @@ -96,22 +84,11 @@ } -void -openurl_dialog (gpointer data) +static void +do_openurl (gftp_window_data * wdata, gftp_dialog_data * ddata) { - MakeEditDialog (_("Connect via URL"), _("Enter ftp url to connect to"), - NULL, 1, 1, NULL, _("Connect"), do_openurl, data, - _(" Cancel "), NULL, NULL); -} - - -static void -do_openurl (GtkWidget * widget, gftp_dialog_data * data) -{ - gftp_window_data * wdata; const char *tempstr; - wdata = data->data; if (current_wdata->request->stopable) { ftp_log (gftp_logging_misc, NULL, @@ -120,7 +97,7 @@ return; } - tempstr = gtk_entry_get_text (GTK_ENTRY (data->edit)); + tempstr = gtk_entry_get_text (GTK_ENTRY (ddata->edit)); if (*tempstr == '\0') { ftp_log (gftp_logging_misc, NULL, @@ -133,15 +110,24 @@ if (gftp_parse_url (wdata->request, tempstr) == 0) { - gtk_widget_destroy (data->dialog); + gtk_widget_destroy (ddata->dialog); ftp_connect (wdata, wdata->request, 1); } else { - gtk_widget_destroy (data->dialog); + gtk_widget_destroy (ddata->dialog); ftp_log (gftp_logging_misc, NULL, _("Could not parse URL %s\n"), tempstr); } - data->dialog = NULL; + ddata->dialog = NULL; +} + + +void +openurl_dialog (gpointer data) +{ + MakeEditDialog (_("Connect via URL"), _("Enter ftp url to connect to"), + NULL, 1, NULL, gftp_dialog_button_connect, do_openurl, data, + NULL, NULL); } @@ -157,34 +143,17 @@ } -void -change_filespec (gpointer data) -{ - gftp_window_data * wdata; - - wdata = data; - if (!check_status (_("Change Filespec"), wdata, 0, 0, 0, 1)) - return; - - MakeEditDialog (_("Change Filespec"), _("Enter the new file specification"), - wdata->filespec, 1, 1, NULL, _("Change"), dochange_filespec, - wdata, _(" Cancel "), NULL, NULL); -} - - static void -dochange_filespec (GtkWidget * widget, gftp_dialog_data * data) +dochange_filespec (gftp_window_data * wdata, gftp_dialog_data * ddata) { GList * templist, * filelist; gftp_file * tempfle; - gftp_window_data * wdata; const char *edttext; int num; - wdata = data->data; wdata->show_selected = 0; - edttext = gtk_entry_get_text (GTK_ENTRY (data->edit)); + edttext = gtk_entry_get_text (GTK_ENTRY (ddata->edit)); if (*edttext == '\0') { ftp_log (gftp_logging_misc, NULL, @@ -221,28 +190,17 @@ void -save_directory_listing (gpointer data) +change_filespec (gpointer data) { - gftp_save_dir_struct * str; - GtkWidget *filew; - - filew = gtk_file_selection_new (_("Save Directory Listing")); - - str = g_malloc (sizeof (*str)); - str->filew = filew; - str->wdata = data; + gftp_window_data * wdata; - gtk_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (filew)->ok_button), - "clicked", GTK_SIGNAL_FUNC (dosave_directory_listing), - str); - gtk_signal_connect_object (GTK_OBJECT (GTK_FILE_SELECTION (filew)->ok_button), - "clicked", - GTK_SIGNAL_FUNC (destroy_save_directory_listing), - GTK_OBJECT (str)); - gtk_signal_connect_object (GTK_OBJECT (GTK_FILE_SELECTION (filew)->cancel_button), "clicked", GTK_SIGNAL_FUNC (destroy_save_directory_listing), GTK_OBJECT (str)); + wdata = data; + if (!check_status (_("Change Filespec"), wdata, 0, 0, 0, 1)) + return; - gtk_window_set_wmclass (GTK_WINDOW(filew), "Save Directory Listing", "gFTP"); - gtk_widget_show (filew); + MakeEditDialog (_("Change Filespec"), _("Enter the new file specification"), + wdata->filespec, 1, NULL, gftp_dialog_button_change, + dochange_filespec, wdata, NULL, NULL); } @@ -314,6 +272,32 @@ } +void +save_directory_listing (gpointer data) +{ + gftp_save_dir_struct * str; + GtkWidget *filew; + + filew = gtk_file_selection_new (_("Save Directory Listing")); + + str = g_malloc (sizeof (*str)); + str->filew = filew; + str->wdata = data; + + gtk_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (filew)->ok_button), + "clicked", GTK_SIGNAL_FUNC (dosave_directory_listing), + str); + gtk_signal_connect_object (GTK_OBJECT (GTK_FILE_SELECTION (filew)->ok_button), + "clicked", + GTK_SIGNAL_FUNC (destroy_save_directory_listing), + str); + gtk_signal_connect_object (GTK_OBJECT (GTK_FILE_SELECTION (filew)->cancel_button), "clicked", GTK_SIGNAL_FUNC (destroy_save_directory_listing), str); + + gtk_window_set_wmclass (GTK_WINDOW(filew), "Save Directory Listing", "gFTP"); + gtk_widget_show (filew); +} + + void show_selected (gpointer data) { @@ -401,28 +385,12 @@ } -void -site_dialog (gpointer data) +static void +dosite (gftp_window_data * wdata, gftp_dialog_data * ddata) { - gftp_window_data * wdata; - - wdata = data; - if (!check_status (_("Site"), wdata, 0, 0, 0, wdata->request->site != NULL)) - return; - - MakeEditDialog (_("Site"), _("Enter site-specific command"), NULL, 1, 1, - NULL, _("OK"), dosite, wdata, _(" Cancel "), NULL, NULL); -} - - -static void -dosite (GtkWidget * widget, gftp_dialog_data * data) -{ - gftp_window_data * wdata; const char *edttext; - wdata = data->data; - edttext = gtk_entry_get_text (GTK_ENTRY (data->edit)); + edttext = gtk_entry_get_text (GTK_ENTRY (ddata->edit)); if (*edttext == '\0') { ftp_log (gftp_logging_misc, NULL, @@ -439,6 +407,20 @@ } +void +site_dialog (gpointer data) +{ + gftp_window_data * wdata; + + wdata = data; + if (!check_status (_("Site"), wdata, 0, 0, 0, wdata->request->site != NULL)) + return; + + MakeEditDialog (_("Site"), _("Enter site-specific command"), NULL, 1, + NULL, gftp_dialog_button_ok, dosite, wdata, NULL, NULL); +} + + int chdir_edit (GtkWidget * widget, gpointer data) { @@ -688,26 +670,6 @@ } -void -savelog (gpointer data) -{ - GtkWidget *filew; - - filew = gtk_file_selection_new (_("Save Log")); - - gtk_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (filew)->ok_button), - "clicked", GTK_SIGNAL_FUNC (dosavelog), filew); - gtk_signal_connect_object (GTK_OBJECT (GTK_FILE_SELECTION (filew)->ok_button), - "clicked", GTK_SIGNAL_FUNC (gtk_widget_destroy), - GTK_OBJECT (filew)); - gtk_signal_connect_object (GTK_OBJECT (GTK_FILE_SELECTION (filew)->cancel_button), "clicked", GTK_SIGNAL_FUNC (gtk_widget_destroy), GTK_OBJECT (filew)); - - gtk_file_selection_set_filename (GTK_FILE_SELECTION (filew), "gftp.log"); - gtk_window_set_wmclass (GTK_WINDOW(filew), "Save Log", "gFTP"); - gtk_widget_show (filew); -} - - static void dosavelog (GtkWidget * widget, GtkFileSelection * fs) { @@ -767,6 +729,26 @@ void +savelog (gpointer data) +{ + GtkWidget *filew; + + filew = gtk_file_selection_new (_("Save Log")); + + gtk_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (filew)->ok_button), + "clicked", GTK_SIGNAL_FUNC (dosavelog), filew); + gtk_signal_connect_object (GTK_OBJECT (GTK_FILE_SELECTION (filew)->ok_button), + "clicked", GTK_SIGNAL_FUNC (gtk_widget_destroy), + GTK_OBJECT (filew)); + gtk_signal_connect_object (GTK_OBJECT (GTK_FILE_SELECTION (filew)->cancel_button), "clicked", GTK_SIGNAL_FUNC (gtk_widget_destroy), GTK_OBJECT (filew)); + + gtk_file_selection_set_filename (GTK_FILE_SELECTION (filew), "gftp.log"); + gtk_window_set_wmclass (GTK_WINDOW(filew), "Save Log", "gFTP"); + gtk_widget_show (filew); +} + + +void clear_cache (gpointer data) { gftp_clear_cache_files (); @@ -789,20 +771,31 @@ no_license_agreement = g_strdup_printf (_("Cannot find the license agreement file COPYING. Please make sure it is in either %s or in %s"), BASE_CONF_DIR, SHARE_DIR); +#if GTK_MAJOR_VERSION == 1 && GTK_MINOR_VERSION == 2 dialog = gtk_dialog_new (); gtk_window_set_title (GTK_WINDOW (dialog), _("About gFTP")); - gtk_window_set_wmclass (GTK_WINDOW(dialog), "about", "gFTP"); - gtk_container_border_width (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), 10); gtk_container_border_width (GTK_CONTAINER (GTK_DIALOG (dialog)->action_area), 5); - gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (dialog)->vbox), 5); gtk_box_set_homogeneous (GTK_BOX (GTK_DIALOG (dialog)->action_area), TRUE); +#else + dialog = gtk_dialog_new_with_buttons (_("About gFTP"), NULL, 0, + GTK_STOCK_CLOSE, + GTK_RESPONSE_CLOSE, + NULL); +#endif + gtk_window_set_wmclass (GTK_WINDOW(dialog), "about", "gFTP"); gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); - gtk_signal_connect_object (GTK_OBJECT (dialog), "delete_event", - GTK_SIGNAL_FUNC (gtk_widget_destroy), - GTK_OBJECT (dialog)); + gtk_container_border_width (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), 10); + gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (dialog)->vbox), 5); gtk_widget_realize (dialog); + if (gftp_icon != NULL) + { + gdk_window_set_icon (dialog->window, NULL, gftp_icon->pixmap, + gftp_icon->bitmap); + gdk_window_set_icon_name (dialog->window, _("gFTP Icon")); + } + notebook = gtk_notebook_new (); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), notebook, TRUE, TRUE, 0); @@ -883,6 +876,7 @@ gtk_notebook_append_page (GTK_NOTEBOOK (notebook), box, label); +#if GTK_MAJOR_VERSION == 1 && GTK_MINOR_VERSION == 2 tempwid = gtk_button_new_with_label (_(" Close ")); GTK_WIDGET_SET_FLAGS (tempwid, GTK_CAN_DEFAULT); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->action_area), tempwid, @@ -892,6 +886,11 @@ GTK_OBJECT (dialog)); gtk_widget_grab_default (tempwid); gtk_widget_show (tempwid); +#else + g_signal_connect_swapped (GTK_OBJECT (dialog), "response", + G_CALLBACK (gtk_widget_destroy), + GTK_OBJECT (dialog)); +#endif tempstr = g_strconcat ("/usr/share/common-licenses/GPL", NULL); if (access (tempstr, F_OK) != 0)