* ui can be used normally even while keygen is running; the only thing
that the program will refuse to do is spin up another instance of
keygen, of which the user will kindly be informed
* this required some async-await fiddling and running genprimes_handler
as a Task
* this merge concludes the works on a next-gen (ng) version of this
program (kry-0x04 - dsa).
* added
* keygen capabilities (from kry-0x03)
* sha256sum autocompute on msg text changed
* fixed
* signature creation
* signature verification
* zip/unzip functionality
* clear_all function
* further included
* design and ux enhancements
* code cleanup for improved legibility
* design-logic decoupling
* feature-ng: (25 commits)
chore: add "keygen running" indicator label
feat: add the option to save keys to a folder
chore: add Rsa.cs for keygen capabilities
feat: unzip functioning correctly
refactor: get rid of the using
chore: clear msgbox first, sha256sumbox after that
chore: zip creation parameter tweaks
chore: smarten do_zip(); use disposable workirs
feat: legibility++; bugginess-- in do_zip()
chore: delete the folder after the fact
chore: creating a zip with at least the msg inside
chore: refactor do_zip()
chore: rm unused method
chore: show sha256sum even for an empty string
fix: handle the label when loading a new message
chore: refactor LogicHandler
feat: refactor do_verify()
feat: autocompute sha on text changed
chore: rm border style handling
chore: rm checksum loading capability + renames
...
merging into feature-ng
* add-rsa-keygen-capabilities:
chore: add "keygen running" indicator label
feat: add the option to save keys to a folder
chore: add Rsa.cs for keygen capabilities
* user runs keygen
* selects a folder that will home the keys
* keys are generated and saved to a predefined location
* set all possible fields and methods as private
* feature-rework-design-and-functionality:
feat: unzip functioning correctly
refactor: get rid of the using
chore: clear msgbox first, sha256sumbox after that
chore: zip creation parameter tweaks
chore: smarten do_zip(); use disposable workirs
feat: legibility++; bugginess-- in do_zip()
chore: delete the folder after the fact
chore: creating a zip with at least the msg inside
chore: refactor do_zip()
chore: rm unused method
chore: show sha256sum even for an empty string
fix: handle the label when loading a new message
chore: refactor LogicHandler
feat: refactor do_verify()
feat: autocompute sha on text changed
chore: rm border style handling
chore: rm checksum loading capability + renames
* rm button for manual hash computation
* add method for computing hash from string
* add method for deciding whether hash of the msg in msg box equals hash
of msg in the file (if loaded) and show a warning label when msg changes