elm config - add function to check if profile exists

this adds a method to see if a profile exists.
elm_config_profile_exists().

@feature
This commit is contained in:
Carsten Haitzler 2015-12-31 16:37:25 +09:00
parent 76c528a5c3
commit c2f6ece2d7
2 changed files with 30 additions and 0 deletions

View File

@ -2435,6 +2435,25 @@ elm_config_profile_list_free(Eina_List *l)
eina_stringshare_del(dir);
}
EAPI Eina_Bool
elm_config_profile_exists(const char *profile)
{
char buf[PATH_MAX], buf2[PATH_MAX];
if (!profile) return EINA_FALSE;
_elm_config_user_dir_snprintf(buf, sizeof(buf),
"config/%s/base.cfg", profile);
if (ecore_file_exists(buf)) return EINA_TRUE;
snprintf(buf2, sizeof(buf2), "config/%s/base.cfg", profile);
eina_str_join_len(buf, sizeof(buf), '/',
_elm_data_dir, strlen(_elm_data_dir),
buf2, strlen(buf2));
if (ecore_file_exists(buf)) return EINA_TRUE;
return EINA_FALSE;
}
EAPI void
elm_config_profile_set(const char *profile)
{

View File

@ -140,6 +140,17 @@ EAPI Eina_List *elm_config_profile_list_full_get(void);
*/
EAPI void elm_config_profile_list_free(Eina_List *l);
/**
* Return if a profile of the given name exists
*
* @return EINA_TRUE if the profile exists, or EINA_FALSE if not
* @param profile The profile's name
* @ingroup Profile
*
* @since 1.17
*/
EAPI Eina_Bool elm_config_profile_exists(const char *profile);
/**
* Set Elementary's profile.
*