diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ephy-shell.c | 39 | ||||
-rw-r--r-- | src/ephy-shell.h | 2 | ||||
-rw-r--r-- | src/epiphany.defs | 6 | ||||
-rw-r--r-- | src/window-commands.c | 23 |
4 files changed, 25 insertions, 45 deletions
diff --git a/src/ephy-shell.c b/src/ephy-shell.c index 410da1756..81618503e 100644 --- a/src/ephy-shell.c +++ b/src/ephy-shell.c @@ -21,6 +21,12 @@ #include "config.h" +#include <string.h> +#include <glib/gi18n.h> +#include <gtk/gtknotebook.h> +#include <dirent.h> +#include <unistd.h> + #include "ephy-shell.h" #include "ephy-type-builtins.h" #include "ephy-embed-shell.h" @@ -44,16 +50,9 @@ #include "egg-toolbars-model.h" #include "ephy-toolbars-model.h" #include "ephy-toolbar.h" -#include "print-dialog.h" #include "ephy-prefs.h" #include "ephy-gui.h" -#include <string.h> -#include <glib/gi18n.h> -#include <gtk/gtknotebook.h> -#include <dirent.h> -#include <unistd.h> - #ifdef ENABLE_NETWORK_MANAGER #include "ephy-net-monitor.h" #endif @@ -75,7 +74,6 @@ struct _EphyShellPrivate GtkWidget *history_window; GObject *pdm_dialog; GObject *prefs_dialog; - GObject *print_setup_dialog; GList *del_on_exit; guint embed_single_connected : 1; @@ -354,13 +352,6 @@ ephy_shell_dispose (GObject *object) priv->prefs_dialog = NULL; } - if (priv->print_setup_dialog != NULL) - { - LOG ("Unref print setup dialog"); - g_object_unref (priv->print_setup_dialog); - priv->print_setup_dialog = NULL; - } - if (priv->bookmarks != NULL) { LOG ("Unref bookmarks"); @@ -855,24 +846,6 @@ ephy_shell_get_prefs_dialog (EphyShell *shell) return shell->priv->prefs_dialog; } -GObject * -ephy_shell_get_print_setup_dialog (EphyShell *shell) -{ - if (shell->priv->print_setup_dialog == NULL) - { - GObject **dialog; - - shell->priv->print_setup_dialog = G_OBJECT (ephy_print_setup_dialog_new ()); - - dialog = &shell->priv->print_setup_dialog; - - g_object_add_weak_pointer (shell->priv->print_setup_dialog, - (gpointer *) dialog); - } - - return shell->priv->print_setup_dialog; -} - void _ephy_shell_create_instance (void) { diff --git a/src/ephy-shell.h b/src/ephy-shell.h index 76e661c0f..8b400c2a4 100644 --- a/src/ephy-shell.h +++ b/src/ephy-shell.h @@ -117,8 +117,6 @@ GObject *ephy_shell_get_pdm_dialog (EphyShell *shell); GObject *ephy_shell_get_prefs_dialog (EphyShell *shell); -GObject *ephy_shell_get_print_setup_dialog (EphyShell *shell); - /* private API */ void _ephy_shell_create_instance (void); diff --git a/src/epiphany.defs b/src/epiphany.defs index 546212962..d811587c8 100644 --- a/src/epiphany.defs +++ b/src/epiphany.defs @@ -3144,12 +3144,6 @@ (return-type "GObject*") ) -(define-method get_print_setup_dialog - (of-object "EphyShell") - (c-name "ephy_shell_get_print_setup_dialog") - (return-type "GObject*") -) - (define-method get_dbus_service (of-object "EphyShell") (c-name "ephy_shell_get_dbus_service") diff --git a/src/window-commands.c b/src/window-commands.c index ac845e637..051115db3 100644 --- a/src/window-commands.c +++ b/src/window-commands.c @@ -59,17 +59,32 @@ #include <gtk/gtkmain.h> #include <gtk/gtkicontheme.h> #include <gtk/gtktoggleaction.h> +#include <gtk/gtkprintoperation.h> #include <glib/gi18n.h> +static void +page_setup_done_cb (GtkPageSetup *setup, + EphyEmbedShell *shell) +{ + if (setup != NULL) + { + ephy_embed_shell_set_page_setup (shell, setup); + } +} + void window_cmd_file_print_setup (GtkAction *action, EphyWindow *window) { - EphyDialog *dialog; - - dialog = EPHY_DIALOG (ephy_shell_get_print_setup_dialog (ephy_shell)); + EphyEmbedShell *shell; - ephy_dialog_show (dialog); + shell = ephy_embed_shell_get_default (); + gtk_print_run_page_setup_dialog_async + (GTK_WINDOW (window), + ephy_embed_shell_get_page_setup (shell), + ephy_embed_shell_get_print_settings (shell), + page_setup_done_cb, + shell); } void |