-*- outline -*-

In no particular order:

* Redo the key generation wizard stuff, as it is one ugly hack on top of
  another at this point.
** It should also print a progress indicator as the expert mode does.


* Dialogs should check user input and react to it.
** Don't allow the user to go on unless the input makes sense (particularly
   for the advanced key generation dialog and the import dialog).
** Select options automatically if it's clearly what the user intends
   For example, if a filename is written in the export dialog, obviously the
   user intends to export to a file. We should either check the "export to
   file" radio button automatically, or disable the file entry unless it's
   checked.

* The file decrypt operation should also show signatures, if available.
** Problem: If we do a file-based operation and the file list contains
   mixed files like detached signatures and inline decrypted files,
   should a Decrypt/Verify operation should do its best to do the
   right thing for each file?

* Add more options to the "Edit key" dialog.
** Manage UID's.
** Manage subkeys.

* Check which options should be available from the toolbar. Draw new icons if
  needed.

* Documentation!

* Support a "File Status" (encrypted, signed, etc..) column in the
  filemanager, if GPGME allows it.

* [W32] Clipboard encryption

* Support drag and drop in the file manager

* There is no way to refresh selected keys from the keyserver.
  We might also want to have a scheduled refresh mode.  But that might
  be better implemented in gpg.

* MB:
** Support getting plaintext from verify operation (should emit "created file"
   then).  Done for clipboard.  Also needed for normal file ops and server.

** Convert the windows registry strings for the home dir to the glib filename
   encoding, or rather to utf8 and from there to the glib filename encoding.
   Use the wide character interfaces for that.
** We need to make sure the server code works with the socket path containing
   non-7bit ASCII characters under Windows!
** We also need to make sure that under Unix with filename encoding being
   different from UTF-8, everything works as expected.  All displayed
   filenames should be converted with g_filename_to_utf8!
** Support receiving keys from keyservers for unknown certificates, by
   right click in "Signatures" tab of keyring manager and for all unknown
   keys in that list at once.
** Make signer selection list a bit larger than one row.
** Change gpa_window_error to use gtk_label_set_line_wrap and remove
   all those newlines. 
** The sign, encrypt dialog and progress bar is not centered over the
   parent.  Maybe it is realized too early due to init vs constructor?
   It does get the right parent window parameter (checked that).
** Use GtkActionGroups instead of manual GLists for update sensitivity and stuff.
** Not all users know about ctrl+click to select multiple items from a list.
   Use check boxes, or add instructions, or otherwise make this
   easier.
** The keyring editor has a pop up if there is no default key that says
   that the user has no private key.  But the user can have a private key.
   Either fix the message or the check.
** The keyserver setting should remember the strings entered by the user.
** In the expiration widget, the expire after and the calender widgets should
   be synchronized.
** Confirm generation of key pair by popping up a dialog, or convert
   the progress meter to a dialog that needs to be OK'ed.
** When doing signing etc operations, gpa keylist should filter out expired
   and otherwise unusable keys.  When an operation fails (due to bad
   key, for example), GPA creates a signature of zero bytes and shows
   a window with a hung progress bar and a greyed cancel button that
   is not sensitive.
** When a file in the file manager is deleted, and one tries to encrypt it,
   GPA gives an untranslated error (mingw C lib syserr) and then shows
   an empty window with just a close button (Urgs!).
** A right mouse click on the keylist in the keyring editor while
   the pop up menu is shown makes the popup menu vanish, but does not
   pop up the new menu for the key that should now be current but is not.
** The config file parser truly sucks.  It has buffer overflows and corrupts
   broken config files even more (for example, a single line
   "keyserver" will cause the next word to move to the keyserver
   line).
** Make the build clean with the flags:
   -DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED
   -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED
   -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE
   This is mostly done, except for multi-head safeness and gtk marshalling.
** multi-file operations and errors
   When doing multi-file verify/decrypt, we may ignore more errors as
   to make more progress.  This seems more useful than the current
   behavior.
