gnumeric r16475 - in branches/gnumeric-1-8: . src
- From: mortenw svn gnome org
- To: svn-commits-list gnome org
- Subject: gnumeric r16475 - in branches/gnumeric-1-8: . src
- Date: Wed, 26 Mar 2008 18:38:37 +0000 (GMT)
Author: mortenw
Date: Wed Mar 26 18:38:37 2008
New Revision: 16475
URL: http://svn.gnome.org/viewvc/gnumeric?rev=16475&view=rev
Log:
2008-03-26 Morten Welinder <terra gnome org>
* src/gui-file.c (gui_file_open): Allow selection of multiple
files. [#524479]
Modified:
branches/gnumeric-1-8/ChangeLog
branches/gnumeric-1-8/NEWS
branches/gnumeric-1-8/src/gui-file.c
Modified: branches/gnumeric-1-8/NEWS
==============================================================================
--- branches/gnumeric-1-8/NEWS (original)
+++ branches/gnumeric-1-8/NEWS Wed Mar 26 18:38:37 2008
@@ -5,6 +5,7 @@
Morten:
* Fix SUMIF problems. [#523250]
+ * Allow opening multiple files in open dialog. [#524479]
--------------------------------------------------------------------------
Gnumeric 1.8.2
Modified: branches/gnumeric-1-8/src/gui-file.c
==============================================================================
--- branches/gnumeric-1-8/src/gui-file.c (original)
+++ branches/gnumeric-1-8/src/gui-file.c Wed Mar 26 18:38:37 2008
@@ -204,7 +204,7 @@
file_format_changed_cb_data data;
gint opener_default;
char const *title;
- char *uri = NULL;
+ GSList *uris = NULL;
char const *encoding = NULL;
GOFileOpener *fo = NULL;
Workbook *workbook = wb_control_get_workbook (WORKBOOK_CONTROL (wbcg));
@@ -242,6 +242,7 @@
"action", GTK_FILE_CHOOSER_ACTION_OPEN,
"local-only", FALSE,
"title", _("Select a file"),
+ "select-multiple", TRUE,
NULL));
advanced_button = gtk_button_new_with_mnemonic (_("Advanc_ed"));
@@ -324,7 +325,7 @@
if (!go_gtk_file_sel_dialog (wbcg_toplevel (wbcg), GTK_WIDGET (fsel)))
goto out;
- uri = gtk_file_chooser_get_uri (fsel);
+ uris = gtk_file_chooser_get_uris (fsel);
encoding = go_charmap_sel_get_encoding (GO_CHARMAP_SEL (go_charmap_sel));
fo = g_list_nth_data (openers, gtk_combo_box_get_active (format_combo));
@@ -332,12 +333,18 @@
gtk_widget_destroy (GTK_WIDGET (fsel));
g_list_free (openers);
- if (uri) {
+ while (uris) {
+ char *uri = uris->data;
+ GSList *hook = uris;
+
/* Make sure dialog goes away right now. */
while (g_main_context_iteration (NULL, FALSE));
gui_file_read (wbcg, uri, fo, encoding);
g_free (uri);
+
+ uris = uris->next;
+ g_slist_free_1 (hook);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]