X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=shell%2Fev-window.c;h=854079b573e0888cfbb9a4c2929daeafce1adf06;hb=bbc6a0f5736ed843754902eb9a829dd5e173e1ac;hp=72b7a38ce536fb5d76eb1fe546b1c088366c1203;hpb=4d67007ded4eea4362878c78248ccb3d5ba3f5ee;p=evince.git diff --git a/shell/ev-window.c b/shell/ev-window.c index 72b7a38c..854079b5 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -37,7 +37,8 @@ #include "ev-password.h" #include "ev-password-view.h" #include "ev-print-job.h" -#include "ev-properties.h" +#include "ev-properties-dialog.h" +#include "ev-ps-exporter.h" #include "ev-document-thumbnails.h" #include "ev-document-links.h" #include "ev-document-fonts.h" @@ -107,7 +108,7 @@ struct _EvWindowPrivate { GtkWidget *sidebar_thumbs; /* Dialogs */ - EvProperties *properties; + GtkWidget *properties; /* UI Builders */ GtkActionGroup *action_group; @@ -237,6 +238,9 @@ update_action_sensitivity (EvWindow *ev_window) ok_to_copy = (info->permissions & EV_DOCUMENT_PERMISSIONS_OK_TO_COPY); } + if (has_document && !EV_IS_PS_EXPORTER(document)) + ok_to_print = FALSE; + if (!info || info->fields_mask == 0) { has_properties = FALSE; } @@ -668,8 +672,8 @@ ev_window_setup_document (EvWindow *ev_window) update_document_mode (ev_window, info->mode); if (ev_window->priv->properties) { - ev_properties_set_document (ev_window->priv->properties, - ev_window->priv->document); + ev_properties_dialog_set_document (EV_PROPERTIES_DIALOG (ev_window->priv->properties), + ev_window->priv->document); } } @@ -1319,14 +1323,16 @@ static void ev_window_cmd_file_properties (GtkAction *action, EvWindow *ev_window) { if (ev_window->priv->properties == NULL) { - ev_window->priv->properties = ev_properties_new (); - ev_properties_set_document (ev_window->priv->properties, - ev_window->priv->document); + ev_window->priv->properties = ev_properties_dialog_new (); + ev_properties_dialog_set_document (EV_PROPERTIES_DIALOG (ev_window->priv->properties), + ev_window->priv->document); g_object_add_weak_pointer (G_OBJECT (ev_window->priv->properties), (gpointer *) &(ev_window->priv->properties)); + gtk_window_set_transient_for (GTK_WINDOW (ev_window->priv->properties), + GTK_WINDOW (ev_window)); } - ev_properties_show (ev_window->priv->properties, GTK_WIDGET (ev_window)); + gtk_widget_show (ev_window->priv->properties); } static void