I've pretty much finished the UI for the new Image type fields in Bookcase. You can see the finished widget below.
I've broken out the edit widget into a dialog box. I added a HTML widget for viewing the field values for an entry, which took the place of the editor in the main window. XSLT templates will be used for the view widget, which looks pretty cool. I've been playing with the dialog box, and it occasionally annoys me, since at the moment, I can't figure out how to tell KDE not to have an extra taskbar item for it, and it's always a top-level widget, but I'm hoping to iron that out shortly.
I've also been rethinking my plan for saving images. A Zip file might be a better way to go, especially if folks have lots of images in a data file. My goals are to keep the Bookcase data easily accessible for scripting, such as Joseph Reagle's Amazon script, but to keep file sizes small and efficient, making IO operations smoother. So, to those ends, I've decided that a Bookcase data file will be self-contained, i.e. it won't be referencing images elsewhere. Then, if the collection does have images, it will be saved in a zip format with a top-level bookcase.xml file, and an images/ directory. That way, scripts will be easy to write, since unzip can take file names within a zip archive as arguments.
My only remaining dilemma is what to do when a collection doesn't have any images. Should I save by default into a text XML file, or retain the zip format? And should I install .desktop files for the .bc and .bcz extensions, or just use .bc for both? Still thinking about this...