diff --git a/Greenshot/Forms/MainForm.cs b/Greenshot/Forms/MainForm.cs
index 12aab34cf..4143c7de7 100644
--- a/Greenshot/Forms/MainForm.cs
+++ b/Greenshot/Forms/MainForm.cs
@@ -931,6 +931,18 @@ namespace Greenshot {
private void InitializeQuickSettingsMenu() {
this.contextmenu_quicksettings.DropDownItems.Clear();
+
+ // For the capture mousecursor option
+ ToolStripMenuSelectListItem captureMouseItem = new ToolStripMenuSelectListItem();
+ captureMouseItem.Text = Language.GetString("settings_capture_mousepointer");
+ captureMouseItem.Checked = conf.CaptureMousepointer;
+ captureMouseItem.CheckOnClick = true;
+ captureMouseItem.CheckStateChanged += delegate {
+ conf.CaptureMousepointer = captureMouseItem.Checked;
+ };
+
+ this.contextmenu_quicksettings.DropDownItems.Add(captureMouseItem);
+
// screenshot destination
ToolStripMenuSelectList selectList = new ToolStripMenuSelectList("destinations",true);
selectList.Text = Language.GetString(LangKey.settings_destination);
diff --git a/Greenshot/Forms/SettingsForm.Designer.cs b/Greenshot/Forms/SettingsForm.Designer.cs
index 63f45dcad..780550c37 100644
--- a/Greenshot/Forms/SettingsForm.Designer.cs
+++ b/Greenshot/Forms/SettingsForm.Designer.cs
@@ -19,7 +19,7 @@
* along with this program. If not, see .
*/
namespace Greenshot {
- partial class SettingsForm : GreenshotPlugin.Controls.GreenshotForm {
+ partial class SettingsForm {
///
/// Designer variable used to keep track of non-visual components.
///
@@ -109,6 +109,7 @@ namespace Greenshot {
this.tab_destinations = new GreenshotPlugin.Controls.GreenshotTabPage();
this.tab_printer = new GreenshotPlugin.Controls.GreenshotTabPage();
this.groupbox_printoptions = new GreenshotPlugin.Controls.GreenshotGroupBox();
+ this.checkbox_printgrayscale = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.checkboxPrintInverted = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.checkbox_alwaysshowprintoptionsdialog = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.checkboxTimestamp = new GreenshotPlugin.Controls.GreenshotCheckBox();
@@ -122,6 +123,10 @@ namespace Greenshot {
this.button_pluginconfigure = new System.Windows.Forms.Button();
this.tab_expert = new GreenshotPlugin.Controls.GreenshotTabPage();
this.groupbox_expert = new GreenshotPlugin.Controls.GreenshotGroupBox();
+ this.label_footerpattern = new GreenshotPlugin.Controls.GreenshotLabel();
+ this.textbox_footerpattern = new GreenshotPlugin.Controls.GreenshotTextBox();
+ this.checkbox_thumbnailpreview = new GreenshotPlugin.Controls.GreenshotCheckBox();
+ this.checkbox_optimizeforrdp = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.checkbox_autoreducecolors = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.label_clipboardformats = new GreenshotPlugin.Controls.GreenshotLabel();
this.checkbox_enableexpert = new GreenshotPlugin.Controls.GreenshotCheckBox();
@@ -167,7 +172,7 @@ namespace Greenshot {
this.label_storagelocation.Name = "label_storagelocation";
this.label_storagelocation.Size = new System.Drawing.Size(126, 23);
this.label_storagelocation.TabIndex = 11;
- this.label_storagelocation.Text = "Storage Location";
+ this.label_storagelocation.Text = "Storage location";
//
// settings_cancel
//
@@ -187,7 +192,7 @@ namespace Greenshot {
this.settings_okay.Name = "settings_okay";
this.settings_okay.Size = new System.Drawing.Size(75, 23);
this.settings_okay.TabIndex = 6;
- this.settings_okay.Text = "OK";
+ this.settings_okay.Text = "Confirm";
this.settings_okay.UseVisualStyleBackColor = true;
this.settings_okay.Click += new System.EventHandler(this.Settings_okayClick);
//
@@ -254,7 +259,7 @@ namespace Greenshot {
this.label_primaryimageformat.Name = "label_primaryimageformat";
this.label_primaryimageformat.Size = new System.Drawing.Size(126, 19);
this.label_primaryimageformat.TabIndex = 8;
- this.label_primaryimageformat.Text = "Primary image format";
+ this.label_primaryimageformat.Text = "Image format";
//
// groupbox_preferredfilesettings
//
@@ -331,7 +336,7 @@ namespace Greenshot {
this.groupbox_jpegsettings.Size = new System.Drawing.Size(412, 83);
this.groupbox_jpegsettings.TabIndex = 14;
this.groupbox_jpegsettings.TabStop = false;
- this.groupbox_jpegsettings.Text = "JPEG Settings";
+ this.groupbox_jpegsettings.Text = "JPEG settings";
//
// checkbox_alwaysshowjpegqualitydialog
//
@@ -341,7 +346,7 @@ namespace Greenshot {
this.checkbox_alwaysshowjpegqualitydialog.PropertyName = "OutputFilePromptQuality";
this.checkbox_alwaysshowjpegqualitydialog.Size = new System.Drawing.Size(394, 25);
this.checkbox_alwaysshowjpegqualitydialog.TabIndex = 16;
- this.checkbox_alwaysshowjpegqualitydialog.Text = "Show quality dialog every time a JPEG image is saved";
+ this.checkbox_alwaysshowjpegqualitydialog.Text = "Show JPEG quality dialog every time a JPEG image is saved";
this.checkbox_alwaysshowjpegqualitydialog.UseVisualStyleBackColor = true;
//
// label_jpegquality
@@ -351,7 +356,7 @@ namespace Greenshot {
this.label_jpegquality.Name = "label_jpegquality";
this.label_jpegquality.Size = new System.Drawing.Size(116, 23);
this.label_jpegquality.TabIndex = 13;
- this.label_jpegquality.Text = "JPEG Quality";
+ this.label_jpegquality.Text = "JPEG quality";
//
// textBoxJpegQuality
//
@@ -459,7 +464,7 @@ namespace Greenshot {
this.groupbox_network.Size = new System.Drawing.Size(412, 72);
this.groupbox_network.TabIndex = 54;
this.groupbox_network.TabStop = false;
- this.groupbox_network.Text = "Network";
+ this.groupbox_network.Text = "Network and updates";
//
// numericUpDown_daysbetweencheck
//
@@ -476,7 +481,7 @@ namespace Greenshot {
this.label_checkperiod.Name = "label_checkperiod";
this.label_checkperiod.Size = new System.Drawing.Size(334, 23);
this.label_checkperiod.TabIndex = 19;
- this.label_checkperiod.Text = "Update check interval";
+ this.label_checkperiod.Text = "Update check interval in days (0=no check)";
//
// checkbox_usedefaultproxy
//
@@ -486,7 +491,7 @@ namespace Greenshot {
this.checkbox_usedefaultproxy.PropertyName = "UseProxy";
this.checkbox_usedefaultproxy.Size = new System.Drawing.Size(397, 25);
this.checkbox_usedefaultproxy.TabIndex = 17;
- this.checkbox_usedefaultproxy.Text = "Use default proxy";
+ this.checkbox_usedefaultproxy.Text = "Use default system proxy";
this.checkbox_usedefaultproxy.UseVisualStyleBackColor = true;
//
// groupbox_hotkeys
@@ -536,7 +541,7 @@ namespace Greenshot {
this.label_ie_hotkey.Name = "label_ie_hotkey";
this.label_ie_hotkey.Size = new System.Drawing.Size(212, 20);
this.label_ie_hotkey.TabIndex = 51;
- this.label_ie_hotkey.Text = "Capture IE";
+ this.label_ie_hotkey.Text = "Capture Internet Explorer";
//
// ie_hotkeyControl
//
@@ -574,7 +579,7 @@ namespace Greenshot {
this.label_fullscreen_hotkey.Name = "label_fullscreen_hotkey";
this.label_fullscreen_hotkey.Size = new System.Drawing.Size(212, 23);
this.label_fullscreen_hotkey.TabIndex = 47;
- this.label_fullscreen_hotkey.Text = "Capture fullscreen";
+ this.label_fullscreen_hotkey.Text = "Capture full screen";
//
// region_hotkeyControl
//
@@ -655,7 +660,7 @@ namespace Greenshot {
this.groupbox_iecapture.Size = new System.Drawing.Size(416, 50);
this.groupbox_iecapture.TabIndex = 2;
this.groupbox_iecapture.TabStop = false;
- this.groupbox_iecapture.Text = "IE Capture settings";
+ this.groupbox_iecapture.Text = "Internet Explorer capture";
//
// checkbox_ie_capture
//
@@ -665,7 +670,7 @@ namespace Greenshot {
this.checkbox_ie_capture.PropertyName = "IECapture";
this.checkbox_ie_capture.Size = new System.Drawing.Size(404, 24);
this.checkbox_ie_capture.TabIndex = 26;
- this.checkbox_ie_capture.Text = "IE capture";
+ this.checkbox_ie_capture.Text = "Internet Explorer capture";
this.checkbox_ie_capture.UseVisualStyleBackColor = true;
//
// groupbox_windowscapture
@@ -680,7 +685,7 @@ namespace Greenshot {
this.groupbox_windowscapture.Size = new System.Drawing.Size(416, 80);
this.groupbox_windowscapture.TabIndex = 1;
this.groupbox_windowscapture.TabStop = false;
- this.groupbox_windowscapture.Text = "Window capture settings";
+ this.groupbox_windowscapture.Text = "Window capture";
//
// colorButton_window_background
//
@@ -710,7 +715,7 @@ namespace Greenshot {
this.checkbox_capture_windows_interactive.PropertyName = "CaptureWindowsInteractive";
this.checkbox_capture_windows_interactive.Size = new System.Drawing.Size(394, 18);
this.checkbox_capture_windows_interactive.TabIndex = 19;
- this.checkbox_capture_windows_interactive.Text = "Interactiv window capture";
+ this.checkbox_capture_windows_interactive.Text = "Use interactive window capture mode";
this.checkbox_capture_windows_interactive.UseVisualStyleBackColor = true;
//
// combobox_window_capture_mode
@@ -736,7 +741,7 @@ namespace Greenshot {
this.groupbox_capture.Size = new System.Drawing.Size(416, 106);
this.groupbox_capture.TabIndex = 0;
this.groupbox_capture.TabStop = false;
- this.groupbox_capture.Text = "General Capture settings";
+ this.groupbox_capture.Text = "Capture";
//
// checkbox_playsound
//
@@ -785,7 +790,7 @@ namespace Greenshot {
this.label_waittime.Name = "label_waittime";
this.label_waittime.Size = new System.Drawing.Size(331, 16);
this.label_waittime.TabIndex = 25;
- this.label_waittime.Text = "Wait before capture (ms)";
+ this.label_waittime.Text = "Milliseconds to wait before capture";
//
// tab_output
//
@@ -809,7 +814,7 @@ namespace Greenshot {
this.tab_destinations.Name = "tab_destinations";
this.tab_destinations.Size = new System.Drawing.Size(423, 320);
this.tab_destinations.TabIndex = 4;
- this.tab_destinations.Text = "Destinations";
+ this.tab_destinations.Text = "Screenshot Destination";
this.tab_destinations.UseVisualStyleBackColor = true;
//
// tab_printer
@@ -826,6 +831,7 @@ namespace Greenshot {
//
// groupbox_printoptions
//
+ this.groupbox_printoptions.Controls.Add(this.checkbox_printgrayscale);
this.groupbox_printoptions.Controls.Add(this.checkboxPrintInverted);
this.groupbox_printoptions.Controls.Add(this.checkbox_alwaysshowprintoptionsdialog);
this.groupbox_printoptions.Controls.Add(this.checkboxTimestamp);
@@ -841,6 +847,17 @@ namespace Greenshot {
this.groupbox_printoptions.TabStop = false;
this.groupbox_printoptions.Text = "Print options";
//
+ // checkbox_printgrayscale
+ //
+ this.checkbox_printgrayscale.LanguageKey = "printoption_printgrayscale";
+ this.checkbox_printgrayscale.Location = new System.Drawing.Point(12, 192);
+ this.checkbox_printgrayscale.Name = "checkbox_printgrayscale";
+ this.checkbox_printgrayscale.PropertyName = "OutputPrintGrayscale";
+ this.checkbox_printgrayscale.Size = new System.Drawing.Size(394, 19);
+ this.checkbox_printgrayscale.TabIndex = 32;
+ this.checkbox_printgrayscale.Text = "Force grayscale printing";
+ this.checkbox_printgrayscale.UseVisualStyleBackColor = true;
+ //
// checkboxPrintInverted
//
this.checkboxPrintInverted.CheckAlign = System.Drawing.ContentAlignment.TopLeft;
@@ -851,7 +868,7 @@ namespace Greenshot {
this.checkboxPrintInverted.PropertyName = "OutputPrintInverted";
this.checkboxPrintInverted.Size = new System.Drawing.Size(394, 16);
this.checkboxPrintInverted.TabIndex = 31;
- this.checkboxPrintInverted.Text = "Print inverted";
+ this.checkboxPrintInverted.Text = "Print with inverted colors";
this.checkboxPrintInverted.TextAlign = System.Drawing.ContentAlignment.TopLeft;
this.checkboxPrintInverted.UseVisualStyleBackColor = true;
//
@@ -904,7 +921,7 @@ namespace Greenshot {
this.checkboxAllowRotate.PropertyName = "OutputPrintAllowRotate";
this.checkboxAllowRotate.Size = new System.Drawing.Size(394, 17);
this.checkboxAllowRotate.TabIndex = 28;
- this.checkboxAllowRotate.Text = "Rotate printouts to page orientation.";
+ this.checkboxAllowRotate.Text = "Rotate printout to page orientation";
this.checkboxAllowRotate.TextAlign = System.Drawing.ContentAlignment.TopLeft;
this.checkboxAllowRotate.UseVisualStyleBackColor = true;
//
@@ -918,7 +935,7 @@ namespace Greenshot {
this.checkboxAllowEnlarge.PropertyName = "OutputPrintAllowEnlarge";
this.checkboxAllowEnlarge.Size = new System.Drawing.Size(394, 19);
this.checkboxAllowEnlarge.TabIndex = 27;
- this.checkboxAllowEnlarge.Text = "Enlarge small printouts to paper size.";
+ this.checkboxAllowEnlarge.Text = "Enlarge printout to fit paper size";
this.checkboxAllowEnlarge.TextAlign = System.Drawing.ContentAlignment.TopLeft;
this.checkboxAllowEnlarge.UseVisualStyleBackColor = true;
//
@@ -932,7 +949,7 @@ namespace Greenshot {
this.checkboxAllowShrink.PropertyName = "OutputPrintAllowShrink";
this.checkboxAllowShrink.Size = new System.Drawing.Size(394, 17);
this.checkboxAllowShrink.TabIndex = 26;
- this.checkboxAllowShrink.Text = "Shrink large printouts to paper size.";
+ this.checkboxAllowShrink.Text = "Shrink printout to fit paper size";
this.checkboxAllowShrink.TextAlign = System.Drawing.ContentAlignment.TopLeft;
this.checkboxAllowShrink.UseVisualStyleBackColor = true;
//
@@ -1000,6 +1017,10 @@ namespace Greenshot {
//
// groupbox_expert
//
+ this.groupbox_expert.Controls.Add(this.label_footerpattern);
+ this.groupbox_expert.Controls.Add(this.textbox_footerpattern);
+ this.groupbox_expert.Controls.Add(this.checkbox_thumbnailpreview);
+ this.groupbox_expert.Controls.Add(this.checkbox_optimizeforrdp);
this.groupbox_expert.Controls.Add(this.checkbox_autoreducecolors);
this.groupbox_expert.Controls.Add(this.label_clipboardformats);
this.groupbox_expert.Controls.Add(this.checkbox_enableexpert);
@@ -1011,15 +1032,55 @@ namespace Greenshot {
this.groupbox_expert.TabStop = false;
this.groupbox_expert.Text = "Expert settings";
//
+ // label_footerpattern
+ //
+ this.label_footerpattern.AutoSize = true;
+ this.label_footerpattern.LanguageKey = "expertsettings_footerpattern";
+ this.label_footerpattern.Location = new System.Drawing.Point(7, 225);
+ this.label_footerpattern.Name = "label_footerpattern";
+ this.label_footerpattern.Size = new System.Drawing.Size(103, 13);
+ this.label_footerpattern.TabIndex = 25;
+ this.label_footerpattern.Text = "Printer footer pattern";
+ //
+ // textbox_footerpattern
+ //
+ this.textbox_footerpattern.Location = new System.Drawing.Point(138, 222);
+ this.textbox_footerpattern.Name = "textbox_footerpattern";
+ this.textbox_footerpattern.PropertyName = "OutputPrintFooterPattern";
+ this.textbox_footerpattern.Size = new System.Drawing.Size(262, 20);
+ this.textbox_footerpattern.TabIndex = 24;
+ //
+ // checkbox_thumbnailpreview
+ //
+ this.checkbox_thumbnailpreview.LanguageKey = "expertsettings_thumbnailpreview";
+ this.checkbox_thumbnailpreview.Location = new System.Drawing.Point(10, 192);
+ this.checkbox_thumbnailpreview.Name = "checkbox_thumbnailpreview";
+ this.checkbox_thumbnailpreview.PropertyName = "ThumnailPreview";
+ this.checkbox_thumbnailpreview.Size = new System.Drawing.Size(394, 24);
+ this.checkbox_thumbnailpreview.TabIndex = 23;
+ this.checkbox_thumbnailpreview.Text = "Show window thumbnails in context menu (for Vista and windows 7)";
+ this.checkbox_thumbnailpreview.UseVisualStyleBackColor = true;
+ //
+ // checkbox_optimizeforrdp
+ //
+ this.checkbox_optimizeforrdp.LanguageKey = "expertsettings_optimizeforrdp";
+ this.checkbox_optimizeforrdp.Location = new System.Drawing.Point(10, 162);
+ this.checkbox_optimizeforrdp.Name = "checkbox_optimizeforrdp";
+ this.checkbox_optimizeforrdp.PropertyName = "OptimizeForRDP";
+ this.checkbox_optimizeforrdp.Size = new System.Drawing.Size(394, 24);
+ this.checkbox_optimizeforrdp.TabIndex = 22;
+ this.checkbox_optimizeforrdp.Text = "Make some optimizations for usage with remote desktop";
+ this.checkbox_optimizeforrdp.UseVisualStyleBackColor = true;
+ //
// checkbox_autoreducecolors
//
- this.checkbox_autoreducecolors.LanguageKey = "application_title";
- this.checkbox_autoreducecolors.Location = new System.Drawing.Point(9, 143);
+ this.checkbox_autoreducecolors.LanguageKey = "expertsettings_autoreducecolors";
+ this.checkbox_autoreducecolors.Location = new System.Drawing.Point(10, 132);
this.checkbox_autoreducecolors.Name = "checkbox_autoreducecolors";
this.checkbox_autoreducecolors.PropertyName = "OutputFileAutoReduceColors";
this.checkbox_autoreducecolors.Size = new System.Drawing.Size(394, 24);
this.checkbox_autoreducecolors.TabIndex = 21;
- this.checkbox_autoreducecolors.Text = "Auto generate 8-Bit output files if less than 256 colors are used";
+ this.checkbox_autoreducecolors.Text = "Write a 256-color image if the colors are less than 256";
this.checkbox_autoreducecolors.UseVisualStyleBackColor = true;
//
// label_clipboardformats
@@ -1076,6 +1137,7 @@ namespace Greenshot {
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "SettingsForm";
+ this.Text = "Settings";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.SettingsFormFormClosing);
this.Shown += new System.EventHandler(this.SettingsFormShown);
this.groupbox_preferredfilesettings.ResumeLayout(false);
@@ -1186,10 +1248,15 @@ namespace Greenshot {
private GreenshotPlugin.Controls.GreenshotTabPage tab_destinations;
private GreenshotPlugin.Controls.GreenshotTabPage tab_expert;
private GreenshotPlugin.Controls.GreenshotGroupBox groupbox_expert;
- private GreenshotPlugin.Controls.GreenshotCheckBox checkbox_autoreducecolors;
private GreenshotPlugin.Controls.GreenshotLabel label_clipboardformats;
private GreenshotPlugin.Controls.GreenshotCheckBox checkbox_enableexpert;
private System.Windows.Forms.ListView listView1;
private System.Windows.Forms.ColumnHeader columnHeader1;
+ private GreenshotPlugin.Controls.GreenshotCheckBox checkbox_printgrayscale;
+ private GreenshotPlugin.Controls.GreenshotCheckBox checkbox_autoreducecolors;
+ private GreenshotPlugin.Controls.GreenshotCheckBox checkbox_optimizeforrdp;
+ private GreenshotPlugin.Controls.GreenshotCheckBox checkbox_thumbnailpreview;
+ private GreenshotPlugin.Controls.GreenshotLabel label_footerpattern;
+ private GreenshotPlugin.Controls.GreenshotTextBox textbox_footerpattern;
}
}
diff --git a/Greenshot/Forms/SettingsForm.cs b/Greenshot/Forms/SettingsForm.cs
index ad78dd6f5..1b47044b1 100644
--- a/Greenshot/Forms/SettingsForm.cs
+++ b/Greenshot/Forms/SettingsForm.cs
@@ -39,7 +39,7 @@ namespace Greenshot {
///
/// Description of SettingsForm.
///
- public partial class SettingsForm : GreenshotForm {
+ public partial class SettingsForm : BaseForm {
private static log4net.ILog LOG = log4net.LogManager.GetLogger(typeof(SettingsForm));
private static CoreConfiguration coreConfiguration = IniConfig.GetIniSection();
private static EditorConfiguration editorConfiguration = IniConfig.GetIniSection();
diff --git a/Greenshot/Forms/ToolStripMenuSelectList.cs b/Greenshot/Forms/ToolStripMenuSelectList.cs
index 6b9376113..a85d64196 100644
--- a/Greenshot/Forms/ToolStripMenuSelectList.cs
+++ b/Greenshot/Forms/ToolStripMenuSelectList.cs
@@ -24,13 +24,11 @@ using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
-namespace Greenshot.Forms
-{
+namespace Greenshot.Forms {
///
/// Description of ToolStripMenuSelectList.
///
- public class ToolStripMenuSelectList : ToolStripMenuItem
- {
+ public class ToolStripMenuSelectList : ToolStripMenuItem {
private bool multiCheckAllowed = false;
private bool updateInProgress = false;
///
@@ -40,8 +38,7 @@ namespace Greenshot.Forms
public Object Identifier;
- public ToolStripMenuSelectList(Object identifier, bool allowMultiCheck)
- {
+ public ToolStripMenuSelectList(Object identifier, bool allowMultiCheck) {
Identifier = identifier;
CheckOnClick = false;
multiCheckAllowed = allowMultiCheck;
@@ -56,18 +53,23 @@ namespace Greenshot.Forms
get {
IEnumerator items = DropDownItems.GetEnumerator();
- while(items.MoveNext()) {
+ while (items.MoveNext()) {
ToolStripMenuItem tsmi = (ToolStripMenuItem)items.Current;
- if(tsmi.Checked) return tsmi;
+ if (tsmi.Checked) {
+ return tsmi;
+ }
}
return null;
}
set {
IEnumerator items = DropDownItems.GetEnumerator();
- while(items.MoveNext()) {
+ while (items.MoveNext()) {
ToolStripMenuItem tsmi = (ToolStripMenuItem)items.Current;
- if(!multiCheckAllowed && !tsmi.Equals(value)) tsmi.Checked = false;
- else if (tsmi.Equals(value)) tsmi.Checked = true;
+ if (!multiCheckAllowed && !tsmi.Equals(value)) {
+ tsmi.Checked = false;
+ } else if (tsmi.Equals(value)) {
+ tsmi.Checked = true;
+ }
}
}
}
@@ -81,37 +83,50 @@ namespace Greenshot.Forms
IEnumerator items = DropDownItems.GetEnumerator();
while(items.MoveNext()) {
ToolStripMenuSelectListItem tsmi = (ToolStripMenuSelectListItem)items.Current;
- if(tsmi.Checked) sel.Add(tsmi);
+ if (tsmi.Checked) {
+ sel.Add(tsmi);
+ }
}
return sel.ToArray();
}
set {
- if(!multiCheckAllowed) throw new ArgumentException("Writing to checkedItems is only allowed in multi-check mode. Either set allowMultiCheck to true or use set SelectedItem instead of SelectedItems.");
+ if (!multiCheckAllowed) {
+ throw new ArgumentException("Writing to checkedItems is only allowed in multi-check mode. Either set allowMultiCheck to true or use set SelectedItem instead of SelectedItems.");
+ }
IEnumerator items = DropDownItems.GetEnumerator();
IEnumerator sel = value.GetEnumerator();
- while(items.MoveNext()) {
+ while (items.MoveNext()) {
ToolStripMenuItem tsmi = (ToolStripMenuItem)items.Current;
while (sel.MoveNext()) {
- if(tsmi.Equals(sel.Current)) tsmi.Checked = true;
- else tsmi.Checked = false;
- if(!multiCheckAllowed && !tsmi.Equals(sel.Current)) tsmi.Checked = false;
- else if (tsmi.Equals(value)) tsmi.Checked = true;
+ if (tsmi.Equals(sel.Current)) {
+ tsmi.Checked = true;
+ } else {
+ tsmi.Checked = false;
+ }
+ if (!multiCheckAllowed && !tsmi.Equals(sel.Current)) {
+ tsmi.Checked = false;
+ } else if (tsmi.Equals(value)) {
+ tsmi.Checked = true;
+ }
}
}
}
}
private void ItemCheckStateChanged(object sender, System.EventArgs e) {
- if(updateInProgress) return;
+ if (updateInProgress) {
+ return;
+ }
ToolStripMenuSelectListItem tsmi = (ToolStripMenuSelectListItem)sender;
updateInProgress = true;
- if(tsmi.Checked && !multiCheckAllowed) {
+ if (tsmi.Checked && !multiCheckAllowed) {
UncheckAll();
tsmi.Checked = true;
}
updateInProgress = false;
- if(CheckedChanged != null) CheckedChanged(this, new ItemCheckedChangedEventArgs(tsmi));
-
+ if (CheckedChanged != null) {
+ CheckedChanged(this, new ItemCheckedChangedEventArgs(tsmi));
+ }
}
///
@@ -128,8 +143,8 @@ namespace Greenshot.Forms
newItem.CheckOnClick = true;
newItem.CheckStateChanged += new System.EventHandler(this.ItemCheckStateChanged);
newItem.Data = data;
- if(isChecked) {
- if(!multiCheckAllowed) {
+ if (isChecked) {
+ if (!multiCheckAllowed) {
updateInProgress = true;
UncheckAll();
updateInProgress = false;
@@ -201,7 +216,9 @@ namespace Greenshot.Forms
///
public void UncheckAll() {
IEnumerator items = DropDownItems.GetEnumerator();
- while(items.MoveNext()) ((ToolStripMenuItem)items.Current).Checked = false;
+ while (items.MoveNext()) {
+ ((ToolStripMenuItem)items.Current).Checked = false;
+ }
}
}
diff --git a/Greenshot/Helpers/PrintHelper.cs b/Greenshot/Helpers/PrintHelper.cs
index 402559da4..5bac2484a 100644
--- a/Greenshot/Helpers/PrintHelper.cs
+++ b/Greenshot/Helpers/PrintHelper.cs
@@ -108,6 +108,9 @@ namespace Greenshot.Helpers {
try {
if (!cancelled) {
printDocument.PrinterSettings.PrinterName = printerName;
+ if (conf.OutputPrintGrayscale) {
+ printDocument.DefaultPageSettings.Color = false;
+ }
printDocument.Print();
returnPrinterSettings = printDocument.PrinterSettings;
}
@@ -139,6 +142,9 @@ namespace Greenshot.Helpers {
}
try {
if (!cancelled) {
+ if (conf.OutputPrintGrayscale) {
+ printDocument.DefaultPageSettings.Color = false;
+ }
printDocument.Print();
returnPrinterSettings = printDialog.PrinterSettings;
}
diff --git a/Greenshot/Languages/language-en-US.xml b/Greenshot/Languages/language-en-US.xml
index 267faa228..8360935d5 100644
--- a/Greenshot/Languages/language-en-US.xml
+++ b/Greenshot/Languages/language-en-US.xml
@@ -46,7 +46,7 @@
Image format
-
+
Image format used by default
@@ -336,7 +336,10 @@ All Greenshot features still work directly from the tray icon context menu witho
Show print options dialog every time an image is printed
-
+
+ Force grayscale printing
+
+
Print options
@@ -616,7 +619,19 @@ time, e.g. 11_58_32 (plus extension defined in the settings)
Exported to: {0}
-
+
+ Write a 256-color image if the colors are less than 256
+
+
+ Make some optimizations for usage with remote desktop
+
+
+ Show window thumbnails in context menu (for Vista and windows 7)
+
+
+ Printer footer pattern
+
+
As displayed
diff --git a/GreenshotPlugin/Core/CoreConfiguration.cs b/GreenshotPlugin/Core/CoreConfiguration.cs
index 203f8529d..a5cbcdf0b 100644
--- a/GreenshotPlugin/Core/CoreConfiguration.cs
+++ b/GreenshotPlugin/Core/CoreConfiguration.cs
@@ -128,6 +128,8 @@ namespace GreenshotPlugin.Core {
public bool OutputPrintCenter;
[IniProperty("OutputPrintInverted", LanguageKey="printoptions_inverted", Description="Print image inverted (use e.g. for console captures)", DefaultValue="false")]
public bool OutputPrintInverted;
+ [IniProperty("OutputPrintGrayscale", LanguageKey = "printoptions_printgrayscale", Description = "Force grayscale printing", DefaultValue = "false")]
+ public bool OutputPrintGrayscale;
[IniProperty("OutputPrintFooter", LanguageKey = "printoptions_timestamp", Description = "Print footer on print?", DefaultValue = "true")]
public bool OutputPrintFooter;
[IniProperty("OutputPrintFooterPattern", Description = "Footer pattern", DefaultValue = "${capturetime:d\"D\"} ${capturetime:d\"T\"} - ${title}")]