Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3231)

Unified Diff: chrome/browser/printing/print_dialog_gtk.cc

Issue 7348010: Added Header and Footer support using Skia (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Moved elide text to print_settings_initializer Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/printing/print_dialog_gtk.cc
diff --git a/chrome/browser/printing/print_dialog_gtk.cc b/chrome/browser/printing/print_dialog_gtk.cc
index a3d00a8c64630f5c5c02f0c976efa60901a44333..557ce321fea5e012c93793d238aeb30a9ff3ecb4 100644
--- a/chrome/browser/printing/print_dialog_gtk.cc
+++ b/chrome/browser/printing/print_dialog_gtk.cc
@@ -155,7 +155,9 @@ void PrintDialogGtk::UseDefaultSettings() {
// No page range to initialize for default settings.
PageRanges ranges_vector;
- InitPrintSettings(ranges_vector);
+ DictionaryValue header_footer_info;
+ header_footer_info.SetBoolean(printing::kSettingHeaderFooterEnabled, false);
+ InitPrintSettings(ranges_vector, header_footer_info);
}
bool PrintDialogGtk::UpdateSettings(const DictionaryValue& settings,
@@ -210,7 +212,27 @@ bool PrintDialogGtk::UpdateSettings(const DictionaryValue& settings,
landscape ? GTK_PAGE_ORIENTATION_LANDSCAPE :
GTK_PAGE_ORIENTATION_PORTRAIT);
- InitPrintSettings(ranges);
+ bool display_header_footer;
+ // Getting Header and Footer settings.
+ if (!settings.GetBoolean(printing::kSettingHeaderFooterEnabled,
+ &display_header_footer)) {
+ NOTREACHED();
+ }
+ DictionaryValue header_footer_info;
+ header_footer_info.SetBoolean(printing::kSettingHeaderFooterEnabled,
+ display_header_footer);
+ if (display_header_footer) {
+ string16 title;
+ std::string url;
+ if (!settings.GetString(printing::kSettingHeaderFooterTitle, &title) ||
+ !settings.GetString(printing::kSettingHeaderFooterURL, &url)) {
+ NOTREACHED();
+ }
+ header_footer_info.SetString(printing::kSettingHeaderFooterURL, url);
+ header_footer_info.SetString(printing::kSettingHeaderFooterTitle, title);
+ }
+
+ InitPrintSettings(ranges, header_footer_info);
return true;
}
@@ -315,8 +337,12 @@ void PrintDialogGtk::OnResponse(GtkWidget* dialog, int response_id) {
}
PrintSettings settings;
+ DictionaryValue header_footer_info;
+ header_footer_info.SetBoolean(printing::kSettingHeaderFooterEnabled,
+ false);
printing::PrintSettingsInitializerGtk::InitPrintSettings(
- gtk_settings_, page_setup_, ranges_vector, false, &settings);
+ gtk_settings_, page_setup_, ranges_vector, false, header_footer_info,
+ &settings);
context_->InitWithSettings(settings);
callback_->Run(PrintingContextCairo::OK);
callback_ = NULL;
@@ -408,9 +434,12 @@ void PrintDialogGtk::OnJobCompleted(GtkPrintJob* print_job, GError* error) {
Release();
}
-void PrintDialogGtk::InitPrintSettings(const PageRanges& page_ranges) {
+void PrintDialogGtk::InitPrintSettings(
+ const PageRanges& page_ranges,
+ const DictionaryValue& header_footer_info) {
PrintSettings settings;
printing::PrintSettingsInitializerGtk::InitPrintSettings(
- gtk_settings_, page_setup_, page_ranges, false, &settings);
+ gtk_settings_, page_setup_, page_ranges, false, header_footer_info,
+ &settings);
context_->InitWithSettings(settings);
}

Powered by Google App Engine
This is Rietveld 408576698