+2006-01-21 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
+
+ * shell/ev-application.c: (ev_application_shutdown),
+ (ev_application_set_chooser_uri), (ev_application_get_chooser_uri):
+ * shell/ev-application.h:
+ * shell/ev-window.c: (file_open_dialog_response_cb),
+ (ev_window_cmd_file_open):
+
+ Save last uri in file chooser dialog. Fix for the bug #327950.
+
2006-01-20 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
* NEWS:
application->recent_model = NULL;
}
+ g_free (application->last_chooser_uri);
g_object_unref (application);
+
gtk_main_quit ();
}
application->toolbars_file, "1.0");
}
+void ev_application_set_chooser_uri (EvApplication *application, gchar *uri)
+{
+ g_free (application->last_chooser_uri);
+ application->last_chooser_uri = g_strdup (uri);
+}
+
+const gchar* ev_application_get_chooser_uri (EvApplication *application)
+{
+ return application->last_chooser_uri;
+}
EggToolbarsModel *toolbars_model;
EggRecentModel *recent_model;
+
+ gchar *last_chooser_uri;
};
struct _EvApplicationClass {
EggToolbarsModel *ev_application_get_toolbars_model (EvApplication *application);
void ev_application_save_toolbars_model (EvApplication *application);
EggRecentModel *ev_application_get_recent_model (EvApplication *application);
+void ev_application_set_chooser_uri (EvApplication *application,
+ gchar *uri);
+const gchar *ev_application_get_chooser_uri (EvApplication *application);
G_END_DECLS
g_slist_foreach (uris, (GFunc)g_free, NULL);
g_slist_free (uris);
}
+ ev_application_set_chooser_uri (EV_APP,
+ gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (chooser)));
gtk_widget_destroy (chooser);
}
ev_document_types_add_filters (chooser, NULL);
gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER (chooser), TRUE);
gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (chooser), FALSE);
-
+ if (ev_application_get_chooser_uri (EV_APP) != NULL)
+ gtk_file_chooser_set_uri (GTK_FILE_CHOOSER (chooser),
+ ev_application_get_chooser_uri (EV_APP));
+
g_signal_connect (chooser, "response",
G_CALLBACK (file_open_dialog_response_cb),
window);