On 02.07.2004 22:13:41, Albrecht Dreß wrote:Hi all,
below is a patch against today's HEAD cvs branch with several UI related improvements:
* remove "category" from part context popups, but keep the "select all" item for text. This is a repost of the patch I submitted on June 11th (see http://mail.gnome.org/archives/balsa-list/2004-June/msg00073.html);
* add a button to the toplevel headers box for quick attachment navigation. It also introduces an attachment numbering scheme like the one used in Mozilla. Again, this is a repost of the June 11th patch;
* improve treatment of images. Users often attach multi-MB images with high resolution to mails. As Balsa used to display them "as is", the recipient in this case will only see a fraction of the image and has to open it in an external application.
To improve the display, the patch first just checks if the attachment can be converted into a pixbuf, but just displays the "broken image" stock icon (part_info_init_image). When the message container gets a size-allocate event (on_content_size_alloc), it scans all containers for images (check_images_resize) and schedules the resize function using an idle callback. This function (img_check_size) finally adjusts large images to the width of the surrounding containers. Smaller images are still displayed "as is".
This quite complex process is necessary as the GtkViewport apparently doesn't pass the size-allocate event downstream when it shrinks. So if we just try to catch this event for every GtkImage, the image would expand if you enlarge the message window, but it would stay large if it shrinks.
The drawback of this method is a short delay between the initial display of the message and the call to the image resize function due to the nature of g_idle_add, though.
As always, all comments are really welcome!
I've applied the patch and found it nice (really) et efficient.
I would have adotped HEAD if the filters problem whould have been solve (do you hear me *developpers* ?).
Attachment:
signature.asc
Description: PGP signature