If you've sent in a patch and I don't list it here, please contact me via email.
Fixed some of the bugs with the renaming, hopefully the keyring code problems as well.
First off, I've renamed kPGPShell to Geheimnis. They're kinda discouraging programs that start with a K, just because there are so many and us programmers are going a little overboard with K things (kPGPShell, kfm, k-this, k-that, etc..). Okay, I think I've fixed an idle() call bug, and some miscellaneous bugs. I'm hoping to get a kPGPSelectKey class working, and perhaps checkSanity() to verify the version of a PGP program. Fixed a PGP 5 issue with revoking a signature. Adding sanity checking... Added documentation. Added a nag screen for the license (GPL). I want people to understand, there is NO WARRANTY. :)
Well, it was *supposed* to be a stable release. Instead, it took long enough that I just had to add some new features. In kPGPEncrypt, if you turn off necessary features, it intelligently asks you what you want to do. This should be pretty stable. I've also added Cancel buttons to just about every window EXCEPT key management. I'm still trying to decide how to do that one. Key Management's pretty much done except for signing, which is slated for the 0.6x series...
Fixed some PGP 2 and one GPG problem, mostly in kPGPEncrypt, and two in kPGPDecrypt. Improved keyring loading. PGP 2 doesn't support multiple keyrings, but does support multiple names, this is reflected in the program now. Any Day Now I'm going to get around to putting in Prefs and Profiles dialogs...
Okay, I've really added most of the key management stuff, only signing isn't done yet. That's because I need another widget (kPGPSelector) to select the signing key, and I don't have that yet. Everything else, even to revoking keys, or uploading them to a keyserver, is done. Eventually, I want to do things like asking about uploading new keys or just-revoked keys, trust assignment, properties, etc. Also, I think I've squashed most of the core dumps and segfaults.
Can you say Key Management? I knew you could. Almost everything in Key Management is now enabled, I'm still working down on chasing down command-line-order bugs. Moved keepopen binary to $(KDEDIR)/apps/kPGPShell so that it couldn't possibly conflict. Fixed GnuPG double-listing bug for keyring loading. Still looking at DND bugs... I now clear the Secret Key combo box in encrypt when changing profiles. Also, I've added preliminary support for using Harmony insetad of QT. (Harmony is a (L)GPL'ed-QT clone.)
Added clearsign. Fixed GnuPG keyring loading (although allversions through 0.95 load names/sigs twice... I may fix it in my code, but it should probably be fixed in GnuPG. Resolve to note changes better (I'm working on 0.42 while I write this). Fixed language support for piping PGP 5 and PGP 2. (Now it's set to english.) Also I'm using BSD's install not /bin/cp. This is better.
Okay, it's taken awhile to get the changes in. I've fixed the PGP 2 code for sure, the GPG code still stinks, but I'm working on it. I hate QT's inability to use pixels, their QHBoxLayout and QGridLayout all require percentages, and I don't want percentages, I want tables where I can freeze columns and rows at a certain height and let others grow, something QT doesn't do (yet?). So, in kPGPKeys, I'm manually managing the layout. I'm sorry, but moving the toolbar/menubar doesn't work, even if I did use the stupid Q*Layout series, I'll see about fixing that sometime in the future. Created TODO.
Added profile code! Added keyring support! Moved code around to better utiliize C++ coding standards. I'm planning on having basic key management by 0.4.
Added keyring code! Can now load (theoretically) keyrings and choose keys. Changed to using GNU gcc / g++ instead of local cc/c++, on Sun and HP, this won't work right.
Added a command-line so that calling kPGPShellwill act as if you dropped that file onto the main window, except it doesn't show the main window. Made my own ./configure script so more people can use my program.
Well, I've dropped all plans to ever use, in any program I make, automake or autoconf. They're nothing but problems. It can't find /usr/lib/gcc-lib/egcs-yadayada bitch bitch moan moan. You'd think that ./configure actually detected things. Anyways, because of lost time wrestling with that, plans for 0.2 are delayed until end of February.
I'm releasing this one on the internet, decrypt works fine now, I just have to add i18n support (easy), a drop zone (dunno about this one..., have to look into overloading...), and a cancel button on the decrypt window.
Okay, finally clinched that irritating "which version of pgp did the user select" question/bug. I also figured out that the QGridLayout works *much* better when you resize the window. Oy. I will admit, though, that documentation is the best I've ever seen for programming, although they could have more examples. I'm going to work on a DND-type zone on the main window.
Cleaned up code a little, changed version-dependant prompts to use MY_VERSION. Looked at using autoconf/automake, ran screaming away. Won't try that again for quite awhile. No documentation to speak of (just WHO uses info?!), looks like Yet Another Foreign Language To Learn from those wonderful folks at GNU, and doesn't do my program one cent of benefit, just for a bloody Makefile. Over 300K of that folder was useless junk. Oy... Nonetheless, I think I'm going to be forced to use it once my program (hopefully) takes off...maybe one of those wonderful mailing lists will let me on long enough to ask why... I'm working on an icon, mimetype file, and kdelnk file for installation. Anyone want to clean up the interface a little? I'm new to KDE programming.
Decrypt works, correctly, for the first time! Ya!!! I've made a little proggie called keepopen, that, once the parent program is done, loops forever. That's because since kvt/konsole/xterm/etc... close once the program is done, users wouldn't see what PGP/GPG returned at the very end...so, this program keeps the window open until the user kills/closes it.This program is going to change BIG TIME for 0.1, I'm going to use kapptemplate 0.21 (I have it now, but I need to pick it apart so I can figure out how it works.) So, if you send in patches, please try to make it portable code, I'm also learning C++ this way. (I know C, I just want to do GUI stuff, and GTK's kinda messy, IMHO).
Okay, this is the first release. It doesn't do much, it's mostly a POC (Proof of Concept) release. It is really hardcoded, but it has a menubar, menus, message boxes (Why doesn't GTK have these? Someone? Anyone?), and it's my first C++ program.kPGPShell is intended to be in the same style as the PGP Shells of Windows (tm) 3.1, where you entered the details into the shell, and PGP ran in a DOS window on the side, except I'm going to use kvt instead of DOS. :)
I intend that by 0.1, encrypt and decrypt will be ready for use, and by 0.3, I'll have basic (!) key management. Hopefully, by 0.5, encrypt/decrypt (which also includes signing and verifying, of course) will be rock-solid, and I can work towards 1.0 which will have 100% key management.
Legal stuff: Windows is a trademark of Microsoft, Inc. PGP is a trademark of PGP, Inc.