Changeset View
Changeset View
Standalone View
Standalone View
mail/thunderbird/files/patch-revert-bug1425188
- This file was added.
Revert bug 1425188 in order to restore 'Print to LPR' option. | |||||
diff --git widget/gtk/nsDeviceContextSpecG.cpp widget/gtk/nsDeviceContextSpecG.cpp | |||||
index a90f13b43b006..ca2449aa766f5 100644 | |||||
--- mozilla/widget/gtk/nsDeviceContextSpecG.cpp | |||||
+++ mozilla/widget/gtk/nsDeviceContextSpecG.cpp | |||||
@@ -150,8 +150,8 @@ already_AddRefed<PrintTarget> nsDeviceContextSpecGTK::MakePrintTarget() | |||||
// Determine the real format with some GTK magic | |||||
if (format == nsIPrintSettings::kOutputFormatNative) { | |||||
if (mIsPPreview) { | |||||
- // There is nothing to detect on Print Preview, use PDF. | |||||
- format = nsIPrintSettings::kOutputFormatPDF; | |||||
+ // There is nothing to detect on Print Preview, use PS. | |||||
+ format = nsIPrintSettings::kOutputFormatPS; | |||||
} else { | |||||
return nullptr; | |||||
} | |||||
diff --git widget/gtk/nsPrintDialogGTK.cpp widget/gtk/nsPrintDialogGTK.cpp | |||||
index d499fd2f37729..75ec90c2f9c9a 100644 | |||||
--- mozilla/widget/gtk/nsPrintDialogGTK.cpp | |||||
+++ mozilla/widget/gtk/nsPrintDialogGTK.cpp | |||||
@@ -180,6 +180,7 @@ nsPrintDialogWidgetGTK::nsPrintDialogWidgetGTK(nsPIDOMWindowOuter *aParent, | |||||
| GTK_PRINT_CAPABILITY_REVERSE | |||||
| GTK_PRINT_CAPABILITY_SCALE | |||||
| GTK_PRINT_CAPABILITY_GENERATE_PDF | |||||
+ | GTK_PRINT_CAPABILITY_GENERATE_PS | |||||
) | |||||
); | |||||
diff --git widget/gtk/nsPrintSettingsGTK.cpp widget/gtk/nsPrintSettingsGTK.cpp | |||||
index 44dc63375a598..dafab1795d943 100644 | |||||
--- mozilla/widget/gtk/nsPrintSettingsGTK.cpp | |||||
+++ mozilla/widget/gtk/nsPrintSettingsGTK.cpp | |||||
@@ -214,12 +214,22 @@ NS_IMETHODIMP nsPrintSettingsGTK::GetOutputFormat(int16_t *aOutputFormat) | |||||
return rv; | |||||
} | |||||
- if (format == nsIPrintSettings::kOutputFormatNative && | |||||
- GTK_IS_PRINTER(mGTKPrinter)) { | |||||
- if (gtk_printer_accepts_pdf(mGTKPrinter)) { | |||||
- format = nsIPrintSettings::kOutputFormatPDF; | |||||
- } else { | |||||
- format = nsIPrintSettings::kOutputFormatPS; | |||||
+ if (format == nsIPrintSettings::kOutputFormatNative) { | |||||
+ const gchar* fmtGTK = | |||||
+ gtk_print_settings_get(mPrintSettings, | |||||
+ GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT); | |||||
+ if (fmtGTK) { | |||||
+ if (nsDependentCString(fmtGTK).EqualsIgnoreCase("pdf")) { | |||||
+ format = nsIPrintSettings::kOutputFormatPDF; | |||||
+ } else { | |||||
+ format = nsIPrintSettings::kOutputFormatPS; | |||||
+ } | |||||
+ } else if (GTK_IS_PRINTER(mGTKPrinter)) { | |||||
+ if (gtk_printer_accepts_pdf(mGTKPrinter)) { | |||||
+ format = nsIPrintSettings::kOutputFormatPDF; | |||||
+ } else { | |||||
+ format = nsIPrintSettings::kOutputFormatPS; | |||||
+ } | |||||
} | |||||
} | |||||
@@ -424,7 +434,11 @@ nsPrintSettingsGTK::SetToFileName(const nsAString& aToFileName) | |||||
return NS_OK; | |||||
} | |||||
- gtk_print_settings_set(mPrintSettings, GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT, "pdf"); | |||||
+ if (StringEndsWith(aToFileName, NS_LITERAL_STRING(".ps"))) { | |||||
+ gtk_print_settings_set(mPrintSettings, GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT, "ps"); | |||||
+ } else { | |||||
+ gtk_print_settings_set(mPrintSettings, GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT, "pdf"); | |||||
+ } | |||||
nsCOMPtr<nsIFile> file; | |||||
nsresult rv = NS_NewLocalFile(aToFileName, true, getter_AddRefs(file)); | |||||
diff --git widget/nsPrintSettingsService.cpp widget/nsPrintSettingsService.cpp | |||||
index ad50088a48082..df1879ecdbf39 100644 | |||||
--- mozilla/widget/nsPrintSettingsService.cpp | |||||
+++ mozilla/widget/nsPrintSettingsService.cpp | |||||
@@ -612,14 +612,6 @@ nsPrintSettingsService::ReadPrefs(nsIPrintSettings* aPS, | |||||
if (aFlags & nsIPrintSettings::kInitSaveToFileName) { | |||||
if (GETSTRPREF(kPrintToFileName, str)) { | |||||
- if (StringEndsWith(str, NS_LITERAL_STRING(".ps"))) { | |||||
- // We only support PDF since bug 1425188 landed. Users may still have | |||||
- // prefs with .ps filenames if they last saved a file as Postscript | |||||
- // though, so we fix that up here. (The pref values will be | |||||
- // overwritten the next time they save to file as a PDF.) | |||||
- str.Truncate(str.Length() - 2); | |||||
- str.AppendLiteral("pdf"); | |||||
- } | |||||
aPS->SetToFileName(str); | |||||
DUMP_STR(kReadStr, kPrintToFileName, str.get()); | |||||
} |