efreet: Reorganize file

This commit is contained in:
Sebastian Dransfeld 2013-06-20 10:26:11 +02:00
parent c504706873
commit f0ff83c3f5
1 changed files with 121 additions and 120 deletions

View File

@ -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;
}