I thought I'll log my thoughts on the log viewer I plan to implement here and make sure I don't miss out on anything when I am designing and implementing later. This is the VERY rough user interface that I had submitted as part of my proposal. This is to replace the current interface which is a simple text box which saves its contents.
To make this a reality, I need to decouple the storage of logs from the SkyObject class. Currently, it checks whether an entry corresponding to a specific 'name' exists. If not, it is stored in "userlogs.dat". I plan to query the database whenever the "detaildialog" displays the user_log tab. Then use that data to populate the above UI. The below diagram for the database is in no way exhaustive and I'll have to build a new one when I begin work. However, it should be able to give a very rough idea how I intend to store the logs.