summaryrefslogtreecommitdiff
path: root/desktop/treeview.c
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2013-11-08 18:53:34 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2013-11-08 18:53:34 +0000
commit61b5a5e98f1fe34ff44ba34476afbb7d9d5dec61 (patch)
treedf6e30b0fcd65d0e2b125a64715716a0a2361b78 /desktop/treeview.c
parent409df8dbbefa26a8b7b670270c82ec755c4175d4 (diff)
downloadnetsurf-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.c12
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) {