More options for the types of margins to add.
Original (broken) CL: http://codereview.chromium.org/8227034 Already approved by dpapad@ TBR=dpapad@chromium.org BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/8261005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105281 0039d316-1c4b-4281-b951-d872f2087c98
This commit is contained in:
chrome
browser
resources
print_preview
renderer
printing
@ -172,24 +172,24 @@ cr.define('print_preview', function() {
|
||||
|
||||
/**
|
||||
* @return {number} The value of the selected margin option.
|
||||
* @private
|
||||
*/
|
||||
get selectedMarginsValue_() {
|
||||
return this.marginList_.options[this.marginList_.selectedIndex].value;
|
||||
get selectedMarginsValue() {
|
||||
var val = this.marginList_.options[this.marginList_.selectedIndex].value;
|
||||
return parseInt(val, 10);
|
||||
},
|
||||
|
||||
/**
|
||||
* @return {boolean} True if default margins are selected.
|
||||
*/
|
||||
isDefaultMarginsSelected: function() {
|
||||
return this.selectedMarginsValue_ == MarginSettings.MARGINS_VALUE_DEFAULT;
|
||||
return this.selectedMarginsValue == MarginSettings.MARGINS_VALUE_DEFAULT;
|
||||
},
|
||||
|
||||
/**
|
||||
* @return {boolean} True if no margins are selected.
|
||||
*/
|
||||
isNoMarginsSelected: function() {
|
||||
return this.selectedMarginsValue_ ==
|
||||
return this.selectedMarginsValue ==
|
||||
MarginSettings.MARGINS_VALUE_NO_MARGINS;
|
||||
},
|
||||
|
||||
@ -197,7 +197,7 @@ cr.define('print_preview', function() {
|
||||
* @return {boolean} True if custom margins are selected.
|
||||
*/
|
||||
isCustomMarginsSelected: function() {
|
||||
return this.selectedMarginsValue_ == MarginSettings.MARGINS_VALUE_CUSTOM;
|
||||
return this.selectedMarginsValue == MarginSettings.MARGINS_VALUE_CUSTOM;
|
||||
},
|
||||
|
||||
/**
|
||||
@ -360,7 +360,7 @@ cr.define('print_preview', function() {
|
||||
else if (this.isCustomMarginsSelected())
|
||||
this.onCustomMarginsSelected_();
|
||||
|
||||
this.lastSelectedOption_ = this.selectedMarginsValue_;
|
||||
this.lastSelectedOption_ = this.selectedMarginsValue;
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -355,11 +355,13 @@ function getSettings() {
|
||||
'printWithCloudPrint': printWithCloudPrint,
|
||||
'isFirstRequest' : false,
|
||||
'headerFooterEnabled': headerFooterSettings.hasHeaderFooter(),
|
||||
'defaultMarginsSelected': marginSettings.isDefaultMarginsSelected(),
|
||||
'margins': marginSettings.customMargins,
|
||||
'marginsType': marginSettings.selectedMarginsValue,
|
||||
'requestID': -1,
|
||||
'generateDraftData': generateDraftData};
|
||||
|
||||
if (marginSettings.isCustomMarginsSelected())
|
||||
settings['marginsCustom'] = marginSettings.customMargins;
|
||||
|
||||
var printerList = $('printer-list');
|
||||
var selectedPrinter = printerList.selectedIndex;
|
||||
if (cloudprint.isCloudPrint(printerList.options[selectedPrinter])) {
|
||||
|
@ -164,37 +164,36 @@ void SetMarginsForPDF(PrintMsg_Print_Params* settings) {
|
||||
// Get the margins option selected and set custom margins appropriately.
|
||||
void SetCustomMarginsIfSelected(const DictionaryValue& job_settings,
|
||||
PrintMsg_PrintPages_Params* settings) {
|
||||
bool default_margins_selected;
|
||||
if (!job_settings.GetBoolean(printing::kSettingDefaultMarginsSelected,
|
||||
&default_margins_selected)) {
|
||||
int margin_type = printing::DEFAULT_MARGINS;
|
||||
if (!job_settings.GetInteger(printing::kSettingMarginsType, &margin_type)) {
|
||||
NOTREACHED();
|
||||
default_margins_selected = true;
|
||||
}
|
||||
|
||||
if (default_margins_selected)
|
||||
if (margin_type == printing::DEFAULT_MARGINS)
|
||||
return;
|
||||
|
||||
DictionaryValue* custom_margins;
|
||||
if (!job_settings.GetDictionary(printing::kSettingMargins,
|
||||
&custom_margins)) {
|
||||
NOTREACHED();
|
||||
return;
|
||||
}
|
||||
|
||||
double custom_margin_top_in_points = 0;
|
||||
double custom_margin_left_in_points = 0;
|
||||
double custom_margin_right_in_points = 0;
|
||||
double custom_margin_bottom_in_points = 0;
|
||||
if (!custom_margins->GetDouble(printing::kSettingMarginTop,
|
||||
&custom_margin_top_in_points) ||
|
||||
!custom_margins->GetDouble(printing::kSettingMarginLeft,
|
||||
&custom_margin_left_in_points) ||
|
||||
!custom_margins->GetDouble(printing::kSettingMarginRight,
|
||||
&custom_margin_right_in_points) ||
|
||||
!custom_margins->GetDouble(printing::kSettingMarginBottom,
|
||||
&custom_margin_bottom_in_points)) {
|
||||
NOTREACHED();
|
||||
return;
|
||||
if (margin_type == printing::CUSTOM_MARGINS) {
|
||||
DictionaryValue* custom_margins;
|
||||
if (!job_settings.GetDictionary(printing::kSettingMarginsCustom,
|
||||
&custom_margins)) {
|
||||
NOTREACHED();
|
||||
return;
|
||||
}
|
||||
if (!custom_margins->GetDouble(printing::kSettingMarginTop,
|
||||
&custom_margin_top_in_points) ||
|
||||
!custom_margins->GetDouble(printing::kSettingMarginLeft,
|
||||
&custom_margin_left_in_points) ||
|
||||
!custom_margins->GetDouble(printing::kSettingMarginRight,
|
||||
&custom_margin_right_in_points) ||
|
||||
!custom_margins->GetDouble(printing::kSettingMarginBottom,
|
||||
&custom_margin_bottom_in_points)) {
|
||||
NOTREACHED();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
int dpi = GetDPI(&settings->params);
|
||||
|
@ -49,7 +49,7 @@ void CreatePrintSettingsDictionary(DictionaryValue* dict) {
|
||||
dict->SetString(printing::kPreviewUIAddr, "0xb33fbeef");
|
||||
dict->SetInteger(printing::kPreviewRequestID, 12345);
|
||||
dict->SetBoolean(printing::kIsFirstRequest, true);
|
||||
dict->SetBoolean(printing::kSettingDefaultMarginsSelected, true);
|
||||
dict->SetInteger(printing::kSettingMarginsType, printing::DEFAULT_MARGINS);
|
||||
dict->SetBoolean(printing::kSettingHeaderFooterEnabled, false);
|
||||
dict->SetBoolean(printing::kSettingGenerateDraftData, true);
|
||||
}
|
||||
|
@ -36,10 +36,6 @@ const char kSettingContentWidth[] = "contentWidth";
|
||||
// Number of copies.
|
||||
const char kSettingCopies[] = "copies";
|
||||
|
||||
// Key that specifies if the default margins have been selected or not.
|
||||
// True if selected, false if not.
|
||||
const char kSettingDefaultMarginsSelected[] = "defaultMarginsSelected";
|
||||
|
||||
// Device name: Unique printer identifier.
|
||||
const char kSettingDeviceName[] = "deviceName";
|
||||
|
||||
@ -99,8 +95,12 @@ const char kSettingMarginRight[] = "marginRight";
|
||||
// Key that specifies the top margin of the page.
|
||||
const char kSettingMarginTop[] = "marginTop";
|
||||
|
||||
// Key that specifies the array of custom margins as set by the user.
|
||||
const char kSettingMargins[] = "margins";
|
||||
// Key that specifies the dictionary of custom margins as set by the user.
|
||||
const char kSettingMarginsCustom[] = "marginsCustom";
|
||||
|
||||
// Key that specifies the type of margins to use. Value is an int from the
|
||||
// MarginType enum.
|
||||
const char kSettingMarginsType[] = "marginsType";
|
||||
|
||||
// A page range.
|
||||
const char kSettingPageRange[] = "pageRange";
|
||||
|
@ -19,7 +19,6 @@ PRINTING_EXPORT extern const char kSettingColor[];
|
||||
PRINTING_EXPORT extern const char kSettingContentHeight[];
|
||||
PRINTING_EXPORT extern const char kSettingContentWidth[];
|
||||
PRINTING_EXPORT extern const char kSettingCopies[];
|
||||
PRINTING_EXPORT extern const char kSettingDefaultMarginsSelected[];
|
||||
PRINTING_EXPORT extern const char kSettingDeviceName[];
|
||||
PRINTING_EXPORT extern const char kSettingDuplexMode[];
|
||||
PRINTING_EXPORT extern const char kSettingGenerateDraftData[];
|
||||
@ -38,7 +37,8 @@ PRINTING_EXPORT extern const char kSettingMarginBottom[];
|
||||
PRINTING_EXPORT extern const char kSettingMarginLeft[];
|
||||
PRINTING_EXPORT extern const char kSettingMarginRight[];
|
||||
PRINTING_EXPORT extern const char kSettingMarginTop[];
|
||||
PRINTING_EXPORT extern const char kSettingMargins[];
|
||||
PRINTING_EXPORT extern const char kSettingMarginsCustom[];
|
||||
PRINTING_EXPORT extern const char kSettingMarginsType[];
|
||||
PRINTING_EXPORT extern const char kSettingPageRange[];
|
||||
PRINTING_EXPORT extern const char kSettingPageRangeFrom[];
|
||||
PRINTING_EXPORT extern const char kSettingPageRangeTo[];
|
||||
@ -112,6 +112,14 @@ enum ColorModels {
|
||||
PROCESSCOLORMODEL_RGB, // Used in canon printer ppds
|
||||
};
|
||||
|
||||
// What kind of margins to use.
|
||||
enum MarginType {
|
||||
DEFAULT_MARGINS, // Default varies depending on headers being enabled or not
|
||||
NO_MARGINS,
|
||||
CUSTOM_MARGINS,
|
||||
PRINTABLE_AREA_MARGINS,
|
||||
};
|
||||
|
||||
} // namespace printing
|
||||
|
||||
#endif // PRINTING_PRINT_JOB_CONSTANTS_H_
|
||||
|
Reference in New Issue
Block a user