summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordpapad@chromium.org <dpapad@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-31 02:03:16 +0000
committerdpapad@chromium.org <dpapad@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-31 02:03:16 +0000
commit169e4f21c7799e81bcff1b476e894409450ad2ce (patch)
treee1c1154066f48321ff667ed67107b53248568030
parentd0962002fc3d0bfec3d8268aeae665c0fb6b53e6 (diff)
downloadchromium_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
-rw-r--r--chrome/browser/resources/print_preview/header_footer_settings.html2
-rw-r--r--chrome/browser/resources/print_preview/header_footer_settings.js9
-rw-r--r--chrome/browser/resources/print_preview/print_preview.js5
-rw-r--r--chrome/browser/ui/webui/print_preview/print_preview_handler.cc9
-rw-r--r--chrome/browser/ui/webui/print_preview/print_preview_handler.h1
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.