diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2010-12-17 11:10:22 +0000 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2010-12-17 11:10:22 +0000 |
commit | bb4bda0b3a2dd71b2a8e248e33f7f63788171b9d (patch) | |
tree | fe730d865b04c885b95c13130a9ce95a6fe06681 /desktop | |
parent | 96cb4b40e728830d36ae90d11fc4c405c82fdc21 (diff) | |
download | netsurf-bb4bda0b3a2dd71b2a8e248e33f7f63788171b9d.tar.gz netsurf-bb4bda0b3a2dd71b2a8e248e33f7f63788171b9d.tar.bz2 |
When a hotlist entry edit ends by cancelling, rather than confirming the change, end the whole edit and don't pass onto next element for edit.
svn path=/trunk/netsurf/; revision=11085
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/hotlist.c | 6 | ||||
-rw-r--r-- | desktop/tree.c | 3 | ||||
-rw-r--r-- | desktop/tree.h | 1 |
3 files changed, 8 insertions, 2 deletions
diff --git a/desktop/hotlist.c b/desktop/hotlist.c index cb5362050..dd29b6a84 100644 --- a/desktop/hotlist.c +++ b/desktop/hotlist.c @@ -64,10 +64,14 @@ static node_callback_resp hotlist_node_callback(void *user_data, const char *text; char *norm_text; bool is_folder = tree_node_is_folder(node); + bool cancelled = false; switch (msg_data->msg) { + case NODE_ELEMENT_EDIT_CANCELLED: + cancelled = true; + /* fall through */ case NODE_ELEMENT_EDIT_FINISHED: - if (creating_node && + if (creating_node && !cancelled && (is_folder == false) && (msg_data->flag == TREE_ELEMENT_TITLE)) { tree_url_node_edit_url(hotlist_tree, node); diff --git a/desktop/tree.c b/desktop/tree.c index cb3c915ff..1f7d8ffc3 100644 --- a/desktop/tree.c +++ b/desktop/tree.c @@ -879,7 +879,8 @@ static void tree_stop_edit(struct tree *tree, bool keep_changes) tree_recalculate_size(tree); if (element->parent->user_callback != NULL) { - msg_data.msg = NODE_ELEMENT_EDIT_FINISHED; + msg_data.msg = keep_changes ? NODE_ELEMENT_EDIT_FINISHED : + NODE_ELEMENT_EDIT_CANCELLED; msg_data.flag = element->flag; msg_data.node = element->parent; element->parent->user_callback(element->parent->callback_data, diff --git a/desktop/tree.h b/desktop/tree.h index 1703c3784..032b5e213 100644 --- a/desktop/tree.h +++ b/desktop/tree.h @@ -78,6 +78,7 @@ typedef enum { NODE_DELETE_ELEMENT_IMG, /**< The bitmap or icon of a node is * being deleted */ NODE_LAUNCH, /**< The node has been launched */ + NODE_ELEMENT_EDIT_CANCELLED, /**< Editing opperation cancelled. */ NODE_ELEMENT_EDIT_FINISHING, /**< New text has to be accepted * or rejected. */ NODE_ELEMENT_EDIT_FINISHED /**< Editing of a node_element has |