[haiku-bugs] [Haiku] #9190: [BTextView] multi-selection not preserved when DnD'ing

  • From: "ttcoder" <trac@xxxxxxxxxxxx>
  • Date: Mon, 19 Nov 2012 18:41:50 -0000

#9190: [BTextView] multi-selection not preserved when DnD'ing
--------------------------------+---------------------------
 Reporter:  ttcoder             |        Owner:  axeld
     Type:  enhancement         |       Status:  new
 Priority:  normal              |    Milestone:  R1
Component:  Kits/Interface Kit  |      Version:  R1/alpha4.1
 Keywords:                      |   Blocked By:
 Blocking:                      |  Has a Patch:  0
 Platform:  All                 |
--------------------------------+---------------------------
 Drag'n'drop interacts badly with multi-selection; so in essence, one has
 to DnD items one by one instead of being able to DnD all of your selection
 at once.

 Steps:
 - find a BListView populated with several items and which supports DnD.
 - select a bunch of items (holding down shift).
 - drag'n'drop the selected bloc (taking care to click _inside_ the
 selected bloc, not on an unselected item outside of it of course).

 Expected results:
 - the items should be dragged "en masse".

 Actual result:
 - just before the DnD session is started, the multiple selection is
 cancelled and only the one item below the mouse pointer is selected,
 instead. This results in dragging only one of the (previously selected)
 items. That is, unless you held down the option key.


 Playing with it I've found the code actually requires holding down the
 option / cmd key, not just when multi-selecting but also during the actual
 DnD session; if you do this, it will preserve the selection and let you
 DnD all of the selection as intended. This is something of a regression
 from BeOS, which did not require hodling down a key, which was more
 intuitive... With this new state of affair we might get some support calls
 from clients who don't figure it out :-)

 Did not look into a patch, but I suppose selection is handled in
 MouseDown() whereas it should be handled in MouseUp() or MouseMoved(): in
 MouseDown() it's too soon to to determine if the user is starting a DnD or
 just cancelling the selection.

 (this bug -- or is it an enhancement? -- has been there a while, and is
 still there in alpha4.1)

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/9190>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts:

  • » [haiku-bugs] [Haiku] #9190: [BTextView] multi-selection not preserved when DnD'ing - ttcoder