From e53e8a7ba14b5156d41e84d56cab85cbe195e344 Mon Sep 17 00:00:00 2001 From: Nickolay V. Shmyrev Date: Tue, 13 Sep 2005 13:41:17 +0000 Subject: Support for gnome-keyring for encrypted PDF's. * configure.ac: * data/evince-password.glade: * shell/ev-password.c: (ev_password_dialog_set_property), (ev_password_dialog_finalize), (ev_password_dialog_class_init), (ev_password_dialog_init), (ev_password_set_bad_password_label), (ev_password_dialog_entry_changed_cb), (ev_password_dialog_entry_activated_cb), (ev_password_dialog_save_password), (ev_password_keyring_found_cb), (ev_password_search_in_keyring), (ev_password_dialog_get_password), (ev_password_dialog_set_bad_pass): * shell/ev-password.h: * shell/ev-window.c: (password_dialog_response), (ev_window_popup_password_dialog): Support for gnome-keyring for encrypted PDF's. --- (limited to 'shell/ev-window.c') diff --git a/shell/ev-window.c b/shell/ev-window.c index 0b4f919..ad27679 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -710,7 +710,7 @@ password_dialog_response (GtkWidget *password_dialog, EvDocument *document; gchar *uri; - password = ev_password_dialog_get_password (password_dialog); + password = ev_password_dialog_get_password (EV_PASSWORD_DIALOG (password_dialog)); if (password) { ev_document_doc_mutex_lock (); ev_document_security_set_password (EV_DOCUMENT_SECURITY (ev_window->priv->password_document), @@ -719,6 +719,8 @@ password_dialog_response (GtkWidget *password_dialog, } g_free (password); + ev_password_dialog_save_password (EV_PASSWORD_DIALOG (password_dialog)); + document = ev_window->priv->password_document; uri = ev_window->priv->password_uri; @@ -753,14 +755,9 @@ ev_window_popup_password_dialog (EvWindow *ev_window) update_window_title (ev_window->priv->password_document, NULL, ev_window); if (ev_window->priv->password_dialog == NULL) { - gchar *base_name, *file_name; - - file_name = gnome_vfs_format_uri_for_display (ev_window->priv->password_uri); - base_name = g_path_get_basename (file_name); ev_window->priv->password_dialog = - ev_password_dialog_new (GTK_WIDGET (ev_window), base_name); - g_free (base_name); - g_free (file_name); + g_object_new (EV_TYPE_PASSWORD_DIALOG, "uri", ev_window->priv->password_uri, NULL); + gtk_window_set_transient_for (GTK_WINDOW (ev_window->priv->password_dialog), GTK_WINDOW (ev_window)); g_object_add_weak_pointer (G_OBJECT (ev_window->priv->password_dialog), (gpointer *) &(ev_window->priv->password_dialog)); @@ -770,7 +767,7 @@ ev_window_popup_password_dialog (EvWindow *ev_window) ev_window); gtk_widget_show (ev_window->priv->password_dialog); } else { - ev_password_dialog_set_bad_pass (ev_window->priv->password_dialog); + ev_password_dialog_set_bad_pass (EV_PASSWORD_DIALOG (ev_window->priv->password_dialog)); } } -- cgit v0.9.1