From 9e18e19eecbbe86e368908e73c3ad8feaab567ee Mon Sep 17 00:00:00 2001 From: Alexander Date: Sun, 19 Jan 2020 14:52:38 +0200 Subject: [PATCH] Added able to auto-clear clipboard on app close --- Crypto Notepad/App.config | 3 +++ Crypto Notepad/Forms/MainForm.cs | 12 ++++++++++++ Crypto Notepad/Forms/SettingsForm.cs | 5 +++++ Crypto Notepad/Properties/Settings.Designer.cs | 14 ++++++++++++++ Crypto Notepad/Properties/Settings.settings | 3 +++ 5 files changed, 37 insertions(+) diff --git a/Crypto Notepad/App.config b/Crypto Notepad/App.config index 6e5d422..62c5391 100644 --- a/Crypto Notepad/App.config +++ b/Crypto Notepad/App.config @@ -186,6 +186,9 @@ False + + False + True diff --git a/Crypto Notepad/Forms/MainForm.cs b/Crypto Notepad/Forms/MainForm.cs index 5226c30..267d993 100644 --- a/Crypto Notepad/Forms/MainForm.cs +++ b/Crypto Notepad/Forms/MainForm.cs @@ -905,6 +905,10 @@ private void MainWindow_FormClosing(object sender, FormClosingEventArgs e) writer.Write(encryptedText); writer.Close(); } + if (settings.clearClipboardAtClose) + { + Clipboard.Clear(); + } } if (res == DialogResult.Cancel) { @@ -915,6 +919,14 @@ private void MainWindow_FormClosing(object sender, FormClosingEventArgs e) } } + private void MainForm_FormClosed(object sender, FormClosedEventArgs e) + { + if (settings.clearClipboardAtClose) + { + Clipboard.Clear(); + } + } + private void MainForm_Shown(object sender, EventArgs e) { Visible = true; diff --git a/Crypto Notepad/Forms/SettingsForm.cs b/Crypto Notepad/Forms/SettingsForm.cs index 9b8c92c..a5832ae 100644 --- a/Crypto Notepad/Forms/SettingsForm.cs +++ b/Crypto Notepad/Forms/SettingsForm.cs @@ -39,6 +39,7 @@ private void LoadSettings() minimizeToTrayCheckBox.Checked = settings.minimizeToTray; closeToTrayCheckBox.Checked = settings.closeToTray; singleInstanceCheckBox.Checked = settings.singleInstance; + clearClipboardCheckBox.Checked = settings.clearClipboardAtClose; integrateCheckBox.Checked = settings.explorerIntegrate; associateCheckBox.Checked = settings.explorerAssociate; sendToCheckBox.Checked = settings.explorerSendTo; @@ -608,6 +609,10 @@ private void ClearClipboardTextBox_TextChanged(object sender, EventArgs e) } } + private void ClearClipboardCheckBox_Click(object sender, EventArgs e) + { + settings.clearClipboardAtClose = clearClipboardCheckBox.Checked; + } private void ShortcutKeysCheckBox_Click(object sender, EventArgs e) { diff --git a/Crypto Notepad/Properties/Settings.Designer.cs b/Crypto Notepad/Properties/Settings.Designer.cs index 490758a..2b574c6 100644 --- a/Crypto Notepad/Properties/Settings.Designer.cs +++ b/Crypto Notepad/Properties/Settings.Designer.cs @@ -777,6 +777,20 @@ public bool statusPanelClipboard { this["statusPanelClipboard"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Configuration.SettingsProviderAttribute(typeof(PortableSettingsProvider))] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool clearClipboardAtClose { + get { + return ((bool)(this["clearClipboardAtClose"])); + } + set { + this["clearClipboardAtClose"] = value; + } + } + [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Configuration.SettingsProviderAttribute(typeof(PortableSettingsProvider))] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] diff --git a/Crypto Notepad/Properties/Settings.settings b/Crypto Notepad/Properties/Settings.settings index 11b94a4..fdcd4b2 100644 --- a/Crypto Notepad/Properties/Settings.settings +++ b/Crypto Notepad/Properties/Settings.settings @@ -176,6 +176,9 @@ False + + False + True