{"action":"created","issue":{"url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/issues/1293","labels_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/issues/1293/labels{/name}","comments_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/issues/1293/comments","events_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/issues/1293/events","html_url":"https://github.com/Alexey-Yakovenko/deadbeef/issues/1293","id":112013549,"number":1293,"title":"gtkui: change click behavior in listview","user":{"login":"cboxdoerfer","id":6108388,"avatar_url":"https://avatars.githubusercontent.com/u/6108388?v=3","gravatar_id":"","url":"https://api.github.com/users/cboxdoerfer","html_url":"https://github.com/cboxdoerfer","followers_url":"https://api.github.com/users/cboxdoerfer/followers","following_url":"https://api.github.com/users/cboxdoerfer/following{/other_user}","gists_url":"https://api.github.com/users/cboxdoerfer/gists{/gist_id}","starred_url":"https://api.github.com/users/cboxdoerfer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cboxdoerfer/subscriptions","organizations_url":"https://api.github.com/users/cboxdoerfer/orgs","repos_url":"https://api.github.com/users/cboxdoerfer/repos","events_url":"https://api.github.com/users/cboxdoerfer/events{/privacy}","received_events_url":"https://api.github.com/users/cboxdoerfer/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":16,"created_at":"2015-10-18T10:58:39Z","updated_at":"2015-11-03T17:56:41Z","closed_at":null,"body":"While working on a fix for this bug (#1288) I found some odd behaviors with click handling in the listview which I'd like to fix/update.\r\n\r\nHere's how we handle mouse clicks currently (italic being the stuff I find really odd/buggy):\r\n\r\narea | single click | double click | SHIFT + single click | CTRL + single click\r\n----- | -------------- | --------------- | ------------------------- | ------------------------\r\n**track** | only select track and set cursor on track | play track | select all tracks from cursor to clicked track and set cursor on clicked track | toggle selection of the track and set cursor on track\r\n**group title** | select the group and set cursor to first group item | _play the first track in the group and only select the first track in it_ | _select all tracks from cursor to first item in the group and set cursor to it_ | _toggle selection of the first track in the group_\r\n**album art** | same as group title | ... | ... | ...\r\n**area below album art** | same as group title | ... | ... | ...\r\n**empty space below tracks** | deselect everything | single click action and nothing | _select all tracks from cursor to the last item of the previous group_ | nothing\r\n\r\n\r\n\r\nfoobar2000 handles it like that (* same as DeaDBeeF):\r\n\r\narea | single click | double click | SHIFT + single click | CTRL + single click\r\n----- | -------------- | --------------- | ------------------------- | ------------------------\r\n**track** | * | * | select all tracks from first cursor pos(**) to clicked track, then set cursor to clicked track | *\r\n**group title** | * | play the first track in the group and keep the whole group selected | select all tracks in the group and set cursor on first track in the group | toggle selection of all tracks in the group (if one or more tracks are selected deselect everything)\r\n**album art** | same as group title | ... | ... | ...\r\n**area below album art** | same as empty space below tracks | ... | ... | ...\r\n**empty space below tracks** | * | * | nothing | *\r\n\r\n(**) the first cursor position is remembered during multiple SHIFT + single click operations and is only updated with other operations like single click or CTRL + single click.\r\n\r\nI think especially the handling of SHIFT/CTRL + single click on group title or album art should be updated, cause currently it really doesn't make any sense. So I'd really like to get an opinion about how you think it's supposed to work. Personally I like how foobar2000 does it."},"comment":{"url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/issues/comments/153433713","html_url":"https://github.com/Alexey-Yakovenko/deadbeef/issues/1293#issuecomment-153433713","issue_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/issues/1293","id":153433713,"user":{"login":"Lithopsian","id":7702742,"avatar_url":"https://avatars.githubusercontent.com/u/7702742?v=3","gravatar_id":"","url":"https://api.github.com/users/Lithopsian","html_url":"https://github.com/Lithopsian","followers_url":"https://api.github.com/users/Lithopsian/followers","following_url":"https://api.github.com/users/Lithopsian/following{/other_user}","gists_url":"https://api.github.com/users/Lithopsian/gists{/gist_id}","starred_url":"https://api.github.com/users/Lithopsian/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Lithopsian/subscriptions","organizations_url":"https://api.github.com/users/Lithopsian/orgs","repos_url":"https://api.github.com/users/Lithopsian/repos","events_url":"https://api.github.com/users/Lithopsian/events{/privacy}","received_events_url":"https://api.github.com/users/Lithopsian/received_events","type":"User","site_admin":false},"created_at":"2015-11-03T17:56:41Z","updated_at":"2015-11-03T17:56:41Z","body":"Another slight oddity.  Selecting ranges in a search playlist doesn't deselect items from the main playlist that are already selected.  This can leave discontinuous selections.  I was looking at all the hard-coded instances of PL_MAIN in ddbllistview.c, thinking these were a bad idea.  Turns out maybe there should be more instead of using the binding functions?\r\n\r\nContext menu actions (eg. add to playqueue) also appear to act on all selected items, not just those in the search playlist.  Maybe intentional?\r\n\r\nI think this is due to the hard-coding "}}