A demo application using Unity's global menu bar
Make more details available in the error message when failing to start calibre because another instance is running
Handle checkable actions and make event processing async
Implement the AboutToShow callbacks
Add a submenu to the demo
Refactor StatusNotifierItem to uses the global DBus export factory
Add system tray to demo app
Fix system tray icons not working in Ubuntu
...
Buttons to add/remove menus from the menubar in the demo
Add systray tooltip to demo and honor the DontUseNativeToolbars application attribute
Initialize the dbus library when launching a GUI app and use the central GUI app launch points when using calibre-debug as well
...
...
Make activated() signal compatible with Qt. Allow setting app_id via the factory() function
Re-enable the system tray icon on linux. System tray icons now work in any desktop environment that supports the StatusNotifier spec, such as Ubuntu Unity, KDE 4+, GNOME 3, etc.

Since calibre 2.0, the system tray icon functionality in linux had been
disabled because of bugs in Qt 5. calibre now contains its own system
tray icon implementation to work around Qt 5 bugs.