KGPG is a graphical frontend for GnuPG and has been shipped in the kdeutils package for ages. Since I felt it became orphaned I started working on it last year with a major boost this year. Before that I had done little C++ work and no Qt programming at all, so it is both an improvement in my programming skills as well as (hopefully) for the application. Currently there are three flavors of KGPG which I would like to introduce to you. I've taken three pictures of the same keyring with all three different versions so you can easily compare them.
KDE 3.5.x contains version 1.2.x (currently 1.2.2) which is the classical, Qt3 based application I have only touched very little. This version is considered stable for everyone and is only touched for bug fixes. There will be no new features for this series (at least from me).
The KGPG 1.7 series is included in KDE 4.0 and is basically a port of the 1.2 series to KDE4. It still uses the Qt3 compatibility classes and also suffers from some regressions compared to 1.2. The most visible one is that dropping a text or file on the systray icon does not have any effect as those icons are no longer a anchestor of QWidget. One the other side it has a number of improvements, some of them can be seen in the screenshot:
- The key groups are much more usable now compared to KGPG 1.2 as you can now expand them and see there members in the key manager. In KGPG 1.2 you have to open the group edit window to find out the group members.
- The key sorting has been improved for usability. On the top are always the key groups, followed by your private keys (not shown in the pictures) and the public ones. The signatures are also sorted to show the ones from unknown keys at last.
- There are more colors for the different trust levels so you can now distinguish between fully and ultimately trusted keys as well as disabled and expired keys.
In /branches/work/kgpg2 you can find a version of KGPG that will eventually grow into KGPG2. I just started porting this to model/view architecture and neither is this finished nor is it very usable. You can see that the old KeyListView widget is still around (the debris on the upper left) as well as the column headers are not set. The goals for this branch include:
- full port to model/view framework
- port to gpgme or similar library where useful
- remove more limits, like where only one signature at a time can be deleted
- add some often requested features like editing or signing single identities