Digikam/GSoC2012/CameraUserInterfaceRevamp/Implementation

From KDE Community Wiki

New Files Structure

Devices Folder

DKCamera

digiKam camera interface, Implemented by the two backends, GPCamera and UMSCamera.

GPCamera

The backend for the supported gPhoto2 library cameras.

UMSCamera

USB mass-storage device class (USB MSC or UMS), which is a protocol that allows USB devices to be accessible.

CamItemInfo

Holds the information for a single camera item "Photo, Video, Audio, ..."

NEW DIRECTORY:


Controller Folder

CameraController

Is responsible for doing all the import interface jobs (camera commands) like listing files/folders, capturing photos, get metadata & free space, get thumbnails, download photos, etc. It should be modified to communicate with the import models in a similar manner that AlbumManager communicates with album models.

NEEDS TO BE DECIDED: Change its name to CameraManager or ImportManager and making it a singleton.

CameraHistoryUpdater

Is responsible for updating the history of the jobs done by the interface.

Download Settings

It is the settings in the right sidebar of the interface. There is no need to change it.

NEW DIRECTORY:


Dialogs Folder

Contains all the dialogs for the import interface, there is no need to change it, just move it to another suitable directory.

NEW DIRECTORY:


Main Folder

Contains the main interface class, should be revamped with the new changes and moved to a suitable directory.

NEW DIRECTORY:


Widgets Folder

For now no change in it, just move it to new directory.

NEW DIRECTORY:


The New Structure

Models


Issues

  1. To implement the tags, labels features, CamItemInfo needs to have those similar functionalities of the ImageInfo.
  2. Backend code should get some features like updating the listed files after removing/renaming any of them in the backend.
  3. Photo thumbnails sometimes are low resolution, this issue is reproduced with all the high resolution images.