Commit Graph

187 Commits

Author SHA1 Message Date
Vincent Torri 8042bc82d3 cnp: add Copy & Paste support for Windows
It needs the clipboard management in Ecore_Win32

@feature

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-03 11:36:50 -08:00
Jean Guyomarc'h 469f90bc67 priv: centralized and safe inclusion of Ecore_Cocoa.h
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-03 11:06:16 -08:00
Jean Guyomarc'h 1ef5874225 cnp: cocoa support for copy and paste (text only).
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-03 11:04:42 -08:00
Chris Michael bc6184479f elementary: Remove misuse of EINA_UNUSED
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 10:22:37 -05:00
Chris Michael 7519a39736 elementary: Port elementary copy/paste code to use Ecore_Wl2 library
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 10:22:37 -05:00
Daniel Hirt a77cee43d3 Entry: add markup cnp handlers
In Elm_Cnp, a markup data preparer was missing, which resulted
in _x11_notify_handler_targets not requesting
"application/x-elementary-markup" (requested "UTF8_STRING" instead) when
trying to paste markup text from one entry to another (or itself).

Also, there was a missing handling in the selection data callback for
ELM_SEL_FORMAT_MARKUP data format.

This fixes issues like not being able to paste "item" formats to the
entry widget.

@fix
2015-11-30 16:41:50 +02:00
Daniel Juyung Seo 24797adcf5 elm: Fix typos fun! 2015-10-29 02:08:16 +09:00
Shilpa Singh 894faaadac elm_cnp: DnD/X11: correct drag window position in rotation
Summary:
For various angles 90, 180, 270,  the calculation of dnd window position
is not proper causing window to be placed wrongly while dragging.
Signed-Off By: Kumar Navneet <k.navneet@samsung.com>

@fix

Test Plan:
Longpress and drag and drop in entry by placing device at various angles
90, 180 and 270.

Reviewers: woohyun, cedric, thiepha

Reviewed By: thiepha

Subscribers: navnbeet

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-21 14:39:10 -07:00
Thiep Ha ea7caad9f4 dnd/x11: correct coordinates in pos callback
Summary:
The x, y coordinates in pos callback should be relative to
the top-left of the object.
This patch corrects the x,y coordinates and adds poscb to elementary test
to clearly show the bug case.

Test:
      Run Genlist Dnd Dflt Anim with the change in this patch.
      Drag an item to other genlist and see the printed out item, x, y.

@fix

Reviewers: JackDanielZ

Subscribers: seoz

Differential Revision: https://phab.enlightenment.org/D3063
2015-09-18 11:30:23 +03:00
Mike Blumenkrantz 5c4ab5d971 cnp: redo wayland drop to nul terminate for text_uri drops and free on every drop
@fix
2015-08-13 15:46:14 -04:00
Mike Blumenkrantz 8478b6b84a cnp: only nul terminate wayland drops for text type drops
also move data allocation into block where dropping is guaranteed

@fix
2015-08-13 15:27:14 -04:00
Mike Blumenkrantz a598a75444 cnp: end wayland drag on allocation failure
@fix
2015-08-13 15:18:55 -04:00
Mike Blumenkrantz b46ef28fda cnp: pass wayland drop event size to handler, do not nul terminate drop data
performing strlen() on potential non-string data is not recommended and can
even lead to crashes. nul terminating non-string data is pointless and enables
bad application behavior such as calling strlen() on potentially non-string data

@fix
2015-08-13 15:10:52 -04:00
Mike Blumenkrantz 3096e62408 cnp: fix wayland drop format selection
previously the drop format was chosen in a manner unrelated to what
the offered format was, leading to applications receiving either the correct
data with the wrong format, the wrong data with the wrong format, or
the wrong data with the correct format. by comparing the drop handler
types with the offered type and ensuring that there is a match, the
correctness of the format that the application receives is more reliable

@fix
2015-08-13 14:53:52 -04:00
Mike Blumenkrantz 2ace38aba0 cnp: initialize Elm_Selection_Data.action for wayland drops
wayland drops are probably always copy, though there's no real functional
equivalent for the x11 meaning of this

@fix
2015-08-13 14:53:52 -04:00
Mike Blumenkrantz d343487f94 cnp: init wayland dnd handlers upon creating the first drop target
previously this would only init when the app was initiating the drag,
which would result in an app being unable to receive drags

@fix
2015-08-13 14:53:52 -04:00
Amitesh Singh 7bbfe4b1b3 cnp: use ELM_SAFE_FREE 2015-07-31 11:12:53 +05:30
Daniel Kolesa ba983afef8 cnp, entry: misc warning fixes 2015-07-29 15:26:14 +01:00
Daniel Zaoui 59730595e3 Eo Events: port more Evas Smart callbacks to Eo
Some Evas Smart callbacks invocations were still inside code
and should have been ported.
2015-07-07 11:24:12 +03:00
Thiep Ha e6542ec3c2 cnp: change drag win type to ELM_WIN_DND
Summary:
Drag win should use ELM_WIN_DND.
The drag win in _drag_start function was added when ELM_WIN_DND
was not supported. Now we have ELM_WIN_DND, drag win needs to
change to ELM_WIN_DND.

@fix

Reviewers: JackDanielZ, cedric, Hermet

Subscribers: seoz

Differential Revision: https://phab.enlightenment.org/D2784
2015-07-06 22:48:38 +03:00
Thiep Ha f5cf77387c cnp: remove redundant code
Summary: Remove redundant NULL assign code

Reviewers: cedric, Hermet, JackDanielZ

Reviewed By: JackDanielZ

Subscribers: seoz

Differential Revision: https://phab.enlightenment.org/D2782
2015-07-02 19:58:15 +09:00
Tom Hacohen c8a5ec36ff Wayland cnp: Fix const qualifier discarding following eolian const fixes. 2015-06-26 15:44:46 +01:00
Daniel Juyung Seo 8908a3df23 elm: Add missing const for getters. 2015-06-26 10:30:21 +09:00
Thiep Ha 08509f56a2 cnp: remove loss callback when object is deleted
Summary:
SEG_FAULT happens when the object which has selection is deleted,
and new selection is done at another object.
Reason: loss_cb is not removed when the object which has selection is deleted.
When new selection is set for new object, the loss_cb is called for deleted
object. As result, SEG_FAULT happens.

Test Plan:
Run elementary test, open Entry, do selection,
close Entry window, open Entry one more time, do selection.

Reviewers: JackDanielZ

Differential Revision: https://phab.enlightenment.org/D2763
2015-06-25 08:54:36 +03:00
Daniel Zaoui 185e88db91 CnP: improve loss callback
- Reset loss cb after invocation as it is no more needed
- When selection is set, previous owner loss cb is invoked only
if the new owner and the previous one are different.
2015-06-24 08:26:38 +03:00
Daniel Zaoui 5eeb1f5622 DnD: remove text/uri handling
This type is not a standard type and can be handled as a text/uri-list
of one uri.

@fix
2015-06-23 16:05:47 +03:00
Daniel Zaoui 422e28129e DnD: remove from elm_cnp code specific to elm_entry
The tag insertion has to be done only from elm_entry callback. elm_cnp
is not supposed to know what will be done with the data.
2015-06-23 15:57:02 +03:00
Daniel Zaoui 1776d9b647 DnD: fix usage of TARGETS
- TARGETS notifier is specific to CnP and should not be called for DnD
- On DnD (when drag starts) and on CnP, it doesn't make sense that the TARGETS
type are sent to the potential target. Only basic types should be sent.
2015-06-21 10:14:58 +03:00
Youngbok Shin 6f33f4f1d1 cnp: Add safety check for NULL pointer from malloc().
Summary:
It could make crash when malloc is failed.
@fix

Reviewers: raster, woohyun, Hermet, JackDanielZ, thiepha

Subscribers: JackDanielZ

Differential Revision: https://phab.enlightenment.org/D2671
2015-06-15 08:08:34 +03:00
Youngbok Shin d04e6c7d6a cnp: Fix memory leak issue.
Summary: Call efreet_uri_free() API to free Efreet_Uri structure.

Test Plan: None.

Reviewers: raster, cedric, woohyun, Hermet, thiepha, JackDanielZ

Subscribers: JackDanielZ

Differential Revision: https://phab.enlightenment.org/D2655
2015-06-15 08:05:02 +03:00
Daniel Zaoui fcbb42d19b DnD: fix memory leak 2015-06-14 11:23:52 +03:00
Daniel Zaoui 9781aef4bb DnD/X11: Fix invalid access to memory
It seems X doesn't send the data with the termination.
2015-06-14 11:23:52 +03:00
Daniel Zaoui f66224b5f3 DnD/X11: rename notifiers
As the notify functions don't notify anymore, they have to be renamed to
reflect their real job, i.e data preparers before calling user
functions.
2015-06-14 11:23:47 +03:00
Daniel Zaoui b779ae6780 DnD/X11: refactor the notifiers
Each data notifier was preparing data and then invoking the user callbacks
for DnD or selection protocols.
Most of the notifiers code was handling the user callbacks invocation
and was the same for all of them.

This patch simplifies the notifiers by moving the user callbacks
invocation into a common place for all the types, i.e into the notify
dispatcher.
The notifiers prototype has been changed to suit the code modifications.
2015-06-14 11:21:33 +03:00
Daniel Zaoui 271a37f6eb DnD/X11: remove unused function 2015-06-13 12:29:35 +03:00
Thiep Ha 551074c5f2 Cnp/X11: correct object parameter in datacb
The object parameter in datacb must be the selection request object,
not the selection owner object.
This patch corrects that.

Test case: open two windows with entry, copy text from one entry in
first window, paste to entry in other window.

@fix
2015-06-12 11:53:55 +03:00
Thiep Ha 99ab88c1c7 Cnp/X11: move entry-only code in elm_cnp to entry
There is code in elm_cnp.c which is used to paste data to entry widget only.
This can cause error if widget is not entry.
This patch removes that code in elm_cnp.c and adds datacb to entry
to insert content to entry.

@fix
2015-06-12 11:53:34 +03:00
Thiep Ha 1ee5b72ceb Dnd/X11: add dnd support for image, uri types
There is no dnd callbacks for image, uri types.
This patch adds dnd callbacks for those types.

@fix
2015-06-12 11:45:00 +03:00
Youngbok Shin 61fe7e5f39 cnp: Add safety check for NULL pointer from strdup().
Summary:
It could make crash when strdup() is failed.
CID - 329115
@fix

Reviewers: raster, thiepha, woohyun, Hermet

Differential Revision: https://phab.enlightenment.org/D2673
2015-06-12 11:02:05 +03:00
Youngbok Shin 9fba74ea72 cnp: Add safety check for NULL pointer from calloc() for anim_icon.
Summary:
It could be failed to allocate memory for Anim_Icon.
CID - 337351
@fix

Reviewers: raster, thiepha, woohyun, Hermet

Differential Revision: https://phab.enlightenment.org/D2672
2015-06-12 11:01:55 +03:00
Youngbok Shin e227bad7fe cnp: Add safety check for NULL pointer from _elm_util_text_to_mkup().
Summary:
_elm_util_text_to_mkup() func could return NULL when malloc is failed internally.
CID - 398441
@fix

Reviewers: raster, thiepha, woohyun, Hermet

Differential Revision: https://phab.enlightenment.org/D2668
2015-06-12 10:56:22 +03:00
Tom Hacohen 9a0d2d172b Adjust according to Eo changes. 2015-05-28 17:48:02 +01:00
Cedric BAIL df4c3bbb7d evas: let's not use eo_do for potential Efl interface call. 2015-04-03 16:04:58 +02:00
Daniel Zaoui 87aa8cdb54 DnD/Wl: extend types support to all the atoms.
uri-list type was always sent as source data type.
2015-03-16 09:42:03 +02:00
Daniel Zaoui c0bd72eaa4 DnD/Wl: fix drop sequence when drop is done on a bad target.
The problem occurs when no drop target below the mouse can receive the
data type provided and the mouse button is released. The mouse pointer
stays grabbed and this leads to issues for the next drags.
To solve this, on a bad drop, the destination window has to request
from the source window the end of the dnd.
2015-03-16 09:42:02 +02:00
Daniel Zaoui 29ddeff501 DnD/Wl: add a better support to data types.
The types management mechanisms for X11 and Wayland use the same
infrastructures.
2015-03-16 09:42:02 +02:00
Daniel Zaoui cc0368334d DnD: Arrange code for better usability
Specific types need to be declared before other, as well as functions
prototypes.
2015-03-16 09:42:02 +02:00
Daniel Zaoui 1f86e80f0a DnD/X11: generalize function
This is needed for the types management in Wayland.
2015-03-16 09:42:02 +02:00
Daniel Zaoui 1191f41238 DnD/X11: generalize atoms descriptions
This step is needed to simplify types management for Wayland by using
the same data structures.
2015-03-16 09:42:02 +02:00
Daniel Juyung Seo f5d144e421 elm: Use eo_isa() to check object types instead of manual string comparison. 2015-03-10 22:52:29 +09:00