TODO for KDE 4.3
----------------

****** Tokamak 2 - Porto - February 2009 *******
*******          annma@kde.org          ********

Reference: http://drop.io/annmakde/asset/frame-pdf

***************************************************
1) Junior Job (very easy)
----------------------
Display picture name as a configuration option for static pictures
- in Settings dialog: add an option then 2 options: picture name or full path

see frametest-url.tar.gz for starter
see http://bugs.kde.org/show_bug.cgi?id=173831


2) Junior Job (very easy)
----------------------
Match Settings dialog with Desktop Configuration dialog as
indicated in the pdf of Picture Frame for 4.3


3) Junior Job (medium) (Nepomuk, Strigi and EXIF)
-----------------------
Based on frametest-back.tar.gz code, improve the displayed metadata for
the picture properties, based on what is displayed by GWenView.

see frametest-back.tar.gz at 
http://drop.io/annmakde/asset/frametest-back-tar-gz

Make a dataengine to get the metadata from the file (so that could be
reused by other apps)

Get all data from Nepomuk & Strigi. If Exif data is not in Nepomuk, then get it from EXIF 
and save it in Nepomuk so next time it is there.
Resources:
http://xesam.org/specs/xesam-ontology-0.95.book.pdf - page 29
http://api.kde.org/kdesupport-api/kdesupport-apidocs/soprano/html/namespaceSoprano_1_1Vocabulary_1_1Xesam.html
http://www.semanticdesktop.org/ontologies/nexif/
http://www.semanticdesktop.org/ontologies/2007/03/22/nfo/#Image

For 4.4: user interaction with Nepomuk metadata, add, remove and change 
tags,comment and rating.


4) Junior Job (easy)
--------------------
Add Previous, Play/Pause, Next buttons in Slideshow mode to allow to skip
or play/pause the slideshow

see frametest-buttons.tar.gz for starter
http://drop.io/annmakde/asset/frametest-buttons-tar-gz

Annma: get a proper SVG pic from Nuno to do so


5) Junior Job (easy) (using Solid)
-----------------------
Implement for Comic - put a patch on kdereviewboard http://reviewboard.kde.org/
Problem: when you are not connected, the comic displays nothing and never
checks further the state of connection.
- check about networking (see 
http://api.kde.org/4.x-api/kdelibs-apidocs/solid/html/tutorial4.html) 
to check status (if connected or not) then if not: use 
http://api.kde.org/4.x-api/kdelibs-apidocs/solid/html/classSolid_1_1Networking_1_1Notifier.html
Solid::Networking::Notifier and signal void   statusChanged (Solid::Networking::Status status)
to get the picture.


6) Junior Job (not assessed)
------------------------
Set a fixed point for the Picture to always been drawn from there.
See bug http://bugs.kde.org/show_bug.cgi?id=183315


7) Junior Job (not assessed)
-------------------------
Add transitions effects to the Slideshow mode
Use Qt 4.5 (current qt-copy and trunk) and Kinetic
use: git clone git://labs.trolltech.com/qt/kinetic
http://labs.trolltech.com/blogs/2008/11/06/welcome-to-kinetic/

see http://bugs.kde.org/show_bug.cgi?id=161645


8) Speed up code (advanced) and clean code
------------------------------------------
When reading pictures, use ThreadWaever
http://api.kde.org/4.x-api/kdelibs-apidocs/threadweaver/html/index.html
and cache the next picture (the QImage) or a batch of next pictures.

Note: have a look at Desktop Wallpapers in Slideshow mode which already caches the 
pictures. See in kdebase/workspace/plasma/wallpapers/ the classes Image and RenderThread

Profiling tools: valgrind, callgrind, KCacheGrind (in kdesdk module)
You need valgrind from your distribution and KCacheGrind from your KDE source
(trunk or your distro).
Profile it using "plasmoidviewer frame"
Doc: http://blog.bepointbe.be/index.php/2008/10/19/30-a-bit-of-plasma-profiling

Clean: separate the "get picture" part from the "paint picture"
Add doc comment in .h files.
Give better names and optimize code.

Scaling: get the ratio of the frame and compare with the picture size. If close: use
smoothTransform, if too much to scale use a less demanding transform

Get the 2 pictures into 2 children applets.


9) PoTD engine (Matías Szeftel) (arlekin on IRC)
-------------------------------
- see what providers are still active and what to add
- credits: what to display to fullfill the proper credits requierements
- GHNS access: how to make packages
		where to put the KNS xml file (ftp.kde.org?)
		write a HowTo add a new provider

- cache picture until midnight then get the new picture

- General Image Engine for comic and frame
==> arlekin and mat69

http://www.starobserver.org/   => Another APOD


10) Integrate Crystal
---------------------
crystal is in playground/base/plasma/applets
and needs /playground/base/neopmuk-kde
Use Wikimedia classes to get data from Wikimedia websites for example
a batch of pictures from wikimedia-commons.


-------------------------------------

Potential problems from using Kinetics

- click to flip picture is also triggered by drop -> make a smal area as the click-to-flip?
- do not call update()

- Another wish (not researched yet)
http://bugs.kde.org/show_bug.cgi?id=179960