diff options
author | Michael Drake <michael.drake@codethink.co.uk> | 2020-02-24 08:44:52 +0000 |
---|---|---|
committer | Michael Drake <michael.drake@codethink.co.uk> | 2020-02-24 08:44:52 +0000 |
commit | 34e61df8ebe237d6862e1c63772a1aae40d81320 (patch) | |
tree | 33dc90d2422a8799b8f4ee12a9c6ed8ad6570eb4 /desktop/treeview.c | |
parent | a59646cbf84d1bb463c4b9526dacdf40075851c2 (diff) | |
download | netsurf-34e61df8ebe237d6862e1c63772a1aae40d81320.tar.gz netsurf-34e61df8ebe237d6862e1c63772a1aae40d81320.tar.bz2 |
Treeview: Add API for setting the search string.
Diffstat (limited to 'desktop/treeview.c')
-rw-r--r-- | desktop/treeview.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/desktop/treeview.c b/desktop/treeview.c index 3e23fbe55..3dcc2c304 100644 --- a/desktop/treeview.c +++ b/desktop/treeview.c @@ -4839,6 +4839,29 @@ int treeview_get_height(treeview *tree) return height + search_height; } +/* Exported interface, documented in treeview.h */ +nserror treeview_set_search_string( + treeview *tree, + const char *string) +{ + if (!(tree->flags & TREEVIEW_SEARCHABLE)) { + return NSERROR_BAD_PARAMETER; + } + + if (string == NULL || strlen(string) == 0) { + tree->search.active = false; + tree->search.search = false; + return treeview__search(tree, "", 0); + } + + tree->search.active = true; + tree->search.search = true; + if (!textarea_set_text(tree->search.textarea, string)) { + return NSERROR_UNKNOWN; + } + + return NSERROR_OK; +} /** * Initialise the plot styles from CSS system colour values. |