Added Greenshot controls which allow to map directly to the ini and language files. This makes settings forms a lot easier to implement and maintain

git-svn-id: http://svn.code.sf.net/p/greenshot/code/trunk@1766 7dccd23d-a4a3-4e1f-8c07-b4c1b4018ab4
This commit is contained in:
RKrom 2012-04-10 16:03:04 +00:00
commit a4df32c0e8
13 changed files with 787 additions and 258 deletions

View file

@ -19,7 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
namespace Greenshot {
partial class SettingsForm : System.Windows.Forms.Form {
partial class SettingsForm : GreenshotPlugin.Controls.GreenshotForm {
/// <summary>
/// Designer variable used to keep track of non-visual components.
/// </summary>
@ -48,78 +48,85 @@ namespace Greenshot {
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SettingsForm));
this.textbox_storagelocation = new System.Windows.Forms.TextBox();
this.label_storagelocation = new System.Windows.Forms.Label();
this.settings_cancel = new System.Windows.Forms.Button();
this.settings_okay = new System.Windows.Forms.Button();
this.label_storagelocation = new GreenshotPlugin.Controls.GreenshotLabel();
this.settings_cancel = new GreenshotPlugin.Controls.GreenshotButton();
this.settings_okay = new GreenshotPlugin.Controls.GreenshotButton();
this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();
this.browse = new System.Windows.Forms.Button();
this.label_screenshotname = new System.Windows.Forms.Label();
this.textbox_screenshotname = new System.Windows.Forms.TextBox();
this.label_language = new System.Windows.Forms.Label();
this.label_screenshotname = new GreenshotPlugin.Controls.GreenshotLabel();
this.textbox_screenshotname = new GreenshotPlugin.Controls.GreenshotTextBox();
this.label_language = new GreenshotPlugin.Controls.GreenshotLabel();
this.combobox_language = new System.Windows.Forms.ComboBox();
this.combobox_primaryimageformat = new System.Windows.Forms.ComboBox();
this.label_primaryimageformat = new System.Windows.Forms.Label();
this.groupbox_preferredfilesettings = new System.Windows.Forms.GroupBox();
this.label_primaryimageformat = new GreenshotPlugin.Controls.GreenshotLabel();
this.groupbox_preferredfilesettings = new GreenshotPlugin.Controls.GreenshotGroupBox();
this.btnPatternHelp = new System.Windows.Forms.Button();
this.checkbox_copypathtoclipboard = new System.Windows.Forms.CheckBox();
this.groupbox_applicationsettings = new System.Windows.Forms.GroupBox();
this.checkbox_autostartshortcut = new System.Windows.Forms.CheckBox();
this.groupbox_jpegsettings = new System.Windows.Forms.GroupBox();
this.checkbox_alwaysshowjpegqualitydialog = new System.Windows.Forms.CheckBox();
this.label_jpegquality = new System.Windows.Forms.Label();
this.checkbox_copypathtoclipboard = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.groupbox_applicationsettings = new GreenshotPlugin.Controls.GreenshotGroupBox();
this.checkbox_autostartshortcut = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.groupbox_jpegsettings = new GreenshotPlugin.Controls.GreenshotGroupBox();
this.checkbox_alwaysshowjpegqualitydialog = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.label_jpegquality = new GreenshotPlugin.Controls.GreenshotLabel();
this.textBoxJpegQuality = new System.Windows.Forms.TextBox();
this.trackBarJpegQuality = new System.Windows.Forms.TrackBar();
this.groupbox_destination = new System.Windows.Forms.GroupBox();
this.checkbox_picker = new System.Windows.Forms.CheckBox();
this.groupbox_destination = new GreenshotPlugin.Controls.GreenshotGroupBox();
this.checkbox_picker = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.destinationsListView = new System.Windows.Forms.ListView();
this.destination = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.tabcontrol = new System.Windows.Forms.TabControl();
this.tab_general = new System.Windows.Forms.TabPage();
this.groupbox_network = new System.Windows.Forms.GroupBox();
this.tab_general = new GreenshotPlugin.Controls.GreenshotTabPage();
this.groupbox_network = new GreenshotPlugin.Controls.GreenshotGroupBox();
this.numericUpDown_daysbetweencheck = new System.Windows.Forms.NumericUpDown();
this.label_checkperiod = new System.Windows.Forms.Label();
this.checkbox_usedefaultproxy = new System.Windows.Forms.CheckBox();
this.groupbox_hotkeys = new System.Windows.Forms.GroupBox();
this.label_lastregion_hotkey = new System.Windows.Forms.Label();
this.label_checkperiod = new GreenshotPlugin.Controls.GreenshotLabel();
this.checkbox_usedefaultproxy = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.groupbox_hotkeys = new GreenshotPlugin.Controls.GreenshotGroupBox();
this.label_lastregion_hotkey = new GreenshotPlugin.Controls.GreenshotLabel();
this.lastregion_hotkeyControl = new GreenshotPlugin.Controls.HotkeyControl();
this.label_ie_hotkey = new System.Windows.Forms.Label();
this.label_ie_hotkey = new GreenshotPlugin.Controls.GreenshotLabel();
this.ie_hotkeyControl = new GreenshotPlugin.Controls.HotkeyControl();
this.label_region_hotkey = new System.Windows.Forms.Label();
this.label_window_hotkey = new System.Windows.Forms.Label();
this.label_fullscreen_hotkey = new System.Windows.Forms.Label();
this.label_region_hotkey = new GreenshotPlugin.Controls.GreenshotLabel();
this.label_window_hotkey = new GreenshotPlugin.Controls.GreenshotLabel();
this.label_fullscreen_hotkey = new GreenshotPlugin.Controls.GreenshotLabel();
this.region_hotkeyControl = new GreenshotPlugin.Controls.HotkeyControl();
this.window_hotkeyControl = new GreenshotPlugin.Controls.HotkeyControl();
this.fullscreen_hotkeyControl = new GreenshotPlugin.Controls.HotkeyControl();
this.tab_capture = new System.Windows.Forms.TabPage();
this.groupbox_editor = new System.Windows.Forms.GroupBox();
this.checkbox_editor_match_capture_size = new System.Windows.Forms.CheckBox();
this.groupbox_iecapture = new System.Windows.Forms.GroupBox();
this.checkbox_ie_capture = new System.Windows.Forms.CheckBox();
this.groupbox_windowscapture = new System.Windows.Forms.GroupBox();
this.tab_capture = new GreenshotPlugin.Controls.GreenshotTabPage();
this.groupbox_editor = new GreenshotPlugin.Controls.GreenshotGroupBox();
this.checkbox_editor_match_capture_size = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.groupbox_iecapture = new GreenshotPlugin.Controls.GreenshotGroupBox();
this.checkbox_ie_capture = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.groupbox_windowscapture = new GreenshotPlugin.Controls.GreenshotGroupBox();
this.colorButton_window_background = new Greenshot.Controls.ColorButton();
this.label_window_capture_mode = new System.Windows.Forms.Label();
this.checkbox_capture_windows_interactive = new System.Windows.Forms.CheckBox();
this.label_window_capture_mode = new GreenshotPlugin.Controls.GreenshotLabel();
this.checkbox_capture_windows_interactive = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.combobox_window_capture_mode = new System.Windows.Forms.ComboBox();
this.groupbox_capture = new System.Windows.Forms.GroupBox();
this.checkbox_playsound = new System.Windows.Forms.CheckBox();
this.checkbox_capture_mousepointer = new System.Windows.Forms.CheckBox();
this.groupbox_capture = new GreenshotPlugin.Controls.GreenshotGroupBox();
this.checkbox_playsound = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.checkbox_capture_mousepointer = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.numericUpDownWaitTime = new System.Windows.Forms.NumericUpDown();
this.label_waittime = new System.Windows.Forms.Label();
this.tab_output = new System.Windows.Forms.TabPage();
this.tab_destinations = new System.Windows.Forms.TabPage();
this.tab_printer = new System.Windows.Forms.TabPage();
this.groupbox_printoptions = new System.Windows.Forms.GroupBox();
this.checkboxPrintInverted = new System.Windows.Forms.CheckBox();
this.checkbox_alwaysshowprintoptionsdialog = new System.Windows.Forms.CheckBox();
this.checkboxTimestamp = new System.Windows.Forms.CheckBox();
this.checkboxAllowCenter = new System.Windows.Forms.CheckBox();
this.checkboxAllowRotate = new System.Windows.Forms.CheckBox();
this.checkboxAllowEnlarge = new System.Windows.Forms.CheckBox();
this.checkboxAllowShrink = new System.Windows.Forms.CheckBox();
this.tab_plugins = new System.Windows.Forms.TabPage();
this.groupbox_plugins = new System.Windows.Forms.GroupBox();
this.label_waittime = new GreenshotPlugin.Controls.GreenshotLabel();
this.tab_output = new GreenshotPlugin.Controls.GreenshotTabPage();
this.tab_destinations = new GreenshotPlugin.Controls.GreenshotTabPage();
this.tab_printer = new GreenshotPlugin.Controls.GreenshotTabPage();
this.groupbox_printoptions = new GreenshotPlugin.Controls.GreenshotGroupBox();
this.checkboxPrintInverted = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.checkbox_alwaysshowprintoptionsdialog = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.checkboxTimestamp = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.checkboxAllowCenter = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.checkboxAllowRotate = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.checkboxAllowEnlarge = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.checkboxAllowShrink = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.tab_plugins = new GreenshotPlugin.Controls.GreenshotTabPage();
this.groupbox_plugins = new GreenshotPlugin.Controls.GreenshotGroupBox();
this.listview_plugins = new System.Windows.Forms.ListView();
this.button_pluginconfigure = new System.Windows.Forms.Button();
this.tab_expert = new GreenshotPlugin.Controls.GreenshotTabPage();
this.groupbox_expert = new GreenshotPlugin.Controls.GreenshotGroupBox();
this.checkbox_autoreducecolors = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.label_clipboardformats = new GreenshotPlugin.Controls.GreenshotLabel();
this.checkbox_enableexpert = new GreenshotPlugin.Controls.GreenshotCheckBox();
this.listView1 = new System.Windows.Forms.ListView();
this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.groupbox_preferredfilesettings.SuspendLayout();
this.groupbox_applicationsettings.SuspendLayout();
this.groupbox_jpegsettings.SuspendLayout();
@ -142,6 +149,8 @@ namespace Greenshot {
this.groupbox_printoptions.SuspendLayout();
this.tab_plugins.SuspendLayout();
this.groupbox_plugins.SuspendLayout();
this.tab_expert.SuspendLayout();
this.groupbox_expert.SuspendLayout();
this.SuspendLayout();
//
// textbox_storagelocation
@ -153,6 +162,7 @@ namespace Greenshot {
//
// label_storagelocation
//
this.label_storagelocation.LanguageKey = "settings_storagelocation";
this.label_storagelocation.Location = new System.Drawing.Point(6, 21);
this.label_storagelocation.Name = "label_storagelocation";
this.label_storagelocation.Size = new System.Drawing.Size(126, 23);
@ -161,6 +171,7 @@ namespace Greenshot {
//
// settings_cancel
//
this.settings_cancel.LanguageKey = "editor_cancel";
this.settings_cancel.Location = new System.Drawing.Point(367, 366);
this.settings_cancel.Name = "settings_cancel";
this.settings_cancel.Size = new System.Drawing.Size(75, 23);
@ -171,6 +182,7 @@ namespace Greenshot {
//
// settings_okay
//
this.settings_okay.LanguageKey = "editor_confirm";
this.settings_okay.Location = new System.Drawing.Point(286, 366);
this.settings_okay.Name = "settings_okay";
this.settings_okay.Size = new System.Drawing.Size(75, 23);
@ -191,6 +203,7 @@ namespace Greenshot {
//
// label_screenshotname
//
this.label_screenshotname.LanguageKey = "settings_filenamepattern";
this.label_screenshotname.Location = new System.Drawing.Point(6, 44);
this.label_screenshotname.Name = "label_screenshotname";
this.label_screenshotname.Size = new System.Drawing.Size(126, 23);
@ -201,11 +214,13 @@ namespace Greenshot {
//
this.textbox_screenshotname.Location = new System.Drawing.Point(138, 41);
this.textbox_screenshotname.Name = "textbox_screenshotname";
this.textbox_screenshotname.PropertyName = "OutputFileFilenamePattern";
this.textbox_screenshotname.Size = new System.Drawing.Size(233, 20);
this.textbox_screenshotname.TabIndex = 2;
//
// label_language
//
this.label_language.LanguageKey = "settings_language";
this.label_language.Location = new System.Drawing.Point(6, 20);
this.label_language.Name = "label_language";
this.label_language.Size = new System.Drawing.Size(181, 23);
@ -233,6 +248,7 @@ namespace Greenshot {
//
// label_primaryimageformat
//
this.label_primaryimageformat.LanguageKey = "settings_primaryimageformat";
this.label_primaryimageformat.Location = new System.Drawing.Point(6, 67);
this.label_primaryimageformat.Name = "label_primaryimageformat";
this.label_primaryimageformat.Size = new System.Drawing.Size(126, 19);
@ -250,6 +266,7 @@ namespace Greenshot {
this.groupbox_preferredfilesettings.Controls.Add(this.textbox_storagelocation);
this.groupbox_preferredfilesettings.Controls.Add(this.textbox_screenshotname);
this.groupbox_preferredfilesettings.Controls.Add(this.label_screenshotname);
this.groupbox_preferredfilesettings.LanguageKey = "settings_preferredfilesettings";
this.groupbox_preferredfilesettings.Location = new System.Drawing.Point(2, 6);
this.groupbox_preferredfilesettings.Name = "groupbox_preferredfilesettings";
this.groupbox_preferredfilesettings.Size = new System.Drawing.Size(412, 122);
@ -269,8 +286,10 @@ namespace Greenshot {
//
// checkbox_copypathtoclipboard
//
this.checkbox_copypathtoclipboard.LanguageKey = "settings_copypathtoclipboard";
this.checkbox_copypathtoclipboard.Location = new System.Drawing.Point(12, 89);
this.checkbox_copypathtoclipboard.Name = "checkbox_copypathtoclipboard";
this.checkbox_copypathtoclipboard.PropertyName = "OutputFileCopyPathToClipboard";
this.checkbox_copypathtoclipboard.Size = new System.Drawing.Size(394, 24);
this.checkbox_copypathtoclipboard.TabIndex = 18;
this.checkbox_copypathtoclipboard.Text = "Copy file path to clipboard every time an image is saved";
@ -281,6 +300,7 @@ namespace Greenshot {
this.groupbox_applicationsettings.Controls.Add(this.checkbox_autostartshortcut);
this.groupbox_applicationsettings.Controls.Add(this.label_language);
this.groupbox_applicationsettings.Controls.Add(this.combobox_language);
this.groupbox_applicationsettings.LanguageKey = "settings_applicationsettings";
this.groupbox_applicationsettings.Location = new System.Drawing.Point(2, 6);
this.groupbox_applicationsettings.Name = "groupbox_applicationsettings";
this.groupbox_applicationsettings.Size = new System.Drawing.Size(412, 68);
@ -290,8 +310,10 @@ namespace Greenshot {
//
// checkbox_autostartshortcut
//
this.checkbox_autostartshortcut.LanguageKey = "settings_autostartshortcut";
this.checkbox_autostartshortcut.Location = new System.Drawing.Point(8, 39);
this.checkbox_autostartshortcut.Name = "checkbox_autostartshortcut";
this.checkbox_autostartshortcut.PropertyName = null;
this.checkbox_autostartshortcut.Size = new System.Drawing.Size(397, 25);
this.checkbox_autostartshortcut.TabIndex = 15;
this.checkbox_autostartshortcut.Text = "Launch Greenshot on startup";
@ -303,6 +325,7 @@ namespace Greenshot {
this.groupbox_jpegsettings.Controls.Add(this.label_jpegquality);
this.groupbox_jpegsettings.Controls.Add(this.textBoxJpegQuality);
this.groupbox_jpegsettings.Controls.Add(this.trackBarJpegQuality);
this.groupbox_jpegsettings.LanguageKey = "settings_jpegsettings";
this.groupbox_jpegsettings.Location = new System.Drawing.Point(2, 156);
this.groupbox_jpegsettings.Name = "groupbox_jpegsettings";
this.groupbox_jpegsettings.Size = new System.Drawing.Size(412, 83);
@ -312,8 +335,10 @@ namespace Greenshot {
//
// checkbox_alwaysshowjpegqualitydialog
//
this.checkbox_alwaysshowjpegqualitydialog.LanguageKey = "settings_alwaysshowjpegqualitydialog";
this.checkbox_alwaysshowjpegqualitydialog.Location = new System.Drawing.Point(12, 50);
this.checkbox_alwaysshowjpegqualitydialog.Name = "checkbox_alwaysshowjpegqualitydialog";
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";
@ -321,6 +346,7 @@ namespace Greenshot {
//
// label_jpegquality
//
this.label_jpegquality.LanguageKey = "settings_jpegquality";
this.label_jpegquality.Location = new System.Drawing.Point(6, 24);
this.label_jpegquality.Name = "label_jpegquality";
this.label_jpegquality.Size = new System.Drawing.Size(116, 23);
@ -351,6 +377,7 @@ namespace Greenshot {
//
this.groupbox_destination.Controls.Add(this.checkbox_picker);
this.groupbox_destination.Controls.Add(this.destinationsListView);
this.groupbox_destination.LanguageKey = "settings_destination";
this.groupbox_destination.Location = new System.Drawing.Point(2, 6);
this.groupbox_destination.Name = "groupbox_destination";
this.groupbox_destination.Size = new System.Drawing.Size(412, 311);
@ -398,6 +425,8 @@ namespace Greenshot {
this.tabcontrol.Controls.Add(this.tab_output);
this.tabcontrol.Controls.Add(this.tab_destinations);
this.tabcontrol.Controls.Add(this.tab_printer);
this.tabcontrol.Controls.Add(this.tab_plugins);
this.tabcontrol.Controls.Add(this.tab_expert);
this.tabcontrol.Location = new System.Drawing.Point(12, 13);
this.tabcontrol.Name = "tabcontrol";
this.tabcontrol.SelectedIndex = 0;
@ -410,6 +439,7 @@ namespace Greenshot {
this.tab_general.Controls.Add(this.groupbox_network);
this.tab_general.Controls.Add(this.groupbox_hotkeys);
this.tab_general.Controls.Add(this.groupbox_applicationsettings);
this.tab_general.LanguageKey = "settings_general";
this.tab_general.Location = new System.Drawing.Point(4, 22);
this.tab_general.Name = "tab_general";
this.tab_general.Padding = new System.Windows.Forms.Padding(3);
@ -423,6 +453,7 @@ namespace Greenshot {
this.groupbox_network.Controls.Add(this.numericUpDown_daysbetweencheck);
this.groupbox_network.Controls.Add(this.label_checkperiod);
this.groupbox_network.Controls.Add(this.checkbox_usedefaultproxy);
this.groupbox_network.LanguageKey = "settings_network";
this.groupbox_network.Location = new System.Drawing.Point(3, 232);
this.groupbox_network.Name = "groupbox_network";
this.groupbox_network.Size = new System.Drawing.Size(412, 72);
@ -440,6 +471,7 @@ namespace Greenshot {
//
// label_checkperiod
//
this.label_checkperiod.LanguageKey = "settings_checkperiod";
this.label_checkperiod.Location = new System.Drawing.Point(5, 39);
this.label_checkperiod.Name = "label_checkperiod";
this.label_checkperiod.Size = new System.Drawing.Size(334, 23);
@ -448,8 +480,10 @@ namespace Greenshot {
//
// checkbox_usedefaultproxy
//
this.checkbox_usedefaultproxy.LanguageKey = "settings_usedefaultproxy";
this.checkbox_usedefaultproxy.Location = new System.Drawing.Point(7, 11);
this.checkbox_usedefaultproxy.Name = "checkbox_usedefaultproxy";
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";
@ -467,6 +501,7 @@ namespace Greenshot {
this.groupbox_hotkeys.Controls.Add(this.region_hotkeyControl);
this.groupbox_hotkeys.Controls.Add(this.window_hotkeyControl);
this.groupbox_hotkeys.Controls.Add(this.fullscreen_hotkeyControl);
this.groupbox_hotkeys.LanguageKey = "hotkeys";
this.groupbox_hotkeys.Location = new System.Drawing.Point(2, 76);
this.groupbox_hotkeys.Name = "groupbox_hotkeys";
this.groupbox_hotkeys.Size = new System.Drawing.Size(412, 152);
@ -476,6 +511,7 @@ namespace Greenshot {
//
// label_lastregion_hotkey
//
this.label_lastregion_hotkey.LanguageKey = "contextmenu_capturelastregion";
this.label_lastregion_hotkey.Location = new System.Drawing.Point(6, 94);
this.label_lastregion_hotkey.Name = "label_lastregion_hotkey";
this.label_lastregion_hotkey.Size = new System.Drawing.Size(212, 20);
@ -488,12 +524,14 @@ namespace Greenshot {
this.lastregion_hotkeyControl.HotkeyModifiers = System.Windows.Forms.Keys.None;
this.lastregion_hotkeyControl.Location = new System.Drawing.Point(224, 94);
this.lastregion_hotkeyControl.Name = "lastregion_hotkeyControl";
this.lastregion_hotkeyControl.PropertyName = "LastregionHotkey";
this.lastregion_hotkeyControl.Size = new System.Drawing.Size(179, 20);
this.lastregion_hotkeyControl.TabIndex = 52;
this.lastregion_hotkeyControl.Text = "None";
//
// label_ie_hotkey
//
this.label_ie_hotkey.LanguageKey = "contextmenu_captureie";
this.label_ie_hotkey.Location = new System.Drawing.Point(6, 120);
this.label_ie_hotkey.Name = "label_ie_hotkey";
this.label_ie_hotkey.Size = new System.Drawing.Size(212, 20);
@ -506,12 +544,14 @@ namespace Greenshot {
this.ie_hotkeyControl.HotkeyModifiers = System.Windows.Forms.Keys.None;
this.ie_hotkeyControl.Location = new System.Drawing.Point(224, 120);
this.ie_hotkeyControl.Name = "ie_hotkeyControl";
this.ie_hotkeyControl.PropertyName = "IEHotkey";
this.ie_hotkeyControl.Size = new System.Drawing.Size(179, 20);
this.ie_hotkeyControl.TabIndex = 50;
this.ie_hotkeyControl.Text = "None";
//
// label_region_hotkey
//
this.label_region_hotkey.LanguageKey = "contextmenu_capturearea";
this.label_region_hotkey.Location = new System.Drawing.Point(6, 68);
this.label_region_hotkey.Name = "label_region_hotkey";
this.label_region_hotkey.Size = new System.Drawing.Size(212, 20);
@ -520,6 +560,7 @@ namespace Greenshot {
//
// label_window_hotkey
//
this.label_window_hotkey.LanguageKey = "contextmenu_capturewindow";
this.label_window_hotkey.Location = new System.Drawing.Point(6, 42);
this.label_window_hotkey.Name = "label_window_hotkey";
this.label_window_hotkey.Size = new System.Drawing.Size(212, 23);
@ -528,6 +569,7 @@ namespace Greenshot {
//
// label_fullscreen_hotkey
//
this.label_fullscreen_hotkey.LanguageKey = "contextmenu_capturefullscreen";
this.label_fullscreen_hotkey.Location = new System.Drawing.Point(6, 16);
this.label_fullscreen_hotkey.Name = "label_fullscreen_hotkey";
this.label_fullscreen_hotkey.Size = new System.Drawing.Size(212, 23);
@ -540,6 +582,7 @@ namespace Greenshot {
this.region_hotkeyControl.HotkeyModifiers = System.Windows.Forms.Keys.None;
this.region_hotkeyControl.Location = new System.Drawing.Point(224, 68);
this.region_hotkeyControl.Name = "region_hotkeyControl";
this.region_hotkeyControl.PropertyName = "RegionHotkey";
this.region_hotkeyControl.Size = new System.Drawing.Size(179, 20);
this.region_hotkeyControl.TabIndex = 46;
this.region_hotkeyControl.Text = "None";
@ -550,6 +593,7 @@ namespace Greenshot {
this.window_hotkeyControl.HotkeyModifiers = System.Windows.Forms.Keys.None;
this.window_hotkeyControl.Location = new System.Drawing.Point(224, 42);
this.window_hotkeyControl.Name = "window_hotkeyControl";
this.window_hotkeyControl.PropertyName = "WindowHotkey";
this.window_hotkeyControl.Size = new System.Drawing.Size(179, 20);
this.window_hotkeyControl.TabIndex = 45;
this.window_hotkeyControl.Text = "None";
@ -560,6 +604,7 @@ namespace Greenshot {
this.fullscreen_hotkeyControl.HotkeyModifiers = System.Windows.Forms.Keys.None;
this.fullscreen_hotkeyControl.Location = new System.Drawing.Point(224, 16);
this.fullscreen_hotkeyControl.Name = "fullscreen_hotkeyControl";
this.fullscreen_hotkeyControl.PropertyName = "FullscreenHotkey";
this.fullscreen_hotkeyControl.Size = new System.Drawing.Size(179, 20);
this.fullscreen_hotkeyControl.TabIndex = 44;
this.fullscreen_hotkeyControl.Text = "None";
@ -570,6 +615,7 @@ namespace Greenshot {
this.tab_capture.Controls.Add(this.groupbox_iecapture);
this.tab_capture.Controls.Add(this.groupbox_windowscapture);
this.tab_capture.Controls.Add(this.groupbox_capture);
this.tab_capture.LanguageKey = "settings_capture";
this.tab_capture.Location = new System.Drawing.Point(4, 22);
this.tab_capture.Name = "tab_capture";
this.tab_capture.Size = new System.Drawing.Size(423, 320);
@ -580,6 +626,7 @@ namespace Greenshot {
// groupbox_editor
//
this.groupbox_editor.Controls.Add(this.checkbox_editor_match_capture_size);
this.groupbox_editor.LanguageKey = "settings_editor";
this.groupbox_editor.Location = new System.Drawing.Point(4, 260);
this.groupbox_editor.Name = "groupbox_editor";
this.groupbox_editor.Size = new System.Drawing.Size(416, 50);
@ -589,8 +636,11 @@ namespace Greenshot {
//
// checkbox_editor_match_capture_size
//
this.checkbox_editor_match_capture_size.LanguageKey = "editor_match_capture_size";
this.checkbox_editor_match_capture_size.Location = new System.Drawing.Point(6, 19);
this.checkbox_editor_match_capture_size.Name = "checkbox_editor_match_capture_size";
this.checkbox_editor_match_capture_size.PropertyName = "MatchSizeToCapture";
this.checkbox_editor_match_capture_size.SectionName = "Editor";
this.checkbox_editor_match_capture_size.Size = new System.Drawing.Size(397, 24);
this.checkbox_editor_match_capture_size.TabIndex = 26;
this.checkbox_editor_match_capture_size.Text = "Match capture size";
@ -599,6 +649,7 @@ namespace Greenshot {
// groupbox_iecapture
//
this.groupbox_iecapture.Controls.Add(this.checkbox_ie_capture);
this.groupbox_iecapture.LanguageKey = "settings_iecapture";
this.groupbox_iecapture.Location = new System.Drawing.Point(4, 204);
this.groupbox_iecapture.Name = "groupbox_iecapture";
this.groupbox_iecapture.Size = new System.Drawing.Size(416, 50);
@ -608,9 +659,11 @@ namespace Greenshot {
//
// checkbox_ie_capture
//
this.checkbox_ie_capture.LanguageKey = "settings_iecapture";
this.checkbox_ie_capture.Location = new System.Drawing.Point(6, 19);
this.checkbox_ie_capture.Name = "checkbox_ie_capture";
this.checkbox_ie_capture.Size = new System.Drawing.Size(213, 24);
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.UseVisualStyleBackColor = true;
@ -621,6 +674,7 @@ namespace Greenshot {
this.groupbox_windowscapture.Controls.Add(this.label_window_capture_mode);
this.groupbox_windowscapture.Controls.Add(this.checkbox_capture_windows_interactive);
this.groupbox_windowscapture.Controls.Add(this.combobox_window_capture_mode);
this.groupbox_windowscapture.LanguageKey = "settings_windowscapture";
this.groupbox_windowscapture.Location = new System.Drawing.Point(4, 117);
this.groupbox_windowscapture.Name = "groupbox_windowscapture";
this.groupbox_windowscapture.Size = new System.Drawing.Size(416, 80);
@ -641,6 +695,7 @@ namespace Greenshot {
//
// label_window_capture_mode
//
this.label_window_capture_mode.LanguageKey = "settings_window_capture_mode";
this.label_window_capture_mode.Location = new System.Drawing.Point(6, 46);
this.label_window_capture_mode.Name = "label_window_capture_mode";
this.label_window_capture_mode.Size = new System.Drawing.Size(205, 23);
@ -649,8 +704,10 @@ namespace Greenshot {
//
// checkbox_capture_windows_interactive
//
this.checkbox_capture_windows_interactive.LanguageKey = "settings_capture_windows_interactive";
this.checkbox_capture_windows_interactive.Location = new System.Drawing.Point(9, 19);
this.checkbox_capture_windows_interactive.Name = "checkbox_capture_windows_interactive";
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";
@ -673,6 +730,7 @@ namespace Greenshot {
this.groupbox_capture.Controls.Add(this.checkbox_capture_mousepointer);
this.groupbox_capture.Controls.Add(this.numericUpDownWaitTime);
this.groupbox_capture.Controls.Add(this.label_waittime);
this.groupbox_capture.LanguageKey = "settings_capture";
this.groupbox_capture.Location = new System.Drawing.Point(4, 4);
this.groupbox_capture.Name = "groupbox_capture";
this.groupbox_capture.Size = new System.Drawing.Size(416, 106);
@ -682,8 +740,10 @@ namespace Greenshot {
//
// checkbox_playsound
//
this.checkbox_playsound.LanguageKey = "settings_playsound";
this.checkbox_playsound.Location = new System.Drawing.Point(11, 39);
this.checkbox_playsound.Name = "checkbox_playsound";
this.checkbox_playsound.PropertyName = "PlayCameraSound";
this.checkbox_playsound.Size = new System.Drawing.Size(399, 24);
this.checkbox_playsound.TabIndex = 18;
this.checkbox_playsound.Text = "Play camera sound";
@ -691,8 +751,10 @@ namespace Greenshot {
//
// checkbox_capture_mousepointer
//
this.checkbox_capture_mousepointer.LanguageKey = "settings_capture_mousepointer";
this.checkbox_capture_mousepointer.Location = new System.Drawing.Point(11, 19);
this.checkbox_capture_mousepointer.Name = "checkbox_capture_mousepointer";
this.checkbox_capture_mousepointer.PropertyName = "CaptureMousepointer";
this.checkbox_capture_mousepointer.Size = new System.Drawing.Size(394, 24);
this.checkbox_capture_mousepointer.TabIndex = 17;
this.checkbox_capture_mousepointer.Text = "Capture mousepointer";
@ -718,6 +780,7 @@ namespace Greenshot {
//
// label_waittime
//
this.label_waittime.LanguageKey = "settings_waittime";
this.label_waittime.Location = new System.Drawing.Point(74, 71);
this.label_waittime.Name = "label_waittime";
this.label_waittime.Size = new System.Drawing.Size(331, 16);
@ -729,6 +792,7 @@ namespace Greenshot {
this.tab_output.BackColor = System.Drawing.Color.Transparent;
this.tab_output.Controls.Add(this.groupbox_preferredfilesettings);
this.tab_output.Controls.Add(this.groupbox_jpegsettings);
this.tab_output.LanguageKey = "settings_output";
this.tab_output.Location = new System.Drawing.Point(4, 22);
this.tab_output.Name = "tab_output";
this.tab_output.Padding = new System.Windows.Forms.Padding(3);
@ -740,6 +804,7 @@ namespace Greenshot {
// tab_destinations
//
this.tab_destinations.Controls.Add(this.groupbox_destination);
this.tab_destinations.LanguageKey = "settings_destination";
this.tab_destinations.Location = new System.Drawing.Point(4, 22);
this.tab_destinations.Name = "tab_destinations";
this.tab_destinations.Size = new System.Drawing.Size(423, 320);
@ -750,6 +815,7 @@ namespace Greenshot {
// tab_printer
//
this.tab_printer.Controls.Add(this.groupbox_printoptions);
this.tab_printer.LanguageKey = "settings_printer";
this.tab_printer.Location = new System.Drawing.Point(4, 22);
this.tab_printer.Name = "tab_printer";
this.tab_printer.Padding = new System.Windows.Forms.Padding(3);
@ -767,6 +833,7 @@ namespace Greenshot {
this.groupbox_printoptions.Controls.Add(this.checkboxAllowRotate);
this.groupbox_printoptions.Controls.Add(this.checkboxAllowEnlarge);
this.groupbox_printoptions.Controls.Add(this.checkboxAllowShrink);
this.groupbox_printoptions.LanguageKey = "settings_printoptions";
this.groupbox_printoptions.Location = new System.Drawing.Point(2, 6);
this.groupbox_printoptions.Name = "groupbox_printoptions";
this.groupbox_printoptions.Size = new System.Drawing.Size(412, 227);
@ -778,8 +845,10 @@ namespace Greenshot {
//
this.checkboxPrintInverted.CheckAlign = System.Drawing.ContentAlignment.TopLeft;
this.checkboxPrintInverted.ImageAlign = System.Drawing.ContentAlignment.TopLeft;
this.checkboxPrintInverted.LanguageKey = "printoptions_inverted";
this.checkboxPrintInverted.Location = new System.Drawing.Point(12, 144);
this.checkboxPrintInverted.Name = "checkboxPrintInverted";
this.checkboxPrintInverted.PropertyName = "OutputPrintInverted";
this.checkboxPrintInverted.Size = new System.Drawing.Size(394, 16);
this.checkboxPrintInverted.TabIndex = 31;
this.checkboxPrintInverted.Text = "Print inverted";
@ -788,8 +857,10 @@ namespace Greenshot {
//
// checkbox_alwaysshowprintoptionsdialog
//
this.checkbox_alwaysshowprintoptionsdialog.LanguageKey = "settings_alwaysshowprintoptionsdialog";
this.checkbox_alwaysshowprintoptionsdialog.Location = new System.Drawing.Point(12, 167);
this.checkbox_alwaysshowprintoptionsdialog.Name = "checkbox_alwaysshowprintoptionsdialog";
this.checkbox_alwaysshowprintoptionsdialog.PropertyName = "OutputPrintPromptOptions";
this.checkbox_alwaysshowprintoptionsdialog.Size = new System.Drawing.Size(394, 19);
this.checkbox_alwaysshowprintoptionsdialog.TabIndex = 17;
this.checkbox_alwaysshowprintoptionsdialog.Text = "Show print options dialog every time an image is printed";
@ -799,8 +870,10 @@ namespace Greenshot {
//
this.checkboxTimestamp.CheckAlign = System.Drawing.ContentAlignment.TopLeft;
this.checkboxTimestamp.ImageAlign = System.Drawing.ContentAlignment.TopLeft;
this.checkboxTimestamp.LanguageKey = "printoptions_timestamp";
this.checkboxTimestamp.Location = new System.Drawing.Point(12, 121);
this.checkboxTimestamp.Name = "checkboxTimestamp";
this.checkboxTimestamp.PropertyName = "OutputPrintFooter";
this.checkboxTimestamp.Size = new System.Drawing.Size(394, 16);
this.checkboxTimestamp.TabIndex = 30;
this.checkboxTimestamp.Text = "Print date / time at bottom of page";
@ -811,8 +884,10 @@ namespace Greenshot {
//
this.checkboxAllowCenter.CheckAlign = System.Drawing.ContentAlignment.TopLeft;
this.checkboxAllowCenter.ImageAlign = System.Drawing.ContentAlignment.TopLeft;
this.checkboxAllowCenter.LanguageKey = "printoptions_allowcenter";
this.checkboxAllowCenter.Location = new System.Drawing.Point(12, 96);
this.checkboxAllowCenter.Name = "checkboxAllowCenter";
this.checkboxAllowCenter.PropertyName = "OutputPrintCenter";
this.checkboxAllowCenter.Size = new System.Drawing.Size(394, 18);
this.checkboxAllowCenter.TabIndex = 29;
this.checkboxAllowCenter.Text = "Center printout on page";
@ -823,8 +898,10 @@ namespace Greenshot {
//
this.checkboxAllowRotate.CheckAlign = System.Drawing.ContentAlignment.TopLeft;
this.checkboxAllowRotate.ImageAlign = System.Drawing.ContentAlignment.TopLeft;
this.checkboxAllowRotate.LanguageKey = "printoptions_allowrotate";
this.checkboxAllowRotate.Location = new System.Drawing.Point(12, 72);
this.checkboxAllowRotate.Name = "checkboxAllowRotate";
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.";
@ -835,8 +912,10 @@ namespace Greenshot {
//
this.checkboxAllowEnlarge.CheckAlign = System.Drawing.ContentAlignment.TopLeft;
this.checkboxAllowEnlarge.ImageAlign = System.Drawing.ContentAlignment.TopLeft;
this.checkboxAllowEnlarge.LanguageKey = "printoptions_allowenlarge";
this.checkboxAllowEnlarge.Location = new System.Drawing.Point(12, 47);
this.checkboxAllowEnlarge.Name = "checkboxAllowEnlarge";
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.";
@ -847,8 +926,10 @@ namespace Greenshot {
//
this.checkboxAllowShrink.CheckAlign = System.Drawing.ContentAlignment.TopLeft;
this.checkboxAllowShrink.ImageAlign = System.Drawing.ContentAlignment.TopLeft;
this.checkboxAllowShrink.LanguageKey = "printoptions_allowshrink";
this.checkboxAllowShrink.Location = new System.Drawing.Point(12, 22);
this.checkboxAllowShrink.Name = "checkboxAllowShrink";
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.";
@ -858,6 +939,7 @@ namespace Greenshot {
// tab_plugins
//
this.tab_plugins.Controls.Add(this.groupbox_plugins);
this.tab_plugins.LanguageKey = "settings_plugins";
this.tab_plugins.Location = new System.Drawing.Point(4, 22);
this.tab_plugins.Name = "tab_plugins";
this.tab_plugins.Size = new System.Drawing.Size(423, 320);
@ -873,6 +955,7 @@ namespace Greenshot {
this.groupbox_plugins.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.groupbox_plugins.Controls.Add(this.listview_plugins);
this.groupbox_plugins.Controls.Add(this.button_pluginconfigure);
this.groupbox_plugins.LanguageKey = null;
this.groupbox_plugins.Location = new System.Drawing.Point(0, 0);
this.groupbox_plugins.Name = "groupbox_plugins";
this.groupbox_plugins.Size = new System.Drawing.Size(423, 314);
@ -906,6 +989,86 @@ namespace Greenshot {
this.button_pluginconfigure.UseVisualStyleBackColor = true;
this.button_pluginconfigure.Click += new System.EventHandler(this.Button_pluginconfigureClick);
//
// tab_expert
//
this.tab_expert.Controls.Add(this.groupbox_expert);
this.tab_expert.LanguageKey = null;
this.tab_expert.Location = new System.Drawing.Point(4, 22);
this.tab_expert.Name = "tab_expert";
this.tab_expert.Size = new System.Drawing.Size(423, 320);
this.tab_expert.TabIndex = 5;
this.tab_expert.Text = "Expert";
this.tab_expert.UseVisualStyleBackColor = true;
//
// groupbox_expert
//
this.groupbox_expert.Controls.Add(this.checkbox_autoreducecolors);
this.groupbox_expert.Controls.Add(this.label_clipboardformats);
this.groupbox_expert.Controls.Add(this.checkbox_enableexpert);
this.groupbox_expert.Controls.Add(this.listView1);
this.groupbox_expert.LanguageKey = null;
this.groupbox_expert.Location = new System.Drawing.Point(5, 5);
this.groupbox_expert.Name = "groupbox_expert";
this.groupbox_expert.Size = new System.Drawing.Size(412, 311);
this.groupbox_expert.TabIndex = 17;
this.groupbox_expert.TabStop = false;
this.groupbox_expert.Text = "Expert settings";
//
// checkbox_autoreducecolors
//
this.checkbox_autoreducecolors.LanguageKey = "application_title";
this.checkbox_autoreducecolors.Location = new System.Drawing.Point(9, 143);
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.UseVisualStyleBackColor = true;
//
// label_clipboardformats
//
this.label_clipboardformats.AutoSize = true;
this.label_clipboardformats.LanguageKey = null;
this.label_clipboardformats.Location = new System.Drawing.Point(7, 45);
this.label_clipboardformats.Name = "label_clipboardformats";
this.label_clipboardformats.Size = new System.Drawing.Size(88, 13);
this.label_clipboardformats.TabIndex = 20;
this.label_clipboardformats.Text = "Clipboard formats";
//
// checkbox_enableexpert
//
this.checkbox_enableexpert.LanguageKey = null;
this.checkbox_enableexpert.Location = new System.Drawing.Point(6, 14);
this.checkbox_enableexpert.Name = "checkbox_enableexpert";
this.checkbox_enableexpert.PropertyName = null;
this.checkbox_enableexpert.Size = new System.Drawing.Size(394, 24);
this.checkbox_enableexpert.TabIndex = 19;
this.checkbox_enableexpert.Text = "I know what I am doing!";
this.checkbox_enableexpert.UseVisualStyleBackColor = true;
//
// listView1
//
this.listView1.Alignment = System.Windows.Forms.ListViewAlignment.Left;
this.listView1.AutoArrange = false;
this.listView1.CheckBoxes = true;
this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.columnHeader1});
this.listView1.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
this.listView1.LabelWrap = false;
this.listView1.Location = new System.Drawing.Point(109, 44);
this.listView1.Name = "listView1";
this.listView1.ShowGroups = false;
this.listView1.Size = new System.Drawing.Size(291, 82);
this.listView1.Sorting = System.Windows.Forms.SortOrder.Ascending;
this.listView1.TabIndex = 0;
this.listView1.UseCompatibleStateImageBehavior = false;
this.listView1.View = System.Windows.Forms.View.Details;
//
// columnHeader1
//
this.columnHeader1.Text = "Destination";
this.columnHeader1.Width = 290;
//
// SettingsForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
@ -915,6 +1078,7 @@ namespace Greenshot {
this.Controls.Add(this.settings_okay);
this.Controls.Add(this.settings_cancel);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.LanguageKey = "settings_title";
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "SettingsForm";
@ -947,80 +1111,91 @@ namespace Greenshot {
this.tab_plugins.ResumeLayout(false);
this.groupbox_plugins.ResumeLayout(false);
this.groupbox_plugins.PerformLayout();
this.tab_expert.ResumeLayout(false);
this.groupbox_expert.ResumeLayout(false);
this.groupbox_expert.PerformLayout();
this.ResumeLayout(false);
}
private System.Windows.Forms.ColumnHeader destination;
private System.Windows.Forms.CheckBox checkbox_picker;
private GreenshotPlugin.Controls.GreenshotCheckBox checkbox_picker;
private System.Windows.Forms.ListView destinationsListView;
private System.Windows.Forms.GroupBox groupbox_editor;
private System.Windows.Forms.CheckBox checkbox_editor_match_capture_size;
private GreenshotPlugin.Controls.GreenshotGroupBox groupbox_editor;
private GreenshotPlugin.Controls.GreenshotCheckBox checkbox_editor_match_capture_size;
private System.Windows.Forms.NumericUpDown numericUpDown_daysbetweencheck;
private System.Windows.Forms.GroupBox groupbox_network;
private System.Windows.Forms.CheckBox checkbox_usedefaultproxy;
private System.Windows.Forms.Label label_checkperiod;
private GreenshotPlugin.Controls.GreenshotGroupBox groupbox_network;
private GreenshotPlugin.Controls.GreenshotCheckBox checkbox_usedefaultproxy;
private GreenshotPlugin.Controls.GreenshotLabel label_checkperiod;
private GreenshotPlugin.Controls.HotkeyControl fullscreen_hotkeyControl;
private GreenshotPlugin.Controls.HotkeyControl window_hotkeyControl;
private GreenshotPlugin.Controls.HotkeyControl region_hotkeyControl;
private System.Windows.Forms.Label label_fullscreen_hotkey;
private System.Windows.Forms.Label label_window_hotkey;
private System.Windows.Forms.Label label_region_hotkey;
private GreenshotPlugin.Controls.GreenshotLabel label_fullscreen_hotkey;
private GreenshotPlugin.Controls.GreenshotLabel label_window_hotkey;
private GreenshotPlugin.Controls.GreenshotLabel label_region_hotkey;
private GreenshotPlugin.Controls.HotkeyControl ie_hotkeyControl;
private System.Windows.Forms.Label label_ie_hotkey;
private GreenshotPlugin.Controls.GreenshotLabel label_ie_hotkey;
private GreenshotPlugin.Controls.HotkeyControl lastregion_hotkeyControl;
private System.Windows.Forms.Label label_lastregion_hotkey;
private System.Windows.Forms.GroupBox groupbox_hotkeys;
private System.Windows.Forms.CheckBox checkboxPrintInverted;
private GreenshotPlugin.Controls.GreenshotLabel label_lastregion_hotkey;
private GreenshotPlugin.Controls.GreenshotGroupBox groupbox_hotkeys;
private GreenshotPlugin.Controls.GreenshotCheckBox checkboxPrintInverted;
private Greenshot.Controls.ColorButton colorButton_window_background;
private System.Windows.Forms.Label label_window_capture_mode;
private System.Windows.Forms.CheckBox checkbox_ie_capture;
private System.Windows.Forms.GroupBox groupbox_capture;
private System.Windows.Forms.GroupBox groupbox_windowscapture;
private System.Windows.Forms.GroupBox groupbox_iecapture;
private System.Windows.Forms.TabPage tab_capture;
private GreenshotPlugin.Controls.GreenshotLabel label_window_capture_mode;
private GreenshotPlugin.Controls.GreenshotCheckBox checkbox_ie_capture;
private GreenshotPlugin.Controls.GreenshotGroupBox groupbox_capture;
private GreenshotPlugin.Controls.GreenshotGroupBox groupbox_windowscapture;
private GreenshotPlugin.Controls.GreenshotGroupBox groupbox_iecapture;
private GreenshotPlugin.Controls.GreenshotTabPage tab_capture;
private System.Windows.Forms.ComboBox combobox_window_capture_mode;
private System.Windows.Forms.NumericUpDown numericUpDownWaitTime;
private System.Windows.Forms.Label label_waittime;
private System.Windows.Forms.CheckBox checkbox_capture_windows_interactive;
private System.Windows.Forms.CheckBox checkbox_capture_mousepointer;
private System.Windows.Forms.TabPage tab_printer;
private GreenshotPlugin.Controls.GreenshotLabel label_waittime;
private GreenshotPlugin.Controls.GreenshotCheckBox checkbox_capture_windows_interactive;
private GreenshotPlugin.Controls.GreenshotCheckBox checkbox_capture_mousepointer;
private GreenshotPlugin.Controls.GreenshotTabPage tab_printer;
private System.Windows.Forms.ListView listview_plugins;
private System.Windows.Forms.Button button_pluginconfigure;
private System.Windows.Forms.GroupBox groupbox_plugins;
private System.Windows.Forms.TabPage tab_plugins;
private System.Windows.Forms.CheckBox checkboxTimestamp;
private GreenshotPlugin.Controls.GreenshotGroupBox groupbox_plugins;
private GreenshotPlugin.Controls.GreenshotTabPage tab_plugins;
private GreenshotPlugin.Controls.GreenshotCheckBox checkboxTimestamp;
private System.Windows.Forms.Button btnPatternHelp;
private System.Windows.Forms.CheckBox checkbox_copypathtoclipboard;
private System.Windows.Forms.CheckBox checkboxAllowShrink;
private System.Windows.Forms.CheckBox checkboxAllowEnlarge;
private System.Windows.Forms.CheckBox checkboxAllowRotate;
private System.Windows.Forms.CheckBox checkboxAllowCenter;
private System.Windows.Forms.CheckBox checkbox_alwaysshowprintoptionsdialog;
private System.Windows.Forms.GroupBox groupbox_printoptions;
private System.Windows.Forms.TabPage tab_output;
private System.Windows.Forms.TabPage tab_general;
private GreenshotPlugin.Controls.GreenshotCheckBox checkbox_copypathtoclipboard;
private GreenshotPlugin.Controls.GreenshotCheckBox checkboxAllowShrink;
private GreenshotPlugin.Controls.GreenshotCheckBox checkboxAllowEnlarge;
private GreenshotPlugin.Controls.GreenshotCheckBox checkboxAllowRotate;
private GreenshotPlugin.Controls.GreenshotCheckBox checkboxAllowCenter;
private GreenshotPlugin.Controls.GreenshotCheckBox checkbox_alwaysshowprintoptionsdialog;
private GreenshotPlugin.Controls.GreenshotGroupBox groupbox_printoptions;
private GreenshotPlugin.Controls.GreenshotTabPage tab_output;
private GreenshotPlugin.Controls.GreenshotTabPage tab_general;
private System.Windows.Forms.TabControl tabcontrol;
private System.Windows.Forms.CheckBox checkbox_autostartshortcut;
private System.Windows.Forms.GroupBox groupbox_destination;
private System.Windows.Forms.CheckBox checkbox_alwaysshowjpegqualitydialog;
private GreenshotPlugin.Controls.GreenshotCheckBox checkbox_autostartshortcut;
private GreenshotPlugin.Controls.GreenshotGroupBox groupbox_destination;
private GreenshotPlugin.Controls.GreenshotCheckBox checkbox_alwaysshowjpegqualitydialog;
private System.Windows.Forms.TextBox textBoxJpegQuality;
private System.Windows.Forms.Label label_jpegquality;
private GreenshotPlugin.Controls.GreenshotLabel label_jpegquality;
private System.Windows.Forms.TrackBar trackBarJpegQuality;
private System.Windows.Forms.GroupBox groupbox_jpegsettings;
private System.Windows.Forms.GroupBox groupbox_applicationsettings;
private System.Windows.Forms.GroupBox groupbox_preferredfilesettings;
private System.Windows.Forms.CheckBox checkbox_playsound;
private System.Windows.Forms.Label label_primaryimageformat;
private GreenshotPlugin.Controls.GreenshotGroupBox groupbox_jpegsettings;
private GreenshotPlugin.Controls.GreenshotGroupBox groupbox_applicationsettings;
private GreenshotPlugin.Controls.GreenshotGroupBox groupbox_preferredfilesettings;
private GreenshotPlugin.Controls.GreenshotCheckBox checkbox_playsound;
private GreenshotPlugin.Controls.GreenshotLabel label_primaryimageformat;
private System.Windows.Forms.ComboBox combobox_primaryimageformat;
private System.Windows.Forms.ComboBox combobox_language;
private System.Windows.Forms.Label label_language;
private System.Windows.Forms.TextBox textbox_screenshotname;
private System.Windows.Forms.Label label_screenshotname;
private GreenshotPlugin.Controls.GreenshotLabel label_language;
private GreenshotPlugin.Controls.GreenshotTextBox textbox_screenshotname;
private GreenshotPlugin.Controls.GreenshotLabel label_screenshotname;
private System.Windows.Forms.Button browse;
private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1;
private System.Windows.Forms.Button settings_cancel;
private System.Windows.Forms.Button settings_okay;
private GreenshotPlugin.Controls.GreenshotButton settings_cancel;
private GreenshotPlugin.Controls.GreenshotButton settings_okay;
private System.Windows.Forms.TextBox textbox_storagelocation;
private System.Windows.Forms.Label label_storagelocation;
private System.Windows.Forms.TabPage tab_destinations;
private GreenshotPlugin.Controls.GreenshotLabel label_storagelocation;
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;
}
}

View file

@ -33,36 +33,40 @@ using GreenshotPlugin.UnmanagedHelpers;
using Greenshot.Plugin;
using Greenshot.IniFile;
using System.Text.RegularExpressions;
using Greenshot.Controls;
namespace Greenshot {
/// <summary>
/// Description of SettingsForm.
/// </summary>
public partial class SettingsForm : Form {
public partial class SettingsForm : GreenshotForm {
private static log4net.ILog LOG = log4net.LogManager.GetLogger(typeof(SettingsForm));
private static CoreConfiguration coreConfiguration = IniConfig.GetIniSection<CoreConfiguration>();
private static EditorConfiguration editorConfiguration = IniConfig.GetIniSection<EditorConfiguration>();
private ILanguage lang;
private ToolTip toolTip;
private ToolTip toolTip = new ToolTip();
public SettingsForm() {
public SettingsForm() : base() {
// language is in the base class
language = Language.GetInstance();
// Force re-loading of languages
language.Load();
InitializeComponent();
}
protected override void OnLoad(EventArgs e) {
base.OnLoad(e);
this.Icon = GreenshotPlugin.Core.GreenshotResources.getGreenshotIcon();
// Fix for Vista/XP differences
if(Environment.OSVersion.Version.Major >= 6) {
if (Environment.OSVersion.Version.Major >= 6) {
this.trackBarJpegQuality.BackColor = System.Drawing.SystemColors.Window;
} else {
this.trackBarJpegQuality.BackColor = System.Drawing.SystemColors.Control;
}
lang = Language.GetInstance();
// Force re-loading of languages
lang.Load();
toolTip = new ToolTip();
AddPluginTab();
this.combobox_primaryimageformat.Items.AddRange(new object[]{OutputFormat.bmp, OutputFormat.gif, OutputFormat.jpg, OutputFormat.png, OutputFormat.tiff});
DisplayPluginTab();
this.combobox_primaryimageformat.Items.AddRange(new object[] { OutputFormat.bmp, OutputFormat.gif, OutputFormat.jpg, OutputFormat.png, OutputFormat.tiff });
UpdateUI();
DisplaySettings();
CheckSettings();
@ -89,10 +93,10 @@ namespace Greenshot {
comboBox.Items.Clear();
string enumTypeName = typeof(ET).Name;
foreach(ET enumValue in availableValues) {
string translation = lang.GetString(enumTypeName + "." + enumValue.ToString());
string translation = language.GetString(enumTypeName + "." + enumValue.ToString());
comboBox.Items.Add(translation);
}
comboBox.SelectedItem = lang.GetString(enumTypeName + "." + selectedValue.ToString());
comboBox.SelectedItem = language.GetString(enumTypeName + "." + selectedValue.ToString());
}
@ -107,7 +111,7 @@ namespace Greenshot {
ET[] availableValues = (ET[])Enum.GetValues(typeof(ET));
ET returnValue = availableValues[0];
foreach(ET enumValue in availableValues) {
string translation = lang.GetString(enumTypeName + "." + enumValue.ToString());
string translation = language.GetString(enumTypeName + "." + enumValue.ToString());
if (translation.Equals(selectedValue)) {
returnValue = enumValue;
break;
@ -130,9 +134,10 @@ namespace Greenshot {
PopulateComboBox<WindowCaptureMode>(combobox_window_capture_mode, availableModes, selectedWindowCaptureMode);
}
private void AddPluginTab() {
if (PluginHelper.instance.HasPlugins()) {
this.tabcontrol.TabPages.Add(tab_plugins);
private void DisplayPluginTab() {
if (!PluginHelper.instance.HasPlugins()) {
this.tabcontrol.TabPages.Remove(tab_plugins);
} else {
// Draw the Plugin listview
listview_plugins.BeginUpdate();
listview_plugins.Items.Clear();
@ -158,75 +163,15 @@ namespace Greenshot {
button_pluginconfigure.Enabled = false;
}
}
/// <summary>
/// Update the UI to reflect the language and other text settings
/// </summary>
private void UpdateUI() {
this.Text = lang.GetString(LangKey.settings_title);
this.tab_general.Text = lang.GetString(LangKey.settings_general);
this.tab_output.Text = lang.GetString(LangKey.settings_output);
this.tab_printer.Text = lang.GetString(LangKey.settings_printer);
this.tab_capture.Text = lang.GetString(LangKey.settings_capture);
this.tab_plugins.Text = lang.GetString(LangKey.settings_plugins);
this.groupbox_network.Text = lang.GetString(LangKey.settings_network);
this.label_checkperiod.Text = lang.GetString(LangKey.settings_checkperiod);
this.checkbox_usedefaultproxy.Text = lang.GetString(LangKey.settings_usedefaultproxy);
this.groupbox_iecapture.Text = lang.GetString(LangKey.settings_iecapture);
this.checkbox_ie_capture.Text = lang.GetString(LangKey.settings_iecapture);
this.groupbox_editor.Text = lang.GetString(LangKey.settings_editor);
this.checkbox_editor_match_capture_size.Text = lang.GetString(LangKey.editor_match_capture_size);
this.groupbox_windowscapture.Text = lang.GetString(LangKey.settings_windowscapture);
this.label_window_capture_mode.Text = lang.GetString(LangKey.settings_window_capture_mode);
this.groupbox_capture.Text = lang.GetString(LangKey.settings_capture);
this.checkbox_capture_mousepointer.Text = lang.GetString(LangKey.settings_capture_mousepointer);
this.checkbox_capture_windows_interactive.Text = lang.GetString(LangKey.settings_capture_windows_interactive);
this.label_waittime.Text = lang.GetString(LangKey.settings_waittime);
this.groupbox_applicationsettings.Text = lang.GetString(LangKey.settings_applicationsettings);
this.label_language.Text = lang.GetString(LangKey.settings_language);
toolTip.SetToolTip(label_language, lang.GetString(LangKey.settings_tooltip_language));
this.checkbox_autostartshortcut.Text = lang.GetString(LangKey.settings_autostartshortcut);
this.groupbox_destination.Text = lang.GetString(LangKey.settings_destination);
this.tab_destinations.Text = lang.GetString(LangKey.settings_destination);
this.groupbox_preferredfilesettings.Text = lang.GetString(LangKey.settings_preferredfilesettings);
this.label_storagelocation.Text = lang.GetString(LangKey.settings_storagelocation);
toolTip.SetToolTip(label_storagelocation, lang.GetString(LangKey.settings_tooltip_storagelocation));
this.label_screenshotname.Text = lang.GetString(LangKey.settings_filenamepattern);
toolTip.SetToolTip(label_screenshotname, lang.GetString(LangKey.settings_tooltip_filenamepattern));
this.label_primaryimageformat.Text = lang.GetString(LangKey.settings_primaryimageformat);
this.checkbox_copypathtoclipboard.Text = lang.GetString(LangKey.settings_copypathtoclipboard);
toolTip.SetToolTip(label_primaryimageformat, lang.GetString(LangKey.settings_tooltip_primaryimageformat));
this.groupbox_jpegsettings.Text = lang.GetString(LangKey.settings_jpegsettings);
this.label_jpegquality.Text = lang.GetString(LangKey.settings_jpegquality);
this.checkbox_alwaysshowjpegqualitydialog.Text = lang.GetString(LangKey.settings_alwaysshowjpegqualitydialog);
this.checkbox_playsound.Text = lang.GetString(LangKey.settings_playsound);
this.groupbox_printoptions.Text = lang.GetString(LangKey.settings_printoptions);
this.checkboxAllowCenter.Text = lang.GetString(LangKey.printoptions_allowcenter);
this.checkboxAllowEnlarge.Text = lang.GetString(LangKey.printoptions_allowenlarge);
this.checkboxAllowRotate.Text = lang.GetString(LangKey.printoptions_allowrotate);
this.checkboxAllowShrink.Text = lang.GetString(LangKey.printoptions_allowshrink);
this.checkboxTimestamp.Text = lang.GetString(LangKey.printoptions_timestamp);
this.checkboxPrintInverted.Text = lang.GetString(LangKey.printoptions_inverted);
this.checkbox_alwaysshowprintoptionsdialog.Text = lang.GetString(LangKey.settings_alwaysshowprintoptionsdialog);
this.groupbox_hotkeys.Text = lang.GetString(LangKey.hotkeys);
this.label_fullscreen_hotkey.Text = lang.GetString(LangKey.contextmenu_capturefullscreen);
this.label_ie_hotkey.Text = lang.GetString(LangKey.contextmenu_captureie);
this.label_lastregion_hotkey.Text = lang.GetString(LangKey.contextmenu_capturelastregion);
this.label_region_hotkey.Text = lang.GetString(LangKey.contextmenu_capturearea);
this.label_window_hotkey.Text = lang.GetString(LangKey.contextmenu_capturewindow);
toolTip.SetToolTip(label_language, language.GetString(LangKey.settings_tooltip_language));
toolTip.SetToolTip(label_storagelocation, language.GetString(LangKey.settings_tooltip_storagelocation));
toolTip.SetToolTip(label_screenshotname, language.GetString(LangKey.settings_tooltip_filenamepattern));
toolTip.SetToolTip(label_primaryimageformat, language.GetString(LangKey.settings_tooltip_primaryimageformat));
// Removing, otherwise we keep getting the event multiple times!
this.combobox_language.SelectedIndexChanged -= new System.EventHandler(this.Combobox_languageSelectedIndexChanged);
@ -234,16 +179,16 @@ namespace Greenshot {
// Initialize the Language ComboBox
this.combobox_language.DisplayMember = "Description";
this.combobox_language.ValueMember = "Ietf";
if (lang.CurrentLanguage != null) {
this.combobox_language.SelectedValue = lang.CurrentLanguage;
if (language.CurrentLanguage != null) {
this.combobox_language.SelectedValue = language.CurrentLanguage;
}
// Set datasource last to prevent problems
// See: http://www.codeproject.com/KB/database/scomlistcontrolbinding.aspx?fid=111644
this.combobox_language.DataSource = lang.SupportedLanguages;
this.combobox_language.DataSource = language.SupportedLanguages;
// Delaying the SelectedIndexChanged events untill all is initiated
this.combobox_language.SelectedIndexChanged += new System.EventHandler(this.Combobox_languageSelectedIndexChanged);
UpdateDestinations();
UpdateDestinationDescriptions();
}
// Check the settings and somehow visibly mark when something is incorrect
@ -258,13 +203,19 @@ namespace Greenshot {
return settingsOk;
}
private void UpdateDestinations() {
/// <summary>
/// Show all destination descriptions in the current language
/// </summary>
private void UpdateDestinationDescriptions() {
foreach (ListViewItem item in destinationsListView.Items) {
IDestination destination = item.Tag as IDestination;
item.Text = destination.Description;
}
}
/// <summary>
/// Build the view with all the destinations
/// </summary>
private void DisplayDestinations() {
checkbox_picker.Checked = false;
@ -303,50 +254,21 @@ namespace Greenshot {
}
private void DisplaySettings() {
region_hotkeyControl.SetHotkey(coreConfiguration.RegionHotkey);
fullscreen_hotkeyControl.SetHotkey(coreConfiguration.FullscreenHotkey);
window_hotkeyControl.SetHotkey(coreConfiguration.WindowHotkey);
lastregion_hotkeyControl.SetHotkey(coreConfiguration.LastregionHotkey);
ie_hotkeyControl.SetHotkey(coreConfiguration.IEHotkey);
colorButton_window_background.SelectedColor = coreConfiguration.DWMBackgroundColor;
checkbox_ie_capture.Checked = coreConfiguration.IECapture;
if (lang.CurrentLanguage != null) {
combobox_language.SelectedValue = lang.CurrentLanguage;
if (language.CurrentLanguage != null) {
combobox_language.SelectedValue = language.CurrentLanguage;
}
textbox_storagelocation.Text = FilenameHelper.FillVariables(coreConfiguration.OutputFilePath, false);
textbox_screenshotname.Text = coreConfiguration.OutputFileFilenamePattern;
combobox_primaryimageformat.SelectedItem = coreConfiguration.OutputFileFormat;
SetWindowCaptureMode(coreConfiguration.WindowCaptureMode);
checkbox_copypathtoclipboard.Checked = coreConfiguration.OutputFileCopyPathToClipboard;
trackBarJpegQuality.Value = coreConfiguration.OutputFileJpegQuality;
textBoxJpegQuality.Text = coreConfiguration.OutputFileJpegQuality+"%";
checkbox_alwaysshowjpegqualitydialog.Checked = coreConfiguration.OutputFilePromptQuality;
checkbox_playsound.Checked = coreConfiguration.PlayCameraSound;
DisplayDestinations();
// checkbox_clipboard.Checked = coreConfiguration.OutputDestinations.Contains("Clipboard");
// checkbox_file.Checked = coreConfiguration.OutputDestinations.Contains("File");
// checkbox_fileas.Checked = coreConfiguration.OutputDestinations.Contains("FileWithDialog");
// checkbox_printer.Checked = coreConfiguration.OutputDestinations.Contains("Printer");
// checkbox_editor.Checked = coreConfiguration.OutputDestinations.Contains("Editor");
// checkbox_email.Checked = coreConfiguration.OutputDestinations.Contains("EMail");
checkboxPrintInverted.Checked = coreConfiguration.OutputPrintInverted;
checkboxAllowCenter.Checked = coreConfiguration.OutputPrintCenter;
checkboxAllowEnlarge.Checked = coreConfiguration.OutputPrintAllowEnlarge;
checkboxAllowRotate.Checked = coreConfiguration.OutputPrintAllowRotate;
checkboxAllowShrink.Checked = coreConfiguration.OutputPrintAllowShrink;
checkboxTimestamp.Checked = coreConfiguration.OutputPrintFooter;
checkbox_alwaysshowprintoptionsdialog.Checked = coreConfiguration.OutputPrintPromptOptions;
checkbox_capture_mousepointer.Checked = coreConfiguration.CaptureMousepointer;
checkbox_capture_windows_interactive.Checked = coreConfiguration.CaptureWindowsInteractive;
checkbox_editor_match_capture_size.Checked = editorConfiguration.MatchSizeToCapture;
numericUpDownWaitTime.Value = coreConfiguration.CaptureDelay >=0?coreConfiguration.CaptureDelay:0;
// If the run for all is set we disable and set the checkbox
@ -359,7 +281,6 @@ namespace Greenshot {
checkbox_autostartshortcut.Checked = StartupHelper.checkRunUser();
}
checkbox_usedefaultproxy.Checked = coreConfiguration.UseProxy;
numericUpDown_daysbetweencheck.Value = coreConfiguration.UpdateCheckInterval;
CheckDestinationSettings();
}
@ -373,7 +294,6 @@ namespace Greenshot {
}
coreConfiguration.WindowCaptureMode = GetSelected<WindowCaptureMode>(combobox_window_capture_mode);
coreConfiguration.OutputFileFilenamePattern = textbox_screenshotname.Text;
if (!FilenameHelper.FillVariables(coreConfiguration.OutputFilePath, false).Equals(textbox_storagelocation.Text)) {
coreConfiguration.OutputFilePath = textbox_storagelocation.Text;
}
@ -383,10 +303,7 @@ namespace Greenshot {
coreConfiguration.OutputFileFormat = OutputFormat.png;
}
coreConfiguration.OutputFileCopyPathToClipboard = checkbox_copypathtoclipboard.Checked;
coreConfiguration.OutputFileJpegQuality = trackBarJpegQuality.Value;
coreConfiguration.OutputFilePromptQuality = checkbox_alwaysshowjpegqualitydialog.Checked;
coreConfiguration.PlayCameraSound = checkbox_playsound.Checked;
List<string> destinations = new List<string>();
if (checkbox_picker.Checked) {
@ -401,31 +318,9 @@ namespace Greenshot {
}
}
coreConfiguration.OutputDestinations = destinations;
coreConfiguration.OutputPrintInverted = checkboxPrintInverted.Checked;
coreConfiguration.OutputPrintCenter = checkboxAllowCenter.Checked;
coreConfiguration.OutputPrintAllowEnlarge = checkboxAllowEnlarge.Checked;
coreConfiguration.OutputPrintAllowRotate = checkboxAllowRotate.Checked;
coreConfiguration.OutputPrintAllowShrink = checkboxAllowShrink.Checked;
coreConfiguration.OutputPrintFooter = checkboxTimestamp.Checked;
coreConfiguration.OutputPrintPromptOptions = checkbox_alwaysshowprintoptionsdialog.Checked;
coreConfiguration.CaptureMousepointer = checkbox_capture_mousepointer.Checked;
coreConfiguration.CaptureWindowsInteractive = checkbox_capture_windows_interactive.Checked;
coreConfiguration.CaptureDelay = (int)numericUpDownWaitTime.Value;
coreConfiguration.DWMBackgroundColor = colorButton_window_background.SelectedColor;
coreConfiguration.RegionHotkey = region_hotkeyControl.ToString();
coreConfiguration.FullscreenHotkey = fullscreen_hotkeyControl.ToString();
coreConfiguration.WindowHotkey = window_hotkeyControl.ToString();
coreConfiguration.LastregionHotkey = lastregion_hotkeyControl.ToString();
coreConfiguration.IEHotkey = ie_hotkeyControl.ToString();
coreConfiguration.IECapture = checkbox_ie_capture.Checked;
coreConfiguration.UpdateCheckInterval = (int)numericUpDown_daysbetweencheck.Value;
coreConfiguration.UseProxy = checkbox_usedefaultproxy.Checked;
editorConfiguration.MatchSizeToCapture = checkbox_editor_match_capture_size.Checked;
IniConfig.Save();
@ -452,7 +347,7 @@ namespace Greenshot {
void Settings_cancelClick(object sender, System.EventArgs e) {
DialogResult = DialogResult.Cancel;
lang.FreeResources();
language.FreeResources();
}
void Settings_okayClick(object sender, System.EventArgs e) {
@ -462,7 +357,7 @@ namespace Greenshot {
} else {
this.tabcontrol.SelectTab(this.tab_output);
}
lang.FreeResources();
language.FreeResources();
}
void BrowseClick(object sender, System.EventArgs e) {
@ -483,10 +378,10 @@ namespace Greenshot {
void BtnPatternHelpClick(object sender, EventArgs e) {
string filenamepatternText = lang.GetString(LangKey.settings_message_filenamepattern);
string filenamepatternText = language.GetString(LangKey.settings_message_filenamepattern);
// Convert %NUM% to ${NUM} for old language files!
filenamepatternText = Regex.Replace(filenamepatternText, "%([a-zA-Z_0-9]+)%", @"${$1}");
MessageBox.Show(filenamepatternText, lang.GetString(LangKey.settings_filenamepattern));
MessageBox.Show(filenamepatternText, language.GetString(LangKey.settings_filenamepattern));
}
void Listview_pluginsSelectedIndexChanged(object sender, EventArgs e) {
@ -508,6 +403,9 @@ namespace Greenshot {
// Reflect language changes to the settings form
UpdateUI();
// Reflect Language changes form
ApplyLanguage();
// Update the email & windows capture mode
//SetEmailFormat(selectedEmailFormat);
SetWindowCaptureMode(selectedWindowCaptureMode);

View file

@ -0,0 +1,33 @@
/*
* Greenshot - a free and open source screenshot tool
* Copyright (C) 2007-2012 Thomas Braun, Jens Klingen, Robin Krom
*
* For more information see: http://getgreenshot.org/
* The Greenshot project is hosted on Sourceforge: http://sourceforge.net/projects/greenshot/
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 1 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
using System;
using System.ComponentModel;
using System.Windows.Forms;
namespace GreenshotPlugin.Controls {
public class GreenshotButton : Button, IGreenshotLanguageBindable {
[Category("Greenshot"), Description("Specifies key of the language file to use when displaying the text.")]
public string LanguageKey {
get;
set;
}
}
}

View file

@ -0,0 +1,53 @@
/*
* Greenshot - a free and open source screenshot tool
* Copyright (C) 2007-2012 Thomas Braun, Jens Klingen, Robin Krom
*
* For more information see: http://getgreenshot.org/
* The Greenshot project is hosted on Sourceforge: http://sourceforge.net/projects/greenshot/
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 1 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
using System;
using System.ComponentModel;
using System.Windows.Forms;
namespace GreenshotPlugin.Controls {
/// <summary>
/// Description of GreenshotCheckbox.
/// </summary>
public class GreenshotCheckBox : CheckBox, IGreenshotLanguageBindable, IGreenshotConfigBindable {
[Category("Greenshot"), Description("Specifies key of the language file to use when displaying the text.")]
public string LanguageKey {
get;
set;
}
private string sectionName = "Core";
[Category("Greenshot"), DefaultValue("Core"), Description("Specifies the Ini-Section to map this control with.")]
public string SectionName {
get {
return sectionName;
}
set {
sectionName = value;
}
}
[Category("Greenshot"), Description("Specifies the property name to map the configuration.")]
public string PropertyName {
get;
set;
}
}
}

View file

@ -0,0 +1,140 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Reflection;
using GreenshotPlugin.Core;
using Greenshot.IniFile;
using System.ComponentModel;
namespace GreenshotPlugin.Controls {
public class GreenshotForm : Form , IGreenshotLanguageBindable {
private static log4net.ILog LOG = log4net.LogManager.GetLogger(typeof(GreenshotForm));
protected ILanguage language;
[Category("Greenshot"), Description("Specifies key of the language file to use when displaying the text.")]
public string LanguageKey {
get;
set;
}
public GreenshotForm() : base() {
}
protected override void OnLoad(EventArgs e) {
if (!this.DesignMode) {
ApplyLanguage();
FillFields();
}
base.OnLoad(e);
}
/// <summary>
/// check if the form was closed with an OK, if so store the values in the GreenshotControls
/// </summary>
/// <param name="e"></param>
protected override void OnClosed(EventArgs e) {
if (DialogResult == DialogResult.OK) {
LOG.Info("Form was closed with OK: storing field values.");
StoreFields();
}
base.OnClosed(e);
}
/// <summary>
/// Apply all the language settings to the "Greenshot" Controls on this form
/// </summary>
protected void ApplyLanguage() {
if (language == null) {
throw new ArgumentNullException("Language not set!!");
}
// Set title of the form
if (!string.IsNullOrEmpty(LanguageKey)) {
this.Text = language.GetString(LanguageKey);
}
foreach (FieldInfo field in this.GetType().GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance)) {
if (!field.FieldType.IsSubclassOf(typeof(Control))) {
continue;
}
Object controlObject = field.GetValue(this);
if (typeof(IGreenshotLanguageBindable).IsAssignableFrom(field.FieldType)) {
IGreenshotLanguageBindable languageBindable = controlObject as IGreenshotLanguageBindable;
if (!string.IsNullOrEmpty(languageBindable.LanguageKey)) {
Control control = controlObject as Control;
control.Text = language.GetString(languageBindable.LanguageKey);
} else {
LOG.WarnFormat("Greenshot control without language key: {0}", field.Name);
}
}
}
}
/// <summary>
/// Fill all GreenshotControls with the values from the configuration
/// </summary>
protected void FillFields() {
foreach (FieldInfo field in this.GetType().GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance)) {
if (!field.FieldType.IsSubclassOf(typeof(Control))) {
continue;
}
Object controlObject = field.GetValue(this);
if (typeof(IGreenshotConfigBindable).IsAssignableFrom(field.FieldType)) {
IGreenshotConfigBindable configBindable = controlObject as IGreenshotConfigBindable;
if (!string.IsNullOrEmpty(configBindable.SectionName) && !string.IsNullOrEmpty(configBindable.PropertyName)) {
IniSection section = IniConfig.GetIniSection(configBindable.SectionName);
if (section != null) {
if (typeof(CheckBox).IsAssignableFrom(field.FieldType)) {
CheckBox checkBox = controlObject as CheckBox;
checkBox.Checked = (bool)section.Values[configBindable.PropertyName].Value;
} else if (typeof(TextBox).IsAssignableFrom(field.FieldType)) {
TextBox textBox = controlObject as TextBox;
textBox.Text = (string)section.Values[configBindable.PropertyName].Value;
}
}
}
}
}
}
/// <summary>
/// Store all GreenshotControl values to the configuration
/// </summary>
protected void StoreFields() {
foreach (FieldInfo field in this.GetType().GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance)) {
if (!field.FieldType.IsSubclassOf(typeof(Control))) {
continue;
}
if (!typeof(IGreenshotConfigBindable).IsAssignableFrom(field.FieldType)) {
continue;
}
Object controlObject = field.GetValue(this);
IGreenshotConfigBindable configBindable = controlObject as IGreenshotConfigBindable;
bool iniDirty = false;
if (!string.IsNullOrEmpty(configBindable.SectionName) && !string.IsNullOrEmpty(configBindable.PropertyName)) {
IniSection section = IniConfig.GetIniSection(configBindable.SectionName);
if (section != null) {
if (typeof(CheckBox).IsAssignableFrom(field.FieldType)) {
CheckBox checkBox = controlObject as CheckBox;
section.Values[configBindable.PropertyName].Value = checkBox.Checked;
iniDirty = true;
} else if (typeof(HotkeyControl).IsAssignableFrom(field.FieldType)) {
HotkeyControl hotkeyControl = controlObject as HotkeyControl;
section.Values[configBindable.PropertyName].Value = hotkeyControl.ToString();
iniDirty = true;
} else if (typeof(TextBox).IsAssignableFrom(field.FieldType)) {
TextBox textBox = controlObject as TextBox;
section.Values[configBindable.PropertyName].Value = textBox.Text;
iniDirty = true;
}
}
}
if (iniDirty) {
IniConfig.Save();
}
}
}
}
}

View file

@ -0,0 +1,33 @@
/*
* Greenshot - a free and open source screenshot tool
* Copyright (C) 2007-2012 Thomas Braun, Jens Klingen, Robin Krom
*
* For more information see: http://getgreenshot.org/
* The Greenshot project is hosted on Sourceforge: http://sourceforge.net/projects/greenshot/
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 1 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
using System;
using System.Windows.Forms;
using System.ComponentModel;
namespace GreenshotPlugin.Controls {
public class GreenshotGroupBox : GroupBox , IGreenshotLanguageBindable {
[Category("Greenshot"), Description("Specifies key of the language file to use when displaying the text.")]
public string LanguageKey {
get;
set;
}
}
}

View file

@ -0,0 +1,33 @@
/*
* Greenshot - a free and open source screenshot tool
* Copyright (C) 2007-2012 Thomas Braun, Jens Klingen, Robin Krom
*
* For more information see: http://getgreenshot.org/
* The Greenshot project is hosted on Sourceforge: http://sourceforge.net/projects/greenshot/
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 1 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
using System;
using System.Windows.Forms;
using System.ComponentModel;
namespace GreenshotPlugin.Controls {
public class GreenshotLabel : Label, IGreenshotLanguageBindable {
[Category("Greenshot"), Description("Specifies key of the language file to use when displaying the text.")]
public string LanguageKey {
get;
set;
}
}
}

View file

@ -0,0 +1,33 @@
/*
* Greenshot - a free and open source screenshot tool
* Copyright (C) 2007-2012 Thomas Braun, Jens Klingen, Robin Krom
*
* For more information see: http://getgreenshot.org/
* The Greenshot project is hosted on Sourceforge: http://sourceforge.net/projects/greenshot/
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 1 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
using System;
using System.Windows.Forms;
using System.ComponentModel;
namespace GreenshotPlugin.Controls {
public class GreenshotTabPage : TabPage, IGreenshotLanguageBindable {
[Category("Greenshot"), Description("Specifies key of the language file to use when displaying the text.")]
public string LanguageKey {
get;
set;
}
}
}

View file

@ -0,0 +1,44 @@
/*
* Greenshot - a free and open source screenshot tool
* Copyright (C) 2007-2012 Thomas Braun, Jens Klingen, Robin Krom
*
* For more information see: http://getgreenshot.org/
* The Greenshot project is hosted on Sourceforge: http://sourceforge.net/projects/greenshot/
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 1 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
using System;
using System.ComponentModel;
using System.Windows.Forms;
namespace GreenshotPlugin.Controls {
public class GreenshotTextBox : TextBox, IGreenshotConfigBindable {
private string sectionName = "Core";
[Category("Greenshot"), DefaultValue("Core"), Description("Specifies the Ini-Section to map this control with.")]
public string SectionName {
get {
return sectionName;
}
set {
sectionName = value;
}
}
[Category("Greenshot"), Description("Specifies the property name to map the configuration.")]
public string PropertyName {
get;
set;
}
}
}

View file

@ -33,7 +33,7 @@ namespace GreenshotPlugin.Controls {
/// See: http://www.codeproject.com/KB/buttons/hotkeycontrol.aspx
/// But is modified to fit in Greenshot, and have localized support
/// </summary>
public class HotkeyControl : TextBox {
public class HotkeyControl : GreenshotTextBox {
private static log4net.ILog LOG = log4net.LogManager.GetLogger(typeof(HotkeyControl));
// Holds the list of hotkeys

View file

@ -0,0 +1,41 @@
/*
* Greenshot - a free and open source screenshot tool
* Copyright (C) 2007-2012 Thomas Braun, Jens Klingen, Robin Krom
*
* For more information see: http://getgreenshot.org/
* The Greenshot project is hosted on Sourceforge: http://sourceforge.net/projects/greenshot/
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 1 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
using System;
namespace GreenshotPlugin.Controls {
public interface IGreenshotConfigBindable {
/// <summary>
/// The class where the property-value is stored
/// </summary>
string SectionName {
get;
set;
}
/// <summary>
/// Path to the property value which will be mapped with this control
/// </summary>
string PropertyName {
get;
set;
}
}
}

View file

@ -0,0 +1,37 @@
/*
* Greenshot - a free and open source screenshot tool
* Copyright (C) 2007-2012 Thomas Braun, Jens Klingen, Robin Krom
*
* For more information see: http://getgreenshot.org/
* The Greenshot project is hosted on Sourceforge: http://sourceforge.net/projects/greenshot/
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 1 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
using System;
namespace GreenshotPlugin.Controls {
/// <summary>
/// This interface describes the designer fields that need to be implemented for Greenshot controls
/// </summary>
public interface IGreenshotLanguageBindable {
/// <summary>
/// Language key to use to fill the Text value with
/// </summary>
string LanguageKey {
get;
set;
}
}
}

View file

@ -175,11 +175,20 @@
<Compile Include="..\GreenshotInterop\OfficeInterop\WordInterop.cs">
<Link>Interop\WordInterop.cs</Link>
</Compile>
<Compile Include="Controls\GreenshotButton.cs" />
<Compile Include="Controls\GreenshotCheckBox.cs" />
<Compile Include="Controls\GreenshotForm.cs" />
<Compile Include="Controls\GreenshotGroupBox.cs" />
<Compile Include="Controls\GreenshotLabel.cs" />
<Compile Include="Controls\GreenshotTabPage.cs" />
<Compile Include="Controls\GreenshotTextBox.cs" />
<Compile Include="Controls\HotkeyControl.cs" />
<Compile Include="Controls\BackgroundForm.cs" />
<Compile Include="Controls\BackgroundForm.Designer.cs">
<DependentUpon>BackgroundForm.cs</DependentUpon>
</Compile>
<Compile Include="Controls\IGreenshotConfigBindable.cs" />
<Compile Include="Controls\IGreenshotLanguageBindable.cs" />
<Compile Include="Core\AbstractDestination.cs" />
<Compile Include="Core\AbstractProcessor.cs" />
<Compile Include="Core\AccessibleHelper.cs" />