This is most of the rest of bug #7579.  I just need to add it into the user interface and then it will be done.