Re: [evolution-patches] patch for bug 48759



On Thu, 2003-09-25 at 03:07, Charles Zhang wrote:
[snip]
> Index: composer/e-msg-composer-select-file.c
> ===================================================================
> RCS file: /cvs/gnome/evolution/composer/e-msg-composer-select-file.c,v
> retrieving revision 1.25
> diff -u -p -r1.25 e-msg-composer-select-file.c
> --- composer/e-msg-composer-select-file.c	2 Apr 2003 18:51:01 -0000	1.25
> +++ composer/e-msg-composer-select-file.c	25 Sep 2003 06:55:07 -0000
> @@ -38,6 +38,29 @@
>  
>  #include "e-msg-composer-select-file.h"
>  
> +static gboolean
> +ok_press_callback (GtkWidget        *okbutton, 
> +		   GdkEventButton   *event,
> +		   GtkFileSelection *selection)

please follow the coding standards

static gboolean
ok_press_callback (GtkWidget *ok_button, GdkEventButton *event, 
		   GtkFileSelection *selection)

> +{
> +	char *filename = gtk_file_selection_get_filename (selection);
> +	char *pathname = g_path_get_dirname (filename);
> +	gboolean ret = FALSE;
> +	struct stat st;
> +
> +	if (stat (pathname, &st) == -1 || (! S_ISDIR (st.st_mode))) {

!S_ISDIR...

> +		/* pathdir doesn't exist or isn't a valid dir */
> +		ret = TRUE;
> +	}

} else if

> +	else if (stat (filename, &st) == 0 && (! S_ISREG (st.st_mode))) {

!S_ISREG...

> +		/* file exists but isn't a regular file */
> +		ret = TRUE;
> +	}
> +	
> +	g_free (pathname);
> +	return ret;
> +}
> +
>  static GtkFileSelection *
>  run_selector(EMsgComposer *composer, const char *title, int multi, gboolean *showinline_p)
>  {
> @@ -52,6 +75,10 @@ run_selector(EMsgComposer *composer, con
>  	gnome_window_icon_set_from_file((GtkWindow *)selection, EVOLUTION_DATADIR "/images/evolution/compose-message.png");
>  	gtk_file_selection_set_select_multiple((GtkFileSelection *)selection, multi);
>  
> +	g_signal_connect (((GtkFileSelection *) selection)->ok_button,
> +			  "button_press_event", G_CALLBACK (ok_press_callback),
> +			  (gpointer) selection);
> +
>  	/* restore last path used */
>  	path = g_object_get_data((GObject *)composer, "attach_path");
>  	if (path == NULL) {
> @@ -98,6 +125,9 @@ e_msg_composer_select_file (EMsgComposer
>  {
>  	GtkFileSelection *selection;
>  	char *name = NULL;
> +
> +	/* FIXME: the next instrument should be "run_selector(composer, title, FALSE, NULL)",
> +	   otherwise this dialog's title is wrong and more than one file can be selected. */
>  
>  	selection = run_selector(composer, _("Attach file(s)"), TRUE, NULL);
>  	if (selection) {
-- 
Jeffrey Stedfast
Evolution Hacker - Ximian, Inc.
fejj ximian com  - www.ximian.com




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]