summaryrefslogtreecommitdiffstats
path: root/TODO
blob: ee7d58e0c63fe1481de762558dea550dae7d305d (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
To be discussed:
#1. Define the way plugins should access host app images. Current choices are:
#- Use ImageCollections
#- Use Interface::Browser class suggested by Jesper in the
#  "libkipi/libkipi/design" document.
Done

2. In the same way, define how plugins should give images to the host app. 
Current choices are:
- Interface::addImage
- Define a class similar to Interface::Browser, which we could call 
  Interface::Importer

3. Make a decision on some terms: should we use "album" or "image collection" 
or both (if so, explain the difference in a README file)

4. Agree on the category list.

5. Define KIPI and plugin versioning so that we don't get mixed version bugs 
(Aur�lien: I think this could be done by correctly defining lib version
numbers, but I might be missing something here).

6. Define what helper widgets/dialog we should provide to plugins. Right now 
we have:
  - ImageCollectionDialog (Poor name, should be ImageSelectDialog)
  - UploadWidget


To be done:
- Implement a widget to let the user select ImageCollections. The minimal
  interface should be:
  class ImageCollectionSelector : public QWidget {
    QValueList<ImageCollection> imageCollections;
  }

- Review all classes to polish the API before freezing it.

- Improve BC strength with d pointers.

- Add functions for copying/moving/renaming files, or do we all agree that the 
ImageInfo::cloneData() method is enough?

- Write some documentation. I'm thinking about Doxygen class documentation 
plus a skeleton app and a skeleton plugin to serve as examples.