Merge pull request #5863 from tajetaje/master

Add Default Printer Override
This commit is contained in:
Jaex 2021-10-05 04:20:13 +03:00 committed by GitHub
commit 47df74e689
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 126 additions and 1 deletions

View file

@ -94,6 +94,25 @@ public void ShowPreview()
}
}
public void TryDefaultPrinterOverride()
{
string windowsDefault = printDocument.PrinterSettings.PrinterName;
if (Settings.DefaultPrinterOverride.Length > 0)
{
printDocument.PrinterSettings.PrinterName = Settings.DefaultPrinterOverride;
}
if (!printDocument.PrinterSettings.IsValid)
{
printDocument.PrinterSettings.PrinterName = windowsDefault;
using (MyMessageBox msgbox = new MyMessageBox("Printer \'" + Settings.DefaultPrinterOverride + "\' does not exist. Continuing with windows default printer, you can set the default printer override in application settings",
"Specified Printer not Valid",
MessageBoxButtons.OK))
{
msgbox.ShowDialog();
}
}
}
public bool Print()
{
if (Printable && (!Settings.ShowPrintDialog || printDialog.ShowDialog() == DialogResult.OK))
@ -102,7 +121,7 @@ public bool Print()
{
printTextHelper.Font = Settings.TextFont;
}
TryDefaultPrinterOverride();
printDocument.Print();
return true;
}

View file

@ -38,6 +38,8 @@ public class PrintSettings
public XmlFont TextFont { get; set; }
public bool ShowPrintDialog { get; set; }
public string DefaultPrinterOverride { get; set; }
public PrintSettings()
{
Margin = 5;
@ -47,6 +49,7 @@ public PrintSettings()
CenterImage = false;
TextFont = new XmlFont("Arial", 10);
ShowPrintDialog = true;
DefaultPrinterOverride = "";
}
}
}

View file

@ -142,6 +142,8 @@ private void InitializeComponent()
this.cbRecentTasksShowInMainWindow = new System.Windows.Forms.CheckBox();
this.cbRecentTasksSave = new System.Windows.Forms.CheckBox();
this.tpPrint = new System.Windows.Forms.TabPage();
this.lblDefaultPrinterOverride = new System.Windows.Forms.Label();
this.txtDefaultPrinterOverride = new System.Windows.Forms.TextBox();
this.cbPrintDontShowWindowsDialog = new System.Windows.Forms.CheckBox();
this.cbDontShowPrintSettingDialog = new System.Windows.Forms.CheckBox();
this.btnShowImagePrintSettings = new System.Windows.Forms.Button();
@ -322,6 +324,7 @@ private void InitializeComponent()
//
// cmsLanguages
//
this.cmsLanguages.ImageScalingSize = new System.Drawing.Size(20, 20);
this.cmsLanguages.Name = "cmsLanguages";
resources.ApplyResources(this.cmsLanguages, "cmsLanguages");
//
@ -904,6 +907,10 @@ private void InitializeComponent()
this.lvSecondaryFileUploaders.View = System.Windows.Forms.View.Details;
this.lvSecondaryFileUploaders.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lvSecondaryUploaders_MouseUp);
//
// chSecondaryFileUploaders
//
resources.ApplyResources(this.chSecondaryFileUploaders, "chSecondaryFileUploaders");
//
// gbSecondaryImageUploaders
//
this.gbSecondaryImageUploaders.Controls.Add(this.lvSecondaryImageUploaders);
@ -929,6 +936,10 @@ private void InitializeComponent()
this.lvSecondaryImageUploaders.View = System.Windows.Forms.View.Details;
this.lvSecondaryImageUploaders.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lvSecondaryUploaders_MouseUp);
//
// chSecondaryImageUploaders
//
resources.ApplyResources(this.chSecondaryImageUploaders, "chSecondaryImageUploaders");
//
// gbSecondaryTextUploaders
//
this.gbSecondaryTextUploaders.Controls.Add(this.lvSecondaryTextUploaders);
@ -954,6 +965,10 @@ private void InitializeComponent()
this.lvSecondaryTextUploaders.View = System.Windows.Forms.View.Details;
this.lvSecondaryTextUploaders.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lvSecondaryUploaders_MouseUp);
//
// chSecondaryTextUploaders
//
resources.ApplyResources(this.chSecondaryTextUploaders, "chSecondaryTextUploaders");
//
// cbUseSecondaryUploaders
//
resources.ApplyResources(this.cbUseSecondaryUploaders, "cbUseSecondaryUploaders");
@ -1071,12 +1086,25 @@ private void InitializeComponent()
// tpPrint
//
this.tpPrint.BackColor = System.Drawing.SystemColors.Window;
this.tpPrint.Controls.Add(this.lblDefaultPrinterOverride);
this.tpPrint.Controls.Add(this.txtDefaultPrinterOverride);
this.tpPrint.Controls.Add(this.cbPrintDontShowWindowsDialog);
this.tpPrint.Controls.Add(this.cbDontShowPrintSettingDialog);
this.tpPrint.Controls.Add(this.btnShowImagePrintSettings);
resources.ApplyResources(this.tpPrint, "tpPrint");
this.tpPrint.Name = "tpPrint";
//
// lblDefaultPrinterOverride
//
resources.ApplyResources(this.lblDefaultPrinterOverride, "lblDefaultPrinterOverride");
this.lblDefaultPrinterOverride.Name = "lblDefaultPrinterOverride";
//
// txtDefaultPrinterOverride
//
resources.ApplyResources(this.txtDefaultPrinterOverride, "txtDefaultPrinterOverride");
this.txtDefaultPrinterOverride.Name = "txtDefaultPrinterOverride";
this.txtDefaultPrinterOverride.TextChanged += new System.EventHandler(this.txtDefaultPrinterOverride_TextChanged);
//
// cbPrintDontShowWindowsDialog
//
resources.ApplyResources(this.cbPrintDontShowWindowsDialog, "cbPrintDontShowWindowsDialog");
@ -1395,5 +1423,7 @@ private void InitializeComponent()
private System.Windows.Forms.NumericUpDown nudCleanupKeepFileCount;
private System.Windows.Forms.Label lblCleanupKeepFileCount;
private System.Windows.Forms.CheckBox cbAutomaticallyCleanupLogFiles;
private System.Windows.Forms.Label lblDefaultPrinterOverride;
private System.Windows.Forms.TextBox txtDefaultPrinterOverride;
}
}

View file

@ -219,6 +219,8 @@ private void UpdateControls()
// Print
cbDontShowPrintSettingDialog.Checked = Program.Settings.DontShowPrintSettingsDialog;
cbPrintDontShowWindowsDialog.Checked = !Program.Settings.PrintSettings.ShowPrintDialog;
txtDefaultPrinterOverride.Text = Program.Settings.PrintSettings.DefaultPrinterOverride;
UpdatePrintControls();
// Advanced
pgSettings.SelectedObject = Program.Settings;
@ -994,9 +996,15 @@ private void cbRecentTasksTrayMenuMostRecentFirst_CheckedChanged(object sender,
#region Print
private void UpdatePrintControls()
{
txtDefaultPrinterOverride.Enabled = !Program.Settings.PrintSettings.ShowPrintDialog;
}
private void cbDontShowPrintSettingDialog_CheckedChanged(object sender, EventArgs e)
{
Program.Settings.DontShowPrintSettingsDialog = cbDontShowPrintSettingDialog.Checked;
UpdatePrintControls();
}
private void btnShowImagePrintSettings_Click(object sender, EventArgs e)
@ -1006,11 +1014,19 @@ private void btnShowImagePrintSettings_Click(object sender, EventArgs e)
{
printForm.ShowDialog();
}
UpdatePrintControls();
}
private void cbPrintDontShowWindowsDialog_CheckedChanged(object sender, EventArgs e)
{
Program.Settings.PrintSettings.ShowPrintDialog = !cbPrintDontShowWindowsDialog.Checked;
UpdatePrintControls();
}
private void txtDefaultPrinterOverride_TextChanged(object sender, EventArgs e)
{
Program.Settings.PrintSettings.DefaultPrinterOverride = txtDefaultPrinterOverride.Text;
UpdatePrintControls();
}
#endregion Print

View file

@ -2959,6 +2959,63 @@
<data name="&gt;&gt;tpHistory.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="lblDefaultPrinterOverride.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lblDefaultPrinterOverride.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="lblDefaultPrinterOverride.Location" type="System.Drawing.Point, System.Drawing">
<value>17, 115</value>
</data>
<data name="lblDefaultPrinterOverride.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="lblDefaultPrinterOverride.Size" type="System.Drawing.Size, System.Drawing">
<value>358, 17</value>
</data>
<data name="lblDefaultPrinterOverride.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="lblDefaultPrinterOverride.Text" xml:space="preserve">
<value>Default Printer Override (uses windows default if empty)</value>
</data>
<data name="&gt;&gt;lblDefaultPrinterOverride.Name" xml:space="preserve">
<value>lblDefaultPrinterOverride</value>
</data>
<data name="&gt;&gt;lblDefaultPrinterOverride.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lblDefaultPrinterOverride.Parent" xml:space="preserve">
<value>tpPrint</value>
</data>
<data name="&gt;&gt;lblDefaultPrinterOverride.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="txtDefaultPrinterOverride.Location" type="System.Drawing.Point, System.Drawing">
<value>21, 135</value>
</data>
<data name="txtDefaultPrinterOverride.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="txtDefaultPrinterOverride.Size" type="System.Drawing.Size, System.Drawing">
<value>509, 22</value>
</data>
<data name="txtDefaultPrinterOverride.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="&gt;&gt;txtDefaultPrinterOverride.Name" xml:space="preserve">
<value>txtDefaultPrinterOverride</value>
</data>
<data name="&gt;&gt;txtDefaultPrinterOverride.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;txtDefaultPrinterOverride.Parent" xml:space="preserve">
<value>tpPrint</value>
</data>
<data name="&gt;&gt;txtDefaultPrinterOverride.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="cbPrintDontShowWindowsDialog.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>