mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-01 17:56:51 +13:00
Merge pull request #5863 from tajetaje/master
Add Default Printer Override
This commit is contained in:
commit
47df74e689
5 changed files with 126 additions and 1 deletions
|
@ -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()
|
public bool Print()
|
||||||
{
|
{
|
||||||
if (Printable && (!Settings.ShowPrintDialog || printDialog.ShowDialog() == DialogResult.OK))
|
if (Printable && (!Settings.ShowPrintDialog || printDialog.ShowDialog() == DialogResult.OK))
|
||||||
|
@ -102,7 +121,7 @@ public bool Print()
|
||||||
{
|
{
|
||||||
printTextHelper.Font = Settings.TextFont;
|
printTextHelper.Font = Settings.TextFont;
|
||||||
}
|
}
|
||||||
|
TryDefaultPrinterOverride();
|
||||||
printDocument.Print();
|
printDocument.Print();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,6 +38,8 @@ public class PrintSettings
|
||||||
public XmlFont TextFont { get; set; }
|
public XmlFont TextFont { get; set; }
|
||||||
public bool ShowPrintDialog { get; set; }
|
public bool ShowPrintDialog { get; set; }
|
||||||
|
|
||||||
|
public string DefaultPrinterOverride { get; set; }
|
||||||
|
|
||||||
public PrintSettings()
|
public PrintSettings()
|
||||||
{
|
{
|
||||||
Margin = 5;
|
Margin = 5;
|
||||||
|
@ -47,6 +49,7 @@ public PrintSettings()
|
||||||
CenterImage = false;
|
CenterImage = false;
|
||||||
TextFont = new XmlFont("Arial", 10);
|
TextFont = new XmlFont("Arial", 10);
|
||||||
ShowPrintDialog = true;
|
ShowPrintDialog = true;
|
||||||
|
DefaultPrinterOverride = "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
30
ShareX/Forms/ApplicationSettingsForm.Designer.cs
generated
30
ShareX/Forms/ApplicationSettingsForm.Designer.cs
generated
|
@ -142,6 +142,8 @@ private void InitializeComponent()
|
||||||
this.cbRecentTasksShowInMainWindow = new System.Windows.Forms.CheckBox();
|
this.cbRecentTasksShowInMainWindow = new System.Windows.Forms.CheckBox();
|
||||||
this.cbRecentTasksSave = new System.Windows.Forms.CheckBox();
|
this.cbRecentTasksSave = new System.Windows.Forms.CheckBox();
|
||||||
this.tpPrint = new System.Windows.Forms.TabPage();
|
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.cbPrintDontShowWindowsDialog = new System.Windows.Forms.CheckBox();
|
||||||
this.cbDontShowPrintSettingDialog = new System.Windows.Forms.CheckBox();
|
this.cbDontShowPrintSettingDialog = new System.Windows.Forms.CheckBox();
|
||||||
this.btnShowImagePrintSettings = new System.Windows.Forms.Button();
|
this.btnShowImagePrintSettings = new System.Windows.Forms.Button();
|
||||||
|
@ -322,6 +324,7 @@ private void InitializeComponent()
|
||||||
//
|
//
|
||||||
// cmsLanguages
|
// cmsLanguages
|
||||||
//
|
//
|
||||||
|
this.cmsLanguages.ImageScalingSize = new System.Drawing.Size(20, 20);
|
||||||
this.cmsLanguages.Name = "cmsLanguages";
|
this.cmsLanguages.Name = "cmsLanguages";
|
||||||
resources.ApplyResources(this.cmsLanguages, "cmsLanguages");
|
resources.ApplyResources(this.cmsLanguages, "cmsLanguages");
|
||||||
//
|
//
|
||||||
|
@ -904,6 +907,10 @@ private void InitializeComponent()
|
||||||
this.lvSecondaryFileUploaders.View = System.Windows.Forms.View.Details;
|
this.lvSecondaryFileUploaders.View = System.Windows.Forms.View.Details;
|
||||||
this.lvSecondaryFileUploaders.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lvSecondaryUploaders_MouseUp);
|
this.lvSecondaryFileUploaders.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lvSecondaryUploaders_MouseUp);
|
||||||
//
|
//
|
||||||
|
// chSecondaryFileUploaders
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.chSecondaryFileUploaders, "chSecondaryFileUploaders");
|
||||||
|
//
|
||||||
// gbSecondaryImageUploaders
|
// gbSecondaryImageUploaders
|
||||||
//
|
//
|
||||||
this.gbSecondaryImageUploaders.Controls.Add(this.lvSecondaryImageUploaders);
|
this.gbSecondaryImageUploaders.Controls.Add(this.lvSecondaryImageUploaders);
|
||||||
|
@ -929,6 +936,10 @@ private void InitializeComponent()
|
||||||
this.lvSecondaryImageUploaders.View = System.Windows.Forms.View.Details;
|
this.lvSecondaryImageUploaders.View = System.Windows.Forms.View.Details;
|
||||||
this.lvSecondaryImageUploaders.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lvSecondaryUploaders_MouseUp);
|
this.lvSecondaryImageUploaders.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lvSecondaryUploaders_MouseUp);
|
||||||
//
|
//
|
||||||
|
// chSecondaryImageUploaders
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.chSecondaryImageUploaders, "chSecondaryImageUploaders");
|
||||||
|
//
|
||||||
// gbSecondaryTextUploaders
|
// gbSecondaryTextUploaders
|
||||||
//
|
//
|
||||||
this.gbSecondaryTextUploaders.Controls.Add(this.lvSecondaryTextUploaders);
|
this.gbSecondaryTextUploaders.Controls.Add(this.lvSecondaryTextUploaders);
|
||||||
|
@ -954,6 +965,10 @@ private void InitializeComponent()
|
||||||
this.lvSecondaryTextUploaders.View = System.Windows.Forms.View.Details;
|
this.lvSecondaryTextUploaders.View = System.Windows.Forms.View.Details;
|
||||||
this.lvSecondaryTextUploaders.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lvSecondaryUploaders_MouseUp);
|
this.lvSecondaryTextUploaders.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lvSecondaryUploaders_MouseUp);
|
||||||
//
|
//
|
||||||
|
// chSecondaryTextUploaders
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.chSecondaryTextUploaders, "chSecondaryTextUploaders");
|
||||||
|
//
|
||||||
// cbUseSecondaryUploaders
|
// cbUseSecondaryUploaders
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.cbUseSecondaryUploaders, "cbUseSecondaryUploaders");
|
resources.ApplyResources(this.cbUseSecondaryUploaders, "cbUseSecondaryUploaders");
|
||||||
|
@ -1071,12 +1086,25 @@ private void InitializeComponent()
|
||||||
// tpPrint
|
// tpPrint
|
||||||
//
|
//
|
||||||
this.tpPrint.BackColor = System.Drawing.SystemColors.Window;
|
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.cbPrintDontShowWindowsDialog);
|
||||||
this.tpPrint.Controls.Add(this.cbDontShowPrintSettingDialog);
|
this.tpPrint.Controls.Add(this.cbDontShowPrintSettingDialog);
|
||||||
this.tpPrint.Controls.Add(this.btnShowImagePrintSettings);
|
this.tpPrint.Controls.Add(this.btnShowImagePrintSettings);
|
||||||
resources.ApplyResources(this.tpPrint, "tpPrint");
|
resources.ApplyResources(this.tpPrint, "tpPrint");
|
||||||
this.tpPrint.Name = "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
|
// cbPrintDontShowWindowsDialog
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.cbPrintDontShowWindowsDialog, "cbPrintDontShowWindowsDialog");
|
resources.ApplyResources(this.cbPrintDontShowWindowsDialog, "cbPrintDontShowWindowsDialog");
|
||||||
|
@ -1395,5 +1423,7 @@ private void InitializeComponent()
|
||||||
private System.Windows.Forms.NumericUpDown nudCleanupKeepFileCount;
|
private System.Windows.Forms.NumericUpDown nudCleanupKeepFileCount;
|
||||||
private System.Windows.Forms.Label lblCleanupKeepFileCount;
|
private System.Windows.Forms.Label lblCleanupKeepFileCount;
|
||||||
private System.Windows.Forms.CheckBox cbAutomaticallyCleanupLogFiles;
|
private System.Windows.Forms.CheckBox cbAutomaticallyCleanupLogFiles;
|
||||||
|
private System.Windows.Forms.Label lblDefaultPrinterOverride;
|
||||||
|
private System.Windows.Forms.TextBox txtDefaultPrinterOverride;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -219,6 +219,8 @@ private void UpdateControls()
|
||||||
// Print
|
// Print
|
||||||
cbDontShowPrintSettingDialog.Checked = Program.Settings.DontShowPrintSettingsDialog;
|
cbDontShowPrintSettingDialog.Checked = Program.Settings.DontShowPrintSettingsDialog;
|
||||||
cbPrintDontShowWindowsDialog.Checked = !Program.Settings.PrintSettings.ShowPrintDialog;
|
cbPrintDontShowWindowsDialog.Checked = !Program.Settings.PrintSettings.ShowPrintDialog;
|
||||||
|
txtDefaultPrinterOverride.Text = Program.Settings.PrintSettings.DefaultPrinterOverride;
|
||||||
|
UpdatePrintControls();
|
||||||
|
|
||||||
// Advanced
|
// Advanced
|
||||||
pgSettings.SelectedObject = Program.Settings;
|
pgSettings.SelectedObject = Program.Settings;
|
||||||
|
@ -994,9 +996,15 @@ private void cbRecentTasksTrayMenuMostRecentFirst_CheckedChanged(object sender,
|
||||||
|
|
||||||
#region Print
|
#region Print
|
||||||
|
|
||||||
|
private void UpdatePrintControls()
|
||||||
|
{
|
||||||
|
txtDefaultPrinterOverride.Enabled = !Program.Settings.PrintSettings.ShowPrintDialog;
|
||||||
|
}
|
||||||
|
|
||||||
private void cbDontShowPrintSettingDialog_CheckedChanged(object sender, EventArgs e)
|
private void cbDontShowPrintSettingDialog_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Program.Settings.DontShowPrintSettingsDialog = cbDontShowPrintSettingDialog.Checked;
|
Program.Settings.DontShowPrintSettingsDialog = cbDontShowPrintSettingDialog.Checked;
|
||||||
|
UpdatePrintControls();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnShowImagePrintSettings_Click(object sender, EventArgs e)
|
private void btnShowImagePrintSettings_Click(object sender, EventArgs e)
|
||||||
|
@ -1006,11 +1014,19 @@ private void btnShowImagePrintSettings_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
printForm.ShowDialog();
|
printForm.ShowDialog();
|
||||||
}
|
}
|
||||||
|
UpdatePrintControls();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void cbPrintDontShowWindowsDialog_CheckedChanged(object sender, EventArgs e)
|
private void cbPrintDontShowWindowsDialog_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Program.Settings.PrintSettings.ShowPrintDialog = !cbPrintDontShowWindowsDialog.Checked;
|
Program.Settings.PrintSettings.ShowPrintDialog = !cbPrintDontShowWindowsDialog.Checked;
|
||||||
|
UpdatePrintControls();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void txtDefaultPrinterOverride_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Program.Settings.PrintSettings.DefaultPrinterOverride = txtDefaultPrinterOverride.Text;
|
||||||
|
UpdatePrintControls();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion Print
|
#endregion Print
|
||||||
|
|
|
@ -2959,6 +2959,63 @@
|
||||||
<data name=">>tpHistory.ZOrder" xml:space="preserve">
|
<data name=">>tpHistory.ZOrder" xml:space="preserve">
|
||||||
<value>6</value>
|
<value>6</value>
|
||||||
</data>
|
</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=">>lblDefaultPrinterOverride.Name" xml:space="preserve">
|
||||||
|
<value>lblDefaultPrinterOverride</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>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=">>lblDefaultPrinterOverride.Parent" xml:space="preserve">
|
||||||
|
<value>tpPrint</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>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=">>txtDefaultPrinterOverride.Name" xml:space="preserve">
|
||||||
|
<value>txtDefaultPrinterOverride</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>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=">>txtDefaultPrinterOverride.Parent" xml:space="preserve">
|
||||||
|
<value>tpPrint</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtDefaultPrinterOverride.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
<data name="cbPrintDontShowWindowsDialog.AutoSize" type="System.Boolean, mscorlib">
|
<data name="cbPrintDontShowWindowsDialog.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
Loading…
Reference in a new issue