I've looked at the ShowImage zoom routines, and a clean implementation of better zooming isn't as easy as it seemed at first glance. Not that hard, but I don't have the time for it right now. I'll look into this later, but probably only after I implemented a SSE2 version of the ScaleBilinear function, which is far too unrealtime for my taste.
I will implement the interface changes, though. Before we go to the changes, a list of the current behavior (I omitted File and Edit operations) just for reference:
Direct key commands Enter: next image Backspace: previous image +, =: zoom in -: zoom out Space: toggle slideshow Esc: stop slideshow + exit fullscreen + cancel selection Del: delete image Cursor: move image Shortcuts Alt f: fullscreen mode Alt +: zoom in Alt -: zoom out Alt Up/Down: next/previous image Alt Left/Right: multi-image navigation: prev/next page (for TIFF?) Shift Alt Left/Right: multi-image navigation: first/last page Alt [: rotate counterclockwise Alt ]: rotate clockwise Mouse LMB: select region MMB: move image RMB: popup menu / move selected region Wheel: scroll image vertically The planned changes are: Direct key commands Down/Right: next image Up/Left: previous image New behavior I would recommend: Shift+Cursor: move imageAlt+Return: toggle fullscreen (learned behavior from some Windows programs - maybe other platforms, too?)
ShortcutsI strongly recommend changing the Rotate shortcuts; on German keyboards Alt+[ and Alt+] are unselectable (unless I'm doing something wrong here or it's VMWare). This also goes for Alt+{, Alt+} and Alt+\; all these keys are accessed with the right Alt key, but this prevents selection with the left Alt key. This information should go into a UI style guide, I think.
Anyway, my proposal: Alt r: rotate clockwise Alt Shift r: rotate counter-cw(If there's disagreement about the proper direction for plain rotation with "Alt r", please just the votes - I'll count 'em & the majority has it.)
Mouse LMB, MMB, RMB: unchanged Wheel: zoom image; wheel up zooms in, down zooms out +Shift: scroll vertical +Alt or Ctrl: scroll horizontalI hope I didn't miss anything. I'll implement the changes when the votes are in and any possible discussions have quieted down.
Christian