For existing accounts, usernames should be pulled out of user data files (literally go through files and read unencrypted username and/or public id), password is used to call a decrypt function, and on successful decryption this should initialize Core instance and switch to the main window.
For new users, username is just any string no longer than TOX_MAX_NAME_LENGTH bytes (note that a UTF-8 character takes 1-4 bytes), and password is a string that will be used for encrypting the user data file.
Also, in addition to what is shown on the mockup, an option for import of a user data file should be added.
Make a login dialog similar to https://github.com/nurupo/ProjectTox-Qt-GUI/issues/12
For existing accounts, usernames should be pulled out of user data files (literally go through files and read unencrypted username and/or public id), password is used to call a decrypt function, and on successful decryption this should initialize Core instance and switch to the main window.
For new users, username is just any string no longer than
TOX_MAX_NAME_LENGTH
bytes (note that a UTF-8 character takes 1-4 bytes), and password is a string that will be used for encrypting the user data file.Also, in addition to what is shown on the mockup, an option for import of a user data file should be added.
No encryption should be implemented here, the encryption is part of https://github.com/nurupo/ProjectTox-Qt-GUI/issues/66
A dummy GUI can be made now, but in order to function properly https://github.com/nurupo/ProjectTox-Qt-GUI/issues/66 needs to be completed.