Commit Graph

54020 Commits

Author SHA1 Message Date
Daniel Hirt 6c76d799da Text: remove leftover printfs 2017-06-12 00:10:05 +03:00
Daniel Hirt 6f48fcc03b Elementary: bring back disabled tests 2017-06-12 00:10:05 +03:00
Daniel Hirt 98dad1a52b Canvas layout: port 'part_text' to Efl.Text.*
The following API is now supported with efl_part:

  - Efl.Text.text { set; get; }
  - Efl.Text.Cursor.cursor { get; }
  - Efl.Text.Cursor.cursor_paragraph_first;
  - Efl.Text.Cursor.cursor_paragraph_last;
  - Efl.Text.Cursor.cursor_position { set; get; }
  - Efl.Text.Cursor.cursor_coord_set;
  - Efl.Text.Cursor.cursor_line_char_first;
  - Efl.Text.Cursor.cursor_line_char_last;
  - Efl.Text.Cursor.cursor_char_next;
  - Efl.Text.Cursor.cursor_char_prev;
  - Efl.Text.Cursor.cursor_line_jump_by;
  - Efl.Text.Cursor.cursor_copy;
  - Efl.Text.Cursor.cursor_content { get; }
  - Efl.Text.Cursor.cursor_geometry { get; }
  - Efl.Text.Cursor.cursor_text_insert;

Many of the 'part_text' functionality was moved to legacy, too.
See the edje_object.eo to see which ones are still supported.
2017-06-12 00:10:05 +03:00
Daniel Hirt 869da955ec Text: enhance cursor_get to ask for a "get type" 2017-06-12 00:10:05 +03:00
Daniel Hirt 6e1b5fdd10 Canvas layout: port part_text to efl_part
You now use the following:

  efl_text_set(efl_part(edje_obj, "part"), "text");
  const char *text = efl_text_get(efl_part(edje_obj, "part"));

The former method of edje_object_part_text_set/get is now legacy.

Also, adjusted 'tests/emotion/emotion_test_main-eo.c' with
this change.
2017-06-12 00:10:04 +03:00
Daniel Hirt 4a1b42aee8 Text: add annotate interface 2017-06-12 00:10:04 +03:00
Daniel Hirt b3ec2d2060 Ui text: fix test style applying after cursor port 2017-06-12 00:09:58 +03:00
Daniel Hirt 573be7b71a Ui text: fix test inserting object 2017-06-12 00:09:53 +03:00
Daniel Hirt bdf64946a9 Ui text: fix text initialization
It uses elm_layout's, where it shouldn't (it's legacy).
Also, it's not needed to to that there.
2017-06-11 23:58:52 +03:00
Daniel Hirt 30f74a759d Text cursor: add interface and implement in Canvas.Text 2017-06-11 23:58:52 +03:00
Daniel Hirt 97eda67737 Ui text: fix leak of selection on destruction 2017-06-11 23:58:52 +03:00
Daniel Hirt c45e957079 Ui text: initialize potentially unset variables 2017-06-11 23:58:52 +03:00
Daniel Hirt f23d08c56c Ui text: free iterator once done 2017-06-11 23:58:52 +03:00
Daniel Hirt 303d2e79cc Ui text: fix leak in decorations 2017-06-11 23:58:52 +03:00
Daniel Hirt 49b838c448 Canvas text cursor: move to Efl.Canvas.Text namespace
Originally it was its own object.
There are some valid claims that there is no justification for it to
remain an object.
Furthermore, it's apparent that it added little benefit: changes of
each cursors, in practice, triggered a query for all objects of the
same textblock. There wasn't real advantage to have a finer resolution
of controlling the cursors with their own events.

This ports back a lot of code, and changes a lot of other code in the
higher-up widgets, such as Efl.Ui.Text and co.

The usage was replaces from:
  efl_canvas_text_cursor_char_next(cur_obj)
to
  efl_canvas_text_cursor_char_next(text_obj, cur_obj)
that is, it is an operations on the TEXT OBJECT, rather than on the
(now removed) cursor object.

So, one less efl object to worry about now.
Hopefully, the port went smooth.
2017-06-11 23:58:52 +03:00
Daniel Zaoui 716cc6be5b Eina Debug: include Evil for realpath support 2017-06-11 10:03:53 +03:00
Daniel Zaoui cbf0ffe24a Revert "efl_debugd: don't compile this on macOS"
This reverts commit e9f727044b.

This is not needed anymore as efl_debugd is now portable.
2017-06-11 09:44:57 +03:00
Daniel Zaoui 8250b06d91 Revert "efl_debugd: only compile this on Linux."
This reverts commit eafe0c74e1.

It is not needed anymore as the daemon is now portable.
2017-06-11 09:44:57 +03:00
Daniel Zaoui ae50dec3e5 Eina Debug: rewrite efl_debugd for portability
The previous version of the daemon was using functions specific to
Linux, such as epoll...

The daemon communication part has been rewritten to use Ecore
functionalities.

Sorry for the inconvenience guys
2017-06-11 09:44:57 +03:00
Daniel Zaoui 0e947166aa Eina Debug: fix a bug resulting in registering opcodes twice
The opcodes registration request is sent directly in case the connection
is already made. Otherwise, the request is waiting for the connection to
be made by the dedicated thread (not the main loop).
That's why the request can be sent by the two different threads at the
same time, leading to send it twice. It means a callback for an opcode
would be invoked twice everytime a request with this opcode is received.

This patch fixes it by checking if the request has already been sent.
2017-06-11 09:44:57 +03:00
Marcel Hollerbach afb0add345 elm_inwin: set the redirect manager on the correct object
otherwise the redirect is never set on the window which does not work
2017-06-10 18:03:08 +02:00
Marcel Hollerbach b7c434f6ef efl_ui_focus_manager: enhance documentation of the semantics of that
function
2017-06-10 18:03:08 +02:00
Marcel Hollerbach c5da8f65bf elm_naviframe: this is not handling focus
the widgets that are used to compose the naviframe are handling it, not
the naviframe itself.
2017-06-10 18:03:08 +02:00
Marcel Hollerbach 7a7a343199 efl_ui_focus_manager: use focus geometry for the shortest distance 2017-06-10 18:03:08 +02:00
Marcel Hollerbach a6c5ce4b32 elm_toolbar: do not focus a separator 2017-06-10 18:03:08 +02:00
Andy Williams 28311d4327 elm_code: Fix possible crash when deleting a selection
If there was a multiline selection that ended at the end of a line this could crash
@fix
2017-06-09 23:40:40 -07:00
Mike Blumenkrantz 84c79f6c49 Revert "Revert "Edje calc: Fix textblock size calculation logic""
This reverts commit 0392cd3c48.

oops this was supposed to just be local
2017-06-09 20:20:47 -04:00
Mike Blumenkrantz 2ba847f4c2 theme: add signal to e border theme to set NOGRAB on titlebar part
for compatibility reasons this can only be changed in a signal callback
in the default theme.

all themes should now use NOGRAB for parts which can be used to trigger
window_move signal bindings

ref T5552
2017-06-09 20:12:55 -04:00
Mike Blumenkrantz 4c431c8b9c edje: add set_pointer_mode() to embryo functions
this should probably be a description-level property
2017-06-09 20:06:48 -04:00
Mike Blumenkrantz 7fafbdee28 evas: add new event_grabber smart-ish object
adding an "event rect" is a common use case for rectangles, but I needed
a smarter event rect so I sent one off to school and it came back like this.

an event_grabber is a smart object which functions like a normal event rect
which has color(0,0,0,0), but with an important difference: it can have smart
members. event propagation works differently for an event_grabber:

normal:
	event -> layer -> smart(obj1,obj2,obj3) ->(?) other objects
in this case, obj1,obj2,obj3 are all "inside" the smart object and their stacking
will always be considered as being inside the smart object. rendering is also
tied to the smart object in this case, as is clipping.
an event which reaches a smart object will be sent to the objects inside,
and then may continue through the smart object if there are no objects which
block repeating.

event_grabber:
	event -> layer -> event_grabber -> obj1,obj2,obj3 -> STOP
in this case, obj1,obj2,obj3 are unmodified after being added to the event_grabber
and can be stacked, rendered, and clipped completely independently of the
event_grabber.
the event_grabber is considered an "event_parent" for this case. member objects
are not "inside" the event_grabber, and they are unable to receive events on
their own. instead, the event_grabber, which must be stacked above all its
members, receives events and propagates them top->down through its member objects.
if none of the member objects block the repeat of an event then the event will
still be blocked from further propagation past the event_grabber.

object lifetimes are independent of the event_grabber; deleting the event_grabber
has no effect on its members.

@feature
2017-06-09 20:06:19 -04:00
Mike Blumenkrantz dd42f8f291 evas: remove null check, passthrough list in _evas_event_object_list_in_get()
_evas_event_object_list_raw_in_get() already has a null check and uses the
last list member

no functional changes
2017-06-09 19:14:59 -04:00
Mike Blumenkrantz 9b9313882c evas: split _evas_event_object_list_raw_in_get() into two functions
slightly outdent code and prepare for pending features

no functional changes
2017-06-09 19:14:59 -04:00
Mike Blumenkrantz f1bf1f3c77 evas: add some functions for determining if pointer coords are inside an object
@feature
2017-06-09 19:14:59 -04:00
Mike Blumenkrantz 0392cd3c48 Revert "Edje calc: Fix textblock size calculation logic"
This reverts commit a6fff5bc1e.
2017-06-09 19:14:59 -04:00
Mike Blumenkrantz 9572e9189d efl_input_device: add function for determining if a device has pointer caps
this is useful when attempting to manage devices

@feature
2017-06-09 19:14:59 -04:00
Mike Blumenkrantz 839e45e49b evas: handle focus setting with async input init
@fix
2017-06-09 19:14:59 -04:00
Mike Blumenkrantz f2edb935a4 ecore-ipc: don't return dead clients in ecore_ipc_server_clients_get
@fix

fix T5383
2017-06-09 19:14:59 -04:00
Mike Blumenkrantz a777fcb679 ecore-evas: make focus-setting work with async device init
@fix
2017-06-09 19:14:58 -04:00
Mike Blumenkrantz 7e3c108382 ecore-evas: safety -> normal null check in _ecore_evas_focus_device_set()
when unsetting focus, if the specified seat doesn't exist then there is no
focus to unset
2017-06-09 19:14:58 -04:00
Mike Blumenkrantz 9828981585 ecore-evas: safety -> normal null check in ecore_evas_cursor_device_unset
if there is already no cursor then this is not an error
2017-06-09 19:14:58 -04:00
Mike Blumenkrantz 5b39bb5a3d efl: add EFL_VERSION_1_20
indicate that features from this version can be used
2017-06-09 19:14:58 -04:00
Stephen 'Okra' Houston f7d5b0dbe8 Luncher theme: Allow preview size to be configurable. 2017-06-09 14:20:56 -05:00
Chris Michael 3ec0233a28 static_libs/libdrm: Update exynos header files
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 14:53:16 -04:00
Bryce Harrington 6a5695b465 elput: Document how keyboard events are processed
Summary:
Add some light function docs and code comments to explain the steps
followed in processing hardware events for keyboard hits into actual
printable characters.  While this is internal functionality, the process
is important and involves a couple external dependencies (libinput and
libxkbcommon) so documenting this flow may help future developers avoid
introducing bugs.

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>

Reviewers: zmike

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4953
2017-06-09 14:35:51 -04:00
Chris Michael ca66a9fa0d static_libs/libdrm: Update static libdrm headers
This patch updates our static_libs/libdrm header files to version
2.4.81-1 (from arch).

NB: derek, I don't have the exynos headers here. Please update them
when you can.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 14:23:57 -04:00
Chris Michael 11fd8259ba ecore-drm2: Remove check for drmModeAtomicCommit
This check for drmModeAtomicCommit is no longer necessary as we have
moved to using static_libs/libdrm during compile time.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 14:20:00 -04:00
Chris Michael bbd18510d6 ecore-drm2: Remove #ifdef HAVE_ATOMIC_DRM
As we now use static_libs/libdrm for compiling ecore-drm2, we can
remove the atomic #ifdefs as we can run-time check this now.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 14:20:05 -04:00
Chris Michael de12621c90 ecore-drm2: Use static_libs/libdrm to build ecore-drm2 library
This patch set allows us to use static_libs/libdrm files in order to
build ecore-drm2. This also allows us to remove a lot of the copied
drm header code from our source files and is easier to keep up-to-date.

Merge branch 'devs/devilhorns/drm_static'
2017-06-09 13:52:58 -04:00
Chris Michael a55eafd960 ecore-drm2: Fix drm_mode variables to work with static lib
As we now use static_libs/libdrm to build ecore_drm2, we need to
fix how our drm_mode variables are declared so we can use them.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 13:50:22 -04:00
Chris Michael 6e37d13a1c ecore-drm2: Use static libdrm to build ecore-drm2
As we will now use static_libs/libdrm to build ecore_drm2, we no
longer need to include the copied code from the libdrm headers so
remove all of the copied code from our source files.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-09 13:48:55 -04:00