summaryrefslogtreecommitdiffstats
path: root/kview/TODO
blob: 2e800234b84cf1f958766d0d22c2a555782a61ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
- regression: did the last change from bmeyer break resize handling when the
  statusbar is shown/hidden? How can it be fixed if not reverted?

- KView Canvas Widget
	- alpha blending
	- faster zooming (how? perhaphs I can create smaller pixmaps and only the ones visible are
	  really calculated and shown)
	- partial loading

- Configuration Dlg

- Printing
	- Gibt es einen Befehl, mit dem man z.B. Fotogröße 9x13 bzw. 10x15 eingeben
	  kann? (option in printing dialog to select photo size 9x13, 10x15)
	- print in original size (look at dpi info in image file if present and
	  allow the user to override the value)

- Architectural stuff
	- Add "playlist" to the imageviewer interface:
	  The Viewer should support, somehow, that a list of images is to be shown as
	  a slideshow. Plugins can then work with that "playlist" instead of messing
	  around with internals like the presenter plugin does.
	  - This would make preloading (and caching) the images possible.
	- Caching: currently the canvas doesn't do anything with files while the
	  viewer only calls QImage( QByteArray ) or QImage( filename ). Therefor the
	  Viewer has to cache the loading of images while the canvas would have to
	  cache the zoomed images and pixmaps.
	  It would be no problem to make the canvas work on files and bytearrays
	  (with the additional way of passing QImages) and make the Viewer only use
	  the Canvas' functionality in working with images. The Viewer would
	  basically rely on the canvas for most of the work.

- Effects Plugin:
	- Good enough for now, but if this plugin should support more effects I
	  should think about creating an interface for effect classes:
	  Something like:
	  class Effect
	  {
		QString dialogTitle() const = 0;
		QWidget * dialogWidget() = 0;
		/* @returns whether @ref applyEffect() would create the same image as
		 * last time or a changed one */
		bool changed() const = 0;
		void applyEffect( QImage & ) = 0;
	  };
	-  Brightness Adjustment 
	-  Greyscale conversion 
	-  Smoothing 

- Image info

- Handle resizing of the image area using an event filter? Instead of calling
  handleResize() everywhere it could resize the image area this would always
  call the function when the image area resizes (if it works).

- show modified state in titlebar

- new config option to set KView into read-only mode: remove all edit
  functionality and use the ReadOnly KPart. This disables the annoying question
  whether you want to save changes when all you wanted to do was to look at the
  image from a different angle :-)

- If an image is deleted but hasn't changed in the viewer it might happen that
  you can't save the file again.
  KView should stat the file and if it's deleted save it regardless of whether
  the image was modified or not.

- move the configuration of resize handling into a menu and remove it from the
  configuration dialog (or should it be kept - dunno)

- config option to always rotate the image so that it's shown with maximum size