diff options
author | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-21 19:18:05 +0000 |
---|---|---|
committer | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-21 19:18:05 +0000 |
commit | b719142cac87c33ec2d6e99a238b5ecd48f87d68 (patch) | |
tree | cb073e88f553db6c3acab1c18c1f9e31793a80b7 /printing/printing_context_cairo.cc | |
parent | b119a1e6bdd11040f93245e0b71d654a4883b40a (diff) | |
download | chromium_src-b719142cac87c33ec2d6e99a238b5ecd48f87d68.zip chromium_src-b719142cac87c33ec2d6e99a238b5ecd48f87d68.tar.gz chromium_src-b719142cac87c33ec2d6e99a238b5ecd48f87d68.tar.bz2 |
Printing: Implement PrintingContext::UseDefaultSettings for Linux/Cairo.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/3389005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60087 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'printing/printing_context_cairo.cc')
-rw-r--r-- | printing/printing_context_cairo.cc | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/printing/printing_context_cairo.cc b/printing/printing_context_cairo.cc index 78b5235..d82f626 100644 --- a/printing/printing_context_cairo.cc +++ b/printing/printing_context_cairo.cc @@ -4,6 +4,9 @@ #include "printing/printing_context.h" +#include <gtk/gtk.h> +#include <gtk/gtkprintunixdialog.h> + #include "base/logging.h" namespace printing { @@ -22,22 +25,34 @@ PrintingContext::~PrintingContext() { ResetSettings(); } -PrintingContext::Result PrintingContext::AskUserForSettings( +void PrintingContext::AskUserForSettings( gfx::NativeView parent_view, int max_pages, - bool has_selection) { - + bool has_selection, + PrintSettingsCallback* callback) { NOTIMPLEMENTED(); - - return FAILED; + callback->Run(OK); } PrintingContext::Result PrintingContext::UseDefaultSettings() { DCHECK(!in_print_job_); - NOTIMPLEMENTED(); + ResetSettings(); - return FAILED; + GtkWidget* dialog = gtk_print_unix_dialog_new(NULL, NULL); + GtkPrintSettings* settings = + gtk_print_unix_dialog_get_settings(GTK_PRINT_UNIX_DIALOG(dialog)); + GtkPageSetup* page_setup = + gtk_print_unix_dialog_get_page_setup(GTK_PRINT_UNIX_DIALOG(dialog)); + + PageRanges ranges_vector; // Nothing to initialize for default settings. + settings_.Init(settings, page_setup, ranges_vector, false); + + g_object_unref(settings); + // |page_setup| is owned by dialog, so it does not need to be unref'ed. + gtk_widget_destroy(dialog); + + return OK; } PrintingContext::Result PrintingContext::InitWithSettings( |