This drops the keyfile-based log in favor of sqlite, which should eliminate log performance issues, and allow users to more or less log in perpetuity if they so desire. It also makes it easier to tell when notifications are unread, and fixes up some issues with the panel plugin icon around unread notifications.
There are also several other useful additions here:
- Log viewer in the settings dialog can now mark all read, and also mark individual entries read or delete them. The log viewer also supports multi-select, so multiple entries can be marked read or deleted at the same time.
- Log viewer in the settings dialog will progressively load more and more log entries as the user scrolls to the bottom.
- The log entry icon now shows a small emblem if the entry is unread.
- Panel plugin menu now has a "Mark all read" item.
- Panel plugin can now show all notifications or only unread notifications.
- Panel plugin allows setting what happens when the menu is shown (mark all read, mark only those shown read, do nothing).
- The format of the timestamps shown in the plugin menu and log viewer is now configurable.
As a consequence, this closes #33 (closed).