Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#4253 closed defect (fixed)

Palette trackpad interaction: they don't close after clicking items

Reported by: greenfeld Owned by: manuq
Priority: High Milestone:
Component: Sugar Version: 0.97.x
Severity: Unspecified Keywords: regression, r+, olpc-test-passed
Cc: erikos, dsd Distribution/OS: OLPC
Bug Status: Unconfirmed

Description

The buddy menu palette for other users in the Neighborhood view does not close or otherwise acknowledge menu items being selected in OLPC 13.1.0 os12.

It just stays on screen with no changes appearing after clicking, even if the "Add {Remove} Friend" button is clicked multiple times or the "Invite to {Activity}" button is clicked (this menu item sometimes features the shared activity's icon twice).

Attachments (6)

0002-Buddy-icons-popdown-palette-inmediatly-after-mouse-c.patch (3.3 KB) - added by manuq 11 years ago.
Patch.
activate-item-toolkit.patch (2.4 KB) - added by manuq 11 years ago.
Trying a more general solution, toolkit patch.
activate-item-shell.patch (3.5 KB) - added by manuq 11 years ago.
Trying a more general solution, shell patch.
0001-Popdown-the-palette-if-an-item-in-the-content-box-ge.patch (2.1 KB) - added by erikos 11 years ago.
Popdown the palette if an item in the content box gets activated (toolkit)
0001-Adapt-to-PaletteMenu-changes-for-popdown-on-item-act.patch (2.3 KB) - added by erikos 11 years ago.
Adapt to PaletteMenu changes for popdown on item activation (shell)
0001-Adapt-to-PaletteMenu-changes-for-popdown-on-item-act.2.patch (2.3 KB) - added by manuq 11 years ago.
Browse adapt patch.

Download all attachments as: .zip

Change History (26)

comment:1 Changed 11 years ago by garycmartin

13.1.0 build 12, XO-1.75 and XO-4:

Clarification, on testing here, this appears to be for trackpad/mouse cursor interaction only. Testing with touch screen interaction, the buddy menu palette for other users correctly closes after making an entry selection (Add friend, Remove friend, Invite to {activity}).

comment:2 Changed 11 years ago by dsd

  • Priority changed from Unspecified by Maintainer to Normal

comment:3 Changed 11 years ago by dsd

  • Priority changed from Normal to High

comment:4 Changed 11 years ago by manuq

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

comment:5 follow-up: Changed 11 years ago by manuq

This is affecting also other palettes, for example the owner icon one:

  1. open the palette of the owner (central) icon
  2. click on My Settings
  3. close My Settings without opening other palettes

The palette is still there.

comment:6 Changed 11 years ago by manuq

  • Summary changed from Buddy menu palette does not close or otherwise acknowledge menu items being selected to Palette trackpad interaction: they don't close after clicking items

comment:7 in reply to: ↑ 5 ; follow-up: Changed 11 years ago by erikos

Replying to manuq:

This is affecting also other palettes, for example the owner icon one:

  1. open the palette of the owner (central) icon
  2. click on My Settings
  3. close My Settings without opening other palettes

The palette is still there.

Hmm, I can not reproduce that all the time. In the case where I reproduced, the icon had as well the 'clicked'-state background colour which does stay even so the Palette is down now.

Actually the way of reproducing this for the owner icon is:

  • open owner Palette with the mouse and click on 'My settings'
  • close the CP with touch
  • the Palette stays open then because the mouse is still over it

comment:8 Changed 11 years ago by erikos

Actually see as well #4191.

comment:9 in reply to: ↑ 7 Changed 11 years ago by manuq

Replying to erikos:

Hmm, I can not reproduce that all the time.

The buddy palette is dismissed if another palette pops up. Probably the tooltip of the X close icon of the control panel is catching you. If I close the CP fast enough so that the tooltip does not appear, I hit the issue every time.

Actually the way of reproducing this for the owner icon is:

  • open owner Palette with the mouse and click on 'My settings'
  • close the CP with touch
  • the Palette stays open then because the mouse is still over it

Yes, closing it by touch doesn't pop up the tooltip and you can always reproduce the bug too.

comment:10 Changed 11 years ago by manuq

The attached patch fixes the issue for the Buddy icons, and #4191 is another case of the same issue but for the AP icons in the neighborhood.

The current implementation of the palette requires that we explicitly call the popdown method of the palette after each item is activated. This affects the mouse interaction, in touch interaction the palette
is dismissed correctly.

I hope we can get to a more general fix, although this might require an API change in the palette. I'm looking for this.

A more detailed description: With mouse interaction, palettes are not dismissed when an item is activated. But the callback is called, even if the change is not reflected in the palette left opened ("Remove friend" in neighborhood, for example). There is nothing special in the logs, the palette just stays.

One can be mislead because sometimes it seems to work: for example seems to work fine for "Remove friend" in groups view, but what happens is that the palette goes away with the icon.

comment:11 Changed 11 years ago by manuq

  • Cc erikos added
  • Keywords r? added

Changed 11 years ago by manuq

Trying a more general solution, toolkit patch.

Changed 11 years ago by manuq

Trying a more general solution, shell patch.

comment:12 Changed 11 years ago by manuq

Trying a more general solution: we could connect a callback for the item 'activate' signal in the palette, and call popdown from it. Unfortunatly this needs some API change, so I think we are safer calling the popdown explicitly (first patch).

Anyways, leaving a note here of what I've tried.

My first attempt: Palette.set_content() is always receiving a widget that is a Gtk.Container, like Gtk.VBox. So first I tried to connect the palette to the 'add' signal [1], so that each time an item is added, we connect its 'activate' signal to the palette. But turns out the callback is not called for pack_start/pack_end, only for add. So, there isn't a signal we can listen for when a widget is packed. Testcase: [2].

[1] http://developer.gnome.org/gtk3/stable/GtkContainer.html#GtkContainer-add
[2] http://dev.laptop.org/~manuq/shell-port/test_add.py

So I did a fix only for when the palette content is a PaletteMenuBox, and the PaletteMenuItems are added to it using the append_item() method. This requires API change. The two patches above shows this work for the Buddy palette.

Changed 11 years ago by erikos

Popdown the palette if an item in the content box gets activated (toolkit)

Changed 11 years ago by erikos

Adapt to PaletteMenu changes for popdown on item activation (shell)

Changed 11 years ago by manuq

Browse adapt patch.

comment:13 Changed 11 years ago by manuq

  • Keywords r+ added; r? removed

Simon general solution is working great. I added a patch to adapt Browse.

comment:14 Changed 11 years ago by manuq

Pushed Browse one as 343f6543 .

comment:15 Changed 11 years ago by erikos

  • Keywords olpc-testing-pending added
  • Resolution set to fixed
  • Status changed from assigned to closed

toolkit: f5fee8a1445f76d3b04497671a93179329fe1efb

shell: cb8b42ad069fbd067b4963c29993451b510b944d

browse: 343f65430a738bdf0b574be3fb47532f0a653fc7

comment:16 Changed 11 years ago by dsd

  • Cc dsd added
  • Keywords olpc-test-pending added; olpc-testing-pending removed

I'll assume that Browse-149 is proposed for 13.1.0 inclusion as a result of this work. (see http://wiki.laptop.org/go/13.1.0#Activity_inclusion_process for how to request this at this point)

comment:17 follow-up: Changed 11 years ago by dsd

Maybe not. Browse-49 doesn't appear to be released as an activity bundle yet.

comment:18 in reply to: ↑ 17 Changed 11 years ago by manuq

Replying to dsd:

Maybe not. Browse-49 doesn't appear to be released as an activity bundle yet.

Now it is, sorry about that, please include as per the reasonings above: sync with palettes change in toolkit, remove explicit popdown of palettes.

comment:19 Changed 11 years ago by greenfeld

  • Keywords olpc-test-passed added; olpc-test-pending removed

Browse 149 is in 13.1.0 os21 (os20 had 148) with Sugar 0.98.3.

In general palettes/menus seem to be closing properly.

comment:20 Changed 11 years ago by dnarvaez

  • Milestone 0.98 deleted

Milestone 0.98 deleted

Note: See TracTickets for help on using tickets.