This commit adds support for selecting photos and albums individually
via ctrl+click. For that, the event handlers in init.js call to
multiselect now, which collects the photo/album ids and calls the
appropriate method of contextMenu in the end.
Especially for albums, it is difficult to which ones are
chosen for an operation, because in contrast to photos, the
only change is the thin blue border.
This commit adds a new CSS class, that is set when items
have been selected. Currently, it sets a 2px border instead
of 1px.
Previously, we allowed that and reported an error in this case. Now,
the user can no longer select a parent album for merging it into a
subalbum. It is still checked on the server, though.
That means, when making an album public or private, all subalbums
are made public/private as well. This can be changed afterwards
by performing the opposite operation for a subalbum.
I think this is the better default, since most people probably
won't have public albums with private subalbums.
That is, albums can now contain other albums, which are shown at
the top of the album view. This required some changes to album.js
and the contextMenu.js, because this view contains now both
photos and albums.
The contextMenu on this view has been kept simple by requiring
the user to select either only albums or only photos, but not
a mixture of both.
This feature required a database change, so that the version
has been updated to 3.1.3.
At the moment, album and photo operations (make public, download,
delete, merge) are still "flat", i.e. don't respect the album
hierarchy.