diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2013-11-08 18:53:34 +0000 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2013-11-08 18:53:34 +0000 |
commit | 61b5a5e98f1fe34ff44ba34476afbb7d9d5dec61 (patch) | |
tree | df6e30b0fcd65d0e2b125a64715716a0a2361b78 /desktop/treeview.c | |
parent | 409df8dbbefa26a8b7b670270c82ec755c4175d4 (diff) | |
download | netsurf-61b5a5e98f1fe34ff44ba34476afbb7d9d5dec61.tar.gz netsurf-61b5a5e98f1fe34ff44ba34476afbb7d9d5dec61.tar.bz2 |
Visual indication of hotlist's folder for unsorted entries, with special icon.
Diffstat (limited to 'desktop/treeview.c')
-rw-r--r-- | desktop/treeview.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/desktop/treeview.c b/desktop/treeview.c index 767f1c714..0681b95ec 100644 --- a/desktop/treeview.c +++ b/desktop/treeview.c @@ -66,7 +66,8 @@ struct treeview_field { enum treeview_node_flags { TREE_NODE_NONE = 0, /**< No node flags set */ TREE_NODE_EXPANDED = (1 << 0), /**< Whether node is expanded */ - TREE_NODE_SELECTED = (1 << 1) /**< Whether node is selected */ + TREE_NODE_SELECTED = (1 << 1), /**< Whether node is selected */ + TREE_NODE_SPECIAL = (1 << 2) /**< Render as special node */ }; enum treeview_target_pos { @@ -194,6 +195,7 @@ enum treeview_resource_id { TREE_RES_ARROW = 0, TREE_RES_CONTENT, TREE_RES_FOLDER, + TREE_RES_FOLDER_SPECIAL, TREE_RES_SEARCH, TREE_RES_LAST }; @@ -201,6 +203,7 @@ static struct treeview_resource treeview_res[TREE_RES_LAST] = { { "resource:icons/arrow-l.png", NULL, 0, false }, { "resource:icons/content.png", NULL, 0, false }, { "resource:icons/directory.png", NULL, 0, false }, + { "resource:icons/directory2.png", NULL, 0, false }, { "resource:icons/search.png", NULL, 0, false } }; /**< Treeview content resources */ @@ -546,7 +549,8 @@ nserror treeview_create_node_folder(treeview *tree, return NSERROR_NOMEM; } - n->flags = TREE_NODE_NONE; + n->flags = (flags & TREE_OPTION_SPECIAL_DIR) ? + TREE_NODE_SPECIAL : TREE_NODE_NONE; n->type = TREE_NODE_FOLDER; n->height = tree_g.line_height; @@ -1791,7 +1795,9 @@ void treeview_redraw(treeview *tree, const int x, const int y, /* Render icon */ if (node->type == TREE_NODE_ENTRY) res = TREE_RES_CONTENT; - else if (node->type == TREE_NODE_FOLDER) + else if (node->flags & TREE_NODE_SPECIAL) + res = TREE_RES_FOLDER_SPECIAL; + else res = TREE_RES_FOLDER; if (treeview_res[res].ready) { |