diff options
author | dpapad@chromium.org <dpapad@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-31 02:03:16 +0000 |
---|---|---|
committer | dpapad@chromium.org <dpapad@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-31 02:03:16 +0000 |
commit | 169e4f21c7799e81bcff1b476e894409450ad2ce (patch) | |
tree | e1c1154066f48321ff667ed67107b53248568030 | |
parent | d0962002fc3d0bfec3d8268aeae665c0fb6b53e6 (diff) | |
download | chromium_src-169e4f21c7799e81bcff1b476e894409450ad2ce.zip chromium_src-169e4f21c7799e81bcff1b476e894409450ad2ce.tar.gz chromium_src-169e4f21c7799e81bcff1b476e894409450ad2ce.tar.bz2 |
Print Preview: Making header footer setting sticky.
BUG=111501
TEST=Print a doc with headers and footers enabled or disabled. Open print preview again, last setting should be remembered.
Review URL: http://codereview.chromium.org/9302014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119814 0039d316-1c4b-4281-b951-d872f2087c98
5 files changed, 22 insertions, 4 deletions
diff --git a/chrome/browser/resources/print_preview/header_footer_settings.html b/chrome/browser/resources/print_preview/header_footer_settings.html index 0ba3e6c..1082709 100644 --- a/chrome/browser/resources/print_preview/header_footer_settings.html +++ b/chrome/browser/resources/print_preview/header_footer_settings.html @@ -2,7 +2,7 @@ <h1 i18n-content="optionsLabel"></h1> <div class="right-column"> <label> - <input id="header-footer" type="checkbox" checked> + <input id="header-footer" type="checkbox" /> <span i18n-content="optionHeaderFooter"></span> </label> </div> diff --git a/chrome/browser/resources/print_preview/header_footer_settings.js b/chrome/browser/resources/print_preview/header_footer_settings.js index f1155d0..02776c5 100644 --- a/chrome/browser/resources/print_preview/header_footer_settings.js +++ b/chrome/browser/resources/print_preview/header_footer_settings.js @@ -37,6 +37,15 @@ cr.define('print_preview', function() { }, /** + * Sets the state of the headers footers checkbox. + * @param {boolean} checked True if the headers footers checkbox shoule be + * checked, false if not. + */ + setChecked: function(checked) { + this.headerFooterCheckbox_.checked = checked; + }, + + /** * Adding listeners to header footer related controls. * @private */ diff --git a/chrome/browser/resources/print_preview/print_preview.js b/chrome/browser/resources/print_preview/print_preview.js index e1c9566..f549cc8 100644 --- a/chrome/browser/resources/print_preview/print_preview.js +++ b/chrome/browser/resources/print_preview/print_preview.js @@ -196,10 +196,11 @@ function setInitialSettings(initialSettings) { initialSettings['measurementSystem']); marginSettings.setLastUsedMargins(initialSettings); } - setDefaultPrinter(initialSettings['printerName'], - initialSettings['cloudPrintData']); printAutomaticallyInKioskMode = initialSettings['printAutomaticallyInKioskMode']; + headerFooterSettings.setChecked(initialSettings['headerFooterEnabled']); + setDefaultPrinter(initialSettings['printerName'], + initialSettings['cloudPrintData']); } /** diff --git a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc index 8031ada..9b287f5 100644 --- a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc +++ b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc @@ -205,6 +205,7 @@ printing::MarginType PrintPreviewHandler::last_used_margins_type_ = printing::DEFAULT_MARGINS; printing::PageSizeMargins* PrintPreviewHandler::last_used_page_size_margins_ = NULL; +bool PrintPreviewHandler::last_used_headers_footers_ = true; PrintPreviewHandler::PrintPreviewHandler() : print_backend_(printing::PrintBackend::CreateInstance(NULL)), @@ -378,10 +379,10 @@ void PrintPreviewHandler::HandlePrint(const ListValue* args) { color_model = printing::GRAY; last_used_color_model_ = static_cast<printing::ColorModels>(color_model); - // Storing last used margin settings. bool is_modifiable; settings->GetBoolean(printing::kSettingPreviewModifiable, &is_modifiable); if (is_modifiable) { + // Storing last used margin settings. int margin_type; if (!settings->GetInteger(printing::kSettingMarginsType, &margin_type)) margin_type = printing::DEFAULT_MARGINS; @@ -391,6 +392,9 @@ void PrintPreviewHandler::HandlePrint(const ListValue* args) { last_used_page_size_margins_ = new printing::PageSizeMargins(); GetCustomMarginsFromJobSettings(*settings, last_used_page_size_margins_); } + // Storing last used header and footer setting. + settings->GetBoolean( + printing::kSettingHeaderFooterEnabled, &last_used_headers_footers_); } // Never try to add headers/footers here. It's already in the generated PDF. @@ -685,6 +689,9 @@ void PrintPreviewHandler::SendInitialSettings( initial_settings.SetString(printing::kSettingPrinterName, default_printer); initial_settings.SetString(kCloudPrintData, cloud_print_data); + initial_settings.SetBoolean(printing::kSettingHeaderFooterEnabled, + last_used_headers_footers_); + #if defined(OS_MACOSX) bool kiosk_mode = false; // No kiosk mode on Mac yet. diff --git a/chrome/browser/ui/webui/print_preview/print_preview_handler.h b/chrome/browser/ui/webui/print_preview/print_preview_handler.h index 8674d55..fcdcbc4 100644 --- a/chrome/browser/ui/webui/print_preview/print_preview_handler.h +++ b/chrome/browser/ui/webui/print_preview/print_preview_handler.h @@ -198,6 +198,7 @@ class PrintPreviewHandler : public content::WebUIMessageHandler, static printing::ColorModels last_used_color_model_; static printing::MarginType last_used_margins_type_; static printing::PageSizeMargins* last_used_page_size_margins_; + static bool last_used_headers_footers_; // A count of how many requests received to regenerate preview data. // Initialized to 0 then incremented and emitted to a histogram. |