This file contains tasks that need to be done for future versions of Xestia Address Book.
- Split big C++ files down into smaller files to make the project more manageable.
- vcard/vcard34conv.cpp (6,017 lines)
- frmMain.cpp (2,823 lines)
- frmContactEditor-Save.cpp (2,304 lines)
- frmActivityMgr.cpp (1,627 lines)
- common/getcontactinfo.cpp (1,710 lines)
- Implement unit testing for main features.
- Investigate possibility of replacing use of vCard object with ContactDataObject.
- Add support for other file formats when importing and exporting (and configure setting).
- OpenDocument Spreadsheet Format (ODS) (--enable-ods)
- OpenDocument Database Format (ODB) (--enable-odb)
- XLS format (--enable-xls)
- Add support for managing other user's address books if the user has been granted permission
to do it (indicate this via a different icon). Also display associated groups with it.
- Add tab within account settings to display which address books the user wants.
- Add support for using the data within other applications (email clients for example).
- Do a detailed check that CardDAV support between the other popular address book client is
working and no data loss or data duplication occurs.
- Check when changing servers when updating account settings:
- If the server being switched to is empty, ask if the contacts stored locally should be uploaded.
- If the server being switched to isn't empty, ask if the server contents should be kept, the local
contents should be kept or merge the contacts.
- After importing, check that the imported contacts are added to the server properly.
- Add support for adding the picture with the highest priority to the icon for the contact editor.
- Add icons (within the contact editor and search) to make the application stand out better.
- Move the saving data process in frmContactEditor to ContactDataObject. This process will
also need to be refactored so less code is used.
- Investigate issues with vCard 3<->4 conversion as some values appear to be missing (add unit tests).
- Take syncronisation code out of frmActivityMgr, place into a new "framework"
and make it easily to test against through the unit testing application.
- Implement the quit application function properly.
- Replace the code for getting SSL information for Linux systems with
data from the SSL context object as done with Win32 and macOS.