12 Commits

Author SHA1 Message Date
939f6c910b Fixed som graphics routines
Added support for on-the-fly textview contents updates
Added iterative view removal to ConsoleController
Added dumy layouts to Common
Added support for account removal
Fixed command management (now supports leading, padding and trailing spaces)
Various smaller changes
2018-05-18 20:45:43 +02:00
fdad3be98d * Fixed TextView text formatting
* Added tutorial
2018-05-15 21:55:34 +02:00
fc9bbb1d6b * Partially reworked key event system
* Reworked padding rendering (now handled natively by View)
* Fixed how ConsoleController renders dirty views
* Explicitly added padding to the LayoutMeta dimensions computation
* Added support for updating passwords in SessionContext
* Completed account display system
* Added many more resources
* Simplified internationalization
* Added clientside representations for accounts and transations
* MOAR COMMENTS!
* Optimized account serialization
* Corrected issue where copying a user simply copied references to the user accounts; not actually copying accounts (which caused jank)
* Fixed timestamp for TimeStampWriter
* Probably some other minor things
2018-05-14 22:43:03 +02:00
bdbb1342ba Massive update
* Added new endpoint for updating password
* Added internationalization method to ContextManager and Context
* Updated contexts to use internationalization
* Added a fancy text-based UI to the server
* Added translations
* Moved Promise class to its own file
* Made BankNetInteractor its own file
* Added a lot of convenient methods
* Added many more comments
* Fixed input event management in ButtonView
* Added support for dynamic ListView content modification
* Added more layouts
* Fixed some namespaces
* Added more commands to the server
2018-05-13 20:04:01 +02:00
100f5a32be Major changes
Refactorings:
  * BinaryCollector -> BitWriter
  * BinaryDistributor -> BitReader

Additions:
  * Output class for making serverside output pretty and more readable
  * Better RSA keys (private keys withheld)

Changes:
  * Minor changes to all views and their rendering
  * Added corrective resizing to resize listener to prevent errant window sizes
  * Removed "default" language in favour of a purely priority-based system
  * NetContext now attempts to verify server identity before continuing to next context
  * Simplified common operations in Context
  * Minor updates to some layouts
  * Completed translations for english and swedish
  * Promise system now supports internal processing before notifying original caller
  * Bank interactor methods are now async
  * Added support for multiple accounts per user (separate repositories for money)
  * Removed test code from client program
  * Updated Database to support multiple accounts
  * Reimplemented RSA on the server side purely as an identity verification system on top of the networking layer (rather than part of the layer)
  * Added Account management endpoints
  * Added full support for System-sourced transactions
  * Added Account availability endpoint
  * Added verbose error responses
2018-04-26 00:24:58 +02:00
308639da5f Fully implemented Binary Collector and Distributor
- Added zigzag decoding
  - Added floating point value compression by reinterpreting and serializing floating point values as integer values
  - Moved serialization code to common code project
2018-04-10 17:44:38 +02:00
1da1b7878d Implemented floating point value serialization
Implemented floating point value deserialization
Separated Elliptic Curve Point class to its own file
2018-04-09 20:49:05 +02:00
41e8d969ed Refactorings:
* Moved encryption algorithms into a folder
* Sorted networking into separate files

Additions:
* Created Elliptic Curve encryption implementation
* Generalized the key exchange implementation
    - Implemented Diffie-Hellman key exchange
    - Implemented Elliptic Curve Diffie-Hellman key exchange
* Started implementing binary data compressor

Changes:
* Changed NetClient and NetServer to use IKeyExchange for initial AES key exchange instead of RSA (for optimization)
* Adapted TextView implementation to properly support optional borders
* Fed InputView issue caused due to border rendering change
* Fixed and simplified Rectangle computations
* Fixed errant naming in Session layout file
* Fixed errant i18n naming in Session layout file
* Fixed resize background rendering issue in ConsoleController
* Fully implemented ListView (needs testing)
* Updated BankInteractor and server to use ECDH-E with Curve25519

Removals:
* Removed identity verification from NetClient (identities checks should be performed as a layer on top of NetClient/NetServer, not as part of it)
2018-04-09 03:26:00 +02:00
3c36755c7c Added internationalization manager
- Prioritizes language file matching system language above all else
  - Secondarily prioritizes "default" lang file
  - Prioritizes lang files declared in meta file (low-to-high priority system)
Moved resource files to one folder
Added multi-file loading support
Started creating a shared layout resource file
Added language files
  - Swedish (default): Incomplete
  - English US (priority 0): Complete
  - English GB: (priority ): Complete
Continued implementing ListVew
Added reference support for 'top' variable in View.Draw()
2018-04-04 11:58:09 +02:00
5aacdba782 Started implementing ListView
Started standardizing event system
2018-04-03 23:51:06 +02:00
f1071b4994 Refactored ConsoleForms into separate files
Gave layout metadata its own sub-namespace
Gave views their own sub-namespace
Added view naming convention
Moved layout data to a separate folder
Moved layout contexts to a separate folder
2018-03-31 15:21:27 +02:00
d17f4842d3 Added project 2018-03-31 00:57:10 +02:00