#include <gtk/gtkfilechooserdialog.h>
#include <gtk/gtkstock.h>
#include <gtk/gtkwidget.h>
-#include <bonobo/bonobo-main.h>
+#include <gtk/gtkmain.h>
+#include <libgnomevfs/gnome-vfs-utils.h>
-#include <ev-window.h>
+#include "ev-window.h"
struct _EvApplicationPrivate {
GList *windows;
g_list_remove (application->priv->windows, object);
if (application->priv->windows == NULL)
- bonobo_main_quit ();
+ gtk_main_quit ();
}
EvWindow *
{
EvWindow *ev_window;
GtkWidget *chooser;
- GtkFileFilter *both_filter, *pdf_filter, *ps_filter, *all_filter;
-
+ GtkFileFilter *both_filter, *pdf_filter, *ps_filter, *pixbuf_filter, *all_filter;
ev_window = ev_application_get_empty_window (application);
gtk_file_filter_add_mime_type (pdf_filter, "application/pdf");
gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (chooser), pdf_filter);
+ pixbuf_filter = gtk_file_filter_new ();
+ gtk_file_filter_set_name (pixbuf_filter, _("Images"));
+ gtk_file_filter_add_pixbuf_formats (pixbuf_filter);
+ gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (chooser), pixbuf_filter);
+
all_filter = gtk_file_filter_new ();
gtk_file_filter_set_name (all_filter, _("All Files"));
gtk_file_filter_add_pattern (all_filter, "*");
gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (chooser), all_filter);
-
+
gtk_file_chooser_set_filter (GTK_FILE_CHOOSER (chooser), both_filter);
if (gtk_dialog_run (GTK_DIALOG (chooser)) == GTK_RESPONSE_OK) {
gtk_widget_destroy (GTK_WIDGET (chooser));
}
+void
+ev_application_open_link (EvApplication *application,
+ EvWindow *window,
+ EvLink *link,
+ GError *error)
+{
+ EvLinkType type;
+ const char *uri;
+
+ type = ev_link_get_link_type (link);
+
+ switch (type) {
+ case EV_LINK_TYPE_TITLE:
+ break;
+ case EV_LINK_TYPE_PAGE:
+ ev_window_open_link (window, link);
+ break;
+ case EV_LINK_TYPE_EXTERNAL_URI:
+ uri = ev_link_get_uri (link);
+ gnome_vfs_url_show (uri);
+ break;
+ }
+}
+
static void
ev_application_class_init (EvApplicationClass *ev_application_class)
{