< Digikam‎ | GSoC2012
Revision as of 01:39, 16 March 2012 by Islam Wazery (talk | contribs) (UI/UX Design For the First Proposed Way)

Digikam GSoC 2012 Camera User Interface Revamp

This page is meant to gather information about the GSoC 2012 Idea, Camera User Interface Revamp.


Requirements and Considerations


DigiKam features a graphical interface to access and download pictures from digital cameras. Code is rather old, using Qt3Support classes for the icon view, the UI code intermangled deeply with backend code, and has not seen very much care and love for some years.

This project would involve taking the old code apart, rewriting a clean code base backend and front-end, but also adding user interface elements to make the most important everyday task as easy as possible.

More Details

In more detail: Write a model listing images on a camera (There are two backends, USB mass storage cameras, which are basically files on disk, and GPhoto2 cameras, which require access through a library). Take the existing digikam icon view and delegate classes, which are prepared for code re-use, and put together an icon view for the model. Cleanly separate the code that does the actual work (downloading, converting, renaming) from the UI. Wrap that in the main window.

User Interface design: the current one is powerful, exposing many options. We want to preserve that. But at the same time, there are three very common actions:

a) Download all new files to the last used album

b) Download all new files to a new album

c) Download all new files to an existing album.

It should be possible to carry out task (a) with one click, task (b) and (c) with two or three clicks, without opening a dialog. Friendly to the new user, preserving access to all options for the poweruser.

Creation Date 14-February-2012
Status Proposal
Maintainers Gilles Caulier - Development Marcel Wiesweg - Development Islam Wazery - Development

Description & Related Work


Some text goes here introducing the proposed functionalities.

I propose to change its name from Camera Interface to Import Interface

Functionality Listing

  1. Download to (new, last, existing) album
  2. Pause importing
  3. Cancel importing
  4. Hide imported photos
  5. Upload photos
  6. Toggle Lock
  7. Mark as downloaded
  8. Select type of files to be shown
  9. Select (all, none, locked items, new Items)
  10. Invert selection
  11. Thumbnails
  12. View Image
  13. Delete (new, selected, all)
  14. Show History
  15. Full screen mode
  16. Close



There are two proposed ways to launch the Camera Interface.

  1. First is the current used one from Import > Add files, which opens a dialog to select the files which you want to add.
  2. Second is to launch the camera interface from Import menu without specifying anything and the Camera Interface will be empty with a line "Click import button to begin" which lightroom uses.


UI/UX Design For the First Proposed Way

  1. Mockup for album view in import interface
  1. Download options


  1. 3 Mockups for the three common actions in cameragui
  2. Pause option


  1. Assigning tags while importing
  2. Photo grouping
  3. Video preview in cameragui

UI/UX Design For the Second Proposed Way


Project repository: [1]

Affected Modules

Primary Modules

Name of module Description of changes

Secondary Modules

Name of module Description of changes

Relevant Bugs

URL Name of Bug
121310 Allow to have a group of pictures.
126149 Camera stores both jpeg and raw (nef), handle both as one.
158437 Add ability to create/assign tags to pictures while importing.
216491 Camera interface view does not work to preview movies.

Project Timeline


Here is a technical TODO list relevant of this project.

Milestone name Milestone description Assigned to Status
Islam Wazery In Progress


Milestone name Milestone description Assigned to Status

Please use the talk page to discuss this proposal.

Content is available under Creative Commons License SA 4.0 unless otherwise noted.