From ec22aa6d6229b0e3405e5fca4be0662f41946b77 Mon Sep 17 00:00:00 2001 From: Christian Persch Date: Sun, 7 Dec 2003 10:23:31 +0000 Subject: Split print dialogue in print setup and actual print, and move print 2003-12-07 Christian Persch * data/glade/print.glade: * data/ui/epiphany-ui.xml: * embed/mozilla/PrintingPromptService.cpp: * embed/mozilla/mozilla-embed.cpp: * embed/print-dialog.c: (ephy_print_info_free), (ephy_print_get_print_info), (ephy_print_dialog_response_cb), (print_filechooser_response_cb), (ephy_print_dialog_browse_button_cb), (ephy_print_setup_dialog_close_button_cb), (ephy_print_dialog_new), (ephy_print_setup_dialog_new): * embed/print-dialog.h: * src/ephy-nautilus-view.c: (ephy_nautilus_view_new_component), (gnv_cmd_file_print): * src/ephy-nautilus-view.h: * src/ephy-shell.c: (ephy_shell_get_type), (ephy_shell_class_init), (ephy_automation_factory_cb), (ephy_automation_factory_new), (ephy_shell_init), (server_timeout), (ephy_shell_startup), (ephy_shell_finalize), (ephy_shell_new_tab), (ephy_shell_get_session), (ephy_shell_get_bookmarks), (ephy_shell_get_toolbars_model), (ephy_shell_get_bookmarks_editor), (ephy_shell_get_history_window), (ephy_shell_get_print_setup_dialog), (ephy_shell_delete_on_exit): * src/ephy-shell.h: * src/ephy-window.c: (ephy_window_set_print_preview), (ephy_window_print): * src/ephy-window.h: * src/window-commands.c: (window_cmd_file_print_setup), (window_cmd_file_print_preview): * src/window-commands.h: Split print dialogue in print setup and actual print, and move print preview into the menus too. Made print setup a global dialogue, print a per-window dialogue. * lib/ephy-dialog.c: (set_value_from_pref), (set_pref_from_value), (set_value_from_combobox), (set_combo_box_from_value), (set_radiobuttongroup_from_value), (set_pref_from_info_and_emit), (togglebutton_clicked_cb), (radiobutton_clicked_cb), (spinbutton_timeout_cb), (changed_cb), (init_props), (load_info), (save_info), (impl_show), (ephy_dialog_set_size_group), (ephy_dialog_construct), (run_response_cb), (ephy_dialog_run), (ephy_dialog_set_parent), (ephy_dialog_class_init), (ephy_dialog_new_with_parent): * lib/ephy-dialog.h: * src/language-editor.c: (language_editor_class_init): * src/language-editor.h: * src/pdm-dialog.c: (pdm_dialog_init): * src/prefs-dialog.c: (fonts_language_changed_cb), (create_fonts_language_menu), (prefs_dialog_init), (prefs_language_more_button_clicked_cb): Slight api change; port callers. --- src/ephy-window.c | 52 ++++++++++++++++++++-------------------------------- 1 file changed, 20 insertions(+), 32 deletions(-) (limited to 'src/ephy-window.c') diff --git a/src/ephy-window.c b/src/ephy-window.c index 7d02e98af..073a20e4e 100644 --- a/src/ephy-window.c +++ b/src/ephy-window.c @@ -58,19 +58,14 @@ #include #include -static void -ephy_window_class_init (EphyWindowClass *klass); -static void -ephy_window_init (EphyWindow *gs); -static void -ephy_window_finalize (GObject *object); -static void -ephy_window_show (GtkWidget *widget); -static void -ephy_window_notebook_switch_page_cb (GtkNotebook *notebook, - GtkNotebookPage *page, - guint page_num, - EphyWindow *window); +static void ephy_window_class_init (EphyWindowClass *klass); +static void ephy_window_init (EphyWindow *gs); +static void ephy_window_finalize (GObject *object); +static void ephy_window_show (GtkWidget *widget); +static void ephy_window_notebook_switch_page_cb (GtkNotebook *notebook, + GtkNotebookPage *page, + guint page_num, + EphyWindow *window); static GtkActionEntry ephy_menu_entries [] = { @@ -97,6 +92,12 @@ static GtkActionEntry ephy_menu_entries [] = { { "FileSaveAs", GTK_STOCK_SAVE_AS, N_("Save _As..."), "S", N_("Save the current page"), G_CALLBACK (window_cmd_file_save_as) }, + { "FilePrintSetup", NULL, N_("Print Set_up..."), NULL, + N_("Setup the page settings for printing"), + G_CALLBACK (window_cmd_file_print_setup) }, + { "FilePrintPreview", GTK_STOCK_PRINT_PREVIEW, N_("Print Pre_view"),"P", + N_("Print preview"), + G_CALLBACK (window_cmd_file_print_preview) }, { "FilePrint", GTK_STOCK_PRINT, N_("_Print..."), "P", N_("Print the current page"), G_CALLBACK (window_cmd_file_print) }, @@ -1707,7 +1708,7 @@ ephy_window_set_print_preview (EphyWindow *window, gboolean enabled) { window->priv->is_ppview = enabled; update_chrome (window); - ephy_notebook_set_show_tabs (EPHY_NOTEBOOK (window->priv->notebook), enabled); + ephy_notebook_set_show_tabs (EPHY_NOTEBOOK (window->priv->notebook), !enabled); } GtkWidget * @@ -1971,30 +1972,17 @@ ephy_window_find (EphyWindow *window) ephy_dialog_show (window->priv->find_dialog); } -static void -print_dialog_preview_cb (EphyDialog *dialog, - EphyWindow *window) -{ - window->priv->is_ppview = TRUE; - update_chrome(window); - ephy_notebook_set_show_tabs (EPHY_NOTEBOOK (window->priv->notebook), FALSE); -} - void ephy_window_print (EphyWindow *window) { - EphyDialog *dialog; - EphyEmbed *embed; - if (window->priv->print_dialog == NULL) { + EphyDialog *dialog; + EphyEmbed *embed; + embed = ephy_window_get_active_embed (window); - dialog = print_dialog_new_with_parent - (GTK_WIDGET(window), embed, NULL); - g_signal_connect (G_OBJECT (dialog), - "preview", - G_CALLBACK (print_dialog_preview_cb), - window); + dialog = ephy_print_dialog_new (GTK_WIDGET (window), embed, FALSE); + window->priv->print_dialog = dialog; g_object_add_weak_pointer(G_OBJECT (dialog), (gpointer *) &window->priv->print_dialog); -- cgit v1.2.3