Commit Graph

2145 Commits

Author SHA1 Message Date
Daniel Silverstone
6fc2666d07
Allow contents to indicate if they believe they may not be secure.
HTML contents reference many other objects.  The browser window
needs to know if any of them may not be secure, in which case it
needs to report that in its page state.  If other content types
might refer to sub-contents, they will need to define the callback
too.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-12-01 15:49:08 +00:00
Daniel Silverstone
9741df214d
browser_window: Add basic page info state and SSL accessors
In order to begin work on the page info dialog, we need access
to the current page's state and SSL chain if available.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-12-01 15:01:24 +00:00
Daniel Silverstone
0840613ac2
browser_window: Set referer and flags in ssl error pathway
To make the SSL error pathway consistent with the other error
pathways, set the referer and the fetch parameter flags the same
as the others.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-11-30 14:46:16 +00:00
Vincent Sanders
dae0ff3d26 remove warning callback from miscelaneous function table 2019-11-11 16:59:28 +00:00
Vincent Sanders
92fff918cc fix "may be used uninitialised" warning 2019-11-06 08:23:27 +00:00
Vincent Sanders
cbb0c05258 remove unecessary user warning calls and improve error propogation in html box 2019-11-05 23:05:42 +00:00
Vincent Sanders
78aa34e5d7 remove user warnings from hotlist load and curl poll 2019-11-05 00:07:06 +00:00
Vincent Sanders
7c63f5f66b improve error returns throughout complete save and remove user warnings 2019-11-04 23:39:13 +00:00
Vincent Sanders
4b0c3f0efe add internal query handler for fetch errors
Any errors from the fetch which are not already handled are
  reported with an internal query page instead of a modal
  dialog.

This is much less invasive for the user and much more in
  keeping with how this is handled by other browsers.

The handler is similar to the timeout handler but the
  functionality is kept separate as it is intended timeout
  handling be extended in future.
2019-10-30 18:56:38 +00:00
Vincent Sanders
76eac19227 add internal query page for request timeouts 2019-10-29 22:29:22 +00:00
Michael Drake
5aeca580f4 save complete: Change de-duplication to compare URLs, rather than contents.
We seem to have more than one content for the same resource.

For example:

* save `<img src="about:logo"><img src="about:logo">` as img-test.html
* run `rm -rf test-save && make && ./nsgtk img-test.html`
* ctrl+s
* save as "test-save" in the current netsurf dir.
* run `md5sum test-save/*`

before and after this commit.  The de-duplication works with URLs,
where it wasn't working with hlcache_handles or contents.
2019-10-26 12:51:17 +01:00
Michael Drake
044ddd5d43 save complete: ctx_find_content: compare contents, not hlcache_handles
There can be multiple hlcache_handles per sharable content.
2019-10-26 12:42:38 +01:00
Vincent Sanders
6e7f98787a ensure all error messages have text if not provided by caller 2019-10-25 21:43:19 +01:00
Vincent Sanders
da7c750efd fix some formatting in save complete 2019-10-24 22:21:43 +01:00
Vincent Sanders
699cc7deee ensure save_complete resources are correctly finalised before quit 2019-10-24 22:20:57 +01:00
Vincent Sanders
bb60859535 resolve leak of attribute value lwc string in complete save 2019-10-24 22:19:52 +01:00
Vincent Sanders
d0359bc957 fix save_complete usage of posix regex so it does not run off the end of strings 2019-10-21 23:44:01 +01:00
Vincent Sanders
f64b37b29f make download core store size in at least 64bits to allow for large files 2019-10-19 19:43:00 +01:00
Vincent Sanders
4745fcf1c7 add regex compatability to utils and enable it for serenity OS 2019-10-12 14:50:49 +01:00
Vincent Sanders
ff7dd5419f clear the favicon at the beginning of navigation 2019-09-29 22:07:08 +01:00
Vincent Sanders
b37fdcd7e2 re-indent browser window and cleanup comments
no functional change
2019-09-29 21:46:23 +01:00
Vincent Sanders
2e8861dc05 make web search icon setting work properly 2019-09-21 10:53:41 +01:00
Daniel Silverstone
63fc84a25f netsurf_exit(): Finalise DOM namespace strings
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-09-07 15:39:59 +01:00
Daniel Silverstone
4065f1e027 netsurf_exit(): Release user-agent string on exit
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-09-07 15:23:23 +01:00
Daniel Silverstone
cb33f696a2 browser_window: use about:blank if current_parameters is empty
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-23 21:57:04 +01:00
Daniel Silverstone
9a3f138f92 Browser: Do a better job of not leaking query URIs to the frontend
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-21 20:51:13 +01:00
Daniel Silverstone
2538d05bb4 browser: Turn internal nav URLs into corestring_nsurls
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-21 20:50:54 +01:00
Daniel Silverstone
b67bbe3280 browser_window: Ensure that back works like 'back to safety'
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-21 20:33:52 +01:00
Vincent Sanders
6bce06b91f fix spelling mistakes from miscellaneous event commit 2019-08-20 16:38:51 +01:00
Vincent Sanders
4dc4d8b318 add miscellaneous event to browser window callback table
extend the browser window callback table with a miscallaneous event
 entry. This is used to replace all browser window callbacks which
 take no parameters.

This reduces the API surface from seven separate calls to a single
 call with an enumeration which may be readily extended.

The initial implementation in the frontends simply calls the original
 implementations to reduce scope for errors.
2019-08-20 00:16:52 +01:00
Daniel Silverstone
c903c881e6 browser_window: handle 'back to safety' cleanly
In order to ensure we actually go back to safety, clear the
curent loading parameters, and transfer the load parameters
for where we're going into them to be closer to a real navigate,
otherwise we end up copying the wrong loading parameters over
the top when we complete the back-to-safety navigation.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-14 19:31:45 +01:00
Vincent Sanders
a3c3b2fa97 make internal url navigation check safe 2019-08-12 11:16:12 +01:00
Daniel Silverstone
1cf1ec55bc Support SSL verification through new about: handler
In doing this, also propagate why the certificates were bad
so that the page can display a reason.  We will need FatMessages
for all these.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-06 13:15:23 +01:00
Daniel Silverstone
75349e79d8 browser_window: Improve history behaviour on internal nav
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-06 11:40:59 +01:00
Daniel Silverstone
8469f4cc8e Reimplement handling of BAD_AUTH inside browser_window
We now handle authentication requests via an `about:` page
which presents a nice form built into the browser window.
In order to do this, we add internal navigation as a concept
to the browser window and we strip the 401login support from all
frontends except monkey.

The 401login callback is now intended for password safe type support
rather than an immediately interactive prompt.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-06 11:26:47 +01:00
Michael Drake
03c6ae3812 Browser window navigate: Ensure child.quirks is initialised. 2019-08-05 21:44:51 +01:00
Daniel Silverstone
99984dfc57 browser_window: Stop the throbber right at the end of handling errors
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-05 21:29:18 +01:00
Daniel Silverstone
170dc5d524 Excise the llcache query pathway.
In further preparation for the auth and cert queries being handled
as special contents from `about:` this excises the query pathway
from the llcache pretty much entirely.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-05 20:56:07 +01:00
Daniel Silverstone
bfb1bb1192 Migrate SSL certificate storage to the browser window
* Fetchers now provide the certificates before headers
* This is propagated all the way to the browser window
* When a query occurs, we retrieve it from there and fire
  the query with those stored certificates.
* The serial number is a bignum, store it as hex.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-05 18:12:47 +01:00
Daniel Silverstone
bccf101714 browser_window: Add fetch parameters and split navigate
In order to support future reload/strange navigations, split
the navigate function into two and add a stored parameters
structure which can be used to regenerate any fetch.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-05 15:44:55 +01:00
Daniel Silverstone
6ba199c7d7 Content messages: Remove ERRORCODE, rework ERROR
This reworks CONTENT_MSG_ERROR to be structured data and
removes the CONTENT_MSG_ERRORCODE message kind.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-05 14:30:30 +01:00
Vincent Sanders
2171f13ab3 enable gnu extensions to get strcasestr from string.h 2019-08-05 10:01:13 +01:00
Vincent Sanders
077237a4df remove core snapping for values set in absolute mode 2019-08-04 16:47:23 +01:00
Vincent Sanders
3be2b98cc2 change browser_window_drop_file_at_point() to take unscaled coordinates 2019-08-04 14:24:33 +01:00
Vincent Sanders
f21c41a2e5 change browser_window_redraw to use unscaled coordinates 2019-08-04 11:25:35 +01:00
Vincent Sanders
b2f5c80ef8 trivial documentation cleanups 2019-08-04 11:25:35 +01:00
Daniel Silverstone
1905200154 Add content handlers for queries
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-04 11:22:40 +01:00
Daniel Silverstone
3bd7a2ddd6 desktop: Expose llcache query handler temporarily
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-04 11:22:40 +01:00
Vincent Sanders
357e8a8ad2 remove unnecessary browser_window_redraw_rect interface 2019-08-03 21:58:21 +01:00
Daniel Silverstone
4e95b7aedf download: Include log.h
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-03 21:53:34 +01:00
Daniel Silverstone
09eb89e3c3 Migrate query dispatch up from llcache to hlcache
As a first step in refactoring query handling to be managed
by `browser_window`, this migrates the calling of the query
handler from the llcache object code up to the hlcache.

In theory this may result in multiple queries happening for one
object, but we mitigate multiple-responses in the llcache so
all should be well.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-03 21:13:19 +01:00
Daniel Silverstone
1866f3a3d1 local_history: Improve up/down navigation
When pressing up/down on a node when you can't go up/down the
window will now search for a parent node which is a child of
a branching point, and move to that and try again for the up/down
movement.  This makes it slightly more intuitive to move through
the tree.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-03 17:14:14 +01:00
Michael Drake
342b65fd76 Corewindow helper: Add documentation for cw_helper_scroll_visible() 2019-08-03 16:38:09 +01:00
Michael Drake
3938d5340b Corewindow: Sanitise scrolling API.
Now the core has a helper so that all the front ends don't need
to implement the scroll to show area API.

Now they simply have get and set scroll APIs.
2019-08-03 15:57:23 +01:00
Michael Drake
8cff4b79d6 Corewindow helper: Add helper to scroll to visible rectangle.
This takes the algorithm from the GTK front end and puts it in the
core, so it doesn't need to be implemented for every front end.
2019-08-03 15:54:46 +01:00
Vincent Sanders
402e16e5d1 improve browser_window_set_scale
Allow scale setting to use an absolute value or a relative value. This
also imposes sanity limits on the scale range (currently 0.2 to 10.0)
and removes the old junk "all" parameter.
2019-08-03 15:50:43 +01:00
Vincent Sanders
d4c01894c2 change browser_window_get_features to use unscaled coordinates 2019-08-03 14:29:06 +01:00
Vincent Sanders
0ebfff259f change browser_window_mouse_track to use unscaled coordinates 2019-08-03 14:29:05 +01:00
Vincent Sanders
0a8ed41a1a change browser_window_mouse_click to use unscaled coordinates
this means frontends no longer need to scale mouse click events thus
simplifying their implementation.
2019-08-03 14:29:05 +01:00
Daniel Silverstone
acad436d68 treeview: Support scrolling to the highlighted node
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 21:34:53 +01:00
Michael Drake
813a284e9e Local history: Consolidate thumbnail dimensions. 2019-08-02 21:23:06 +01:00
Michael Drake
ab03b204ba Local history: Treat thumbnail dimensions as CSS pixels. 2019-08-02 21:10:15 +01:00
Daniel Silverstone
818f4018d2 local_history: Handle keys for navigating local history
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 20:59:47 +01:00
Daniel Silverstone
1ee32fe962 local_history: Add concept of a cursor to the local history
So that we can eventually navigate around local history by
keyboard, add the concept of a history cursor to the local
history core window.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 20:59:08 +01:00
Vincent Sanders
552aab42e1 remove scaled parameter from get_dimensions 2019-08-02 12:26:20 +01:00
Vincent Sanders
4ae27a6592 remove scaling from internal browser get_dimensions calls 2019-08-02 12:26:19 +01:00
Michael Drake
de12be4e9c Browser window: Make invalidate gui callback use unsacled coordinates. 2019-08-01 22:34:13 +01:00
Vincent Sanders
7f612548e7 reformat and tidy up browser window code ready for corewindow changes 2019-08-01 19:51:19 +01:00
Vincent Sanders
5742762070 split browser and browser_window operations 2019-08-01 19:51:19 +01:00
Vincent Sanders
83c9d2017f Fix clamping in commit fa64763b0d 2019-08-01 14:38:20 +01:00
Daniel Silverstone
fa64763b0d browser_history.c: Clamp contents to be 1x1 at min.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-01 09:29:22 +01:00
Daniel Silverstone
22ee6621fe treeview: Correct mis-freeing in treeview_create error path
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-01 09:04:17 +01:00
Vincent Sanders
f4878b4c17 Update version for next development cycle 2019-07-17 11:39:46 +01:00
Vincent Sanders
cfdaf181a2 cleanup browser window message handling
separate out ready and done message processing to make the code
 more readable.

remove checking of content status as content_close() handles that
 itself.
2019-07-10 17:08:29 +01:00
Daniel Silverstone
03624bcf7a browser.c: Don't require > 0 chars in logging
Sometimes JavaScript chooses to log an empty string.  We should
honour that by requiring msg be a valid empty string.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-06-09 15:20:17 +01:00
Daniel Silverstone
c47cc08883 Ensure we set the defaults for the log options to those compiled in
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-28 20:49:12 +01:00
Michael Drake
b38f7cc718 Browser window: Handle the content msg for getdims. 2019-05-06 15:38:33 +01:00
Michael Drake
a4da4612c2 Logging: Bump lwc leak exit report to WARNING level. 2019-05-06 13:06:22 +01:00
Daniel Silverstone
6fdc692aa5 Support DEBUG log level in console_log
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-06 10:16:48 +01:00
Daniel Silverstone
0312c45d6f Use console_log from browser_window_console_log
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-06 09:49:46 +01:00
Daniel Silverstone
d240174741 Add console_log to gui tables
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-06 09:49:11 +01:00
Vincent Sanders
35bc2ccbb8 change content get_source_data interfaces to return uint8_t and size_t
previously these interfaces returned char * and unsigned int which was
undesirable.
2019-05-05 22:50:25 +01:00
Daniel Silverstone
8474c5d4c0 Logging: migrate and provide content interface
Migrate the console enums into netsurf/console.h and add
support so that contents can raise a message to log to
the console.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-05 22:17:10 +01:00
Daniel Silverstone
6952a23946 Provide new browser_window_console_log() API
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-05 22:17:10 +01:00
Daniel Silverstone
1146f8bf49 Add browser_window_exec
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-05 16:00:03 +01:00
Michael Drake
9501c9e68d Treeview: Consider search bar for redraw area calculation. 2019-01-19 15:12:03 +00:00
Michael Drake
83798a83b7 Treeview: Use helper to get tree height. 2019-01-19 15:11:35 +00:00
Michael Drake
c6f92f2f2a Treeview: Consolidate search bar height calculation. 2019-01-19 14:54:57 +00:00
Michael Drake
7e08cf4352 Treeview: Fix designated struct initialisation. 2018-10-04 20:24:10 +01:00
Vincent Sanders
ba4b06dc04 Update version for next development cycle 2018-08-29 10:52:51 +01:00
Michael Drake
9c29935f3c HTTP Auth: Squash error path leaks. 2018-08-15 11:11:54 +01:00
Michael Drake
81a59f2f7c HTTP Auth: Do get/set auth in the core. 2018-08-14 18:52:11 +01:00
Michael Drake
19eb051727 HTTP authentication: Add some logging when opening 401 windows. 2018-08-09 17:18:39 +01:00
Michael Drake
42459f72c1 Treeview: Allow dragging selection to a selected target.
This can be used to consolidate a scattered selection at
drop target when the the drop target happens to be part
of the selection.
2018-07-26 15:13:13 +01:00
Michael Drake
341cfc115b Treeview: Various changes to redraw rectangle for search bar. 2018-07-26 15:00:36 +01:00
Michael Drake
eeb7be1cbf Browser: Add function to get bw URL with any fragment.
This returns a ref to the URL.
2018-07-23 11:33:43 +01:00
Michael Drake
09b015bf11 Browser: Rename function to access bw URL. 2018-07-23 10:47:26 +01:00
Michael Drake
8332bf6b2a Plotters: Remove width param from path plotter.
We now use the stroke_width in the plot_style.
2018-05-23 13:48:17 +01:00
Michael Drake
66493421e6 Plotters: Change stroke width in the plot_style_t to fixed point. 2018-05-23 13:04:19 +01:00
Michael Drake
a58d97a41a Plotters: Add plot_style_fixed type, and use for font size. 2018-05-23 11:48:35 +01:00
Vincent Sanders
216fb88f58 clean up html content handler header use
Improve header use in preperation for making browser window a corewindow
2018-05-11 13:18:54 +01:00
Vincent Sanders
2a03ea3049 move html and text content handlers where they belong 2018-05-10 13:37:02 +01:00
Michael Drake
a72771f8eb Browser: Don't add history entry until after reformat.
Adding a history entry causes content_redraw() for the thumbnail.
But we can't content_redraw() until after content_reformat().

Otherwise we get HTML redraw before HTML layout has happened.
2018-04-14 17:00:18 +01:00
John-Mark Bell
7a75ec1576 History: don't update if there's no content.
Fixes #2566.
2018-01-20 18:47:26 +00:00
Michael Drake
6be6fa1b21 CSS utils: Handle new units in length conversion routines.
This causes a ripple effect of all the callsites needing
information they didn't have.
2018-01-05 13:49:51 +00:00
Michael Drake
2557335f1b Squash GCC7 warning for ‘~’ on a boolean expression. 2017-10-23 09:50:27 +01:00
Vincent Sanders
7fa4b36245 Update version for next development cycle 2017-10-15 14:44:53 +01:00
Michael Drake
8f0f44e3d1 Treeview: Ignore mouse leaving the treeview window. 2017-09-27 17:47:34 +01:00
Michael Drake
3f4bc9d284 Treeview: Deactivate search on cancel. 2017-09-25 12:02:14 +01:00
Michael Drake
9ca33854bf Browser history: Don't segfault when visiting pages with frames.
Core can't make queries of front end about browser windows with no
gui window.
2017-09-23 16:10:45 +01:00
Michael Drake
fb4be0feb2 Browser history: Create new history entries early in the READY state.
This prevents us updating the previous history entry with this page's
scroll offsets.
2017-09-23 16:03:31 +01:00
Michael Drake
628fb0ceef Browser history: Update history scroll offsets on scroll to fragment. 2017-09-23 16:02:38 +01:00
Daniel Silverstone
a43d0cec7a Add concept of browser scroll offset saving in local history 2017-09-23 14:55:52 +01:00
Michael Drake
f86e9e505d Treeview: When expanding nodes in search view, adjust height only for matching entries. 2017-09-22 09:39:47 +01:00
Michael Drake
f653c33147 Treeview: Ensure we know our treeview when doing treeview node collapse. 2017-09-22 09:39:02 +01:00
Michael Drake
73adebf263 Treeview: Cancel any search when treeview is detatched from its corewindow. 2017-09-22 09:37:50 +01:00
Michael Drake
798bfbf80f Treeview: Split out search cancel functionality. 2017-09-22 09:37:25 +01:00
Michael Drake
3b1992d3f4 Treeview: Destroy search first on treeview destruction. 2017-09-18 23:32:36 +01:00
Michael Drake
ec4b9a5dd0 Hotlist (bookmarks): Include the URL field in search. 2017-09-18 23:18:44 +01:00
Michael Drake
9b0a3cc35e Global history: Flag the URL field as searchable, as well. 2017-09-18 23:18:44 +01:00
Michael Drake
e8b9678d3e Cookie manager: Flag the domain field as searchable; more use than name. 2017-09-18 23:18:44 +01:00
Michael Drake
fae758f5a9 Treeview: Avoid searching empty treeview. 2017-09-18 23:18:44 +01:00
Michael Drake
bfdabbf478 Cookie manager: Enable search feature. 2017-09-18 23:18:44 +01:00
Michael Drake
fb5344df09 Hotlist (bookmarks): Enable search feature. 2017-09-18 23:18:44 +01:00
Michael Drake
88c9a2e12d Global history: Enable search feature. 2017-09-18 23:18:44 +01:00
Michael Drake
4e224135ec Treeview: Handle node expansion on switch between search and normal view. 2017-09-18 23:18:44 +01:00
Michael Drake
39ab8b6233 Treeview: Update search filtered display on treeview changes. 2017-09-18 23:18:44 +01:00
Michael Drake
2a294adfb1 Textarea: Add API to access current textarea contents. 2017-09-18 23:18:44 +01:00
Michael Drake
4d84222654 Treeview: Update search bar display when it loses focus. 2017-09-18 23:18:44 +01:00
Michael Drake
f211b6c89a Treeview: Only let search textarea consume mouse if not dragging. 2017-09-18 23:18:44 +01:00
Michael Drake
89dd127a80 Treeview: Update mouse handling details for filtered view.
No moves are allowed in viltered view.
Node indents are constant in filtered view.
2017-09-18 23:18:44 +01:00
Michael Drake
283fb36339 Treeview: Update treeview walker to handle walking the filtered display. 2017-09-18 23:18:44 +01:00
Michael Drake
f142b3684c Treeview: Track height of display in search view. 2017-09-18 23:18:44 +01:00
Michael Drake
45a7e6269b Treeview: Slight simplification of treeview_walk_internal(). 2017-09-18 23:18:44 +01:00
Michael Drake
0a0ad71bdb Treeview: Fix function namespace. 2017-09-18 23:18:44 +01:00
Michael Drake
db6b3441c4 Treeview: Scroll to top when treeview search bar is modified. 2017-09-18 23:18:44 +01:00
Vincent Sanders
8afeffedad fix warning due to undefined bitmap structure 2017-09-11 16:44:46 +01:00
Vincent Sanders
d2d5ef276b annotate error case fall through in switch to supress warnings 2017-09-11 16:43:25 +01:00
Vincent Sanders
8fb2fc6fc3 rationalise history icon bitmap handling to ensure correct lifetime 2017-09-10 16:06:38 +01:00
Michael Drake
c20ad21273 Treeview: Add support for rendering search filter matches as-you-type. 2017-09-10 15:53:15 +01:00
Michael Drake
c478f35c81 Treeview: Split tree-style treeview rendering out into helper. 2017-09-10 15:53:15 +01:00
Michael Drake
f41f7486ba Treeview: Add node matching to search text modification callback. 2017-09-10 15:53:15 +01:00
Michael Drake
d627b930f2 Treeview: API: Allow treeview fields to be flagged searchable. 2017-09-10 15:53:15 +01:00
Michael Drake
50688cde51 Treeview: Improve some code wrapping. 2017-09-10 15:53:15 +01:00
Michael Drake
37127c4a52 Treeview: Ensure window extents take account of search bar presence. 2017-09-10 15:53:15 +01:00
Michael Drake
43cdd74221 Treeview: Add keypress handling to the search bar. 2017-09-10 15:53:15 +01:00
Michael Drake
3a02a4ea48 Treeview: Handle mouse clicks on search bar. 2017-09-10 15:53:15 +01:00
Michael Drake
adbcb7f1b9 Treeview: Update treeview mouse handling to offset for search bar presence. 2017-09-10 15:53:15 +01:00
Michael Drake
f877069399 Treeview: Add search bar rendering to redraw function. 2017-09-10 15:53:15 +01:00
Michael Drake
3d2adf4330 Treeview: Create and destroy a textarea for search. 2017-09-10 15:53:15 +01:00