Opened 7 years ago

Last modified 4 years ago

#3921 new defect

Journal palette is not updated when I stay in the same column

Reported by: manuq Owned by: manuq
Priority: High Milestone: Unspecified
Component: Sugar Version: 0.97.x
Severity: Critical Keywords: 13.1.0
Cc: erikos Distribution/OS: OLPC
Bug Status: Unconfirmed

Description (last modified by erikos)

Steps to reproduce:

In the Journal reveal the Palette of an entry (activity icon). Now move the cursor over another activity icon. The Palette from A does not go away and no Palette of B is revealed.

Attachments (3)

0001-CellRendererInvoker-use-the-cell-renderer-allocation.patch (2.7 KB) - added by erikos 7 years ago.
CellRendererInvoker: use the cell renderer allocation not the TreeView one
0001-GtkMenu-use-point_in_cell_renderer-for-CellRendereIn.patch (3.4 KB) - added by erikos 7 years ago.
GtkMenu: use point_in_cell_renderer for CellRendereInvoker to check if a point is in
0001-Journal-TreeView-make-sure-Palette-is-hidden-when-re.patch (1.3 KB) - added by erikos 7 years ago.
Journal TreeView: make sure Palette is hidden when resuming Activity

Download all attachments as: .zip

Change History (19)

comment:1 Changed 7 years ago by manuq

  • Description modified (diff)
  • Summary changed from Journal: dismiss palette when the activity is resumed to Journal: dismiss palette when the activity is resumed tapping the icon

comment:2 Changed 7 years ago by manuq

  • Summary changed from Journal: dismiss palette when the activity is resumed tapping the icon to Activity icons in Journal and home list view: palette appears when the activity is resumed by tapping the icon

Same happens with activity icons in home list view, and doesn't happen with icons in the favourites view, so is an issue with cellrenderer icons.

comment:3 Changed 7 years ago by erikos

  • Bug Status changed from Unconfirmed to Assigned
  • Distribution/OS changed from Unspecified to OLPC
  • Priority changed from Unspecified by Maintainer to Urgent
  • Severity changed from Unspecified to Critical
  • Version changed from Unspecified to 0.97.x

Actually the issue is deeper than that. If you hover over an activity icon of a Journal entry, the Palette appears, if you hover out, the Palette does not go away. This is because the Palette code checks whether the cursor is still over the treeview rather than over the icon only.

Changed 7 years ago by erikos

CellRendererInvoker: use the cell renderer allocation not the TreeView one

comment:4 Changed 7 years ago by erikos

  • Keywords r? added

The above patch does fix part of the issue: at the moment the Activity Palette of a Journal entry does only go away when you click outside it (as this Palette is based on a Gtk.Menu this is the typical GTK.Menu behaviour). With this Patch the Palette does also go away when you hover over the icon (Palette is revealed) and you go over the Palette with the mouse and then leave the Palette. The case where if you leave the invoker (icon) without ever entering the Palette is not yet handled.

Changed 7 years ago by erikos

GtkMenu: use point_in_cell_renderer for CellRendereInvoker to check if a point is in

comment:5 Changed 7 years ago by erikos

The latest patch does actually solve the complete case. The Palette is popped down when the mouse pointer moves out of the Invoker (as well when it has not been entered the Palette once).

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

There is a small edge case with the above: when you move the mouse out of the icon the Palette was invoked of and stay in the same treeview column the Palette does not go away. Could be that this is the case because we only take x into account in _point_in_cell_renderer http://git.sugarlabs.org/sugar-toolkit-gtk3/sugar-toolkit-gtk3/blobs/master/src/sugar3/graphics/palettewindow.py#line1322.

Changed 7 years ago by erikos

Journal TreeView: make sure Palette is hidden when resuming Activity

comment:7 Changed 7 years ago by erikos

The patch above is for the issue originally described in the ticket: when you resume an activity in the Journal by tapping on the icon the Palette of that icon did not popdown.

comment:8 in reply to: ↑ 6 Changed 7 years ago by manuq

Replying to erikos:

There is a small edge case with the above: when you move the mouse out of the icon the Palette was invoked of and stay in the same treeview column the Palette does not go away. Could be that this is the case because we only take x into account in _point_in_cell_renderer http://git.sugarlabs.org/sugar-toolkit-gtk3/sugar-toolkit-gtk3/blobs/master/src/sugar3/graphics/palettewindow.py#line1322.

For this case we can watch the path returned by tree_view.get_path_at_pos which is being called in point_in_cell_renderer. If path changes, we are in another row.

comment:9 Changed 7 years ago by erikos

  • Description modified (diff)
  • Keywords r? removed
  • Summary changed from Activity icons in Journal and home list view: palette appears when the activity is resumed by tapping the icon to Palette is not updated when I stay in the same column

The ticket originally described here, see #4129 which I just closed.

Let's adjust the title here to track the edge case discovered here.

comment:10 Changed 6 years ago by dnarvaez

  • Component changed from sugar-toolkit-gtk3 to Sugar

comment:11 Changed 6 years ago by dnarvaez

  • Milestone changed from 0.98 to Unspecified

comment:12 Changed 6 years ago by dnarvaez

  • Bug Status changed from Assigned to Unconfirmed

comment:13 Changed 6 years ago by dnarvaez

  • Priority changed from Urgent to Normal

comment:14 Changed 5 years ago by godiard

  • Summary changed from Palette is not updated when I stay in the same column to Journal palette is not updated when I stay in the same column

comment:15 Changed 5 years ago by godiard

  • Priority changed from Normal to High

comment:16 Changed 4 years ago by tch

Still present in 0.107.0.

Note: See TracTickets for help on using tickets.