Gitweb links:

...log 
http://git.netsurf-browser.org/netsurf.git/shortlog/f86e9e505dea633a893b3d2d3b73d4bb8cc3d02b
...commit 
http://git.netsurf-browser.org/netsurf.git/commit/f86e9e505dea633a893b3d2d3b73d4bb8cc3d02b
...tree 
http://git.netsurf-browser.org/netsurf.git/tree/f86e9e505dea633a893b3d2d3b73d4bb8cc3d02b

The branch, master has been updated
       via  f86e9e505dea633a893b3d2d3b73d4bb8cc3d02b (commit)
       via  f653c3314791f2559f7e9faa6f2798244949bd4f (commit)
       via  73adebf2632ca43cfbd3e18ac65e5887714b9280 (commit)
       via  798bfbf80f867f37920b9af7bee2ab680bf72b4a (commit)
      from  d3493b138f38c9e26da24fcffb3ef8b813e3ca4e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commitdiff 
http://git.netsurf-browser.org/netsurf.git/commit/?id=f86e9e505dea633a893b3d2d3b73d4bb8cc3d02b
commit f86e9e505dea633a893b3d2d3b73d4bb8cc3d02b
Author: Michael Drake <[email protected]>
Commit: Michael Drake <[email protected]>

    Treeview: When expanding nodes in search view, adjust height only for 
matching entries.

diff --git a/desktop/treeview.c b/desktop/treeview.c
index 1de4bf9..1ed6611 100644
--- a/desktop/treeview.c
+++ b/desktop/treeview.c
@@ -2154,7 +2154,9 @@ treeview_node_expand_internal(treeview *tree, 
treeview_node *node)
                n->height += additional_height;
        }
 
-       if (tree->search.search) {
+       if (tree->search.search &&
+                       node->type == TREE_NODE_ENTRY &&
+                       node->flags & TV_NFLAGS_MATCHED) {
                tree->search.height += additional_height;
        }
 


commitdiff 
http://git.netsurf-browser.org/netsurf.git/commit/?id=f653c3314791f2559f7e9faa6f2798244949bd4f
commit f653c3314791f2559f7e9faa6f2798244949bd4f
Author: Michael Drake <[email protected]>
Commit: Michael Drake <[email protected]>

    Treeview: Ensure we know our treeview when doing treeview node collapse.

diff --git a/desktop/treeview.c b/desktop/treeview.c
index 62e196e..1de4bf9 100644
--- a/desktop/treeview.c
+++ b/desktop/treeview.c
@@ -2321,6 +2321,7 @@ nserror treeview_contract(treeview *tree, bool all)
        r.x1 = REDRAW_MAX;
        r.y1 = tree->root->height;
 
+       data.tree = tree;
        data.only_entries = !all;
 
        for (n = tree->root->children; n != NULL; n = n->next_sib) {


commitdiff 
http://git.netsurf-browser.org/netsurf.git/commit/?id=73adebf2632ca43cfbd3e18ac65e5887714b9280
commit 73adebf2632ca43cfbd3e18ac65e5887714b9280
Author: Michael Drake <[email protected]>
Commit: Michael Drake <[email protected]>

    Treeview: Cancel any search when treeview is detatched from its corewindow.

diff --git a/desktop/treeview.c b/desktop/treeview.c
index ca6cb4f..62e196e 100644
--- a/desktop/treeview.c
+++ b/desktop/treeview.c
@@ -2033,6 +2033,8 @@ nserror treeview_cw_detach(treeview *tree)
        tree->cw_t = NULL;
        tree->cw_h = NULL;
 
+       treeview__search_cancel(tree, true);
+
        return NSERROR_OK;
 }
 


commitdiff 
http://git.netsurf-browser.org/netsurf.git/commit/?id=798bfbf80f867f37920b9af7bee2ab680bf72b4a
commit 798bfbf80f867f37920b9af7bee2ab680bf72b4a
Author: Michael Drake <[email protected]>
Commit: Michael Drake <[email protected]>

    Treeview: Split out search cancel functionality.

diff --git a/desktop/treeview.c b/desktop/treeview.c
index 01998e1..ca6cb4f 100644
--- a/desktop/treeview.c
+++ b/desktop/treeview.c
@@ -836,6 +836,37 @@ static nserror treeview__search(
 
 
 /**
+ * Cancel a treeview search, optionally droping focus from search widget.
+ *
+ * \param[in] tree        Treeview to cancel search in.
+ * \param[in] drop_focus  Iff true, drop input focus from search widget.
+ */
+static void treeview__search_cancel(treeview *tree, bool drop_focus)
+{
+       struct rect r = {
+               .x0 = tree_g.window_padding + tree_g.icon_size,
+               .x1 = 600,
+               .y0 = 0,
+               .y1 = tree_g.line_height,
+       };
+
+       if (tree->search.active == false) {
+               return;
+       }
+
+       if (drop_focus) {
+               tree->search.active = false;
+               textarea_set_caret(tree->search.textarea, -1);
+       } else {
+               textarea_set_caret(tree->search.textarea, 0);
+       }
+
+       textarea_set_text(tree->search.textarea, "");
+       treeview__cw_invalidate_area(tree, &r);
+}
+
+
+/**
  * Callback for textarea_create, in desktop/treeview.h
  *
  * \param data treeview context
@@ -3850,13 +3881,7 @@ bool treeview_keypress(treeview *tree, uint32_t key)
        } else if (tree->search.active == true) {
                switch (key) {
                case NS_KEY_ESCAPE:
-                       textarea_set_text(tree->search.textarea, "");
-                       textarea_set_caret(tree->search.textarea, 0);
-                       r.x0 = tree_g.window_padding + tree_g.icon_size;
-                       r.x1 = 600;
-                       r.y0 = 0;
-                       r.y1 = tree_g.line_height;
-                       treeview__cw_invalidate_area(tree, &r);
+                       treeview__search_cancel(tree, false);
                        return true;
                case NS_KEY_NL:
                case NS_KEY_CR:


-----------------------------------------------------------------------

Summary of changes:
 desktop/treeview.c |   46 ++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 38 insertions(+), 8 deletions(-)

diff --git a/desktop/treeview.c b/desktop/treeview.c
index 01998e1..1ed6611 100644
--- a/desktop/treeview.c
+++ b/desktop/treeview.c
@@ -836,6 +836,37 @@ static nserror treeview__search(
 
 
 /**
+ * Cancel a treeview search, optionally droping focus from search widget.
+ *
+ * \param[in] tree        Treeview to cancel search in.
+ * \param[in] drop_focus  Iff true, drop input focus from search widget.
+ */
+static void treeview__search_cancel(treeview *tree, bool drop_focus)
+{
+       struct rect r = {
+               .x0 = tree_g.window_padding + tree_g.icon_size,
+               .x1 = 600,
+               .y0 = 0,
+               .y1 = tree_g.line_height,
+       };
+
+       if (tree->search.active == false) {
+               return;
+       }
+
+       if (drop_focus) {
+               tree->search.active = false;
+               textarea_set_caret(tree->search.textarea, -1);
+       } else {
+               textarea_set_caret(tree->search.textarea, 0);
+       }
+
+       textarea_set_text(tree->search.textarea, "");
+       treeview__cw_invalidate_area(tree, &r);
+}
+
+
+/**
  * Callback for textarea_create, in desktop/treeview.h
  *
  * \param data treeview context
@@ -2002,6 +2033,8 @@ nserror treeview_cw_detach(treeview *tree)
        tree->cw_t = NULL;
        tree->cw_h = NULL;
 
+       treeview__search_cancel(tree, true);
+
        return NSERROR_OK;
 }
 
@@ -2121,7 +2154,9 @@ treeview_node_expand_internal(treeview *tree, 
treeview_node *node)
                n->height += additional_height;
        }
 
-       if (tree->search.search) {
+       if (tree->search.search &&
+                       node->type == TREE_NODE_ENTRY &&
+                       node->flags & TV_NFLAGS_MATCHED) {
                tree->search.height += additional_height;
        }
 
@@ -2288,6 +2323,7 @@ nserror treeview_contract(treeview *tree, bool all)
        r.x1 = REDRAW_MAX;
        r.y1 = tree->root->height;
 
+       data.tree = tree;
        data.only_entries = !all;
 
        for (n = tree->root->children; n != NULL; n = n->next_sib) {
@@ -3850,13 +3886,7 @@ bool treeview_keypress(treeview *tree, uint32_t key)
        } else if (tree->search.active == true) {
                switch (key) {
                case NS_KEY_ESCAPE:
-                       textarea_set_text(tree->search.textarea, "");
-                       textarea_set_caret(tree->search.textarea, 0);
-                       r.x0 = tree_g.window_padding + tree_g.icon_size;
-                       r.x1 = 600;
-                       r.y0 = 0;
-                       r.y1 = tree_g.line_height;
-                       treeview__cw_invalidate_area(tree, &r);
+                       treeview__search_cancel(tree, false);
                        return true;
                case NS_KEY_NL:
                case NS_KEY_CR:


-- 
NetSurf Browser

_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org

Reply via email to