- 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));
- } else if (window->priv->uri != NULL) {
- gtk_file_chooser_set_uri (GTK_FILE_CHOOSER (chooser),
- window->priv->uri);
+
+ default_uri = ev_application_get_filechooser_uri (EV_APP, GTK_FILE_CHOOSER_ACTION_OPEN);
+ if (!default_uri && window->priv->uri) {
+ GFile *file, *parent;
+
+ file = g_file_new_for_uri (window->priv->uri);
+ parent = g_file_get_parent (file);
+ if (parent) {
+ parent_uri = g_file_get_uri (parent);
+ default_uri = parent_uri;
+ g_object_unref (parent);
+ }
+ g_object_unref (file);
+ }
+
+ if (default_uri) {
+ gtk_file_chooser_set_current_folder_uri (GTK_FILE_CHOOSER (chooser), default_uri);