HomePhabricator

elm_fileselector: support expandable items

Authored by Marcel Hollerbach <mail@marcel-hollerbach.de> on Apr 29 2020, 8:47 AM.

Description

elm_fileselector: support expandable items

Summary:
the fileselector can store exactly 1 model and monitor that for changes,
which works normally just well. However, when we expand a items, another
model comes into play, which is not monitored, and no additional
reference is taken. Which means, _process_last will simply delete it,
and elements that did not come into play at the _populate call are never
displayed.

With this commit, we check that we do not have a parent item, and
explictly wait for the model to publish all its items, before we call
_process_last.

Additionally, that showed that the tracking of the list/grid item is
ultimatly buggy, as there is no assertion that the parent model is
really the parent directoy. Hence we need to hand pass the parent item
here, as a fallback option to set the correct parent item.

fixes T8689

Reviewers: zmike

Reviewed By: zmike

Subscribers: zmike, cedric, reviewers, committers

Tags: efl

Maniphest Tasks: T8689

Differential Revision: https://phab.enlightenment.org/D11765