Ephoto: Only update thumbs on monitor call when the thumb is in the current directory.

This commit is contained in:
Stephen Houston 2016-01-19 15:10:37 -06:00
parent ca46030aa4
commit ff28d74253
1 changed files with 30 additions and 0 deletions

View File

@ -462,6 +462,16 @@ _monitor_created(void *data, int type EINA_UNUSED, void *event)
{
Ephoto *ephoto = data;
Eio_Monitor_Event *ev = event;
char file[PATH_MAX], dir[PATH_MAX], p[PATH_MAX];
snprintf(file, PATH_MAX, "%s", ev->filename);
snprintf(p, PATH_MAX, "%s", ephoto->config->directory);
snprintf(dir, PATH_MAX, "%s", dirname(file));
if (strlen(p) != strlen(dir))
return ECORE_CALLBACK_PASS_ON;
if (strcmp(p, dir))
return ECORE_CALLBACK_PASS_ON;
if (!strncmp("image/", efreet_mime_type_get(ev->filename), 6))
{
@ -515,6 +525,16 @@ _monitor_deleted(void *data, int type EINA_UNUSED, void *event)
{
Ephoto *ephoto = data;
Eio_Monitor_Event *ev = event;
char file[PATH_MAX], dir[PATH_MAX], p[PATH_MAX];
snprintf(file, PATH_MAX, "%s", ev->filename);
snprintf(p, PATH_MAX, "%s", ephoto->config->directory);
snprintf(dir, PATH_MAX, "%s", dirname(file));
if (strlen(p) != strlen(dir))
return ECORE_CALLBACK_PASS_ON;
if (strcmp(p, dir))
return ECORE_CALLBACK_PASS_ON;
if (!strncmp("image/", efreet_mime_type_get(ev->filename), 6))
{
@ -545,6 +565,16 @@ _monitor_modified(void *data, int type EINA_UNUSED, void *event)
{
Ephoto *ephoto = data;
Eio_Monitor_Event *ev = event;
char file[PATH_MAX], dir[PATH_MAX], p[PATH_MAX];
snprintf(file, PATH_MAX, "%s", ev->filename);
snprintf(p, PATH_MAX, "%s", ephoto->config->directory);
snprintf(dir, PATH_MAX, "%s", dirname(file));
if (strlen(p) != strlen(dir))
return ECORE_CALLBACK_PASS_ON;
if (strcmp(p, dir))
return ECORE_CALLBACK_PASS_ON;
if (!strncmp("image/", efreet_mime_type_get(ev->filename), 6))
{