diff options
author | Christopher James Lahey <clahey@ximian.com> | 2002-03-29 04:52:35 +0800 |
---|---|---|
committer | Chris Lahey <clahey@src.gnome.org> | 2002-03-29 04:52:35 +0800 |
commit | 7fd8357af6b7e045c531d84ac561e0632d03aef4 (patch) | |
tree | e21879687428306f2829aae55d5484f7311d7560 | |
parent | 1b25ccf526fbc72b6b70fcf74b825a670072bcfc (diff) | |
download | gsoc2013-evolution-7fd8357af6b7e045c531d84ac561e0632d03aef4.tar gsoc2013-evolution-7fd8357af6b7e045c531d84ac561e0632d03aef4.tar.gz gsoc2013-evolution-7fd8357af6b7e045c531d84ac561e0632d03aef4.tar.bz2 gsoc2013-evolution-7fd8357af6b7e045c531d84ac561e0632d03aef4.tar.lz gsoc2013-evolution-7fd8357af6b7e045c531d84ac561e0632d03aef4.tar.xz gsoc2013-evolution-7fd8357af6b7e045c531d84ac561e0632d03aef4.tar.zst gsoc2013-evolution-7fd8357af6b7e045c531d84ac561e0632d03aef4.zip |
From composer/ChangeLog:
2002-03-28 Christopher James Lahey <clahey@ximian.com>
* e-msg-composer-select-file.c: Switch to using EFileSelection
here instead of GtkFileSelection.
svn path=/trunk/; revision=16276
-rw-r--r-- | composer/ChangeLog | 5 | ||||
-rw-r--r-- | composer/e-msg-composer-select-file.c | 58 |
2 files changed, 22 insertions, 41 deletions
diff --git a/composer/ChangeLog b/composer/ChangeLog index 88018c0d61..e56746d287 100644 --- a/composer/ChangeLog +++ b/composer/ChangeLog @@ -1,3 +1,8 @@ +2002-03-28 Christopher James Lahey <clahey@ximian.com> + + * e-msg-composer-select-file.c: Switch to using EFileSelection + here instead of GtkFileSelection. + 2002-03-27 Larry Ewing <lewing@ximian.com> * Makefile.am: fix for the changes to GTKHTML_DATADIR that include diff --git a/composer/e-msg-composer-select-file.c b/composer/e-msg-composer-select-file.c index 79c2084090..e46c4ad2be 100644 --- a/composer/e-msg-composer-select-file.c +++ b/composer/e-msg-composer-select-file.c @@ -30,6 +30,7 @@ #include <gtk/gtkfilesel.h> #include <gtk/gtkmain.h> #include <gtk/gtksignal.h> +#include <gal/widgets/e-file-selection.h> #include "e-msg-composer-select-file.h" @@ -43,40 +44,18 @@ typedef struct _FileSelectionInfo { static void confirm (FileSelectionInfo *info) { - const char *filename; - GtkCList *file_list; - char *path; - GList *l; - - file_list = GTK_CLIST (GTK_FILE_SELECTION (info->widget)->file_list); - - if (info->multiple && file_list->selection) { - /* evil kludgy hack cuz the gtk file selector fucking sucks ass */ - path = g_dirname (gtk_file_selection_get_filename (GTK_FILE_SELECTION (info->widget))); - - l = file_list->selection; - - while (l) { - int row; - - if (!info->selected_files) - info->selected_files = g_ptr_array_new (); - - row = GPOINTER_TO_INT (l->data); - if (gtk_clist_get_text (GTK_CLIST (file_list), row, 0, (char **) &filename)) - g_ptr_array_add (info->selected_files, g_strdup_printf ("%s/%s", path, filename)); - - l = l->next; - } - - g_free (path); - } else { - filename = gtk_file_selection_get_filename (GTK_FILE_SELECTION (info->widget)); - if (filename) { - info->selected_files = g_ptr_array_new (); - g_ptr_array_add (info->selected_files, g_strdup (filename)); - } - } + char **file_list; + int i; + + file_list = e_file_selection_get_filenames (E_FILE_SELECTION (info->widget)); + + if (!info->selected_files) + info->selected_files = g_ptr_array_new (); + + for (i = 0; file_list[i]; i++) + g_ptr_array_add (info->selected_files, file_list[i]); + + g_free (file_list); gtk_widget_hide (info->widget); @@ -145,24 +124,21 @@ create_file_selection (EMsgComposer *composer, gboolean multiple) GtkWidget *ok_button; GtkWidget *cancel_button; GtkWidget *inline_checkbox; - GtkWidget *file_list; GtkWidget *box; char *path; info = g_new (FileSelectionInfo, 1); - widget = gtk_file_selection_new (NULL); + widget = e_file_selection_new (NULL); path = g_strdup_printf ("%s/", g_get_home_dir ()); gtk_file_selection_set_filename (GTK_FILE_SELECTION (widget), path); g_free (path); gtk_window_set_wmclass (GTK_WINDOW (widget), "fileselection", "Evolution:composer"); - if (multiple) { - file_list = GTK_FILE_SELECTION (widget)->file_list; - gtk_clist_set_selection_mode (GTK_CLIST (file_list), - GTK_SELECTION_MULTIPLE); - } + gtk_object_set (GTK_OBJECT (widget), + "multiple", multiple, + NULL); ok_button = GTK_FILE_SELECTION (widget)->ok_button; cancel_button = GTK_FILE_SELECTION (widget)->cancel_button; |