]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-document-types.c
Use common save function for backends.
[evince.git] / shell / ev-document-types.c
index cbe6c2410751cdac823b57efd384e6e5be8ebeae..23d940c22640e634c4bf97ce2e9cf26432496a4c 100644 (file)
@@ -133,9 +133,9 @@ ev_document_types_add_filters (GtkWidget *chooser, EvDocument *document)
        gtk_file_filter_set_name (filter, _("All Documents"));
        mime_types = ev_document_factory_get_all_mime_types ();
        file_filter_add_mime_list_and_free (filter, mime_types);
        gtk_file_filter_set_name (filter, _("All Documents"));
        mime_types = ev_document_factory_get_all_mime_types ();
        file_filter_add_mime_list_and_free (filter, mime_types);
-       gtk_file_filter_add_pixbuf_formats (filter);
        gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (chooser), filter);
 
        gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (chooser), filter);
 
+#ifdef ENABLE_PS
        if (document == NULL || backend == EV_BACKEND_PS) {
                default_filter = filter = gtk_file_filter_new ();
                gtk_file_filter_set_name (filter, _("PostScript Documents"));
        if (document == NULL || backend == EV_BACKEND_PS) {
                default_filter = filter = gtk_file_filter_new ();
                gtk_file_filter_set_name (filter, _("PostScript Documents"));
@@ -143,6 +143,7 @@ ev_document_types_add_filters (GtkWidget *chooser, EvDocument *document)
                file_filter_add_mime_list_and_free (filter, mime_types);
                gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (chooser), filter);
        }
                file_filter_add_mime_list_and_free (filter, mime_types);
                gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (chooser), filter);
        }
+#endif
 
        if (document == NULL || backend == EV_BACKEND_PDF) {
                default_filter = filter = gtk_file_filter_new ();
 
        if (document == NULL || backend == EV_BACKEND_PDF) {
                default_filter = filter = gtk_file_filter_new ();
@@ -152,12 +153,15 @@ ev_document_types_add_filters (GtkWidget *chooser, EvDocument *document)
                gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (chooser), filter);
        }
 
                gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (chooser), filter);
        }
 
+#ifdef ENABLE_PIXBUF
        if (document == NULL || backend == EV_BACKEND_PIXBUF) {
                default_filter = filter = gtk_file_filter_new ();
                gtk_file_filter_set_name (filter, _("Images"));
        if (document == NULL || backend == EV_BACKEND_PIXBUF) {
                default_filter = filter = gtk_file_filter_new ();
                gtk_file_filter_set_name (filter, _("Images"));
-               gtk_file_filter_add_pixbuf_formats (filter);
+               mime_types = ev_document_factory_get_mime_types (EV_BACKEND_PIXBUF);
+               file_filter_add_mime_list_and_free (filter, mime_types);
                gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (chooser), filter);
        }
                gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (chooser), filter);
        }
+#endif
 
 #ifdef ENABLE_DVI
        if (document == NULL || backend == EV_BACKEND_DVI) {
 
 #ifdef ENABLE_DVI
        if (document == NULL || backend == EV_BACKEND_DVI) {
@@ -179,6 +183,16 @@ ev_document_types_add_filters (GtkWidget *chooser, EvDocument *document)
        }
 #endif 
 
        }
 #endif 
 
+#ifdef ENABLE_COMICS
+       if (document == NULL || backend == EV_BACKEND_COMICS) {
+               default_filter = filter = gtk_file_filter_new ();
+               gtk_file_filter_set_name (filter, _("Comic Books"));
+               mime_types = ev_document_factory_get_mime_types (EV_BACKEND_COMICS);
+               file_filter_add_mime_list_and_free (filter, mime_types);
+               gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (chooser), filter);
+       }
+#endif 
+
        filter = gtk_file_filter_new ();
        gtk_file_filter_set_name (filter, _("All Files"));
        gtk_file_filter_add_pattern (filter, "*");
        filter = gtk_file_filter_new ();
        gtk_file_filter_set_name (filter, _("All Files"));
        gtk_file_filter_add_pattern (filter, "*");