forked from enlightenment/terminology
colors: list user-stored color schemes
This commit is contained in:
parent
a3a12e9905
commit
2669cc5780
|
@ -761,7 +761,39 @@ color_scheme_list(void)
|
||||||
ERR("failed to open '%s'", path_app);
|
ERR("failed to open '%s'", path_app);
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
ef_user = eet_open(path_user, EET_FILE_MODE_READ);
|
ef_user = eet_open(path_user, EET_FILE_MODE_READ);
|
||||||
|
if (ef_user)
|
||||||
|
{
|
||||||
|
it = eet_list_entries(ef_user);
|
||||||
|
if (!it)
|
||||||
|
{
|
||||||
|
ERR("failed to list entries in '%s'", path_user);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
EINA_ITERATOR_FOREACH(it, entry)
|
||||||
|
{
|
||||||
|
cs_user = eet_data_read(ef_user, edd_cs, entry->name);
|
||||||
|
if (!cs_user)
|
||||||
|
{
|
||||||
|
ERR("failed to load color scheme '%s' from '%s'",
|
||||||
|
entry->name, path_user);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
cs_app = eet_data_read(ef_app, edd_cs, entry->name);
|
||||||
|
if (cs_app)
|
||||||
|
{
|
||||||
|
/* Prefer user file */
|
||||||
|
if (cs_user->md.version >= cs_app->md.version)
|
||||||
|
l = eina_list_sorted_insert(l, color_scheme_cmp, cs_user);
|
||||||
|
else
|
||||||
|
free(cs_user);
|
||||||
|
free(cs_app);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
l = eina_list_sorted_insert(l, color_scheme_cmp, cs_user);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
it = eet_list_entries(ef_app);
|
it = eet_list_entries(ef_app);
|
||||||
if (!it)
|
if (!it)
|
||||||
|
@ -781,22 +813,15 @@ color_scheme_list(void)
|
||||||
cs_user = eet_data_read(ef_user, edd_cs, entry->name);
|
cs_user = eet_data_read(ef_user, edd_cs, entry->name);
|
||||||
if (cs_user)
|
if (cs_user)
|
||||||
{
|
{
|
||||||
/* Prefer user file */
|
/* Prefer user file if higher version */
|
||||||
if (cs_user->md.version >= cs_app->md.version)
|
if (cs_user->md.version < cs_app->md.version)
|
||||||
{
|
l = eina_list_sorted_insert(l, color_scheme_cmp, cs_app);
|
||||||
l = eina_list_sorted_insert(l, color_scheme_cmp, cs_user);
|
|
||||||
free(cs_app);
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
free(cs_app);
|
||||||
l = eina_list_sorted_insert(l, color_scheme_cmp, cs_app);
|
free(cs_user);
|
||||||
free(cs_user);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
l = eina_list_sorted_insert(l, color_scheme_cmp, cs_app);
|
||||||
l = eina_list_sorted_insert(l, color_scheme_cmp, cs_app);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
end:
|
end:
|
||||||
eina_iterator_free(it);
|
eina_iterator_free(it);
|
||||||
|
|
Loading…
Reference in New Issue