Revision 562962

Go back to digest for 23rd July 2006

Features in Graphics

Jesper Pedersen committed changes in /trunk/extragear/graphics/kphotoalbum:

This is a patch with some new functionality from Robert L Krawitz. His description of the changes can be seen below.

The patch needs a bit of tweaking here and there, stuff I don't have time to do right now, so before the patch rots, I better get it into the code base.

1) A new option to permit smooth scaling vs. non-smoothed scaling
(which is much, much faster, particularly with large images).

2) A new viewer option to permit showing image size in the info box.

3) A new viewer option to permit showing file name in the info box.

4) An option to allow specifying thumbnail size in the settings dialog.

5) A new command in the viewer to zoom pixel for pixel (if the image is larger than the viewer, of course :-( ) -- typing `=' will do this.

6) Ability to scale to less than full screen. This means that displaying pixel for pixel will always display pixel for pixel, in
addition to the ability to zoom out beyond that point.

7) A new "standard size" setting, which can be one of three things:

* Full screen (the default, as today)

* Natural size (i. e. pixel for pixel)

* Natural size if possible (pixel for pixel if it would fit, otherwise full screen).

In addition to being saved in the preferences, typing the `/' key
at any time will display the image at "standard size".

This isn't perfect. In at least some cases it initially flashes the image at full size before rescaling it up or down. Fixing this will require more extensive work. In particular, doing most
efficiently will require reorganizing the cache so that it actually keeps track of the image sizes rather than assuming that they're at the display size, and the cache code in general will require some
work. I probably won't have time to do this before I go back to work.

8) New options to skip forward and backward by 10, 100, and 1000 images. This was inspired by our 3500 photos from Alaska that we're trying to categorize. We did some of them last night, and I want to restart in the middle (I know where we left off, but it's a pain to find it in the thumbnail view and then select everything from that point on).

9) The display code checks if the stored size is -1 (i. e. KPhotoAlbum doesn't know what size it is), and fixes it up (and calls back to the viewer to update the image box). This could happen in cases other than already-present thumbnails; for example, if you try to view images for which thumbnails aren't yet created.

10) A new option to specify whether or not to load RAW files if corresponding JPEG or TIFF files also exist. Default is that it doesn't, which is a change from the current behavior. This is useful with cameras that store both a raw image and a JPEG or TIFF. Related to this, I've changed the new image finder code to pass the entire filename to canReadImage rather than just the file extension. I believe this is the right thing to do because it allows the code to determine whether it actually can read the file or not.

File Changes

Modified 15 files
  • /trunk/extragear/graphics/kphotoalbum
  •   /DB/NewImageFinder.cpp
  •   /ImageManager/ImageLoader.cpp
  •   /ImageManager/RawImageDecoder.cpp
  •   /Settings/SettingsData.cpp
  •   /Settings/SettingsData.h
  •   /Settings/SettingsDialog.cpp
  •   /Settings/SettingsDialog.h
  •   /ThumbnailView/ThumbnailWidget.cpp
  •   /Utilities/Util.cpp
  •   /Utilities/Util.h
  •   /Viewer/DisplayArea.cpp
  •   /Viewer/DisplayArea.h
  •   /Viewer/InfoBox.cpp
  •   /Viewer/ViewerWidget.cpp
  •   /Viewer/ViewerWidget.h
15 files changed in total