Opened 7 years ago

Closed 5 years ago

#3960 closed defect (fixed)

Home view freeform layout, drag and drop broken

Reported by: garycmartin Owned by: manuq
Priority: Normal Milestone: Unspecified
Component: Sugar Version: 0.97.x
Severity: Minor Keywords: regression
Cc: manuq Distribution/OS: Unspecified
Bug Status: Unconfirmed

Description

Testing in 13.1.0 build 3 the Home view freeform layout is not allowing any drag and drop interaction with the icons via either the mouse cursor or touch interaction. The layout also appears somewhat broken in that not all icons are displayed unless you toggle between the home view and some other view (e.g. group or neighbourhood) several times (more icons appear each time until all favourites are shown). The icons also collide and clobber each other (see attached screen shot).

After testing the shell log was full of these tracebacks:

Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/jarabe/desktop/favoritesview.py", line 214, in __motion_notify_event_cb
    event)
  File "/usr/lib/python2.7/site-packages/gi/types.py", line 47, in function
    return info.invoke(*args, **kwargs)
TypeError: argument targets: Expected Gtk.TargetList, but got list

Attachments (2)

home_view_random_layout_drag_and_drop_broken.png (62.1 KB) - added by garycmartin 7 years ago.
0001-Fix-drag-and-drop-in-favourites-view-and-grid-inters.patch (7.0 KB) - added by manuq 7 years ago.
Candidate patch.

Download all attachments as: .zip

Change History (11)

Changed 7 years ago by garycmartin

comment:1 Changed 7 years ago by garycmartin

More shell.log digging, looks like this could be the part of the bug for collision detection:

Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/jarabe/desktop/viewcontainer.py", line 70, in do_size_allocate
    self._layout.allocate_children(allocation, self._children)
  File "/usr/lib/python2.7/site-packages/jarabe/desktop/favoriteslayout.py", line 247, in allocate_children
    x / _CELL_SIZE, y / _CELL_SIZE)
  File "/usr/lib/python2.7/site-packages/jarabe/desktop/grid.py", line 80, in add
    self._detect_collisions(child)
  File "/usr/lib/python2.7/site-packages/jarabe/desktop/grid.py", line 195, in _detect_collisions
    intersects_, intersection = child_rect.intersect(self._child_rects[c])
AttributeError: 'RectangleInt' object has no attribute 'intersect'

comment:2 Changed 7 years ago by manuq

  • Owner changed from erikos to manuq
  • Status changed from new to assigned

I had a partial fix in my shell port branch, but needed more work. Here is a finished patch.

Changed 7 years ago by manuq

Candidate patch.

comment:3 follow-up: Changed 7 years ago by erikos

This did land in 0.97.6 (os5), correct? Can we close this ticket?

comment:4 in reply to: ↑ 3 Changed 7 years ago by garycmartin

Replying to erikos:

This did land in 0.97.6 (os5), correct? Can we close this ticket?

Just had a quick test. So it is behaving a lot better, but still not really usable. Icons still collide with the central buddy icon, and drag & drop it conflicting with a palette pop-up behaviour. You get to drag an icon a little way before the palette opens and interrupts the drag.

comment:5 Changed 7 years ago by AlanJAS

I'm not sure if is the same problem, but I cannot drag and drop a entry of the journal into a USB pendrive. The USB works, because if I use the "send to" of the right menu click, it works.

comment:6 Changed 7 years ago by manuq

  • Priority changed from Unspecified by Maintainer to Normal
  • Severity changed from Unspecified to Minor

Yes the palette is getting in the middle of the drag. And also after a drag, the icons that need to be relocated jump to the cell above for a moment, then go to the corresponding place.

comment:7 Changed 7 years ago by manuq

  • Keywords regression added

comment:8 Changed 6 years ago by dnarvaez

  • Milestone changed from 0.98 to Unspecified

comment:9 Changed 5 years ago by godiard

  • Resolution set to fixed
  • Status changed from assigned to closed

Is working ok in 0.102

Note: See TracTickets for help on using tickets.