Compare commits

...

332 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
Alexander
9644a52007 Update v1.6.2 2019-11-10 10:44:34 +02:00
Alexander
3a8ef2a511 Update 1.6.2 2019-11-10 10:40:08 +02:00
Alexander
1917d137e5 Update 1.6.2 2019-11-10 10:39:03 +02:00
Alexander
31fd912910 Added hint to "Encryption" settings tab 2019-11-10 10:38:30 +02:00
Alexander
16a07484b9 Source code was simplified 2019-11-09 21:36:51 +02:00
Alexander
659f2c4184 Fixed bug with wrong text position in title bar while "Save As" file 2019-11-09 21:36:11 +02:00
Alexander
5030aa9274 Added message with recommendations to "Encryption" settings tab. 2019-11-09 21:33:35 +02:00
Alexander
182a247aa3 Fixed bug with wrong message in status panel when new version is available 2019-11-09 20:20:59 +02:00
Alexander
b0d3dd8ec0 Update dialog window now is centered parent 2019-11-09 20:19:19 +02:00
Alexander
4fc4f4247d Update 1.6.1 2019-11-09 20:09:43 +02:00
Alexander
f5b02da294 Update 1.6.1 2019-11-09 20:09:12 +02:00
Alexander
d4438625dd Update 1.6.1 2019-11-09 20:07:41 +02:00
Alexander
b808026465 Fixed performance issues on large values of Password iterations when "Save As" #43 2019-11-09 19:55:53 +02:00
Alexander
dfe7e152f6 Merge remote-tracking branch 'origin/master' 2019-11-08 07:53:27 +02:00
Alexander
202486eedf Fixed bug when file size and modified date does not calculated 2019-11-08 07:52:21 +02:00
Alexander
5bd9597eec Fixed bub when file size and modified date does not calculated 2019-11-07 21:13:04 +02:00
Alexander
a88da63bdf Merge branch 'master' of https://github.com/Crypto-Notepad/Crypto-Notepad 2019-11-07 20:23:12 +02:00
Alexander
8708bf007f Able to change visibility of all labels in status panel (except Ready label) 2019-11-07 20:23:05 +02:00
Alexander
fe26894aff Update MainForm.Designer.cs 2019-11-07 20:15:53 +02:00
Alexander
9c2b77755e Formatting code 2019-11-07 20:15:41 +02:00
Alexander
8b8cb8789d Fixed typo 2019-11-07 20:14:24 +02:00
Alexander
90dbc12f3d Swapped the app name and the file name in the window title 2019-11-07 20:13:57 +02:00
Alexander
b8b3cccc13 Fixed bug with file saving on app closing 2019-11-07 20:11:25 +02:00
Alexander
349dfbb853 Fixed bug with invisible "Save file?" dialog window 2019-11-07 20:10:55 +02:00
Alexander
efefad0c02 Added check for empty file path 2019-11-07 20:08:39 +02:00
Alexander
a208e5202c Added line breaks for better readability 2019-11-07 20:07:52 +02:00
Alexander
feb0dcb16a Swapped the app name and the file name in the window title 2019-11-07 20:05:30 +02:00
Alexander
a99140412a
Update README.md 2019-11-07 09:05:24 +02:00
Alexander
a96284a0ab
Update README.md 2019-11-06 13:55:40 +02:00
Alexander
8db3dbd89d Update 1.6.0 2019-11-06 12:35:47 +02:00
Alexander
702fa3aee6 Merge remote-tracking branch 'origin/master' 2019-11-06 12:09:14 +02:00
Alexander
2483270acd Disabled "modified" tooltip when file is locked 2019-11-06 12:08:40 +02:00
Alexander
5412d089cd Disabled "modified" tooltip when file is locked 2019-11-06 11:05:18 +02:00
Alexander
fa5fefbd3f Fixed performance issue on large values of "Password iterations"
When user try to open files with large values of "Password iterations", the interface does not freeze, but it becomes unclickable. When saving files, there will be the same effect.
2019-11-06 11:04:35 +02:00
Alexander
db1334d437 Fixed bug with incorrect settings file path 2019-11-06 00:51:18 +02:00
Alexander
dea6afad84 Added indicator (*) in main window title while text is modified 2019-11-05 22:54:16 +02:00
Alexander
b5b49ec535 Removed unused code 2019-11-05 22:41:57 +02:00
Alexander
04117e65c7 Resolved #40
Encrypt/decrypt all file formats
2019-11-05 22:30:49 +02:00
Alexander
a6d1e8caf2 Changed default "Enter Key" window postion 2019-11-05 22:12:55 +02:00
Alexander
30a4c3f9b5 Resolved #41
Save file and close it, without closing the app
2019-11-05 22:00:38 +02:00
Alexander
cf9953e9f5 Center additional windows depending on the visibility of the main window 2019-11-05 21:23:13 +02:00
Alexander
d4c8a01f71 Fixed bug with incorrect text in "modified" label 2019-11-03 20:31:06 +02:00
Alexander
d20b72f1eb Merge branch 'master' of https://github.com/Sigmanor/Crypto-Notepad 2019-10-31 21:51:03 +02:00
Alexander
9d9fb45b33 Resolved #39 2019-10-31 21:50:51 +02:00
Alexander
274a1df261
Update README.md 2019-10-29 21:29:28 +02:00
Alexander
f582da98c7 SizeSuffix method was moved to own section 2019-10-29 20:41:13 +02:00
Alexander
382164d73f Variable was simplified 2019-10-29 20:37:52 +02:00
Alexander
0fb911be5e Changed control names 2019-10-29 20:28:15 +02:00
Alexander
f04560890a Merge branch 'master' of https://github.com/Sigmanor/Crypto-Notepad 2019-10-28 20:33:32 +02:00
Alexander
6c4a4ed11b Fixed app crashes when PC is locked 2019-10-28 20:33:14 +02:00
Alexander
f98b4bb732 Added new TextBox control with placeholder, instead of realization via labels 2019-10-28 20:32:13 +02:00
Alexander
41bc4a75cd Code review
- Events was moved to own sections
- Removed line breaks
- Added #region instead of comments
2019-10-28 20:29:17 +02:00
Alexander
5a710116db Fixed bug when font settings not saved 2019-10-28 20:25:22 +02:00
Alexander
722e8872b3 Removed line numbers settings 2019-10-28 20:19:43 +02:00
Alexander
cb1fa516c4 Third-party developments list edited 2019-10-28 20:18:42 +02:00
Alexander
ca1db5a7a3 Removed line numbers 2019-10-26 00:23:36 +03:00
Alexander
b4c169db79 Aded statusPanelTimer 2019-10-26 00:12:58 +03:00
Alexander
e130e5d90f Fixed bug with password corrupt while creating new file 2019-10-26 00:12:19 +03:00
Alexander
a2a7d0db68 Improved status panel
- Removed Col and Ln.
- Added file size and modified date.
- Improved status panel performance.
2019-10-26 00:11:24 +03:00
Alexander
4f70033b41 Renamed LockFile method 2019-10-26 00:04:05 +03:00
Alexander
055dc97c26 Removed unused code 2019-10-26 00:03:05 +03:00
Alexander
cc7a7ac915
Update FUNDING.yml 2019-10-24 12:51:54 +03:00
Alexander
9de470dfa7 Fixed bug when the status panel did not work 2019-10-21 15:20:40 +03:00
Alexander
2af83d4b1d Changed show tray icon 2019-10-21 14:32:55 +03:00
Alexander
4a3fecdc1a Minor design changes 2019-10-21 14:27:02 +03:00
Alexander
305410e5f8 StatusPanel now does not work when disabled in settings 2019-10-21 14:26:40 +03:00
Alexander
6d0518dc0c LineNumbers now does not work when disabled in settings 2019-10-21 14:26:22 +03:00
Alexander
569e05dbf2 Single instance warning message now always on top of the main app window when "always on top" is enabled 2019-10-20 23:21:07 +03:00
Alexander
b475ba9931 Re-arrangement of the Settings navigation 2019-10-20 23:05:43 +03:00
Alexander
7907f3bd9c Resolved #37 2019-10-20 22:59:52 +03:00
Alexander
83e63fa8d4 Update MainForm.Designer.cs 2019-10-20 22:53:31 +03:00
Alexander
78158921c3 Fixed wrong size of line numbers on startup 2019-10-20 22:53:19 +03:00
Alexander
8153899427 Resolved #38 2019-10-20 21:29:53 +03:00
Alexander
0a903a0589 Returned wrongly disabled line numbers 2019-10-20 21:29:34 +03:00
Alexander
57a4535316 Minor design changes 2019-10-20 21:08:27 +03:00
Alexander
3de595c5e5 Update MainForm.cs 2019-10-20 21:08:08 +03:00
Alexander
d3429e6843 Disabled ability to copy text when double clicking on some labels 2019-10-18 17:30:36 +03:00
Alexander
7d724959af Was removed illogical code from the search function 2019-10-18 13:40:01 +03:00
Alexander
2f28645c46 Changed event type for "Find Next" button 2019-10-18 13:37:33 +03:00
Alexander
5b51fd26c8 Changed location of "File locked" label 2019-10-18 13:36:25 +03:00
Alexander
14a1cf0715 Changed toolbar close button size and location 2019-10-18 13:35:42 +03:00
Alexander
06cec353de Renamed ToolbarIcons method 2019-10-18 13:34:14 +03:00
Alexander
7904800f60 Changed default values for editorBorder and searchPanelBorder parameters 2019-10-18 13:33:30 +03:00
Alexander
9715c5a12f Added ability to hide toolbar close button 2019-10-18 00:37:08 +03:00
Alexander
cf2de9bc0e Added search panel border setting 2019-10-18 00:27:17 +03:00
Alexander
89e1e69f1a The close button on the search panel now has the same color as other elements on the panel 2019-10-18 00:11:47 +03:00
Alexander
5ed5f9cae0 Changed buttons style in search panel 2019-10-18 00:00:03 +03:00
Alexander
69c08e7c42 Removed X icons 2019-10-17 23:59:23 +03:00
Alexander
c6d71572dc Closing search panel when file locked 2019-10-17 23:57:57 +03:00
Alexander
551c554731 The Find Next button from search panel was returned to its standard view 2019-10-16 22:26:22 +03:00
Alexander
03cf2d0f13 Sorted TabIndex values of controls 2019-10-16 22:25:04 +03:00
Alexander
0852c57619 Added setting to display border around the editor 2019-10-15 21:00:19 +03:00
Alexander
c7240f5849 Fixed bug when the file save window did not close 2019-10-15 20:22:53 +03:00
Alexander
a7bda6495c Changed the name of the variable. 2019-10-15 20:21:28 +03:00
Alexander
ef7cb366ce Removed "Debug" from the main menu (Available on Ctrl+Space shortcut) 2019-10-15 20:20:36 +03:00
Alexander
2548674b26 The position of some variables has been changed to avoid some bugs 2019-10-15 20:19:06 +03:00
Alexander
c14f525569 Now when click "Cancel" in the "Enter Key" window, app will close. 2019-10-15 20:18:04 +03:00
Alexander
6606caf589 When auto lock on minimize, editor text was visible in windows taskbar 2019-10-15 20:13:07 +03:00
Alexander
bea1925438 Removed unused code 2019-10-15 20:06:37 +03:00
Alexander
5ac59a1b35 Removed unused code 2019-10-15 20:06:25 +03:00
Alexander
e43afdb85c Status message now empty, not invisible 2019-10-15 20:05:38 +03:00
Alexander
620aae8459 Changed error sounds while changing the encryption key 2019-10-15 20:02:10 +03:00
Alexander
71dad53ea5 Changed timeout for "Key was successfully changed" message 2019-10-15 19:54:55 +03:00
Alexander
9c44976c44 Changed check for empty variables 2019-10-15 19:48:17 +03:00
Alexander
adaf4b7f3b Disabled system sounds in text fields 2019-10-15 19:13:08 +03:00
Alexander
c280500615 Code formatting 2019-10-15 19:09:51 +03:00
Alexander
35949efb8c Renamed some controls 2019-10-13 15:55:13 +03:00
Alexander
bb8a62c06d Disabling shortcut keys while file locked 2019-10-13 15:25:32 +03:00
Alexander
62d4f3d54a Renamed FileMainMenu_DropDownOpened 2019-10-13 15:24:47 +03:00
Alexander
b1cc915d83 Added placeholder for file locked enter key textbox 2019-10-13 15:08:51 +03:00
Alexander
f7ec7824d8 Changed file locked button size 2019-10-13 15:08:11 +03:00
Alexander
4cdb97be4c Reworked close/auto save functions 2019-10-13 14:59:01 +03:00
Alexander
c0c806560d Added owner to all message boxes 2019-10-13 14:57:47 +03:00
Alexander
c2b722cd30 Added placeholders for textboxes 2019-10-13 14:55:20 +03:00
Alexander
9386f6844a Changed some names 2019-10-13 14:54:45 +03:00
Alexander
f089a07a28 Added new icons 2019-10-13 14:49:43 +03:00
Alexander
d08552c7cc Added testers info 2019-10-13 14:48:56 +03:00
Alexander
483c08440e Moving to "Hungarian Notation Naming" 2019-10-11 13:39:15 +03:00
Alexander
0f28dde953 Reworked "Auto lock on minimize" function 2019-10-11 13:38:15 +03:00
Alexander
e8e2167c3d Resolved #35 2019-10-11 13:37:05 +03:00
Alexander
5ffbe004bf Resolved #36 2019-10-11 13:31:24 +03:00
Alexander
773943f826 Auto generated code 2019-10-04 23:03:50 +03:00
Alexander
d5499ae724 Removed unused code 2019-10-04 23:02:12 +03:00
Alexander
e37bdf9d13 Auto generated code 2019-10-04 22:00:37 +03:00
Alexander
718968fdf5 Сode simplification 2019-10-04 21:48:55 +03:00
Alexander
cdd4b05590 Changed statusPanel.TrayLocation 2019-10-04 21:47:57 +03:00
Alexander
8593e6252d More style settings for line numbers 2019-10-04 21:46:10 +03:00
Alexander
64fb168672 Added icons copyright 2019-10-04 21:44:59 +03:00
Alexander
2c629b44a2 Moved properties from designer 2019-10-04 21:44:30 +03:00
Alexander
4df471f076 Renamed some properties 2019-10-04 21:41:34 +03:00
Alexander
7281d0bae4 Update method improved 2019-10-02 19:35:34 +03:00
Alexander
acaab489a2 Search panel design changes 2019-10-02 19:34:44 +03:00
Alexander
01a82963bd Resolved #34 2019-10-02 19:33:26 +03:00
Alexander
0af9db20f3 Resolved #34 2019-10-02 19:24:52 +03:00
Alexander
0102a3efb9 Resolving class naming inconsistencies 2019-09-28 22:57:03 +03:00
Alexander
d7279c111b Renamed settings 2019-09-28 22:56:25 +03:00
Alexander
157b148e85 Autosave on lock 2019-09-28 22:55:21 +03:00
Alexander
3b9b930667 Improved text search 2019-09-28 22:54:34 +03:00
Alexander
353951cad7 Renamed linenum_rtf.cs 2019-09-28 22:47:52 +03:00
Alexander
7c33fb4372 Debug variables update 2019-09-28 22:45:20 +03:00
Alexander
505a7caff4 Removed unused variables 2019-09-28 22:44:14 +03:00
Alexander
e0d55d657e .net framework update 2019-09-28 22:43:17 +03:00
Alexander
4845d52a35 Visual Studio update 2019-09-28 22:40:25 +03:00
Alexander
301348cce3 Merge remote-tracking branch 'origin/master' 2019-09-28 22:38:13 +03:00
Alexander
3b713780dd Added #31 2019-09-28 22:37:04 +03:00
Alexander
c064e95c39 Added #30 2019-09-28 22:29:24 +03:00
Alexander
e43b503b69 Added #33 2019-09-28 22:27:05 +03:00
Alexander
5f433088ff Added #29 2019-09-28 22:25:03 +03:00
Alexander
c7992b0410 Added #32 2019-09-28 22:23:52 +03:00
Alexander
86656d85ca Fixed #28 2019-09-28 22:14:24 +03:00
Alexander
7f71249c4e Update 1.6.0 2019-09-28 22:05:10 +03:00
Alexander
962300e62a
Update README.md 2019-09-08 01:14:24 +03:00
Alexander
028758b3cf
Update README.md 2019-09-08 01:13:10 +03:00
Alexander
c345c33714
Update README.md 2019-08-31 15:45:54 +03:00
Alexander
0284dff95a Update 1.5.1 2019-08-30 13:15:09 +03:00
Alexander
7d32a2f1ef Minor design changes 2019-08-30 13:12:17 +03:00
Alexander
c9d5297658 Update 1.5.1 2019-08-30 13:11:52 +03:00
Alexander
0df8dba2cb Added notification in window title bar when file saved 2019-08-30 13:07:26 +03:00
Alexander
300fadf616 Fixed #27 2019-08-30 13:05:29 +03:00
Alexander
1a7eeb1bc7 Fixed #26 2019-08-30 12:21:55 +03:00
Alexander
682e1d5fa7 Minor design changes 2019-08-30 12:20:43 +03:00
Alexander
9007910739 Update 1.5.0 2019-08-28 13:16:10 +03:00
Alexander
69854dc467 Revert "Update 1.5.0"
This reverts commit 9014059f3e.
2019-08-28 13:14:05 +03:00
Alexander
3cfd869db6 Update 1.5.0 2019-08-28 13:09:18 +03:00
Alexander
3002536f37 Merge remote-tracking branch 'origin/master' 2019-08-28 13:08:56 +03:00
Alexander
9014059f3e Update 1.5.0 2019-08-28 13:07:39 +03:00
Alexander
64f44049fc
Update README.md 2019-08-28 13:03:24 +03:00
65 changed files with 23682 additions and 7546 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: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=AK9FYCBAHV4U8&source=url
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,248 +0,0 @@
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
using System.Windows.Forms;
using System.Collections.Generic;
namespace Crypto_Notepad
{
/// <summary>
/// This class extracts information needed for decryption from a .cnp file
/// </summary>
class AESMetadata
{
/// <summary>
/// Offset to actual AES data; size of metadata
/// </summary>
public int OffsetToData { get; private set; }
public byte[] InitialVector { get; private set; }
public byte[] Salt { get; private set; }
public AESMetadata()
{
this.InitialVector = new byte[16];
this.Salt = null;
}
public void DeleteMetadataFromBuffer(ref byte[] rawData)
{
byte[] buffer = new byte[rawData.Length - this.OffsetToData];
Buffer.BlockCopy(rawData, this.OffsetToData, buffer, 0, rawData.Length - this.OffsetToData);
rawData = buffer;
}
private bool ReadData(byte[] rawData, int offset, ref byte[] dataOut)
{
// Buffer to store bytes
List<byte> buffer = new List<byte>();
const byte nullTerminator = 0;
bool foundData = false;
// Push data to buffer
for (int i = offset; i < rawData.Length; i++) {
if (rawData[i] == nullTerminator) { foundData = true; break; }
else { buffer.Add(rawData[i]); }
}
if (foundData == true)
{
dataOut = buffer.ToArray();
return true;
}
return false;
}
public static void WriteMetadata(MemoryStream stream, byte[] IV, byte[] salt)
{
byte[] nullByte = { 0 };
stream.Write(IV, 0, IV.Length);
stream.Write(nullByte, 0, 1);
stream.Write(salt, 0, salt.Length);
stream.Write(nullByte, 0, 1);
}
public bool GetMetadata(byte[] rawData)
{
int offset = 0;
byte[] buffer = null;
if (!this.ReadData(rawData, 0, ref buffer)) { return false; }
this.InitialVector = buffer;
offset += buffer.Length + 1;
if (!this.ReadData(rawData, offset, ref buffer)) { return false; }
this.Salt = buffer;
offset += buffer.Length + 1;
this.OffsetToData = offset;
return true;
}
}
class AES
{
private static bool ByteArrayIsNonZero(byte[] byte_array)
{
foreach (byte i in byte_array)
{
if (i == 0)
{
return false;
}
}
return true;
}
// The purpose of this function is to ensure that the bytes generated by it are nonzero 100% of the time
// as there was a strange bug in which RNGCryptoServiceProvider.GetNonZeroBytes() would return a null byte sometimes
private static byte[] GenerateSecureNonZeroByteArray(int length)
{
byte[] result = new byte[length];
using (RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider())
{
do
{
rng.GetNonZeroBytes(result);
} while (!ByteArrayIsNonZero(result));
}
return result;
}
public static string Encrypt(string plainText, string password,
string salt = null, string hashAlgorithm = "SHA1",
int passwordIterations = 2, int keySize = 256)
{
if (string.IsNullOrEmpty(plainText))
return null;
if (string.IsNullOrEmpty(password))
return null;
byte[] plainTextBytes;
byte[] saltValueBytes;
// In case user wants a random salt or salt is null/empty for some other reason
if (string.IsNullOrEmpty(salt))
{
saltValueBytes = new byte[64]; // Nice and long
saltValueBytes = GenerateSecureNonZeroByteArray(saltValueBytes.Length);
}
else
{
saltValueBytes = Encoding.ASCII.GetBytes(salt);
}
plainTextBytes = Encoding.UTF8.GetBytes(plainText);
PasswordDeriveBytes derivedPassword = new PasswordDeriveBytes
(password, saltValueBytes, hashAlgorithm, passwordIterations);
// Null password; adds *some* memory dump protection
password = null;
byte[] keyBytes = derivedPassword.GetBytes(keySize / 8);
RijndaelManaged symmetricKey = new RijndaelManaged();
symmetricKey.Mode = CipherMode.CBC;
// Generate IV
symmetricKey.IV = GenerateSecureNonZeroByteArray(symmetricKey.IV.Length);
byte[] cipherTextBytes = null;
using (MemoryStream memStream = new MemoryStream())
{
AESMetadata.WriteMetadata(memStream, symmetricKey.IV, saltValueBytes);
using (ICryptoTransform encryptor = symmetricKey.CreateEncryptor
(keyBytes, symmetricKey.IV))
{
using (CryptoStream cryptoStream = new CryptoStream
(memStream, encryptor, CryptoStreamMode.Write))
{
cryptoStream.Write(plainTextBytes, 0, plainTextBytes.Length);
cryptoStream.FlushFinalBlock();
cipherTextBytes = memStream.ToArray();
memStream.Close();
cryptoStream.Close();
}
}
}
symmetricKey.Dispose();
derivedPassword.Dispose();
return Convert.ToBase64String(cipherTextBytes);
}
public static string Decrypt(string cipherText, string password, string salt = "Kosher",
string hashAlgorithm = "SHA1",
int passwordIterations = 2,
int keySize = 256)
{
if (string.IsNullOrEmpty(cipherText))
return null;
if (string.IsNullOrEmpty(password))
return null;
byte[] initialVectorBytes;
byte[] saltValueBytes;
byte[] cipherTextBytes = Convert.FromBase64String(cipherText);
// Extract metadata from file
AESMetadata metadata = new AESMetadata();
if (!metadata.GetMetadata(cipherTextBytes))
{
// 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);
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
{
saltValueBytes = metadata.Salt;
initialVectorBytes = metadata.InitialVector;
metadata.DeleteMetadataFromBuffer(ref cipherTextBytes);
}
PasswordDeriveBytes derivedPassword = new PasswordDeriveBytes
(password, saltValueBytes, hashAlgorithm, passwordIterations);
byte[] keyBytes = derivedPassword.GetBytes(keySize / 8);
RijndaelManaged symmetricKey = new RijndaelManaged();
symmetricKey.Mode = CipherMode.CBC;
byte[] plainTextBytes = new byte[cipherTextBytes.Length];
int byteCount = 0;
using (MemoryStream memStream = new MemoryStream(cipherTextBytes))
{
using (ICryptoTransform decryptor = symmetricKey.CreateDecryptor
(keyBytes, initialVectorBytes))
{
using (CryptoStream cryptoStream
= new CryptoStream(memStream, decryptor, CryptoStreamMode.Read))
{
byteCount = cryptoStream.Read(plainTextBytes, 0, plainTextBytes.Length);
memStream.Close();
cryptoStream.Close();
}
}
symmetricKey.Dispose();
}
derivedPassword.Dispose();
return Encoding.UTF8.GetString(plainTextBytes, 0, byteCount);
}
}
}

View file

@ -1,224 +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.TPDLabel = new System.Windows.Forms.Label();
this.AuthorLinkLabel = new System.Windows.Forms.LinkLabel();
this.LicenseLinkLabel = new System.Windows.Forms.LinkLabel();
this.GithubLinkLabel = new System.Windows.Forms.LinkLabel();
this.ContributorsLabel = new System.Windows.Forms.Label();
this.ContributorsRichTextBox = new Crypto_Notepad.ExRichTextBox();
this.TPDRichTextBox = 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.Color.White;
this.AppVersionLabel.Location = new System.Drawing.Point(5, 6);
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(320, 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);
//
// TPDLabel
//
this.TPDLabel.AutoSize = true;
this.TPDLabel.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.TPDLabel.ForeColor = System.Drawing.Color.White;
this.TPDLabel.Location = new System.Drawing.Point(6, 160);
this.TPDLabel.Name = "TPDLabel";
this.TPDLabel.Size = new System.Drawing.Size(182, 15);
this.TPDLabel.TabIndex = 4;
this.TPDLabel.Text = "Third-party developments:";
//
// AuthorLinkLabel
//
this.AuthorLinkLabel.ActiveLinkColor = System.Drawing.Color.White;
this.AuthorLinkLabel.AutoSize = true;
this.AuthorLinkLabel.DisabledLinkColor = System.Drawing.Color.White;
this.AuthorLinkLabel.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.AuthorLinkLabel.ForeColor = System.Drawing.Color.White;
this.AuthorLinkLabel.LinkArea = new System.Windows.Forms.LinkArea(38, 8);
this.AuthorLinkLabel.LinkColor = System.Drawing.Color.White;
this.AuthorLinkLabel.Location = new System.Drawing.Point(9, 39);
this.AuthorLinkLabel.Name = "AuthorLinkLabel";
this.AuthorLinkLabel.Size = new System.Drawing.Size(291, 18);
this.AuthorLinkLabel.TabIndex = 9;
this.AuthorLinkLabel.TabStop = true;
this.AuthorLinkLabel.Text = "This is an open-source app created by Sigmanor";
this.AuthorLinkLabel.UseCompatibleTextRendering = true;
this.AuthorLinkLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.AuthorLinkLabel_LinkClicked);
//
// LicenseLinkLabel
//
this.LicenseLinkLabel.ActiveLinkColor = System.Drawing.Color.White;
this.LicenseLinkLabel.AutoSize = true;
this.LicenseLinkLabel.DisabledLinkColor = System.Drawing.Color.White;
this.LicenseLinkLabel.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.LicenseLinkLabel.ForeColor = System.Drawing.Color.White;
this.LicenseLinkLabel.LinkArea = new System.Windows.Forms.LinkArea(18, 3);
this.LicenseLinkLabel.LinkColor = System.Drawing.Color.White;
this.LicenseLinkLabel.Location = new System.Drawing.Point(9, 57);
this.LicenseLinkLabel.Name = "LicenseLinkLabel";
this.LicenseLinkLabel.Size = new System.Drawing.Size(185, 18);
this.LicenseLinkLabel.TabIndex = 9;
this.LicenseLinkLabel.TabStop = true;
this.LicenseLinkLabel.Text = "Distributed under MIT license";
this.LicenseLinkLabel.UseCompatibleTextRendering = true;
this.LicenseLinkLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LicenseLinkLabel_LinkClicked);
//
// GithubLinkLabel
//
this.GithubLinkLabel.ActiveLinkColor = System.Drawing.Color.White;
this.GithubLinkLabel.AutoSize = true;
this.GithubLinkLabel.DisabledLinkColor = System.Drawing.Color.White;
this.GithubLinkLabel.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.GithubLinkLabel.ForeColor = System.Drawing.Color.White;
this.GithubLinkLabel.LinkArea = new System.Windows.Forms.LinkArea(52, 6);
this.GithubLinkLabel.LinkColor = System.Drawing.Color.White;
this.GithubLinkLabel.Location = new System.Drawing.Point(9, 75);
this.GithubLinkLabel.Name = "GithubLinkLabel";
this.GithubLinkLabel.Size = new System.Drawing.Size(366, 18);
this.GithubLinkLabel.TabIndex = 9;
this.GithubLinkLabel.TabStop = true;
this.GithubLinkLabel.Text = "The source code, issues and documentation posted on GitHub";
this.GithubLinkLabel.UseCompatibleTextRendering = true;
this.GithubLinkLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.GithubLinkLabel_LinkClicked);
//
// ContributorsLabel
//
this.ContributorsLabel.AutoSize = true;
this.ContributorsLabel.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.ContributorsLabel.ForeColor = System.Drawing.Color.White;
this.ContributorsLabel.Location = new System.Drawing.Point(6, 105);
this.ContributorsLabel.Name = "ContributorsLabel";
this.ContributorsLabel.Size = new System.Drawing.Size(98, 15);
this.ContributorsLabel.TabIndex = 4;
this.ContributorsLabel.Text = "Contributors:";
//
// 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.Color.White;
this.ContributorsRichTextBox.Location = new System.Drawing.Point(0, 125);
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(397, 18);
this.ContributorsRichTextBox.TabIndex = 11;
this.ContributorsRichTextBox.Text = "h5p9sl https://github.com/h5p9sl";
this.ContributorsRichTextBox.WordWrap = false;
this.ContributorsRichTextBox.LinkClicked += new System.Windows.Forms.LinkClickedEventHandler(this.ContributorsRichTextBox_LinkClicked);
//
// TPDRichTextBox
//
this.TPDRichTextBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(50)))));
this.TPDRichTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.TPDRichTextBox.Dock = System.Windows.Forms.DockStyle.Bottom;
this.TPDRichTextBox.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.TPDRichTextBox.ForeColor = System.Drawing.Color.White;
this.TPDRichTextBox.Location = new System.Drawing.Point(0, 184);
this.TPDRichTextBox.Name = "TPDRichTextBox";
this.TPDRichTextBox.ReadOnly = true;
this.TPDRichTextBox.RightMargin = 700;
this.TPDRichTextBox.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.ForcedHorizontal;
this.TPDRichTextBox.ShowSelectionMargin = true;
this.TPDRichTextBox.Size = new System.Drawing.Size(397, 100);
this.TPDRichTextBox.TabIndex = 10;
this.TPDRichTextBox.Text = resources.GetString("TPDRichTextBox.Text");
this.TPDRichTextBox.WordWrap = false;
this.TPDRichTextBox.LinkClicked += new System.Windows.Forms.LinkClickedEventHandler(this.TPDRichTextBox_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(397, 284);
this.Controls.Add(this.ContributorsRichTextBox);
this.Controls.Add(this.TPDRichTextBox);
this.Controls.Add(this.GithubLinkLabel);
this.Controls.Add(this.LicenseLinkLabel);
this.Controls.Add(this.AuthorLinkLabel);
this.Controls.Add(this.AppLogoPictureBox);
this.Controls.Add(this.AppVersionLabel);
this.Controls.Add(this.ContributorsLabel);
this.Controls.Add(this.TPDLabel);
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.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 TPDLabel;
private System.Windows.Forms.LinkLabel AuthorLinkLabel;
private System.Windows.Forms.LinkLabel LicenseLinkLabel;
private System.Windows.Forms.LinkLabel GithubLinkLabel;
private System.Windows.Forms.Label ContributorsLabel;
private ExRichTextBox TPDRichTextBox;
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 AuthorLinkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
Process.Start("https://sigmanor.github.io/");
}
private void LicenseLinkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
Process.Start("https://github.com/Crypto-Notepad/Crypto-Notepad/blob/master/LICENSE");
}
private void GithubLinkLabel_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 TPDRichTextBox_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,28 +9,22 @@
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/></startup>
<userSettings>
<Crypto_Notepad.Properties.Settings>
<setting name="RichTextFont" serializeAs="String">
<value>Consolas</value>
<setting name="editorForeColor" serializeAs="String">
<value>Black</value>
</setting>
<setting name="RichForeColor" serializeAs="String">
<value>228, 228, 228</value>
<setting name="editorBackColor" serializeAs="String">
<value>White</value>
</setting>
<setting name="RichBackColor" serializeAs="String">
<value>56, 56, 56</value>
</setting>
<setting name="MenuWrap" serializeAs="String">
<setting name="menuWrap" serializeAs="String">
<value>True</value>
</setting>
<setting name="RichWrap" serializeAs="String">
<setting name="editorWrap" serializeAs="String">
<value>True</value>
</setting>
<setting name="RichTextSize" serializeAs="String">
<value>11</value>
</setting>
<setting name="AssociateCheck" serializeAs="String">
<setting name="explorerAssociate" serializeAs="String">
<value>False</value>
</setting>
<setting name="HashAlgorithm" serializeAs="String">
@ -39,163 +33,174 @@
<setting name="KeySize" serializeAs="String">
<value>256</value>
</setting>
<setting name="TheSalt" serializeAs="String">
<value />
</setting>
<setting name="PasswordIterations" serializeAs="String">
<value>1000</value>
</setting>
<setting name="FirstLaunch" serializeAs="String">
<setting name="toolbarVisible" serializeAs="String">
<value>True</value>
</setting>
<setting name="autoCheckUpdate" serializeAs="String">
<value>False</value>
</setting>
<setting name="WarningMsg" serializeAs="String">
<value>True</value>
</setting>
<setting name="ShowToolbar" serializeAs="String">
<value>True</value>
</setting>
<setting name="AutoCheckUpdate" serializeAs="String">
<value>True</value>
</setting>
<setting name="AutoLock" serializeAs="String">
<setting name="autoLock" serializeAs="String">
<value>False</value>
</setting>
<setting name="WindowSize" serializeAs="String">
<setting name="windowLocation" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="windowSize" serializeAs="String">
<value>645, 460</value>
</setting>
<setting name="WindowState" serializeAs="String">
<setting name="windowState" serializeAs="String">
<value>Normal</value>
</setting>
<setting name="AutoSave" serializeAs="String">
<value>True</value>
</setting>
<setting name="SendTo" serializeAs="String">
<setting name="explorerSendTo" serializeAs="String">
<value>False</value>
</setting>
<setting name="MenuIntegrate" serializeAs="String">
<setting name="explorerIntegrate" serializeAs="String">
<value>False</value>
</setting>
<setting name="MenuIcons" serializeAs="String">
<setting name="menuIcons" serializeAs="String">
<value>False</value>
</setting>
<setting name="ColoredToolbar" serializeAs="String">
<value>False</value>
</setting>
<setting name="LNVisible" serializeAs="String">
<value>True</value>
</setting>
<setting name="LNBackgroundColor" serializeAs="String">
<value>53, 53, 53</value>
</setting>
<setting name="LNFontColorPanel" serializeAs="String">
<value>164, 164, 164</value>
</setting>
<setting name="BLShow" serializeAs="String">
<value>False</value>
</setting>
<setting name="BLColor" serializeAs="String">
<value>164, 164, 164</value>
</setting>
<setting name="BLStyle" serializeAs="String">
<value>Solid</value>
</setting>
<setting name="GLShow" serializeAs="String">
<value>False</value>
</setting>
<setting name="GLColor" serializeAs="String">
<value>164, 164, 164</value>
</setting>
<setting name="GLStyle" serializeAs="String">
<value>Solid</value>
</setting>
<setting name="InserKey" serializeAs="String">
<setting name="insertKey" serializeAs="String">
<value>Enable</value>
</setting>
<setting name="CustomColor" serializeAs="String">
<value>0</value>
<setting name="customColor" serializeAs="String">
<value>16777215;16777215;16777215;16777215;16777215;16777215;16777215;16777215;16777215;16777215;16777215;16777215;16777215;16777215;16777215;16777215</value>
</setting>
</Crypto_Notepad.Properties.Settings>
<EncryptPad.Properties.Settings>
<setting name="TopPosition" serializeAs="String">
<value>0</value>
<setting name="editorPaddingLeft" serializeAs="String">
<value>5</value>
</setting>
<setting name="LeftPosition" serializeAs="String">
<value>0</value>
</setting>
<setting name="RichTextFont" serializeAs="String">
<value>Consolas</value>
</setting>
<setting name="RichForeColor" serializeAs="String">
<value>228, 228, 228</value>
</setting>
<setting name="FormWidth" serializeAs="String">
<value>687</value>
</setting>
<setting name="FormHeight" serializeAs="String">
<value>428</value>
</setting>
<setting name="RichBackColor" serializeAs="String">
<value>56, 56, 56</value>
</setting>
<setting name="MenuWrap" serializeAs="String">
<value>True</value>
</setting>
<setting name="RichWrap" serializeAs="String">
<value>True</value>
</setting>
<setting name="RichTextSize" serializeAs="String">
<value>11</value>
</setting>
<setting name="HighlightsColor" serializeAs="String">
<value>101, 51, 6</value>
</setting>
<setting name="AssociateCheck" serializeAs="String">
<setting name="editorRightToLeft" serializeAs="String">
<value>False</value>
</setting>
<setting name="HashAlgorithm" serializeAs="String">
<value>SHA1</value>
<setting name="editorFont" serializeAs="String">
<value>Microsoft Sans Serif, 10pt</value>
</setting>
<setting name="KeySize" serializeAs="String">
<value>192</value>
<setting name="statusPanelVisible" serializeAs="String">
<value>True</value>
</setting>
<setting name="statusPanelBackColor" serializeAs="String">
<value>240, 240, 240</value>
</setting>
<setting name="statusPanelFontColor" serializeAs="String">
<value>Black</value>
</setting>
<setting name="toolbarBackColor" serializeAs="String">
<value>240, 240, 240</value>
</setting>
<setting name="toolbarBorder" serializeAs="String">
<value>False</value>
</setting>
<setting name="searchPanelForeColor" serializeAs="String">
<value>Black</value>
</setting>
<setting name="searchPanelBackColor" serializeAs="String">
<value>240, 240, 240</value>
</setting>
<setting name="openLinks" serializeAs="String">
<value>LMB Click</value>
</setting>
<setting name="mainMenuVisible" serializeAs="String">
<value>True</value>
</setting>
<setting name="oldToolbarIcons" serializeAs="String">
<value>False</value>
</setting>
<setting name="minimizeToTray" serializeAs="String">
<value>False</value>
</setting>
<setting name="closeToTray" serializeAs="String">
<value>False</value>
</setting>
<setting name="alwaysOnTop" serializeAs="String">
<value>False</value>
</setting>
<setting name="editorBorder" serializeAs="String">
<value>FixedSingle</value>
</setting>
<setting name="searchPanelBorder" serializeAs="String">
<value>None</value>
</setting>
<setting name="toolbarCloseButton" serializeAs="String">
<value>True</value>
</setting>
<setting name="singleInstance" serializeAs="String">
<value>False</value>
</setting>
<setting name="statusPanelLength" serializeAs="String">
<value>True</value>
</setting>
<setting name="statusPanelLines" serializeAs="String">
<value>True</value>
</setting>
<setting name="statusPanelModified" serializeAs="String">
<value>True</value>
</setting>
<setting name="statusPanelSize" serializeAs="String">
<value>True</value>
</setting>
<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/>
<value />
</setting>
<setting name="PasswordIterations" serializeAs="String">
<value>2</value>
</setting>
<setting name="FirstLaunch" serializeAs="String">
<setting name="passwordGeneratorBrackets" serializeAs="String">
<value>False</value>
</setting>
</EncryptPad.Properties.Settings>
<Encryption_Tool.Properties.Settings>
<setting name="TopPosition" serializeAs="String">
<value>0</value>
<setting name="passwordGeneratorAdditional" serializeAs="String">
<value>False</value>
</setting>
<setting name="LeftPosition" serializeAs="String">
<value>0</value>
<setting name="lockTimeout" serializeAs="String">
<value />
</setting>
<setting name="RichTextFont" serializeAs="String">
<value>Consolas, 9.75pt</value>
</setting>
<setting name="RichTextColor" serializeAs="String">
<value>66, 66, 74</value>
</setting>
<setting name="FormWidth" serializeAs="String">
<value>687</value>
</setting>
<setting name="FormHeight" serializeAs="String">
<value>428</value>
</setting>
<setting name="RichForeColor" serializeAs="String">
<value>White</value>
</setting>
<setting name="MenuWrap" serializeAs="String">
<setting name="statusPanelReadonly" serializeAs="String">
<value>True</value>
</setting>
<setting name="RichWrap" serializeAs="String">
<setting name="statusPanelWordWrap" serializeAs="String">
<value>True</value>
</setting>
</Encryption_Tool.Properties.Settings>
<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,195 +0,0 @@
namespace Crypto_Notepad
{
partial class ChangeKeyForm
{
/// <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.OldKeyTextBox = new System.Windows.Forms.TextBox();
this.NewKeyTextBox = new System.Windows.Forms.TextBox();
this.OldKeyLabel = new System.Windows.Forms.Label();
this.NewKeyLabel = new System.Windows.Forms.Label();
this.AcceptButton = new System.Windows.Forms.Button();
this.panel1 = new System.Windows.Forms.Panel();
this.KeysPictureBox = new System.Windows.Forms.PictureBox();
this.EyePictureBox2 = new System.Windows.Forms.PictureBox();
this.EyePictureBox1 = new System.Windows.Forms.PictureBox();
this.StatusLabel = new System.Windows.Forms.Label();
this.panel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.KeysPictureBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.EyePictureBox2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.EyePictureBox1)).BeginInit();
this.SuspendLayout();
//
// OldKeyTextBox
//
this.OldKeyTextBox.Location = new System.Drawing.Point(120, 9);
this.OldKeyTextBox.Name = "OldKeyTextBox";
this.OldKeyTextBox.Size = new System.Drawing.Size(100, 20);
this.OldKeyTextBox.TabIndex = 0;
this.OldKeyTextBox.UseSystemPasswordChar = true;
this.OldKeyTextBox.TextChanged += new System.EventHandler(this.OldKeyTextBox_TextChanged);
//
// NewKeyTextBox
//
this.NewKeyTextBox.Location = new System.Drawing.Point(120, 43);
this.NewKeyTextBox.Name = "NewKeyTextBox";
this.NewKeyTextBox.Size = new System.Drawing.Size(100, 20);
this.NewKeyTextBox.TabIndex = 1;
this.NewKeyTextBox.UseSystemPasswordChar = true;
this.NewKeyTextBox.TextChanged += new System.EventHandler(this.NewKeyTextBox_TextChanged);
//
// OldKeyLabel
//
this.OldKeyLabel.AutoSize = true;
this.OldKeyLabel.Location = new System.Drawing.Point(61, 12);
this.OldKeyLabel.Name = "OldKeyLabel";
this.OldKeyLabel.Size = new System.Drawing.Size(47, 13);
this.OldKeyLabel.TabIndex = 2;
this.OldKeyLabel.Text = "Old Key:";
//
// NewKeyLabel
//
this.NewKeyLabel.AutoSize = true;
this.NewKeyLabel.Location = new System.Drawing.Point(61, 46);
this.NewKeyLabel.Name = "NewKeyLabel";
this.NewKeyLabel.Size = new System.Drawing.Size(53, 13);
this.NewKeyLabel.TabIndex = 3;
this.NewKeyLabel.Text = "New Key:";
//
// AcceptButton
//
this.AcceptButton.Enabled = false;
this.AcceptButton.Location = new System.Drawing.Point(206, 82);
this.AcceptButton.Name = "AcceptButton";
this.AcceptButton.Size = new System.Drawing.Size(53, 23);
this.AcceptButton.TabIndex = 4;
this.AcceptButton.Text = "Accept";
this.AcceptButton.UseVisualStyleBackColor = true;
this.AcceptButton.Click += new System.EventHandler(this.AcceptButton_Click);
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.White;
this.panel1.Controls.Add(this.KeysPictureBox);
this.panel1.Controls.Add(this.EyePictureBox2);
this.panel1.Controls.Add(this.OldKeyLabel);
this.panel1.Controls.Add(this.EyePictureBox1);
this.panel1.Controls.Add(this.OldKeyTextBox);
this.panel1.Controls.Add(this.NewKeyTextBox);
this.panel1.Controls.Add(this.NewKeyLabel);
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(262, 75);
this.panel1.TabIndex = 6;
//
// KeysPictureBox
//
this.KeysPictureBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.KeysPictureBox.Image = global::Crypto_Notepad.Properties.Resources.big_lock;
this.KeysPictureBox.Location = new System.Drawing.Point(8, 12);
this.KeysPictureBox.Name = "KeysPictureBox";
this.KeysPictureBox.Size = new System.Drawing.Size(47, 47);
this.KeysPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.KeysPictureBox.TabIndex = 7;
this.KeysPictureBox.TabStop = false;
//
// EyePictureBox2
//
this.EyePictureBox2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.EyePictureBox2.Cursor = System.Windows.Forms.Cursors.Hand;
this.EyePictureBox2.Image = global::Crypto_Notepad.Properties.Resources.eye_half;
this.EyePictureBox2.Location = new System.Drawing.Point(219, 43);
this.EyePictureBox2.Name = "EyePictureBox2";
this.EyePictureBox2.Size = new System.Drawing.Size(32, 20);
this.EyePictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.EyePictureBox2.TabIndex = 5;
this.EyePictureBox2.TabStop = false;
this.EyePictureBox2.Click += new System.EventHandler(this.EyePictureBox2_Click);
//
// EyePictureBox1
//
this.EyePictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.EyePictureBox1.Cursor = System.Windows.Forms.Cursors.Hand;
this.EyePictureBox1.Image = global::Crypto_Notepad.Properties.Resources.eye_half;
this.EyePictureBox1.Location = new System.Drawing.Point(219, 9);
this.EyePictureBox1.Name = "EyePictureBox1";
this.EyePictureBox1.Size = new System.Drawing.Size(32, 20);
this.EyePictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.EyePictureBox1.TabIndex = 5;
this.EyePictureBox1.TabStop = false;
this.EyePictureBox1.Click += new System.EventHandler(this.EyePictureBox1_Click);
//
// StatusLabel
//
this.StatusLabel.AutoSize = true;
this.StatusLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.StatusLabel.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.StatusLabel.Location = new System.Drawing.Point(5, 87);
this.StatusLabel.Name = "StatusLabel";
this.StatusLabel.Size = new System.Drawing.Size(43, 16);
this.StatusLabel.TabIndex = 7;
this.StatusLabel.Text = "status";
this.StatusLabel.Visible = false;
//
// ChangeKeyForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(263, 111);
this.Controls.Add(this.StatusLabel);
this.Controls.Add(this.panel1);
this.Controls.Add(this.AcceptButton);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "ChangeKeyForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Change Key";
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.KeysPictureBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.EyePictureBox2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.EyePictureBox1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TextBox OldKeyTextBox;
private System.Windows.Forms.TextBox NewKeyTextBox;
private System.Windows.Forms.Label OldKeyLabel;
private System.Windows.Forms.Label NewKeyLabel;
private new System.Windows.Forms.Button AcceptButton;
private System.Windows.Forms.PictureBox EyePictureBox1;
private System.Windows.Forms.PictureBox EyePictureBox2;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.PictureBox KeysPictureBox;
private System.Windows.Forms.Label StatusLabel;
}
}

View file

@ -1,109 +0,0 @@
using System;
using System.Media;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Crypto_Notepad
{
public partial class ChangeKeyForm : Form
{
public ChangeKeyForm()
{
InitializeComponent();
}
/*Buttons*/
private async void AcceptButton_Click(object sender, EventArgs e)
{
if (OldKeyTextBox.Text == PublicVar.encryptionKey.Get() && OldKeyTextBox.Text != NewKeyTextBox.Text)
{
PublicVar.encryptionKey.Set(NewKeyTextBox.Text);
PublicVar.keyChanged = true;
OldKeyTextBox.Text = "";
NewKeyTextBox.Text = "";
StatusLabel.Text = "Key was successfully changed";
StatusLabel.Visible = true;
AcceptButton.Enabled = false;
await Task.Delay(2000);
StatusLabel.Text = "";
return;
}
if (OldKeyTextBox.Text != PublicVar.encryptionKey.Get())
{
SystemSounds.Beep.Play();
StatusLabel.Text = "Invalid old key";
StatusLabel.Visible = true;
OldKeyTextBox.Text = "";
NewKeyTextBox.Text = "";
return;
}
if (OldKeyTextBox.Text == NewKeyTextBox.Text)
{
SystemSounds.Beep.Play();
StatusLabel.Text = "New key is the same as old";
StatusLabel.Visible = true;
OldKeyTextBox.Text = "";
NewKeyTextBox.Text = "";
return;
}
}
/*Buttons*/
/*Enter keys area*/
private void EyePictureBox1_Click(object sender, EventArgs e)
{
if (OldKeyTextBox.UseSystemPasswordChar)
{
OldKeyTextBox.UseSystemPasswordChar = false;
EyePictureBox1.Image = Properties.Resources.eye;
}
else
{
OldKeyTextBox.UseSystemPasswordChar = true;
EyePictureBox1.Image = Properties.Resources.eye_half;
}
}
private void EyePictureBox2_Click(object sender, EventArgs e)
{
if (NewKeyTextBox.UseSystemPasswordChar)
{
NewKeyTextBox.UseSystemPasswordChar = false;
EyePictureBox2.Image = Properties.Resources.eye;
}
else
{
NewKeyTextBox.UseSystemPasswordChar = true;
EyePictureBox2.Image = Properties.Resources.eye_half;
}
}
private void OldKeyTextBox_TextChanged(object sender, EventArgs e)
{
if (OldKeyTextBox.Text.Length > 0)
{
AcceptButton.Enabled = true;
}
else
{
AcceptButton.Enabled = false;
}
}
private void NewKeyTextBox_TextChanged(object sender, EventArgs e)
{
if (NewKeyTextBox.Text.Length > 0)
{
AcceptButton.Enabled = true;
}
else
{
AcceptButton.Enabled = false;
}
}
/*Enter keys area*/
}
}

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.5</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,40 +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="linenum_rtf.cs">
<Compile Include="External Libraries\EncryptedString.cs" />
<Compile Include="External Libraries\HideCaretRichTextBox.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="MainForm.cs">
<Compile Include="Forms\MainForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="MainForm.Designer.cs">
<Compile Include="Forms\MainForm.Designer.cs">
<DependentUpon>MainForm.cs</DependentUpon>
</Compile>
<Compile Include="EnterKeyForm.cs">
<Compile Include="Forms\EnterPasswordForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="EnterKeyForm.Designer.cs">
<DependentUpon>EnterKeyForm.cs</DependentUpon>
<Compile Include="Forms\EnterPasswordForm.Designer.cs">
<DependentUpon>EnterPasswordForm.cs</DependentUpon>
</Compile>
<Compile Include="MsgBoxCenterParent.cs" />
<Compile Include="ExRichTextBox.cs">
<Compile Include="External Libraries\MsgBoxCenterParent.cs" />
<Compile Include="External Libraries\ExRichTextBox.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="PortableSettingsProvider.cs" />
<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">
@ -131,32 +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>
<EmbeddedResource Include="AboutFrom.resx">
<Compile Include="External Libraries\PlaceholderTextBox.cs">
<SubType>Component</SubType>
</Compile>
<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

@ -1,144 +0,0 @@
namespace Crypto_Notepad
{
partial class EnterKeyForm
{
/// <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();
this.KeyTextBox = new System.Windows.Forms.TextBox();
this.OkButton = new System.Windows.Forms.Button();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.EyePictureBox = new System.Windows.Forms.PictureBox();
this.panel1 = new System.Windows.Forms.Panel();
this.KeyPictureBox = new System.Windows.Forms.PictureBox();
this.label1 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.EyePictureBox)).BeginInit();
this.panel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.KeyPictureBox)).BeginInit();
this.SuspendLayout();
//
// KeyTextBox
//
this.KeyTextBox.Location = new System.Drawing.Point(64, 39);
this.KeyTextBox.Name = "KeyTextBox";
this.KeyTextBox.Size = new System.Drawing.Size(100, 20);
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);
//
// OkButton
//
this.OkButton.Enabled = false;
this.OkButton.Location = new System.Drawing.Point(112, 79);
this.OkButton.Name = "OkButton";
this.OkButton.Size = new System.Drawing.Size(75, 23);
this.OkButton.TabIndex = 1;
this.OkButton.Text = "OK";
this.OkButton.UseVisualStyleBackColor = true;
this.OkButton.Click += new System.EventHandler(this.OkButton_Click);
//
// EyePictureBox
//
this.EyePictureBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.EyePictureBox.Cursor = System.Windows.Forms.Cursors.Hand;
this.EyePictureBox.Image = global::Crypto_Notepad.Properties.Resources.eye_half;
this.EyePictureBox.InitialImage = global::Crypto_Notepad.Properties.Resources.eye_half;
this.EyePictureBox.Location = new System.Drawing.Point(163, 39);
this.EyePictureBox.Name = "EyePictureBox";
this.EyePictureBox.Size = new System.Drawing.Size(18, 20);
this.EyePictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.EyePictureBox.TabIndex = 3;
this.EyePictureBox.TabStop = false;
this.toolTip1.SetToolTip(this.EyePictureBox, "Show key");
this.EyePictureBox.Click += new System.EventHandler(this.EyePictureBox_Click);
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.White;
this.panel1.Controls.Add(this.KeyPictureBox);
this.panel1.Controls.Add(this.label1);
this.panel1.Controls.Add(this.KeyTextBox);
this.panel1.Controls.Add(this.EyePictureBox);
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(191, 73);
this.panel1.TabIndex = 5;
//
// KeyPictureBox
//
this.KeyPictureBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.KeyPictureBox.Image = global::Crypto_Notepad.Properties.Resources.big_lock;
this.KeyPictureBox.Location = new System.Drawing.Point(8, 12);
this.KeyPictureBox.Name = "KeyPictureBox";
this.KeyPictureBox.Size = new System.Drawing.Size(47, 47);
this.KeyPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.KeyPictureBox.TabIndex = 6;
this.KeyPictureBox.TabStop = false;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(61, 12);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(125, 13);
this.label1.TabIndex = 6;
this.label1.Text = "Enter the encryption key:";
//
// EnterKeyForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(191, 107);
this.Controls.Add(this.panel1);
this.Controls.Add(this.OkButton);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "EnterKeyForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Crypto Notepad";
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.EnterKeyForm_FormClosed);
this.Load += new System.EventHandler(this.EnterKeyForm_Load);
((System.ComponentModel.ISupportInitialize)(this.EyePictureBox)).EndInit();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.KeyPictureBox)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Button OkButton;
private System.Windows.Forms.PictureBox EyePictureBox;
private System.Windows.Forms.ToolTip toolTip1;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.PictureBox KeyPictureBox;
public System.Windows.Forms.TextBox KeyTextBox;
}
}

View file

@ -1,71 +0,0 @@
using System;
using System.Windows.Forms;
namespace Crypto_Notepad
{
public partial class EnterKeyForm : Form
{
public EnterKeyForm()
{
// Initialize to false in case user presses the exit button
PublicVar.okPressed = false;
InitializeComponent();
}
/*Form Events*/
private void EnterKeyForm_FormClosed(object sender, FormClosedEventArgs e)
{
KeyTextBox.Focus();
}
private void EnterKeyForm_Load(object sender, EventArgs e)
{
Text = PublicVar.openFileName;
}
/*Form Events*/
/*Enter key area*/
private void KeyTextBox_TextChanged(object sender, EventArgs e)
{
if (KeyTextBox.Text.Length > 0)
OkButton.Enabled = true;
else
OkButton.Enabled = false;
}
private void KeyTextBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter && OkButton.Enabled)
{
OkButton_Click(sender, e);
}
}
private void EyePictureBox_Click(object sender, EventArgs e)
{
if (KeyTextBox.UseSystemPasswordChar)
{
KeyTextBox.UseSystemPasswordChar = false;
EyePictureBox.Image = Properties.Resources.eye;
}
else
{
KeyTextBox.UseSystemPasswordChar = true;
EyePictureBox.Image = Properties.Resources.eye_half;
}
}
/*Enter key area*/
/*Buttons*/
private void OkButton_Click(object sender, EventArgs e)
{
TypedPassword.Value = KeyTextBox.Text;
KeyTextBox.Focus();
PublicVar.okPressed = true;
Hide();
}
/*Buttons*/
}
}

View file

@ -1,31 +0,0 @@
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;
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 const int WM_VSCROLL = 0x115;
private const int WM_MOUSEWHEEL = 0x20A;
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_MOUSEWHEEL)
{
int scrollLines = SystemInformation.MouseWheelScrollLines;
for (int i = 0; i < scrollLines; i++)
{
if ((long)m.WParam <= 2147483647)
SendMessage(Handle, WM_VSCROLL, (IntPtr)0, IntPtr.Zero);
else
SendMessage(Handle, WM_VSCROLL, (IntPtr)1, IntPtr.Zero);
}
return;
}
base.WndProc(ref m);
}
}
}

View file

@ -0,0 +1,261 @@
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
using System.Windows.Forms;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Crypto_Notepad
{
/// <summary>
/// This class extracts information needed for decryption from a .cnp file
/// </summary>
class AESMetadata
{
/// <summary>
/// Offset to actual AES data; size of metadata
/// </summary>
public int OffsetToData { get; private set; }
public byte[] InitialVector { get; private set; }
public byte[] Salt { get; private set; }
public AESMetadata()
{
InitialVector = new byte[16];
Salt = null;
}
public void DeleteMetadataFromBuffer(ref byte[] rawData)
{
byte[] buffer = new byte[rawData.Length - OffsetToData];
Buffer.BlockCopy(rawData, OffsetToData, buffer, 0, rawData.Length - OffsetToData);
rawData = buffer;
}
private bool ReadData(byte[] rawData, int offset, ref byte[] dataOut)
{
// Buffer to store bytes
List<byte> buffer = new List<byte>();
const byte nullTerminator = 0;
bool foundData = false;
// Push data to buffer
for (int i = offset; i < rawData.Length; i++)
{
if (rawData[i] == nullTerminator) { foundData = true; break; }
else { buffer.Add(rawData[i]); }
}
if (foundData == true)
{
dataOut = buffer.ToArray();
return true;
}
return false;
}
public static void WriteMetadata(MemoryStream stream, byte[] IV, byte[] salt)
{
byte[] nullByte = { 0 };
stream.Write(IV, 0, IV.Length);
stream.Write(nullByte, 0, 1);
stream.Write(salt, 0, salt.Length);
stream.Write(nullByte, 0, 1);
}
public bool GetMetadata(byte[] rawData)
{
int offset = 0;
byte[] buffer = null;
if (!ReadData(rawData, 0, ref buffer)) { return false; }
InitialVector = buffer;
offset += buffer.Length + 1;
if (!ReadData(rawData, offset, ref buffer)) { return false; }
Salt = buffer;
offset += buffer.Length + 1;
OffsetToData = offset;
return true;
}
}
class AES
{
private static bool ByteArrayIsNonZero(byte[] byte_array)
{
foreach (byte i in byte_array)
{
if (i == 0)
{
return false;
}
}
return true;
}
// The purpose of this function is to ensure that the bytes generated by it are nonzero 100% of the time
// as there was a strange bug in which RNGCryptoServiceProvider.GetNonZeroBytes() would return a null byte sometimes
private static byte[] GenerateSecureNonZeroByteArray(int length)
{
byte[] result = new byte[length];
using (RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider())
{
do
{
rng.GetNonZeroBytes(result);
} while (!ByteArrayIsNonZero(result));
}
return result;
}
public static async Task<string> Encrypt(string plainText, string password,
string salt = null, string hashAlgorithm = "SHA1",
int passwordIterations = 2, int keySize = 256)
{
return await Task.Run(() =>
{
if (string.IsNullOrEmpty(plainText))
return null;
if (string.IsNullOrEmpty(password))
return null;
byte[] plainTextBytes;
byte[] saltValueBytes;
// In case user wants a random salt or salt is null/empty for some other reason
if (string.IsNullOrEmpty(salt))
{
saltValueBytes = new byte[64]; // Nice and long
saltValueBytes = GenerateSecureNonZeroByteArray(saltValueBytes.Length);
}
else
{
saltValueBytes = Encoding.ASCII.GetBytes(salt);
}
plainTextBytes = Encoding.UTF8.GetBytes(plainText);
PasswordDeriveBytes derivedPassword = new PasswordDeriveBytes
(password, saltValueBytes, hashAlgorithm, passwordIterations);
// Null password; adds *some* memory dump protection
password = null;
byte[] keyBytes = derivedPassword.GetBytes(keySize / 8);
RijndaelManaged symmetricKey = new RijndaelManaged();
symmetricKey.Mode = CipherMode.CBC;
// Generate IV
symmetricKey.IV = GenerateSecureNonZeroByteArray(symmetricKey.IV.Length);
byte[] cipherTextBytes = null;
using (MemoryStream memStream = new MemoryStream())
{
AESMetadata.WriteMetadata(memStream, symmetricKey.IV, saltValueBytes);
using (ICryptoTransform encryptor = symmetricKey.CreateEncryptor
(keyBytes, symmetricKey.IV))
{
using (CryptoStream cryptoStream = new CryptoStream
(memStream, encryptor, CryptoStreamMode.Write))
{
cryptoStream.Write(plainTextBytes, 0, plainTextBytes.Length);
cryptoStream.FlushFinalBlock();
cipherTextBytes = memStream.ToArray();
memStream.Close();
cryptoStream.Close();
}
}
}
symmetricKey.Dispose();
derivedPassword.Dispose();
return Convert.ToBase64String(cipherTextBytes);
});
}
public static async Task<string> Decrypt(string cipherText, string password, string salt = "Kosher",
string hashAlgorithm = "SHA1",
int passwordIterations = 2,
int keySize = 256)
{
return await Task.Run(() =>
{
if (string.IsNullOrEmpty(cipherText))
return null;
if (string.IsNullOrEmpty(password))
return null;
byte[] initialVectorBytes;
byte[] saltValueBytes;
byte[] cipherTextBytes = Convert.FromBase64String(cipherText);
// Extract metadata from file
AESMetadata metadata = new AESMetadata();
if (!metadata.GetMetadata(cipherTextBytes))
{
// 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, 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
{
PublicVar.metadataCorrupt = true;
return null;
}
}
else
{
saltValueBytes = metadata.Salt;
initialVectorBytes = metadata.InitialVector;
metadata.DeleteMetadataFromBuffer(ref cipherTextBytes);
}
PasswordDeriveBytes derivedPassword = new PasswordDeriveBytes
(password, saltValueBytes, hashAlgorithm, passwordIterations);
byte[] keyBytes = derivedPassword.GetBytes(keySize / 8);
RijndaelManaged symmetricKey = new RijndaelManaged();
symmetricKey.Mode = CipherMode.CBC;
byte[] plainTextBytes = new byte[cipherTextBytes.Length];
int byteCount = 0;
using (MemoryStream memStream = new MemoryStream(cipherTextBytes))
{
using (ICryptoTransform decryptor = symmetricKey.CreateDecryptor
(keyBytes, initialVectorBytes))
{
using (CryptoStream cryptoStream
= new CryptoStream(memStream, decryptor, CryptoStreamMode.Read))
{
byteCount = cryptoStream.Read(plainTextBytes, 0, plainTextBytes.Length);
memStream.Close();
cryptoStream.Close();
}
}
symmetricKey.Dispose();
}
derivedPassword.Dispose();
return Encoding.UTF8.GetString(plainTextBytes, 0, byteCount);
});
}
}
}

View file

@ -0,0 +1,137 @@
using System;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace Crypto_Notepad
{
public class ExRichTextBox : RichTextBox
{
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
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)
{
int scrollLines = SystemInformation.MouseWheelScrollLines;
for (int i = 0; i < scrollLines; i++)
{
try
{
if ((int)m.WParam >= 0)
SendMessage(Handle, WM_VSCROLL, (IntPtr)0, IntPtr.Zero);
else
SendMessage(Handle, WM_VSCROLL, (IntPtr)1, IntPtr.Zero);
}
catch (OverflowException)
{
SendMessage(Handle, WM_VSCROLL, (IntPtr)1, IntPtr.Zero);
}
}
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);
if (!AutoWordSelection)
{
AutoWordSelection = true;
AutoWordSelection = false;
}
}
}
public static class RichTextBoxPadding
{
public static void SetInnerMargins(this TextBoxBase textBox, int left, int top, int right, int bottom)
{
var rect = textBox.GetFormattingRect();
var newRect = new Rectangle(left, top, rect.Width - left - right, rect.Height - top - bottom);
textBox.SetFormattingRect(newRect);
}
[StructLayout(LayoutKind.Sequential)]
private struct RECT
{
public readonly int Left;
public readonly int Top;
public readonly int Right;
public readonly int Bottom;
private RECT(int left, int top, int right, int bottom)
{
Left = left;
Top = top;
Right = right;
Bottom = bottom;
}
public RECT(Rectangle r) : this(r.Left, r.Top, r.Right, r.Bottom)
{
}
}
[DllImport(@"User32.dll", EntryPoint = @"SendMessage", CharSet = CharSet.Auto)]
private static extern int SendMessageRefRect(IntPtr hWnd, uint msg, int wParam, ref RECT rect);
[DllImport(@"user32.dll", EntryPoint = @"SendMessage", CharSet = CharSet.Auto)]
private static extern int SendMessage(IntPtr hwnd, int wMsg, IntPtr wParam, ref Rectangle lParam);
private const int EmGetrect = 0xB2;
private const int EmSetrect = 0xB3;
private static void SetFormattingRect(this TextBoxBase textbox, Rectangle rect)
{
var rc = new RECT(rect);
SendMessageRefRect(textbox.Handle, EmSetrect, 0, ref rc);
}
private static Rectangle GetFormattingRect(this TextBoxBase textbox)
{
var rect = new Rectangle();
SendMessage(textbox.Handle, EmGetrect, (IntPtr)0, ref rect);
return rect;
}
}
public static class RichTextBoxExtensions
{
[DllImport("user32.dll")]
private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp);
private const int WM_SETREDRAW = 0x0b;
public static void SuspendDrawing(this RichTextBox richTextBox)
{
SendMessage(richTextBox.Handle, WM_SETREDRAW, (IntPtr)0, IntPtr.Zero);
}
public static void ResumeDrawing(this RichTextBox richTextBox)
{
SendMessage(richTextBox.Handle, WM_SETREDRAW, (IntPtr)1, IntPtr.Zero);
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

@ -3,6 +3,7 @@
using System.Drawing;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using Crypto_Notepad;
class CenterWinDialog : IDisposable
{
@ -11,21 +12,24 @@ class CenterWinDialog : IDisposable
public CenterWinDialog(Form owner)
{
mOwner = owner;
owner.BeginInvoke(new MethodInvoker(findDialog));
if (PublicVar.messageBoxCenterParent)
{
mOwner = owner;
owner.BeginInvoke(new MethodInvoker(FindDialog));
}
}
private void findDialog()
private void FindDialog()
{
// Enumerate windows to find the message box
if (mTries < 0) return;
EnumThreadWndProc callback = new EnumThreadWndProc(checkWindow);
EnumThreadWndProc callback = new EnumThreadWndProc(CheckWindow);
if (EnumThreadWindows(GetCurrentThreadId(), callback, IntPtr.Zero))
{
if (++mTries < 10) mOwner.BeginInvoke(new MethodInvoker(findDialog));
if (++mTries < 10) mOwner.BeginInvoke(new MethodInvoker(FindDialog));
}
}
private bool checkWindow(IntPtr hWnd, IntPtr lp)
private bool CheckWindow(IntPtr hWnd, IntPtr lp)
{
// Checks if <hWnd> is a dialog
StringBuilder sb = new StringBuilder(260);
@ -33,8 +37,7 @@ private bool checkWindow(IntPtr hWnd, IntPtr lp)
if (sb.ToString() != "#32770") return true;
// Got it
Rectangle frmRect = new Rectangle(mOwner.Location, mOwner.Size);
RECT dlgRect;
GetWindowRect(hWnd, out dlgRect);
GetWindowRect(hWnd, out RECT dlgRect);
MoveWindow(hWnd,
frmRect.Left + (frmRect.Width - dlgRect.Right + dlgRect.Left) / 2,
frmRect.Top + (frmRect.Height - dlgRect.Bottom + dlgRect.Top) / 2,

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,257 @@
using System.Drawing;
using System.ComponentModel;
namespace System.Windows.Forms
{
public class PlaceholderTextBox : TextBox
{
#region Fields
#region Protected Fields
protected string _placeholderText = "Default placeholder"; //The placeholder text
protected Color _placeholderColor; //Color of the placeholder when the control does not have focus
protected Color _placeholderActiveColor; //Color of the placeholder when the control has focus
#endregion
#region Private Fields
private Panel placeholderContainer; //Container to hold the placeholder
private Font placeholderFont; //Font of the placeholder
private SolidBrush placeholderBrush; //Brush for the placeholder
#endregion
#endregion
#region Constructors
public PlaceholderTextBox()
{
Initialize();
}
#endregion
#region Private Methods
/// <summary>
/// Initializes placeholder properties and adds CtextBox events
/// </summary>
private void Initialize()
{
//Sets some default values to the placeholder properties
_placeholderColor = Color.LightGray;
_placeholderActiveColor = Color.Gray;
placeholderFont = Font;
placeholderBrush = new SolidBrush(_placeholderActiveColor);
placeholderContainer = null;
//Draw the placeholder, so we can see it in design time
DrawPlaceholder();
//Eventhandlers which contains function calls.
//Either to draw or to remove the placeholder
Enter += new EventHandler(ThisHasFocus);
Leave += new EventHandler(ThisWasLeaved);
TextChanged += new EventHandler(ThisTextChanged);
}
/// <summary>
/// Removes the placeholder if it should
/// </summary>
private void RemovePlaceholder()
{
if (placeholderContainer != null)
{
Controls.Remove(placeholderContainer);
placeholderContainer = null;
}
}
/// <summary>
/// Draws the placeholder if the text length is 0
/// </summary>
private void DrawPlaceholder()
{
if (placeholderContainer == null && TextLength <= 0)
{
placeholderContainer = new Panel(); // Creates the new panel instance
placeholderContainer.Paint += new PaintEventHandler(placeholderContainer_Paint);
placeholderContainer.Invalidate();
placeholderContainer.Click += new EventHandler(placeholderContainer_Click);
Controls.Add(placeholderContainer); // adds the control
}
}
#endregion
#region Eventhandlers
#region Placeholder Events
private void placeholderContainer_Click(object sender, EventArgs e)
{
Focus(); //Makes sure you can click wherever you want on the control to gain focus
}
private void placeholderContainer_Paint(object sender, PaintEventArgs e)
{
//Setting the placeholder container up
placeholderContainer.Location = new Point(2, 0); // sets the location
placeholderContainer.Height = Height; // Height should be the same as its parent
placeholderContainer.Width = Width; // same goes for width and the parent
placeholderContainer.Anchor = AnchorStyles.Left | AnchorStyles.Right; // makes sure that it resizes with the parent control
if (ContainsFocus)
{
//if focused use normal color
placeholderBrush = new SolidBrush(_placeholderActiveColor);
}
else
{
//if not focused use not active color
placeholderBrush = new SolidBrush(_placeholderColor);
}
//Drawing the string into the panel
Graphics g = e.Graphics;
g.DrawString(_placeholderText, placeholderFont, placeholderBrush, new PointF(-2f, 1f));//Take a look at that point
//The reason I'm using the panel at all, is because of this feature, that it has no limits
//I started out with a label but that looked very very bad because of its paddings
}
#endregion
#region CTextBox Events
private void ThisHasFocus(object sender, EventArgs e)
{
//if focused use focus color
placeholderBrush = new SolidBrush(_placeholderActiveColor);
//The placeholder should not be drawn if the user has already written some text
if (TextLength <= 0)
{
RemovePlaceholder();
DrawPlaceholder();
}
}
private void ThisWasLeaved(object sender, EventArgs e)
{
//if the user has written something and left the control
if (TextLength > 0)
{
//Remove the placeholder
RemovePlaceholder();
}
else
{
//But if the user didn't write anything, Then redraw the control.
Invalidate();
}
}
private void ThisTextChanged(object sender, EventArgs e)
{
//If the text of the textbox is not empty
if (TextLength > 0)
{
//Remove the placeholder
RemovePlaceholder();
}
else
{
//But if the text is empty, draw the placeholder again.
DrawPlaceholder();
}
}
#region Overrided Events
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
//Draw the placeholder even in design time
DrawPlaceholder();
}
protected override void OnInvalidated(InvalidateEventArgs e)
{
base.OnInvalidated(e);
//Check if there is a placeholder
if (placeholderContainer != null)
//if there is a placeholder it should also be invalidated();
placeholderContainer.Invalidate();
}
#endregion
#endregion
#endregion
#region Properties
[Category("Placeholder attribtues")]
[Description("Sets the text of the placeholder")]
public string Placeholder
{
get { return _placeholderText; }
set
{
_placeholderText = value;
Invalidate();
}
}
[Category("Placeholder attribtues")]
[Description("When the control gaines focus, this color will be used as the placeholder's forecolor")]
public Color PlaceholderActiveForeColor
{
get { return _placeholderActiveColor; }
set
{
_placeholderActiveColor = value;
Invalidate();
}
}
[Category("Placeholder attribtues")]
[Description("When the control looses focus, this color will be used as the placeholder's forecolor")]
public Color PlaceholderForeColor
{
get { return _placeholderColor; }
set
{
_placeholderColor = value;
Invalidate();
}
}
[Category("Placeholder attribtues")]
[Description("The font used on the watermark. Default is the same as the control")]
public Font PlaceholderFont
{
get
{
return placeholderFont;
}
set
{
placeholderFont = value;
Invalidate();
}
}
#endregion
}
}

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="TPDRichTextBox.Text" xml:space="preserve">
<value>Line Numbers for RichTextBox: https://www.codeproject.com/Articles/38858/Line-Numbers-for-RichText-Control-in-C
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/
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

@ -0,0 +1,206 @@
namespace Crypto_Notepad
{
partial class ChangePasswordForm
{
/// <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(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();
//
// acceptButton
//
this.acceptButton.Enabled = false;
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, 25);
this.acceptButton.TabIndex = 4;
this.acceptButton.Text = "Accept";
this.acceptButton.UseVisualStyleBackColor = true;
this.acceptButton.Click += new System.EventHandler(this.AcceptButton_Click);
//
// mainPanel
//
this.mainPanel.BackColor = System.Drawing.Color.White;
this.mainPanel.Controls.Add(this.lockPictureBox);
this.mainPanel.Controls.Add(this.showNewKeyPictureBox);
this.mainPanel.Controls.Add(this.showOldKeyPictureBox);
this.mainPanel.Controls.Add(this.oldKeyTextBox);
this.mainPanel.Controls.Add(this.newKeyTextBox);
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(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, 14);
this.lockPictureBox.Name = "lockPictureBox";
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;
//
// showNewKeyPictureBox
//
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(269, 39);
this.showNewKeyPictureBox.Name = "showNewKeyPictureBox";
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;
this.showNewKeyPictureBox.Click += new System.EventHandler(this.ShowNewKeyPictureBox_Click);
//
// showOldKeyPictureBox
//
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(269, 14);
this.showOldKeyPictureBox.Name = "showOldKeyPictureBox";
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;
this.showOldKeyPictureBox.Click += new System.EventHandler(this.ShowOldKeyPictureBox_Click);
//
// statusLabel
//
this.statusLabel.AutoSize = true;
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(2, 85);
this.statusLabel.Name = "statusLabel";
this.statusLabel.Size = new System.Drawing.Size(38, 15);
this.statusLabel.TabIndex = 7;
this.statusLabel.Text = "status";
//
// 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(295, 110);
this.Controls.Add(this.passwordGeneratorButton);
this.Controls.Add(this.statusLabel);
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 = "ChangePasswordForm";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Change Password";
this.mainPanel.ResumeLayout(false);
this.mainPanel.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.lockPictureBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.showNewKeyPictureBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.showOldKeyPictureBox)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.PlaceholderTextBox oldKeyTextBox;
private System.Windows.Forms.PlaceholderTextBox newKeyTextBox;
private System.Windows.Forms.Button acceptButton;
private System.Windows.Forms.PictureBox showOldKeyPictureBox;
private System.Windows.Forms.PictureBox showNewKeyPictureBox;
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

@ -0,0 +1,150 @@
using System;
using System.Drawing;
using System.Media;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Crypto_Notepad
{
public partial class ChangePasswordForm : Form
{
public ChangePasswordForm()
{
InitializeComponent();
statusLabel.Text = "";
}
#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.password.Get() & oldKeyTextBox.Text != newKeyTextBox.Text)
{
PublicVar.password.Set(newKeyTextBox.Text);
PublicVar.passwordChanged = true;
ChangePasswordStatus("Password was successfully changed", Color.Green);
}
else if (oldKeyTextBox.Text != PublicVar.password.Get())
{
SystemSounds.Hand.Play();
ChangePasswordStatus("Invalid old password", Color.Red);
}
else if (oldKeyTextBox.Text == newKeyTextBox.Text)
{
SystemSounds.Hand.Play();
ChangePasswordStatus("New password is the same as old", Color.Red);
}
}
private void PasswordGeneratorButton_Click(object sender, EventArgs e)
{
ActiveControl = null;
PasswordGeneratorFrom passwordGeneratorFrom = new PasswordGeneratorFrom();
if ((Application.OpenForms["PasswordGeneratorFrom"] as PasswordGeneratorFrom) == null)
{
passwordGeneratorFrom.Show(this);
}
}
private void ShowOldKeyPictureBox_Click(object sender, EventArgs e)
{
if (oldKeyTextBox.UseSystemPasswordChar)
{
oldKeyTextBox.UseSystemPasswordChar = false;
showOldKeyPictureBox.Image = Properties.Resources.eye;
}
else
{
oldKeyTextBox.UseSystemPasswordChar = true;
showOldKeyPictureBox.Image = Properties.Resources.eye_half;
}
}
private void ShowNewKeyPictureBox_Click(object sender, EventArgs e)
{
if (newKeyTextBox.UseSystemPasswordChar)
{
newKeyTextBox.UseSystemPasswordChar = false;
showNewKeyPictureBox.Image = Properties.Resources.eye;
}
else
{
newKeyTextBox.UseSystemPasswordChar = true;
showNewKeyPictureBox.Image = Properties.Resources.eye_half;
}
}
private void OldKeyTextBox_TextChanged(object sender, EventArgs e)
{
if (oldKeyTextBox.Text.Length > 0 & newKeyTextBox.Text.Length > 0)
{
acceptButton.Enabled = true;
}
else
{
acceptButton.Enabled = false;
}
}
private void NewKeyTextBox_TextChanged(object sender, EventArgs e)
{
if (newKeyTextBox.Text.Length > 0 & oldKeyTextBox.Text.Length > 0)
{
acceptButton.Enabled = true;
}
else
{
acceptButton.Enabled = false;
}
}
private void NewKeyPlaceholder_Click(object sender, EventArgs e)
{
newKeyTextBox.Focus();
}
private void OldKeyPlaceholder_Click(object sender, EventArgs e)
{
oldKeyTextBox.Focus();
}
private void NewKeyTextBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
e.SuppressKeyPress = true;
}
if (e.KeyCode == Keys.Enter & acceptButton.Enabled)
{
AcceptButton_Click(sender, e);
}
}
private void OldKeyTextBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
e.SuppressKeyPress = true;
}
if (e.KeyCode == Keys.Enter & acceptButton.Enabled)
{
AcceptButton_Click(sender, e);
}
}
#endregion
}
}

View file

@ -117,4 +117,56 @@
<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

@ -0,0 +1,170 @@
namespace Crypto_Notepad
{
partial class EnterPasswordForm
{
/// <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(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.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();
this.SuspendLayout();
//
// okButton
//
this.okButton.Enabled = false;
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(53, 25);
this.okButton.TabIndex = 1;
this.okButton.Text = "OK";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.OkButton_Click);
//
// mainPanel
//
this.mainPanel.BackColor = System.Drawing.Color.White;
this.mainPanel.Controls.Add(this.lockPictureBox);
this.mainPanel.Controls.Add(this.fileNameLabel);
this.mainPanel.Controls.Add(this.keyTextBox);
this.mainPanel.Controls.Add(this.showKeyPictureBox);
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(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, 14);
this.lockPictureBox.Name = "lockPictureBox";
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;
//
// fileNameLabel
//
this.fileNameLabel.AutoEllipsis = true;
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(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(269, 39);
this.showKeyPictureBox.Name = "showKeyPictureBox";
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);
//
// 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 = 10;
this.enterKeyFormToolTip.SetToolTip(this.passwordGeneratorButton, "Password Generator");
this.passwordGeneratorButton.UseVisualStyleBackColor = true;
this.passwordGeneratorButton.Click += new System.EventHandler(this.PasswordGeneratorButton_Click);
//
// EnterPasswordForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
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)));
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "EnterPasswordForm";
this.Text = "Crypto Notepad";
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();
((System.ComponentModel.ISupportInitialize)(this.showKeyPictureBox)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Button okButton;
private System.Windows.Forms.PictureBox showKeyPictureBox;
private System.Windows.Forms.Panel mainPanel;
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

@ -0,0 +1,112 @@
using System;
using System.Windows.Forms;
namespace Crypto_Notepad
{
public partial class EnterPasswordForm : Form
{
public EnterPasswordForm()
{
PublicVar.okPressed = false;
InitializeComponent();
}
/*Form Events*/
private void EnterPasswordForm_FormClosed(object sender, FormClosedEventArgs e)
{
MainForm main = Owner as MainForm;
if (main.Visible == false)
{
main.trayIcon.Visible = false;
Environment.Exit(0);
}
keyTextBox.Focus();
}
private void EnterPasswordForm_Load(object sender, EventArgs e)
{
fileNameLabel.Text = PublicVar.openFileName;
Properties.Settings settings = Properties.Settings.Default;
TopMost = settings.alwaysOnTop;
MainForm main = Owner as MainForm;
if (main.Visible)
{
CenterToParent();
}
else
{
CenterToScreen();
}
}
private void EnterPasswordForm_Shown(object sender, EventArgs e)
{
fileNameLabel.Text = PublicVar.openFileName;
}
/*Form Events*/
/*Enter key area*/
private void KeyTextBox_TextChanged(object sender, EventArgs e)
{
if (keyTextBox.Text.Length > 0)
{
okButton.Enabled = true;
}
else
{
okButton.Enabled = false;
}
}
private void KeyTextBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
e.SuppressKeyPress = true;
}
if (e.KeyCode == Keys.Enter & okButton.Enabled)
{
OkButton_Click(sender, e);
}
}
private void ShowKeyPictureBox_Click(object sender, EventArgs e)
{
if (keyTextBox.UseSystemPasswordChar)
{
keyTextBox.UseSystemPasswordChar = false;
showKeyPictureBox.Image = Properties.Resources.eye;
}
else
{
keyTextBox.UseSystemPasswordChar = true;
showKeyPictureBox.Image = Properties.Resources.eye_half;
}
}
/*Enter key area*/
/*Buttons*/
private void OkButton_Click(object sender, EventArgs e)
{
TypedPassword.Value = keyTextBox.Text;
keyTextBox.Focus();
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,210 +117,10 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="MainMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<metadata name="enterKeyFormToolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="EditorMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>318, 17</value>
</metadata>
<metadata name="OpenFile.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>127, 17</value>
</metadata>
<metadata name="SaveFile.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>227, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="CloseSearchPanel.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
JzlZhqxb9y/IfsJRyFDF/QAAAABJRU5ErkJggg==
</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">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIWSURBVDhPpZBPaJJxGMd/TkXEDnqxUSkjlBFqjFcY
vnUQBkOmHvx3D08R0SkQiuowiBF0WMyddmlQu294ytZgyTvwFXS+ko1smbyu4V0CL0+/70v+eKOgw4SP
v4fv83m+goyILoTxlUwmWTqdZtlsluVyOeMtFAoy5+5vZPMOLm7+KshkMre4cI+/V/FOJhMaj8dkzuD8
syCVSt0ulUrro9GIisXiYy7dPzsbEsCMDDs4cP8oSCQS4EG/3ydVrdNwqFOlUvmi6zoBzL1ez9jBgYsb
USDLMovH49fy+fyz4+MWtVpNOj39SoPBdwPMyLCDAxc3oiAWi8V58BBsb7/udToa7ey87YbD4U2AGRl2
Uw83okCSpFKjodLBwQc6OlKo3W5TJHJzzWq1MoAZGXZw4OJGFIRCoUe1Wo2q1Srh1bRPtLAgrVosFgYw
IzM7uBEFwWBwORAIPAEbG+VvzWaH9vbeN6PRxacAMzLsph5uRIHf72c+n29OkqIvFaVB+/sf6eREp/Pz
nwaYkWEHBy5uRIHX6wWritKi3d13dHjYoHJ5q1+vdwhgRoYdHLi4EQUejwesLC0tv1HVzzQ/f+OV2+1+
rigaP9AIMzLs4MDFjSjAx2azMafTmXS5XGsOh+M63m73B/9DB2TO4MDFx1yA5DInxIkCu91+hx+9AJin
OSfCmeXYzAUznEscL+fKf8APwZ0hIvYLhJTqJrA/zJYAAAAASUVORK5CYII=
</value>
</data>
<data name="NewToolbarButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAINSURBVDhPhZJLaFNREIZ/YhWDUGyoiopCoBGpRVu7
MBTjtYpg8IGPBLooQtRWg00lJRoabSsFcaMbRaFoEaRu3IgghbrMppssXOjCVbGapNRQbd7v6cwlp4to
rgPf5jL/d+fMOXCNj+u4JybOMYP/oe3y2BguhkK4MDqK/Q4HIB9q3MiUy/S7UKDlbJai6TQtplL0PZnU
+RAOk/QwNiUQdFuNm6likRIcjK+u0kIiQd+WluhrLEZfolF6OztLUtLH2NYF54NBhTfNgpVM5p+SZzMz
69iczvsMBJwNBBS3sqUS/eHxG0lkEjmO9KocTvv9iqEc7yCZyxlKRCC9KodTPp/Cl2dBOp83lMhipVfl
cMLrVdwuViqU5T0YSeR2pFflcGxgQOEvsSDPezCSLPM36VU59Hg8ipFytUoFPkYjyZX5YeqcO0mtTw/O
Wyc17H3QAxzp71cEKiyQKRpJOj/20vWVO7RpevcP0+ttwLQF6O7rU9yt8kMps6BecjXMf35/nNHI/WuQ
Nr7Y+ZPDEbyyTKFN03DI5RKC8tKqPEW9pOudRr3xS3+B51sjkNpjt2Of03lPBFL1kmtzPup649DpWHRQ
08PWKB43R/CkeUryZmb7Drt9spbXS44jO5HFikiu+PDLo7Rr4QBtCLXEJFPLgjeBDrPVOrKlvf2REU3u
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>
<data name="PasteToolbarButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGDSURBVDhPjZC9S0JRGIffJaEtHAqCpiAQHIowIoja
oqXB7B9osckhgoKGhqCwCKQSrKHI0CD8P1wOGE1pIhFWJorlJ36+nZ94Tg5x6MBzOZz3ec69XDpfoC7+
xV+2lm0Wl8vllLh7OHHW76iu/4ILiQAHU/QQ3PG8JxJJBtjjTM3h6gvO5KOHiPvXObLh4Gj0kWOxJ06l
0l2wxxlmcOCqjnzzGsFyBYO37PUecyBwyaHQHd/fR/jq+oZ9vlMOh++gMFzV0cmcRnTksNXp8HMy+SeY
wYGrOjqa1YimFOqtlhE4cFVHhw6NqLfbXGk0jMCBqzran9aIarPJ37WaEThwVUd7kxpRkm/Il8tG4MBV
He3aNeKrXudMsWgEDlzV0bZNI/LyE9OFghE4cFVHmxMaka1W+SWXMwIHrupodZTIM95FfFQqnMxmjcCB
iwZtd62MELnHSLzJnxTPZIzAgYtGrUHJ8NoQiU/5g15LJSNw4KLptWSV2GcGKLxkIfEf4KIhIusPcc1e
G4vRUecAAAAASUVORK5CYII=
</value>
</data>
<data name="CopyToolbarButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVDhPjZHLK4RRGIffjQVSZqMoKcxCmo2NkgxR
w+QeNZvZWDA0yQgNTTM7/gD5C1zTNLEgNbkM+1naWUihyGXM/fZ6fx+jz0E59dSZvvM+necMjXi9NOrz
9Qnjf1A/7PHQ4OIizmn0j3SStbGEjBVFRPgoOGLZLD8lk3wfj/PN2xtfRyK8f37O+CYY9YKCsMViJm0j
TEbTaX6MRvn25YWvHh748u6ONw8PGQvfBaMqGHC7iXrn58FULJPh51hMkwTDYd4+O+OltbUvOhyOPRn+
lqQJul0u4ExIwmsioUkCFxf8nyRN0OV0gumUDERlAJKAHPxPkiZon5gAM+lcjuMyBIk/FGJ9UkGyurHx
hbGnxyMQtY6NgdlsPs9JGYLEf3rK+iT1JshBNvKp2W4HczkRZGQIkt3jY9YnqZIb2SMb+dRks4GFvLRl
JQOSnWCQ9UmqBA+LbOSTaWgIuPE4ebkFJFtHR6xPUiXPqRQjG/lUbDBQtdnsgwALN1k/OGB9kiqJyG9k
C4RVU1pX5yozmVYK1FssJ/okVYK/GNnIxyoXKoWqAg1W67J2m88kVRKXPbJr29rk+M9VriYhB2+Ch8W/
k5I9zshZw8fI9/Uj6Tdwhohq3wHeYoLJhJ4gHAAAAABJRU5ErkJggg==
</value>
</data>
<data name="CutToolbarButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAICSURBVDhPpZA/aFNRFMbP3YMoUtRoKDzInyfIG8Ir
1CXJkCEkXRKXkm6pk0vQUsIdq9LOghQtgqOWUq2DiAXJUCiUQqQ8CgYHg0qGLC4OKub4fddY3iAuXvhx
cs73JyGiqv+F1Ot1aTQacyCo1WpSKpUkDEPJ5XKSSqXc5M47dfroZ84V8NhqtSypVqvBvwqo//Ey5wr4
0um07fV62mw2bbFYDP5WwDt1+uhn7qQAL8hkMjaKIsVPs/l8PogXcOedOn30MxQv4Auy2azt9/taqVQs
jAELOLnzTp2+3/ZJwQ1jpA2uAjx+sx0MBlooFGwymbzGyZ136vTRz5wrOMaHD+Az2AIwBL7v2+FwqOVy
+XW321XuvFOnj37m4gWJT8bMg3tgc9uY3dueF41GI91LJKIj7LxP9Hn64wWJ98bcHc3OHv5YWvqiq6tj
XVvTo3Zb34h85WcH7tTpo585V/DWmIWPMzM9mp573rv7Ioc/V1b0FSZY5+TOO3X66GfOFewZ8yge/ra8
rDuYL0QWXuJf4+TOe7zE5VjwTGQX4pji905Hn2A+RegOwk3AyZ136pMvGTPnCh6IPDwIwyFbH0PswHwZ
ofjjzjt1+uhnzhX4IiUsG2B/UeQWvFdAGkyDi+AS8IB/XeQmffQz5wrwkjEugHPgLDgNTk04A6bAeXDi
V1X5BcIraIltHRGHAAAAAElFTkSuQmCC
</value>
</data>
<data name="DeleteFileToolbarButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHMSURBVDhPjZJNKMNxGMefo+W2Ay4OyhyktDlYCqWU
FSJTDihlWCxNa8vrJOXm4oBch4MTh7krN0cOTiIbaXnZ+/vj+f7bz2H489Tn8P/1fD89v+f/I/vamsaw
398nTP1B/dDqKg0uLdHA4iL1j7UT4aDEdCKf57dMhl+SSQ7F4/wQi/F9NKpxenHB6BFMSgA0W4mZWDbL
EQk+fXzwXSTCt8/PfBMO83UoxIfBIKPQJ5i+BP0+n8IZF8FrIvGjZCcQ+MJks60IBKjX41HMJnM5fpfx
f5NgElwHvSpHPW63Yi4lO4imUroSCNCrctTtcilcaRHE02ldCRaLXpWjLqdTMZ8tFDgpe9CT4O+gV+Wo
w+FQuHMiSMse9CQvcoZelaO2iQnFQr5Y5IxcQ0+Cd4JeZNxmM1Hr6KjCUxABptCTROUMvds1NXRMUi0j
IwpvUR5KXgTlksvJSQ6azRrnFgsfGAyPEr46Itqn+s5OarbbgQ8vrShTlEtOJJQaH//GnkgwBNVardRg
sy1DgCqXnDkcvCsSsCd4KypC6xLexARSBqGq2mrdKOW1wnWwEywWIvxivJOMfKMXmVKWjEKToa5uobKx
ces/oBcZIjJ+Aga8g1BwXIV5AAAAAElFTkSuQmCC
</value>
</data>
<data name="FileLocationToolbarButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAErSURBVDhPpdPPKwRxGMfxz2n/BAd/xPwPTv4Kpz0o
JweJIu1uY9fvbJRVm1olEslhD7IHpbB2oyRlCyXLxGgy27Zr2vn4PuKAmfLl8Dp8v8/zPj4g+S8oJsOV
UjCUWAhDdmQxqiTCtHyfbqPBquOwYlnsOPJp5Gv8mEdxYMKku0nfWf9C/qzy2Lvvs8+5tNhPINWyV+nd
535oqcVq0eTV7kAgabEXw4RnLbN5mw30qmZBvKcVSovCCKabd0usXy9okUZa7AwhXb/J0L1Ma5FGWuQH
MV+rzNE5n9IijbTY7kfm5WKG9mlSizTSYqMPWedsnI+luBZppMVaL3LPJ6N8OBzWIo20WOzGlqMe9nFc
izTSoqcTs5NdKPyFtOoaEFHalHZN0kQCT/T3iDdSiLGOilD6aAAAAABJRU5ErkJggg==
</value>
</data>
<data name="SaveToolBarButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFlSURBVDhPpZE9S8NQFIZvwL2j4ODSX1EQl6wdumQJ
mUpjCYEMhQyBULBk8reIiCC2WKSmKH6UgtShwcFFKGpBC7WUBnK877WBO0iIGHg43JPnfQO5jIj+BVMU
BexzDmU0Tdv7jfX7HY7IpgVHQRCQaZrUbDbFHI8jGo0eBTinu3K5/A6fsysXHCNoGAY5jiPmYPBA/f6N
AOd0h9lqtQgZueDE932qVCpUq9XEDMN76nRCAc7pDhMuMnLBqed5pKoq6bouZrd7R+32taDXGwqwwzu4
yMgFbdd1qVQq5QIuMnLBeaPRIMuycgEXGbngAj8viiJK+OVmAQcuMnLBpW3bFCcJLeM4EzhwkZELrur1
On1x4XOxyAQOXGTkgltc38dySZPZLBM4cJGRC4bVapVe+Reep9NM4MBFRhSsnye0vq1W9DKfZwIHLjI/
Uca2OWecyUaxeJAHuOsMsqzA2eRs/RGeYYVv7UIHk0nmOkIAAAAASUVORK5CYII=
</value>
</data>
<data name="OpenToolbarButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKTSURBVDhPjdJdSFNhGMDx5y76urDLDLqwXZkRQXRh
RZENhUARqV1k5ahEMcuKylotl2umtsSZc2hGNU3L0CRspmENAtMsQTFr6tqXX3NuzuPcp0/v++YZnOii
A7/xHLbnz3vYgX4VMF9KIIso+k9Z/B70kY9VdzhTCc58PIWzPSeRG7qNEVsd4uRTodlGpL/l96BXGaXE
hVe44n6JfmsVunrzsVN7CN+9VQt0dWuwrTi2Wl20H8rl+wA+FUepIvPNGJ7RMxH3CxxoPYd2lwunOA5t
hMXrxddGIyrlYkO6TCZKKywEMCqiSsPORgxNPmHo/LlJisMmE34bHcVxpxNHpqawoaMD6UWWcwgR9MiB
dz80/QwDtkcMnY2PJfh9bIxFJj0eFtHo9VGilBQZdN0EXkXAUY8+cw1D5566o/hjYoJF5sgj8BF6Evo4
yQUFeWC4AbyqZUstcqYqhs7dunQ0mc0s4l5aEkRsi4uYlJeXD2+uAU/rm9Cid7SCobOhOhXHLRYWWVhe
FkSmfT48kJ19AdquAK+W+1mJnuEyhs4dlUfQTAI0wvn9gsg8ud8rlV4ExTGAlktMvXdEja5BFUPn9gfJ
aLFaWcQXDAoiXnK/JzPzMnmVAG5lADw/D3rPUCk6BxQMnVvLxGi12VjEHwoJIhyZd0kk5OwAa4lNurPQ
7h4kr3KfnHGTU7TcS0K73c4ioXBYEFki8/bUVPL/AcQQ23LFUPO+Yrd33JATnOtX4PxXJTbdPYgOhwPt
RGRlBcNEMBLBAIkFyBybmFhCA+w6vANAdwbStKdB13x9y4eBhvRfVzPWWNeJRJoN8fGlGxMSVH9bHxeX
u7r+J0CWQSMFUJ+AneXHQVYsgYfkq63E5n+DmN//44T3M7snJAAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>55</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAYAEBAAAAAAIABoBAAAZgAAACAgAAAAACAAqBAAAM4EAAAwMAAAAAAgAKglAAB2FQAAQEAAAAAA

1563
Crypto Notepad/Forms/MainForm.Designer.cs generated Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

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,7 +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="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<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>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,657 @@
using System;
using System.Drawing;
using System.Linq;
using System.Reflection;
using System.Windows.Forms;
namespace Crypto_Notepad
{
public partial class SettingsForm : Form
{
Properties.Settings settings = Properties.Settings.Default;
public SettingsForm()
{
InitializeComponent();
}
#region Methods
private void LoadSettings()
{
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;
toolbarBackColor.BackColor = settings.toolbarBackColor;
toolbarBorderCheckBox.Checked = settings.toolbarBorder;
toolbarVisibleCheckBox.Checked = settings.toolbarVisible;
toolbarOldIconsCheckBox.Checked = settings.oldToolbarIcons;
toolbarCloseButtonCheckBox.Checked = settings.toolbarCloseButton;
statusPanelBackColor.BackColor = settings.statusPanelBackColor;
statusPanelFontColor.BackColor = settings.statusPanelFontColor;
statusPanelVisibleCheckBox.Checked = settings.statusPanelVisible;
statusPanelLengthCheckBox.Checked = settings.statusPanelLength;
statusPanelLinesCheckBox.Checked = settings.statusPanelLines;
statusPanelModifiedCheckBox.Checked = settings.statusPanelModified;
statusPanelSizeCheckBox.Checked = settings.statusPanelSize;
statusPanelReadonlyCheckBox.Checked = settings.statusPanelReadonly;
statusPanelWordwrapCheckBox.Checked = settings.statusPanelWordWrap;
statusPanelPasteboardCheckBox.Checked = settings.statusPanelPasteboard;
statusPanelClipboardCheckBox.Checked = settings.statusPanelClipboard;
encryptionHintLabel.Visible = settings.encryptionHint;
}
#endregion
#region Event Handlers
private void SettingsForm_Load(object sender, EventArgs e)
{
string custom_colors = settings.customColor;
int[] array_of_colors = custom_colors.Split(';').Select(n => Convert.ToInt32(n)).ToArray();
colorDialog.CustomColors = array_of_colors;
settingsTabControl.Appearance = TabAppearance.FlatButtons;
settingsTabControl.ItemSize = new Size(0, 1);
settingsTabControl.SizeMode = TabSizeMode.Fixed;
settingsNavigation.SelectedIndex = 0;
TopMost = settings.alwaysOnTop;
settingsTabControl.TabStop = false;
LoadSettings();
}
private void EditorPaddingLeftTextBox_Click(object sender, EventArgs e)
{
editorPaddingLeftTextBox.SelectAll();
}
private void SettingsForm_FormClosed(object sender, FormClosedEventArgs e)
{
MainForm main = Owner as MainForm;
string customColor = string.Join(";", colorDialog.CustomColors);
settings.customColor = customColor;
if (string.IsNullOrWhiteSpace(settings.PasswordIterations))
{
settings.PasswordIterations = "1";
}
if (string.IsNullOrWhiteSpace(editorPaddingLeftTextBox.Text))
{
settings.editorPaddingLeft = "0";
main.richTextBox.SetInnerMargins(Convert.ToInt32(settings.editorPaddingLeft), 0, 0, 0);
}
settings.Save();
}
private void EditorPaddingLeftTextBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
{
e.Handled = true;
}
}
private void PasswordIterationsTextBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
{
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;
using (new CenterWinDialog(this))
{
if (colorDialog.ShowDialog() == DialogResult.OK)
{
MainForm main = Owner as MainForm;
main.richTextBox.ForeColor = colorDialog.Color;
main.richTextBox.SetInnerMargins(Convert.ToInt32(settings.editorPaddingLeft), 0, 0, 0);
settings.editorForeColor = colorDialog.Color;
editorFontColor.BackColor = colorDialog.Color;
}
}
}
private void EditorBackColor_Click(object sender, EventArgs e)
{
colorDialog.Color = editorBackColor.BackColor;
using (new CenterWinDialog(this))
{
if (colorDialog.ShowDialog() == DialogResult.OK)
{
MainForm main = Owner as MainForm;
main.richTextBox.BackColor = colorDialog.Color;
main.BackColor = colorDialog.Color;
settings.editorBackColor = colorDialog.Color;
editorBackColor.BackColor = colorDialog.Color;
}
}
}
private void SettingsNavigation_Click(object sender, EventArgs e)
{
switch (settingsNavigation.SelectedIndex)
{
case 0:
settingsTabControl.SelectedTab = generalTabPage;
break;
case 1:
settingsTabControl.SelectedTab = interfaceTabPage;
break;
case 2:
settingsTabControl.SelectedTab = editorTabPage;
break;
case 3:
settingsTabControl.SelectedTab = encryptionTabPage;
break;
}
}
private void SettingsTabControl_SelectedIndexChanged(object sender, EventArgs e)
{
settingsTabControl.Focus();
}
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;
}
private void AssociateCheckBox_Click(object sender, EventArgs e)
{
if (associateCheckBox.Checked)
{
Methods.AssociateExtension(Assembly.GetEntryAssembly().Location, "cnp");
}
else
{
Methods.DissociateExtension("cnp");
}
settings.explorerAssociate = associateCheckBox.Checked;
}
private void IntegrateCheckBox_Click(object sender, EventArgs e)
{
if (integrateCheckBox.Checked)
{
Methods.MenuIntegrate("enable");
}
else
{
Methods.MenuIntegrate("disable");
}
settings.explorerIntegrate = integrateCheckBox.Checked;
}
private void EditorPaddingLeftTextBox_TextChanged(object sender, EventArgs e)
{
MainForm main = Owner as MainForm;
if (editorPaddingLeftTextBox.Text.Length >= 1)
{
if (settings.editorPaddingLeft != editorPaddingLeftTextBox.Text)
{
main.richTextBox.SetInnerMargins(Convert.ToInt32(editorPaddingLeftTextBox.Text), 0, 0, 0);
main.richTextBox.Refresh();
settings.editorPaddingLeft = editorPaddingLeftTextBox.Text;
}
}
}
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)
{
Methods.SendToShortcut();
}
else
{
string shortcutPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\Microsoft\Windows\SendTo\Crypto Notepad.lnk";
if (System.IO.File.Exists(shortcutPath))
{
System.IO.File.Delete(shortcutPath);
}
}
settings.explorerSendTo = sendToCheckBox.Checked;
}
private void EditorInsertKeyComboBox_DropDownClosed(object sender, EventArgs e)
{
MainForm main = Owner as MainForm;
if (settings.insertKey != editorInsertKeyComboBox.Text)
{
if (editorInsertKeyComboBox.Text == "Disable")
{
main.insertMainMenu.ShortcutKeys = Keys.Insert;
}
else
{
main.insertMainMenu.ShortcutKeys = Keys.None;
}
settings.insertKey = editorInsertKeyComboBox.Text;
}
}
private void MenuIconsCheckBox_Click(object sender, EventArgs e)
{
MainForm main = Owner as MainForm;
settings.menuIcons = menuIconsCheckBox.Checked;
main.MenuIcons(settings.menuIcons);
}
private void EditorFontLabel_Click(object sender, EventArgs e)
{
using (new CenterWinDialog(this))
{
if (fontDialog.ShowDialog() == DialogResult.OK)
{
MainForm main = Owner as MainForm;
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();
}
}
}
private void KeySizeComboBox_DropDownClosed(object sender, EventArgs e)
{
if (keySizeComboBox.Text != settings.KeySize)
{
settings.KeySize = keySizeComboBox.Text;
}
}
private void HashAlgorithmComboBox_DropDownClosed(object sender, EventArgs e)
{
if (hashAlgorithmComboBox.Text != settings.HashAlgorithm)
{
settings.HashAlgorithm = hashAlgorithmComboBox.Text;
}
}
private void FontDialog_Apply(object sender, EventArgs e)
{
MainForm main = Owner as MainForm;
main.richTextBox.Font = fontDialog.Font;
main.richTextBox.SetInnerMargins(Convert.ToInt32(settings.editorPaddingLeft), 0, 0, 0);
settings.editorFont = fontDialog.Font;
}
private void StatusPanelVisibleCheckBox_Click(object sender, EventArgs e)
{
Application.DoEvents();
MainForm main = Owner as MainForm;
main.statusPanel.Visible = statusPanelVisibleCheckBox.Checked;
settings.statusPanelVisible = statusPanelVisibleCheckBox.Checked;
}
private void StatusPanelBackColor_Click(object sender, EventArgs e)
{
colorDialog.Color = statusPanelBackColor.BackColor;
using (new CenterWinDialog(this))
{
if (colorDialog.ShowDialog() == DialogResult.OK)
{
MainForm main = Owner as MainForm;
main.statusPanel.BackColor = colorDialog.Color;
statusPanelBackColor.BackColor = colorDialog.Color;
settings.statusPanelBackColor = colorDialog.Color;
}
}
}
private void StatusPanelFontColor_Click(object sender, EventArgs e)
{
colorDialog.Color = statusPanelFontColor.BackColor;
using (new CenterWinDialog(this))
{
if (colorDialog.ShowDialog() == DialogResult.OK)
{
MainForm main = Owner as MainForm;
main.statusPanel.ForeColor = colorDialog.Color;
main.richTextBox.SetInnerMargins(Convert.ToInt32(settings.editorPaddingLeft), 0, 0, 0);
statusPanelFontColor.BackColor = colorDialog.Color;
settings.statusPanelFontColor = colorDialog.Color;
}
}
}
private void ToolbarBackColor_Click(object sender, EventArgs e)
{
colorDialog.Color = toolbarBackColor.BackColor;
using (new CenterWinDialog(this))
{
if (colorDialog.ShowDialog() == DialogResult.OK)
{
MainForm main = Owner as MainForm;
main.toolbarPanel.BackColor = colorDialog.Color;
settings.toolbarBackColor = colorDialog.Color;
toolbarBackColor.BackColor = colorDialog.Color;
}
}
}
private void ToolbarBorderCheckBox_Click(object sender, EventArgs e)
{
MainForm main = Owner as MainForm;
if (toolbarBorderCheckBox.Checked)
{
main.toolbarPanel.BorderStyle = BorderStyle.FixedSingle;
}
else
{
main.toolbarPanel.BorderStyle = BorderStyle.None;
}
settings.toolbarBorder = toolbarBorderCheckBox.Checked;
}
private void SearchBackColor_Click(object sender, EventArgs e)
{
colorDialog.Color = searchBackColor.BackColor;
using (new CenterWinDialog(this))
{
if (colorDialog.ShowDialog() == DialogResult.OK)
{
MainForm main = Owner as MainForm;
main.searchPanel.BackColor = colorDialog.Color;
main.searchTextBox.BackColor = colorDialog.Color;
settings.searchPanelBackColor = colorDialog.Color;
searchBackColor.BackColor = colorDialog.Color;
}
}
}
private void SearchFontColor_Click(object sender, EventArgs e)
{
colorDialog.Color = searchFontColor.BackColor;
using (new CenterWinDialog(this))
{
if (colorDialog.ShowDialog() == DialogResult.OK)
{
MainForm main = Owner as MainForm;
main.searchTextBox.ForeColor = colorDialog.Color;
main.searchCaseSensitiveCheckBox.ForeColor = colorDialog.Color;
main.searchWholeWordCheckBox.ForeColor = colorDialog.Color;
main.searchFindNextButton.ForeColor = colorDialog.Color;
main.searchCloseButton.ForeColor = colorDialog.Color;
settings.searchPanelForeColor = colorDialog.Color;
searchFontColor.BackColor = colorDialog.Color;
}
}
}
private void MainMenuCheckBox_Click(object sender, EventArgs e)
{
MainForm main = Owner as MainForm;
if (mainMenuCheckBox.Checked)
{
main.mainMenu.Visible = true;
}
else
{
main.mainMenu.Visible = false;
}
settings.mainMenuVisible = mainMenuCheckBox.Checked;
}
private void ToolbarOldIconsCheckBox_Click(object sender, EventArgs e)
{
settings.oldToolbarIcons = toolbarOldIconsCheckBox.Checked;
MainForm main = Owner as MainForm;
main.ToolbarIcons(settings.oldToolbarIcons);
}
private void EditorOpenLinksWithComboBox_DropDownClosed(object sender, EventArgs e)
{
if (settings.openLinks != editorOpenLinksWithComboBox.Text)
{
settings.openLinks = editorOpenLinksWithComboBox.Text;
}
}
private void AutoLockOnMinimizeCheckBox_Click(object sender, EventArgs e)
{
settings.autoLock = autoLockOnMinimizeCheckBox.Checked;
}
private void AutoCheckUpdatesCheckBox_Click(object sender, EventArgs e)
{
settings.autoCheckUpdate = autoCheckUpdatesCheckBox.Checked;
}
private void PasswordIterationsTextBox_TextChanged(object sender, EventArgs e)
{
if (passwordIterationsTextBox.Text != settings.PasswordIterations)
{
settings.PasswordIterations = passwordIterationsTextBox.Text;
}
}
private void MinimizeToTrayCheckBox_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 (minimizeToTrayCheckBox.Checked == true)
{
main.trayIcon.Visible = true;
}
settings.minimizeToTray = minimizeToTrayCheckBox.Checked;
}
private void CloseToTrayCheckBox_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 (closeToTrayCheckBox.Checked == true)
{
main.trayIcon.Visible = true;
}
settings.closeToTray = closeToTrayCheckBox.Checked;
}
private void EditorBorderComboBox_DropDownClosed(object sender, EventArgs e)
{
MainForm main = Owner as MainForm;
main.richTextBoxPanel.BorderStyle = (BorderStyle)Enum.Parse(typeof(BorderStyle), editorBorderComboBox.Text);
settings.editorBorder = editorBorderComboBox.Text;
}
private void SearchBorderComboBox_DropDownClosed(object sender, EventArgs e)
{
MainForm main = Owner as MainForm;
main.searchPanel.CellBorderStyle = (TableLayoutPanelCellBorderStyle)Enum.Parse(typeof(TableLayoutPanelCellBorderStyle), searchBorderComboBox.Text);
settings.searchPanelBorder = searchBorderComboBox.Text;
}
private void ToolbarCloseButtonCheckBox_Click(object sender, EventArgs e)
{
MainForm main = Owner as MainForm;
main.closeToolbarButton.Visible = toolbarCloseButtonCheckBox.Checked;
settings.toolbarCloseButton = toolbarCloseButtonCheckBox.Checked;
}
private void SingleInstanceCheckBox_Click(object sender, EventArgs e)
{
settings.singleInstance = singleInstanceCheckBox.Checked;
}
private void StatusPanelLengthCheckBox_Click(object sender, EventArgs e)
{
MainForm main = Owner as MainForm;
main.statusPanelLengthLabel.Visible = statusPanelLengthCheckBox.Checked;
settings.statusPanelLength = statusPanelLengthCheckBox.Checked;
main.StatusPanelTextInfo();
}
private void StatusPanelLinesCheckBox_Click(object sender, EventArgs e)
{
MainForm main = Owner as MainForm;
main.statusPanelLinesLabel.Visible = statusPanelLinesCheckBox.Checked;
settings.statusPanelLines = statusPanelLinesCheckBox.Checked;
main.StatusPanelTextInfo();
}
private void StatusPanelModifiedCheckBox_Click(object sender, EventArgs e)
{
MainForm main = Owner as MainForm;
main.statusPanelModifiedLabel.Visible = statusPanelModifiedCheckBox.Checked;
settings.statusPanelModified = statusPanelModifiedCheckBox.Checked;
main.StatusPanelFileInfo();
}
private void StatusPanelSizeCheckBox_Click(object sender, EventArgs e)
{
MainForm main = Owner as MainForm;
main.statusPanelSizeLabel.Visible = statusPanelSizeCheckBox.Checked;
settings.statusPanelSize = statusPanelSizeCheckBox.Checked;
main.StatusPanelFileInfo();
}
#endregion
private void StatusPanelReadonlyCheckBox_Click(object sender, EventArgs e)
{
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")
{
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,6 +120,18 @@
<metadata name="colorDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<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>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">
<value>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,31 +1,74 @@
using System;
using Crypto_Notepad.Properties;
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Threading;
using System.Windows.Forms;
namespace Crypto_Notepad
{
static class Program
{
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SetForegroundWindow(IntPtr hWnd);
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
Settings settings = Settings.Default;
using (Mutex mutex = new Mutex(true, PublicVar.appName, out bool createdNew))
{
if (!settings.singleInstance)
{
createdNew = true;
}
if (createdNew)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
else
{
DialogResult dialogResult = MessageBox.Show(
PublicVar.appName + " is already running.\nDo you still want to open a new copy of the app?",
PublicVar.appName, MessageBoxButtons.YesNo, MessageBoxIcon.Warning,
MessageBoxDefaultButton.Button2, MessageBoxOptions.DefaultDesktopOnly);
if (dialogResult == DialogResult.Yes)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
if (dialogResult == DialogResult.No)
{
Process current = Process.GetCurrentProcess();
foreach (Process process in Process.GetProcessesByName(current.ProcessName))
{
if (process.Id != current.Id)
{
SetForegroundWindow(process.MainWindowHandle);
break;
}
}
}
}
}
}
}
static class PublicVar
{
public static EncryptedString encryptionKey = new EncryptedString();
public static bool randomizeSalts = true;
public static bool keyChanged = false;
public static bool settingsChanged = 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

@ -7,11 +7,11 @@
// связанные со сборкой.
[assembly: AssemblyTitle("Crypto Notepad")]
[assembly: AssemblyDescription("Simple editor with encryption features")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyCompany("Crypto Notepad")]
[assembly: AssemblyProduct("Crypto Notepad")]
[assembly: AssemblyCopyright("Sigmanor")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyTrademark("Crypto Notepad")]
[assembly: AssemblyCulture("")]
// Параметр ComVisible со значением FALSE делает типы в сборке невидимыми
@ -20,7 +20,7 @@
[assembly: ComVisible(false)]
// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM
[assembly: Guid("969df047-1cd0-4744-aeed-8d8877b6c909")]
[assembly: Guid("969df047-1cd0-4744-deed-8d8877b6c909")]
// Сведения о версии сборки состоят из следующих четырех значений:
//
@ -33,4 +33,4 @@
// используя "*", как показано ниже:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.5.0.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", "15.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,47 @@ 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 {
object obj = ResourceManager.GetObject("application_blue", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 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 {
object obj = ResourceManager.GetObject("applications_blue", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap arrow_left {
get {
@ -71,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 {
@ -81,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 {
@ -91,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 {
@ -101,27 +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 close_b {
internal static System.Drawing.Bitmap clipboard_minus {
get {
object obj = ResourceManager.GetObject("close_b", resourceCulture);
object obj = ResourceManager.GetObject("clipboard_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 close_g {
internal static System.Drawing.Bitmap clipboard_text {
get {
object obj = ResourceManager.GetObject("close_g", resourceCulture);
object obj = ResourceManager.GetObject("clipboard_text", 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 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,7 +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 {
get {
object obj = ResourceManager.GetObject("disk_minus", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap disk_return_black {
get {
@ -141,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 {
@ -151,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 {
@ -161,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 {
@ -171,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 {
@ -181,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 {
@ -191,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 {
@ -201,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 {
@ -211,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 {
@ -221,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 {
@ -231,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 {
@ -241,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 {
@ -251,7 +321,17 @@ 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 {
object obj = ResourceManager.GetObject("gnupg_keys", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap information {
get {
@ -261,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 {
@ -281,7 +351,37 @@ 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 {
object obj = ResourceManager.GetObject("key_solid", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 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 {
@ -291,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 {
@ -301,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 {
@ -311,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 {
@ -321,7 +421,147 @@ 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 {
object obj = ResourceManager.GetObject("old_application_double", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 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 {
object obj = ResourceManager.GetObject("old_cut_red", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap old_diskette {
get {
object obj = ResourceManager.GetObject("old_diskette", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap old_folder_stand {
get {
object obj = ResourceManager.GetObject("old_folder_stand", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap old_folder_vertical_document {
get {
object obj = ResourceManager.GetObject("old_folder_vertical_document", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap old_lock {
get {
object obj = ResourceManager.GetObject("old_lock", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 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 {
object obj = ResourceManager.GetObject("old_page_white_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_page_white_copy {
get {
object obj = ResourceManager.GetObject("old_page_white_copy", 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_delete {
get {
object obj = ResourceManager.GetObject("old_page_white_delete", 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_key {
get {
object obj = ResourceManager.GetObject("old_page_white_key", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap old_paste_plain {
get {
object obj = ResourceManager.GetObject("old_paste_plain", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap old_setting_tools {
get {
object obj = ResourceManager.GetObject("old_setting_tools", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap scissors {
get {
@ -331,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 {
@ -341,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 {
@ -351,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 {
@ -361,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

File diff suppressed because it is too large Load diff

View file

@ -2,110 +2,194 @@
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="Crypto_Notepad.Properties" GeneratedClassName="Settings">
<Profiles />
<Settings>
<Setting Name="RichTextFont" Provider="PortableSettingsProvider" Type="System.String" Scope="User">
<Value Profile="(Default)">Consolas</Value>
<Setting Name="editorForeColor" Provider="PortableSettingsProvider" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">Black</Value>
</Setting>
<Setting Name="RichForeColor" Provider="PortableSettingsProvider" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">228, 228, 228</Value>
<Setting Name="editorBackColor" Provider="PortableSettingsProvider" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">White</Value>
</Setting>
<Setting Name="RichBackColor" Provider="PortableSettingsProvider" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">56, 56, 56</Value>
</Setting>
<Setting Name="MenuWrap" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Setting Name="menuWrap" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="RichWrap" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Setting Name="editorWrap" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="RichTextSize" Provider="PortableSettingsProvider" Type="System.Int32" Scope="User">
<Value Profile="(Default)">11</Value>
</Setting>
<Setting Name="AssociateCheck" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Setting Name="explorerAssociate" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="HashAlgorithm" Provider="PortableSettingsProvider" Type="System.String" Scope="User">
<Value Profile="(Default)">SHA1</Value>
</Setting>
<Setting Name="KeySize" Provider="PortableSettingsProvider" Type="System.Int32" Scope="User">
<Setting Name="KeySize" Provider="PortableSettingsProvider" Type="System.String" Scope="User">
<Value Profile="(Default)">256</Value>
</Setting>
<Setting Name="PasswordIterations" Provider="PortableSettingsProvider" Type="System.String" Scope="User">
<Value Profile="(Default)">1000</Value>
</Setting>
<Setting Name="toolbarVisible" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="autoCheckUpdate" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="autoLock" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="windowLocation" Provider="PortableSettingsProvider" Type="System.Drawing.Point" Scope="User">
<Value Profile="(Default)">0, 0</Value>
</Setting>
<Setting Name="windowSize" Provider="PortableSettingsProvider" Type="System.Drawing.Size" Scope="User">
<Value Profile="(Default)">645, 460</Value>
</Setting>
<Setting Name="windowState" Provider="PortableSettingsProvider" Type="System.Windows.Forms.FormWindowState" Scope="User">
<Value Profile="(Default)">Normal</Value>
</Setting>
<Setting Name="explorerSendTo" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="explorerIntegrate" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="menuIcons" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="insertKey" Provider="PortableSettingsProvider" Type="System.String" Scope="User">
<Value Profile="(Default)">Enable</Value>
</Setting>
<Setting Name="customColor" Provider="PortableSettingsProvider" Type="System.String" Scope="User">
<Value Profile="(Default)">16777215;16777215;16777215;16777215;16777215;16777215;16777215;16777215;16777215;16777215;16777215;16777215;16777215;16777215;16777215;16777215</Value>
</Setting>
<Setting Name="editorPaddingLeft" Provider="PortableSettingsProvider" Type="System.String" Scope="User">
<Value Profile="(Default)">5</Value>
</Setting>
<Setting Name="editorRightToLeft" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="editorFont" Provider="PortableSettingsProvider" Type="System.Drawing.Font" Scope="User">
<Value Profile="(Default)">Microsoft Sans Serif, 10pt</Value>
</Setting>
<Setting Name="statusPanelVisible" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="statusPanelBackColor" Provider="PortableSettingsProvider" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">240, 240, 240</Value>
</Setting>
<Setting Name="statusPanelFontColor" Provider="PortableSettingsProvider" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">Black</Value>
</Setting>
<Setting Name="toolbarBackColor" Provider="PortableSettingsProvider" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">240, 240, 240</Value>
</Setting>
<Setting Name="toolbarBorder" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="searchPanelForeColor" Provider="PortableSettingsProvider" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">Black</Value>
</Setting>
<Setting Name="searchPanelBackColor" Provider="PortableSettingsProvider" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">240, 240, 240</Value>
</Setting>
<Setting Name="openLinks" Provider="PortableSettingsProvider" Type="System.String" Scope="User">
<Value Profile="(Default)">LMB Click</Value>
</Setting>
<Setting Name="mainMenuVisible" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="oldToolbarIcons" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="minimizeToTray" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="closeToTray" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="alwaysOnTop" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="editorBorder" Provider="PortableSettingsProvider" Type="System.String" Scope="User">
<Value Profile="(Default)">FixedSingle</Value>
</Setting>
<Setting Name="searchPanelBorder" Provider="PortableSettingsProvider" Type="System.String" Scope="User">
<Value Profile="(Default)">None</Value>
</Setting>
<Setting Name="toolbarCloseButton" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="singleInstance" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="statusPanelLength" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="statusPanelLines" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="statusPanelModified" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="statusPanelSize" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<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="PasswordIterations" Provider="PortableSettingsProvider" Type="System.Int32" Scope="User">
<Value Profile="(Default)">1000</Value>
</Setting>
<Setting Name="FirstLaunch" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Setting Name="passwordGeneratorBrackets" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="WarningMsg" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="ShowToolbar" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="AutoCheckUpdate" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="AutoLock" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Setting Name="passwordGeneratorAdditional" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="WindowLocation" Provider="PortableSettingsProvider" Type="System.Drawing.Point" Scope="User">
<Setting Name="lockTimeout" Provider="PortableSettingsProvider" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="WindowSize" Provider="PortableSettingsProvider" Type="System.Drawing.Size" Scope="User">
<Value Profile="(Default)">645, 460</Value>
</Setting>
<Setting Name="WindowState" Provider="PortableSettingsProvider" Type="System.Windows.Forms.FormWindowState" Scope="User">
<Value Profile="(Default)">Normal</Value>
</Setting>
<Setting Name="AutoSave" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Setting Name="statusPanelReadonly" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="SendTo" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="MenuIntegrate" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="MenuIcons" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="ColoredToolbar" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="LNVisible" Provider="PortableSettingsProvider" Type="System.String" Scope="User">
<Setting Name="statusPanelWordWrap" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="LNBackgroundColor" Provider="PortableSettingsProvider" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">53, 53, 53</Value>
<Setting Name="clipboardClearTime" Provider="PortableSettingsProvider" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="LNFontColorPanel" Provider="PortableSettingsProvider" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">164, 164, 164</Value>
<Setting Name="statusPanelClipboard" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="BLShow" Provider="PortableSettingsProvider" Type="System.String" Scope="User">
<Setting Name="clearClipboardAtClose" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="BLColor" Provider="PortableSettingsProvider" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">164, 164, 164</Value>
<Setting Name="shortcutKeys" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="BLStyle" Provider="PortableSettingsProvider" Type="System.Drawing.Drawing2D.DashStyle" Scope="User">
<Value Profile="(Default)">Solid</Value>
</Setting>
<Setting Name="GLShow" Provider="PortableSettingsProvider" Type="System.String" Scope="User">
<Setting Name="openTxtUnencrypted" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="GLColor" Provider="PortableSettingsProvider" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">164, 164, 164</Value>
<Setting Name="trayMenu" Provider="PortableSettingsProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="GLStyle" Provider="PortableSettingsProvider" Type="System.Drawing.Drawing2D.DashStyle" Scope="User">
<Value Profile="(Default)">Solid</Value>
</Setting>
<Setting Name="InserKey" Provider="PortableSettingsProvider" Type="System.String" Scope="User">
<Value Profile="(Default)">Enable</Value>
</Setting>
<Setting Name="CustomColor" Provider="PortableSettingsProvider" Type="System.String" Scope="User">
<Value Profile="(Default)">0</Value>
<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

@ -1,815 +0,0 @@
namespace Crypto_Notepad
{
partial class SettingsForm
{
/// <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(SettingsForm));
this.FontColorLabel = new System.Windows.Forms.Label();
this.colorDialog = new System.Windows.Forms.ColorDialog();
this.SaveSettingsButton = new System.Windows.Forms.Button();
this.FontNameLabel = new System.Windows.Forms.Label();
this.SettingsTabControl = new System.Windows.Forms.TabControl();
this.MainTabPage = new System.Windows.Forms.TabPage();
this.LineNumbersGroupBox = new System.Windows.Forms.GroupBox();
this.GLStyleComboBox = new System.Windows.Forms.ComboBox();
this.GLStyleLabel = new System.Windows.Forms.Label();
this.GLColorPanel = new System.Windows.Forms.Panel();
this.GLColorLabel = new System.Windows.Forms.Label();
this.GLShowComboBox = new System.Windows.Forms.ComboBox();
this.GLShowLabel = new System.Windows.Forms.Label();
this.BLStyleComboBox = new System.Windows.Forms.ComboBox();
this.BLStyleLabel = new System.Windows.Forms.Label();
this.BLColorPanel = new System.Windows.Forms.Panel();
this.BLColorLabel = new System.Windows.Forms.Label();
this.BLShowСomboBox = new System.Windows.Forms.ComboBox();
this.BLShowLabel = new System.Windows.Forms.Label();
this.LNFontColorPanel = new System.Windows.Forms.Panel();
this.LNBackgroundColorPanel = new System.Windows.Forms.Panel();
this.LNVisibleComboBox = new System.Windows.Forms.ComboBox();
this.LNFontColorLabel = new System.Windows.Forms.Label();
this.LNBackgroundColor = new System.Windows.Forms.Label();
this.LNVisibleLabel = new System.Windows.Forms.Label();
this.EditorGroupBox = new System.Windows.Forms.GroupBox();
this.InserKeyComboBox = new System.Windows.Forms.ComboBox();
this.InsertKeyLabel = new System.Windows.Forms.Label();
this.FontNameComboBox = new System.Windows.Forms.ComboBox();
this.FontColorPanel = new System.Windows.Forms.Panel();
this.FontSizeComboBox = new System.Windows.Forms.ComboBox();
this.BackgroundColorPanel = new System.Windows.Forms.Panel();
this.BackgroundColorLabel = new System.Windows.Forms.Label();
this.FontSizeLabel = new System.Windows.Forms.Label();
this.ApplicationTabPage = new System.Windows.Forms.TabPage();
this.ToolbarColorCheckBox = new System.Windows.Forms.CheckBox();
this.MenuIconsCheckBox = new System.Windows.Forms.CheckBox();
this.ToolbarCheckBox = new System.Windows.Forms.CheckBox();
this.AutoSaveCheckBox = new System.Windows.Forms.CheckBox();
this.UpdatesCheckBox = new System.Windows.Forms.CheckBox();
this.AutoLockCheckBox = new System.Windows.Forms.CheckBox();
this.IntegrationTabPage = new System.Windows.Forms.TabPage();
this.IntegrateCheckBox = new System.Windows.Forms.CheckBox();
this.AssociateCheckBox = new System.Windows.Forms.CheckBox();
this.SendToCheckBox = new System.Windows.Forms.CheckBox();
this.EncryptionTabPage = new System.Windows.Forms.TabPage();
this.PwdIterationsTextBox = new System.Windows.Forms.TextBox();
this.HashComboBox = new System.Windows.Forms.ComboBox();
this.PwdIterationsLabel = new System.Windows.Forms.Label();
this.SaltTextBox = new System.Windows.Forms.TextBox();
this.KeySizeComboBox = new System.Windows.Forms.ComboBox();
this.SaltLabel = new System.Windows.Forms.Label();
this.KeySizeLabel = new System.Windows.Forms.Label();
this.HashLabel = new System.Windows.Forms.Label();
this.ResetSettingsButton = new System.Windows.Forms.Button();
this.SettingsTabControl.SuspendLayout();
this.MainTabPage.SuspendLayout();
this.LineNumbersGroupBox.SuspendLayout();
this.EditorGroupBox.SuspendLayout();
this.ApplicationTabPage.SuspendLayout();
this.IntegrationTabPage.SuspendLayout();
this.EncryptionTabPage.SuspendLayout();
this.SuspendLayout();
//
// FontColorLabel
//
this.FontColorLabel.AutoSize = true;
this.FontColorLabel.Location = new System.Drawing.Point(9, 84);
this.FontColorLabel.Name = "FontColorLabel";
this.FontColorLabel.Size = new System.Drawing.Size(61, 15);
this.FontColorLabel.TabIndex = 0;
this.FontColorLabel.Text = "Font color";
//
// colorDialog
//
this.colorDialog.AnyColor = true;
this.colorDialog.FullOpen = true;
//
// SaveSettingsButton
//
this.SaveSettingsButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.SaveSettingsButton.Location = new System.Drawing.Point(214, 269);
this.SaveSettingsButton.Name = "SaveSettingsButton";
this.SaveSettingsButton.Size = new System.Drawing.Size(68, 23);
this.SaveSettingsButton.TabIndex = 4;
this.SaveSettingsButton.TabStop = false;
this.SaveSettingsButton.Text = "Save";
this.SaveSettingsButton.UseVisualStyleBackColor = true;
this.SaveSettingsButton.Click += new System.EventHandler(this.SaveSettingsButton_Click);
//
// FontNameLabel
//
this.FontNameLabel.AutoSize = true;
this.FontNameLabel.Location = new System.Drawing.Point(9, 26);
this.FontNameLabel.Name = "FontNameLabel";
this.FontNameLabel.Size = new System.Drawing.Size(66, 15);
this.FontNameLabel.TabIndex = 1;
this.FontNameLabel.Text = "Font name";
//
// SettingsTabControl
//
this.SettingsTabControl.Controls.Add(this.MainTabPage);
this.SettingsTabControl.Controls.Add(this.ApplicationTabPage);
this.SettingsTabControl.Controls.Add(this.IntegrationTabPage);
this.SettingsTabControl.Controls.Add(this.EncryptionTabPage);
this.SettingsTabControl.Dock = System.Windows.Forms.DockStyle.Top;
this.SettingsTabControl.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.SettingsTabControl.Location = new System.Drawing.Point(0, 0);
this.SettingsTabControl.Multiline = true;
this.SettingsTabControl.Name = "SettingsTabControl";
this.SettingsTabControl.SelectedIndex = 0;
this.SettingsTabControl.Size = new System.Drawing.Size(286, 267);
this.SettingsTabControl.TabIndex = 4;
//
// MainTabPage
//
this.MainTabPage.AutoScroll = true;
this.MainTabPage.BackColor = System.Drawing.SystemColors.Window;
this.MainTabPage.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.MainTabPage.Controls.Add(this.LineNumbersGroupBox);
this.MainTabPage.Controls.Add(this.EditorGroupBox);
this.MainTabPage.Location = new System.Drawing.Point(4, 24);
this.MainTabPage.Name = "MainTabPage";
this.MainTabPage.Padding = new System.Windows.Forms.Padding(3);
this.MainTabPage.Size = new System.Drawing.Size(278, 239);
this.MainTabPage.TabIndex = 0;
this.MainTabPage.Text = "Main";
//
// LineNumbersGroupBox
//
this.LineNumbersGroupBox.Controls.Add(this.GLStyleComboBox);
this.LineNumbersGroupBox.Controls.Add(this.GLStyleLabel);
this.LineNumbersGroupBox.Controls.Add(this.GLColorPanel);
this.LineNumbersGroupBox.Controls.Add(this.GLColorLabel);
this.LineNumbersGroupBox.Controls.Add(this.GLShowComboBox);
this.LineNumbersGroupBox.Controls.Add(this.GLShowLabel);
this.LineNumbersGroupBox.Controls.Add(this.BLStyleComboBox);
this.LineNumbersGroupBox.Controls.Add(this.BLStyleLabel);
this.LineNumbersGroupBox.Controls.Add(this.BLColorPanel);
this.LineNumbersGroupBox.Controls.Add(this.BLColorLabel);
this.LineNumbersGroupBox.Controls.Add(this.BLShowСomboBox);
this.LineNumbersGroupBox.Controls.Add(this.BLShowLabel);
this.LineNumbersGroupBox.Controls.Add(this.LNFontColorPanel);
this.LineNumbersGroupBox.Controls.Add(this.LNBackgroundColorPanel);
this.LineNumbersGroupBox.Controls.Add(this.LNVisibleComboBox);
this.LineNumbersGroupBox.Controls.Add(this.LNFontColorLabel);
this.LineNumbersGroupBox.Controls.Add(this.LNBackgroundColor);
this.LineNumbersGroupBox.Controls.Add(this.LNVisibleLabel);
this.LineNumbersGroupBox.Location = new System.Drawing.Point(2, 215);
this.LineNumbersGroupBox.Name = "LineNumbersGroupBox";
this.LineNumbersGroupBox.Size = new System.Drawing.Size(249, 283);
this.LineNumbersGroupBox.TabIndex = 14;
this.LineNumbersGroupBox.TabStop = false;
this.LineNumbersGroupBox.Text = "Line Numbers";
//
// GLStyleComboBox
//
this.GLStyleComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.GLStyleComboBox.FormattingEnabled = true;
this.GLStyleComboBox.Items.AddRange(new object[] {
"Solid",
"Dash",
"Dot",
"DashDot",
"DashDotDot"});
this.GLStyleComboBox.Location = new System.Drawing.Point(137, 250);
this.GLStyleComboBox.Name = "GLStyleComboBox";
this.GLStyleComboBox.Size = new System.Drawing.Size(100, 23);
this.GLStyleComboBox.TabIndex = 26;
//
// GLStyleLabel
//
this.GLStyleLabel.AutoSize = true;
this.GLStyleLabel.Location = new System.Drawing.Point(9, 250);
this.GLStyleLabel.Name = "GLStyleLabel";
this.GLStyleLabel.Size = new System.Drawing.Size(86, 15);
this.GLStyleLabel.TabIndex = 25;
this.GLStyleLabel.Text = "Grid lines style";
//
// GLColorPanel
//
this.GLColorPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.GLColorPanel.Cursor = System.Windows.Forms.Cursors.Hand;
this.GLColorPanel.Location = new System.Drawing.Point(137, 223);
this.GLColorPanel.Name = "GLColorPanel";
this.GLColorPanel.Size = new System.Drawing.Size(100, 21);
this.GLColorPanel.TabIndex = 24;
this.GLColorPanel.Click += new System.EventHandler(this.GLColorPanel_Click);
//
// GLColorLabel
//
this.GLColorLabel.AutoSize = true;
this.GLColorLabel.Location = new System.Drawing.Point(9, 223);
this.GLColorLabel.Name = "GLColorLabel";
this.GLColorLabel.Size = new System.Drawing.Size(89, 15);
this.GLColorLabel.TabIndex = 23;
this.GLColorLabel.Text = "Grid lines color";
//
// GLShowComboBox
//
this.GLShowComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.GLShowComboBox.FormattingEnabled = true;
this.GLShowComboBox.Items.AddRange(new object[] {
"True",
"False"});
this.GLShowComboBox.Location = new System.Drawing.Point(137, 194);
this.GLShowComboBox.Name = "GLShowComboBox";
this.GLShowComboBox.Size = new System.Drawing.Size(100, 23);
this.GLShowComboBox.TabIndex = 22;
//
// GLShowLabel
//
this.GLShowLabel.AutoSize = true;
this.GLShowLabel.Location = new System.Drawing.Point(9, 194);
this.GLShowLabel.Name = "GLShowLabel";
this.GLShowLabel.Size = new System.Drawing.Size(91, 15);
this.GLShowLabel.TabIndex = 21;
this.GLShowLabel.Text = "Show grid lines";
//
// BLStyleComboBox
//
this.BLStyleComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.BLStyleComboBox.FormattingEnabled = true;
this.BLStyleComboBox.Items.AddRange(new object[] {
"Solid",
"Dash",
"Dot",
"DashDot",
"DashDotDot"});
this.BLStyleComboBox.Location = new System.Drawing.Point(137, 165);
this.BLStyleComboBox.Name = "BLStyleComboBox";
this.BLStyleComboBox.Size = new System.Drawing.Size(100, 23);
this.BLStyleComboBox.TabIndex = 20;
//
// BLStyleLabel
//
this.BLStyleLabel.AutoSize = true;
this.BLStyleLabel.Location = new System.Drawing.Point(9, 165);
this.BLStyleLabel.Name = "BLStyleLabel";
this.BLStyleLabel.Size = new System.Drawing.Size(100, 15);
this.BLStyleLabel.TabIndex = 19;
this.BLStyleLabel.Text = "Border lines style";
//
// BLColorPanel
//
this.BLColorPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.BLColorPanel.Cursor = System.Windows.Forms.Cursors.Hand;
this.BLColorPanel.Location = new System.Drawing.Point(137, 138);
this.BLColorPanel.Name = "BLColorPanel";
this.BLColorPanel.Size = new System.Drawing.Size(100, 21);
this.BLColorPanel.TabIndex = 18;
this.BLColorPanel.Click += new System.EventHandler(this.BLColorPanel_Click);
//
// BLColorLabel
//
this.BLColorLabel.AutoSize = true;
this.BLColorLabel.Location = new System.Drawing.Point(9, 138);
this.BLColorLabel.Name = "BLColorLabel";
this.BLColorLabel.Size = new System.Drawing.Size(103, 15);
this.BLColorLabel.TabIndex = 17;
this.BLColorLabel.Text = "Border lines color";
//
// BLShowСomboBox
//
this.BLShowСomboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.BLShowСomboBox.FormattingEnabled = true;
this.BLShowСomboBox.Items.AddRange(new object[] {
"True",
"False"});
this.BLShowСomboBox.Location = new System.Drawing.Point(137, 109);
this.BLShowСomboBox.Name = "BLShowСomboBox";
this.BLShowСomboBox.Size = new System.Drawing.Size(100, 23);
this.BLShowСomboBox.TabIndex = 16;
//
// BLShowLabel
//
this.BLShowLabel.AutoSize = true;
this.BLShowLabel.Location = new System.Drawing.Point(9, 109);
this.BLShowLabel.Name = "BLShowLabel";
this.BLShowLabel.Size = new System.Drawing.Size(106, 15);
this.BLShowLabel.TabIndex = 15;
this.BLShowLabel.Text = "Show border lines";
//
// LNFontColorPanel
//
this.LNFontColorPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.LNFontColorPanel.Cursor = System.Windows.Forms.Cursors.Hand;
this.LNFontColorPanel.Location = new System.Drawing.Point(137, 82);
this.LNFontColorPanel.Name = "LNFontColorPanel";
this.LNFontColorPanel.Size = new System.Drawing.Size(100, 21);
this.LNFontColorPanel.TabIndex = 14;
this.LNFontColorPanel.Click += new System.EventHandler(this.LNFontColorPanel_Click);
//
// LNBackgroundColorPanel
//
this.LNBackgroundColorPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.LNBackgroundColorPanel.Cursor = System.Windows.Forms.Cursors.Hand;
this.LNBackgroundColorPanel.Location = new System.Drawing.Point(137, 55);
this.LNBackgroundColorPanel.Name = "LNBackgroundColorPanel";
this.LNBackgroundColorPanel.Size = new System.Drawing.Size(100, 21);
this.LNBackgroundColorPanel.TabIndex = 13;
this.LNBackgroundColorPanel.Click += new System.EventHandler(this.LNBackgroundColorPanel_Click);
//
// LNVisibleComboBox
//
this.LNVisibleComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.LNVisibleComboBox.FormattingEnabled = true;
this.LNVisibleComboBox.Items.AddRange(new object[] {
"True",
"False"});
this.LNVisibleComboBox.Location = new System.Drawing.Point(137, 26);
this.LNVisibleComboBox.Name = "LNVisibleComboBox";
this.LNVisibleComboBox.Size = new System.Drawing.Size(100, 23);
this.LNVisibleComboBox.TabIndex = 3;
//
// LNFontColorLabel
//
this.LNFontColorLabel.AutoSize = true;
this.LNFontColorLabel.Location = new System.Drawing.Point(9, 82);
this.LNFontColorLabel.Name = "LNFontColorLabel";
this.LNFontColorLabel.Size = new System.Drawing.Size(61, 15);
this.LNFontColorLabel.TabIndex = 2;
this.LNFontColorLabel.Text = "Font color";
//
// LNBackgroundColor
//
this.LNBackgroundColor.AutoSize = true;
this.LNBackgroundColor.Location = new System.Drawing.Point(9, 55);
this.LNBackgroundColor.Name = "LNBackgroundColor";
this.LNBackgroundColor.Size = new System.Drawing.Size(103, 15);
this.LNBackgroundColor.TabIndex = 1;
this.LNBackgroundColor.Text = "Background color";
//
// LNVisibleLabel
//
this.LNVisibleLabel.AutoSize = true;
this.LNVisibleLabel.Location = new System.Drawing.Point(9, 26);
this.LNVisibleLabel.Name = "LNVisibleLabel";
this.LNVisibleLabel.Size = new System.Drawing.Size(43, 15);
this.LNVisibleLabel.TabIndex = 0;
this.LNVisibleLabel.Text = "Visible";
//
// EditorGroupBox
//
this.EditorGroupBox.Controls.Add(this.InserKeyComboBox);
this.EditorGroupBox.Controls.Add(this.InsertKeyLabel);
this.EditorGroupBox.Controls.Add(this.FontNameLabel);
this.EditorGroupBox.Controls.Add(this.FontColorLabel);
this.EditorGroupBox.Controls.Add(this.FontNameComboBox);
this.EditorGroupBox.Controls.Add(this.FontColorPanel);
this.EditorGroupBox.Controls.Add(this.FontSizeComboBox);
this.EditorGroupBox.Controls.Add(this.BackgroundColorPanel);
this.EditorGroupBox.Controls.Add(this.BackgroundColorLabel);
this.EditorGroupBox.Controls.Add(this.FontSizeLabel);
this.EditorGroupBox.Location = new System.Drawing.Point(6, 12);
this.EditorGroupBox.Name = "EditorGroupBox";
this.EditorGroupBox.Size = new System.Drawing.Size(249, 183);
this.EditorGroupBox.TabIndex = 13;
this.EditorGroupBox.TabStop = false;
this.EditorGroupBox.Text = "Editor";
//
// InserKeyComboBox
//
this.InserKeyComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.InserKeyComboBox.FormattingEnabled = true;
this.InserKeyComboBox.Items.AddRange(new object[] {
"Enable",
"Disable"});
this.InserKeyComboBox.Location = new System.Drawing.Point(137, 138);
this.InserKeyComboBox.Name = "InserKeyComboBox";
this.InserKeyComboBox.Size = new System.Drawing.Size(100, 23);
this.InserKeyComboBox.TabIndex = 14;
//
// InsertKeyLabel
//
this.InsertKeyLabel.AutoSize = true;
this.InsertKeyLabel.Location = new System.Drawing.Point(9, 138);
this.InsertKeyLabel.Name = "InsertKeyLabel";
this.InsertKeyLabel.Size = new System.Drawing.Size(58, 15);
this.InsertKeyLabel.TabIndex = 13;
this.InsertKeyLabel.Text = "Insert key";
//
// FontNameComboBox
//
this.FontNameComboBox.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;
this.FontNameComboBox.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems;
this.FontNameComboBox.FormattingEnabled = true;
this.FontNameComboBox.Location = new System.Drawing.Point(137, 26);
this.FontNameComboBox.Name = "FontNameComboBox";
this.FontNameComboBox.Size = new System.Drawing.Size(100, 23);
this.FontNameComboBox.TabIndex = 5;
//
// FontColorPanel
//
this.FontColorPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.FontColorPanel.Cursor = System.Windows.Forms.Cursors.Hand;
this.FontColorPanel.Location = new System.Drawing.Point(137, 84);
this.FontColorPanel.Name = "FontColorPanel";
this.FontColorPanel.Size = new System.Drawing.Size(100, 21);
this.FontColorPanel.TabIndex = 7;
this.FontColorPanel.Click += new System.EventHandler(this.FontColorPanel_Click_1);
//
// FontSizeComboBox
//
this.FontSizeComboBox.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;
this.FontSizeComboBox.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems;
this.FontSizeComboBox.FormattingEnabled = true;
this.FontSizeComboBox.Items.AddRange(new object[] {
"8",
"9",
"10",
"11",
"12",
"14",
"16",
"18",
"20",
"22",
"24",
"26",
"28",
"36",
"48",
"72"});
this.FontSizeComboBox.Location = new System.Drawing.Point(137, 55);
this.FontSizeComboBox.Name = "FontSizeComboBox";
this.FontSizeComboBox.Size = new System.Drawing.Size(100, 23);
this.FontSizeComboBox.TabIndex = 6;
//
// BackgroundColorPanel
//
this.BackgroundColorPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.BackgroundColorPanel.Cursor = System.Windows.Forms.Cursors.Hand;
this.BackgroundColorPanel.Location = new System.Drawing.Point(137, 111);
this.BackgroundColorPanel.Name = "BackgroundColorPanel";
this.BackgroundColorPanel.Size = new System.Drawing.Size(100, 21);
this.BackgroundColorPanel.TabIndex = 8;
this.BackgroundColorPanel.Click += new System.EventHandler(this.BackgroundColorPanel_Click);
//
// BackgroundColorLabel
//
this.BackgroundColorLabel.AutoSize = true;
this.BackgroundColorLabel.Location = new System.Drawing.Point(9, 111);
this.BackgroundColorLabel.Name = "BackgroundColorLabel";
this.BackgroundColorLabel.Size = new System.Drawing.Size(103, 15);
this.BackgroundColorLabel.TabIndex = 10;
this.BackgroundColorLabel.Text = "Background color";
//
// FontSizeLabel
//
this.FontSizeLabel.AutoSize = true;
this.FontSizeLabel.Location = new System.Drawing.Point(9, 55);
this.FontSizeLabel.Name = "FontSizeLabel";
this.FontSizeLabel.Size = new System.Drawing.Size(56, 15);
this.FontSizeLabel.TabIndex = 9;
this.FontSizeLabel.Text = "Font size";
//
// ApplicationTabPage
//
this.ApplicationTabPage.BackColor = System.Drawing.SystemColors.Window;
this.ApplicationTabPage.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.ApplicationTabPage.Controls.Add(this.ToolbarColorCheckBox);
this.ApplicationTabPage.Controls.Add(this.MenuIconsCheckBox);
this.ApplicationTabPage.Controls.Add(this.ToolbarCheckBox);
this.ApplicationTabPage.Controls.Add(this.AutoSaveCheckBox);
this.ApplicationTabPage.Controls.Add(this.UpdatesCheckBox);
this.ApplicationTabPage.Controls.Add(this.AutoLockCheckBox);
this.ApplicationTabPage.Location = new System.Drawing.Point(4, 24);
this.ApplicationTabPage.Name = "ApplicationTabPage";
this.ApplicationTabPage.Padding = new System.Windows.Forms.Padding(3);
this.ApplicationTabPage.Size = new System.Drawing.Size(278, 239);
this.ApplicationTabPage.TabIndex = 2;
this.ApplicationTabPage.Text = "Application";
//
// ToolbarColorCheckBox
//
this.ToolbarColorCheckBox.AutoSize = true;
this.ToolbarColorCheckBox.Location = new System.Drawing.Point(7, 128);
this.ToolbarColorCheckBox.Name = "ToolbarColorCheckBox";
this.ToolbarColorCheckBox.Size = new System.Drawing.Size(131, 19);
this.ToolbarColorCheckBox.TabIndex = 8;
this.ToolbarColorCheckBox.Text = "Chameleon toolbar";
this.ToolbarColorCheckBox.UseVisualStyleBackColor = true;
//
// MenuIconsCheckBox
//
this.MenuIconsCheckBox.AutoSize = true;
this.MenuIconsCheckBox.Location = new System.Drawing.Point(7, 82);
this.MenuIconsCheckBox.Name = "MenuIconsCheckBox";
this.MenuIconsCheckBox.Size = new System.Drawing.Size(90, 19);
this.MenuIconsCheckBox.TabIndex = 7;
this.MenuIconsCheckBox.Text = "Menu icons";
this.MenuIconsCheckBox.UseVisualStyleBackColor = true;
//
// ToolbarCheckBox
//
this.ToolbarCheckBox.AutoSize = true;
this.ToolbarCheckBox.Location = new System.Drawing.Point(7, 105);
this.ToolbarCheckBox.Name = "ToolbarCheckBox";
this.ToolbarCheckBox.Size = new System.Drawing.Size(98, 19);
this.ToolbarCheckBox.TabIndex = 2;
this.ToolbarCheckBox.Text = "Show toolbar";
this.ToolbarCheckBox.UseVisualStyleBackColor = true;
this.ToolbarCheckBox.CheckedChanged += new System.EventHandler(this.ToolbarCheckBox_CheckedChanged);
//
// AutoSaveCheckBox
//
this.AutoSaveCheckBox.AutoSize = true;
this.AutoSaveCheckBox.Location = new System.Drawing.Point(7, 59);
this.AutoSaveCheckBox.Name = "AutoSaveCheckBox";
this.AutoSaveCheckBox.Size = new System.Drawing.Size(120, 19);
this.AutoSaveCheckBox.TabIndex = 4;
this.AutoSaveCheckBox.Text = "Auto save on lock";
this.AutoSaveCheckBox.UseVisualStyleBackColor = true;
//
// UpdatesCheckBox
//
this.UpdatesCheckBox.AutoSize = true;
this.UpdatesCheckBox.Location = new System.Drawing.Point(7, 36);
this.UpdatesCheckBox.Name = "UpdatesCheckBox";
this.UpdatesCheckBox.Size = new System.Drawing.Size(132, 19);
this.UpdatesCheckBox.TabIndex = 1;
this.UpdatesCheckBox.Text = "Auto check updates";
this.UpdatesCheckBox.UseVisualStyleBackColor = true;
//
// AutoLockCheckBox
//
this.AutoLockCheckBox.AutoSize = true;
this.AutoLockCheckBox.Location = new System.Drawing.Point(7, 13);
this.AutoLockCheckBox.Name = "AutoLockCheckBox";
this.AutoLockCheckBox.Size = new System.Drawing.Size(146, 19);
this.AutoLockCheckBox.TabIndex = 3;
this.AutoLockCheckBox.Text = "Auto lock on minimize";
this.AutoLockCheckBox.UseVisualStyleBackColor = true;
//
// IntegrationTabPage
//
this.IntegrationTabPage.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.IntegrationTabPage.Controls.Add(this.IntegrateCheckBox);
this.IntegrationTabPage.Controls.Add(this.AssociateCheckBox);
this.IntegrationTabPage.Controls.Add(this.SendToCheckBox);
this.IntegrationTabPage.Location = new System.Drawing.Point(4, 24);
this.IntegrationTabPage.Name = "IntegrationTabPage";
this.IntegrationTabPage.Padding = new System.Windows.Forms.Padding(3);
this.IntegrationTabPage.Size = new System.Drawing.Size(278, 239);
this.IntegrationTabPage.TabIndex = 3;
this.IntegrationTabPage.Text = "Integration";
this.IntegrationTabPage.UseVisualStyleBackColor = true;
//
// IntegrateCheckBox
//
this.IntegrateCheckBox.AutoSize = true;
this.IntegrateCheckBox.Location = new System.Drawing.Point(7, 13);
this.IntegrateCheckBox.Name = "IntegrateCheckBox";
this.IntegrateCheckBox.Size = new System.Drawing.Size(227, 19);
this.IntegrateCheckBox.TabIndex = 6;
this.IntegrateCheckBox.Text = "Integrate with windows context menu";
this.IntegrateCheckBox.UseVisualStyleBackColor = true;
//
// AssociateCheckBox
//
this.AssociateCheckBox.AutoSize = true;
this.AssociateCheckBox.Location = new System.Drawing.Point(7, 36);
this.AssociateCheckBox.Name = "AssociateCheckBox";
this.AssociateCheckBox.Size = new System.Drawing.Size(159, 19);
this.AssociateCheckBox.TabIndex = 0;
this.AssociateCheckBox.Text = "Associate with *.cnp files";
this.AssociateCheckBox.UseVisualStyleBackColor = true;
//
// SendToCheckBox
//
this.SendToCheckBox.AutoSize = true;
this.SendToCheckBox.Location = new System.Drawing.Point(7, 59);
this.SendToCheckBox.Name = "SendToCheckBox";
this.SendToCheckBox.Size = new System.Drawing.Size(158, 19);
this.SendToCheckBox.TabIndex = 5;
this.SendToCheckBox.Text = "Show in \"Send to\" menu";
this.SendToCheckBox.UseVisualStyleBackColor = true;
//
// EncryptionTabPage
//
this.EncryptionTabPage.BackColor = System.Drawing.SystemColors.Window;
this.EncryptionTabPage.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.EncryptionTabPage.Controls.Add(this.PwdIterationsTextBox);
this.EncryptionTabPage.Controls.Add(this.HashComboBox);
this.EncryptionTabPage.Controls.Add(this.PwdIterationsLabel);
this.EncryptionTabPage.Controls.Add(this.SaltTextBox);
this.EncryptionTabPage.Controls.Add(this.KeySizeComboBox);
this.EncryptionTabPage.Controls.Add(this.SaltLabel);
this.EncryptionTabPage.Controls.Add(this.KeySizeLabel);
this.EncryptionTabPage.Controls.Add(this.HashLabel);
this.EncryptionTabPage.Location = new System.Drawing.Point(4, 24);
this.EncryptionTabPage.Name = "EncryptionTabPage";
this.EncryptionTabPage.Padding = new System.Windows.Forms.Padding(3);
this.EncryptionTabPage.Size = new System.Drawing.Size(278, 239);
this.EncryptionTabPage.TabIndex = 1;
this.EncryptionTabPage.Text = "Encryption";
//
// PwdIterationsTextBox
//
this.PwdIterationsTextBox.Location = new System.Drawing.Point(162, 68);
this.PwdIterationsTextBox.Name = "PwdIterationsTextBox";
this.PwdIterationsTextBox.Size = new System.Drawing.Size(100, 21);
this.PwdIterationsTextBox.TabIndex = 7;
//
// HashComboBox
//
this.HashComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.HashComboBox.FormattingEnabled = true;
this.HashComboBox.Items.AddRange(new object[] {
"MD5",
"SHA1",
"SHA256",
"SHA384",
"SHA512"});
this.HashComboBox.Location = new System.Drawing.Point(162, 10);
this.HashComboBox.Name = "HashComboBox";
this.HashComboBox.Size = new System.Drawing.Size(100, 23);
this.HashComboBox.TabIndex = 5;
//
// PwdIterationsLabel
//
this.PwdIterationsLabel.AutoSize = true;
this.PwdIterationsLabel.BackColor = System.Drawing.Color.Transparent;
this.PwdIterationsLabel.Location = new System.Drawing.Point(13, 71);
this.PwdIterationsLabel.Name = "PwdIterationsLabel";
this.PwdIterationsLabel.Size = new System.Drawing.Size(114, 15);
this.PwdIterationsLabel.TabIndex = 6;
this.PwdIterationsLabel.Text = "Password iterations";
//
// SaltTextBox
//
this.SaltTextBox.Location = new System.Drawing.Point(162, 95);
this.SaltTextBox.Margin = new System.Windows.Forms.Padding(10, 3, 3, 3);
this.SaltTextBox.Name = "SaltTextBox";
this.SaltTextBox.ReadOnly = true;
this.SaltTextBox.Size = new System.Drawing.Size(100, 21);
this.SaltTextBox.TabIndex = 4;
this.SaltTextBox.Visible = false;
//
// KeySizeComboBox
//
this.KeySizeComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.KeySizeComboBox.FormattingEnabled = true;
this.KeySizeComboBox.Items.AddRange(new object[] {
"128",
"192",
"256"});
this.KeySizeComboBox.Location = new System.Drawing.Point(162, 39);
this.KeySizeComboBox.Name = "KeySizeComboBox";
this.KeySizeComboBox.Size = new System.Drawing.Size(100, 23);
this.KeySizeComboBox.TabIndex = 3;
//
// SaltLabel
//
this.SaltLabel.AutoSize = true;
this.SaltLabel.Location = new System.Drawing.Point(13, 101);
this.SaltLabel.Name = "SaltLabel";
this.SaltLabel.Size = new System.Drawing.Size(52, 15);
this.SaltLabel.TabIndex = 2;
this.SaltLabel.Text = "The Salt";
this.SaltLabel.Visible = false;
//
// KeySizeLabel
//
this.KeySizeLabel.AutoSize = true;
this.KeySizeLabel.Location = new System.Drawing.Point(13, 42);
this.KeySizeLabel.Name = "KeySizeLabel";
this.KeySizeLabel.Size = new System.Drawing.Size(52, 15);
this.KeySizeLabel.TabIndex = 1;
this.KeySizeLabel.Text = "Key size";
//
// HashLabel
//
this.HashLabel.AutoSize = true;
this.HashLabel.Location = new System.Drawing.Point(13, 13);
this.HashLabel.Name = "HashLabel";
this.HashLabel.Size = new System.Drawing.Size(94, 15);
this.HashLabel.TabIndex = 0;
this.HashLabel.Text = "Hash algorithm ";
//
// ResetSettingsButton
//
this.ResetSettingsButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.ResetSettingsButton.Location = new System.Drawing.Point(4, 269);
this.ResetSettingsButton.Name = "ResetSettingsButton";
this.ResetSettingsButton.Size = new System.Drawing.Size(68, 23);
this.ResetSettingsButton.TabIndex = 5;
this.ResetSettingsButton.Text = "Reset";
this.ResetSettingsButton.UseVisualStyleBackColor = true;
this.ResetSettingsButton.Click += new System.EventHandler(this.ResetSettingsButton_Click);
//
// SettingsForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(286, 297);
this.Controls.Add(this.ResetSettingsButton);
this.Controls.Add(this.SaveSettingsButton);
this.Controls.Add(this.SettingsTabControl);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "SettingsForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Settings";
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.SettingsForm_FormClosed);
this.Load += new System.EventHandler(this.SettingsForm_Load);
this.SettingsTabControl.ResumeLayout(false);
this.MainTabPage.ResumeLayout(false);
this.LineNumbersGroupBox.ResumeLayout(false);
this.LineNumbersGroupBox.PerformLayout();
this.EditorGroupBox.ResumeLayout(false);
this.EditorGroupBox.PerformLayout();
this.ApplicationTabPage.ResumeLayout(false);
this.ApplicationTabPage.PerformLayout();
this.IntegrationTabPage.ResumeLayout(false);
this.IntegrationTabPage.PerformLayout();
this.EncryptionTabPage.ResumeLayout(false);
this.EncryptionTabPage.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Label FontColorLabel;
private System.Windows.Forms.Button SaveSettingsButton;
private System.Windows.Forms.Label FontNameLabel;
private System.Windows.Forms.TabControl SettingsTabControl;
private System.Windows.Forms.TabPage MainTabPage;
private System.Windows.Forms.TabPage EncryptionTabPage;
private System.Windows.Forms.TabPage ApplicationTabPage;
private System.Windows.Forms.CheckBox AssociateCheckBox;
private System.Windows.Forms.CheckBox UpdatesCheckBox;
private System.Windows.Forms.ComboBox FontNameComboBox;
private System.Windows.Forms.ComboBox FontSizeComboBox;
private System.Windows.Forms.Panel FontColorPanel;
private System.Windows.Forms.Panel BackgroundColorPanel;
private System.Windows.Forms.Label FontSizeLabel;
private System.Windows.Forms.Label BackgroundColorLabel;
private System.Windows.Forms.ColorDialog colorDialog;
private System.Windows.Forms.TextBox SaltTextBox;
private System.Windows.Forms.ComboBox KeySizeComboBox;
private System.Windows.Forms.Label SaltLabel;
private System.Windows.Forms.Label KeySizeLabel;
private System.Windows.Forms.Label HashLabel;
private System.Windows.Forms.ComboBox HashComboBox;
private System.Windows.Forms.TextBox PwdIterationsTextBox;
private System.Windows.Forms.Label PwdIterationsLabel;
private System.Windows.Forms.Button ResetSettingsButton;
private System.Windows.Forms.CheckBox ToolbarCheckBox;
private System.Windows.Forms.CheckBox AutoLockCheckBox;
private System.Windows.Forms.CheckBox AutoSaveCheckBox;
private System.Windows.Forms.CheckBox SendToCheckBox;
private System.Windows.Forms.CheckBox IntegrateCheckBox;
private System.Windows.Forms.CheckBox MenuIconsCheckBox;
private System.Windows.Forms.TabPage IntegrationTabPage;
private System.Windows.Forms.CheckBox ToolbarColorCheckBox;
private System.Windows.Forms.GroupBox LineNumbersGroupBox;
private System.Windows.Forms.GroupBox EditorGroupBox;
private System.Windows.Forms.Label LNFontColorLabel;
private System.Windows.Forms.Label LNBackgroundColor;
private System.Windows.Forms.Label LNVisibleLabel;
private System.Windows.Forms.ComboBox LNVisibleComboBox;
private System.Windows.Forms.Panel LNFontColorPanel;
private System.Windows.Forms.Panel LNBackgroundColorPanel;
private System.Windows.Forms.ComboBox BLStyleComboBox;
private System.Windows.Forms.Label BLStyleLabel;
private System.Windows.Forms.Panel BLColorPanel;
private System.Windows.Forms.Label BLColorLabel;
private System.Windows.Forms.ComboBox BLShowСomboBox;
private System.Windows.Forms.Label BLShowLabel;
private System.Windows.Forms.ComboBox GLStyleComboBox;
private System.Windows.Forms.Label GLStyleLabel;
private System.Windows.Forms.Panel GLColorPanel;
private System.Windows.Forms.Label GLColorLabel;
private System.Windows.Forms.ComboBox GLShowComboBox;
private System.Windows.Forms.Label GLShowLabel;
private System.Windows.Forms.ComboBox InserKeyComboBox;
private System.Windows.Forms.Label InsertKeyLabel;
}
}

View file

@ -1,363 +0,0 @@
using Microsoft.Win32;
using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Linq;
using System.Reflection;
using System.Windows.Forms;
namespace Crypto_Notepad
{
public partial class SettingsForm : Form
{
Properties.Settings ps = Properties.Settings.Default;
public SettingsForm()
{
InitializeComponent();
}
/*Functions*/
private void SetSettings(string value)
{
if (value == "save")
{
if (AssociateCheckBox.Checked)
{
AssociateExtension(Assembly.GetEntryAssembly().Location, "cnp");
}
else
{
DissociateExtension(Assembly.GetEntryAssembly().Location, "cnp");
}
if (IntegrateCheckBox.Checked)
{
MenuIntegrate("enable");
}
else
{
MenuIntegrate("disable");
}
ps.RichForeColor = FontColorPanel.BackColor;
ps.RichBackColor = BackgroundColorPanel.BackColor;
ps.RichTextFont = FontNameComboBox.Text;
ps.RichTextSize = Convert.ToInt32(FontSizeComboBox.Text.ToString());
ps.AssociateCheck = AssociateCheckBox.Checked;
ps.HashAlgorithm = HashComboBox.Text;
ps.KeySize = Convert.ToInt32(KeySizeComboBox.Text.ToString());
ps.TheSalt = SaltTextBox.Text;
ps.PasswordIterations = Convert.ToInt32(PwdIterationsTextBox.Text.ToString());
ps.ShowToolbar = ToolbarCheckBox.Checked;
ps.AutoCheckUpdate = UpdatesCheckBox.Checked;
ps.AutoLock = AutoLockCheckBox.Checked;
ps.AutoSave = AutoSaveCheckBox.Checked;
ps.SendTo = SendToCheckBox.Checked;
ps.MenuIntegrate = IntegrateCheckBox.Checked;
ps.MenuIcons = MenuIconsCheckBox.Checked;
ps.ColoredToolbar = ToolbarColorCheckBox.Checked;
ps.LNVisible = LNVisibleComboBox.Text;
ps.LNBackgroundColor = LNBackgroundColorPanel.BackColor;
ps.LNFontColorPanel = LNFontColorPanel.BackColor;
ps.BLColor = BLColorPanel.BackColor;
ps.BLShow = BLShowСomboBox.Text;
ps.GLColor = GLColorPanel.BackColor;
ps.GLShow = GLShowComboBox.Text;
ps.InserKey = InserKeyComboBox.Text;
switch (BLStyleComboBox.Text)
{
case "Solid":
ps.BLStyle = DashStyle.Solid;
break;
case "Dash":
ps.BLStyle = DashStyle.Dash;
break;
case "Dot":
ps.BLStyle = DashStyle.Dot;
break;
case "DashDot":
ps.BLStyle = DashStyle.DashDot;
break;
case "DashDotDot":
ps.BLStyle = DashStyle.DashDotDot;
break;
}
switch (GLStyleComboBox.Text)
{
case "Solid":
ps.GLStyle = DashStyle.Solid;
break;
case "Dash":
ps.GLStyle = DashStyle.Dash;
break;
case "Dot":
ps.GLStyle = DashStyle.Dot;
break;
case "DashDot":
ps.GLStyle = DashStyle.DashDot;
break;
case "DashDotDot":
ps.GLStyle = DashStyle.DashDotDot;
break;
}
ps.Save();
PublicVar.settingsChanged = true;
Close();
}
if (value == "default")
{
FontColorPanel.BackColor = Color.FromArgb(228, 228, 228);
BackgroundColorPanel.BackColor = Color.FromArgb(56, 56, 56);
FontNameComboBox.Text = "Consolas";
FontSizeComboBox.Text = 11.ToString();
AssociateCheckBox.Checked = false;
UpdatesCheckBox.Checked = true;
ToolbarCheckBox.Checked = true;
AutoLockCheckBox.Checked = false;
AutoSaveCheckBox.Checked = true;
SendToCheckBox.Checked = false;
IntegrateCheckBox.Checked = false;
MenuIconsCheckBox.Checked = false;
ToolbarColorCheckBox.Checked = false;
LNVisibleComboBox.Text = "True";
LNBackgroundColorPanel.BackColor = Color.FromArgb(53, 53, 53);
LNFontColorPanel.BackColor = Color.FromArgb(164, 164, 164);
BLShowСomboBox.Text = "False";
BLColorPanel.BackColor = Color.FromArgb(164, 164, 164);
BLStyleComboBox.Text = "Solid";
InserKeyComboBox.Text = "Enable";
}
}
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 { }
}
/*Functions*/
/*Form Events*/
private void SettingsForm_Load(object sender, EventArgs e)
{
foreach (FontFamily fonts in FontFamily.Families)
{
FontNameComboBox.Items.Add(fonts.Name);
}
FontNameComboBox.Text = ps.RichTextFont;
FontSizeComboBox.Text = ps.RichTextSize.ToString();
HashComboBox.Text = ps.HashAlgorithm;
KeySizeComboBox.Text = ps.KeySize.ToString();
SaltTextBox.Text = ps.TheSalt;
PwdIterationsTextBox.Text = ps.PasswordIterations.ToString();
FontColorPanel.BackColor = ps.RichForeColor;
BackgroundColorPanel.BackColor = ps.RichBackColor;
AssociateCheckBox.Checked = ps.AssociateCheck;
UpdatesCheckBox.Checked = ps.AutoCheckUpdate;
ToolbarCheckBox.Checked = ps.ShowToolbar;
AutoLockCheckBox.Checked = ps.AutoLock;
AutoSaveCheckBox.Checked = ps.AutoSave;
SendToCheckBox.Checked = ps.SendTo;
IntegrateCheckBox.Checked = ps.MenuIntegrate;
MenuIconsCheckBox.Checked = ps.MenuIcons;
ToolbarColorCheckBox.Checked = ps.ColoredToolbar;
LNVisibleComboBox.Text = ps.LNVisible;
LNBackgroundColorPanel.BackColor = ps.LNBackgroundColor;
LNFontColorPanel.BackColor = ps.LNFontColorPanel;
BLShowСomboBox.Text = ps.BLShow;
BLColorPanel.BackColor = ps.BLColor;
BLStyleComboBox.Text = ps.BLStyle.ToString();
GLShowComboBox.Text = ps.GLShow;
GLColorPanel.BackColor = ps.GLColor;
GLStyleComboBox.Text = ps.GLStyle.ToString();
InserKeyComboBox.Text = ps.InserKey;
if (!ps.ShowToolbar)
{
ToolbarColorCheckBox.Enabled = false;
}
if (ps.TheSalt != "")
{
SaltTextBox.Visible = true;
SaltLabel.Visible = true;
}
string custom_colors = ps.CustomColor;
int[] array_of_colors = custom_colors.Split(';').Select(n => Convert.ToInt32(n)).ToArray();
colorDialog.CustomColors = array_of_colors;
}
/*Form Events*/
/*Buttons*/
private void ResetSettingsButton_Click(object sender, EventArgs e)
{
using (new CenterWinDialog(this))
{
DialogResult result = MessageBox.Show("Reset app settings to default?", "Settings", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (result == DialogResult.Yes)
{
SetSettings("default");
}
}
}
private void SaveSettingsButton_Click(object sender, EventArgs e)
{
SetSettings("save");
}
/*Buttons*/
/*Settings Section*/
private void FontColorPanel_Click_1(object sender, EventArgs e)
{
colorDialog.Color = FontColorPanel.BackColor;
using (new CenterWinDialog(this))
{
colorDialog.ShowDialog();
}
FontColorPanel.BackColor = colorDialog.Color;
}
private void BackgroundColorPanel_Click(object sender, EventArgs e)
{
colorDialog.Color = BackgroundColorPanel.BackColor;
using (new CenterWinDialog(this))
{
colorDialog.ShowDialog();
}
BackgroundColorPanel.BackColor = colorDialog.Color;
}
private void ToolbarCheckBox_CheckedChanged(object sender, EventArgs e)
{
if (!ToolbarCheckBox.Checked)
{
ToolbarColorCheckBox.Enabled = false;
}
else
{
ToolbarColorCheckBox.Enabled = true;
}
}
private void LNBackgroundColorPanel_Click(object sender, EventArgs e)
{
colorDialog.Color = LNBackgroundColorPanel.BackColor;
using (new CenterWinDialog(this))
{
colorDialog.ShowDialog();
}
LNBackgroundColorPanel.BackColor = colorDialog.Color;
}
private void LNFontColorPanel_Click(object sender, EventArgs e)
{
colorDialog.Color = LNFontColorPanel.BackColor;
using (new CenterWinDialog(this))
{
colorDialog.ShowDialog();
}
LNFontColorPanel.BackColor = colorDialog.Color;
}
private void BLColorPanel_Click(object sender, EventArgs e)
{
colorDialog.Color = BLColorPanel.BackColor;
using (new CenterWinDialog(this))
{
colorDialog.ShowDialog();
}
BLColorPanel.BackColor = colorDialog.Color;
}
private void GLColorPanel_Click(object sender, EventArgs e)
{
colorDialog.Color = GLColorPanel.BackColor;
using (new CenterWinDialog(this))
{
colorDialog.ShowDialog();
}
GLColorPanel.BackColor = colorDialog.Color;
}
private void SettingsForm_FormClosed(object sender, FormClosedEventArgs e)
{
string result = string.Join(";", colorDialog.CustomColors);
ps.CustomColor = result;
ps.Save();
}
/*Settings Section*/
}
}

File diff suppressed because it is too large Load diff

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-active-green.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 editor
* С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
## System requirements
* Windows Vista SP2 and higher
* .NET Framework 4.5
## 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**
## 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:
## System requirements
* Windows 7 SP1 and higher
* .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)
--- | --- | --- | --- | ---
## 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.4.0.0
1.7.3.0