forked from enlightenment/efl
efreet: Reorganize file
This commit is contained in:
parent
c504706873
commit
f0ff83c3f5
|
@ -300,11 +300,11 @@ static void efreet_menu_concatenate(Efreet_Menu_Internal *dest, Efreet_Menu_Inte
|
|||
static int efreet_menu_cb_menu_compare(Efreet_Menu_Internal *a, Efreet_Menu_Internal *b);
|
||||
static int efreet_menu_cb_md_compare(const Efreet_Menu_Desktop *a, const Efreet_Menu_Desktop *b);
|
||||
|
||||
static void efreet_menu_path_set(Efreet_Menu_Internal *internal, const char *path);
|
||||
|
||||
static int efreet_menu_save_menu(Efreet_Menu *menu, FILE *f, int indent);
|
||||
static int efreet_menu_save_indent(FILE *f, int indent);
|
||||
|
||||
static void efreet_menu_path_set(Efreet_Menu_Internal *internal, const char *path);
|
||||
|
||||
int
|
||||
efreet_menu_init(void)
|
||||
{
|
||||
|
@ -633,104 +633,6 @@ efreet_menu_save(Efreet_Menu *menu, const char *path)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
efreet_menu_save_menu(Efreet_Menu *menu, FILE *f, int indent)
|
||||
{
|
||||
Eina_List *l;
|
||||
|
||||
efreet_menu_save_indent(f, indent);
|
||||
fprintf(f, "<Menu>\n");
|
||||
if (menu->name)
|
||||
{
|
||||
efreet_menu_save_indent(f, indent + 1);
|
||||
fprintf(f, "<Name>%s</Name>\n", menu->name);
|
||||
}
|
||||
|
||||
if (indent == 0)
|
||||
{
|
||||
/* Only save these for the root element */
|
||||
efreet_menu_save_indent(f, indent + 1);
|
||||
fprintf(f, "<DefaultAppDirs/>\n");
|
||||
efreet_menu_save_indent(f, indent + 1);
|
||||
fprintf(f, "<DefaultDirectoryDirs/>\n");
|
||||
}
|
||||
|
||||
if (menu->desktop)
|
||||
{
|
||||
efreet_menu_save_indent(f, indent + 1);
|
||||
fprintf(f, "<Directory>%s</Directory>\n", menu->desktop->orig_path);
|
||||
}
|
||||
|
||||
if (menu->entries)
|
||||
{
|
||||
Efreet_Menu *entry;
|
||||
int has_desktop = 0, has_menu = 0;
|
||||
|
||||
efreet_menu_save_indent(f, indent + 1);
|
||||
fprintf(f, "<Layout>\n");
|
||||
EINA_LIST_FOREACH(menu->entries, l, entry)
|
||||
{
|
||||
if (entry->type == EFREET_MENU_ENTRY_MENU)
|
||||
{
|
||||
efreet_menu_save_indent(f, indent + 2);
|
||||
fprintf(f, "<Menuname>%s</Menuname>\n", entry->id);
|
||||
has_menu = 1;
|
||||
}
|
||||
else if (entry->type == EFREET_MENU_ENTRY_DESKTOP)
|
||||
{
|
||||
efreet_menu_save_indent(f, indent + 2);
|
||||
fprintf(f, "<Filename>%s</Filename>\n", entry->id);
|
||||
has_desktop = 1;
|
||||
}
|
||||
else if (entry->type == EFREET_MENU_ENTRY_SEPARATOR)
|
||||
{
|
||||
efreet_menu_save_indent(f, indent + 2);
|
||||
fprintf(f, "<Separator/>\n");
|
||||
}
|
||||
}
|
||||
efreet_menu_save_indent(f, indent + 1);
|
||||
fprintf(f, "</Layout>\n");
|
||||
|
||||
if (has_desktop)
|
||||
{
|
||||
efreet_menu_save_indent(f, indent + 1);
|
||||
fprintf(f, "<Include>\n");
|
||||
EINA_LIST_FOREACH(menu->entries, l, entry)
|
||||
{
|
||||
if (entry->type == EFREET_MENU_ENTRY_DESKTOP)
|
||||
{
|
||||
efreet_menu_save_indent(f, indent + 2);
|
||||
fprintf(f, "<Filename>%s</Filename>\n", entry->id);
|
||||
}
|
||||
}
|
||||
efreet_menu_save_indent(f, indent + 1);
|
||||
fprintf(f, "</Include>\n");
|
||||
}
|
||||
|
||||
if (has_menu)
|
||||
{
|
||||
EINA_LIST_FOREACH(menu->entries, l, entry)
|
||||
{
|
||||
if (entry->type == EFREET_MENU_ENTRY_MENU)
|
||||
efreet_menu_save_menu(entry, f, indent + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
efreet_menu_save_indent(f, indent);
|
||||
fprintf(f, "</Menu>\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int
|
||||
efreet_menu_save_indent(FILE *f, int indent)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < indent; i++)
|
||||
fprintf(f, " ");
|
||||
return 1;
|
||||
}
|
||||
|
||||
EAPI int
|
||||
efreet_menu_desktop_insert(Efreet_Menu *menu, Efreet_Desktop *desktop, int pos)
|
||||
{
|
||||
|
@ -2993,26 +2895,6 @@ efreet_menu_by_name_find(Efreet_Menu_Internal *internal, const char *name, Efree
|
|||
return internal;
|
||||
}
|
||||
|
||||
static void
|
||||
efreet_menu_path_set(Efreet_Menu_Internal *internal, const char *path)
|
||||
{
|
||||
char *tmp, *p;
|
||||
size_t len;
|
||||
|
||||
len = strlen(path) + 1;
|
||||
tmp = alloca(len);
|
||||
memcpy(tmp, path, len);
|
||||
p = strrchr(tmp, '/');
|
||||
if (p)
|
||||
{
|
||||
*p = '\0';
|
||||
p++;
|
||||
|
||||
internal->file.path = eina_stringshare_add(tmp);
|
||||
internal->file.name = eina_stringshare_add(p);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @internal
|
||||
* @return Returns a new Efreet_Menu_Move struct on success or NULL on failure
|
||||
|
@ -3797,3 +3679,122 @@ efreet_menu_layout_is_empty(Efreet_Menu *entry)
|
|||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void
|
||||
efreet_menu_path_set(Efreet_Menu_Internal *internal, const char *path)
|
||||
{
|
||||
char *tmp, *p;
|
||||
size_t len;
|
||||
|
||||
len = strlen(path) + 1;
|
||||
tmp = alloca(len);
|
||||
memcpy(tmp, path, len);
|
||||
p = strrchr(tmp, '/');
|
||||
if (p)
|
||||
{
|
||||
*p = '\0';
|
||||
p++;
|
||||
|
||||
internal->file.path = eina_stringshare_add(tmp);
|
||||
internal->file.name = eina_stringshare_add(p);
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
efreet_menu_save_menu(Efreet_Menu *menu, FILE *f, int indent)
|
||||
{
|
||||
Eina_List *l;
|
||||
|
||||
efreet_menu_save_indent(f, indent);
|
||||
fprintf(f, "<Menu>\n");
|
||||
if (menu->name)
|
||||
{
|
||||
efreet_menu_save_indent(f, indent + 1);
|
||||
fprintf(f, "<Name>%s</Name>\n", menu->name);
|
||||
}
|
||||
|
||||
if (indent == 0)
|
||||
{
|
||||
/* Only save these for the root element */
|
||||
efreet_menu_save_indent(f, indent + 1);
|
||||
fprintf(f, "<DefaultAppDirs/>\n");
|
||||
efreet_menu_save_indent(f, indent + 1);
|
||||
fprintf(f, "<DefaultDirectoryDirs/>\n");
|
||||
}
|
||||
|
||||
if (menu->desktop)
|
||||
{
|
||||
efreet_menu_save_indent(f, indent + 1);
|
||||
fprintf(f, "<Directory>%s</Directory>\n", menu->desktop->orig_path);
|
||||
}
|
||||
|
||||
if (menu->entries)
|
||||
{
|
||||
Efreet_Menu *entry;
|
||||
int has_desktop = 0, has_menu = 0;
|
||||
|
||||
efreet_menu_save_indent(f, indent + 1);
|
||||
fprintf(f, "<Layout>\n");
|
||||
EINA_LIST_FOREACH(menu->entries, l, entry)
|
||||
{
|
||||
if (entry->type == EFREET_MENU_ENTRY_MENU)
|
||||
{
|
||||
efreet_menu_save_indent(f, indent + 2);
|
||||
fprintf(f, "<Menuname>%s</Menuname>\n", entry->id);
|
||||
has_menu = 1;
|
||||
}
|
||||
else if (entry->type == EFREET_MENU_ENTRY_DESKTOP)
|
||||
{
|
||||
efreet_menu_save_indent(f, indent + 2);
|
||||
fprintf(f, "<Filename>%s</Filename>\n", entry->id);
|
||||
has_desktop = 1;
|
||||
}
|
||||
else if (entry->type == EFREET_MENU_ENTRY_SEPARATOR)
|
||||
{
|
||||
efreet_menu_save_indent(f, indent + 2);
|
||||
fprintf(f, "<Separator/>\n");
|
||||
}
|
||||
}
|
||||
efreet_menu_save_indent(f, indent + 1);
|
||||
fprintf(f, "</Layout>\n");
|
||||
|
||||
if (has_desktop)
|
||||
{
|
||||
efreet_menu_save_indent(f, indent + 1);
|
||||
fprintf(f, "<Include>\n");
|
||||
EINA_LIST_FOREACH(menu->entries, l, entry)
|
||||
{
|
||||
if (entry->type == EFREET_MENU_ENTRY_DESKTOP)
|
||||
{
|
||||
efreet_menu_save_indent(f, indent + 2);
|
||||
fprintf(f, "<Filename>%s</Filename>\n", entry->id);
|
||||
}
|
||||
}
|
||||
efreet_menu_save_indent(f, indent + 1);
|
||||
fprintf(f, "</Include>\n");
|
||||
}
|
||||
|
||||
if (has_menu)
|
||||
{
|
||||
EINA_LIST_FOREACH(menu->entries, l, entry)
|
||||
{
|
||||
if (entry->type == EFREET_MENU_ENTRY_MENU)
|
||||
efreet_menu_save_menu(entry, f, indent + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
efreet_menu_save_indent(f, indent);
|
||||
fprintf(f, "</Menu>\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int
|
||||
efreet_menu_save_indent(FILE *f, int indent)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < indent; i++)
|
||||
fprintf(f, " ");
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue