multiselection in camera roll is non-standard: drag-and-drop of multiple objects is very difficult
The camera roll (scrolling array of photos/videos at the bottom of the Cheese interface) is a multiselect object: more than one image/video can be selected at once.
Using shift and ctrl while clicking does close to the usual behavior, but not exactly.
One example operation that ought to be easy to do but is not:
- select multiple images from the camera roll
- drag and drop them to a folder in nautilus
My experience trying to do this is that i typically end up only transferring a single image, rather than the multiple that i had selected.
My expectations for a multiselect one-dimensional list interface:
- the list has exactly zero or one "current" objects (in some interfaces the "current" object is visually indicated by a thin dashed outline)
- the list has a "selection", which is a (possibly non-contiguous) subset of the overall set of objects. (in some interfaces, selected objects get a colored background, blue in default GNOME)
- mouse down with no modifier keys on a single unselected object clears any existing selection, sets the "current" object to the clicked object, and sets the "selection" to just be the clicked object.
- mouse down with no modifier keys on a single selected object makes no changes to the "selection", but prepares for a drag-and-drop or other comparable operation
- mouse up (completed click) on a single selected object behaves the same way as mousedown on a single unselected object.
- shift-clicking on any object clears the current "selection". If there is no "current" object, then the clicked object becomes the "current" object. The "selection" is then set to the contiguous range of objects from the "current" object to the clicked object, inclusive.
- ctrl-clicking on any object that is currently in the "selection" removes the clicked object from the "selection" and clears the "current" object.
- ctrl-clicking on any object that is not currently in the "selection" adds that object to the "selection" and sets the "current" object to the clicked object.
The biggest blocker for the task i outline above is that mouse down with no modifier keys on a single selected object appears to behave like mouse down with no modifier keys on a single unselected object.
I did the above tests on a debian sid system with cheese 41.1-1