Commit Graph

812 Commits

Author SHA1 Message Date
Carsten Haitzler 20130aec91 efm - dont add null icons to list ... fixes segv
as per title. dont store null icons in the list - not intended to be
that way.

@fix
2018-04-11 14:38:55 +09:00
Mike Blumenkrantz 99db9e2557 more E_BITFIELD conversions 2017-11-08 09:22:24 -05:00
Mike Blumenkrantz c31cb51499 replace <br> with <ps/> for all text 2017-08-21 10:16:35 -04:00
Carsten Haitzler 03aeb1d463 fix fallthrough warnings 2017-08-04 12:35:27 +09:00
Mike Blumenkrantz fbca4fa5e4 check efm path existence before using it during dnd selections
CID 1374484
2017-05-12 12:08:37 -04:00
Mike Blumenkrantz 53d0f98c50 set pass events on efm icons when deleting files
ensure that if a delete op is executing the icon cannot be clicked

probably fix T5340
2017-04-07 16:08:38 -04:00
Carsten Haitzler 3e95380edb efm - fix warnings for progress time display
the code is right - data is aligned, but gcc doesn't know this, so
silence it with void * cast
2017-02-12 16:25:35 +09:00
Derek Foreman 4cf555f36e Replace all timer_reset with timer_loop_reset
Another sed bomb - didn't occur to me first time around to
check for this.  Cleans up more clock_gettime calls.
2017-02-06 15:59:25 -06:00
Derek Foreman 73aecd73ab Replace all timer_add with timer_loop_add
So yeah, I've literally used sed to replace every occurrence of
ecore_time_add() with ecore_timer_loop_add() because I'm reasonably
confident that no part of E has a legitimate need for timer based on the
exact current time.

It would be really nice if I'm not wrong. :)

The reason for this is the incredible spew of clock_gettime() calls I'm
seeing on an ARM system (that should have a vdso for gettime, but...)
This can amount to thousands of system calls per second.

 #YOLO
2017-02-03 15:52:28 -06:00
Carsten Haitzler 3779086a63 e icon - use new skip header async preload to make icon loads async
now they can be trule async hopefully stopping things like application
menu from stalling while loading icons header... which is really nasty
with svg's. this actually makes icons async by default which is really
EXACTLY what you want. this also prepares for later making edje loads
async.

@feature
2017-01-02 09:51:57 +09:00
Carsten Haitzler 9ca5ea5817 efm - fix ifs to be ifdef as they should be 2016-12-28 19:55:24 +09:00
Mike Blumenkrantz 573035e262 focus confirmation option in efm delete dialog
fix T4797
2016-11-11 09:58:58 -05:00
Stefan Schmidt 455935466f e_fm: remove unused variable 2016-10-31 11:36:53 +01:00
Stefan Schmidt 7bb858d2a3 e_fm: fix last commit to compile again with clang
Commit fd8d41a2a6 introduced a void return in a
non void function. On gcc this only produced a warnigns but it was a hard
error on clang and should be fixed.

00:25:24.906 src/bin/e_fm.c:1523:15: error: non-void function 'e_fm2_icon_file_get' should return a
value [-Wreturn-type]
00:25:24.950    if (!file) return;
2016-10-31 11:03:44 +01:00
Carsten Haitzler fd8d41a2a6 e fm - fix popup to not crash by referring to possibly deleted data
fm icon info is transient because fm icons are transient. files may
get deleted, added or removed on the fly. keeping icon info around for
things like the popup is asking for tyrouble and does create  trouble.

so look it up each time based on filename string. safe!

this fixes T4716 and fixes T4798 (they are the same bug basically).
2016-10-31 18:23:08 +09:00
Chidambar Zinnoury 9849855e18 e fm: Don’t check every other line whether the location is writable when creating menu. 2016-07-23 12:51:03 +02:00
Chidambar Zinnoury 1e78015385 e fm: Add a separator only if there is something before.
Currently, the context menu will show a separator before the background and overlay items even if there is nothing before, such as on the favourites pane.

 @fix
2016-07-23 12:27:17 +02:00
Chris Michael c21bced4f8 change 'if' clause to make gcc-6 happy
Gcc 6 was spitting a nasty little compiler warning here:

src/bin/e_fm.c: In function ‘e_fm2_icon_geometry_get’:
src/bin/e_fm.c:2354:4: warning: this ‘if’ clause does not guard...
[-Wmisleading-indentation]
if (x) *x = 0; if (y) *y = 0; if (w) *w = 0; if (h) *h = 0;
^~
src/bin/e_fm.c:2354:19: note: ...this statement, but the
latter is misleadingly indented as if it is guarded by the ‘if’
if (x) *x = 0; if (y) *y = 0; if (w) *w = 0; if (h) *h = 0;

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-24 15:48:18 -04:00
Mike Blumenkrantz 89deb898ad change efm icon entry to only toggle focus in x11 compositors (runtime) 2016-05-11 13:32:52 -04:00
Mike Blumenkrantz c2e2769c3a null efm icon eio handle in error callback
ref T2829
2015-11-11 12:25:56 -05:00
Mike Blumenkrantz 76276a6c7c adjust efm multi-icon drag positioning by the current pan coords
fixes positioning when dragging multiple icons after scrolling
2015-11-05 15:31:16 -05:00
Mike Blumenkrantz f343a5403d account for window position in efm window drag initial positioning
fix T2819
2015-11-05 15:31:16 -05:00
Chidambar Zinnoury 2a3742a52a e fm: Use correct string length when copying path.
Sometimes, trying to go to the parent directory wouldn’t work and end up showing some garbage. Unfortunately, the code ended up not NULL-ending the path, which made searching for the path separator buggy.
2015-10-04 18:52:03 +02:00
Carsten Haitzler d0de6eb4fa e - efm fix. fix eio error handler that is called after eio cancel
so you have to have an error cb - so make it empty as even after a
canel, it is called, and thus accesses an invalid icon we've freed.
2015-09-28 16:49:53 +09:00
Carsten Haitzler f468361817 efm - handle cancel of async eio if icon is freed and eio still active
@fix
2015-09-28 16:29:12 +09:00
Carsten Haitzler d948225714 e - fm - flush all evas caches to get rid of open file handles b4 umount
this should fix open file handles on unmount by flushing caches first.
not great, but works. long-term have evas not keep file handles open
for 0 refcount cached items.
2015-09-22 13:17:10 +09:00
Mike Blumenkrantz 442d63d8d6 track button mask for all drags, only end drag when mask has depopulated
previously, beginning a drag with the left button, then pressing and
releasing another button would result in the drag terminating without
the original button being released
2015-08-12 15:39:42 -04:00
Yomi 0dc33a5aeb Fix misspellings in E's files.
Summary: Fix misspellings and spaces in E's files.

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2676
2015-06-16 16:10:21 -04:00
Daniel Kolesa 82116f63ab remove str(n)dupa usages
str(n)dupa are GNU extensions that duplicate a string, using an alloca'd
buffer. This patch removes their definitions from e.h (which should only
contain E's own API, without fallback definitions for libc functions)
which were wrong anyway (they failed in cases where str(n)dupa was an
actual function, not a macro).

Instead, we replace them depending on context with alloca+memcpy+strlen
or a static buffer (used in contexts where we are sure that the buffer
will contain the string entirely)

@fix
2015-05-11 16:45:30 +01:00
Chris Michael 0a94e8ba71 enlightenment: Make E build again with EFL from git
sed -i 's/EAPI/E_API/g'

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 15:13:10 -04:00
Mike Blumenkrantz 038df92cdd only apply fwin focus to main efm object if no icon is editing 2015-04-30 16:06:09 -04:00
Mike Blumenkrantz 9976e1610a add efm function for getting an editing icon 2015-04-30 16:05:55 -04:00
Mike Blumenkrantz 4dee742079 don't destroy efm icon entry on client focus-in if icon's client is being focused 2015-04-30 16:05:21 -04:00
Mike Blumenkrantz 5ae00e6525 redo drop handlers to take an E_Object and Evas_Object
temp change to fix crashing when closing fwins with ctrl+w
2015-04-27 15:39:43 -04:00
Mike Blumenkrantz b632afa546 more accurately determine whether a mouse grab is active in some parts of e 2015-04-27 14:32:19 -04:00
Mike Blumenkrantz 1d6749e210 only allow efm key actions if key grab does not exist 2015-04-27 14:26:33 -04:00
Mike Blumenkrantz 58447e9508 completely remove E_Manager
the final step in flattening all the canvas/screen apis
2015-03-19 16:53:32 -04:00
Mike Blumenkrantz 471dcb24cb __UNUSED__ -> EINA_UNUSED
this has been bugging me forever. __UNUSED__ is no longer a valid macro here.
2015-03-18 18:09:09 -04:00
Mike Blumenkrantz 2454621bcd remove E_Comp from e_fm_prop_file() 2015-03-18 16:17:11 -04:00
Mike Blumenkrantz 9e5e2767c7 remove E_Comp from e_desktop*edit apis 2015-03-18 11:33:01 -04:00
Mike Blumenkrantz 34d906fa42 e_zone functions no longer require E_Comp param 2015-03-13 17:28:49 -04:00
Mike Blumenkrantz 1736d1ecb9 e_client functions no longer require E_Comp param 2015-03-13 16:53:19 -04:00
Mike Blumenkrantz b63e490a33 remove e_util_comp_current_get() usage 2015-03-13 16:28:08 -04:00
Mike Blumenkrantz f130aeafce remove e_comp_evas_find() usage 2015-03-13 16:23:37 -04:00
Mike Blumenkrantz bacf638d73 remove E_Drag->comp and E_Comp param from e_drag_new() 2015-03-13 16:21:15 -04:00
Carsten Haitzler c28e58284a efm - make dir listing far faster - no file magic content and dont sync
this speed sup dir listing in efm drastically. first the e fm back end
uses an io thread that just spools through everything fast and sends
it over the mainloop to then send by ipc to e.

and on the e side we no longer use the heavy file internal magic using
api calls that wander all over a file for magic numbers - this is
insanely slow and brings listing to a crawl.
2015-02-24 18:36:31 +09:00
Mike Blumenkrantz c978a045e6 e_entry -> elm_entry conversion
another dice roll in the board game of enlightenment development. next, I will attempt to roll doubles to get out of jail.

 #teamborker

fix T1906
2015-01-11 12:20:46 -05:00
Mike Blumenkrantz 207a125904 simplify comp usage in e_fm 2015-01-11 12:20:46 -05:00
Mike Blumenkrantz 6be71a64f9 fix efm dnd crash
fix T1880
2014-11-29 12:22:25 -05:00
Mike Blumenkrantz 99589eb5af remove E_Win+e_canvas, convert all internal wins to use elm_win
known issues:

* keybindings for efm windows (eg. ctrl+w) are broken until the rest of the conversion is completed
2014-11-20 15:26:21 -05:00