X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=shell%2Fev-application.c;h=2b4762927818627945823d599e60e067e6f4cdf3;hb=06001de7e17bdccc2197b9f690269e6f8328e521;hp=9048653f3fd4325a69303c1128c4c7d060ea44ed;hpb=96820f5584e3a27ceebb1b0995c476f7c0953d0b;p=evince.git diff --git a/shell/ev-application.c b/shell/ev-application.c index 9048653f..2b476292 100644 --- a/shell/ev-application.c +++ b/shell/ev-application.c @@ -113,9 +113,19 @@ ev_application_get_instance (void) gboolean ev_application_open_window (EvApplication *application, + guint32 timestamp, GError **error) { - gtk_widget_show (ev_window_new ()); + GtkWidget *new_window = ev_window_new (); + + gtk_widget_show (new_window); + +#ifdef HAVE_GTK_WINDOW_PRESENT_WITH_TIME + gtk_window_present_with_time (GTK_WINDOW (new_window), + timestamp); +#else + gtk_window_present (GTK_WINDOW (new_window)); +#endif return TRUE; } @@ -173,6 +183,7 @@ gboolean ev_application_open_uri (EvApplication *application, const char *uri, const char *page_label, + guint timestamp, GError **error) { EvWindow *new_window; @@ -181,8 +192,12 @@ ev_application_open_uri (EvApplication *application, new_window = ev_application_get_uri_window (application, uri); if (new_window != NULL) { +#ifdef HAVE_GTK_WINDOW_PRESENT_WITH_TIME + gtk_window_present_with_time (GTK_WINDOW (new_window), + timestamp); +#else gtk_window_present (GTK_WINDOW (new_window)); - +#endif return TRUE; } @@ -190,11 +205,17 @@ ev_application_open_uri (EvApplication *application, if (new_window == NULL) { new_window = EV_WINDOW (ev_window_new ()); + gtk_widget_show (GTK_WIDGET (new_window)); } ev_window_open_uri (new_window, uri); +#ifdef HAVE_GTK_WINDOW_PRESENT_WITH_TIME + gtk_window_present_with_time (GTK_WINDOW (new_window), + timestamp); +#else gtk_window_present (GTK_WINDOW (new_window)); +#endif if (page_label != NULL) { ev_window_open_page_label (new_window, page_label); @@ -204,12 +225,17 @@ ev_application_open_uri (EvApplication *application, } void -ev_application_open_uri_list (EvApplication *application, GSList *uri_list) +ev_application_open_uri_list (EvApplication *application, + GSList *uri_list, + guint timestamp) { GSList *l; for (l = uri_list; l != NULL; l = l->next) { - ev_application_open_uri (application, (char *)l->data, NULL, NULL); + ev_application_open_uri (application, (char *)l->data, + NULL, + timestamp, + NULL); } } @@ -245,18 +271,19 @@ ev_application_init (EvApplication *ev_application) ev_application->toolbars_file = g_build_filename (ev_dot_dir (), "evince_toolbar.xml", NULL); - if (!g_file_test (ev_application->toolbars_file, G_FILE_TEST_EXISTS)) { + if (!egg_toolbars_model_load (ev_application->toolbars_model, + ev_application->toolbars_file)) { egg_toolbars_model_load (ev_application->toolbars_model, DATADIR"/evince-toolbar.xml"); - } else { - egg_toolbars_model_load (ev_application->toolbars_model, - ev_application->toolbars_file); } egg_toolbars_model_set_flags (ev_application->toolbars_model, 0, EGG_TB_MODEL_NOT_REMOVABLE); ev_application->recent_model = egg_recent_model_new (EGG_RECENT_MODEL_SORT_MRU); + /* FIXME we should add a mime type filter but current eggrecent + has only a varargs style api which does not work well when + the list of mime types is dynamic */ egg_recent_model_set_limit (ev_application->recent_model, 5); egg_recent_model_set_filter_groups (ev_application->recent_model, "Evince", NULL);