Vincent Sanders
6736ab9b72
fix risc os dialog opening relative to parent
2017-05-28 17:28:28 +01:00
Vincent Sanders
79cde2cefb
fixup windows invalidate call
2017-05-23 14:37:06 +01:00
Vincent Sanders
d6c0792541
remove cocoa frontend
...
The cocoa frontend has been broken for a few years and we have no
maintainer. It was removed from the CI six months ago and has already
bitrotted so it cannot be compiled.
2017-05-23 11:18:45 +01:00
Vincent Sanders
681586139f
update windows frontend for corewindow API change
2017-05-23 09:47:13 +01:00
Vincent Sanders
cef92b0fc7
update riscos frontend for corewindow API change
2017-05-23 09:46:56 +01:00
Vincent Sanders
3c1a6f9c52
update gtk frontend for corewindow API change
2017-05-23 09:45:37 +01:00
Vincent Sanders
ab676ec917
update atari frontend for corewindow API change
2017-05-23 09:45:24 +01:00
Vincent Sanders
6f2670ec42
update amiga corewindow implementation for changed API
2017-05-23 09:44:17 +01:00
Michael Drake
e431e6181b
RISC OS: Init core hotlist in read-only mode for external hotlist.
...
Note, the core hotlist is initialised in either normal or read-only
modes. This is done once on application startup. Toggling the
external hotlist option at runtime may cause loss of hotlist changes
made during the session.
2017-04-28 12:10:30 +01:00
Vincent Sanders
66602e6327
fixup errors introduced in set_scroll API change
2017-04-26 22:48:00 +01:00
Vincent Sanders
87ed0904e0
Merge branch 'vince/scroll-api'
2017-04-26 22:28:41 +01:00
Vincent Sanders
5fba1fb94d
Update windows frontend for set_scroll API change
2017-04-26 22:27:49 +01:00
Vincent Sanders
c100a33285
Update riscos frontend for set_scroll API change
2017-04-26 22:27:11 +01:00
Vincent Sanders
2de6386da2
Update monkey frontend for set_scroll API change
2017-04-26 22:25:23 +01:00
Vincent Sanders
0f039b4421
Update GTK frontend for set_scroll API change
2017-04-26 22:24:57 +01:00
Vincent Sanders
a696720cd6
Update framebuffer frontend for set_scroll API change
2017-04-26 22:24:29 +01:00
Vincent Sanders
db9b829df2
Update beos frontend for set_scroll API change
2017-04-26 22:24:03 +01:00
Vincent Sanders
db549331f7
Update atari frontend for set_scroll API change
2017-04-26 22:23:27 +01:00
Vincent Sanders
cbc60a906a
update amiga frontend to new set_scroll API
2017-04-26 22:22:03 +01:00
Michael Drake
4b76d2096d
GTK: Optimise tiled bitmap plotting, and scaled bitmap rendering.
...
We now let Cairo deal with the tiling. Also we don't keep cached
scaled bitmaps any more. The speedup for small bitmap tile sizes
is huge.
2017-04-26 12:38:04 +01:00
Vincent Sanders
796bb0f652
update framebuffer frontend to remove reformat API
2017-04-26 10:05:57 +01:00
Vincent Sanders
5467d5e157
update beos frontend to remove reformat API
2017-04-26 10:04:43 +01:00
Vincent Sanders
3c264d63e6
update atari frontend to remove reformat API
2017-04-26 10:03:29 +01:00
Vincent Sanders
52ee93597a
update monkey frontend to remove reformat API
2017-04-26 10:02:24 +01:00
Vincent Sanders
be7aef9231
update riscos frontend to remove reformat API
2017-04-26 10:00:51 +01:00
Vincent Sanders
1e197432f8
update amiga frontend to remove reformat API
2017-04-26 09:59:08 +01:00
Vincent Sanders
3e24dc831b
update windows frontend to remove reformat
2017-04-26 09:55:36 +01:00
Vincent Sanders
413ee474d2
update cocoa frontend with reformat API change
2017-04-26 09:52:39 +01:00
Vincent Sanders
72bd28d16e
update GTK frontend for reformat API change
2017-04-26 09:47:55 +01:00
Michael Drake
e227b3d29c
Windows: Update for core hotlist API change.
2017-04-25 12:16:33 +01:00
Michael Drake
0d8ed168b2
RISC OS: Update for core hotlist API change.
2017-04-25 12:13:07 +01:00
Michael Drake
a137de40a9
GTK: Update for core hotlist API change.
2017-04-25 12:08:32 +01:00
Michael Drake
c359bd9774
Cocoa: Update for core hotlist API change.
2017-04-25 12:06:09 +01:00
Michael Drake
229f6b5f23
Atari: Update for core hotlist API change.
2017-04-25 12:03:29 +01:00
Michael Drake
a44a0875a7
Amiga: Update for core hotlist API change.
2017-04-25 11:57:46 +01:00
Vincent Sanders
6e0f5bee55
Update beos frontend to use invalidate window area API
2017-04-23 20:59:50 +01:00
Vincent Sanders
becd3863c4
Update framebuffer frontend to use invalidate window area API
2017-04-23 20:42:37 +01:00
Vincent Sanders
6177e2930b
Update monkey frontend to use invalidate window area API
2017-04-23 20:42:37 +01:00
Vincent Sanders
b61c21c7d0
Update windows frontend to use invalidate window area API
2017-04-23 12:05:30 +01:00
Vincent Sanders
d930da3899
update gtk frontend with invalidate window API change
2017-04-23 12:05:30 +01:00
Vincent Sanders
b102950650
update atari frontend for invalidate window API change
2017-04-23 12:05:30 +01:00
Vincent Sanders
6833f526f6
update amiga frontend invalidate window API change
2017-04-19 16:32:21 +01:00
Vincent Sanders
febbdec345
update riscos frontend to invalidate window API
2017-04-19 16:27:14 +01:00
Chris Young
7e0ed132f7
Adjust the requested class versions to be the minimum required.
...
Some features of later versions are used but are either restricted to OS4 only, or runtime version checks select the appropriate routines.
Where the lowest required version cannot be determined, the version provided in the ClassAct 3.3 archive is requested.
Bugs may mean these older classes do not work as expected.
In addition, restrict the opening of listbrowser.gadget and the custom Stringview class to OS4 only.
2017-04-16 17:49:27 +01:00
Michael Drake
2c8a47b7d4
GTK: Slight optimisation to nsfont_split().
...
When we aren't modifying the line, pango_layout_get_line_readonly()
is a faster alternative to pango_layout_get_line().
2017-04-11 16:32:03 +01:00
Michael Drake
90100bbd45
GTK: Font rendering: Use same pango layout for painting as for measuring.
...
With this change we are consistent about how the pango layout
we use is created.
Now it always comes from a pango_layout_new() call on a pango context
that comes from gdk_pango_context_get().
Previously the pango layout used for painting came from a call
to pango_cairo_create_layout(), which required a global called
"current_cr" (a cairo drawing context), which is only valid
during redraw (painting). Since it was only valid during
painting, this source could not be used for pango layout
creation for the measuring code.
2017-04-11 16:13:13 +01:00
Chris Young
3df40959e3
Allow for more varied notification backmsgs
2017-03-21 18:42:41 +00:00
Chris Young
cd39367ef4
Try to avoid extraneous progress notifications
2017-03-20 20:53:39 +00:00
Chris Young
ee88653dc0
Enable displaying download progress within a notification.
...
Requires Enhancer Pack (Ringhio 53.65+)
Defaults to 0 (off) as there is currently no check to see if this version is installed.
This is currently potentially dangerous to toggle whilst a download is in progress, so cannot be changed through the GUI.
2017-03-20 20:35:40 +00:00
Vincent Sanders
e182a4d67c
fix memory leak in beos instantiate error path
2017-03-05 14:43:23 +00:00
Vincent Sanders
e190cdf926
fix uninitialised variable usage in atari ssl viewer
...
cppcheck identified uninitialised variable usage error
2017-03-05 14:40:49 +00:00
Vincent Sanders
ca942e9e26
fix use of uninitialised variables in gtk print
...
fixes errors detected by coverity.
2017-03-04 14:23:06 +00:00
Vincent Sanders
30ccc06984
fix errors from cppcheck in amiga frontend
2017-03-03 19:34:11 +00:00
Vincent Sanders
7dee82d900
remove unused computed rectangle in gtk local hostory redraw
2017-02-26 16:26:50 +00:00
Vincent Sanders
86134d9881
add local history destruction for gtk
2017-02-26 16:26:50 +00:00
Chris Young
25f9610d03
Atari packaging was copying ca-bundle twice
2017-02-25 15:39:34 +00:00
Chris Young
7a42134bee
When switching to outline fonts on OS3 reset the fonts
...
TODO: make this change in the GUI when toggling
2017-02-25 00:16:49 +00:00
Chris Young
f162ddc711
Fix menu shortcuts on non-menuclass menus
2017-02-24 23:43:51 +00:00
Vincent Sanders
d9a2c7b9c1
fix some doxygen errors
2017-02-24 14:02:31 +00:00
Vincent Sanders
1820bb7e63
fix remaining doccomment errors
2017-02-22 08:30:58 +00:00
Vincent Sanders
d35f61caa3
fix merge error in windows frontend
2017-02-19 12:02:23 +00:00
Vincent Sanders
ae45b18b45
Merge branch 'vince/localhist-corewin'
2017-02-19 11:39:47 +00:00
Vincent Sanders
0f69965805
clean up some of the doxygen generation warnings
2017-02-19 11:32:17 +00:00
Vincent Sanders
67b22a8111
cleanup windows frontend documentation comments and spelling
2017-02-17 20:44:37 +00:00
Vincent Sanders
8ddb9df377
update gtk frontend to use corewindow local history
2017-02-17 09:06:32 +00:00
Vincent Sanders
9d0943b8e5
remove redundant global context
2017-02-15 08:37:52 +00:00
Vincent Sanders
6741b6e287
clean up incorrect documentation comments from plotter API rework
2017-02-14 23:06:04 +00:00
Chris Young
0c32cbb7cb
Try to ensure we get the correct type of native BitMap
2017-02-13 18:41:38 +00:00
Chris Young
184348dada
Remove direct_render, only ever used for debugging
2017-02-13 18:30:30 +00:00
Chris Young
76d1758d7f
Make gui_globals less... global
2017-02-13 18:27:37 +00:00
Chris Young
e38f4d2f1a
Get render bitmap size via function
2017-02-13 18:16:22 +00:00
Chris Young
593ec1fbea
Manage shared pens internally unless we need multiple lists (eg. per browser_window)
2017-02-13 18:09:43 +00:00
Chris Young
075e9c0258
Alloc gui_global structure when initialising
2017-02-13 17:46:20 +00:00
Chris Young
edaa9c29f2
Remove use of global context data from Amiga frontend
2017-02-13 00:18:32 +00:00
Vincent Sanders
7b9fa8d7eb
fix plotter merge
2017-02-12 20:31:18 +00:00
Vincent Sanders
1666944c7e
Merge branch 'vince/plotctx'
2017-02-12 20:01:05 +00:00
Vincent Sanders
513366a7a2
update beos to new plotter API
2017-02-12 19:56:09 +00:00
Vincent Sanders
4361bfeace
update atari plotters to new API
2017-02-12 18:01:46 +00:00
Michael Drake
703fd10400
RISC OS: Initialise nsfont before hotlist.
...
This should allow the treeview to measure the width of label text.
2017-02-12 10:18:02 +00:00
Chris Young
7bc4f46df1
Fix OS3 build
2017-02-11 16:28:49 +00:00
Vincent Sanders
a3a7cbf06a
update amiga plot API
2017-02-11 13:57:07 +00:00
Vincent Sanders
320c0e1a75
update windows plotters to new API
2017-02-11 13:57:07 +00:00
Vincent Sanders
386951ecfc
update framebuffer to new plotter API
2017-02-11 13:57:07 +00:00
Vincent Sanders
0f43b23270
update monkey plotters to new API
2017-02-11 13:57:07 +00:00
Vincent Sanders
3ea137ca3d
update RISC OS plotters to new API
2017-02-11 13:57:07 +00:00
Vincent Sanders
78d601eb76
Update GTK plotters to use new API
2017-02-11 13:57:07 +00:00
Daniel Silverstone
10f1b7a1aa
Fix up GTK+ hotlist finalisation to clean up properly
2017-02-05 10:43:58 +00:00
Vincent Sanders
b23f55c81b
fix warnings and errors in atari frontend
2017-01-21 16:49:14 +00:00
Vincent Sanders
6075feb487
create netsurf inttypes header to have portable integer formatting macros
2017-01-21 14:20:55 +00:00
Vincent Sanders
11f11e0a7f
add missing utils header for NOF_ELEMENTS macro
2017-01-19 22:19:46 +00:00
Vincent Sanders
10248264ff
fixup cocoa form select menu includes to get rect type definition
2017-01-19 21:31:12 +00:00
Vincent Sanders
d1246c2061
add missing include of inttypes to atari cookies viewer
2017-01-19 21:30:43 +00:00
Vincent Sanders
70d700b26c
rationalise use of utils/utils.h header
2017-01-19 21:15:08 +00:00
Chris Young
a99c7a5c44
remove silly debug
2017-01-16 22:28:02 +00:00
Chris Young
2083375ec4
Perform dynamic update of Hotlist menu when using MenuClass menus
...
Currently updates on closing the Hotlist window, but could be persuaded to update on every hotlist drag if deemed necessary.
2017-01-16 22:24:05 +00:00
Chris Young
d871be3ea0
Update documentaton
2017-01-15 20:15:10 +00:00
Chris Young
d843f78c20
disable dynamic hotlist menu update
...
menuclass doesn't appear to be working as advertised
2017-01-15 20:11:31 +00:00
Chris Young
9e814fd0f0
minor menu fixes
2017-01-15 20:01:49 +00:00
Chris Young
b78d6f458e
Attempt hotlist menu refresh
2017-01-15 17:51:55 +00:00
Chris Young
b8640956d4
Ignore the other check toggle stuff with menuclass
...
The one thing we are toggling is actioned immediately when potentially changing the state in the prefs window
2017-01-15 16:13:32 +00:00
Chris Young
8e7603e6a2
Update JS menu check state when prefs option is toggled
2017-01-15 16:10:23 +00:00
Chris Young
606cc0c219
Split up menu.c into generic and gui_window-specific files
2017-01-15 16:05:07 +00:00
Chris Young
52f98c9fb2
Share menuclass object with all browser windows
2017-01-15 14:55:15 +00:00
Chris Young
24fed9d51c
Remove excess logging and fix user-added hotlist separator bars
2017-01-15 00:22:37 +00:00
Chris Young
b6f7ea536c
Fix MenuClass menu creation
2017-01-14 23:47:00 +00:00
Chris Young
e4d6d9a972
Get selected state with MenuClass compatible abstraction
2017-01-14 21:04:51 +00:00
Chris Young
313aaabdde
Replace OnMenu/OffMenu with MenuClass compatible abstraction
2017-01-14 20:51:51 +00:00
Chris Young
9f10babe64
Merge branch 'master' of git://git.netsurf-browser.org/netsurf into chris/menuclass
2017-01-14 19:58:54 +00:00
Vincent Sanders
7dab7cb43d
move plot style header to netsurf include directory
...
move plotter style header and adjust all callers to use only what they
actually require.
2017-01-13 10:03:24 +00:00
Chris Young
0d9023148d
Our hook function needs to be in UserData, not PickHook, for window.class reasons.
2017-01-12 18:46:48 +00:00
Chris Young
8ffc2e753b
Avoid accessing NULL pointer
2017-01-12 18:32:06 +00:00
Daniel Silverstone
9e03737627
Dave Higton's fix for 'tree' windows not being movable off-screen
2017-01-10 11:23:24 +00:00
Chris Young
439deddba1
Attempt to construct menu using menuclass
2017-01-09 19:06:09 +00:00
Chris Young
4fab8f830b
Queue redraws for SimpleRefresh browser windows
2017-01-08 23:10:27 +00:00
Chris Young
c19ea4deaa
Support SimpleRefresh corewindows
...
These queue redraws unlike the main browser window, which seems to work a bit better than redrawing immediately.
2017-01-08 13:59:51 +00:00
Chris Young
05e4463230
Update corewindow scrollbars when user resizes window
2017-01-08 13:21:32 +00:00
Chris Young
074afb43f4
Process in-window scrollbars using IDCMPUPDATE too
2017-01-08 01:55:45 +00:00
Chris Young
3436c097d2
Ensure we free the NM_END menu item
2017-01-08 01:29:50 +00:00
Chris Young
bf3ba5c97b
Complete Amiga corewindow implementation and migration from old treeviews
...
Merge branch 'chris/amiga-corewindow'
2017-01-08 01:09:41 +00:00
Chris Young
ae8959fa8b
Remove old tree implementation
2017-01-08 00:40:40 +00:00
Chris Young
d885c79743
remove excessive logging
2017-01-08 00:34:06 +00:00
Chris Young
22e25971ed
Working internal and tree-to-browser drags
...
tree-to-tree drags don't work unless the source supports internal drag moves (so global history to hotlist won't work as it did before)
2017-01-08 00:29:49 +00:00
Chris Young
0f58d92ab6
Dragging works internally
...
(except it doesn't, as the hotlist window is broken and doesn't respond to the mouse until selecting random menu items)
2017-01-07 18:00:48 +00:00
Chris Young
83840dca49
Possibly slightly less but still definitely broken drag handling
2017-01-07 17:43:45 +00:00
Vincent Sanders
d1693c27c0
fix windows installer generation
...
the windows installer package generation was not correctly
parameterised which resulted in fetching resources from incorrect
locations. Additionally the clean target was not removing generated
installer output.
2017-01-07 13:28:40 +00:00
Vincent Sanders
9be0f4ccaf
fixup usage of directory creation macro in Makefiles
2017-01-07 13:21:25 +00:00
Chris Young
a4bedbbaeb
Broken corewindow drag implementation
2017-01-07 00:26:15 +00:00
Chris Young
917a602dce
Conversion of Amiga hotlist manager to corewindow
2017-01-06 23:56:52 +00:00
Chris Young
a86f2c8dd3
Migrate global history to corewindow
2017-01-06 18:27:09 +00:00
Chris Young
e98a05bb08
Complete cookie manager corewindow interface
2017-01-05 18:50:38 +00:00
Chris Young
6e957396a9
fix some ui corruption on scrollbar hide
2017-01-03 20:14:41 +00:00
Chris Young
d6f6326ce9
it's not a double-click if the mouse has moved
2017-01-03 20:01:58 +00:00
Chris Young
26b98ac51b
template for menu addition in cookie manager
2017-01-03 19:43:55 +00:00
Chris Young
57a2bb8599
Merge branch 'master' of git://git.netsurf-browser.org/netsurf into chris/amiga-corewindow
2017-01-03 19:29:04 +00:00
Chris Young
695783e33b
re-structure menu code to make it useable elsewhere in the frontend
2017-01-03 19:27:40 +00:00
Chris Young
2e11f7f3cb
less cranky scrollbars
2017-01-03 18:03:43 +00:00
Chris Young
5eb7ee97ed
Basic conversion of cookie manager to core window
...
slightly broken; blank window until resized; scroll bar wrong; no menu
2017-01-03 00:26:00 +00:00
Chris Young
3b1ef784fd
Partially implement Amiga core window
...
Migrate SSL cert window to use core window
Core window implementation has some features missing but is good enough for SSL cert
I will improve it as I migrate the other windows.
2017-01-02 19:18:28 +00:00
Chris Young
2bd8eb8c0b
Fix sslcert redraw
2017-01-02 19:16:33 +00:00
Chris Young
64bb74bdaf
fix mouse click processing
2017-01-02 18:57:16 +00:00
Chris Young
48e95ad2b3
show/hide scrollbars as required
...
move the sslcert scrollbars into the window as per the style guide
2017-01-02 18:41:40 +00:00
Vincent Sanders
eb63c1cc50
update default framebuffer font path
2017-01-02 15:28:58 +00:00
Chris Young
0fafa9576e
make the window title text common
2017-01-02 15:02:32 +00:00
Chris Young
4892497a19
correct full-window redraw co-ords
2017-01-02 14:55:17 +00:00
Chris Young
4b7abde7b0
ssl cert window should not have a close gadget
2017-01-02 14:50:20 +00:00
Chris Young
98f94c4bf3
move mousemove back to the event loop and ensure the window is created cleared
2017-01-02 14:41:08 +00:00
Chris Young
e7c9b863b3
Take the redraw routine from old tree_redraw with less meddling
2017-01-02 13:47:21 +00:00
Chris Young
a9cc0792a4
migrate sslcert to use corewindow
...
predictably blank
2017-01-02 12:57:07 +00:00
Michael Drake
a5222b579b
Windows: Fix font table to return nserror.
...
We were returning true on success, which when the return value was
tested for being NSERROR_OK (0), meant it was treated as failure.
Now we correctly return NSERROR_OK on success.
2017-01-02 12:10:14 +00:00
Michael Drake
e3b2f792c0
Framebuffer: Fix internal font table to return nserror.
...
We were returning true on success, which when the return value was
tested for being NSERROR_OK (0), meant it was treated as failure.
Now we correctly return NSERROR_OK on success.
2017-01-02 12:01:40 +00:00
Michael Drake
24b7fdf438
Framebuffer: Fix freetype font table to return nserror.
...
We were returning true on success, which when the return value was
tested for being NSERROR_OK (0), meant it was treated as failure.
Now we correctly return NSERROR_OK on success.
2017-01-02 11:59:32 +00:00
Chris Young
dab118b6f7
Amga core window redraw
...
This almost certainly will not work properly
2017-01-01 23:57:35 +00:00
Chris Young
3227ed6556
handle core window mouse buttons
...
todo: support drags
2017-01-01 17:26:55 +00:00
Chris Young
eb1f39fe7d
Process mouse moves and qualifier keys
...
NB: we are doing mouse moves differently by using an IDCMP hook on space.gadget, as this gives us co-ordinates relative to the render area
GID_DRAW object when the window is defined will need tagging ICA_TARGET, ICTARGET_IDCMP
2017-01-01 16:45:27 +00:00
Chris Young
31c08f39be
Basic event loop, only handles keypresses and window closure so far
2017-01-01 14:53:37 +00:00
Chris Young
c40e8197c2
Allow for the prospect of in-window scrollbars
2017-01-01 14:34:04 +00:00
Chris Young
8196f5b602
Basic template for an Amiga core window
...
Drawing and event processing not written yet
2017-01-01 13:28:11 +00:00
Chris Young
86a0f14d0a
Make the documentation reflect reality.
...
ExtMem is enabled by default for now to give it a good workout. Disabled may be a more sensible default.
2016-12-31 14:47:33 +00:00
Chris Young
8af9a8407b
Don't unmap ExtMem immediately as:
...
(a) it is upsetting the gif decoder (although I suspect it is caused by the OS struggling with the excessive remaps)
(b) We are probably going to need to map it back in imminently for display
2016-12-31 14:43:06 +00:00
Chris Young
36b26b861f
Update to test ExtMem on OS4.1FEU1
...
Mostly works, but falls over when there are lots of tiny GIF anims on screen
2016-12-31 14:17:22 +00:00
Chris Young
43bbdc520d
Fix merge error
2016-12-31 14:04:14 +00:00
Chris Young
b7551fec72
NULL iextmem
2016-12-31 14:03:34 +00:00
Chris Young
570212add2
Don't map an extmem area is it is already mapped, just extend the lifetime
2016-12-31 14:03:34 +00:00
Chris Young
adac4d98bb
More logging
2016-12-31 14:03:34 +00:00
Chris Young
982a59744f
Revert "Disable ExtMem in palette-mapped modes"
...
This reverts commit 4db40c3f27d0ade8fc76f57cd383e5ff52ad7c93.
2016-12-31 14:03:33 +00:00
Chris Young
205abcf189
Debug logging
2016-12-31 14:03:33 +00:00
Chris Young
937dce4f2e
Schedule unmapping the extmem object to ensure it releases main memory
2016-12-31 14:03:33 +00:00
Chris Young
493036a920
Documentation
2016-12-31 14:02:40 +00:00
Chris Young
a83afda791
Disable ExtMem in palette-mapped modes
...
Something handling palette mapped images causes a freeze.
2016-12-31 14:01:29 +00:00
Chris Young
0804c43bf1
Allocate uncompressed bitmap data in extended memory.
...
This currently isn't working correctly - it simply freezes at some point after loading the page.
2016-12-31 14:01:29 +00:00
Vincent Sanders
5382ad2aa6
patch up cocoa use of depricated tree api
2016-12-31 01:04:27 +00:00
Vincent Sanders
48f868a955
move tree compatability layer to amiga frontend
2016-12-31 01:04:27 +00:00
Chris Young
76673bbf65
add a todo
2016-12-31 00:58:03 +00:00
Chris Young
5e523b608a
Simply the event loop for the shared message port
...
This now simply calls the event callback for each window, which returns TRUE is the window was closed during event processing.
The window loop now restarts if any windows were closed, which fixes a potential rare issue with delayed event processing.
2016-12-31 00:51:05 +00:00
Chris Young
9df30eb78f
Update local history window to use event callback
2016-12-31 00:43:06 +00:00
Chris Young
d8eec1b048
Update print window to use event callback
2016-12-31 00:37:59 +00:00
Chris Young
d9c8d1c70c
Update 401 login window to use event callbacks
2016-12-31 00:30:42 +00:00
Chris Young
d90e82d3f1
Simplify closing of windows on quit
...
If they have a close callback it will be called.
Some windows are attached to browser windows and closed elsewhere without using the callbacks.
2016-12-31 00:14:44 +00:00
Chris Young
4893a9f9af
Update download window to use event callbacks
2016-12-31 00:11:06 +00:00
Chris Young
6ba5edaede
Update GUI options window to use event callback
2016-12-31 00:02:21 +00:00
Chris Young
47379c0444
Update treeviews to use event callback
2016-12-30 13:06:42 +00:00
Chris Young
9379a64c6d
Start tidying up Amiga event-handling code
...
As we used a shared message port, we call different event-handling functions for different window types.
This changes that so we register the event-handler as a callback so we can handle event processing for all windows generically.
Currently the main browser window and find window use the new approach, so the handling still has a long list of window types.
This should also make window_list private to gui.c
2016-12-30 00:59:12 +00:00
Michael Drake
7ca75a4cee
RISC OS: Fix hotlist save.
...
The read and write paths for hotlist are different:
#define CHOICES_PREFIX "<Choices$Write>.WWW.NetSurf."
NSOPTION_STRING(hotlist_path, "NetSurf:Hotlist")
NSOPTION_STRING(hotlist_save, CHOICES_PREFIX "Hotlist")
This switches to using hotlist_save for writing.
2016-12-29 15:15:41 +00:00
Michael Drake
7fc6e6c0c0
Atari: Fix typo.
2016-12-29 15:08:44 +00:00
Michael Drake
c60ab801f3
Windows: Update for new hotlist API.
...
This allows the hotlist backend to work before the hotlist window opens.
2016-12-29 15:01:07 +00:00
Michael Drake
512a4335da
Atari: Update for new hotlist API.
2016-12-29 15:01:07 +00:00
Michael Drake
354656b442
RISC OS: Update for new hotlist API.
...
This allows the hotlist backend to work before the hotlist window opens.
2016-12-29 14:51:43 +00:00
Michael Drake
4e5e9f1f5a
gtk: Update for new hotlist API.
...
This allows the hotlist backend to work before the hotlist window opens.
2016-12-29 14:49:39 +00:00
Vincent Sanders
5f32f9ddd6
Revert "RISC OS: Squash unused variable."
...
This reverts commit 7aa1dd601e
.
2016-12-29 12:56:38 +00:00
Vincent Sanders
e7598fb0b5
fix unexpected opening of windows in riscos
...
closed windows were re-opened in RISC OS because corewindow updates
failed to take into account their current state when teh core updated
the content size.
2016-12-29 12:54:38 +00:00
Michael Drake
7b7b1507d0
Revert "RISC OS: Ensure core's hotlist_init is called on startup."
...
This reverts commit 743637a8d2
.
2016-12-29 12:21:03 +00:00
Michael Drake
2917af0a96
RISC OS: Squash set but unused variable.
2016-12-29 12:01:48 +00:00
Michael Drake
7aa1dd601e
RISC OS: Squash unused variable.
2016-12-29 12:01:29 +00:00
Michael Drake
16b8d524e8
RISC OS: Squash unused variable.
...
This has been redundant since frames were moved into the core.
The all frames checkbox should be removed from the scale dialogue.
2016-12-29 12:00:03 +00:00
Michael Drake
07456db2dc
RISC OS: Squash use of uninitialised variable.
2016-12-29 11:59:27 +00:00
Michael Drake
743637a8d2
RISC OS: Ensure core's hotlist_init is called on startup.
...
Until the core hotlist_init is called, it is impossible to add
pages to the hotlist. This means we need to ensure it is called
on startup, rather than when first showing the hotlist.
2016-12-29 11:45:21 +00:00
Michael Drake
49b1b0b3a5
Atari front end doesn't need the tree compat layer.
2016-12-28 19:17:23 +00:00
Vincent Sanders
96e073a297
Merge branch 'vince/ro-corewindow'
...
Conflicts:
frontends/riscos/sslcert.h
2016-12-28 16:14:19 +00:00
Vincent Sanders
af6139bcb5
remove RISC OS treeview wrapper implementation
2016-12-28 16:07:04 +00:00
Vincent Sanders
337f9948d5
Update RISC OS ssl certificate viewer to core window interface
2016-12-28 15:26:02 +00:00
Vincent Sanders
72d3bec792
Update RISC OS global history to use core window interface
2016-12-28 15:26:02 +00:00
Vincent Sanders
af3a78060f
Update RISC OS hotlist to use core window interface
2016-12-28 15:26:02 +00:00
Vincent Sanders
05a35725d1
Update RISC OS cookie window to use core window interface
2016-12-28 15:25:57 +00:00
Vincent Sanders
e2bad05338
RISC OS corewindow implementation
2016-12-28 15:25:46 +00:00
Vincent Sanders
c7cf2d18de
reformat riscos treeview source so it can be understood
2016-12-28 15:25:46 +00:00
Vincent Sanders
f68a3f9d61
improve gtk corewindow documentation
2016-12-26 13:24:22 +00:00
Vincent Sanders
f27cc16d42
improve doc comments in windows corewindow handling
2016-12-26 13:24:12 +00:00
Michael Drake
54f01c7d7b
RISC OS: Remove unused function declaration.
2016-12-18 13:02:02 +00:00
Vincent Sanders
6c441fd4b1
remove unecessary include of depricated tree interface from beos
2016-12-16 15:14:26 +00:00
Chris Young
9d77dc83bd
Never warn the user about multiple tabs being open when we're in the process of quitting.
2016-12-15 18:23:52 +00:00
Chris Young
f04103398b
Avoid leaking memory when typing
2016-12-11 23:04:13 +00:00
Chris Young
7318b5b65a
RISC OS: Free nsoptions
2016-12-11 16:47:14 +00:00
Chris Young
ba0895121b
Ensure we close all opened resources when we early exit
2016-12-11 16:16:11 +00:00
Chris Young
9d694f56bb
Tidy-up init a bit
2016-12-11 16:04:16 +00:00
Chris Young
433418a8e9
Finalise bitmap code last as purging the cache needs it
2016-12-11 15:24:56 +00:00
Chris Young
34a587849c
Move as much closedown as possible into gui_quit
2016-12-11 15:18:08 +00:00
Chris Young
68e8152f3e
Ensure OpenURL list is always freed
2016-12-07 00:00:54 +00:00
Chris Young
8f9a652774
Revert "Ensure we free the pen list memory"
...
This reverts commit 74d7c2d2c2
.
2016-12-06 23:58:47 +00:00
Chris Young
ecf2fdf612
Free the correct memory pointer
2016-12-06 23:39:46 +00:00
Chris Young
74d7c2d2c2
Ensure we free the pen list memory
2016-12-06 23:39:04 +00:00
Chris Young
a440907b78
Fix memory leak
2016-12-06 23:34:24 +00:00
Chris Young
c0a15de1e4
Ensure pool init returns non-NULL so it isn't treated as an error.
2016-12-06 23:23:01 +00:00
Chris Young
2b6a416970
Replace custom itempool functions with malloc/free as clib handles these more efficiently than our pools.
2016-12-06 23:17:40 +00:00
Chris Young
f38b72a583
Avoid potential memory leak
2016-12-06 17:54:58 +00:00
Chris Young
2dd97b0b8e
Fix brokenness caused by recent changes
2016-12-05 23:32:55 +00:00
Chris Young
4b91c43003
Add missing nsoption_finalise
2016-12-05 23:08:17 +00:00
Chris Young
2fe884be65
Fix memory leak searching for resources
2016-12-05 20:30:48 +00:00
Chris Young
71afaacc80
Fix last tab title not being freed
2016-12-05 20:22:21 +00:00
Chris Young
2a9e89de75
Fix potential memory leak
2016-12-05 19:31:04 +00:00
Chris Young
54e31b65d1
Guard against crashing when opening the splash screen
...
Add extra logging for when things go wrong at this stage
2016-11-28 19:35:15 +00:00
Chris Young
0bc32aa654
Add more clib2 stats
...
JSON formatted data can now be saved with ARexx "SLABSTATS stats.json"
2016-11-27 17:10:03 +00:00
Chris Young
4fb38f574a
AmigaOS low memory handler attempt 2
...
Neither freeing slabs nor purging the cache are safe to call from interrupts, so instead we schedule these to run on NetSurf's process.
If NetSurf is busy, there may be significant delay, so the priority is set low to ensure this is called only when other - faster - memory handlers have been exhausted.
I don't know if this works, or is sane, as I'm not entirely sure how to test it.
Something similar needs adding for OS4 but low memory is less of an issue there, so will see if this works on OS3 first.
2016-11-27 16:25:27 +00:00
Chris Young
a76a36915c
Ensure the memory for the mem-handler interrupt is allocated
2016-11-27 15:36:30 +00:00
Chris Young
c4b8857789
Add low memory handler to purge unused slabs on OS3
...
TODO: find some way to purge NetSurf's memory cache safely from another process
2016-11-27 15:31:18 +00:00
Chris Young
2043223788
Reduce frequency of diskfont open/close
2016-11-27 14:57:32 +00:00
François Revol
811d7b7175
haiku: close parenthesis in version string
...
they are unmatched due to the CI ifdefery
2016-11-21 21:34:57 +01:00
François Revol
540c6ee0ef
haiku: use logging instead of fprintf
2016-11-21 21:02:55 +01:00
François Revol
cd3720d5b6
haiku: Fix popup menu
...
Only the reload entry is enabled for now.
2016-11-21 21:02:55 +01:00
François Revol
30ca72b32e
haiku: Rework menu accelerator handling
...
Instead of splitting accel keys from the item string, we go the GTK
way of using a separate Accel-suffixed string id.
2016-11-21 18:20:47 +01:00
François Revol
b5fd0ae1ed
haiku: catch NetPositive messages also in the Window
...
At least Pe sends them there for its Help menu.
2016-11-21 16:51:40 +01:00
François Revol
31b1c72ddc
haiku: add a file extension when viewing source
...
Pe still requires it to detect the language, this makes it easier.
2016-11-21 16:38:22 +01:00
François Revol
35146ef0c8
haiku: try to open source in preferred app for source-code first
...
We still fall back to the hardcoded list, but we first check for the
user's prefered code editor.
2016-11-21 16:16:34 +01:00
Vincent Sanders
bcce8cc7b4
fix spelling of retrived
2016-11-21 00:07:13 +00:00
Chris Young
d436992eb2
Reduce slab size to 2K as very few allocations are above that.
2016-11-20 17:16:18 +00:00
Chris Young
5ce3b93457
Get clib2 slab usage
...
Calling ARexx function "SLABSTATS" will dump the current stats to the ns log
2016-11-20 17:12:18 +00:00
Chris Young
17128fd0ad
Move ItemPool compatiblity into the header and rename
2016-11-20 16:30:33 +00:00
Chris Young
eab6c0c99e
remove ami_misc_allocvec_clear
2016-11-19 21:55:15 +00:00
Chris Young
15a6871491
Add missing includes
2016-11-19 21:52:46 +00:00
Chris Young
0513782fe3
Correct revision number
...
I think my note about AmigaOS version numbering was misleading.
2016-11-19 21:44:42 +00:00
Chris Young
05fa29ba8b
more allocvec/malloc changes
2016-11-19 21:40:32 +00:00