Commit Graph

371 Commits

Author SHA1 Message Date
Chris Young d2b2000367 Vertically centre the main row of toolbar gadgets as it looks much neater.
svn path=/trunk/netsurf/; revision=9752
2009-12-20 21:39:43 +00:00
Chris Young f723272cf2 Make favicons work properly with tabs
svn path=/trunk/netsurf/; revision=9742
2009-12-19 13:42:48 +00:00
Chris Young b53a3273c1 Preliminary favicon support - doesn't display properly due to endian issue in
libnsbmp

svn path=/trunk/netsurf/; revision=9740
2009-12-19 00:39:52 +00:00
Chris Young 46eaa6a058 Simple web search implementation
svn path=/trunk/netsurf/; revision=9735
2009-12-18 17:52:31 +00:00
John Mark Bell 355799ce0b Merge branches/MarkieB/gtkmain to trunk.
svn path=/trunk/netsurf/; revision=9729
2009-12-17 23:55:02 +00:00
Chris Young 4346b2b62b Allow hiding of Docky icon by setting hide_docky_icon:1
(bit of a workaround involved as REGAPP_NoIcon doesn't
appear to check the tag value)

svn path=/trunk/netsurf/; revision=9725
2009-12-13 12:14:43 +00:00
Chris Young 4bcd8ee1ba Added keyboard navigation of tabs, using Alt+Left/Right
svn path=/trunk/netsurf/; revision=9724
2009-12-13 11:52:58 +00:00
Chris Young bc4abe9087 Fix some potential issues with lists not being freed properly
svn path=/trunk/netsurf/; revision=9677
2009-11-15 23:11:41 +00:00
Chris Young 976e5db268 Missing break
svn path=/trunk/netsurf/; revision=9662
2009-11-04 08:14:17 +00:00
Chris Young fcaa11f548 Added F5 for reload, purely because I'm getting fed up of people asking for it.
svn path=/trunk/netsurf/; revision=9661
2009-11-04 08:06:52 +00:00
Chris Young dcbe08d458 PageUp/Down, Home/End etc page scrolling now working.
Most menu shortcuts now available even when the pointer is hovering over the browser
window (menu disabled mode)
RAmiga-R (reload page) and RAmiga-U (activate URL bar) available from keyboard
shortcuts but not from the menu.
This fixes unsat bug #81

svn path=/trunk/netsurf/; revision=9660
2009-11-03 23:17:57 +00:00
Chris Young 1b89eb8397 Basic keyboard scrolling
svn path=/trunk/netsurf/; revision=9658
2009-11-02 23:12:28 +00:00
Chris Young e5b8264dd8 New key handling code borrowed from the treeview branch.
svn path=/trunk/netsurf/; revision=9657
2009-11-02 23:02:53 +00:00
Chris Young 019eff10c1 Amiga print UI
svn path=/trunk/netsurf/; revision=9655
2009-11-01 14:53:04 +00:00
Chris Young 9f6a4d9745 Revert previous change, causing instability.
svn path=/trunk/netsurf/; revision=9649
2009-10-16 19:49:56 +00:00
Chris Young 4059d2b096 Fix-up the timer.device scheduler and reinstate it as default. Unfortunately this
doesn't remove the need for INTUITICKS messages as we still need to break out for page
reflow (which doesn't use the scheduler), but it should make animations more accurate.

svn path=/trunk/netsurf/; revision=9648
2009-10-15 21:35:29 +00:00
Chris Young 8753b5a35d Implement the ability to stay in memory if all windows are closed. This and no window
on startup can be used together to make NetSurf "quick launch" and always available.

svn path=/trunk/netsurf/; revision=9603
2009-10-03 11:00:10 +00:00
Chris Young 12ac8eb215 Add options for "no quit on last window close" (disabled - not implemented) and
"no window on startup"

svn path=/trunk/netsurf/; revision=9601
2009-09-29 18:24:19 +00:00
Chris Young cf1d796491 Added application.library messages New Doc and Open Doc.
Added option_startup_no_window to allow NetSurf to be opened without an initial
browser window (unless a URL is specified on the command line or by extended
selection)

Provision for option_close_no_quit for NetSurf to stay in memory when all browser
windows are closed (not implemented yet)

svn path=/trunk/netsurf/; revision=9600
2009-09-28 22:17:09 +00:00
Chris Young abf51104fe Register with application.library.
Icon appears on AmiDock - ToFront, Open Prefs and (Force) Quit commands work.
Open (and maybe Print) Document could potentially be added.
Not sure if AppIcon-style drag'n'drop works with application.library-registered apps
by default (once Open supported).

svn path=/trunk/netsurf/; revision=9599
2009-09-28 18:00:40 +00:00
Chris Young 2b6b97e6c1 Fix obviously wrong logic and tweak the status display area frame slightly so it looks
better (or at least fits in with the OS look better)

svn path=/trunk/netsurf/; revision=9592
2009-09-17 21:44:07 +00:00
Chris Young a35b96ace7 Modify bottom border status gadget so that it has a frame. When the gadget is
refreshed now it will erase the gadget area before redrawing, allowing to use
RefreshGList instead of RefreshWindowFrame.  This is significantly faster as
RefreshWindowFrame redraws more than the function name suggests.

svn path=/trunk/netsurf/; revision=9577
2009-09-15 22:49:33 +00:00
Chris Young 7f369b829b Fix crash when switching to tabs that are still loading
svn path=/trunk/netsurf/; revision=9562
2009-09-08 22:59:47 +00:00
Chris Young a3d57f2c3c Indicate when tabs are loading. Currently this only works with the AISS theme (and
probably only under OS4.1), showing a yellow flag on tabs which are currently loading.

In the future this could be expanded to show a proper animated throbber on loading
tabs, maybe instead of the main throbber.

svn path=/trunk/netsurf/; revision=9548
2009-09-06 11:23:35 +00:00
Chris Young dac634f6fd Make throbber operate correctly according to the tab currently displayed.
svn path=/trunk/netsurf/; revision=9547
2009-09-06 10:48:14 +00:00
Chris Young 3c72fddaa0 Make the new horizontal scroller work the same way as the old one and teh vertical
scroller.

svn path=/trunk/netsurf/; revision=9536
2009-09-04 22:00:09 +00:00
Chris Young ee6e1df605 Fix kiosk mode
svn path=/trunk/netsurf/; revision=9535
2009-09-04 18:10:15 +00:00
Chris Young d9deb85bf3 Remove unnecessary RethinkLayout() for tabs under OS4.1 (removes flicker when
compositing off)

svn path=/trunk/netsurf/; revision=9530
2009-08-31 22:10:05 +00:00
Chris Young f43b786c50 Support Alt
svn path=/trunk/netsurf/; revision=9529
2009-08-31 21:48:57 +00:00
Chris Young 8d72c1106c Fix fast scrolling when scaled
svn path=/trunk/netsurf/; revision=9524
2009-08-31 12:12:00 +00:00
Chris Young 057bbb634f Fix box redraw when scaled, fast scrolling now works in the upwards direction, but
not down :)

svn path=/trunk/netsurf/; revision=9522
2009-08-31 12:05:35 +00:00
Chris Young 984973015a Increase mouse wheel scroll speed again. This should bring it up to the same speed as
OS4's built-in stuff.

svn path=/trunk/netsurf/; revision=9516
2009-08-31 10:16:23 +00:00
Chris Young 44ffe7b85d Fix scroll position
svn path=/trunk/netsurf/; revision=9514
2009-08-30 22:05:09 +00:00
Chris Young 06107bf050 Mostly working scale. Fast scrolling doesn't work when scaled, and neither does
updating boxes (GIF anims etc)

svn path=/trunk/netsurf/; revision=9513
2009-08-30 21:43:14 +00:00
Chris Young 768fea80aa revert accidental change
svn path=/trunk/netsurf/; revision=9506
2009-08-30 10:22:26 +00:00
Chris Young 78834c0036 Show printing progress
svn path=/trunk/netsurf/; revision=9505
2009-08-30 10:14:16 +00:00
Chris Young 68610c1fb1 Attempt to fix kiosk_mode, still not working.
svn path=/trunk/netsurf/; revision=9499
2009-08-29 15:57:23 +00:00
Chris Young 138d0754c9 Font scaling - scaling now works for printing, need 2nd attempt at implementing it for
browsing.

svn path=/trunk/netsurf/; revision=9496
2009-08-29 14:24:47 +00:00
Chris Young 0b6f91dd61 Changes for asynchronous printing. Currently disabled, as NetSurf window doesn't
redraw while printing in progress

svn path=/trunk/netsurf/; revision=9495
2009-08-29 14:00:57 +00:00
Chris Young 4e9480e6c7 Fix page dragging etc
svn path=/trunk/netsurf/; revision=9493
2009-08-29 10:16:19 +00:00
Chris Young 965329b600 gadget tag/position tweaks
svn path=/trunk/netsurf/; revision=9491
2009-08-28 23:26:55 +00:00
Chris Young d3039fea7b Move status bar to bottom window border, as per NetSurf standard. Thanks to Thomas
Rapp and others for info on how to do this.
Currently there seems to be a glitch which is cancelling events, making typing in
gadgets very difficult and mouse dragging almost impossible.

svn path=/trunk/netsurf/; revision=9490
2009-08-28 23:12:18 +00:00
Chris Young 3295d71a2f First attempt at Amiga printing support. Doesn't quite work - a column on the left
will print, but the rest of the page is an unexpected pastel pink.

svn path=/trunk/netsurf/; revision=9410
2009-08-23 15:59:41 +00:00
Chris Young 8d34071b8e Tweak throbber anim speed
svn path=/trunk/netsurf/; revision=9348
2009-08-18 13:06:28 +00:00
Chris Young 45e05288f0 Fix compile
svn path=/trunk/netsurf/; revision=9302
2009-08-14 17:53:28 +00:00
Chris Young 3d3bd874dc Disable resize with contents. This should stop the resize lockups once and for all.
svn path=/trunk/netsurf/; revision=8950
2009-08-01 13:16:16 +00:00
John Mark Bell ddeadd1c02 Merge LibCSS port to trunk.
svn path=/trunk/netsurf/; revision=8752
2009-07-23 23:05:34 +00:00
Chris Young b20949a350 Replace URL bar with custom StringView class. Thanks to Stephen Fellner, Rene W Olsen
and Joerg Strohmayer.

svn path=/trunk/netsurf/; revision=8723
2009-07-23 11:23:34 +00:00
Chris Young 0ef4d08580 Fix OS4.0 key duplication issue (unsat bug#62)
and there was much rejoicing

svn path=/trunk/netsurf/; revision=8617
2009-07-18 11:36:41 +00:00
Chris Young 01d87bd5ba Remove old progress pointer hack
svn path=/trunk/netsurf/; revision=8562
2009-07-15 17:44:25 +00:00
Chris Young 801ef751af Move all the layers code into plotters.c and refactor to use gui_globals structure
Purge option_direct_render

svn path=/trunk/netsurf/; revision=8425
2009-07-09 18:52:55 +00:00
Chris Young 651228e64d Migrate plotters to use a gui_globals pointer rather than RastPort.
svn path=/trunk/netsurf/; revision=8378
2009-07-07 19:28:34 +00:00
Chris Young ab2391ade1 Don't make the global bitmap a friend of the screen bitmap, instead allocate it so
that alpha blitting and Cairo operations work correctly.  Running NetSurf on a 16-bit
screen is now possible without bits of the display missing or obliterated, however it
does suffer a small performance hit.

svn path=/trunk/netsurf/; revision=8331
2009-07-05 18:15:55 +00:00
Chris Young 5886f232c4 turn iconification back off as it isn't working reliably.
svn path=/trunk/netsurf/; revision=8312
2009-07-04 18:01:46 +00:00
Chris Young f611631a5f Basic iconification support
svn path=/trunk/netsurf/; revision=8310
2009-07-04 16:12:27 +00:00
Chris Young afbc9e9b6e Remove debug code
svn path=/trunk/netsurf/; revision=8178
2009-06-30 07:23:14 +00:00
Chris Young 3f59ba7662 Should be static, attempt to fix odd crash.
svn path=/trunk/netsurf/; revision=8176
2009-06-30 07:02:52 +00:00
Chris Young ec2dba8579 Make all the buttons on the first two options tabs work.
May need to improve theme selection so it at least checks it is a valid theme and/or
provide a list of themes instead of a file requester.
Language selection could benefit from also having a drop-down chooser gadget too.

svn path=/trunk/netsurf/; revision=7910
2009-06-21 22:12:52 +00:00
Chris Young 040da4cf7b Amiga Options GUI template code and a bonus "redraw" option in the menu
svn path=/trunk/netsurf/; revision=7900
2009-06-20 22:29:43 +00:00
Chris Young 856fde9a4e Don't ask for a screenmode when one is not set unless we actually need it.
Immediately save Options once the user has selected a screenmode.
This now makes it possible to ask whether they want NetSurf to run on the Workbench or
a new NetSurf screen during installation.

svn path=/trunk/netsurf/; revision=7895
2009-06-20 13:29:30 +00:00
Chris Young 98092d7f16 If the extent changes, make sure the next redraw does the entire visible area,
otherwise it goes a bit weird in faster_scroll mode.

svn path=/trunk/netsurf/; revision=7889
2009-06-20 09:57:26 +00:00
Chris Young 85c2f83dc9 Actually return a value if the function requires it.
More faster_scroll fixes, redraws properly now when clicking anchor links.

svn path=/trunk/netsurf/; revision=7885
2009-06-19 18:32:31 +00:00
Chris Young f0acd5bfb7 Allow setting throbber speed in Theme definition file
svn path=/trunk/netsurf/; revision=7807
2009-06-15 18:41:14 +00:00
Chris Young abdfed143c reset scroll values to reflect position for new content
svn path=/trunk/netsurf/; revision=7800
2009-06-14 12:34:53 +00:00
Chris Young 0c1d88b218 Ensure page fully updates when faster_scroll active and clicking on a link with an
anchor point.

svn path=/trunk/netsurf/; revision=7710
2009-06-04 18:19:27 +00:00
Chris Young c4e27563c4 Pass scroller position to ami_do_redraw_limits, this fixes gaps and overlaps in fast
scroll mode.
Make faster_scroll the default as it is useful now.  Will remove the option to disable
it after further testing.

svn path=/trunk/netsurf/; revision=7703
2009-06-03 19:44:43 +00:00
Chris Young 42ba4e23a5 Fix new pages not always rendering when using faster_scroll
svn path=/trunk/netsurf/; revision=7692
2009-06-03 07:14:24 +00:00
Chris Young df678b6d60 Basic SSL certificate verification for Amiga version
Treeview window is not browseable (TimedDOSRequester is blocking)
Needs some strings writing

svn path=/trunk/netsurf/; revision=7675
2009-05-31 22:12:42 +00:00
Chris Young 3a2df205c2 Don't fast scroll when the user is scrolling more than one window's worth in any
direction

svn path=/trunk/netsurf/; revision=7674
2009-05-31 20:14:15 +00:00
Chris Young a49b8cdcf0 set_scroll should only activate faster_scroll if it is set in the options
svn path=/trunk/netsurf/; revision=7669
2009-05-31 15:19:46 +00:00
Chris Young 0ccf0e0d97 Fix minor problems with tab switching
svn path=/trunk/netsurf/; revision=7668
2009-05-31 15:17:35 +00:00
Chris Young 8e8d36156a Fix faster_scroll
svn path=/trunk/netsurf/; revision=7667
2009-05-31 15:05:26 +00:00
Chris Young 1e42e3a7ce Fully clear clipregion, stops eg. only a little bit of images being shown if the previous
page had an animated GIF

svn path=/trunk/netsurf/; revision=7662
2009-05-31 10:14:55 +00:00
Chris Young c277afc6d9 This really fixes the resize bug (#63)
svn path=/trunk/netsurf/; revision=7630
2009-05-29 22:56:49 +00:00
Chris Young 6770f7b9f9 Re-check window dimensions before copying contents in. This stops window borders
getting corrupted and crashes when resizing (unsat bug#63)

svn path=/trunk/netsurf/; revision=7628
2009-05-29 22:30:15 +00:00
Chris Young 6ac80f3e05 Vague attempt at direct rendering
THIS IS NOT AND PROBABLY NEVER WILL BE IN ANY WAY USEFUL EXCEPT FOR DEBUGGING!
In particular it will probably crash when opening/closing multiple windows and the
display is offset incorrectly.

svn path=/trunk/netsurf/; revision=7547
2009-05-25 22:32:38 +00:00
Chris Young 181615779d Change back to Smart Refresh windows
svn path=/trunk/netsurf/; revision=7543
2009-05-25 10:13:53 +00:00
Chris Young 8ac6d344f5 Prevent gadget and menu disable/enable magic from acting on frames (this fixes bug#207
at bugs.os4depot.net)

svn path=/trunk/netsurf/; revision=7541
2009-05-24 13:13:27 +00:00
Chris Young 3a93fd1085 Fix crash when pages are loading
svn path=/trunk/netsurf/; revision=7537
2009-05-23 19:06:58 +00:00
Chris Young 6f120338ed Add ability to copy SVGs to the clipboard and save in IFF DR2D format.
svn path=/trunk/netsurf/; revision=7523
2009-05-19 07:23:56 +00:00
Chris Young 47fa825ae0 Add Save as IFF to main menus
Disable menu items that aren't relevant for current content

svn path=/trunk/netsurf/; revision=7521
2009-05-17 10:40:42 +00:00
Chris Young c523d9f20b Populate option_accept_language with the user's preferred languages, in order.
LangNames now contains the language codes for all languages available with OS4.1, plus
Welsh (http://aminet.net/package/misc/misc/welsh_lang).  There are no other 3rd party
.language files available for OS4 that I am aware of, but any new ones can easily be
added if/when they become available.

These may now not be exactly the same as the RISC OS names, but that can be resolved
by renaming directories for new translations (current ones are OK), or reverting back
to the AmigaOS names for Messages files paths.

svn path=/trunk/netsurf/; revision=7452
2009-05-09 18:56:12 +00:00
Chris Young 14a6c56748 CompositeTags() was clipping one pixel too close.
svn path=/trunk/netsurf/; revision=7432
2009-05-07 22:40:52 +00:00
Chris Young e7cbf49fb9 Some optimisations, makes page rendering much quicker at least on OS4.1.
svn path=/trunk/netsurf/; revision=7431
2009-05-07 18:40:33 +00:00
Chris Young 84873deeff Add Abort button to download window
svn path=/trunk/netsurf/; revision=7384
2009-04-30 18:40:26 +00:00
Chris Young 160ec892e1 Make it a bit easier to see the text under the cursor, by complementing rather than
obliterating.

svn path=/trunk/netsurf/; revision=7372
2009-04-29 17:05:40 +00:00
Chris Young 98996a4a97 Ignore screen_modeid if it isn't a hex value
svn path=/trunk/netsurf/; revision=7326
2009-04-26 21:27:48 +00:00
Chris Young 00e37846b2 Speed up scrollwheel scrolling due to complaints :)
Restrict screen mode requester to 24 and 32-bit modes only, as the alpha blitting
doesn't work in 16-bit modes (may not work in 24-bit either, but I'm not sure and
Classic OS4 users are likely to have 24-bit cards so don't really want to restrict it
further)

svn path=/trunk/netsurf/; revision=7316
2009-04-25 21:51:40 +00:00
John Mark Bell daf7a52dd6 Hubbub is no longer optional.
Remove libxml2 parser binding.

svn path=/trunk/netsurf/; revision=7115
2009-04-17 00:54:27 +00:00
Chris Young 9f4851d288 Fix ARexx download queue - GummiSurf now works, and manual ARexx-initiated downloads
will be processed in turn rather than simultaneously.

svn path=/trunk/netsurf/; revision=7075
2009-04-14 18:51:10 +00:00
Chris Young 9f39880e8c fix compilation
svn path=/trunk/netsurf/; revision=7054
2009-04-06 17:25:21 +00:00
John Mark Bell 2531079866 Revert r6973. Apparently, it causes loads of problems.
svn path=/trunk/netsurf/; revision=7047
2009-04-05 19:17:24 +00:00
Chris Young 76665e8886 Update to use browser_window_refresh_url_bar()
svn path=/trunk/netsurf/; revision=7000
2009-03-30 18:04:30 +00:00
Chris Young 736cb29be0 Stop screen updates going odd when animated GIFs are in the page.
Much simpler tests than before too.

svn path=/trunk/netsurf/; revision=6985
2009-03-29 10:53:51 +00:00
Chris Young 2785f18af5 Mouse scrollwheel support
svn path=/trunk/netsurf/; revision=6976
2009-03-28 23:51:39 +00:00
Chris Young 67719a64e6 Add a note about those lines I commented out earlier.. have remembered why they were
there.  Leave them commented out pending a fix.

svn path=/trunk/netsurf/; revision=6975
2009-03-28 20:36:07 +00:00
Chris Young b180dd1a11 Stop cursor drawing off the page
Implement gui_window_save_as_link
Fix warnings


svn path=/trunk/netsurf/; revision=6970
2009-03-28 15:43:12 +00:00
Chris Young 2bf6bd72b8 Remove some checks before redraw, as they only seem to achieve stopping redraws
happening when we need them.

svn path=/trunk/netsurf/; revision=6969
2009-03-28 14:44:16 +00:00
Chris Young 2cfe83a921 Minor fixes
svn path=/trunk/netsurf/; revision=6967
2009-03-28 12:56:59 +00:00
Chris Young a28f64386e Implement a download queue for ARexx-initiated downloads. Working manually, however
GummiSurf is causing it to crash for some reason.

Split download/save routines off into a new file.

svn path=/trunk/netsurf/; revision=6966
2009-03-28 12:50:19 +00:00
Chris Young 487223feb9 Make NetSurf look a little closer to the default OS4 theme
svn path=/trunk/netsurf/; revision=6950
2009-03-27 20:04:34 +00:00
Chris Young 4a8b0ca787 Call bitmap_save() for native drag saves.
(still does nothing as bitmap_save isn't implemented yet)

svn path=/trunk/netsurf/; revision=6903
2009-03-26 18:22:24 +00:00
Chris Young 8d58a8b87b Add save_complete to drag save
svn path=/trunk/netsurf/; revision=6896
2009-03-26 08:26:01 +00:00
Chris Young 07af1bd8fd Change pointer imagery when dragging
Disable drag saving when not running on the Workbench screen

svn path=/trunk/netsurf/; revision=6882
2009-03-25 19:59:10 +00:00
Chris Young be609c1dfa Some sort of drag-save implementation.
Limitations:
  NetSurf must be running on the Workbench screen
  Only drags to Workbench disk/drawer windows or icons are supported
  Text selection drags are always called netsurf_text_file

Until workbench.library gets a proper function to handle dragging from applications,
this is as good as it will get.

Bugs:
  Pointer imagery needs to change to reflect the dragging, and prevent the usual
pointer changes while the drag is in progress
  Functionality needs to be disabled if NetSurf isn't running on the Workbench screen
(will currently act as if things are being dropped on the WB screen)
  Overwrites existing files without prompting

svn path=/trunk/netsurf/; revision=6865
2009-03-25 00:03:43 +00:00
Chris Young 5b2d816d86 Move gui_drag_save_selection() into the same file as gui_drag_save_object() as they
will have common code when implemented.

svn path=/trunk/netsurf/; revision=6859
2009-03-24 18:53:22 +00:00
Chris Young ede9c4858d Update to new _available() functions
svn path=/trunk/netsurf/; revision=6858
2009-03-24 18:28:02 +00:00
Chris Young c9fc91c6e4 Set history scroll offsets
svn path=/trunk/netsurf/; revision=6815
2009-03-22 00:12:12 +00:00
Chris Young 317fb4ec91 Rexx dir should default to PROGDIR: too
svn path=/trunk/netsurf/; revision=6796
2009-03-17 21:34:01 +00:00
Chris Young f648479aec Access Resources relative to program directory rather than current directory.
svn path=/trunk/netsurf/; revision=6795
2009-03-17 21:25:20 +00:00
John Mark Bell 58cd142338 Remember the scroll position in the history, so that it's maintained when going back. (credit: Paweł Blokus)
svn path=/trunk/netsurf/; revision=6793
2009-03-17 12:26:41 +00:00
Chris Young eabb5339a3 Close history and search windows when associated browser window closes.
svn path=/trunk/netsurf/; revision=6786
2009-03-15 11:29:33 +00:00
Chris Young eab55f2c5a Fix warnings
Fall back to default theme if specified one can't be found

svn path=/trunk/netsurf/; revision=6785
2009-03-15 11:21:46 +00:00
Chris Young d3d7fc7c66 Stop browser resizes from crashing.
I really don't like using Forbid() and Permit() but the lock-up seems to be caused by
the window continuing the resize while the reformat is taking place and this appears
to be the only way to stop it.  Resizes are relatively rare so shouldn't cause
problems.

svn path=/trunk/netsurf/; revision=6784
2009-03-14 16:18:09 +00:00
Chris Young 305ab859ad Remove gap between the tab close gadget and the first tab
svn path=/trunk/netsurf/; revision=6776
2009-03-11 19:23:57 +00:00
Chris Young 502879043b Fix scroll position for new pages/tabs
svn path=/trunk/netsurf/; revision=6744
2009-03-09 07:21:19 +00:00
Chris Young a074bdbe54 Stop NetSurf jumping back to the top of the document when scrolling before the page
has finished loading.

svn path=/trunk/netsurf/; revision=6742
2009-03-08 23:40:58 +00:00
Chris Young 0bdcf4b8e2 Implement thumbnail creation
svn path=/trunk/netsurf/; revision=6736
2009-03-08 17:41:24 +00:00
Chris Young f6951c0d51 Mostly-working local history window
svn path=/trunk/netsurf/; revision=6733
2009-03-08 16:24:52 +00:00
Chris Young cbae6a91dd Stop local history from crashing, display mostly works (no thumbnails and offset wrong
to window), no event handling other than closing the window.

svn path=/trunk/netsurf/; revision=6730
2009-03-08 12:52:44 +00:00
Chris Young b0e61211f9 Clear clip regions after rendering finished.
svn path=/trunk/netsurf/; revision=6728
2009-03-07 20:52:50 +00:00
John Mark Bell 847b776285 Purge NETSURF_USE_SSL and WITH_SSL
svn path=/trunk/netsurf/; revision=6599
2009-02-22 15:07:50 +00:00
Chris Young 5668fa1154 Remove default theme's dependency on AISS
svn path=/trunk/netsurf/; revision=6567
2009-02-18 20:04:59 +00:00
Chris Young f90e43e2b0 Fix a bug where public screens would remain open if NetSurf was the last visitor
window to close.

svn path=/trunk/netsurf/; revision=6485
2009-02-14 12:29:07 +00:00
Chris Young b3bc3eb896 Don't bother trying to render things that are completely off the screen
svn path=/trunk/netsurf/; revision=6412
2009-02-10 18:53:17 +00:00
Chris Young e1133726c9 Fix animated GIF display
svn path=/trunk/netsurf/; revision=6397
2009-02-08 10:12:27 +00:00
Chris Young 2c78e54298 Really stop overwriting window borders (also fix fast scrolling down, and break fast
scrolling up)

svn path=/trunk/netsurf/; revision=6394
2009-02-07 16:40:56 +00:00
Chris Young 146e26a403 Some attempt at faster scrolling - can be enabled with option faster_scroll:1
svn path=/trunk/netsurf/; revision=6364
2009-02-05 12:20:23 +00:00
Chris Young 73b761ecf5 Try to stop rendering of things that can't be seen
svn path=/trunk/netsurf/; revision=6362
2009-02-04 18:10:10 +00:00
Chris Young c8a8a7808e Tidy-up of redraw code
svn path=/trunk/netsurf/; revision=6345
2009-02-01 22:54:31 +00:00
Chris Young 350ab68077 gui_window_update_box and gui_window_redraw now only update the relevant areas.. I
think.  They are liable to destroy things outside of the render area as well
currently.

svn path=/trunk/netsurf/; revision=6342
2009-02-01 21:28:59 +00:00
Chris Young ad6f72667b Remove the caret by replacing it with the area under the caret, rather than the area
displayed somewhere else on the page.

svn path=/trunk/netsurf/; revision=6338
2009-02-01 18:36:17 +00:00
Chris Young e8399d8a76 Oops, probably shouldn't double-convert text
svn path=/trunk/netsurf/; revision=6330
2009-02-01 13:30:47 +00:00
Chris Young 1c1347a215 Convert UTF-8 titles to local charset for display in tabs
Disable keyboard shortcuts for tabs as an underscore in the title was causing
keypresses to be ignored or tabs to be switched unexpectedly

svn path=/trunk/netsurf/; revision=6329
2009-02-01 13:26:21 +00:00
Chris Young fb0a2116a3 Change to use names instead of numbers for keypresses
Add missing keypresss

svn path=/trunk/netsurf/; revision=6328
2009-02-01 13:01:46 +00:00
Chris Young 4cf6935761 Added context menu option to download the link target.
Added SAVEAS/K to OPEN ARexx command to download a URL instead of displaying it.

svn path=/trunk/netsurf/; revision=6326
2009-01-31 23:45:25 +00:00
Chris Young 83d696ace7 This is the actual fix for the crashing, although this is temporary as the
implementation needs changing.

svn path=/trunk/netsurf/; revision=6283
2009-01-26 18:38:47 +00:00
Chris Young aa2df8c599 This appears to fix an odd crash
svn path=/trunk/netsurf/; revision=6262
2009-01-25 11:18:42 +00:00
Chris Young b5ee67b20e Handle key-presses manually for greater control, and to remove some keyboard
copy'n'paste annoyances.  Caps lock still fails to work though.

svn path=/trunk/netsurf/; revision=6261
2009-01-25 00:36:30 +00:00
Chris Young 0ec4f9482c Clear render area properly when switching tabs
svn path=/trunk/netsurf/; revision=6116
2009-01-17 16:13:56 +00:00
Chris Young cd4f5ebd08 nsfont_width implemented for Unicode text
cache outline fonts for big speedup

still need to implement other text size functions
and also bold and italic fonts

svn path=/trunk/netsurf/; revision=6095
2009-01-16 20:05:21 +00:00
Chris Young e7a06713af Some redraw optimisations
svn path=/trunk/netsurf/; revision=6071
2009-01-15 20:03:15 +00:00
Chris Young 60338f768f Allocate the file requester after reading the options which contain the values we need
to put in the allocation request

svn path=/trunk/netsurf/; revision=6068
2009-01-15 12:26:06 +00:00
Chris Young bb090ee7c3 Reinstate WINDOW_Qualifier - the AutoDoc is wrong, it returns a uint32 not a uint16.
This should stop shift and ctrl keys from appearing to get stuck down.

svn path=/trunk/netsurf/; revision=6035
2009-01-10 23:10:54 +00:00
Chris Young ccbf443125 Revert WINDOW_Qualifier change which was supposed to make shift and ctrl keyboard
reading more reliable, but for some reason wasn't returning the keyboard state as it
should.

svn path=/trunk/netsurf/; revision=6034
2009-01-10 22:57:23 +00:00
Chris Young 4a706860a5 If screen mode ID is not set in the options, prompt for a screenmode on startup. This
replaces the old BestModeID() guess based on the window_screen_width,
window_screen_height and screen_depth options.

use_workbench has been replaced with use_pubscreen.  If set, NetSurf will attempt to
open on the named public screen.  If this fails it will fall back to Workbench (it
will not fall back to opening an own screen).
use_pubscreen:Workbench is equivalent to use_workbench:1

Allocate ASL file requesters specially for saves, to keep a consistent load/save
interface.  May also need a seperate one for the ARexx file requester.

svn path=/trunk/netsurf/; revision=6025
2009-01-10 21:31:21 +00:00
Chris Young 59f551171c Fix crash when launching NetSurf if it is already running.
svn path=/trunk/netsurf/; revision=5941
2008-12-28 12:35:55 +00:00
Chris Young 495fa6c648 Minor changes for Amiga Cairo build
svn path=/trunk/netsurf/; revision=5940
2008-12-28 12:24:18 +00:00
Chris Young dbc6d8793f Reduce memory usage
svn path=/trunk/netsurf/; revision=5926
2008-12-26 19:04:57 +00:00
Chris Young 5bff3e3287 Update for new SDK
svn path=/trunk/netsurf/; revision=5915
2008-12-20 10:54:59 +00:00
Chris Young 0951de5c0e Clear display area when switching tabs
Remove always_open_tabs
Move pointer filenames to theme files


svn path=/trunk/netsurf/; revision=5908
2008-12-13 23:25:42 +00:00
Chris Young a121a3cd73 Fixed display of plain text files beyond the initial visible area.
svn path=/trunk/netsurf/; revision=5898
2008-12-10 19:30:00 +00:00
Chris Young 3e71585311 When a visitor window was present on NetSurf's public screen and NetSurf was quit, the
screen would fail to close.  Re-launching NetSurf would then fail to open a public
screen as a public screen with the same name was already open.  The window would end
up on the Workbench screen and then crash as the pointer to the screen being used was
NULL.

This fixes the problem by closing the ARexx port early (this stops any new sessions
from thinking NetSurf is still running) and looping until Intuition closes the screen.
Running NetSurf will check for a public screen of name NetSurf if opening a new screen
fails and use this if present.  It will also fall back to using the Workbench screen
if both opening a new screen and locking an existing NetSurf screen fails.

svn path=/trunk/netsurf/; revision=5886
2008-12-07 21:50:04 +00:00
Chris Young 7c695048ae Make NetSurf's screen a public screen with the name "NetSurf".
svn path=/trunk/netsurf/; revision=5885
2008-12-06 10:43:25 +00:00
Chris Young 17bc053fbf NetSurf will now check if it is already running (ie. if ARexx port NETSURF exists),
and quit and send an OPEN command to the one in memory if this is the case.

Setting files as projects of NetSurf is now possible, as is multi-select launching
from Workbench.  Multi-selects are not passed through using ARexx yet, only the first
file in the list will be opened if NetSurf is already running.

Plain text files which have no MIMETYPE tooltype are now correctly identified as
text/plain instead of text/ascii, allowing them to be opened locally.

svn path=/trunk/netsurf/; revision=5698
2008-11-16 14:42:40 +00:00
Chris Young d6874d05b1 Allow opening of local files from anywhere, not just the parent of the current dir.
svn path=/trunk/netsurf/; revision=5695
2008-11-15 15:28:17 +00:00
Chris Young 3b6476130d mime type overflow and tab switching fixes.
svn path=/trunk/netsurf/; revision=5660
2008-11-09 14:02:04 +00:00
Chris Young 834eb20101 AmigaOS implementation of complete page save.
svn path=/trunk/netsurf/; revision=5653
2008-11-08 23:08:55 +00:00
Chris Young d934e52dc6 Minor fixes, changing some defaults to safer values, screen_modeid should now work.
Added screen_depth to stop it complaining when trying to BestModeID() a 32-bit screen
on a system that doesn't have one.


svn path=/trunk/netsurf/; revision=5650
2008-11-03 19:21:40 +00:00
Chris Young cae0d4a43b Change memory allocations to MEMF_PRIVATE to enable paging on OS4.1.
svn path=/trunk/netsurf/; revision=5649
2008-11-02 00:21:49 +00:00
Chris Young 124899e5bc ARexx menu with items populated from arexx_dir.
svn path=/trunk/netsurf/; revision=5632
2008-10-26 12:25:26 +00:00
Chris Young 30b09368e7 Track the current/last used browser window (at the moment, just for ARexx).
Extended ARexx port.  First two are primarily for openurl.library:
* OPEN now takes a parameter NEW=NEWWINDOW/S to open the URL in a new window (default
is
to open in the current browser window)
* TOFRONT will bring NetSurf's screen to the front (this may be extended in the future
to bring the current browser window to the front - which might be better for when it
is running on the WB screen)

Next is to make it easy to support getvideo.rexx:
* GETURL returns the URL of the current browser window in RESULT

GetVideo.nsrx script will get the current URL and pass it to rexx:getvideo.rexx
Currently there is no way to call ARexx scripts directly from NetSurf, or any way to
specify whether to save, play or saveplay the video without editing the script.

[clipboard.c/clipboard.h were missing from previous commit]

svn path=/trunk/netsurf/; revision=5631
2008-10-25 23:22:34 +00:00
Chris Young 2f4beda48c Complete (but quite minimal at the moment) context menu implementation for AmigaOS:
Links, objects and upload file boxes have their own menu item or submenu.

Context menus can be enable/disabled and be made "sticky" with the following options:
context_menu
sticky_context_menu

Seperated clipboard related code out to clipboard.c to make it easier to maintain and
add the ability to copy URLs to the clipboard.  Copying images to the clipboard will
come later.


svn path=/trunk/netsurf/; revision=5629
2008-10-25 16:37:08 +00:00
Chris Young 5624bf590d Initial context menus. Five possible options (copy link to clipboard, download link,
show object, save object and select file for upload), only one implemented at the
moment.  Menu structure/strings need some thought and tidy-up (with object and URL
options in their own sub-menus?)

svn path=/trunk/netsurf/; revision=5612
2008-10-21 18:04:27 +00:00
Chris Young 1fffdafe21 Prepare for context menus
svn path=/trunk/netsurf/; revision=5607
2008-10-20 18:06:46 +00:00
Chris Young ddb6946431 Various fixes in relation to tabs.
svn path=/trunk/netsurf/; revision=5598
2008-10-19 11:33:05 +00:00
Chris Young cde05b7d9f Basic theme support.
NetSurf will use the theme pointed to by the Options file "theme:".  Default is
Resources/Themes/Default

This directory must contain a file called Theme which indicates which files should be
used for which images.  The number of frames in the Throbber must also be specified
here.  See Resources/Themes/Default/Theme for an example.

svn path=/trunk/netsurf/; revision=5592
2008-10-18 13:56:12 +00:00
Chris Young 1d8bbfae4c Implemented the ability to add hotlist entries to the Hotlist menu. Modified the
default Hotlist links so they show up in the menu.  Currently deleting items from the
menu is dangerous.

To add to the Hotlist menu, add a folder node called "Menu" to the root node of the
hotlist tree.

Items in this folder node up to a maximum (currently) of 40 items will be added to the
Hotlist menu, within the limits of the Intuition menu system.

Items in folders within the Menu folder node will be converted to subitems in the
menu.

Folder nodes with no entries and folder nodes at level 3 in the heirarchy will become
menu items with no action.  Items deeper will not be included in the menu at all.

eg.

Root
 |
 +- Menu
      |
      +- Netsurf
      |     |
      |     +- NetSurf Homepage
      |     |
      |     +- More NetSurf links
      |                |
      |                +- NetSurf bugtracker
      |
      +- Google

Will look something like the following within the menu:

|NetSurf »| - |NetSurf Homepage  |
|Google   |   |More NetSurf links|



svn path=/trunk/netsurf/; revision=5577
2008-10-14 22:43:02 +00:00
Chris Young 5bf4caf6ba AmiUpdate support.
svn path=/trunk/netsurf/; revision=5564
2008-10-13 18:01:25 +00:00
Chris Young 86042c61ea Improved Amiga treeview support. Now creates trees for cookies and history (history
doesn't populate at the moment).  Can add folders and edit titles in hotlist
treeviews, and delete entries in all treeviews.

svn path=/trunk/netsurf/; revision=5542
2008-10-11 21:38:04 +00:00
Chris Young dfec4035dd List traversing tidy-up.
svn path=/trunk/netsurf/; revision=5499
2008-10-06 18:20:16 +00:00
Chris Young 2808d77089 Full quit function and associated ARexx command (QUIT)
svn path=/trunk/netsurf/; revision=5498
2008-10-06 17:47:31 +00:00
Chris Young be787cabb1 Closing entire windows instead of just tabs is now possible
svn path=/trunk/netsurf/; revision=5497
2008-10-06 07:07:33 +00:00
Chris Young afa472c874 Fixed some problems with tabs, added a tab close gadget.
svn path=/trunk/netsurf/; revision=5489
2008-10-05 21:20:12 +00:00
Chris Young 4708c7b259 Kiosk mode (borderless window, no gadgets or menu etc)
To enable, set kiosk_mode:1

Requested for upcoming Amiga show.


svn path=/trunk/netsurf/; revision=5484
2008-10-05 14:22:02 +00:00
Chris Young ec72e05bdc AmigaOS tabs implementation.
Two new strings: NewTab, CloseTab

Two new options:
always_open_tabs indicates to open tabs instead of windows by default
new_tab_is_active makes any new tab the current one (default is to open tabs in
background)

svn path=/trunk/netsurf/; revision=5483
2008-10-05 13:17:18 +00:00
Chris Young bd94b12422 Incomplete support for tabbed browsing.
svn path=/trunk/netsurf/; revision=5482
2008-10-04 23:29:17 +00:00
Chris Young a0b8680a6d Minimal ARexx port.
Port name: NETSURF
Commands supported: OPEN

OPEN URL/A
Opens URL specified by URL argument in new browser window.


svn path=/trunk/netsurf/; revision=5462
2008-09-29 19:35:30 +00:00
Chris Young 4da1f6cd23 - Accept a URL as an argument to open that page on startup (this is needed for OpenURL
support)
- Fix loads of warnings

svn path=/trunk/netsurf/; revision=5460
2008-09-28 22:50:13 +00:00
Chris Young f092676012 When the treeview window is the last one on screen and it is closed, NetSurf now
quits.

svn path=/trunk/netsurf/; revision=5456
2008-09-28 14:40:19 +00:00
Chris Young bc22f2e7d4 Treeview window event handling (currently just double-clicking hotlist items and
closing the window)

svn path=/trunk/netsurf/; revision=5453
2008-09-28 13:55:40 +00:00
Chris Young 907711f25b Improved text cursor
svn path=/trunk/netsurf/; revision=5449
2008-09-27 21:33:00 +00:00
Chris Young 713d3d365a Experimental treeview implementation using listbrowser.gadget.
svn path=/trunk/netsurf/; revision=5447
2008-09-27 20:55:11 +00:00
Chris Young 9b76a47bbe If use_os_pointers is off and no Wait pointer image has been loaded from disk, we now
use the OS busy pointer instead of the OS default pointer.

svn path=/trunk/netsurf/; revision=5427
2008-09-23 21:41:52 +00:00
Chris Young 8c4cbd2b1b 32-bit mouse pointer support.
The pointer imagery are the icon files of the 4-colour custom text file images.
Tooltypes XOFFSET and YOFFSET specify the "point" of the image.

The 32-bit pointers can be disabled by setting option truecolour_mouse_pointers:0
The OS pointers (for "Default" and "Wait" only) can be used by setting
os_mouse_pointers:1
Deleting the relevant files has the same effect :)

This complete set of 32-bit images is drawn by Martin Merz (Mason).
The code to read them is derived from sample code by Joerg Strohmayer.

svn path=/trunk/netsurf/; revision=5401
2008-09-22 20:41:01 +00:00
Chris Young dd1afc041d Fix signalling of events from 401 login window
svn path=/trunk/netsurf/; revision=5389
2008-09-21 16:28:45 +00:00
Chris Young 9de5a5137d Fix schedule_run so it doesn't occur outside gui_poll.
svn path=/trunk/netsurf/; revision=5311
2008-09-13 22:53:38 +00:00
Chris Young 684d452e9c Improved throbber, works independently on multiple windows, stops when it should, no
weird crashes, lock-ups etc.

The format has changed, Resources/Throbber now needs to be in a picture.datatype
format, as a "film strip" of frames with the first image the inactive (stopped
throbber) and the rest the active animation.  The number of frames needs to be set in
the Options file throbber_frames variable (currently - will probably move to a
tooltype of Resources/Throbber in the future for better theming ability)

svn path=/trunk/netsurf/; revision=5310
2008-09-13 22:39:48 +00:00
Chris Young 10bf100cc1 Added ability to load toolbar images from a different path.
Default is still TBImages: (ie AISS, http://www.masonicons.de)

All of the following must be present, in any format that bitmap.image will load
(usually this means any picture.datatype subclasses):

home, home_g, home_s - Home button
nav_east, nav_east_g, nav_east_s - History forward
nav_west, nav_west_g, nav_west_s - History back
reload, reload_g, reload_s - Reload
stop, stop_g, stop_s - Stop

The _g and _s files are ghosted and selected versions respectively.

To set the path, use toolbar_images:<path> in Options.


svn path=/trunk/netsurf/; revision=5304
2008-09-11 21:32:55 +00:00
Chris Young 256bf06387 Basic throbber support code. The throbber is shared between windows and must be
stored as Resources/Throbber in animation.datatype supported format.

The default animation is a small IFF ANIM which is only good for testing purposes.

This throbber code is likely to be replaced by custom animation code in the future as
using animation.datatype has issues and restrictions (only 8-bit formats, using
NewDTObject() twice on the same file doesn't seem to work correctly, clicking on the
anim starts it playing etc)

svn path=/trunk/netsurf/; revision=5303
2008-09-11 19:33:40 +00:00
Chris Young f78ed94926 Disabled the new scheduler by default as it is more unstable than I thought :(
Defining AMI_SCHEDULER_USES_TIMER will enable it again.

svn path=/trunk/netsurf/; revision=5291
2008-09-09 06:25:22 +00:00
Chris Young 402f53f0a5 New mouse pointer images by Martin Merz (Mason)
Extended pointer size to 32x32 pixels.

svn path=/trunk/netsurf/; revision=5288
2008-09-08 21:27:35 +00:00
Chris Young 9fc58606db Scheduled events now signal when the scheduled time has passed.
The timer appears to stop signalling events occasionally - needs some investigation.

svn path=/trunk/netsurf/; revision=5287
2008-09-08 18:14:14 +00:00
Chris Young 3ea88d90a1 Support for dragging in files (for file upload forms etc)
svn path=/trunk/netsurf/; revision=5271
2008-09-07 15:58:11 +00:00
Chris Young 9ea2e2c133 Much more efficient message handling/input loops, allows me to raise task priority
back to default of 0 without impacting other processes.

svn path=/trunk/netsurf/; revision=5238
2008-09-04 22:41:26 +00:00
Chris Young eb67a135d1 Moved menu selection code to menu.c
svn path=/trunk/netsurf/; revision=5230
2008-09-03 22:02:41 +00:00
Chris Young db1d925ff8 Add shift and ctrl click support, set file comments to url.
svn path=/trunk/netsurf/; revision=5228
2008-09-01 18:03:40 +00:00
Chris Young 30f0bbd256 Basic user-configurable pointer image support.
GUI_POINTER_DEFAULT and GUI_POINTER_WAIT still use the Amiga system default pointers,
and will not be overridden by NetSurf.

Pointer imagery lives in Resources/Pointers and the filenames are all defined in the
ptrs array at the top of gui.c, in the same order as in gui_pointer_shape - with the
exception of GUI_POINTER_DEFAULT (this instead points to a "Blank" pointer for hiding
the pointer) and GUI_POINTER_WAIT (reserved for future use, currently points to "Wait"
but this will change).

The file format is very simple.  It is a text file containing 16 rows of 16
characters, with a newline or CR (or, in fact, any character as this is not checked)
terminating each row.  The seventeenth row indicates the pixel on which the "point" is
set, as two digit X direction, a space, then two digits for the Y direction.

Pointers/Point is based on the hand2 image by Andreas Kuerzinger (the original is in
the AKPointerz.lha archive on Aminet)

svn path=/trunk/netsurf/; revision=5227
2008-08-31 17:34:00 +00:00
Chris Young 52e48260d3 Menu tidy-up, string correction and swap of Source and Text in the save/export menu
svn path=/trunk/netsurf/; revision=5224
2008-08-31 11:21:47 +00:00
Chris Young a9867f0b7f 401 authentication/login support.
svn path=/trunk/netsurf/; revision=5222
2008-08-30 21:32:05 +00:00