2019-01-18 05:22:23 -08:00
|
|
|
class Elm.Fileselector extends Efl.Ui.Layout implements Elm.Interface.Fileselector,
|
elm_fileselector: move to focus compostition
Summary:
elm_fileselector was using efl_ui_widget_state_apply to call for internal chain update.
This internal chain update was relying on efl_ui_focus_object_manager_get, which
results in a wrong value at this time, since the value is still the old one and not the
current one. (This behaviour will be updated after the release). Focus composition
solves this issue by not relying on the properties of efl.ui.focus_object, but rather
take the values from the configuration in the state_apply call.
fix T6147
fix T7105
Reviewers: zmike, stefan_schmidt, segfaultxavi, devilhorns, herdsman
Reviewed By: zmike
Subscribers: herdsman, cedric, #committers
Tags: #efl
Maniphest Tasks: T7105, T6147
Differential Revision: https://phab.enlightenment.org/D6552
2018-07-12 06:33:29 -07:00
|
|
|
Efl.Access.Widget.Action, Efl.Ui.Focus.Composition,
|
2019-01-18 05:22:23 -08:00
|
|
|
Efl.Ui.Clickable, Efl.Ui.Selectable, Efl.Ui.Legacy
|
2014-03-30 00:15:55 -07:00
|
|
|
{
|
2016-11-21 00:17:36 -08:00
|
|
|
[[Elementary fileselector class]]
|
2016-05-12 09:06:04 -07:00
|
|
|
legacy_prefix: elm_fileselector;
|
2014-03-30 00:15:55 -07:00
|
|
|
eo_prefix: elm_obj_fileselector;
|
2016-05-17 09:14:47 -07:00
|
|
|
event_prefix: elm_fileselector;
|
2015-05-07 09:32:53 -07:00
|
|
|
methods {
|
|
|
|
@property buttons_ok_cancel {
|
2014-03-30 00:15:55 -07:00
|
|
|
set {
|
2015-07-02 06:31:07 -07:00
|
|
|
[[Enable/disable the "ok" and "cancel" buttons on a given file
|
|
|
|
selector widget
|
2014-03-30 00:15:55 -07:00
|
|
|
|
2015-07-02 06:31:07 -07:00
|
|
|
Note: A file selector without those buttons will never emit the
|
|
|
|
"done" smart event, and is only usable if one is just hooking
|
|
|
|
to the other two events.
|
2014-03-30 00:15:55 -07:00
|
|
|
|
2015-07-08 07:49:38 -07:00
|
|
|
See also @.buttons_ok_cancel.get.
|
2015-07-02 06:31:07 -07:00
|
|
|
]]
|
2014-03-30 00:15:55 -07:00
|
|
|
}
|
|
|
|
get {
|
2015-07-02 06:31:07 -07:00
|
|
|
[[Get whether the "ok" and "cancel" buttons on a given file
|
|
|
|
selector widget are being shown.
|
2014-03-30 00:15:55 -07:00
|
|
|
|
2015-07-08 07:49:38 -07:00
|
|
|
See also @.buttons_ok_cancel.set for more details.
|
2015-07-02 06:31:07 -07:00
|
|
|
]]
|
2014-03-30 00:15:55 -07:00
|
|
|
}
|
|
|
|
values {
|
2016-10-24 08:41:52 -07:00
|
|
|
visible: bool; [[$true to show buttons, $false to hide.]]
|
2014-03-30 00:15:55 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
implements {
|
2014-06-20 02:47:39 -07:00
|
|
|
class.constructor;
|
|
|
|
class.destructor;
|
2016-08-10 07:23:04 -07:00
|
|
|
Efl.Object.constructor;
|
2018-01-07 20:55:35 -08:00
|
|
|
Efl.Ui.Widget.widget_event;
|
|
|
|
Efl.Ui.Widget.theme_apply;
|
2016-12-27 10:15:41 -08:00
|
|
|
Elm.Interface.Fileselector.selected_models { get; }
|
2018-01-26 16:56:31 -08:00
|
|
|
Elm.Interface.Fileselector.selected_model { get; set; }
|
2016-05-12 03:37:57 -07:00
|
|
|
Elm.Interface.Fileselector.custom_filter_append;
|
2017-01-11 07:35:03 -08:00
|
|
|
Elm.Interface.Fileselector.expandable { get; set; }
|
|
|
|
Elm.Interface.Fileselector.thumbnail_size { get; set; }
|
2016-05-12 03:37:57 -07:00
|
|
|
Elm.Interface.Fileselector.mime_types_filter_append;
|
2017-01-11 07:35:03 -08:00
|
|
|
Elm.Interface.Fileselector.hidden_visible { get; set; }
|
2016-05-12 03:37:57 -07:00
|
|
|
Elm.Interface.Fileselector.filters_clear;
|
2017-01-11 07:35:03 -08:00
|
|
|
Elm.Interface.Fileselector.is_save { get; set; }
|
2018-02-14 18:14:52 -08:00
|
|
|
Efl.Ui.View.model { get; set; }
|
2017-01-11 07:35:03 -08:00
|
|
|
Elm.Interface.Fileselector.sort_method { get; set; }
|
|
|
|
Elm.Interface.Fileselector.multi_select { get; set; }
|
|
|
|
Elm.Interface.Fileselector.folder_only { get; set; }
|
|
|
|
Elm.Interface.Fileselector.mode { get; set; }
|
|
|
|
Elm.Interface.Fileselector.current_name { get; set; }
|
2017-11-15 18:31:26 -08:00
|
|
|
Efl.Access.Widget.Action.elm_actions { get; }
|
2018-05-03 16:34:17 -07:00
|
|
|
Efl.Part.part_get;
|
2014-03-30 00:15:55 -07:00
|
|
|
}
|
|
|
|
events {
|
efl: Add missing event types
Summary:
All events must have a type now, otherwise bindings don't know how to handle
the event_info field.
Most of the missing event types were actually "void" (no event_info present).
Some struct definitions had to be moved to eo instead of h files, so they
are available to bindings. Some have not, and are marked with FIXME.
Some namespaces have been fixed (like Efl_Event_Cb -> Efl.Event_Cb).
In general, there are hundreds of changed files, but mostly to add a type which
was not present before, so there's no harm done.
Also, A lot of FIXMEs have been added which should be, like, fixed.
For example, some events can send different types of event_info, which is
very inconvenient (and error prone).
Test Plan: make with c# bindings works, make check and make examples work too.
Reviewers: cedric, q66, lauromoura
Subscribers: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6169
2018-05-11 08:20:40 -07:00
|
|
|
done: string; [[Called when OK button was pressed]]
|
|
|
|
/* FIXME: For all three events below, event_info can either be a string or an Efl.Model */
|
|
|
|
activated: void; [[Called when the filesector was activated]]
|
|
|
|
selected,invalid: void; [[Called when fileselector was selected]]
|
|
|
|
directory,open: void; [[Called when a directory was opened]]
|
2014-03-30 00:15:55 -07:00
|
|
|
}
|
|
|
|
}
|