I suppose this could be fixed in at least a couple of ways:

 - implementing the escapePressed handler on the top-level Popover
element, instead of on its foreground child (I just did a quick test and
it seems that in this case, if overriden, both the original handler and
the override are called, not sure whether that’s intended or a bug in
QML, but in any case that would work for our use case)

 - adding a cancel() or escape() signal on the popover which would be
emitted when ESC is pressed, thus allowing embedders to do specific
processing, while keeping the default behaviour of closing the popover

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ubuntu-ui-toolkit in
Ubuntu.
https://bugs.launchpad.net/bugs/1546677

Title:
  Popovers doesn’t allow overriding onEscapePressed

Status in ubuntu-ui-toolkit package in Ubuntu:
  New

Bug description:
  With the fix for bug #1523828, popovers are automatically closed when
  ESC is pressed. This is a good default behaviour, however the
  implementation is unfortunate: because the escapePressed handler is
  defined on the foreground (a child item of the root popover), app
  developers don’t get a chance to override it.

  Here’s a concrete use case: in the browser, when bookmarking a page
  with Ctrl+D, a popover with bookmark options is shown. We want the
  Enter key to validate the options and save the bookmark, and the ESC
  key to remove the bookmark.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-ui-toolkit/+bug/1546677/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to