Compare commits

...

165 commits

Author SHA1 Message Date
Oleksandr
2a63ee57f1
Change contact email for contributions
Updated contact information for contributions.
2025-11-15 11:21:14 +02:00
Oleksandr
776c256634
Update contact email for reporting incidents 2025-11-15 11:20:12 +02:00
Oleksandr
8af684412d
Update README.md 2025-05-02 15:04:00 +03:00
Oleksandr
977a645146
Update README.md 2024-12-21 00:51:38 +02:00
Oleksandr
6261879d48
Update README.md 2023-03-05 18:53:02 +02:00
Oleksandr
efb1f7d129
Update README.md 2023-03-05 18:52:14 +02:00
Oleksandr
2940ddad92
Merge pull request #61 from Crypto-Notepad/dev
readme update
2022-09-09 13:49:23 +03:00
Alexander
3388b68ea7
readme update 2022-09-09 13:47:48 +03:00
Oleksandr
1b80d3c21d
Merge pull request #60 from Crypto-Notepad/dev
v1.7.3
2022-09-09 13:30:33 +03:00
Alexander
cfb8f66138
Update v1.7.3 2022-09-09 13:28:40 +03:00
Alexander
3078871bd4
changed build configuration 2022-09-09 13:27:51 +03:00
Alexander
d65c0c4d26
version bump 2022-09-06 13:17:39 +03:00
Oleksandr
9580fee1aa
Update LICENSE 2022-07-21 00:21:25 +03:00
Oleksandr
24f42c99fb
Merge pull request #58 from Crypto-Notepad/dev
fixed bug with inserting date/time
2022-05-30 22:20:14 +03:00
Alexander
342bedaabc
fixed bug with inserting date/time 2022-05-30 22:19:37 +03:00
Alexander
3a5e786eea
Update v1.7.2 2022-05-30 22:18:50 +03:00
Oleksandr
7a4be053db
Merge pull request #57 from Crypto-Notepad/dev
Increased font size for some inputs / Added #56
2022-05-22 11:11:29 +03:00
Alexander
3f4efbb5e1
Update v1.7.1 2022-05-22 11:09:08 +03:00
Alexander
1b6acc4e06
Increased font size for input 2022-05-22 11:08:54 +03:00
Alexander
fd24d61401
Added #56 2022-05-22 11:07:48 +03:00
Alexander
9f1c7de776
Update README.md 2022-03-22 19:23:03 +02:00
Alexander
cfcc6f7908
Update FUNDING.yml 2022-03-19 23:12:13 +02:00
Alexander
7b548e6c6b
Update FUNDING.yml 2022-03-19 23:02:49 +02:00
Alexander
806b7e875e
Update FUNDING.yml 2021-12-04 17:35:31 +02:00
Alexander
e780323592
Update FUNDING.yml 2021-11-03 00:42:31 +02:00
Alexander
6776221477
Update v1.7.0 2021-04-11 11:50:31 +03:00
Alexander
c1c222d0bc
Update v1.7.0 2021-04-10 13:22:10 +03:00
Alexander
0db3f4847f
Fixed bug when "settings" item from tray menu was disabled after file unlock 2021-04-08 00:39:45 +03:00
Alexander
19b6f660d7
Fixed bug with visibility of editor on editor lock 2021-04-08 00:02:40 +03:00
Alexander
e8503110a4
Fixed typo 2021-04-07 14:28:22 +03:00
Alexander
f0eb38f35b
Added Paste Board function #53 2021-04-07 14:19:36 +03:00
Alexander
eced4a332b
Fixed bug when after file locking was able to open settings 2021-04-07 02:27:16 +03:00
Alexander
00d20db932
Fixed bug with disappearing text after showing app from the tray 2021-04-06 18:02:56 +03:00
Alexander
b97a5ca76f
Update v1.6.9 2021-03-28 21:14:11 +03:00
Alexander
1f3c48f2c7
Fixed connection error in updater 2021-03-28 21:10:43 +03:00
Alexander
279efb7d70
Update v1.6.9 2021-03-28 20:56:15 +03:00
Alexander
566c4e5a0c Update v1.6.9 2021-03-28 20:53:04 +03:00
Александр
3e1ef07105 Update v1.6.9
Added
- New items in tray menu.
- Able to reset window location (from tray menu).
- Able to enable tray menu without enabling
- Minimize to tray/Close to tray settings.

Improved
- If app is completely out off screen at the start, window location will be reset automatically.
- Now settings from the Integration section will be applied at the app start, if settings file was imported.

Fixed
- Bugs with some settings load.
2021-03-28 20:46:45 +03:00
Alexander
2635269c39
Merge branch 'master' of https://github.com/Crypto-Notepad/Crypto-Notepad 2020-09-09 12:23:53 +03:00
Alexander
9436f3c0d7
Update v1.6.8 2020-09-09 12:23:26 +03:00
Alexander
ee2aa4d8c2
Update README.md 2020-09-02 20:54:43 +03:00
Alexander
c0c4916cef
Update README.md 2020-09-01 10:09:05 +03:00
Alexander
22acc5e29d
Update README.md 2020-09-01 01:24:01 +03:00
Alexander
872ce5196a
Update README.md 2020-09-01 01:21:22 +03:00
Alexander
8400e04d52
Update README.md 2020-09-01 01:18:44 +03:00
Alexander
d4d43b31ad
Merge branch 'master' of https://github.com/Crypto-Notepad/Crypto-Notepad 2020-08-24 00:08:12 +03:00
Alexander
c1bff79c02
v1.6.8
- Added optional able to open all files except *.cnp without message "Try to decrypt file?" #52
- Added menu item and toolbar icon "Try to decrypt".
- Fixed minor bugs while file open.
- Now some items of the main menu become inactive when it's not necessary to use.
2020-08-24 00:07:27 +03:00
Alexander
282096fb83
Update FUNDING.yml 2020-08-22 03:37:47 +03:00
Alexander
ea60c0ffb6
Update FUNDING.yml 2020-08-21 04:43:58 +03:00
Alexander
d79f5b59da
Merge branch 'master' of https://github.com/Crypto-Notepad/Crypto-Notepad 2020-08-08 12:28:37 +03:00
Alexander
6a30579d57
Update v1.6.7 2020-08-08 12:28:32 +03:00
Alexander
ffb2016e48
Fixed bug when editor was invisible after window maximized 2020-08-08 12:28:09 +03:00
Alexander
1cc8332458
Buttons in the "Password generator" window was swapped 2020-08-08 12:23:00 +03:00
Alexander
6d08b85c45
Updated url to app website
Now website stored at https://crypto-notepad.github.io/
2020-08-08 12:17:26 +03:00
Alexander
80b5321170
Update README.md 2020-06-18 15:53:08 +03:00
Alexander
1de5e93273
Update v1.6.6 2020-01-20 11:51:51 +02:00
Alexander
6fdb986ba9
Fixed bug when shortcut keys doesn't work or worked when it's not necessary. 2020-01-19 16:38:08 +02:00
Alexander
3f2997afa6
Clipboard auto-clear progress bar is enabled by default 2020-01-19 15:07:43 +02:00
Alexander
ba10e5a2a7
Minor design changes 2020-01-19 14:56:26 +02:00
Alexander
656a2c9e92
Remapped some shortcut keys #49 2020-01-19 14:54:49 +02:00
Alexander
b6736fb518
Clear Clipboard menu item disabled when clipboard is empty 2020-01-19 14:54:00 +02:00
Alexander
d15194f789
Code formatting 2020-01-19 14:53:08 +02:00
Alexander
9e18e19eec
Added able to auto-clear clipboard on app close 2020-01-19 14:52:38 +02:00
Alexander
6a2adbbf65
Added able to disable all shortcut keys 2020-01-19 14:50:46 +02:00
Alexander
05cf0f19ff
Auto-clear clipboard after copy text from the editor 2020-01-17 23:43:15 +02:00
Alexander
4903a4f91d
Added able to clear clipboard 2020-01-17 22:23:02 +02:00
Alexander
151887a8c1
Fody version update 2020-01-17 16:17:56 +02:00
Alexander
07d39c221e
PasswordGenerator version update 2020-01-17 16:17:17 +02:00
Alexander
46b65d1972
Removed unused code 2020-01-13 13:00:22 +02:00
Alexander
9a73b34433
App version bump 2020-01-13 12:46:53 +02:00
Alexander
ea2fdb730d
Added word wrap indicator to the status panel 2020-01-13 12:46:31 +02:00
Alexander
664ab8cfd2
Categories in Settings window was reorganized. 2020-01-13 12:45:20 +02:00
Alexander
ea61a872c0
Auto lock if the app is inactive #48 2020-01-13 12:44:46 +02:00
Alexander
e7583a09a5
Added able to make editor readonly 2020-01-13 12:40:14 +02:00
Alexander
392f5d8a3b
Editor text now is hidden in windows thumbnail previews 2019-12-29 00:26:58 +02:00
Alexander
a021398788
Update v1.6.5 2019-12-12 18:08:25 +02:00
Alexander
bcba67909a
Сhanged minimum and maximum password length to 4 and 256 2019-12-11 16:21:41 +02:00
Alexander
0b04274ad0
Extended types of special characters #47 2019-12-11 16:21:26 +02:00
Alexander
be8dfa895c
Bump PasswordGenerator from 2.0.1 to 2.0.3 2019-12-11 16:16:07 +02:00
Alexander
8c7770c9dc
App version updated 2019-12-11 16:13:41 +02:00
Alexander
3a82131251
Update CONTRIBUTING.md 2019-12-02 19:47:01 +02:00
Alexander
7f23e1d026
Code formatting 2019-12-02 19:38:46 +02:00
Alexander
230e199212
Update CONTRIBUTING.md 2019-12-02 19:37:59 +02:00
Alexander
c7c1d39b2d
Update v1.6.4 2019-12-01 09:14:10 +02:00
Alexander
d321380f34
Update v1.6.4 2019-11-30 20:01:24 +02:00
Alexander
1dc168fa11
Update README.md 2019-11-30 20:00:11 +02:00
Alexander
092a02cc73
Update README.md 2019-11-30 19:54:50 +02:00
Alexander
c739b82665
Merge remote-tracking branch 'origin/master' 2019-11-28 22:37:04 +02:00
Alexander
e921869371
Renamed ChangeKeyForm to ChangePasswordForm 2019-11-28 22:36:49 +02:00
Alexander
5534ebc507
Renamed ChangeKeyForm to ChangePasswordForm 2019-11-28 22:36:43 +02:00
Alexander
674b9746b1
Renamed ChangeKeyForm to ChangePasswordForm 2019-11-28 22:34:30 +02:00
Alexander
69f93b57a5
Renamed EnterKeyForm to EnterPasswordForm 2019-11-28 22:28:23 +02:00
Alexander
7d0133ee9f
Removed unused code 2019-11-28 22:25:58 +02:00
Alexander
9a443a4c45
Removed empty new line 2019-11-27 20:16:23 +02:00
Alexander
bd8c01a967 Saving setting when window was deactivated
For situations when form closed not by [X] clicking
2019-11-27 19:22:48 +02:00
Alexander
da954934f9 Repeatable code was moved to a separate method 2019-11-27 16:31:23 +02:00
Alexander
9435d311c2 Changed tooltip delay 2019-11-27 15:53:45 +02:00
Alexander
1f589473f7 Update CONTRIBUTING.md 2019-11-27 15:46:01 +02:00
Alexander
a682b24164 Added warning that text file must be in UTF-8 Encoding 2019-11-27 15:27:34 +02:00
Alexander
7996c273b4 Removed unused code 2019-11-27 15:02:27 +02:00
Alexander
78f5ce692c Fixed bug when integrate with explorer context menu doesn't work on new systems 2019-11-27 15:02:05 +02:00
Alexander
674920964c Changed text from uppercase to lowercase 2019-11-27 14:20:35 +02:00
Alexander
b7e0158cd5 Update README.md 2019-11-27 12:08:17 +02:00
Alexander
45eba62f5d Password generator window now showing in taskbar 2019-11-27 12:02:36 +02:00
Alexander
bef0cc4cf7 Removed unused code 2019-11-27 12:00:49 +02:00
Alexander
8730e1a05a Enabled AutoGenerateBindingRedirects 2019-11-27 12:00:13 +02:00
Alexander
db405c1e92 Encryption key renamed to password 2019-11-27 11:59:42 +02:00
Alexander
e500c95f5d Returned missing backward compatibility for decryption with custom salt. 2019-11-27 11:56:53 +02:00
Alexander
31a8838919 Fixed typos 2019-11-26 16:20:05 +02:00
Alexander
08b53d1919 Changed tooltip initial delay from 500 to 1 2019-11-24 22:36:50 +02:00
Alexander
b6bdfae6e3 Removed "Service Pack" from copied debug info 2019-11-24 22:36:03 +02:00
Alexander
163d23565e Code formatting 2019-11-24 22:06:42 +02:00
Alexander
ff2201d06b Popup notification timeout increased 2019-11-24 22:06:24 +02:00
Alexander
dc5a2a8394 Files sorted by folders 2019-11-24 22:03:20 +02:00
Alexander
7e346eae89 Improved password generator
- Minor design changes;
- Added able to copy all list of generated passwords;
- Added able to copy last password in list;
- Added ability to specify the number of generated passwords [1-1000];
2019-11-24 09:39:14 +02:00
Alexander
ee36ea1ae6 Fixed bug with wrong update messages 2019-11-24 09:34:52 +02:00
Alexander
4b87b4cfe6 dev 2019-11-24 09:34:04 +02:00
Alexander
d9fb8d28d7 Notifications replaced with tooltip 2019-11-24 09:33:10 +02:00
Alexander
1508d5d4b3 Debug information was simplified 2019-11-24 09:33:02 +02:00
Alexander
e0b5d616f4 Some methods was moved to a separate file 2019-11-24 09:30:31 +02:00
Alexander
e671088df7 External libraries moved to own folder 2019-11-23 22:22:53 +02:00
Alexander
e3e5449bb9 Update checking now async 2019-11-22 17:39:10 +02:00
Alexander
1f3a6ba959 Fixed missing icon 2019-11-22 17:38:41 +02:00
Alexander
81eaf98047 Improved app updater 2019-11-22 17:37:58 +02:00
Alexander
349570e97d Debug info now can display info about latest .Net Framework Information (4.8) 2019-11-21 19:56:14 +02:00
Alexander
e547eab329 Debug info was edited, now contains only app version/OS Information/.Net Framework version 2019-11-21 19:54:48 +02:00
Alexander
2947d2b4a4 "copied to clipboard" changed to "copied" 2019-11-20 20:18:06 +02:00
Alexander
6c5cdbe6b0 Update AboutFrom.Designer.cs 2019-11-20 19:53:54 +02:00
Alexander
e31188da69 Changed "copied to clipboard" fore color 2019-11-20 19:50:27 +02:00
Alexander
b7b6328c54 "debug info was copied to clipboard" changed to "copied to clipboard" 2019-11-20 19:50:03 +02:00
Alexander
420697662e Debug info now copied even by double click 2019-11-20 19:47:06 +02:00
Alexander
60352d5e4c Update README.md 2019-11-20 15:52:12 +02:00
Alexander
56f6cd8e90 Merge branch 'master' of https://github.com/Crypto-Notepad/Crypto-Notepad 2019-11-20 15:51:39 +02:00
Alexander
a56e93ae3f Update README.md 2019-11-20 15:49:51 +02:00
Alexander
d3c57215e2 Changed text of "Auto check updates" in "Settings" window 2019-11-20 15:49:32 +02:00
Alexander
c0fc18601c Changed message to enable automatic updates at program startup 2019-11-20 15:48:49 +02:00
Alexander
0acea85613 Code formatting 2019-11-20 13:59:38 +02:00
Alexander
cf376d223a Added tooltip while hovering app version text 2019-11-20 13:59:13 +02:00
Alexander
1c1c072a0f Minor design/functionality changes in "About" window
- Removed app logo;
-  Able to get (copied to clipboard) debug info by clicking to app version text;
- Left only the main information about the app;
2019-11-20 13:49:47 +02:00
Alexander
52c9adc044 Fixed bug with file name when creating the new file 2019-11-19 16:08:12 +02:00
Alexander
0582e34e1b Dialog window "Delete file" now placed in the center of the parent window 2019-11-19 16:05:29 +02:00
Alexander
b20d2c71d9 Code formatting 2019-11-19 15:57:30 +02:00
Alexander
0a50567b05 dev 2019-11-19 15:57:15 +02:00
Alexander
7111741633 Minor functionality improvements in "Password generator" window
- Added icon to the title bar;
- Saving password parameters after window closing;
- Button "Generate" disabling when the password length is less than 8 or more than 128 or when all checkboxes are unchecked;
2019-11-19 15:55:05 +02:00
Alexander
9776aaf3e9 RichTextBox updated to RICHEDIT50W 2019-11-19 15:44:18 +02:00
Alexander
e14f35b51e Added title icon to the "Change key" window 2019-11-19 15:42:49 +02:00
Alexander
e27e453ecd Fody updated to v6.0.5 2019-11-19 15:41:28 +02:00
Alexander
c29a623926 Downgrade to .NET Framework v4.6.1 2019-11-19 15:38:18 +02:00
Alexander
31971a3fd6
Update README.md 2019-11-13 15:20:48 +02:00
Alexander
04eadc4537 Update v1.6.3 2019-11-11 21:23:19 +02:00
Alexander
852fbcb5cf Updated credentials in "About" window 2019-11-11 21:13:02 +02:00
Alexander
8742f7fcad Fixed bug when file doesn't save when clicking "Save As" 2019-11-11 21:01:07 +02:00
Alexander
336c6c1a25 Added "Unnamed.cnp - Crypto Notepad" to title bar, when typing text in editor with no opened file 2019-11-11 21:00:29 +02:00
Alexander
d11d04db1f Removed unused code 2019-11-11 20:55:52 +02:00
Alexander
2e867ce35d Removed unused code 2019-11-11 20:54:35 +02:00
Alexander
84cebf9a1b Fixed "Enter Key" window blinking in upper left corner of the screen 2019-11-11 20:54:17 +02:00
Alexander
5b0bd204df Fixed "Password Generator" window blinking in upper left corner of the screen 2019-11-11 20:54:03 +02:00
Alexander
9316ab343a Removed unused code 2019-11-11 19:42:36 +02:00
Alexander
0a52852435 Fixed bug when did not appear save dialog on app close #46 2019-11-11 19:42:18 +02:00
Alexander
1ad5ddbb4e Removed unused code 2019-11-11 19:25:59 +02:00
Alexander
3d012ea475 Fixed #46 2019-11-11 19:25:39 +02:00
Alexander
9fde277705 Fixed #45 2019-11-11 19:24:19 +02:00
Alexander
598006d735 Added helper class 2019-11-11 19:21:58 +02:00
Alexander
7c367028ff Added Costura.Fody for embedding references as resources 2019-11-11 19:21:34 +02:00
Alexander
53b1df8113 Resolved #42 2019-11-11 19:19:29 +02:00
54 changed files with 5631 additions and 2716 deletions

8
.github/FUNDING.yml vendored
View file

@ -2,11 +2,11 @@
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: sigmanor
open_collective: #
ko_fi:
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: sigmanor
liberapay:
issuehunt: #
otechie: # Replace with a single Otechie username
custom: paypal.me/sigmanor
custom: https://github.com/Crypto-Notepad/Crypto-Notepad/wiki/Support-the-project

View file

@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at sigmanor@pm.me. All
reported by contacting the project team at dock-brunt-rarity@duck.com. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.

View file

@ -1,30 +1,33 @@
> First off, thanks for taking the time to contribute :relaxed:
Before starting, make sure that you visited the project [todo](https://github.com/Sigmanor/Crypto-Notepad/wiki/TODO) list and opened/closed [issues](https://github.com/Sigmanor/Crypto-Notepad/issues) to be sure that your idea is not already planned. Checked out? Well then, let's start!
Before starting, make sure that you visited the [projects](https://github.com/Crypto-Notepad/Crypto-Notepad/projects) and the opened/closed [issues](https://github.com/Sigmanor/Crypto-Notepad/issues) to be sure that your idea is not already planned or canceled. Checked out? Well then, let's start!
## How to contribute to Crypto Notepad
### Did you find any bug/have an idea how to improve the project?
* First of all you can send me a message: [`telegram`](https://t.me/Sigmanor) [`facebook`](https://www.fb.com/SlGMANOR) [`email`](mailto:sigmanor@pm.me)
* Secondly you can create an [issue](https://github.com/Sigmanor/Crypto-Notepad/issues/new/choose)
* Send me a message: [`email`](mailto:dock-brunt-rarity@duck.com)
* Create an [issue](https://github.com/Sigmanor/Crypto-Notepad/issues/new/choose).
### You can help me fix some bug/implement a new feature?
* Create a pull request, using [this](https://github.com/Sigmanor/Crypto-Notepad/blob/master/PULL_REQUEST_TEMPLATE.md) template
* Create a pull request, using [this](https://github.com/Sigmanor/Crypto-Notepad/blob/master/PULL_REQUEST_TEMPLATE.md) template.
### Issue labels explanation
* You can find the full list in [here](https://github.com/Sigmanor/Crypto-Notepad/issues/labels)
* You can find the full list in [here](https://github.com/Sigmanor/Crypto-Notepad/issues/labels).
### Naming conventions
The only rule: Do not use Hungarian notation or any other type identification in identifiers.
### Things that will never be in this project
* Installer. Crypto Notepad will be always portable.
* Significant design changes. Crypto Notepad looks exactly as I want to see it.
* Multiplatform. Crypto Notepad will be only for windows. Maybe sometime, but it will be as a completely new project.
* Making from a simple notepad - a big combine to encrypt anything with different encryption algorithms. Crypto Notepad will be a simple app to encrypt/decrypt text files with aes algorithm.
* Making from a simple notepad - a big combine to encrypt anything with different encryption algorithms. Crypto Notepad will be a simple app to encrypt/decrypt text files with AES algorithms.
### Things you need to know about the source code (take courage)
* Sometimes code is very bad
* Sometimes code is illogical
* Mostly code is have no comments
* That's why you are very brave, if you decide to learn source code :flushed:
* Sometimes code is very bad.
* Sometimes code is illogical.
* Mostly code is have no comments.
* That's why you are very brave, if you decide to learn source code. :flushed:
> If you can make the source code better. Your welcome!
## Anything else?
Any help will be useful. I'll be happy to any of your feedback or suggestions. Use your best judgment, and feel free to propose changes to Crypto Notepad. Thanks for attention. May the Force be with you young Contributor :wink:
Any help will be useful. I'll be happy to any of your feedback or suggestions. Use your best judgment, and feel free to propose changes to Crypto Notepad. Thanks for attention. May the Force be with you young Contributor. :wink:

View file

@ -1,225 +0,0 @@
namespace Crypto_Notepad
{
partial class AboutFrom
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutFrom));
this.appVersionLabel = new System.Windows.Forms.Label();
this.appLogoPictureBox = new System.Windows.Forms.PictureBox();
this.thirdPartyDevLabel = new System.Windows.Forms.Label();
this.appInfoLabel1 = new System.Windows.Forms.LinkLabel();
this.appInfoLabel2 = new System.Windows.Forms.LinkLabel();
this.appInfoLabel3 = new System.Windows.Forms.LinkLabel();
this.contributorsLabel = new System.Windows.Forms.Label();
this.contributorsRichTextBox = new Crypto_Notepad.ExRichTextBox();
this.thirdPartyDevRichTextBox = new Crypto_Notepad.ExRichTextBox();
((System.ComponentModel.ISupportInitialize)(this.appLogoPictureBox)).BeginInit();
this.SuspendLayout();
//
// appVersionLabel
//
this.appVersionLabel.AutoSize = true;
this.appVersionLabel.Cursor = System.Windows.Forms.Cursors.Hand;
this.appVersionLabel.Font = new System.Drawing.Font("Consolas", 14.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.appVersionLabel.ForeColor = System.Drawing.SystemColors.Highlight;
this.appVersionLabel.Location = new System.Drawing.Point(5, 9);
this.appVersionLabel.Name = "appVersionLabel";
this.appVersionLabel.Size = new System.Drawing.Size(220, 22);
this.appVersionLabel.TabIndex = 0;
this.appVersionLabel.Text = "Crypto Notepad v1.0.0";
this.appVersionLabel.Click += new System.EventHandler(this.AppVersionLabel_Click);
//
// appLogoPictureBox
//
this.appLogoPictureBox.Cursor = System.Windows.Forms.Cursors.Hand;
this.appLogoPictureBox.Image = ((System.Drawing.Image)(resources.GetObject("appLogoPictureBox.Image")));
this.appLogoPictureBox.Location = new System.Drawing.Point(341, 2);
this.appLogoPictureBox.Name = "appLogoPictureBox";
this.appLogoPictureBox.Size = new System.Drawing.Size(77, 68);
this.appLogoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.appLogoPictureBox.TabIndex = 1;
this.appLogoPictureBox.TabStop = false;
this.appLogoPictureBox.Click += new System.EventHandler(this.AppLogoPictureBox_Click);
//
// thirdPartyDevLabel
//
this.thirdPartyDevLabel.AutoSize = true;
this.thirdPartyDevLabel.Font = new System.Drawing.Font("Consolas", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.thirdPartyDevLabel.ForeColor = System.Drawing.SystemColors.Highlight;
this.thirdPartyDevLabel.Location = new System.Drawing.Point(5, 178);
this.thirdPartyDevLabel.Name = "thirdPartyDevLabel";
this.thirdPartyDevLabel.Size = new System.Drawing.Size(200, 18);
this.thirdPartyDevLabel.TabIndex = 4;
this.thirdPartyDevLabel.Text = "Third-party developments";
//
// appInfoLabel1
//
this.appInfoLabel1.ActiveLinkColor = System.Drawing.Color.White;
this.appInfoLabel1.AutoSize = true;
this.appInfoLabel1.DisabledLinkColor = System.Drawing.Color.White;
this.appInfoLabel1.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.appInfoLabel1.ForeColor = System.Drawing.SystemColors.Control;
this.appInfoLabel1.LinkArea = new System.Windows.Forms.LinkArea(38, 8);
this.appInfoLabel1.LinkColor = System.Drawing.Color.White;
this.appInfoLabel1.Location = new System.Drawing.Point(8, 38);
this.appInfoLabel1.Name = "appInfoLabel1";
this.appInfoLabel1.Size = new System.Drawing.Size(317, 19);
this.appInfoLabel1.TabIndex = 9;
this.appInfoLabel1.TabStop = true;
this.appInfoLabel1.Text = "This is an open-source app created by Sigmanor";
this.appInfoLabel1.UseCompatibleTextRendering = true;
this.appInfoLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.AppInfoLabel1_LinkClicked);
//
// appInfoLabel2
//
this.appInfoLabel2.ActiveLinkColor = System.Drawing.Color.White;
this.appInfoLabel2.AutoSize = true;
this.appInfoLabel2.DisabledLinkColor = System.Drawing.Color.White;
this.appInfoLabel2.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.appInfoLabel2.ForeColor = System.Drawing.SystemColors.Control;
this.appInfoLabel2.LinkArea = new System.Windows.Forms.LinkArea(18, 3);
this.appInfoLabel2.LinkColor = System.Drawing.Color.White;
this.appInfoLabel2.Location = new System.Drawing.Point(8, 57);
this.appInfoLabel2.Name = "appInfoLabel2";
this.appInfoLabel2.Size = new System.Drawing.Size(202, 19);
this.appInfoLabel2.TabIndex = 9;
this.appInfoLabel2.TabStop = true;
this.appInfoLabel2.Text = "Distributed under MIT license";
this.appInfoLabel2.UseCompatibleTextRendering = true;
this.appInfoLabel2.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.AppInfoLabel1_LinkClicked);
//
// appInfoLabel3
//
this.appInfoLabel3.ActiveLinkColor = System.Drawing.Color.White;
this.appInfoLabel3.AutoSize = true;
this.appInfoLabel3.DisabledLinkColor = System.Drawing.Color.White;
this.appInfoLabel3.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.appInfoLabel3.ForeColor = System.Drawing.SystemColors.Control;
this.appInfoLabel3.LinkArea = new System.Windows.Forms.LinkArea(52, 6);
this.appInfoLabel3.LinkColor = System.Drawing.Color.White;
this.appInfoLabel3.Location = new System.Drawing.Point(8, 75);
this.appInfoLabel3.Name = "appInfoLabel3";
this.appInfoLabel3.Size = new System.Drawing.Size(399, 19);
this.appInfoLabel3.TabIndex = 9;
this.appInfoLabel3.TabStop = true;
this.appInfoLabel3.Text = "The source code, issues and documentation posted on GitHub";
this.appInfoLabel3.UseCompatibleTextRendering = true;
this.appInfoLabel3.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.AppInfoLabel3_LinkClicked);
//
// contributorsLabel
//
this.contributorsLabel.AutoSize = true;
this.contributorsLabel.Font = new System.Drawing.Font("Consolas", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.contributorsLabel.ForeColor = System.Drawing.SystemColors.Highlight;
this.contributorsLabel.Location = new System.Drawing.Point(5, 105);
this.contributorsLabel.Name = "contributorsLabel";
this.contributorsLabel.Size = new System.Drawing.Size(168, 18);
this.contributorsLabel.TabIndex = 4;
this.contributorsLabel.Text = "Contributors/testers";
//
// contributorsRichTextBox
//
this.contributorsRichTextBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(50)))));
this.contributorsRichTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.contributorsRichTextBox.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.contributorsRichTextBox.ForeColor = System.Drawing.SystemColors.Control;
this.contributorsRichTextBox.Location = new System.Drawing.Point(-1, 126);
this.contributorsRichTextBox.Name = "contributorsRichTextBox";
this.contributorsRichTextBox.ReadOnly = true;
this.contributorsRichTextBox.RightMargin = 700;
this.contributorsRichTextBox.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.None;
this.contributorsRichTextBox.ShowSelectionMargin = true;
this.contributorsRichTextBox.Size = new System.Drawing.Size(414, 50);
this.contributorsRichTextBox.TabIndex = 11;
this.contributorsRichTextBox.Text = "h5p9sl https://github.com/h5p9sl\nsmaragdus https://github.com/smaragdus";
this.contributorsRichTextBox.WordWrap = false;
this.contributorsRichTextBox.LinkClicked += new System.Windows.Forms.LinkClickedEventHandler(this.ContributorsRichTextBox_LinkClicked);
//
// thirdPartyDevRichTextBox
//
this.thirdPartyDevRichTextBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(50)))));
this.thirdPartyDevRichTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.thirdPartyDevRichTextBox.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.thirdPartyDevRichTextBox.ForeColor = System.Drawing.SystemColors.Control;
this.thirdPartyDevRichTextBox.Location = new System.Drawing.Point(-1, 199);
this.thirdPartyDevRichTextBox.Name = "thirdPartyDevRichTextBox";
this.thirdPartyDevRichTextBox.ReadOnly = true;
this.thirdPartyDevRichTextBox.RightMargin = 700;
this.thirdPartyDevRichTextBox.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.ForcedHorizontal;
this.thirdPartyDevRichTextBox.ShowSelectionMargin = true;
this.thirdPartyDevRichTextBox.Size = new System.Drawing.Size(414, 99);
this.thirdPartyDevRichTextBox.TabIndex = 10;
this.thirdPartyDevRichTextBox.Text = resources.GetString("thirdPartyDevRichTextBox.Text");
this.thirdPartyDevRichTextBox.WordWrap = false;
this.thirdPartyDevRichTextBox.LinkClicked += new System.Windows.Forms.LinkClickedEventHandler(this.ThirdPartyDevRichTextBox_LinkClicked);
//
// AboutFrom
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(50)))));
this.ClientSize = new System.Drawing.Size(411, 298);
this.Controls.Add(this.contributorsRichTextBox);
this.Controls.Add(this.thirdPartyDevRichTextBox);
this.Controls.Add(this.appInfoLabel3);
this.Controls.Add(this.appInfoLabel2);
this.Controls.Add(this.appInfoLabel1);
this.Controls.Add(this.appLogoPictureBox);
this.Controls.Add(this.appVersionLabel);
this.Controls.Add(this.contributorsLabel);
this.Controls.Add(this.thirdPartyDevLabel);
this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "AboutFrom";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "About";
this.Load += new System.EventHandler(this.AboutWindow_Load);
this.Click += new System.EventHandler(this.AboutFrom_Click);
((System.ComponentModel.ISupportInitialize)(this.appLogoPictureBox)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label appVersionLabel;
private System.Windows.Forms.PictureBox appLogoPictureBox;
private System.Windows.Forms.Label thirdPartyDevLabel;
private System.Windows.Forms.LinkLabel appInfoLabel1;
private System.Windows.Forms.LinkLabel appInfoLabel2;
private System.Windows.Forms.LinkLabel appInfoLabel3;
private System.Windows.Forms.Label contributorsLabel;
private ExRichTextBox thirdPartyDevRichTextBox;
private ExRichTextBox contributorsRichTextBox;
}
}

View file

@ -1,80 +0,0 @@
using System;
using System.Diagnostics;
using System.Windows.Forms;
namespace Crypto_Notepad
{
public partial class AboutFrom : Form
{
public AboutFrom()
{
InitializeComponent();
}
/*Form Events*/
private void AboutWindow_Load(object sender, EventArgs e)
{
Version vrs = new Version(Application.ProductVersion);
appVersionLabel.Text = string.Format(PublicVar.appName + " {0}.{1}.{2}", vrs.Major, vrs.Minor, vrs.Build);
}
private void AboutFrom_Click(object sender, EventArgs e)
{
appLogoPictureBox.Focus();
}
protected override bool ProcessDialogKey(Keys keyData)
{
if (ModifierKeys == Keys.None && keyData == Keys.Escape)
{
Close();
return true;
}
return base.ProcessDialogKey(keyData);
}
/*Form Events*/
/*Main Information*/
private void AppVersionLabel_Click(object sender, EventArgs e)
{
Process.Start("https://github.com/Crypto-Notepad/Crypto-Notepad/wiki/Release-Notes");
}
private void AppInfoLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
Process.Start("https://sigmanor.github.io/");
}
private void AppInfoLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
Process.Start("https://github.com/Crypto-Notepad/Crypto-Notepad/blob/master/LICENSE");
}
private void AppInfoLabel3_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
Process.Start("https://github.com/Crypto-Notepad/Crypto-Notepad");
}
private void AppLogoPictureBox_Click(object sender, EventArgs e)
{
Process.Start("https://crypto-notepad.github.io/");
}
/*Main Information*/
/*Perform open links*/
private void ThirdPartyDevRichTextBox_LinkClicked(object sender, LinkClickedEventArgs e)
{
Process.Start(e.LinkText);
}
private void ContributorsRichTextBox_LinkClicked(object sender, LinkClickedEventArgs e)
{
Process.Start(e.LinkText);
}
/*Perform open links*/
}
}

View file

@ -9,10 +9,10 @@
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/></startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/></startup>
<userSettings>
<Crypto_Notepad.Properties.Settings>
<setting name="editroForeColor" serializeAs="String">
<setting name="editorForeColor" serializeAs="String">
<value>Black</value>
</setting>
<setting name="editorBackColor" serializeAs="String">
@ -144,6 +144,63 @@
<setting name="encryptionHint" serializeAs="String">
<value>True</value>
</setting>
<setting name="passwordGeneratorLowercase" serializeAs="String">
<value>True</value>
</setting>
<setting name="passwordGeneratorUppercase" serializeAs="String">
<value>True</value>
</setting>
<setting name="passwordGeneratorNumeric" serializeAs="String">
<value>True</value>
</setting>
<setting name="passwordGeneratorSpecial" serializeAs="String">
<value>True</value>
</setting>
<setting name="passwordGeneratorLength" serializeAs="String">
<value>40</value>
</setting>
<setting name="passwordGeneratorNumberOfStrings" serializeAs="String">
<value>10</value>
</setting>
<setting name="TheSalt" serializeAs="String">
<value />
</setting>
<setting name="passwordGeneratorBrackets" serializeAs="String">
<value>False</value>
</setting>
<setting name="passwordGeneratorAdditional" serializeAs="String">
<value>False</value>
</setting>
<setting name="lockTimeout" serializeAs="String">
<value />
</setting>
<setting name="statusPanelReadonly" serializeAs="String">
<value>True</value>
</setting>
<setting name="statusPanelWordWrap" serializeAs="String">
<value>True</value>
</setting>
<setting name="clipboardClearTime" serializeAs="String">
<value />
</setting>
<setting name="statusPanelClipboard" serializeAs="String">
<value>True</value>
</setting>
<setting name="clearClipboardAtClose" serializeAs="String">
<value>False</value>
</setting>
<setting name="shortcutKeys" serializeAs="String">
<value>True</value>
</setting>
<setting name="openTxtUnencrypted" serializeAs="String">
<value>False</value>
</setting>
<setting name="trayMenu" serializeAs="String">
<value>False</value>
</setting>
<setting name="statusPanelPasteboard" serializeAs="String">
<value>False</value>
</setting>
</Crypto_Notepad.Properties.Settings>
</userSettings>
</configuration>

View file

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Costura.Fody.4.1.0\build\Costura.Fody.props" Condition="Exists('..\packages\Costura.Fody.4.1.0\build\Costura.Fody.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@ -9,7 +10,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Crypto_Notepad</RootNamespace>
<AssemblyName>Crypto Notepad</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
@ -24,6 +25,8 @@
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<RunCodeAnalysis>False</RunCodeAnalysis>
<SourceAnalysisOverrideSettingsFile>C:\Users\Alex\AppData\Roaming\ICSharpCode/SharpDevelop4\Settings.SourceAnalysis</SourceAnalysisOverrideSettingsFile>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
@ -53,14 +56,15 @@
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>PdbOnly</DebugType>
<Optimize>True</Optimize>
<DebugType>embedded</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<UseVSHostingProcess>false</UseVSHostingProcess>
<Prefer32Bit>false</Prefer32Bit>
<DebugSymbols>true</DebugSymbols>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
@ -75,11 +79,24 @@
<PropertyGroup>
<SignManifests>false</SignManifests>
</PropertyGroup>
<PropertyGroup>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
</PropertyGroup>
<PropertyGroup>
<NoWin32Manifest>true</NoWin32Manifest>
</PropertyGroup>
<ItemGroup>
<Reference Include="Costura, Version=4.1.0.0, Culture=neutral, PublicKeyToken=9919ef960d84173d, processorArchitecture=MSIL">
<HintPath>..\packages\Costura.Fody.4.1.0\lib\net40\Costura.dll</HintPath>
</Reference>
<Reference Include="Microsoft.VisualBasic" />
<Reference Include="PasswordGenerator, Version=2.0.5.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\PasswordGenerator.2.0.5\lib\netstandard2.0\PasswordGenerator.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Diagnostics.Contracts" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
@ -90,37 +107,47 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="AboutFrom.cs">
<Compile Include="Forms\AboutFrom.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="AboutFrom.Designer.cs">
<Compile Include="Forms\AboutFrom.Designer.cs">
<DependentUpon>AboutFrom.cs</DependentUpon>
</Compile>
<Compile Include="AES.cs" />
<Compile Include="ChangeKeyForm.cs">
<Compile Include="External Libraries\AES.cs" />
<Compile Include="Forms\ChangePasswordForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="ChangeKeyForm.Designer.cs">
<DependentUpon>ChangeKeyForm.cs</DependentUpon>
<Compile Include="Forms\ChangePasswordForm.Designer.cs">
<DependentUpon>ChangePasswordForm.cs</DependentUpon>
</Compile>
<Compile Include="EncryptedString.cs" />
<Compile Include="MainForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="MainForm.Designer.cs">
<DependentUpon>MainForm.cs</DependentUpon>
</Compile>
<Compile Include="EnterKeyForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="EnterKeyForm.Designer.cs">
<DependentUpon>EnterKeyForm.cs</DependentUpon>
</Compile>
<Compile Include="MsgBoxCenterParent.cs" />
<Compile Include="ExRichTextBox.cs">
<Compile Include="External Libraries\EncryptedString.cs" />
<Compile Include="External Libraries\HideCaretRichTextBox.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="PortableSettingsProvider.cs" />
<Compile Include="Forms\MainForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\MainForm.Designer.cs">
<DependentUpon>MainForm.cs</DependentUpon>
</Compile>
<Compile Include="Forms\EnterPasswordForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\EnterPasswordForm.Designer.cs">
<DependentUpon>EnterPasswordForm.cs</DependentUpon>
</Compile>
<Compile Include="External Libraries\MsgBoxCenterParent.cs" />
<Compile Include="External Libraries\ExRichTextBox.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="External Libraries\OSVersionInfoClass.cs" />
<Compile Include="Forms\PasswordGeneratorFrom.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\PasswordGeneratorFrom.Designer.cs">
<DependentUpon>PasswordGeneratorFrom.cs</DependentUpon>
</Compile>
<Compile Include="External Libraries\PortableSettingsProvider.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Resources.Designer.cs">
@ -128,35 +155,40 @@
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="SettingsForm.cs">
<Compile Include="Forms\SettingsForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="SettingsForm.Designer.cs">
<Compile Include="Forms\SettingsForm.Designer.cs">
<DependentUpon>SettingsForm.cs</DependentUpon>
</Compile>
<Compile Include="PlaceholderTextBox.cs">
<Compile Include="External Libraries\PlaceholderTextBox.cs">
<SubType>Component</SubType>
</Compile>
<EmbeddedResource Include="AboutFrom.resx">
<Compile Include="External Libraries\Methods.cs" />
<EmbeddedResource Include="Forms\AboutFrom.resx">
<DependentUpon>AboutFrom.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="ChangeKeyForm.resx">
<DependentUpon>ChangeKeyForm.cs</DependentUpon>
<EmbeddedResource Include="Forms\ChangePasswordForm.resx">
<DependentUpon>ChangePasswordForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="MainForm.resx">
<EmbeddedResource Include="Forms\MainForm.resx">
<DependentUpon>MainForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="EnterKeyForm.resx">
<DependentUpon>EnterKeyForm.cs</DependentUpon>
<EmbeddedResource Include="Forms\EnterPasswordForm.resx">
<DependentUpon>EnterPasswordForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\PasswordGeneratorFrom.resx">
<DependentUpon>PasswordGeneratorFrom.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<SubType>Designer</SubType>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="SettingsForm.resx">
<EmbeddedResource Include="Forms\SettingsForm.resx">
<DependentUpon>SettingsForm.cs</DependentUpon>
</EmbeddedResource>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
@ -171,9 +203,12 @@
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\clock--plus.png" />
<None Include="Resources\clock_add.png" />
<None Include="Resources\clipboard-text.png" />
<None Include="Resources\Updater.exe" />
<None Include="Resources\Ionic.Zip.dll" />
<None Include="bin\Debug\Ionic.Zip.dll" />
<None Include="Resources\application.png" />
<None Include="Resources\application-dock-180.png" />
<Content Include="Notepad_Lock.ico" />
</ItemGroup>
<ItemGroup>
@ -209,7 +244,16 @@
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>Данный проект ссылается на пакеты NuGet, отсутствующие на этом компьютере. Используйте восстановление пакетов NuGet, чтобы скачать их. Дополнительную информацию см. по адресу: http://go.microsoft.com/fwlink/?LinkID=322105. Отсутствует следующий файл: {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\Costura.Fody.4.1.0\build\Costura.Fody.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Costura.Fody.4.1.0\build\Costura.Fody.props'))" />
<Error Condition="!Exists('..\packages\Fody.6.0.6\build\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Fody.6.0.6\build\Fody.targets'))" />
</Target>
<Import Project="..\packages\Fody.6.0.6\build\Fody.targets" Condition="Exists('..\packages\Fody.6.0.6\build\Fody.targets')" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">

View file

@ -204,16 +204,19 @@ public static async Task<string> Decrypt(string cipherText, string password, str
{
// Metadata parsing error
DialogResult result = MessageBox.Show("Unable to parse file metadata.\nAttempt to open anyway?\n(May result in a \'Incorrect Key\' error if the salt is wrong.)",
"Missing or Corrupted Metadata", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Asterisk);
"Missing or Corrupted Metadata", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
if (result == DialogResult.Yes)
{
// Default initialization vector from builds v1.1.2 and older
const string default_IV = "16CHARSLONG12345";
initialVectorBytes = Encoding.ASCII.GetBytes(default_IV);
saltValueBytes = Encoding.ASCII.GetBytes(salt);
}
else { return null; }
else
{
PublicVar.metadataCorrupt = true;
return null;
}
}
else
{

View file

@ -8,9 +8,14 @@ namespace Crypto_Notepad
public class ExRichTextBox : RichTextBox
{
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
private static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
[DllImport("kernel32.dll", EntryPoint = "LoadLibraryW", CharSet = CharSet.Unicode, SetLastError = true)]
private static extern IntPtr LoadLibraryW(string s_File);
private const int WM_VSCROLL = 0x115;
private const int WM_MOUSEWHEEL = 0x20A;
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_MOUSEWHEEL)
@ -32,10 +37,20 @@ protected override void WndProc(ref Message m)
}
return;
}
base.WndProc(ref m);
}
protected override CreateParams CreateParams
{
get
{
var cp = base.CreateParams;
LoadLibraryW("MsftEdit.dll");
cp.ClassName = "RichEdit50W";
return cp;
}
}
protected override void OnHandleCreated(EventArgs e)
{
base.OnHandleCreated(e);
@ -46,6 +61,7 @@ protected override void OnHandleCreated(EventArgs e)
}
}
}
public static class RichTextBoxPadding
{
public static void SetInnerMargins(this TextBoxBase textBox, int left, int top, int right, int bottom)
@ -117,6 +133,5 @@ public static void ResumeDrawing(this RichTextBox richTextBox)
richTextBox.Invalidate();
}
}
}

View file

@ -0,0 +1,18 @@
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace Crypto_Notepad
{
public class HideCaretRichTextBox : ExRichTextBox
{
[DllImport("user32.dll", EntryPoint = "HideCaret")]
private static extern long HideCaret(IntPtr hwnd);
protected override void WndProc(ref Message m)
{
HideCaret(this.Handle);
base.WndProc(ref m);
}
}
}

View file

@ -0,0 +1,186 @@
using Microsoft.Win32;
using System;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Windows.Forms;
namespace Crypto_Notepad
{
public static class Methods
{
static readonly string[] SizeSuffixes = { "bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" };
public static void AppendLine(this TextBox source, string value)
{
if (source.Text.Length == 0)
source.Text = value;
else
source.AppendText("\r\n" + value);
}
public static bool IsOnScreen(Form form)
{
Rectangle formRectangle = new Rectangle(form.Left, form.Top, form.Width, form.Height);
return Screen.AllScreens.Any(s => s.WorkingArea.IntersectsWith(formRectangle));
}
public static void Times(this int count, Action action)
{
for (int i = 0; i < count; i++)
{
action();
}
}
public static string CheckDotNetVersion(int releaseKey)
{
if (releaseKey >= 528040)
return "4.8 or later";
if (releaseKey >= 461808)
return "4.7.2";
if (releaseKey >= 461308)
return "4.7.1";
if (releaseKey >= 460798)
return "4.7";
if (releaseKey >= 394802)
return "4.6.2";
if (releaseKey >= 394254)
return "4.6.1";
if (releaseKey >= 393295)
return "4.6";
if (releaseKey >= 379893)
return "4.5.2";
if (releaseKey >= 378675)
return "4.5.1";
if (releaseKey >= 378389)
return "4.5";
return "No 4.5 or later version detected";
}
public static string GetDotNetVersion()
{
int releaseKey;
using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine,
RegistryView.Registry32).OpenSubKey("SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full\\"))
{
releaseKey = Convert.ToInt32(ndpKey.GetValue("Release"));
}
return CheckDotNetVersion(releaseKey);
}
public static void DeleteUpdateFiles()
{
string exePath = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) + @"\";
string UpdaterExe = exePath + "Updater.exe";
string UpdateZip = exePath + "Crypto-Notepad-Update.zip";
if (File.Exists(UpdaterExe))
{
File.Delete(UpdaterExe);
}
if (File.Exists(UpdateZip))
{
File.Delete(UpdateZip);
}
}
public static string SizeSuffix(long value)
{
if (value < 0) { return "-" + SizeSuffix(-value); }
int i = 0;
decimal dValue = (decimal)value;
while (Math.Round(dValue / 1024) >= 1)
{
dValue /= 1024;
i++;
}
return string.Format("{0:n1} {1}", dValue, SizeSuffixes[i]);
}
public static void AssociateExtension(string applicationExecutablePath, string extension)
{
try
{
RegistryKey key = Registry.CurrentUser.OpenSubKey("Software\\Classes", true);
key.CreateSubKey("." + extension).SetValue(string.Empty, extension + "_auto_file");
key = key.CreateSubKey(extension + "_auto_file");
key.CreateSubKey("DefaultIcon").SetValue(string.Empty, applicationExecutablePath + ",0");
key = key.CreateSubKey("Shell");
key.SetValue(string.Empty, "Open");
key = key.CreateSubKey("Open");
key.CreateSubKey("Command").SetValue(string.Empty, "\"" + applicationExecutablePath + "\" \"%1\" /o");
key.CreateSubKey("ddeexec\\Topic").SetValue(string.Empty, "System");
}
catch (Exception)
{
}
}
public static void DissociateExtension(string extension)
{
try
{
RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\Classes", true);
RegistryKey subKeyTree = Registry.CurrentUser.OpenSubKey(@"Software\Classes\" + extension + "_auto_file", true);
if (subKeyTree != null)
{
key.DeleteSubKeyTree(extension + "_auto_file");
key.DeleteSubKeyTree("." + extension);
}
}
catch { }
}
public static void MenuIntegrate(string action)
{
string appExePath = Assembly.GetEntryAssembly().Location;
try
{
if (action == "enable")
{
RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\Classes\", true);
key = key.CreateSubKey("*");
key = key.CreateSubKey("shell");
key.CreateSubKey("Crypto Notepad").SetValue("icon", appExePath);
key.CreateSubKey("Crypto Notepad").SetValue("SubCommands", "");
key.CreateSubKey(@"Crypto Notepad\shell");
key.CreateSubKey(@"Crypto Notepad\shell\cmd1\").SetValue("MUIVerb", "Encrypt");
key.CreateSubKey(@"Crypto Notepad\shell\cmd1\command").SetValue(string.Empty, "\"" + appExePath + "\" \"%1\" /er");
key.CreateSubKey(@"Crypto Notepad\shell\cmd2\").SetValue("MUIVerb", "Decrypt");
key.CreateSubKey(@"Crypto Notepad\shell\cmd2\command").SetValue(string.Empty, "\"" + appExePath + "\" \"%1\" /o");
}
if (action == "disable")
{
RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\Classes\*\shell\", true);
RegistryKey subKeyTree = Registry.CurrentUser.OpenSubKey(@"Software\Classes\*\shell\Crypto Notepad", true);
if (subKeyTree != null)
{
key.DeleteSubKeyTree("Crypto Notepad");
}
}
}
catch { }
}
public static void SendToShortcut()
{
string shortcutPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\Microsoft\Windows\SendTo";
string shortcutName = PublicVar.appName + ".lnk";
string shortcutLocation = Path.Combine(shortcutPath, shortcutName);
string targetFileLocation = Assembly.GetEntryAssembly().Location;
IWshRuntimeLibrary.WshShell shell = new IWshRuntimeLibrary.WshShell();
IWshRuntimeLibrary.IWshShortcut shortcut = (IWshRuntimeLibrary.IWshShortcut)shell.CreateShortcut(shortcutLocation);
shortcut.Description = PublicVar.appName;
shortcut.IconLocation = targetFileLocation;
shortcut.TargetPath = targetFileLocation;
shortcut.Arguments = "/s";
shortcut.Save();
}
}
}

View file

@ -0,0 +1,582 @@
using Microsoft.Win32;
using System;
using System.Runtime.InteropServices;
// http://www.codeproject.com/Articles/73000/Getting-Operating-System-Version-Info-Even-for-Win
//https://en.wikipedia.org/wiki/List_of_Microsoft_Windows_versions
//Thanks to Member 7861383, Scott Vickery for the Windows 8.1 update and workaround.
//I have moved it to the beginning of the Name property, though...
//Thakts to Brisingr Aerowing for help with the Windows 10 adapatation
namespace JCS
{
/// <summary>
/// Provides detailed information about the host operating system.
/// </summary>
public static class OSVersionInfo
{
#region ENUMS
public enum SoftwareArchitecture
{
Unknown = 0,
Bit32 = 1,
Bit64 = 2
}
public enum ProcessorArchitecture
{
Unknown = 0,
Bit32 = 1,
Bit64 = 2,
Itanium64 = 3
}
#endregion ENUMS
#region DELEGATE DECLARATION
private delegate bool IsWow64ProcessDelegate([In] IntPtr handle, [Out] out bool isWow64Process);
#endregion DELEGATE DECLARATION
#region NAME
static private string s_Name;
/// <summary>
/// Gets the name of the operating system running on this computer.
/// </summary>
static public string Name
{
get
{
if (s_Name != null)
return s_Name; //***** RETURN *****//
string name = "unknown";
OperatingSystem osVersion = Environment.OSVersion;
OSVERSIONINFOEX osVersionInfo = new OSVERSIONINFOEX();
osVersionInfo.dwOSVersionInfoSize = Marshal.SizeOf(typeof(OSVERSIONINFOEX));
if (GetVersionEx(ref osVersionInfo))
{
int majorVersion = osVersion.Version.Major;
int minorVersion = osVersion.Version.Minor;
if (majorVersion == 6 && minorVersion == 2)
{
//The registry read workaround is by Scott Vickery. Thanks a lot for the help!
//http://msdn.microsoft.com/en-us/library/windows/desktop/ms724832(v=vs.85).aspx
// For applications that have been manifested for Windows 8.1 & Windows 10. Applications not manifested for 8.1 or 10 will return the Windows 8 OS version value (6.2).
// By reading the registry, we'll get the exact version - meaning we can even compare against Win 8 and Win 8.1.
string exactVersion = RegistryRead(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "CurrentVersion", "");
if (!string.IsNullOrEmpty(exactVersion))
{
string[] splitResult = exactVersion.Split('.');
majorVersion = Convert.ToInt32(splitResult[0]);
minorVersion = Convert.ToInt32(splitResult[1]);
}
if (IsWindows10())
{
majorVersion = 10;
minorVersion = 0;
}
}
switch (osVersion.Platform)
{
case PlatformID.Win32S:
name = "Windows 3.1";
break;
case PlatformID.WinCE:
name = "Windows CE";
break;
case PlatformID.Win32Windows:
{
if (majorVersion == 4)
{
string csdVersion = osVersionInfo.szCSDVersion;
switch (minorVersion)
{
case 0:
if (csdVersion == "B" || csdVersion == "C")
name = "Windows 95 OSR2";
else
name = "Windows 95";
break;
case 10:
if (csdVersion == "A")
name = "Windows 98 Second Edition";
else
name = "Windows 98";
break;
case 90:
name = "Windows Me";
break;
}
}
break;
}
case PlatformID.Win32NT:
{
byte productType = osVersionInfo.wProductType;
switch (majorVersion)
{
case 3:
name = "Windows NT 3.51";
break;
case 4:
switch (productType)
{
case 1:
name = "Windows NT 4.0";
break;
case 3:
name = "Windows NT 4.0 Server";
break;
}
break;
case 5:
switch (minorVersion)
{
case 0:
name = "Windows 2000";
break;
case 1:
name = "Windows XP";
break;
case 2:
name = "Windows Server 2003";
break;
}
break;
case 6:
switch (minorVersion)
{
case 0:
switch (productType)
{
case 1:
name = "Windows Vista";
break;
case 3:
name = "Windows Server 2008";
break;
}
break;
case 1:
switch (productType)
{
case 1:
name = "Windows 7";
break;
case 3:
name = "Windows Server 2008 R2";
break;
}
break;
case 2:
switch (productType)
{
case 1:
name = "Windows 8";
break;
case 3:
name = "Windows Server 2012";
break;
}
break;
case 3:
switch (productType)
{
case 1:
name = "Windows 8.1";
break;
case 3:
name = "Windows Server 2012 R2";
break;
}
break;
}
break;
case 10:
switch (minorVersion)
{
case 0:
switch (productType)
{
case 1:
name = "Windows 10";
break;
case 3:
name = "Windows Server 2016";
break;
}
break;
}
break;
}
break;
}
}
}
s_Name = name;
return name;
}
}
#endregion NAME
#region PINVOKE
#region GET
#region PRODUCT INFO
[DllImport("Kernel32.dll")]
internal static extern bool GetProductInfo(
int osMajorVersion,
int osMinorVersion,
int spMajorVersion,
int spMinorVersion,
out int edition);
#endregion PRODUCT INFO
#region VERSION
[DllImport("kernel32.dll")]
private static extern bool GetVersionEx(ref OSVERSIONINFOEX osVersionInfo);
#endregion VERSION
#region SYSTEMMETRICS
[DllImport("user32")]
public static extern int GetSystemMetrics(int nIndex);
#endregion SYSTEMMETRICS
#region SYSTEMINFO
[DllImport("kernel32.dll")]
public static extern void GetSystemInfo([MarshalAs(UnmanagedType.Struct)] ref SYSTEM_INFO lpSystemInfo);
[DllImport("kernel32.dll")]
public static extern void GetNativeSystemInfo([MarshalAs(UnmanagedType.Struct)] ref SYSTEM_INFO lpSystemInfo);
#endregion SYSTEMINFO
#endregion GET
#region OSVERSIONINFOEX
[StructLayout(LayoutKind.Sequential)]
private struct OSVERSIONINFOEX
{
public int dwOSVersionInfoSize;
public int dwMajorVersion;
public int dwMinorVersion;
public int dwBuildNumber;
public int dwPlatformId;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
public string szCSDVersion;
public short wServicePackMajor;
public short wServicePackMinor;
public short wSuiteMask;
public byte wProductType;
public byte wReserved;
}
#endregion OSVERSIONINFOEX
#region SYSTEM_INFO
[StructLayout(LayoutKind.Sequential)]
public struct SYSTEM_INFO
{
internal _PROCESSOR_INFO_UNION uProcessorInfo;
public uint dwPageSize;
public IntPtr lpMinimumApplicationAddress;
public IntPtr lpMaximumApplicationAddress;
public IntPtr dwActiveProcessorMask;
public uint dwNumberOfProcessors;
public uint dwProcessorType;
public uint dwAllocationGranularity;
public ushort dwProcessorLevel;
public ushort dwProcessorRevision;
}
#endregion SYSTEM_INFO
#region _PROCESSOR_INFO_UNION
[StructLayout(LayoutKind.Explicit)]
public struct _PROCESSOR_INFO_UNION
{
[FieldOffset(0)]
internal uint dwOemId;
[FieldOffset(0)]
internal ushort wProcessorArchitecture;
[FieldOffset(2)]
internal ushort wReserved;
}
#endregion _PROCESSOR_INFO_UNION
#region 64 BIT OS DETECTION
[DllImport("kernel32", SetLastError = true, CallingConvention = CallingConvention.Winapi)]
public extern static IntPtr LoadLibrary(string libraryName);
[DllImport("kernel32", SetLastError = true, CallingConvention = CallingConvention.Winapi)]
public extern static IntPtr GetProcAddress(IntPtr hwnd, string procedureName);
#endregion 64 BIT OS DETECTION
#region PRODUCT
private const int PRODUCT_UNDEFINED = 0x00000000;
private const int PRODUCT_ULTIMATE = 0x00000001;
private const int PRODUCT_HOME_BASIC = 0x00000002;
private const int PRODUCT_HOME_PREMIUM = 0x00000003;
private const int PRODUCT_ENTERPRISE = 0x00000004;
private const int PRODUCT_HOME_BASIC_N = 0x00000005;
private const int PRODUCT_BUSINESS = 0x00000006;
private const int PRODUCT_STANDARD_SERVER = 0x00000007;
private const int PRODUCT_DATACENTER_SERVER = 0x00000008;
private const int PRODUCT_SMALLBUSINESS_SERVER = 0x00000009;
private const int PRODUCT_ENTERPRISE_SERVER = 0x0000000A;
private const int PRODUCT_STARTER = 0x0000000B;
private const int PRODUCT_DATACENTER_SERVER_CORE = 0x0000000C;
private const int PRODUCT_STANDARD_SERVER_CORE = 0x0000000D;
private const int PRODUCT_ENTERPRISE_SERVER_CORE = 0x0000000E;
private const int PRODUCT_ENTERPRISE_SERVER_IA64 = 0x0000000F;
private const int PRODUCT_BUSINESS_N = 0x00000010;
private const int PRODUCT_WEB_SERVER = 0x00000011;
private const int PRODUCT_CLUSTER_SERVER = 0x00000012;
private const int PRODUCT_HOME_SERVER = 0x00000013;
private const int PRODUCT_STORAGE_EXPRESS_SERVER = 0x00000014;
private const int PRODUCT_STORAGE_STANDARD_SERVER = 0x00000015;
private const int PRODUCT_STORAGE_WORKGROUP_SERVER = 0x00000016;
private const int PRODUCT_STORAGE_ENTERPRISE_SERVER = 0x00000017;
private const int PRODUCT_SERVER_FOR_SMALLBUSINESS = 0x00000018;
private const int PRODUCT_SMALLBUSINESS_SERVER_PREMIUM = 0x00000019;
private const int PRODUCT_HOME_PREMIUM_N = 0x0000001A;
private const int PRODUCT_ENTERPRISE_N = 0x0000001B;
private const int PRODUCT_ULTIMATE_N = 0x0000001C;
private const int PRODUCT_WEB_SERVER_CORE = 0x0000001D;
private const int PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT = 0x0000001E;
private const int PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY = 0x0000001F;
private const int PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING = 0x00000020;
private const int PRODUCT_SERVER_FOUNDATION = 0x00000021;
private const int PRODUCT_HOME_PREMIUM_SERVER = 0x00000022;
private const int PRODUCT_SERVER_FOR_SMALLBUSINESS_V = 0x00000023;
private const int PRODUCT_STANDARD_SERVER_V = 0x00000024;
private const int PRODUCT_DATACENTER_SERVER_V = 0x00000025;
private const int PRODUCT_ENTERPRISE_SERVER_V = 0x00000026;
private const int PRODUCT_DATACENTER_SERVER_CORE_V = 0x00000027;
private const int PRODUCT_STANDARD_SERVER_CORE_V = 0x00000028;
private const int PRODUCT_ENTERPRISE_SERVER_CORE_V = 0x00000029;
private const int PRODUCT_HYPERV = 0x0000002A;
private const int PRODUCT_STORAGE_EXPRESS_SERVER_CORE = 0x0000002B;
private const int PRODUCT_STORAGE_STANDARD_SERVER_CORE = 0x0000002C;
private const int PRODUCT_STORAGE_WORKGROUP_SERVER_CORE = 0x0000002D;
private const int PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE = 0x0000002E;
private const int PRODUCT_STARTER_N = 0x0000002F;
private const int PRODUCT_PROFESSIONAL = 0x00000030;
private const int PRODUCT_PROFESSIONAL_N = 0x00000031;
private const int PRODUCT_SB_SOLUTION_SERVER = 0x00000032;
private const int PRODUCT_SERVER_FOR_SB_SOLUTIONS = 0x00000033;
private const int PRODUCT_STANDARD_SERVER_SOLUTIONS = 0x00000034;
private const int PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE = 0x00000035;
private const int PRODUCT_SB_SOLUTION_SERVER_EM = 0x00000036;
private const int PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM = 0x00000037;
private const int PRODUCT_SOLUTION_EMBEDDEDSERVER = 0x00000038;
private const int PRODUCT_SOLUTION_EMBEDDEDSERVER_CORE = 0x00000039;
//private const int ???? = 0x0000003A;
private const int PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT = 0x0000003B;
private const int PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL = 0x0000003C;
private const int PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC = 0x0000003D;
private const int PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC = 0x0000003E;
private const int PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE = 0x0000003F;
private const int PRODUCT_CLUSTER_SERVER_V = 0x00000040;
private const int PRODUCT_EMBEDDED = 0x00000041;
private const int PRODUCT_STARTER_E = 0x00000042;
private const int PRODUCT_HOME_BASIC_E = 0x00000043;
private const int PRODUCT_HOME_PREMIUM_E = 0x00000044;
private const int PRODUCT_PROFESSIONAL_E = 0x00000045;
private const int PRODUCT_ENTERPRISE_E = 0x00000046;
private const int PRODUCT_ULTIMATE_E = 0x00000047;
//private const int PRODUCT_UNLICENSED = 0xABCDABCD;
#endregion PRODUCT
#region VERSIONS
private const int VER_NT_WORKSTATION = 1;
private const int VER_NT_DOMAIN_CONTROLLER = 2;
private const int VER_NT_SERVER = 3;
private const int VER_SUITE_SMALLBUSINESS = 1;
private const int VER_SUITE_ENTERPRISE = 2;
private const int VER_SUITE_TERMINAL = 16;
private const int VER_SUITE_DATACENTER = 128;
private const int VER_SUITE_SINGLEUSERTS = 256;
private const int VER_SUITE_PERSONAL = 512;
private const int VER_SUITE_BLADE = 1024;
#endregion VERSIONS
#endregion PINVOKE
#region VERSION
#region BUILD
/// <summary>
/// Gets the build version number of the operating system running on this computer.
/// </summary>
static public int BuildVersion
{
get
{
return int.Parse(RegistryRead(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "CurrentBuildNumber", "0"));
}
}
#endregion BUILD
#region FULL
#region STRING
/// <summary>
/// Gets the full version string of the operating system running on this computer.
/// </summary>
static public string VersionString
{
get
{
return Version.ToString();
}
}
#endregion STRING
#region VERSION
/// <summary>
/// Gets the full version of the operating system running on this computer.
/// </summary>
static public Version Version
{
get
{
return new Version(MajorVersion, MinorVersion, BuildVersion, RevisionVersion);
}
}
#endregion VERSION
#endregion FULL
#region MAJOR
/// <summary>
/// Gets the major version number of the operating system running on this computer.
/// </summary>
static public int MajorVersion
{
get
{
if(IsWindows10())
{
return 10;
}
string exactVersion = RegistryRead(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "CurrentVersion", "");
if(!string.IsNullOrEmpty(exactVersion))
{
string[] splitVersion = exactVersion.Split('.');
return int.Parse(splitVersion[0]);
}
return Environment.OSVersion.Version.Major;
}
}
#endregion MAJOR
#region MINOR
/// <summary>
/// Gets the minor version number of the operating system running on this computer.
/// </summary>
static public int MinorVersion
{
get
{
if (IsWindows10())
{
return 0;
}
string exactVersion = RegistryRead(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "CurrentVersion", "");
if (!string.IsNullOrEmpty(exactVersion))
{
string[] splitVersion = exactVersion.Split('.');
return int.Parse(splitVersion[1]);
}
return Environment.OSVersion.Version.Minor;
}
}
#endregion MINOR
#region REVISION
/// <summary>
/// Gets the revision version number of the operating system running on this computer.
/// </summary>
static public int RevisionVersion
{
get
{
if(IsWindows10())
{
return 0;
}
return Environment.OSVersion.Version.Revision;
}
}
#endregion REVISION
#endregion VERSION
#region Windows 10 Detection
private static bool IsWindows10()
{
string productName = RegistryRead(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "ProductName", "");
if (productName.StartsWith("Windows 10", StringComparison.OrdinalIgnoreCase))
{
return true;
}
return false;
}
#endregion
#region Registry Methods
private static string RegistryRead(string RegistryPath, string Field, string DefaultValue)
{
string rtn = "";
string backSlash = "";
string newRegistryPath = "";
try
{
RegistryKey OurKey = null;
string[] split_result = RegistryPath.Split('\\');
if (split_result.Length > 0)
{
split_result[0] = split_result[0].ToUpper(); // Make the first entry uppercase...
if (split_result[0] == "HKEY_CLASSES_ROOT") OurKey = Registry.ClassesRoot;
else if (split_result[0] == "HKEY_CURRENT_USER") OurKey = Registry.CurrentUser;
else if (split_result[0] == "HKEY_LOCAL_MACHINE") OurKey = Registry.LocalMachine;
else if (split_result[0] == "HKEY_USERS") OurKey = Registry.Users;
else if (split_result[0] == "HKEY_CURRENT_CONFIG") OurKey = Registry.CurrentConfig;
if (OurKey != null)
{
for (int i = 1; i < split_result.Length; i++)
{
newRegistryPath += backSlash + split_result[i];
backSlash = "\\";
}
if (newRegistryPath != "")
{
//rtn = (string)Registry.GetValue(RegistryPath, "CurrentVersion", DefaultValue);
OurKey = OurKey.OpenSubKey(newRegistryPath);
rtn = (string)OurKey.GetValue(Field, DefaultValue);
OurKey.Close();
}
}
}
}
catch { }
return rtn;
}
#endregion Registry Methods
}
}

View file

@ -0,0 +1,3 @@
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
<Costura />
</Weavers>

View file

@ -0,0 +1,111 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- This file was generated by Fody. Manual changes to this file will be lost when your project is rebuilt. -->
<xs:element name="Weavers">
<xs:complexType>
<xs:all>
<xs:element name="Costura" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:all>
<xs:element minOccurs="0" maxOccurs="1" name="ExcludeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="IncludeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="Unmanaged32Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of unmanaged 32 bit assembly names to include, delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="Unmanaged64Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of unmanaged 64 bit assembly names to include, delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="PreloadOrder" type="xs:string">
<xs:annotation>
<xs:documentation>The order of preloaded assemblies, delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
<xs:attribute name="CreateTemporaryAssemblies" type="xs:boolean">
<xs:annotation>
<xs:documentation>This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IncludeDebugSymbols" type="xs:boolean">
<xs:annotation>
<xs:documentation>Controls if .pdbs for reference assemblies are also embedded.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisableCompression" type="xs:boolean">
<xs:annotation>
<xs:documentation>Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisableCleanup" type="xs:boolean">
<xs:annotation>
<xs:documentation>As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LoadAtModuleInit" type="xs:boolean">
<xs:annotation>
<xs:documentation>Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreSatelliteAssemblies" type="xs:boolean">
<xs:annotation>
<xs:documentation>Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ExcludeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with |</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IncludeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Unmanaged32Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of unmanaged 32 bit assembly names to include, delimited with |.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Unmanaged64Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of unmanaged 64 bit assembly names to include, delimited with |.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PreloadOrder" type="xs:string">
<xs:annotation>
<xs:documentation>The order of preloaded assemblies, delimited with |.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:all>
<xs:attribute name="VerifyAssembly" type="xs:boolean">
<xs:annotation>
<xs:documentation>'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="VerifyIgnoreCodes" type="xs:string">
<xs:annotation>
<xs:documentation>A comma-separated list of error codes that can be safely ignored in assembly verification.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="GenerateXsd" type="xs:boolean">
<xs:annotation>
<xs:documentation>'false' to turn off automatic generation of the XML Schema file.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>

119
Crypto Notepad/Forms/AboutFrom.Designer.cs generated Normal file
View file

@ -0,0 +1,119 @@
namespace Crypto_Notepad
{
partial class AboutFrom
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutFrom));
this.appVersionLabel = new System.Windows.Forms.Label();
this.randomColorTimer = new System.Windows.Forms.Timer(this.components);
this.aboutToolTip = new System.Windows.Forms.ToolTip(this.components);
this.appInfoRichTextBox = new Crypto_Notepad.HideCaretRichTextBox();
this.SuspendLayout();
//
// appVersionLabel
//
this.appVersionLabel.AutoSize = true;
this.appVersionLabel.Cursor = System.Windows.Forms.Cursors.Hand;
this.appVersionLabel.Font = new System.Drawing.Font("Consolas", 14.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.appVersionLabel.ForeColor = System.Drawing.SystemColors.HotTrack;
this.appVersionLabel.Location = new System.Drawing.Point(4, 10);
this.appVersionLabel.Name = "appVersionLabel";
this.appVersionLabel.Size = new System.Drawing.Size(210, 22);
this.appVersionLabel.TabIndex = 1;
this.appVersionLabel.Text = "Crypto Notepad 1.0.0";
this.appVersionLabel.MouseClick += new System.Windows.Forms.MouseEventHandler(this.AppVersionLabel_MouseClick);
this.appVersionLabel.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.AppVersionLabel_MouseDoubleClick);
this.appVersionLabel.MouseEnter += new System.EventHandler(this.appVersionLabel_MouseEnter);
//
// randomColorTimer
//
this.randomColorTimer.Interval = 200;
this.randomColorTimer.Tick += new System.EventHandler(this.RandomColorTimer_Tick);
//
// aboutToolTip
//
this.aboutToolTip.AutoPopDelay = 5000;
this.aboutToolTip.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(61)))), ((int)(((byte)(61)))), ((int)(((byte)(68)))));
this.aboutToolTip.ForeColor = System.Drawing.Color.DarkGray;
this.aboutToolTip.InitialDelay = 100;
this.aboutToolTip.OwnerDraw = true;
this.aboutToolTip.ReshowDelay = 100;
this.aboutToolTip.Draw += new System.Windows.Forms.DrawToolTipEventHandler(this.AboutToolTip_Draw);
//
// appInfoRichTextBox
//
this.appInfoRichTextBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(50)))));
this.appInfoRichTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.appInfoRichTextBox.Cursor = System.Windows.Forms.Cursors.IBeam;
this.appInfoRichTextBox.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.appInfoRichTextBox.ForeColor = System.Drawing.SystemColors.ButtonFace;
this.appInfoRichTextBox.Location = new System.Drawing.Point(0, 44);
this.appInfoRichTextBox.Name = "appInfoRichTextBox";
this.appInfoRichTextBox.ReadOnly = true;
this.appInfoRichTextBox.RightMargin = 700;
this.appInfoRichTextBox.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.None;
this.appInfoRichTextBox.ShowSelectionMargin = true;
this.appInfoRichTextBox.Size = new System.Drawing.Size(439, 285);
this.appInfoRichTextBox.TabIndex = 2;
this.appInfoRichTextBox.TabStop = false;
this.appInfoRichTextBox.Text = resources.GetString("appInfoRichTextBox.Text");
this.appInfoRichTextBox.WordWrap = false;
this.appInfoRichTextBox.LinkClicked += new System.Windows.Forms.LinkClickedEventHandler(this.AppInfoRichTextBox_LinkClicked);
//
// AboutFrom
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(50)))));
this.ClientSize = new System.Drawing.Size(435, 323);
this.Controls.Add(this.appInfoRichTextBox);
this.Controls.Add(this.appVersionLabel);
this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "AboutFrom";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "About";
this.Load += new System.EventHandler(this.AboutWindow_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label appVersionLabel;
private HideCaretRichTextBox appInfoRichTextBox;
private System.Windows.Forms.Timer randomColorTimer;
private System.Windows.Forms.ToolTip aboutToolTip;
}
}

View file

@ -0,0 +1,106 @@
using JCS;
using System;
using System.Diagnostics;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Crypto_Notepad
{
public partial class AboutFrom : Form
{
private Random rnd = new Random();
public AboutFrom()
{
InitializeComponent();
}
#region Methods
private void GetDebugInfo()
{
Version vrs = new Version(Application.ProductVersion);
StringBuilder sb = new StringBuilder(string.Empty);
sb.AppendLine("App version = " + vrs);
sb.AppendLine(string.Format("OS name = {0}", OSVersionInfo.Name));
sb.AppendLine(string.Format("OS version = {0}", OSVersionInfo.VersionString));
sb.AppendLine(".Net Framework = " + Methods.GetDotNetVersion());
Clipboard.SetText(sb.ToString());
aboutToolTip.AutoPopDelay = 1000;
aboutToolTip.SetToolTip(appVersionLabel, "Copied");
}
#endregion
#region Event Handlers
private void AboutWindow_Load(object sender, EventArgs e)
{
Version vrs = new Version(Application.ProductVersion);
appVersionLabel.Text = string.Format(PublicVar.appName + " {0}.{1}.{2}", vrs.Major, vrs.Minor, vrs.Build);
}
protected override bool ProcessDialogKey(Keys keyData)
{
if (ModifierKeys == Keys.None && keyData == Keys.Escape)
{
Close();
return true;
}
return base.ProcessDialogKey(keyData);
}
private void RandomColorTimer_Tick(object sender, EventArgs e)
{
Color randomColor = Color.FromArgb(rnd.Next(256), rnd.Next(256), rnd.Next(256));
appVersionLabel.ForeColor = randomColor;
}
private void AppVersionLabel_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
GetDebugInfo();
}
}
private void AppInfoRichTextBox_LinkClicked(object sender, LinkClickedEventArgs e)
{
Process.Start(e.LinkText);
}
private void AppVersionLabel_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
GetDebugInfo();
}
if (e.Button == MouseButtons.Right)
{
if (randomColorTimer.Enabled)
{
randomColorTimer.Stop();
}
else
{
randomColorTimer.Start();
}
}
}
private void AboutToolTip_Draw(object sender, DrawToolTipEventArgs e)
{
e.DrawBackground();
e.DrawBorder();
e.DrawText();
}
private void appVersionLabel_MouseEnter(object sender, EventArgs e)
{
aboutToolTip.AutoPopDelay = 5000;
aboutToolTip.SetToolTip(appVersionLabel, "Left click for copy debug info to the clipboard");
}
#endregion
}
}

View file

@ -117,267 +117,39 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="appLogoPictureBox.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="thirdPartyDevRichTextBox.Text" xml:space="preserve">
<value>Custom TextBox with Watermark: https://www.codeproject.com/Articles/319910/Custom-TextBox-with-watermark
CustomSettingsProvider: http://www.codeproject.com/Articles/20917/Settings-Provider
MsgBoxCenterParent: http://stackoverflow.com/a/2576220/4430027
<metadata name="randomColorTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>21, 17</value>
</metadata>
<metadata name="aboutToolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>176, 17</value>
</metadata>
<data name="appInfoRichTextBox.Text" xml:space="preserve">
<value>This is an open-source app created by Sigmanor and licensed under MIT.
The source code, issues and documentation posted on GitHub.
Github: https://github.com/Crypto-Notepad/Crypto-Notepad
Website: https://crypto-notepad.github.io/
Contributors/testers:
smaragdus https://github.com/smaragdus
h5p9sl https://github.com/h5p9sl
External libraries:
CustomSettingsProvider: https://www.codeproject.com/Articles/20917/1
TextBox Placeholder: https://www.codeproject.com/Articles/319910/0
PasswordGenerator: https://github.com/prjseal/PasswordGenerator/
OS Version Info: https://www.codeproject.com/Articles/73000/2
Farm-Fresh Web Icons: https://www.fatcow.com/free-icons
DotNetZip: https://www.nuget.org/packages/DotNetZip/
Icons: http://p.yusukekamiyamane.com/ http://www.fatcow.com/free-icons
AES: http://www.codeproject.com/Answers/391219/AES#answer2</value>
Fugue Icons: https://p.yusukekamiyamane.com/
Fody: https://github.com/Fody/Fody</value>
</data>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>44</value>
<value>94</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAYAAAAAAAEAIAAwBwAAZgAAAICAAAABACAAKAgBAJYHAABAQAAAAQAgAChCAAC+DwEAMDAAAAEA

View file

@ -1,6 +1,6 @@
namespace Crypto_Notepad
{
partial class ChangeKeyForm
partial class ChangePasswordForm
{
/// <summary>
/// Required designer variable.
@ -28,54 +28,31 @@ protected override void Dispose(bool disposing)
/// </summary>
private void InitializeComponent()
{
this.oldKeyTextBox = new System.Windows.Forms.PlaceholderTextBox();
this.newKeyTextBox = new System.Windows.Forms.PlaceholderTextBox();
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ChangePasswordForm));
this.acceptButton = new System.Windows.Forms.Button();
this.mainPanel = new System.Windows.Forms.Panel();
this.lockPictureBox = new System.Windows.Forms.PictureBox();
this.showNewKeyPictureBox = new System.Windows.Forms.PictureBox();
this.showOldKeyPictureBox = new System.Windows.Forms.PictureBox();
this.statusLabel = new System.Windows.Forms.Label();
this.changeKeyFormToolTip = new System.Windows.Forms.ToolTip(this.components);
this.passwordGeneratorButton = new System.Windows.Forms.Button();
this.oldKeyTextBox = new System.Windows.Forms.PlaceholderTextBox();
this.newKeyTextBox = new System.Windows.Forms.PlaceholderTextBox();
this.mainPanel.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.lockPictureBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.showNewKeyPictureBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.showOldKeyPictureBox)).BeginInit();
this.SuspendLayout();
//
// oldKeyTextBox
//
this.oldKeyTextBox.Location = new System.Drawing.Point(63, 12);
this.oldKeyTextBox.Name = "oldKeyTextBox";
this.oldKeyTextBox.Size = new System.Drawing.Size(177, 22);
this.oldKeyTextBox.TabIndex = 0;
this.oldKeyTextBox.UseSystemPasswordChar = true;
this.oldKeyTextBox.Placeholder = "Old key";
this.oldKeyTextBox.PlaceholderActiveForeColor = System.Drawing.Color.DarkGray;
this.oldKeyTextBox.PlaceholderFont = new System.Drawing.Font("Segoe UI", 8.25F);
this.oldKeyTextBox.PlaceholderForeColor = System.Drawing.Color.DarkGray;
this.oldKeyTextBox.TextChanged += new System.EventHandler(this.OldKeyTextBox_TextChanged);
this.oldKeyTextBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.OldKeyTextBox_KeyDown);
//
// newKeyTextBox
//
this.newKeyTextBox.Location = new System.Drawing.Point(63, 37);
this.newKeyTextBox.Name = "newKeyTextBox";
this.newKeyTextBox.Size = new System.Drawing.Size(177, 22);
this.newKeyTextBox.TabIndex = 1;
this.newKeyTextBox.UseSystemPasswordChar = true;
this.newKeyTextBox.Placeholder = "New key";
this.newKeyTextBox.PlaceholderActiveForeColor = System.Drawing.Color.DarkGray;
this.newKeyTextBox.PlaceholderFont = new System.Drawing.Font("Segoe UI", 8.25F);
this.newKeyTextBox.PlaceholderForeColor = System.Drawing.Color.DarkGray;
this.newKeyTextBox.TextChanged += new System.EventHandler(this.NewKeyTextBox_TextChanged);
this.newKeyTextBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.NewKeyTextBox_KeyDown);
//
// acceptButton
//
this.acceptButton.Enabled = false;
this.acceptButton.Location = new System.Drawing.Point(212, 79);
this.acceptButton.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.acceptButton.Location = new System.Drawing.Point(211, 80);
this.acceptButton.Name = "acceptButton";
this.acceptButton.Size = new System.Drawing.Size(53, 23);
this.acceptButton.Size = new System.Drawing.Size(53, 25);
this.acceptButton.TabIndex = 4;
this.acceptButton.Text = "Accept";
this.acceptButton.UseVisualStyleBackColor = true;
@ -92,16 +69,17 @@ private void InitializeComponent()
this.mainPanel.Dock = System.Windows.Forms.DockStyle.Top;
this.mainPanel.Location = new System.Drawing.Point(0, 0);
this.mainPanel.Name = "mainPanel";
this.mainPanel.Size = new System.Drawing.Size(269, 75);
this.mainPanel.Size = new System.Drawing.Size(295, 75);
this.mainPanel.TabIndex = 6;
//
// lockPictureBox
//
this.lockPictureBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.lockPictureBox.Cursor = System.Windows.Forms.Cursors.Default;
this.lockPictureBox.Image = global::Crypto_Notepad.Properties.Resources.gnupg_keys;
this.lockPictureBox.Location = new System.Drawing.Point(8, 12);
this.lockPictureBox.Location = new System.Drawing.Point(8, 14);
this.lockPictureBox.Name = "lockPictureBox";
this.lockPictureBox.Size = new System.Drawing.Size(47, 47);
this.lockPictureBox.Size = new System.Drawing.Size(48, 48);
this.lockPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.lockPictureBox.TabIndex = 7;
this.lockPictureBox.TabStop = false;
@ -111,9 +89,9 @@ private void InitializeComponent()
this.showNewKeyPictureBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.showNewKeyPictureBox.Cursor = System.Windows.Forms.Cursors.Hand;
this.showNewKeyPictureBox.Image = global::Crypto_Notepad.Properties.Resources.eye_half;
this.showNewKeyPictureBox.Location = new System.Drawing.Point(239, 37);
this.showNewKeyPictureBox.Location = new System.Drawing.Point(269, 39);
this.showNewKeyPictureBox.Name = "showNewKeyPictureBox";
this.showNewKeyPictureBox.Size = new System.Drawing.Size(18, 22);
this.showNewKeyPictureBox.Size = new System.Drawing.Size(19, 23);
this.showNewKeyPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.showNewKeyPictureBox.TabIndex = 5;
this.showNewKeyPictureBox.TabStop = false;
@ -124,9 +102,9 @@ private void InitializeComponent()
this.showOldKeyPictureBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.showOldKeyPictureBox.Cursor = System.Windows.Forms.Cursors.Hand;
this.showOldKeyPictureBox.Image = global::Crypto_Notepad.Properties.Resources.eye_half;
this.showOldKeyPictureBox.Location = new System.Drawing.Point(239, 12);
this.showOldKeyPictureBox.Location = new System.Drawing.Point(269, 14);
this.showOldKeyPictureBox.Name = "showOldKeyPictureBox";
this.showOldKeyPictureBox.Size = new System.Drawing.Size(18, 22);
this.showOldKeyPictureBox.Size = new System.Drawing.Size(19, 23);
this.showOldKeyPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.showOldKeyPictureBox.TabIndex = 5;
this.showOldKeyPictureBox.TabStop = false;
@ -135,30 +113,73 @@ private void InitializeComponent()
// statusLabel
//
this.statusLabel.AutoSize = true;
this.statusLabel.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.statusLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.statusLabel.ForeColor = System.Drawing.Color.Black;
this.statusLabel.Location = new System.Drawing.Point(5, 81);
this.statusLabel.Location = new System.Drawing.Point(2, 85);
this.statusLabel.Name = "statusLabel";
this.statusLabel.Size = new System.Drawing.Size(42, 17);
this.statusLabel.Size = new System.Drawing.Size(38, 15);
this.statusLabel.TabIndex = 7;
this.statusLabel.Text = "status";
//
// ChangeKeyForm
// passwordGeneratorButton
//
this.passwordGeneratorButton.Image = global::Crypto_Notepad.Properties.Resources.key_plus;
this.passwordGeneratorButton.Location = new System.Drawing.Point(266, 80);
this.passwordGeneratorButton.Name = "passwordGeneratorButton";
this.passwordGeneratorButton.Size = new System.Drawing.Size(25, 25);
this.passwordGeneratorButton.TabIndex = 9;
this.changeKeyFormToolTip.SetToolTip(this.passwordGeneratorButton, "Password Generator");
this.passwordGeneratorButton.UseVisualStyleBackColor = true;
this.passwordGeneratorButton.Click += new System.EventHandler(this.PasswordGeneratorButton_Click);
//
// oldKeyTextBox
//
this.oldKeyTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.oldKeyTextBox.Location = new System.Drawing.Point(64, 14);
this.oldKeyTextBox.Name = "oldKeyTextBox";
this.oldKeyTextBox.Placeholder = "Old password";
this.oldKeyTextBox.PlaceholderActiveForeColor = System.Drawing.Color.DarkGray;
this.oldKeyTextBox.PlaceholderFont = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.oldKeyTextBox.PlaceholderForeColor = System.Drawing.Color.DarkGray;
this.oldKeyTextBox.Size = new System.Drawing.Size(206, 23);
this.oldKeyTextBox.TabIndex = 0;
this.oldKeyTextBox.UseSystemPasswordChar = true;
this.oldKeyTextBox.TextChanged += new System.EventHandler(this.OldKeyTextBox_TextChanged);
this.oldKeyTextBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.OldKeyTextBox_KeyDown);
//
// newKeyTextBox
//
this.newKeyTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.newKeyTextBox.Location = new System.Drawing.Point(64, 39);
this.newKeyTextBox.Name = "newKeyTextBox";
this.newKeyTextBox.Placeholder = "New password";
this.newKeyTextBox.PlaceholderActiveForeColor = System.Drawing.Color.DarkGray;
this.newKeyTextBox.PlaceholderFont = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.newKeyTextBox.PlaceholderForeColor = System.Drawing.Color.DarkGray;
this.newKeyTextBox.Size = new System.Drawing.Size(206, 23);
this.newKeyTextBox.TabIndex = 1;
this.newKeyTextBox.UseSystemPasswordChar = true;
this.newKeyTextBox.TextChanged += new System.EventHandler(this.NewKeyTextBox_TextChanged);
this.newKeyTextBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.NewKeyTextBox_KeyDown);
//
// ChangePasswordForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(269, 106);
this.ClientSize = new System.Drawing.Size(295, 110);
this.Controls.Add(this.passwordGeneratorButton);
this.Controls.Add(this.statusLabel);
this.Controls.Add(this.mainPanel);
this.Controls.Add(this.acceptButton);
this.Controls.Add(this.mainPanel);
this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "ChangeKeyForm";
this.Name = "ChangePasswordForm";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Change Key";
this.Text = "Change Password";
this.mainPanel.ResumeLayout(false);
this.mainPanel.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.lockPictureBox)).EndInit();
@ -179,5 +200,7 @@ private void InitializeComponent()
private System.Windows.Forms.Panel mainPanel;
private System.Windows.Forms.PictureBox lockPictureBox;
private System.Windows.Forms.Label statusLabel;
private System.Windows.Forms.ToolTip changeKeyFormToolTip;
private System.Windows.Forms.Button passwordGeneratorButton;
}
}

View file

@ -6,54 +6,59 @@
namespace Crypto_Notepad
{
public partial class ChangeKeyForm : Form
public partial class ChangePasswordForm : Form
{
public ChangeKeyForm()
public ChangePasswordForm()
{
InitializeComponent();
statusLabel.Text = "";
}
/*Buttons*/
private async void AcceptButton_Click(object sender, EventArgs e)
#region Methods
private async void ChangePasswordStatus(string message, Color color)
{
statusLabel.ForeColor = color;
statusLabel.Text = message;
oldKeyTextBox.Text = "";
newKeyTextBox.Text = "";
await Task.Delay(2500);
statusLabel.Text = "";
}
#endregion
#region Event Handlers
private void AcceptButton_Click(object sender, EventArgs e)
{
oldKeyTextBox.Focus();
if (oldKeyTextBox.Text == PublicVar.encryptionKey.Get() & oldKeyTextBox.Text != newKeyTextBox.Text)
if (oldKeyTextBox.Text == PublicVar.password.Get() & oldKeyTextBox.Text != newKeyTextBox.Text)
{
PublicVar.encryptionKey.Set(newKeyTextBox.Text);
PublicVar.keyChanged = true;
statusLabel.ForeColor = Color.Green;
statusLabel.Text = "Key was successfully changed";
oldKeyTextBox.Text = "";
newKeyTextBox.Text = "";
await Task.Delay(3000);
statusLabel.Text = "";
PublicVar.password.Set(newKeyTextBox.Text);
PublicVar.passwordChanged = true;
ChangePasswordStatus("Password was successfully changed", Color.Green);
}
else if (oldKeyTextBox.Text != PublicVar.encryptionKey.Get())
else if (oldKeyTextBox.Text != PublicVar.password.Get())
{
SystemSounds.Hand.Play();
statusLabel.ForeColor = Color.Red;
statusLabel.Text = "Invalid old key";
oldKeyTextBox.Text = "";
newKeyTextBox.Text = "";
await Task.Delay(2000);
statusLabel.Text = "";
ChangePasswordStatus("Invalid old password", Color.Red);
}
else if(oldKeyTextBox.Text == newKeyTextBox.Text)
else if (oldKeyTextBox.Text == newKeyTextBox.Text)
{
SystemSounds.Hand.Play();
statusLabel.ForeColor = Color.Red;
statusLabel.Text = "New key is the same as old";
oldKeyTextBox.Text = "";
newKeyTextBox.Text = "";
await Task.Delay(2000);
statusLabel.Text = "";
ChangePasswordStatus("New password is the same as old", Color.Red);
}
}
/*Buttons*/
private void PasswordGeneratorButton_Click(object sender, EventArgs e)
{
ActiveControl = null;
PasswordGeneratorFrom passwordGeneratorFrom = new PasswordGeneratorFrom();
if ((Application.OpenForms["PasswordGeneratorFrom"] as PasswordGeneratorFrom) == null)
{
passwordGeneratorFrom.Show(this);
}
}
/*Enter keys area*/
private void ShowOldKeyPictureBox_Click(object sender, EventArgs e)
{
if (oldKeyTextBox.UseSystemPasswordChar)
@ -138,7 +143,7 @@ private void OldKeyTextBox_KeyDown(object sender, KeyEventArgs e)
AcceptButton_Click(sender, e);
}
}
/*Enter keys area*/
#endregion
}

View file

@ -0,0 +1,172 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="acceptButton.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="mainPanel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="lockPictureBox.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="showNewKeyPictureBox.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="showOldKeyPictureBox.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="oldKeyTextBox.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="newKeyTextBox.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="changeKeyFormToolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="passwordGeneratorButton.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAA
AAD///8A////AP///wAAAAACAAAADAAAABoAGjFZAC1XvQAYLmAAAAArAAAAHgAAABAAAAAE////AP//
/wD///8A////AP///wD///8AAAAAAQAAAAYAAAANADNdqIXO5v8AM12pACM+TwAAAA8AAAAIAAAAAv//
/wD///8A////AP///wD///8A////AAAAAAAAAAAAAC9PAAA+aKGDzOX/fcrk/wA+aaIAL08AAAAAAAAA
AAD///8A////AP///wD///8A////AP///wAAAAAAADlZAABLdgAAS3apg8zl/wBLdqkAS3YuAEp0AAAV
IAAAAAAA////AP///wD///8A////AP///wD///8AAFR/AABUfwAAVH8AAFR/toPM5f92wtz2AFR/tgBU
fwAAVH8AAD9gAP///wD///8A////AP///wD///8A////AABVgAAAVYAAAFWAAABVgLWDzOX/AFWAtQBV
gC4AVYAAAFaBAABXgwD///8A////AP///wD///8A////AP///wAAWYUAAFaBAABVgAAAVYCxg8zl/2a4
1f8AVYCxAFWAAABWgQAAWYUA////AP///wD///8A////AP///wD///8AAFmFAABWgQUAVYBBAFWArIPM
5f9hs9L/AFWArABVgEEAVoEFAFmFAP///wD///8A////AP///wD///8A////AABZhQcAWIRtPo6xxXzD
4OtyvNr/W67O/1ev0usshq3FAFiEbQBZhQf///8A////AP///wD///8A////AP///wABXoxLVKTFzJba
9v+IzO7/Z7LT/0yixf9Nr9f/Ysbt/zuZwswBXoxL////AP///wD///8A////AP///wD///8AAWOUhZnf
9/ea3vj/ltr1/4HK5f9uvdr/asPk/2nK8P9pzfT3AWOUhf///wD///8A////AP///wD///8A////AAJq
npKh5f7/EJixzgCQqMkAkKjJAJCoyQCQqMkJlrDObtP6/wJqnpL///8A////AP///wD///8A////AP//
/wACcKhxjNfx60Wry90AhqSCAImlGQCJpRkAhqSCKaLH3WrK7+sCcKhx////AP///wD///8A////AP//
/wD///8AAnawLyeRw6Sd4fn/RaHG1g96pboLeKK6KZS81nfR8/8ij8KkAnawL////wD///8A////AP//
/wD///8A////AAN7twEDfLlMKZbJoX7O7d2N1ez/gMzm/23E5d0llMmhA3y5TAN7twH///8A////AP//
/wD///8A////AP///wADe7cAA369AQOAvy0DgL9pA4C/gwOAv4MDgL9pA4C/LQN+vQEDe7cA////AP//
/wD///8A4AcAAOAHAAD8PwAA/D8AAPw/AAD8PwAA/D8AAPAPAADgBwAA4AcAAOAHAADgBwAA4AcAAOAH
AADgBwAA8A8AAA==
</value>
</data>
</root>

View file

@ -1,6 +1,6 @@
namespace Crypto_Notepad
{
partial class EnterKeyForm
partial class EnterPasswordForm
{
/// <summary>
/// Required designer variable.
@ -28,13 +28,16 @@ protected override void Dispose(bool disposing)
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EnterKeyForm));
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EnterPasswordForm));
this.okButton = new System.Windows.Forms.Button();
this.mainPanel = new System.Windows.Forms.Panel();
this.lockPictureBox = new System.Windows.Forms.PictureBox();
this.fileNameLabel = new System.Windows.Forms.Label();
this.showKeyPictureBox = new System.Windows.Forms.PictureBox();
this.keyTextBox = new System.Windows.Forms.PlaceholderTextBox();
this.showKeyPictureBox = new System.Windows.Forms.PictureBox();
this.enterKeyFormToolTip = new System.Windows.Forms.ToolTip(this.components);
this.passwordGeneratorButton = new System.Windows.Forms.Button();
this.mainPanel.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.lockPictureBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.showKeyPictureBox)).BeginInit();
@ -43,9 +46,10 @@ private void InitializeComponent()
// okButton
//
this.okButton.Enabled = false;
this.okButton.Location = new System.Drawing.Point(190, 80);
this.okButton.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.okButton.Location = new System.Drawing.Point(211, 80);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(75, 23);
this.okButton.Size = new System.Drawing.Size(53, 25);
this.okButton.TabIndex = 1;
this.okButton.Text = "OK";
this.okButton.UseVisualStyleBackColor = true;
@ -61,16 +65,17 @@ private void InitializeComponent()
this.mainPanel.Dock = System.Windows.Forms.DockStyle.Top;
this.mainPanel.Location = new System.Drawing.Point(0, 0);
this.mainPanel.Name = "mainPanel";
this.mainPanel.Size = new System.Drawing.Size(269, 75);
this.mainPanel.Size = new System.Drawing.Size(295, 75);
this.mainPanel.TabIndex = 5;
//
// lockPictureBox
//
this.lockPictureBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.lockPictureBox.Cursor = System.Windows.Forms.Cursors.Default;
this.lockPictureBox.Image = global::Crypto_Notepad.Properties.Resources.key_solid;
this.lockPictureBox.Location = new System.Drawing.Point(8, 12);
this.lockPictureBox.Location = new System.Drawing.Point(8, 14);
this.lockPictureBox.Name = "lockPictureBox";
this.lockPictureBox.Size = new System.Drawing.Size(47, 47);
this.lockPictureBox.Size = new System.Drawing.Size(48, 48);
this.lockPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.lockPictureBox.TabIndex = 6;
this.lockPictureBox.TabStop = false;
@ -78,46 +83,60 @@ private void InitializeComponent()
// fileNameLabel
//
this.fileNameLabel.AutoEllipsis = true;
this.fileNameLabel.Location = new System.Drawing.Point(61, 12);
this.fileNameLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.fileNameLabel.Location = new System.Drawing.Point(61, 14);
this.fileNameLabel.Name = "fileNameLabel";
this.fileNameLabel.Size = new System.Drawing.Size(196, 13);
this.fileNameLabel.Size = new System.Drawing.Size(221, 13);
this.fileNameLabel.TabIndex = 6;
this.fileNameLabel.Text = "File name";
this.fileNameLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// keyTextBox
//
this.keyTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.keyTextBox.Location = new System.Drawing.Point(64, 39);
this.keyTextBox.Name = "keyTextBox";
this.keyTextBox.Placeholder = "Password";
this.keyTextBox.PlaceholderActiveForeColor = System.Drawing.Color.DarkGray;
this.keyTextBox.PlaceholderFont = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.keyTextBox.PlaceholderForeColor = System.Drawing.Color.DarkGray;
this.keyTextBox.Size = new System.Drawing.Size(206, 23);
this.keyTextBox.TabIndex = 0;
this.keyTextBox.UseSystemPasswordChar = true;
this.keyTextBox.TextChanged += new System.EventHandler(this.KeyTextBox_TextChanged);
this.keyTextBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.KeyTextBox_KeyDown);
//
// showKeyPictureBox
//
this.showKeyPictureBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.showKeyPictureBox.Cursor = System.Windows.Forms.Cursors.Hand;
this.showKeyPictureBox.Image = global::Crypto_Notepad.Properties.Resources.eye_half;
this.showKeyPictureBox.InitialImage = global::Crypto_Notepad.Properties.Resources.eye_half;
this.showKeyPictureBox.Location = new System.Drawing.Point(240, 37);
this.showKeyPictureBox.Location = new System.Drawing.Point(269, 39);
this.showKeyPictureBox.Name = "showKeyPictureBox";
this.showKeyPictureBox.Size = new System.Drawing.Size(18, 22);
this.showKeyPictureBox.Size = new System.Drawing.Size(19, 23);
this.showKeyPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.showKeyPictureBox.TabIndex = 3;
this.showKeyPictureBox.TabStop = false;
this.showKeyPictureBox.Click += new System.EventHandler(this.ShowKeyPictureBox_Click);
//
// keyTextBox
// passwordGeneratorButton
//
this.keyTextBox.Location = new System.Drawing.Point(64, 37);
this.keyTextBox.Name = "keyTextBox";
this.keyTextBox.Size = new System.Drawing.Size(177, 22);
this.keyTextBox.TabIndex = 0;
this.keyTextBox.UseSystemPasswordChar = true;
this.keyTextBox.Placeholder = "Encryption key";
this.keyTextBox.PlaceholderActiveForeColor = System.Drawing.Color.DarkGray;
this.keyTextBox.PlaceholderFont = new System.Drawing.Font("Segoe UI", 8.25F);
this.keyTextBox.PlaceholderForeColor = System.Drawing.Color.DarkGray;
this.keyTextBox.TextChanged += new System.EventHandler(this.KeyTextBox_TextChanged);
this.keyTextBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.KeyTextBox_KeyDown);
this.passwordGeneratorButton.Image = global::Crypto_Notepad.Properties.Resources.key_plus;
this.passwordGeneratorButton.Location = new System.Drawing.Point(266, 80);
this.passwordGeneratorButton.Name = "passwordGeneratorButton";
this.passwordGeneratorButton.Size = new System.Drawing.Size(25, 25);
this.passwordGeneratorButton.TabIndex = 10;
this.enterKeyFormToolTip.SetToolTip(this.passwordGeneratorButton, "Password Generator");
this.passwordGeneratorButton.UseVisualStyleBackColor = true;
this.passwordGeneratorButton.Click += new System.EventHandler(this.PasswordGeneratorButton_Click);
//
// EnterKeyForm
// EnterPasswordForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(269, 106);
this.ClientSize = new System.Drawing.Size(295, 110);
this.Controls.Add(this.passwordGeneratorButton);
this.Controls.Add(this.mainPanel);
this.Controls.Add(this.okButton);
this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
@ -125,12 +144,11 @@ private void InitializeComponent()
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "EnterKeyForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
this.Name = "EnterPasswordForm";
this.Text = "Crypto Notepad";
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.EnterKeyForm_FormClosed);
this.Load += new System.EventHandler(this.EnterKeyForm_Load);
this.Shown += new System.EventHandler(this.EnterKeyForm_Shown);
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.EnterPasswordForm_FormClosed);
this.Load += new System.EventHandler(this.EnterPasswordForm_Load);
this.Shown += new System.EventHandler(this.EnterPasswordForm_Shown);
this.mainPanel.ResumeLayout(false);
this.mainPanel.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.lockPictureBox)).EndInit();
@ -146,5 +164,7 @@ private void InitializeComponent()
private System.Windows.Forms.Label fileNameLabel;
private System.Windows.Forms.PictureBox lockPictureBox;
public System.Windows.Forms.PlaceholderTextBox keyTextBox;
private System.Windows.Forms.ToolTip enterKeyFormToolTip;
private System.Windows.Forms.Button passwordGeneratorButton;
}
}

View file

@ -3,16 +3,16 @@
namespace Crypto_Notepad
{
public partial class EnterKeyForm : Form
public partial class EnterPasswordForm : Form
{
public EnterKeyForm()
public EnterPasswordForm()
{
PublicVar.okPressed = false;
InitializeComponent();
}
/*Form Events*/
private void EnterKeyForm_FormClosed(object sender, FormClosedEventArgs e)
private void EnterPasswordForm_FormClosed(object sender, FormClosedEventArgs e)
{
MainForm main = Owner as MainForm;
if (main.Visible == false)
@ -23,16 +23,11 @@ private void EnterKeyForm_FormClosed(object sender, FormClosedEventArgs e)
keyTextBox.Focus();
}
private void EnterKeyForm_Load(object sender, EventArgs e)
private void EnterPasswordForm_Load(object sender, EventArgs e)
{
fileNameLabel.Text = PublicVar.openFileName;
Properties.Settings settings = Properties.Settings.Default;
TopMost = settings.alwaysOnTop;
}
private void EnterKeyForm_Shown(object sender, EventArgs e)
{
fileNameLabel.Text = PublicVar.openFileName;
MainForm main = Owner as MainForm;
if (main.Visible)
{
@ -43,6 +38,11 @@ private void EnterKeyForm_Shown(object sender, EventArgs e)
CenterToScreen();
}
}
private void EnterPasswordForm_Shown(object sender, EventArgs e)
{
fileNameLabel.Text = PublicVar.openFileName;
}
/*Form Events*/
@ -95,6 +95,16 @@ private void OkButton_Click(object sender, EventArgs e)
PublicVar.okPressed = true;
Hide();
}
private void PasswordGeneratorButton_Click(object sender, EventArgs e)
{
ActiveControl = null;
PasswordGeneratorFrom passwordGeneratorFrom = new PasswordGeneratorFrom();
if ((Application.OpenForms["PasswordGeneratorFrom"] as PasswordGeneratorFrom) == null)
{
passwordGeneratorFrom.Show(this);
}
}
/*Buttons*/

View file

@ -117,6 +117,9 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="enterKeyFormToolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>

View file

@ -130,24 +130,6 @@
<value>260, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="lockToolbarButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIdSURBVDhPlZPdS5NRHMd/5zkQeNtFF0H9A9aVBF12
4U10ZXCKDFaIyjaqi0HT1rTFtDfFFAdlU9LMqJVrs1Zt2laDqIYtTXMXMXvDlwoqoosw6tf5Pu4RE4N1
4MP5vX2/5zzPw0NYmzcKOllp0K16g+54JCV9sizlky7N6QIu1NDDDGahMZcltIgdkVvSrRuCn541vh2P
OT8CxKiht3wWWgq5jJV45p54Z4fObH15aq/oAIhRQ2/FLFHELZfocRjg3OzTpl+BmjXxtn2CAGLU0MNM
+LCkmwXowXFpktJE6yS17xf9rxJuDlSLoQt2vBttoOP8SD2jh1OHGyXdP7bIcgNHokGePbGHro6Gavh8
rRjsdohr/t2UQRzr2MHoRdxGUBscXM2ghT8M8MLrbv6eC/DnbCvPP/Zz7raNpxM2nk/b+FvGxj+nqlgb
tK9q8Humj39MdfLXbAvPPfLzm6SHn19XnIsqfh9X/OWh4oVx278NMqFazt6w84vIAZ6IHuKxsJNTPYrT
vYozA4ontNn0vcq/DYYbpEVbsY9w1yM740clAep3GhbBYm/Qazcu9unPCah5p2FxqdgbNFUYl5srtEZD
QgiLsFKK811lJohBV125mWO3aiFFoxoqXbf4O1gGI/xuO3O+nL1en0lysMrMsVs1zMBgSazXWs0m3za6
goY2mgS7SsUYcuxWrXAyZkLQFLRUooHf+v9Ea6jkD7YQxEPE9EcrAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>969, 17</value>
</metadata>
<data name="newToolbarButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
@ -163,21 +145,9 @@
ls8mjzluOrP5k2QAWNYAQ/B729ITVjwAAAAASUVORK5CYII=
</value>
</data>
<data name="changeKeyToolbarButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIfSURBVDhPfYxdSJNhFMfPu/VJhd4E5UVEETFyk+gq
gkUX3qjhjbVGFJaQbaBUxIoym81JgX0oY2RQ8I4JkzSdUpk4gq0ZW28vpKgwWh/gvFn2QeWqi07nyFbP
08Ue+PE85zn//w8Q8S+PLxoh0mpUnrqNZsJBePLw28w7zogdaaCl8qTFWJPwm9QFvTX9Yfo6zmtuzDxr
Sid821TecUbsSIIhl6Ei1rU9+PP9XZxQK2d6L5SMBc6vGRv3mWa+vjqH0ZtbgpwRO5IgdMpw+stsZ/bF
/cp0sAOu9F6DjQy/nwdM6U9JZ5YzYkcS3HMaun9nVAzfLtVDtyAhMuRfrf+aakbOiB1J4GtQvLm3Pbkf
b+7g95QfM8k2TEWacS7mxM9JB3576chxRuxIgs6jSnU8WKctUvmjdhWnhhsxHqjB2cH9uDBxHKM9ezTO
iB1J4LXDyvZD0BS+YY2/i7VkU+NnUH9wGCcHbdmBjvI47zgjdv4XQNtBWO4+APuI/ozmwcmRY8hv/uMd
Z8SONOQFQGEmzILp0RMsCPMf74oK8sUCD1nAN2HhPxZ4bEUEl+tA5BELXkddi/wu/NfvLSLgY98N4Kpe
oo8FfBOWs1UAm9cvReSONORPbQXASSuoLJhLXkKHFQL8VzhSRxoAFGIFse7ILgjN616ku8+6FWrpr4RY
RRikjjTQklhLlO0sA7vNDBHLBqineQexiSgllv3rIPwBd+IjYDkT9I0AAAAASUVORK5CYII=
</value>
</data>
<metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>969, 17</value>
</metadata>
<data name="openToolbarButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
@ -272,6 +242,36 @@
IwpvUR5KXgTlksvJSQ6azRrnFgsfGAyPEr46Itqn+s5OarbbgQ8vrShTlEtOJJQaH//GnkgwBNVardRg
sy1DgCqXnDkcvCsSsCd4KypC6xLexARSBqGq2mrdKOW1wnWwEywWIvxivJOMfKMXmVKWjEKToa5uobKx
ces/oBcZIjJ+Aga8g1BwXIV5AAAAAElFTkSuQmCC
</value>
</data>
<data name="changePasswordToolbarButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIfSURBVDhPfYxdSJNhFMfPu/VJhd4E5UVEETFyk+gq
gkUX3qjhjbVGFJaQbaBUxIoym81JgX0oY2RQ8I4JkzSdUpk4gq0ZW28vpKgwWh/gvFn2QeWqi07nyFbP
08Ue+PE85zn//w8Q8S+PLxoh0mpUnrqNZsJBePLw28w7zogdaaCl8qTFWJPwm9QFvTX9Yfo6zmtuzDxr
Sid821TecUbsSIIhl6Ei1rU9+PP9XZxQK2d6L5SMBc6vGRv3mWa+vjqH0ZtbgpwRO5IgdMpw+stsZ/bF
/cp0sAOu9F6DjQy/nwdM6U9JZ5YzYkcS3HMaun9nVAzfLtVDtyAhMuRfrf+aakbOiB1J4GtQvLm3Pbkf
b+7g95QfM8k2TEWacS7mxM9JB3576chxRuxIgs6jSnU8WKctUvmjdhWnhhsxHqjB2cH9uDBxHKM9ezTO
iB1J4LXDyvZD0BS+YY2/i7VkU+NnUH9wGCcHbdmBjvI47zgjdv4XQNtBWO4+APuI/ozmwcmRY8hv/uMd
Z8SONOQFQGEmzILp0RMsCPMf74oK8sUCD1nAN2HhPxZ4bEUEl+tA5BELXkddi/wu/NfvLSLgY98N4Kpe
oo8FfBOWs1UAm9cvReSONORPbQXASSuoLJhLXkKHFQL8VzhSRxoAFGIFse7ILgjN616ku8+6FWrpr4RY
RRikjjTQklhLlO0sA7vNDBHLBqineQexiSgllv3rIPwBd+IjYDkT9I0AAAAASUVORK5CYII=
</value>
</data>
<data name="lockToolbarButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIdSURBVDhPlZPdS5NRHMd/5zkQeNtFF0H9A9aVBF12
4U10ZXCKDFaIyjaqi0HT1rTFtDfFFAdlU9LMqJVrs1Zt2laDqIYtTXMXMXvDlwoqoosw6tf5Pu4RE4N1
4MP5vX2/5zzPw0NYmzcKOllp0K16g+54JCV9sizlky7N6QIu1NDDDGahMZcltIgdkVvSrRuCn541vh2P
OT8CxKiht3wWWgq5jJV45p54Z4fObH15aq/oAIhRQ2/FLFHELZfocRjg3OzTpl+BmjXxtn2CAGLU0MNM
+LCkmwXowXFpktJE6yS17xf9rxJuDlSLoQt2vBttoOP8SD2jh1OHGyXdP7bIcgNHokGePbGHro6Gavh8
rRjsdohr/t2UQRzr2MHoRdxGUBscXM2ghT8M8MLrbv6eC/DnbCvPP/Zz7raNpxM2nk/b+FvGxj+nqlgb
tK9q8Humj39MdfLXbAvPPfLzm6SHn19XnIsqfh9X/OWh4oVx278NMqFazt6w84vIAZ6IHuKxsJNTPYrT
vYozA4ontNn0vcq/DYYbpEVbsY9w1yM740clAep3GhbBYm/Qazcu9unPCah5p2FxqdgbNFUYl5srtEZD
QgiLsFKK811lJohBV125mWO3aiFFoxoqXbf4O1gGI/xuO3O+nL1en0lysMrMsVs1zMBgSazXWs0m3za6
goY2mgS7SsUYcuxWrXAyZkLQFLRUooHf+v9Ea6jkD7YQxEPE9EcrAAAAAElFTkSuQmCC
</value>
</data>
<data name="settingsToolbarButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -6473,6 +6473,15 @@
<metadata name="statusPanelTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>389, 17</value>
</metadata>
<metadata name="lockTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1059, 17</value>
</metadata>
<metadata name="clipboardTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 56</value>
</metadata>
<metadata name="pasteBoardTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>151, 56</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>99</value>
</metadata>

View file

@ -0,0 +1,307 @@
namespace Crypto_Notepad
{
partial class PasswordGeneratorFrom
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PasswordGeneratorFrom));
this.generateButton = new System.Windows.Forms.Button();
this.passwordsListTextBox = new System.Windows.Forms.TextBox();
this.clearPasswordsListButton = new System.Windows.Forms.Button();
this.lowercaseCheckBox = new System.Windows.Forms.CheckBox();
this.uppercaseCheckBox = new System.Windows.Forms.CheckBox();
this.numericCheckBox = new System.Windows.Forms.CheckBox();
this.passwordLengthLabel = new System.Windows.Forms.Label();
this.numberOfStringsLabel = new System.Windows.Forms.Label();
this.passwordLengthTextBox = new System.Windows.Forms.TextBox();
this.numberOfStringsTextBox = new System.Windows.Forms.TextBox();
this.copyAllButton = new System.Windows.Forms.Button();
this.copyLastButton = new System.Windows.Forms.Button();
this.passwordGeneratorToolTip = new System.Windows.Forms.ToolTip(this.components);
this.specialCheckBox = new System.Windows.Forms.CheckBox();
this.additionalCheckBox = new System.Windows.Forms.CheckBox();
this.bracketsCheckBox = new System.Windows.Forms.CheckBox();
this.specialGroupBox = new System.Windows.Forms.GroupBox();
this.specialGroupBox.SuspendLayout();
this.SuspendLayout();
//
// generateButton
//
this.generateButton.AutoSize = true;
this.generateButton.Location = new System.Drawing.Point(9, 132);
this.generateButton.Name = "generateButton";
this.generateButton.Size = new System.Drawing.Size(66, 23);
this.generateButton.TabIndex = 1;
this.generateButton.Text = "Generate";
this.generateButton.UseVisualStyleBackColor = true;
this.generateButton.Click += new System.EventHandler(this.GenerateButton_Click);
//
// passwordsListTextBox
//
this.passwordsListTextBox.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.passwordsListTextBox.Location = new System.Drawing.Point(9, 161);
this.passwordsListTextBox.Multiline = true;
this.passwordsListTextBox.Name = "passwordsListTextBox";
this.passwordsListTextBox.ReadOnly = true;
this.passwordsListTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.passwordsListTextBox.Size = new System.Drawing.Size(282, 174);
this.passwordsListTextBox.TabIndex = 11;
this.passwordsListTextBox.WordWrap = false;
this.passwordsListTextBox.TextChanged += new System.EventHandler(this.PasswordsListTextBox_TextChanged);
//
// clearPasswordsListButton
//
this.clearPasswordsListButton.AutoSize = true;
this.clearPasswordsListButton.Location = new System.Drawing.Point(81, 132);
this.clearPasswordsListButton.Name = "clearPasswordsListButton";
this.clearPasswordsListButton.Size = new System.Drawing.Size(66, 23);
this.clearPasswordsListButton.TabIndex = 4;
this.clearPasswordsListButton.Text = "Clear";
this.clearPasswordsListButton.UseVisualStyleBackColor = true;
this.clearPasswordsListButton.Click += new System.EventHandler(this.ClearPasswordsListButton_Click);
//
// lowercaseCheckBox
//
this.lowercaseCheckBox.AutoSize = true;
this.lowercaseCheckBox.Checked = true;
this.lowercaseCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.lowercaseCheckBox.Location = new System.Drawing.Point(55, 21);
this.lowercaseCheckBox.Name = "lowercaseCheckBox";
this.lowercaseCheckBox.Size = new System.Drawing.Size(41, 17);
this.lowercaseCheckBox.TabIndex = 7;
this.lowercaseCheckBox.Text = "a-z";
this.lowercaseCheckBox.UseVisualStyleBackColor = true;
this.lowercaseCheckBox.CheckedChanged += new System.EventHandler(this.PasswordValidation);
this.lowercaseCheckBox.Click += new System.EventHandler(this.LowercaseCheckBox_Click);
//
// uppercaseCheckBox
//
this.uppercaseCheckBox.AutoSize = true;
this.uppercaseCheckBox.Checked = true;
this.uppercaseCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.uppercaseCheckBox.Location = new System.Drawing.Point(6, 21);
this.uppercaseCheckBox.Name = "uppercaseCheckBox";
this.uppercaseCheckBox.Size = new System.Drawing.Size(43, 17);
this.uppercaseCheckBox.TabIndex = 8;
this.uppercaseCheckBox.Text = "A-Z";
this.uppercaseCheckBox.UseVisualStyleBackColor = true;
this.uppercaseCheckBox.CheckedChanged += new System.EventHandler(this.PasswordValidation);
this.uppercaseCheckBox.Click += new System.EventHandler(this.UppercaseCheckBox_Click);
//
// numericCheckBox
//
this.numericCheckBox.AutoSize = true;
this.numericCheckBox.Checked = true;
this.numericCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.numericCheckBox.Location = new System.Drawing.Point(102, 21);
this.numericCheckBox.Name = "numericCheckBox";
this.numericCheckBox.Size = new System.Drawing.Size(42, 17);
this.numericCheckBox.TabIndex = 9;
this.numericCheckBox.Text = "0-9";
this.numericCheckBox.UseVisualStyleBackColor = true;
this.numericCheckBox.CheckedChanged += new System.EventHandler(this.PasswordValidation);
this.numericCheckBox.Click += new System.EventHandler(this.NumericCheckBox_Click);
//
// passwordLengthLabel
//
this.passwordLengthLabel.AutoSize = true;
this.passwordLengthLabel.Location = new System.Drawing.Point(6, 9);
this.passwordLengthLabel.Name = "passwordLengthLabel";
this.passwordLengthLabel.Size = new System.Drawing.Size(130, 13);
this.passwordLengthLabel.TabIndex = 8;
this.passwordLengthLabel.Text = "Password length [4-256]";
//
// numberOfStringsLabel
//
this.numberOfStringsLabel.AutoSize = true;
this.numberOfStringsLabel.Location = new System.Drawing.Point(6, 37);
this.numberOfStringsLabel.Name = "numberOfStringsLabel";
this.numberOfStringsLabel.Size = new System.Drawing.Size(143, 13);
this.numberOfStringsLabel.TabIndex = 9;
this.numberOfStringsLabel.Text = "Number of strings [1-1000]";
//
// passwordLengthTextBox
//
this.passwordLengthTextBox.Location = new System.Drawing.Point(166, 6);
this.passwordLengthTextBox.Name = "passwordLengthTextBox";
this.passwordLengthTextBox.Size = new System.Drawing.Size(125, 22);
this.passwordLengthTextBox.TabIndex = 5;
this.passwordLengthTextBox.Text = "40";
this.passwordLengthTextBox.TextChanged += new System.EventHandler(this.PasswordValidation);
this.passwordLengthTextBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.PasswordLengthTextBox_KeyPress);
//
// numberOfStringsTextBox
//
this.numberOfStringsTextBox.Location = new System.Drawing.Point(166, 34);
this.numberOfStringsTextBox.Name = "numberOfStringsTextBox";
this.numberOfStringsTextBox.Size = new System.Drawing.Size(125, 22);
this.numberOfStringsTextBox.TabIndex = 6;
this.numberOfStringsTextBox.Text = "10";
this.numberOfStringsTextBox.TextChanged += new System.EventHandler(this.PasswordValidation);
this.numberOfStringsTextBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.PasswordLengthTextBox_KeyPress);
//
// copyAllButton
//
this.copyAllButton.AutoSize = true;
this.copyAllButton.Location = new System.Drawing.Point(225, 132);
this.copyAllButton.Name = "copyAllButton";
this.copyAllButton.Size = new System.Drawing.Size(66, 23);
this.copyAllButton.TabIndex = 3;
this.copyAllButton.Text = "Copy all";
this.copyAllButton.UseVisualStyleBackColor = true;
this.copyAllButton.Click += new System.EventHandler(this.CopyAllButton_Click);
this.copyAllButton.MouseEnter += new System.EventHandler(this.CopyAllButton_MouseEnter);
//
// copyLastButton
//
this.copyLastButton.AutoSize = true;
this.copyLastButton.Location = new System.Drawing.Point(153, 132);
this.copyLastButton.Name = "copyLastButton";
this.copyLastButton.Size = new System.Drawing.Size(66, 23);
this.copyLastButton.TabIndex = 2;
this.copyLastButton.Text = "Copy last";
this.copyLastButton.UseVisualStyleBackColor = true;
this.copyLastButton.Click += new System.EventHandler(this.CopyLastButton_Click);
this.copyLastButton.MouseEnter += new System.EventHandler(this.CopyLastButton_MouseEnter);
//
// passwordGeneratorToolTip
//
this.passwordGeneratorToolTip.AutoPopDelay = 1000;
this.passwordGeneratorToolTip.InitialDelay = 1;
this.passwordGeneratorToolTip.ReshowDelay = 100;
//
// specialCheckBox
//
this.specialCheckBox.AutoSize = true;
this.specialCheckBox.Location = new System.Drawing.Point(150, 21);
this.specialCheckBox.Name = "specialCheckBox";
this.specialCheckBox.Size = new System.Drawing.Size(117, 17);
this.specialCheckBox.TabIndex = 13;
this.specialCheckBox.Text = "Special characters";
this.passwordGeneratorToolTip.SetToolTip(this.specialCheckBox, "/ \\ ! ? @ # & $ % №");
this.specialCheckBox.UseVisualStyleBackColor = true;
this.specialCheckBox.CheckedChanged += new System.EventHandler(this.PasswordValidation);
this.specialCheckBox.Click += new System.EventHandler(this.SpecialCheckBox_Click);
this.specialCheckBox.MouseEnter += new System.EventHandler(this.SpecialCheckBox_MouseEnter);
//
// additionalCheckBox
//
this.additionalCheckBox.AutoSize = true;
this.additionalCheckBox.Location = new System.Drawing.Point(80, 41);
this.additionalCheckBox.Name = "additionalCheckBox";
this.additionalCheckBox.Size = new System.Drawing.Size(80, 17);
this.additionalCheckBox.TabIndex = 13;
this.additionalCheckBox.Text = "Additional";
this.passwordGeneratorToolTip.SetToolTip(this.additionalCheckBox, "\" ; _ - . = * + : ^ , | \'");
this.additionalCheckBox.UseVisualStyleBackColor = true;
this.additionalCheckBox.CheckedChanged += new System.EventHandler(this.PasswordValidation);
this.additionalCheckBox.Click += new System.EventHandler(this.additionalCheckBox_Click);
this.additionalCheckBox.MouseEnter += new System.EventHandler(this.SpecialCheckBox_MouseEnter);
//
// bracketsCheckBox
//
this.bracketsCheckBox.AutoSize = true;
this.bracketsCheckBox.Location = new System.Drawing.Point(6, 41);
this.bracketsCheckBox.Name = "bracketsCheckBox";
this.bracketsCheckBox.Size = new System.Drawing.Size(68, 17);
this.bracketsCheckBox.TabIndex = 13;
this.bracketsCheckBox.Text = "Brackets";
this.passwordGeneratorToolTip.SetToolTip(this.bracketsCheckBox, "( ) { } [ ] < >");
this.bracketsCheckBox.UseVisualStyleBackColor = true;
this.bracketsCheckBox.CheckedChanged += new System.EventHandler(this.PasswordValidation);
this.bracketsCheckBox.Click += new System.EventHandler(this.BracketsCheckBox_Click);
this.bracketsCheckBox.MouseEnter += new System.EventHandler(this.SpecialCheckBox_MouseEnter);
//
// specialGroupBox
//
this.specialGroupBox.Controls.Add(this.bracketsCheckBox);
this.specialGroupBox.Controls.Add(this.additionalCheckBox);
this.specialGroupBox.Controls.Add(this.uppercaseCheckBox);
this.specialGroupBox.Controls.Add(this.lowercaseCheckBox);
this.specialGroupBox.Controls.Add(this.numericCheckBox);
this.specialGroupBox.Controls.Add(this.specialCheckBox);
this.specialGroupBox.Location = new System.Drawing.Point(9, 62);
this.specialGroupBox.Name = "specialGroupBox";
this.specialGroupBox.Size = new System.Drawing.Size(282, 64);
this.specialGroupBox.TabIndex = 12;
this.specialGroupBox.TabStop = false;
this.specialGroupBox.Text = "Use characters";
//
// PasswordGeneratorFrom
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(298, 344);
this.Controls.Add(this.specialGroupBox);
this.Controls.Add(this.copyLastButton);
this.Controls.Add(this.copyAllButton);
this.Controls.Add(this.numberOfStringsTextBox);
this.Controls.Add(this.passwordLengthTextBox);
this.Controls.Add(this.numberOfStringsLabel);
this.Controls.Add(this.passwordLengthLabel);
this.Controls.Add(this.clearPasswordsListButton);
this.Controls.Add(this.passwordsListTextBox);
this.Controls.Add(this.generateButton);
this.Font = new System.Drawing.Font("Segoe UI", 8.25F);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "PasswordGeneratorFrom";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.Text = "Password Generator";
this.Deactivate += new System.EventHandler(this.PasswordGeneratorFrom_Deactivate);
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.PasswordGeneratorFrom_FormClosing);
this.Load += new System.EventHandler(this.PasswordGeneratorFrom_Load);
this.specialGroupBox.ResumeLayout(false);
this.specialGroupBox.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button generateButton;
private System.Windows.Forms.TextBox passwordsListTextBox;
private System.Windows.Forms.Button clearPasswordsListButton;
private System.Windows.Forms.CheckBox lowercaseCheckBox;
private System.Windows.Forms.CheckBox uppercaseCheckBox;
private System.Windows.Forms.CheckBox numericCheckBox;
private System.Windows.Forms.Label passwordLengthLabel;
private System.Windows.Forms.Label numberOfStringsLabel;
private System.Windows.Forms.TextBox passwordLengthTextBox;
private System.Windows.Forms.TextBox numberOfStringsTextBox;
private System.Windows.Forms.Button copyAllButton;
private System.Windows.Forms.Button copyLastButton;
private System.Windows.Forms.ToolTip passwordGeneratorToolTip;
private System.Windows.Forms.GroupBox specialGroupBox;
private System.Windows.Forms.CheckBox specialCheckBox;
private System.Windows.Forms.CheckBox additionalCheckBox;
private System.Windows.Forms.CheckBox bracketsCheckBox;
}
}

View file

@ -0,0 +1,239 @@
using Crypto_Notepad.Properties;
using PasswordGenerator;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace Crypto_Notepad
{
public partial class PasswordGeneratorFrom : Form
{
Settings settings = Settings.Default;
public PasswordGeneratorFrom()
{
InitializeComponent();
}
#region Methods
private IEnumerable<string> GeneratePasswordGroup()
{
IPassword pwd;
bool includeSpecial = true;
string main = @"/\!?@#&$%№";
string additional = "\";_-.=*+:^,|'";
string brackets = "(){}[]<>";
if (!specialCheckBox.Checked)
{
main = "";
}
if (!additionalCheckBox.Checked)
{
additional = "";
}
if (!bracketsCheckBox.Checked)
{
brackets = "";
}
if (!specialCheckBox.Checked & !additionalCheckBox.Checked & !bracketsCheckBox.Checked)
{
includeSpecial = false;
}
if (includeSpecial)
{
pwd = new Password(
includeLowercase: lowercaseCheckBox.Checked,
includeUppercase: uppercaseCheckBox.Checked,
includeNumeric: numericCheckBox.Checked,
includeSpecial: false,
passwordLength: int.Parse(passwordLengthTextBox.Text)).IncludeSpecial(main + additional + brackets);
}
else
{
pwd = new Password(
includeLowercase: lowercaseCheckBox.Checked,
includeUppercase: uppercaseCheckBox.Checked,
includeNumeric: numericCheckBox.Checked,
includeSpecial: false,
passwordLength: int.Parse(passwordLengthTextBox.Text));
}
return pwd.NextGroup(Convert.ToInt32(numberOfStringsTextBox.Text));
}
#endregion
#region Event Handlers
private void GenerateButton_Click(object sender, EventArgs e)
{
passwordsListTextBox.AppendLine(string.Join(Environment.NewLine, GeneratePasswordGroup().ToArray()));
}
private void ClearPasswordsListButton_Click(object sender, EventArgs e)
{
passwordsListTextBox.Clear();
}
private void PasswordLengthTextBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) & !char.IsDigit(e.KeyChar))
{
e.Handled = true;
}
}
private void PasswordGeneratorFrom_Load(object sender, EventArgs e)
{
CenterToParent();
lowercaseCheckBox.Checked = settings.passwordGeneratorLowercase;
uppercaseCheckBox.Checked = settings.passwordGeneratorUppercase;
numericCheckBox.Checked = settings.passwordGeneratorNumeric;
specialCheckBox.Checked = settings.passwordGeneratorSpecial;
bracketsCheckBox.Checked = settings.passwordGeneratorBrackets;
additionalCheckBox.Checked = settings.passwordGeneratorAdditional;
passwordLengthTextBox.Text = settings.passwordGeneratorLength;
numberOfStringsTextBox.Text = settings.passwordGeneratorNumberOfStrings;
passwordsListTextBox.Text = string.Join(Environment.NewLine, GeneratePasswordGroup().ToArray());
}
private void LowercaseCheckBox_Click(object sender, EventArgs e)
{
settings.passwordGeneratorLowercase = lowercaseCheckBox.Checked;
settings.Save();
}
private void UppercaseCheckBox_Click(object sender, EventArgs e)
{
settings.passwordGeneratorUppercase = uppercaseCheckBox.Checked;
settings.Save();
}
private void NumericCheckBox_Click(object sender, EventArgs e)
{
settings.passwordGeneratorNumeric = numericCheckBox.Checked;
settings.Save();
}
private void SpecialCheckBox_Click(object sender, EventArgs e)
{
settings.passwordGeneratorSpecial = specialCheckBox.Checked;
settings.Save();
}
private void PasswordGeneratorFrom_FormClosing(object sender, FormClosingEventArgs e)
{
if (!settings.passwordGeneratorLowercase & !settings.passwordGeneratorUppercase
& !settings.passwordGeneratorNumeric & !settings.passwordGeneratorSpecial)
{
settings.passwordGeneratorLowercase = true;
}
try
{
if (Enumerable.Range(4, 256).Contains(int.Parse(passwordLengthTextBox.Text)))
{
settings.passwordGeneratorLength = passwordLengthTextBox.Text;
}
if (Enumerable.Range(1, 1000).Contains(int.Parse(numberOfStringsTextBox.Text)))
{
settings.passwordGeneratorNumberOfStrings = numberOfStringsTextBox.Text;
}
}
catch
{
}
settings.Save();
}
private void PasswordValidation(object sender, EventArgs e)
{
try
{
if (!Enumerable.Range(1, 1000).Contains(int.Parse(numberOfStringsTextBox.Text)) |
!Enumerable.Range(4, 256).Contains(int.Parse(passwordLengthTextBox.Text)) |
!lowercaseCheckBox.Checked &
!uppercaseCheckBox.Checked &
!numericCheckBox.Checked &
!specialCheckBox.Checked &
!additionalCheckBox.Checked &
!bracketsCheckBox.Checked |
string.IsNullOrWhiteSpace(numberOfStringsTextBox.Text.Trim('0')))
{
generateButton.Enabled = false;
}
else
{
generateButton.Enabled = true;
}
}
catch
{
generateButton.Enabled = false;
}
}
private void CopyAllButton_Click(object sender, EventArgs e)
{
Clipboard.SetText(passwordsListTextBox.Text);
passwordGeneratorToolTip.SetToolTip(copyAllButton, "Copied");
}
private void CopyLastButton_Click(object sender, EventArgs e)
{
Clipboard.SetText(passwordsListTextBox.Lines[passwordsListTextBox.Lines.Length - 1]);
passwordGeneratorToolTip.SetToolTip(copyLastButton, "Copied");
}
private void PasswordsListTextBox_TextChanged(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(passwordsListTextBox.Text))
{
copyLastButton.Enabled = false;
copyAllButton.Enabled = false;
}
else
{
copyLastButton.Enabled = true;
copyAllButton.Enabled = true;
}
}
private void CopyLastButton_MouseEnter(object sender, EventArgs e)
{
passwordGeneratorToolTip.AutoPopDelay = 1000;
passwordGeneratorToolTip.SetToolTip(copyLastButton, null);
}
private void CopyAllButton_MouseEnter(object sender, EventArgs e)
{
passwordGeneratorToolTip.AutoPopDelay = 1000;
passwordGeneratorToolTip.SetToolTip(copyAllButton, null);
}
private void PasswordGeneratorFrom_Deactivate(object sender, EventArgs e)
{
PasswordGeneratorFrom_FormClosing(null, null);
}
#endregion
private void SpecialCheckBox_MouseEnter(object sender, EventArgs e)
{
passwordGeneratorToolTip.AutoPopDelay = 10000;
}
private void BracketsCheckBox_Click(object sender, EventArgs e)
{
settings.passwordGeneratorBrackets = bracketsCheckBox.Checked;
settings.Save();
}
private void additionalCheckBox_Click(object sender, EventArgs e)
{
settings.passwordGeneratorAdditional = additionalCheckBox.Checked;
settings.Save();
}
}
}

View file

@ -117,4 +117,32 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="passwordGeneratorToolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAA
AAD///8AAAAAAgAAAAwAAAAaABoxWQAtV70AGC5gAAAAKwAAAB4AAAAQAAAABAZtAJkFaQDMBm0AmQdx
AAAOjAAA////AAAAAAEAAAAGAAAADQAzXaiFzub/ADNdqQAjPk8AAAAPAAAACAAAAAIMgwDMK98a/wyD
AMwNiAAADowAAP///wAAAAAAAAAAAAAvTwAAPmihg8zl/33K5P8APmmiBEM1AA6NAJkOjADMDowAzD3i
LP8OjADMDowAzA6NAJn///8AAAAAAAA5WQAAS3YAAEt2qYPM5f8AS3apAEt2LghwOwAQlQDMUudB/1Ln
Qf9S50H/UudB/1LnQf8QlQDM////AABUfwAAVH8AAFR/AABUf7aDzOX/dsLc9gBUf7YJeEAAEpwAmRKd
AMwSnQDMZutV/xKdAMwSnQDMEpwAmf///wAAVYAAAFWAAABVgAAAVYC1g8zl/wBVgLUAVYAuBWdgABKd
AAAToQAAFKQAzHXuZP8UpADME6EAABKdAAD///8AAFmFAABWgQAAVYAAAFWAsYPM5f9muNX/AFWAsQBV
gAAFaGEAFKgAABWpAJkVqQDMFakAmRSoAAASnQAA////AABZhQAAVoEFAFWAQQBVgKyDzOX/YbPS/wBV
gKwAVYBBAFaBBQVtZAAVqQAAFaoAABWpAAAUqAAAEp0AAP///wAAWYUHAFiEbT6OscV8w+Drcrza/1uu
zv9Xr9LrLIatxQBYhG0AWYUHBm5kABWqAAAVqQAAFKgAABKdAAD///8AAV6MS1SkxcyW2vb/iMzu/2ey
0/9MosX/Ta/X/2LG7f87mcLMAV6MSwFejQAGcWoAC4RHAAuDRwAKfkcA////AAFjlIWZ3/f3mt74/5ba
9f+ByuX/br3a/2rD5P9pyvD/ac309wFjlIUBY5QAAWOUAAFjlAABY5QAAWOUAP///wACap6SoeX+/xCY
sc4AkKjJAJCoyQCQqMkAkKjJCZawzm7T+v8Cap6SAmqeAAJqngACap4AAmqeAAJqngD///8AAnCocYzX
8etFq8vdAIakggCJpRkAiaUZAIakgimix91qyu/rAnCocQJwqAACcKgAAnCoAAJwqAACcKgA////AAJ2
sC8nkcOkneH5/0WhxtYPeqW6C3iiuimUvNZ30fP/Io/CpAJ2sC8Cda8AAnWvAAJ1rwACda8AAnWvAP//
/wADe7cBA3y5TCmWyaF+zu3djdXs/4DM5v9txOXdJZTJoQN8uUwDe7cBA3u3AAN7twADe7cAA3u3AAN7
twD///8AA3u3AAN+vQEDgL8tA4C/aQOAv4MDgL+DA4C/aQOAvy0Dfr0BA3u3AAN7twADe7cAA3u3AAN7
twADe7cAgAMAAIADAADwgAAA8IAAAPCAAADw4wAA8OMAAMA/AACAHwAAgB8AAIAfAACAHwAAgB8AAIAf
AACAHwAAwD8AAA==
</value>
</data>
</root>

View file

@ -1,8 +1,5 @@
using IWshRuntimeLibrary;
using Microsoft.Win32;
using System;
using System;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Windows.Forms;
@ -21,26 +18,36 @@ public SettingsForm()
#region Methods
private void LoadSettings()
{
editorFontColor.BackColor = settings.editroForeColor;
editorFontColor.BackColor = settings.editorForeColor;
editorBackColor.BackColor = settings.editorBackColor;
editorInsertKeyComboBox.Text = settings.insertKey;
if (settings.clipboardClearTime != "")
{
clearClipboardTextBox.Text = settings.clipboardClearTime.Remove(settings.clipboardClearTime.Length - 1);
}
editorPaddingLeftTextBox.Text = settings.editorPaddingLeft;
editorOpenLinksWithComboBox.Text = settings.openLinks;
editorBorderComboBox.Text = settings.editorBorder;
fontDialog.Font = settings.editorFont;
editorFontLabel.Text = settings.editorFont.Name.ToString() + " " + settings.editorFont.Size.ToString();
lockTimeoutTextBox.Text = settings.lockTimeout;
autoLockOnMinimizeCheckBox.Checked = settings.autoLock;
autoCheckUpdatesCheckBox.Checked = settings.autoCheckUpdate;
mainMenuCheckBox.Checked = settings.mainMenuVisible;
menuIconsCheckBox.Checked = settings.menuIcons;
shortcutKeysCheckBox.Checked = settings.shortcutKeys;
minimizeToTrayCheckBox.Checked = settings.minimizeToTray;
closeToTrayCheckBox.Checked = settings.closeToTray;
singleInstanceCheckBox.Checked = settings.singleInstance;
clearClipboardCheckBox.Checked = settings.clearClipboardAtClose;
trayMenuCheckBox.Checked = settings.trayMenu;
integrateCheckBox.Checked = settings.explorerIntegrate;
associateCheckBox.Checked = settings.explorerAssociate;
sendToCheckBox.Checked = settings.explorerSendTo;
hashAlgorithmComboBox.Text = settings.HashAlgorithm;
keySizeComboBox.Text = settings.KeySize;
passwordIterationsTextBox.Text = settings.PasswordIterations;
openTxtUnencryptedCheckBox.Checked = settings.openTxtUnencrypted;
searchBackColor.BackColor = settings.searchPanelBackColor;
searchFontColor.BackColor = settings.searchPanelForeColor;
searchBorderComboBox.Text = settings.searchPanelBorder;
@ -56,90 +63,12 @@ private void LoadSettings()
statusPanelLinesCheckBox.Checked = settings.statusPanelLines;
statusPanelModifiedCheckBox.Checked = settings.statusPanelModified;
statusPanelSizeCheckBox.Checked = settings.statusPanelSize;
statusPanelLabelsGroupBox.Visible = settings.statusPanelVisible;
statusPanelReadonlyCheckBox.Checked = settings.statusPanelReadonly;
statusPanelWordwrapCheckBox.Checked = settings.statusPanelWordWrap;
statusPanelPasteboardCheckBox.Checked = settings.statusPanelPasteboard;
statusPanelClipboardCheckBox.Checked = settings.statusPanelClipboard;
encryptionHintLabel.Visible = settings.encryptionHint;
}
private static void AssociateExtension(string applicationExecutablePath, string extension)
{
try
{
RegistryKey key = Registry.CurrentUser.OpenSubKey("Software\\Classes", true);
key.CreateSubKey("." + extension).SetValue(string.Empty, extension + "_auto_file");
key = key.CreateSubKey(extension + "_auto_file");
key.CreateSubKey("DefaultIcon").SetValue(string.Empty, applicationExecutablePath + ",0");
key = key.CreateSubKey("Shell");
key.SetValue(string.Empty, "Open");
key = key.CreateSubKey("Open");
key.CreateSubKey("Command").SetValue(string.Empty, "\"" + applicationExecutablePath + "\" \"%1\" /o");
key.CreateSubKey("ddeexec\\Topic").SetValue(string.Empty, "System");
}
catch (Exception)
{
}
}
private static void DissociateExtension(string applicationExecutablePath, string extension)
{
try
{
RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\Classes", true);
RegistryKey subKeyTree = Registry.CurrentUser.OpenSubKey(@"Software\Classes\" + extension + "_auto_file", true);
if (subKeyTree != null)
{
key.DeleteSubKeyTree(extension + "_auto_file");
key.DeleteSubKeyTree("." + extension);
}
}
catch { }
}
private static void MenuIntegrate(string action)
{
string appExePath = Assembly.GetEntryAssembly().Location;
try
{
if (action == "enable")
{
RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\Classes\*\", true);
key = key.CreateSubKey("shell");
key.CreateSubKey("Crypto Notepad").SetValue("icon", appExePath);
key.CreateSubKey("Crypto Notepad").SetValue("SubCommands", "");
key.CreateSubKey(@"Crypto Notepad\shell");
key.CreateSubKey(@"Crypto Notepad\shell\cmd1\").SetValue("MUIVerb", "Encrypt");
key.CreateSubKey(@"Crypto Notepad\shell\cmd1\command").SetValue(string.Empty, "\"" + appExePath + "\" \"%1\" /er");
key.CreateSubKey(@"Crypto Notepad\shell\cmd2\").SetValue("MUIVerb", "Decrypt");
key.CreateSubKey(@"Crypto Notepad\shell\cmd2\command").SetValue(string.Empty, "\"" + appExePath + "\" \"%1\" /o");
}
if (action == "disable")
{
RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\Classes\*\shell\", true);
RegistryKey subKeyTree = Registry.CurrentUser.OpenSubKey(@"Software\Classes\*\shell\Crypto Notepad", true);
if (subKeyTree != null)
{
key.DeleteSubKeyTree("Crypto Notepad");
}
}
}
catch { }
}
private void SendToShortcut()
{
string shortcutPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\Microsoft\Windows\SendTo";
string shortcutName = PublicVar.appName + ".lnk";
string shortcutLocation = Path.Combine(shortcutPath, shortcutName);
string targetFileLocation = Assembly.GetEntryAssembly().Location;
WshShell shell = new WshShell();
IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(shortcutLocation);
shortcut.Description = PublicVar.appName;
shortcut.IconLocation = targetFileLocation;
shortcut.TargetPath = targetFileLocation;
shortcut.Arguments = "/s";
shortcut.Save();
}
#endregion
@ -194,10 +123,26 @@ private void PasswordIterationsTextBox_KeyPress(object sender, KeyPressEventArgs
e.Handled = true;
}
}
private void LockTimeoutTextBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
{
e.Handled = true;
}
}
#endregion
#region Settings Events
private void EncryptionHintLabel_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
encryptionHintLabel.Visible = false;
settings.encryptionHint = false;
}
}
private void EditorFontColor_Click(object sender, EventArgs e)
{
colorDialog.Color = editorFontColor.BackColor;
@ -208,7 +153,7 @@ private void EditorFontColor_Click(object sender, EventArgs e)
MainForm main = Owner as MainForm;
main.richTextBox.ForeColor = colorDialog.Color;
main.richTextBox.SetInnerMargins(Convert.ToInt32(settings.editorPaddingLeft), 0, 0, 0);
settings.editroForeColor = colorDialog.Color;
settings.editorForeColor = colorDialog.Color;
editorFontColor.BackColor = colorDialog.Color;
}
}
@ -234,26 +179,17 @@ private void SettingsNavigation_Click(object sender, EventArgs e)
switch (settingsNavigation.SelectedIndex)
{
case 0:
settingsTabControl.SelectedTab = applicationTabPage;
settingsTabControl.SelectedTab = generalTabPage;
break;
case 1:
settingsTabControl.SelectedTab = toolbarTabPage;
settingsTabControl.SelectedTab = interfaceTabPage;
break;
case 2:
settingsTabControl.SelectedTab = statusPanelTabPage;
break;
case 3:
settingsTabControl.SelectedTab = searchPanelTabPage;
break;
case 4:
settingsTabControl.SelectedTab = editorTabPage;
break;
case 5:
case 3:
settingsTabControl.SelectedTab = encryptionTabPage;
break;
case 6:
settingsTabControl.SelectedTab = integrationTabPage;
break;
}
}
@ -267,18 +203,18 @@ private void ToolbarVisibleCheckBox_Click(object sender, EventArgs e)
MainForm main = Owner as MainForm;
main.toolbarPanel.Visible = toolbarVisibleCheckBox.Checked;
main.richTextBox.SetInnerMargins(Convert.ToInt32(settings.editorPaddingLeft), 0, 0, 0);
settings.toolbarVisible= toolbarVisibleCheckBox.Checked;
settings.toolbarVisible = toolbarVisibleCheckBox.Checked;
}
private void AssociateCheckBox_Click(object sender, EventArgs e)
{
if (associateCheckBox.Checked)
{
AssociateExtension(Assembly.GetEntryAssembly().Location, "cnp");
Methods.AssociateExtension(Assembly.GetEntryAssembly().Location, "cnp");
}
else
{
DissociateExtension(Assembly.GetEntryAssembly().Location, "cnp");
Methods.DissociateExtension("cnp");
}
settings.explorerAssociate = associateCheckBox.Checked;
}
@ -287,11 +223,11 @@ private void IntegrateCheckBox_Click(object sender, EventArgs e)
{
if (integrateCheckBox.Checked)
{
MenuIntegrate("enable");
Methods.MenuIntegrate("enable");
}
else
{
MenuIntegrate("disable");
Methods.MenuIntegrate("disable");
}
settings.explorerIntegrate = integrateCheckBox.Checked;
}
@ -310,11 +246,25 @@ private void EditorPaddingLeftTextBox_TextChanged(object sender, EventArgs e)
}
}
private void LockTimeoutTextBox_TextChanged(object sender, EventArgs e)
{
if (lockTimeoutTextBox.Text != settings.lockTimeout)
{
settings.lockTimeout = lockTimeoutTextBox.Text;
}
if (string.IsNullOrEmpty(lockTimeoutTextBox.Text) | lockTimeoutTextBox.Text == "0")
{
MainForm main = Owner as MainForm;
main.lockTimer.Enabled = false;
}
}
private void SendToCheckBox_Click(object sender, EventArgs e)
{
if (sendToCheckBox.Checked)
{
SendToShortcut();
Methods.SendToShortcut();
}
else
{
@ -351,7 +301,7 @@ private void MenuIconsCheckBox_Click(object sender, EventArgs e)
main.MenuIcons(settings.menuIcons);
}
private void EditorFontButton_Click(object sender, EventArgs e)
private void EditorFontLabel_Click(object sender, EventArgs e)
{
using (new CenterWinDialog(this))
{
@ -361,6 +311,7 @@ private void EditorFontButton_Click(object sender, EventArgs e)
main.richTextBox.Font = fontDialog.Font;
main.richTextBox.SetInnerMargins(Convert.ToInt32(settings.editorPaddingLeft), 0, 0, 0);
settings.editorFont = fontDialog.Font;
editorFontLabel.Text = settings.editorFont.Name.ToString() + " " + settings.editorFont.Size.ToString();
}
}
}
@ -391,11 +342,9 @@ private void FontDialog_Apply(object sender, EventArgs e)
private void StatusPanelVisibleCheckBox_Click(object sender, EventArgs e)
{
statusPanelLabelsGroupBox.Visible = statusPanelVisibleCheckBox.Checked;
Application.DoEvents();
MainForm main = Owner as MainForm;
main.statusPanel.Visible = statusPanelVisibleCheckBox.Checked;
//main.richTextBox.SetInnerMargins(Convert.ToInt32(editorPaddingLeftTextBox.Text), 0, 0, 0);
settings.statusPanelVisible = statusPanelVisibleCheckBox.Checked;
}
@ -542,10 +491,11 @@ private void PasswordIterationsTextBox_TextChanged(object sender, EventArgs e)
}
}
private void MinimizeToTrayCheckBox_Click(object sender, EventArgs e)
{
MainForm main = Owner as MainForm;
if (closeToTrayCheckBox.Checked == false & minimizeToTrayCheckBox.Checked == false)
if (closeToTrayCheckBox.Checked == false & minimizeToTrayCheckBox.Checked == false & trayMenuCheckBox.Checked == false)
{
main.trayIcon.Visible = false;
}
@ -559,7 +509,7 @@ private void MinimizeToTrayCheckBox_Click(object sender, EventArgs e)
private void CloseToTrayCheckBox_Click(object sender, EventArgs e)
{
MainForm main = Owner as MainForm;
if (closeToTrayCheckBox.Checked == false & minimizeToTrayCheckBox.Checked ==false )
if (closeToTrayCheckBox.Checked == false & minimizeToTrayCheckBox.Checked == false & trayMenuCheckBox.Checked == false)
{
main.trayIcon.Visible = false;
}
@ -630,13 +580,78 @@ private void StatusPanelSizeCheckBox_Click(object sender, EventArgs e)
#endregion
private void EncryptionHintLabel_MouseClick(object sender, MouseEventArgs e)
private void StatusPanelReadonlyCheckBox_Click(object sender, EventArgs e)
{
if (e.Button == MouseButtons.Left)
MainForm main = Owner as MainForm;
main.statusPanelReadonlyLabel.Visible = statusPanelReadonlyCheckBox.Checked;
settings.statusPanelReadonly = statusPanelReadonlyCheckBox.Checked;
main.StatusPanelFileInfo();
}
private void StatusPanelWordwrapCheckBox_Click(object sender, EventArgs e)
{
MainForm main = Owner as MainForm;
main.statusPanelWordwrapLabel.Visible = statusPanelWordwrapCheckBox.Checked;
settings.statusPanelWordWrap = statusPanelWordwrapCheckBox.Checked;
main.StatusPanelFileInfo();
}
private void StatusPanelPasteboardCheckBox_Click(object sender, EventArgs e)
{
MainForm main = Owner as MainForm;
main.statusPanelPasteboardLabel.Visible = statusPanelPasteboardCheckBox.Checked;
settings.statusPanelPasteboard = statusPanelPasteboardCheckBox.Checked;
main.StatusPanelFileInfo();
}
private void StatusPanelClipboardCheckBox_Click(object sender, EventArgs e)
{
settings.statusPanelClipboard = statusPanelClipboardCheckBox.Checked;
}
private void ClearClipboardTextBox_TextChanged(object sender, EventArgs e)
{
if (clearClipboardTextBox.Text == "" || clearClipboardTextBox.Text == "0")
{
encryptionHintLabel.Visible = false;
settings.encryptionHint = false;
settings.clipboardClearTime = "";
}
else
{
settings.clipboardClearTime = clearClipboardTextBox.Text + 0;
}
}
private void ClearClipboardCheckBox_Click(object sender, EventArgs e)
{
settings.clearClipboardAtClose = clearClipboardCheckBox.Checked;
}
private void TrayMenuCheckBox_Click(object sender, EventArgs e)
{
MainForm main = Owner as MainForm;
if (closeToTrayCheckBox.Checked == false & minimizeToTrayCheckBox.Checked == false & trayMenuCheckBox.Checked == false)
{
main.trayIcon.Visible = false;
}
if (trayMenuCheckBox.Checked == true)
{
main.trayIcon.Visible = true;
}
settings.trayMenu = trayMenuCheckBox.Checked;
}
private void ShortcutKeysCheckBox_Click(object sender, EventArgs e)
{
MainForm main = Owner as MainForm;
settings.shortcutKeys = shortcutKeysCheckBox.Checked;
main.ShortcutKeys(settings.shortcutKeys);
}
private void OpenTxtUnencryptedCheckBox_Click(object sender, EventArgs e)
{
settings.openTxtUnencrypted = openTxtUnencryptedCheckBox.Checked;
}
}
}

View file

@ -120,17 +120,17 @@
<metadata name="colorDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="encryptionHintLabel.Text" xml:space="preserve">
<value>For the best balance of performance &amp;&amp; security is recommended to use SHA512 Hash / 256 Key size / above 2000000 Password iterations. But caution, if you change this parameters you will not able to decrypt previously encrypted files with old parameters.</value>
</data>
<metadata name="settingsToolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>240, 17</value>
</metadata>
<data name="encryptionHintLabel.Text" xml:space="preserve">
<value>For the best balance of performance &amp;&amp; security is recommended to use SHA512 Hash / 256 Key size / above 2000000 Password iterations. But caution, if you change this parameters you will not able to decrypt previously encrypted files with old parameters.</value>
</data>
<metadata name="fontDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>131, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>76</value>
<value>74</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

View file

@ -62,12 +62,13 @@ static void Main()
static class PublicVar
{
public static EncryptedString encryptionKey = new EncryptedString();
public static bool keyChanged = false;
public static EncryptedString password = new EncryptedString();
public static bool passwordChanged = false;
public static bool okPressed = false;
public static bool messageBoxCenterParent = false;
public const string appName = "Crypto Notepad";
public static string openFileName;
public static bool metadataCorrupt = false;
}
static class TypedPassword

View file

@ -33,4 +33,4 @@
// используя "*", как показано ниже:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.6.2.0")]
[assembly: AssemblyFileVersion("1.7.3.0")]

View file

@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Этот код создан программой.
// Исполняемая версия:4.0.30319.42000
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
// повторной генерации кода.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
@ -13,13 +13,13 @@ namespace Crypto_Notepad.Properties {
/// <summary>
/// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д.
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// Этот класс создан автоматически классом StronglyTypedResourceBuilder
// с помощью такого средства, как ResGen или Visual Studio.
// Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen
// с параметром /str или перестройте свой проект VS.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
@ -33,7 +33,7 @@ internal Resources() {
}
/// <summary>
/// Возвращает кэшированный экземпляр ResourceManager, использованный этим классом.
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
@ -47,8 +47,8 @@ internal Resources() {
}
/// <summary>
/// Перезаписывает свойство CurrentUICulture текущего потока для всех
/// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией.
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
@ -61,7 +61,17 @@ internal Resources() {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap application {
get {
object obj = ResourceManager.GetObject("application", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap application_blue {
get {
@ -71,7 +81,17 @@ internal static System.Drawing.Bitmap application_blue {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap application_dock_180 {
get {
object obj = ResourceManager.GetObject("application-dock-180", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap applications_blue {
get {
@ -81,7 +101,7 @@ internal static System.Drawing.Bitmap applications_blue {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap arrow_left {
get {
@ -91,7 +111,7 @@ internal static System.Drawing.Bitmap arrow_left {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap arrow_right {
get {
@ -101,7 +121,7 @@ internal static System.Drawing.Bitmap arrow_right {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap big_lock {
get {
@ -111,7 +131,7 @@ internal static System.Drawing.Bitmap big_lock {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap clipboard {
get {
@ -121,7 +141,37 @@ internal static System.Drawing.Bitmap clipboard {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap clipboard_minus {
get {
object obj = ResourceManager.GetObject("clipboard_minus", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap clipboard_text {
get {
object obj = ResourceManager.GetObject("clipboard_text", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap clock_plus {
get {
object obj = ResourceManager.GetObject("clock_plus", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap cross_button {
get {
@ -131,17 +181,17 @@ internal static System.Drawing.Bitmap cross_button {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap disk__minus {
internal static System.Drawing.Bitmap disk_minus {
get {
object obj = ResourceManager.GetObject("disk__minus", resourceCulture);
object obj = ResourceManager.GetObject("disk_minus", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap disk_return_black {
get {
@ -151,7 +201,7 @@ internal static System.Drawing.Bitmap disk_return_black {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap disks_black {
get {
@ -161,7 +211,7 @@ internal static System.Drawing.Bitmap disks_black {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap document {
get {
@ -171,7 +221,7 @@ internal static System.Drawing.Bitmap document {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap document_copy {
get {
@ -181,7 +231,7 @@ internal static System.Drawing.Bitmap document_copy {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap document_minus {
get {
@ -191,7 +241,17 @@ internal static System.Drawing.Bitmap document_minus {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap document_pencil {
get {
object obj = ResourceManager.GetObject("document_pencil", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap document_plus {
get {
@ -201,7 +261,7 @@ internal static System.Drawing.Bitmap document_plus {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap document_text {
get {
@ -211,7 +271,7 @@ internal static System.Drawing.Bitmap document_text {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap eye {
get {
@ -221,7 +281,7 @@ internal static System.Drawing.Bitmap eye {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap eye_half {
get {
@ -231,7 +291,7 @@ internal static System.Drawing.Bitmap eye_half {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap folder_horizontal {
get {
@ -241,7 +301,7 @@ internal static System.Drawing.Bitmap folder_horizontal {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap folder_open_document {
get {
@ -251,7 +311,7 @@ internal static System.Drawing.Bitmap folder_open_document {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap gear {
get {
@ -261,7 +321,7 @@ internal static System.Drawing.Bitmap gear {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap gnupg_keys {
get {
@ -271,7 +331,7 @@ internal static System.Drawing.Bitmap gnupg_keys {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap information {
get {
@ -281,17 +341,7 @@ internal static System.Drawing.Bitmap information {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Byte[].
/// </summary>
internal static byte[] Ionic_Zip {
get {
object obj = ResourceManager.GetObject("Ionic_Zip", resourceCulture);
return ((byte[])(obj));
}
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap key {
get {
@ -301,7 +351,17 @@ internal static System.Drawing.Bitmap key {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap key_plus {
get {
object obj = ResourceManager.GetObject("key_plus", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap key_solid {
get {
@ -311,7 +371,17 @@ internal static System.Drawing.Bitmap key_solid {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap lock_pencil {
get {
object obj = ResourceManager.GetObject("lock_pencil", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap lock_warning {
get {
@ -321,7 +391,7 @@ internal static System.Drawing.Bitmap lock_warning {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap magnifier {
get {
@ -331,7 +401,7 @@ internal static System.Drawing.Bitmap magnifier {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap minus {
get {
@ -341,7 +411,7 @@ internal static System.Drawing.Bitmap minus {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap notepad_lock {
get {
@ -351,7 +421,7 @@ internal static System.Drawing.Bitmap notepad_lock {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap old_application_double {
get {
@ -361,7 +431,17 @@ internal static System.Drawing.Bitmap old_application_double {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap old_clock_add {
get {
object obj = ResourceManager.GetObject("old_clock_add", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap old_cut_red {
get {
@ -371,7 +451,7 @@ internal static System.Drawing.Bitmap old_cut_red {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap old_diskette {
get {
@ -381,7 +461,7 @@ internal static System.Drawing.Bitmap old_diskette {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap old_folder_stand {
get {
@ -391,7 +471,7 @@ internal static System.Drawing.Bitmap old_folder_stand {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap old_folder_vertical_document {
get {
@ -401,7 +481,7 @@ internal static System.Drawing.Bitmap old_folder_vertical_document {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap old_lock {
get {
@ -411,7 +491,17 @@ internal static System.Drawing.Bitmap old_lock {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap old_lock_edit {
get {
object obj = ResourceManager.GetObject("old_lock_edit", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap old_page_white_add {
get {
@ -421,7 +511,7 @@ internal static System.Drawing.Bitmap old_page_white_add {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap old_page_white_copy {
get {
@ -431,7 +521,7 @@ internal static System.Drawing.Bitmap old_page_white_copy {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap old_page_white_delete {
get {
@ -441,7 +531,7 @@ internal static System.Drawing.Bitmap old_page_white_delete {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap old_page_white_key {
get {
@ -451,7 +541,7 @@ internal static System.Drawing.Bitmap old_page_white_key {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap old_paste_plain {
get {
@ -461,7 +551,7 @@ internal static System.Drawing.Bitmap old_paste_plain {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap old_setting_tools {
get {
@ -471,7 +561,7 @@ internal static System.Drawing.Bitmap old_setting_tools {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap scissors {
get {
@ -481,7 +571,7 @@ internal static System.Drawing.Bitmap scissors {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap selection_input {
get {
@ -491,7 +581,7 @@ internal static System.Drawing.Bitmap selection_input {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Byte[].
/// Looks up a localized resource of type System.Byte[].
/// </summary>
internal static byte[] Updater {
get {
@ -501,7 +591,7 @@ internal static byte[] Updater {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap upload_cloud {
get {
@ -511,7 +601,7 @@ internal static System.Drawing.Bitmap upload_cloud {
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap wrap_option {
get {

File diff suppressed because it is too large Load diff

View file

@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Этот код создан программой.
// Исполняемая версия:4.0.30319.42000
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
// повторной генерации кода.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
@ -12,7 +12,7 @@ namespace Crypto_Notepad.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.3.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.8.1.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
@ -27,12 +27,12 @@ public static Settings Default {
[global::System.Configuration.SettingsProviderAttribute(typeof(PortableSettingsProvider))]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("Black")]
public global::System.Drawing.Color editroForeColor {
public global::System.Drawing.Color editorForeColor {
get {
return ((global::System.Drawing.Color)(this["editroForeColor"]));
return ((global::System.Drawing.Color)(this["editorForeColor"]));
}
set {
this["editroForeColor"] = value;
this["editorForeColor"] = value;
}
}
@ -595,5 +595,252 @@ public bool encryptionHint {
this["encryptionHint"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Configuration.SettingsProviderAttribute(typeof(PortableSettingsProvider))]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool passwordGeneratorLowercase {
get {
return ((bool)(this["passwordGeneratorLowercase"]));
}
set {
this["passwordGeneratorLowercase"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Configuration.SettingsProviderAttribute(typeof(PortableSettingsProvider))]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool passwordGeneratorUppercase {
get {
return ((bool)(this["passwordGeneratorUppercase"]));
}
set {
this["passwordGeneratorUppercase"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Configuration.SettingsProviderAttribute(typeof(PortableSettingsProvider))]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool passwordGeneratorNumeric {
get {
return ((bool)(this["passwordGeneratorNumeric"]));
}
set {
this["passwordGeneratorNumeric"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Configuration.SettingsProviderAttribute(typeof(PortableSettingsProvider))]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool passwordGeneratorSpecial {
get {
return ((bool)(this["passwordGeneratorSpecial"]));
}
set {
this["passwordGeneratorSpecial"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Configuration.SettingsProviderAttribute(typeof(PortableSettingsProvider))]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("40")]
public string passwordGeneratorLength {
get {
return ((string)(this["passwordGeneratorLength"]));
}
set {
this["passwordGeneratorLength"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Configuration.SettingsProviderAttribute(typeof(PortableSettingsProvider))]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("10")]
public string passwordGeneratorNumberOfStrings {
get {
return ((string)(this["passwordGeneratorNumberOfStrings"]));
}
set {
this["passwordGeneratorNumberOfStrings"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Configuration.SettingsProviderAttribute(typeof(PortableSettingsProvider))]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string TheSalt {
get {
return ((string)(this["TheSalt"]));
}
set {
this["TheSalt"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Configuration.SettingsProviderAttribute(typeof(PortableSettingsProvider))]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool passwordGeneratorBrackets {
get {
return ((bool)(this["passwordGeneratorBrackets"]));
}
set {
this["passwordGeneratorBrackets"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Configuration.SettingsProviderAttribute(typeof(PortableSettingsProvider))]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool passwordGeneratorAdditional {
get {
return ((bool)(this["passwordGeneratorAdditional"]));
}
set {
this["passwordGeneratorAdditional"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Configuration.SettingsProviderAttribute(typeof(PortableSettingsProvider))]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string lockTimeout {
get {
return ((string)(this["lockTimeout"]));
}
set {
this["lockTimeout"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Configuration.SettingsProviderAttribute(typeof(PortableSettingsProvider))]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool statusPanelReadonly {
get {
return ((bool)(this["statusPanelReadonly"]));
}
set {
this["statusPanelReadonly"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Configuration.SettingsProviderAttribute(typeof(PortableSettingsProvider))]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool statusPanelWordWrap {
get {
return ((bool)(this["statusPanelWordWrap"]));
}
set {
this["statusPanelWordWrap"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Configuration.SettingsProviderAttribute(typeof(PortableSettingsProvider))]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string clipboardClearTime {
get {
return ((string)(this["clipboardClearTime"]));
}
set {
this["clipboardClearTime"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Configuration.SettingsProviderAttribute(typeof(PortableSettingsProvider))]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool statusPanelClipboard {
get {
return ((bool)(this["statusPanelClipboard"]));
}
set {
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()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool shortcutKeys {
get {
return ((bool)(this["shortcutKeys"]));
}
set {
this["shortcutKeys"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Configuration.SettingsProviderAttribute(typeof(PortableSettingsProvider))]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool openTxtUnencrypted {
get {
return ((bool)(this["openTxtUnencrypted"]));
}
set {
this["openTxtUnencrypted"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Configuration.SettingsProviderAttribute(typeof(PortableSettingsProvider))]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool trayMenu {
get {
return ((bool)(this["trayMenu"]));
}
set {
this["trayMenu"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Configuration.SettingsProviderAttribute(typeof(PortableSettingsProvider))]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool statusPanelPasteboard {
get {
return ((bool)(this["statusPanelPasteboard"]));
}
set {
this["statusPanelPasteboard"] = value;
}
}
}
}

View file

@ -2,7 +2,7 @@
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="Crypto_Notepad.Properties" GeneratedClassName="Settings">
<Profiles />
<Settings>
<Setting Name="editroForeColor" Provider="PortableSettingsProvider" Type="System.Drawing.Color" Scope="User">
<Setting Name="editorForeColor" Provider="PortableSettingsProvider" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">Black</Value>
</Setting>
<Setting Name="editorBackColor" Provider="PortableSettingsProvider" Type="System.Drawing.Color" Scope="User">
@ -134,5 +134,62 @@
<Setting Name="encryptionHint" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="passwordGeneratorLowercase" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="passwordGeneratorUppercase" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="passwordGeneratorNumeric" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="passwordGeneratorSpecial" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="passwordGeneratorLength" Provider="PortableSettingsProvider" Type="System.String" Scope="User">
<Value Profile="(Default)">40</Value>
</Setting>
<Setting Name="passwordGeneratorNumberOfStrings" Provider="PortableSettingsProvider" Type="System.String" Scope="User">
<Value Profile="(Default)">10</Value>
</Setting>
<Setting Name="TheSalt" Provider="PortableSettingsProvider" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="passwordGeneratorBrackets" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="passwordGeneratorAdditional" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="lockTimeout" Provider="PortableSettingsProvider" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="statusPanelReadonly" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="statusPanelWordWrap" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="clipboardClearTime" Provider="PortableSettingsProvider" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="statusPanelClipboard" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="clearClipboardAtClose" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="shortcutKeys" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="openTxtUnencrypted" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="trayMenu" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="statusPanelPasteboard" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
</Settings>
</SettingsFile>

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 626 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 754 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 960 B

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Costura.Fody" version="4.1.0" targetFramework="net472" />
<package id="Fody" version="6.0.6" targetFramework="net461" developmentDependency="true" />
<package id="PasswordGenerator" version="2.0.5" targetFramework="net461" />
</packages>

Binary file not shown.

View file

@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (c) 2019 Sigmanor
Copyright (c) 2022 Sigmanor
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View file

@ -1,10 +1,16 @@
# Crypto Notepad [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Simple%20notepad%20for%20Windows%20with%20encryption%20features.%20Download%20for%20free:%20https://crypto-notepad.info/&hashtags=notepad,encryption,windows,opensource,csharp)
[![SWUbanner](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner-direct-single.svg)](https://stand-with-ukraine.pp.ua/)
# Crypto Notepad [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Simple%20notepad%20for%20Windows%20with%20encryption%20features.%20Download%20for%20free:%20https://crypto-notepad.github.io/&hashtags=notepad,encryption,windows,opensource,csharp)
> [!WARNING]
> - **THE PROJECT HAS VERY LIMITED SUPPORT**
> - **NO NEW FEATURES ARE PLANNED**
> - **ONLY CRITICAL BUG FIXES WILL BE ADDRESSED**
[![downloads](https://img.shields.io/github/downloads/Crypto-Notepad/Crypto-Notepad/total.svg)](https://github.com/Crypto-Notepad/Crypto-Notepad/releases/latest)
[![license](https://img.shields.io/github/license/Crypto-Notepad/Crypto-Notepad.svg)](https://github.com/Crypto-Notepad/Crypto-Notepad/blob/master/LICENSE)
[![license](https://img.shields.io/github/license/Crypto-Notepad/Crypto-Notepad.svg?color=6DAAAE)](https://github.com/Crypto-Notepad/Crypto-Notepad/blob/master/LICENSE)
[![release](https://img.shields.io/github/release/Crypto-Notepad/Crypto-Notepad.svg)](https://github.com/Crypto-Notepad/Crypto-Notepad/wiki/Release-Notes)
[![documentation](https://img.shields.io/badge/documentation-wiki-yellowgreen.svg)](https://github.com/Crypto-Notepad/Crypto-Notepad/wiki/Documentation)
[![status](https://img.shields.io/badge/project_status-suspended-orange.svg)](https://github.com/Crypto-Notepad/Crypto-Notepad/wiki/Project-status)
[![documentation](https://img.shields.io/badge/documentation-wiki-yellowgreen.svg?color=F09C29)](https://github.com/Crypto-Notepad/Crypto-Notepad/wiki/Documentation)
Notepad-like simple text editor for Windows, where files are saved and loaded encrypted with AES algorithms.
@ -12,25 +18,36 @@ Notepad-like simple text editor for Windows, where files are saved and loaded en
## Features
* Including all the features of the default Windows Notepad
* Integrate with windows context menu
* Drag and Drop support
* Detecting links in editor
* Сustomizable interface
* Сustomizable encryption options (hash algorithm, key size, password iterations)
* All the features of the default Windows Notepad
* Associate own file type with application
* Integrate with windows context menu
* Сustomizable encryption options
* Built-in password generator
* Detecting links in editor
* Drag and Drop support
* Сustomizable interface
* Pasteboard function
* Autoclear clipboard
* Autolock editor
* Rich settings
* Portable
## Installation
### Via chocolatey:
```
choco install crypto-notepad
```
### Manual instalition:
- [Download](https://github.com/Crypto-Notepad/Crypto-Notepad/releases/latest) latest release.
- Unzip **Crypto.Notepad.zip** archive to any directory
- Run **Crypto Notepad.exe**
## System requirements
* Windows 7 SP1 and higher
* .NET Framework 4.7.2
## Contributing
Want to help make the project better? You can find a complete guide in [here](https://github.com/Crypto-Notepad/Crypto-Notepad/blob/master/CONTRIBUTING.md). Welcome! :octocat:
* .NET Framework 4.6.1 and higher
## Build
App was created in Visual Studio Community, you can run the *.sln file and simply build a project
## Partners
![FileHorse](http://i.imgur.com/o5hgnav.png) [FileHorse](http://filehorse.com/download-crypto-notepad/) | ![Softpedia](http://i.imgur.com/mPpwppP.png)[Softpedia](http://softpedia.com/get/Office-tools/Text-editors/Crypto-Notepad.shtml) | ![Oszone](https://i.imgur.com/Jo5hP0X.jpg) [Oldergeeks](https://www.oldergeeks.com/downloads/file.php?id=2665) | ![Portablefreeware](http://i.imgur.com/7v2GHXE.png) [Portablefreeware](https://portablefreeware.com/index.php?id=2873) | ![Majorgeeks](http://i.imgur.com/qQr5IZv.png) [Majorgeeks](http://www.majorgeeks.com/files/details/crypto_notepad.html) | ![Download.hr](https://i.imgur.com/aBhf1Si.png) [Download.hr](https://www.download.hr/software-crypto-notepad.html)
--- | --- | --- | --- | --- | ---
## Contributing
Want to help make the project better? Check out [CONTRIBUTING.md](https://github.com/Crypto-Notepad/Crypto-Notepad/blob/master/CONTRIBUTING.md) to get involved. Welcome! :octocat:

View file

@ -1 +1 @@
1.6.2.0
1.7.3.0