diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2012-11-29 22:08:47 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2012-11-29 22:08:47 +0000 |
commit | d66e9c34a8e5e6081541c2b7bfd1e97012289494 (patch) | |
tree | 7a0b465997360be856b97eebf8ae5ac09d0805b8 /amiga/hotlist.c | |
parent | ec79063155c809d52e54812e0045900bbad53532 (diff) | |
download | netsurf-d66e9c34a8e5e6081541c2b7bfd1e97012289494.tar.gz |
Create "menu" and "toolbar" directories in the hotlist if they don't exist on startup
Diffstat (limited to 'amiga/hotlist.c')
-rwxr-xr-x | amiga/hotlist.c | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/amiga/hotlist.c b/amiga/hotlist.c index 6469cbd90..b67e10fd4 100755 --- a/amiga/hotlist.c +++ b/amiga/hotlist.c @@ -18,8 +18,41 @@ #include <proto/exec.h> #include "amiga/hotlist.h" -#include "desktop/hotlist.h" #include "amiga/tree.h" +#include "desktop/hotlist.h" +#include "utils/messages.h" + +bool ami_hotlist_find_dir(struct tree *tree, const char *dir_name) +{ + struct node *root = tree_node_get_child(tree_get_root(tree)); + struct node *node; + struct node_element *element; + + for (node = root; node; node = tree_node_get_next(node)) + { + element = tree_node_find_element(node, TREE_ELEMENT_TITLE, NULL); + if(!element) element = tree_node_find_element(node, TREE_ELEMENT_TITLE, NULL); + if(element && (strcmp(tree_node_element_get_text(element), dir_name) == 0)) + { + return true; + } + } + + return false; +} + +void ami_hotlist_add_default_dirs(struct tree *tree) +{ + if(ami_hotlist_find_dir(tree, messages_get("HotlistMenu")) == false) { + tree_create_folder_node(tree, tree_get_root(tree), + messages_get("HotlistMenu"), true, false, false); + } + + if(ami_hotlist_find_dir(tree, messages_get("HotlistToolbar")) == false) { + tree_create_folder_node(tree, tree_get_root(tree), + messages_get("HotlistToolbar"), true, false, false); + } +} void ami_hotlist_initialise(const char *hotlist_file) { @@ -30,6 +63,8 @@ void ami_hotlist_initialise(const char *hotlist_file) hotlist_initialise(ami_tree_get_tree(hotlist_window), hotlist_file, tree_directory_icon_name); + + ami_hotlist_add_default_dirs(ami_tree_get_tree(hotlist_window)); } void ami_hotlist_free(const char *hotlist_file) |