Page MenuHomePhabricator

mode ELM_OBJECT_SELECT_MODE_ALWAYS doesn't work in gengrid
Closed, WontfixPublic

Description

When ELM_OBJECT_SELECT_MODE_ALWAYS is turned for gengrid, selection callbacks aren't calling, when item that has been already set, to set again.

Please see example:

jpeg reassigned this task from jpeg to SanghyeonLee.Jul 13 2016, 1:31 AM
jpeg added subscribers: SanghyeonLee, jpeg.

At first I started fixing the API call to trigger the callbacks, but now I'm not sure...

Some combinations of options don't make sense. Eg. multi select + always select. If a click always selects, then you have no way of unselecting.
Another thing: the documentation fails to explain two things:

  1. Does ELM_OBJECT_SELECT_MODE_ALWAYS also apply to unselect callbacks?
  2. Does ELM_OBJECT_SELECT_MODE_ALWAYS also apply to API [un]select calls? The doc explicitly mentions clicks.

Considering point 2. in particular, it's hard to say whether your sample file shows a bug, or if it's just expected behavior.

@SanghyeonLee could you please have a look? Maybe we can close this with wontfix.

this test (example) passed on tizen 2.4 efl

jpeg added a comment.Jul 13 2016, 1:45 AM

Did this test ever pass in upstream EFL? If not, then it means Tizen has introduced a different behaviour, without upstreaming it, and that doesn't necessarily correspond to the doc.
If this used to work in EFL, then a patch is very easy to do*.

* but there is confusion in the code between sd->select_mode and it->select_mode

yeah. It looks like in tizen every selection first unselect (if selected) and then select again

Why confusion? Either some item is always or each item (if gengrid mode is on) calls always selection cb if clicked

SanghyeonLee closed this task as Wontfix.Jul 13 2016, 2:40 AM

Hello,

In elementary test,
we already have test sample for this case.
you can test this in elementary_test gengrid 1 sample with enable select always and disable multi select. it works fine. but your suggestion is, when you call selected_set API multiple times, you guess it should be called multiple times when the mode is always, right?

At least,
There are no backward-competability issue on upstream EFL from Tizen 2.4.
Tizen have their own policy and UX even it came from this upstream EFL. espeacially about select mode, they have difference behavior in mobile target(believe me, I'm the developer)
Furthermore, I check the code in tizen 2.4, it still return directly before calling select callback if current item is selected item in selected_set API. so code is same about select action.

For now,
we won't fix the gengrid code because it may occurs behavior changes.
but, your suggestion looks considerable, so will discuss about this matter with other upstream people later.

Thank you.