Opened 12 years ago

Closed 10 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 12 years ago.
0001-Fix-drag-and-drop-in-favourites-view-and-grid-inters.patch (7.0 KB) - added by manuq 12 years ago.
Candidate patch.

Download all attachments as: .zip

Change History (11)

Changed 12 years ago by garycmartin

comment:1 Changed 12 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 12 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 12 years ago by manuq

Candidate patch.

comment:3 follow-up: Changed 12 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 12 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 12 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 11 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 11 years ago by manuq

  • Keywords regression added

comment:8 Changed 11 years ago by dnarvaez

  • Milestone changed from 0.98 to Unspecified

comment:9 Changed 10 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.