Commit Graph

318 Commits

Author SHA1 Message Date
Chris Young 9bc784e8d7 More calculation fixes
svn path=/trunk/netsurf/; revision=10567
2010-06-06 18:50:48 +00:00
Chris Young 13a4a1633c Remove scroll positions from ami_do_redraw_limits, fix positional calcs in
gui_window_set_scroll

svn path=/trunk/netsurf/; revision=10564
2010-06-05 10:37:02 +00:00
Chris Young 5753d59505 When redrawing part of a page, draw with respect to the position NetSurf believes the
scrollbars are in, rather than where they actually are.  This resolves an issue with
graphical corruption and animations, when using the scrollbars to scroll the page (the
anim redraw was happening before the event to say the scrollbar had moved was being
received)

svn path=/trunk/netsurf/; revision=10563
2010-06-05 09:59:38 +00:00
Michael Drake b010a25771 + Refactor input handling from browser window code into content
handlers.
+ Disentangle all box tree manipulation from browser window
  code and put it where it belongs.
+ Move other content specific and other irrelevant code from
  browser window handling to appropriate places.
+ Put mouse state enum in new mouse header, since it's not just
  used by browser window code, and it is used by treeview
  windows on the treeview branch.

svn path=/trunk/netsurf/; revision=10561
2010-06-04 09:35:08 +00:00
Chris Young f55c11dbd6 Amiga font code revamped and fixed. Will now fall back to a different font if the
character isn't present in the current one, this needs a complete or near-complete
Unicode font in order to be useful - Code2000 and Bitstream Cyberbit are auto-detected
by NetSurf on startup if none is configured.  Japanese websites now display correctly,
along with Japanese characters within Google UK search results etc.

svn path=/trunk/netsurf/; revision=10551
2010-05-06 10:02:58 +00:00
Daniel Silverstone 5e887908b3 Consolidate several 'myrealloc' functions into ns_realloc, rename one which *is* different, thereby eliminating the word 'myrealloc' from the NS codebase
svn path=/trunk/netsurf/; revision=10530
2010-04-30 16:06:03 +00:00
John Mark Bell 000e6ad3de It turns out that realloc(ptr, 0) --> free(ptr) is not actually required by the C standard (whereas realloc(NULL, size) --> malloc(size) is).
Therefore, explicitly model the behaviour expected by our libraries (that realloc of 0 size is equivalent to free).

svn path=/trunk/netsurf/; revision=10524
2010-04-30 07:00:58 +00:00
Chris Young 74647b752d Reformat all tabs when window size changes
svn path=/trunk/netsurf/; revision=10504
2010-04-27 22:40:28 +00:00
Chris Young 90079085bb Ensure menu state is correct when switching tabs
svn path=/trunk/netsurf/; revision=10476
2010-04-24 19:05:53 +00:00
Chris Young 695af237a9 Use our ca-bundle by default, rather than one in devs: which may not exist
svn path=/trunk/netsurf/; revision=10456
2010-04-22 18:33:29 +00:00
Chris Young b6937419e1 Fix broken event handling.
Any structures attached to the window_list *must* have a struct nsObject * as their
first entry, and handle events outside of gui.c.

svn path=/trunk/netsurf/; revision=10332
2010-04-09 22:38:51 +00:00
Chris Young 6835a312b7 Remove verbose_log from options file
Copy libz as I've built 1.2.4 and it has faster gzip code

svn path=/trunk/netsurf/; revision=10230
2010-04-03 10:24:43 +00:00
Chris Young 5bae5edd7b Use DataTypes to read text files that are dropped into text boxes, this allows more
exotic formats to be read such as IFF FTXT.

svn path=/trunk/netsurf/; revision=10229
2010-04-02 16:25:55 +00:00
Chris Young d927f70ad7 ...and right a bit
svn path=/trunk/netsurf/; revision=10228
2010-04-02 10:49:18 +00:00
Chris Young d8da93037a Move status bar text up a bit...
svn path=/trunk/netsurf/; revision=10227
2010-04-02 10:29:20 +00:00
Chris Young d3276dfbaf netsurf_init expects a char ***, not a char **
Change command template so URL is a keyword.  This avoids the platform code
re-interpreting core options (eg -v as a URL).
Move screen open code slightly so "NetSurf ?" shows the template visibly, rather than
opening an empty screen and the user not knowing what is happening.

svn path=/trunk/netsurf/; revision=10224
2010-04-01 17:44:42 +00:00
Chris Young fcce190701 netsurf_init expects a pointer, not an int
svn path=/trunk/netsurf/; revision=10216
2010-03-30 18:21:20 +00:00
Vincent Sanders e00fb7bd2d second pass at startup refactor removing the gui_init callback
svn path=/trunk/netsurf/; revision=10205
2010-03-29 20:03:44 +00:00
Vincent Sanders 7e67527267 first part of initialisation refactor move gui_init2 into frontends
svn path=/trunk/netsurf/; revision=10202
2010-03-29 16:59:30 +00:00
Chris Young 74108d1e09 Allow NetSurf to be opened from the CLI without a URL specified.
Add new switch FORCE which will force a new instance of NetSurf to open rather than
opening a new window in the already-running application (intended for debugging when
NetSurf has crashed)

svn path=/trunk/netsurf/; revision=10189
2010-03-28 16:42:33 +00:00
Chris Young 5bb5cedec5 Changes required for new-cache
svn path=/trunk/netsurf/; revision=10186
2010-03-28 15:51:05 +00:00
Chris Young f6d0a6aa05 If a file isn't dropped over a text box or a file box, just load it.
svn path=/trunk/netsurf/; revision=10148
2010-03-23 23:09:17 +00:00
Chris Young 01cf7baac6 Tidy up. Can almost tell what is going on in gui_init now.
svn path=/trunk/netsurf/; revision=10146
2010-03-23 22:55:56 +00:00
Chris Young 861b5b4953 Factor Amiga theme-related code out to a new file. This includes all throbber and
mouse pointer code (which are "theme modifiable") as well as normal theme reading
code.

svn path=/trunk/netsurf/; revision=10145
2010-03-23 22:27:33 +00:00
Chris Young dd5370ef83 Avoid corruption of bottom window border after resize
svn path=/trunk/netsurf/; revision=10140
2010-03-21 14:53:09 +00:00
Chris Young c17ff1e9ae Squash memory leak and an offset problem related to helphints
svn path=/trunk/netsurf/; revision=10137
2010-03-17 22:15:03 +00:00
Chris Young 1fedc6a36a More HelpHints, these will work on OS4.1u1 and higher only.
svn path=/trunk/netsurf/; revision=10136
2010-03-17 21:43:23 +00:00
Chris Young 7220e03e7d Help hints, mainly for the tabs but also massage messages strings HelpToolbar0-4 & 14
into a format we can use on the main toolbar gadgets.  A couple of gadgets still
missing strings.

svn path=/trunk/netsurf/; revision=10134
2010-03-16 23:55:39 +00:00
Chris Young 04769b3f07 Remove caret when window is inactive, re-add when window becomes active again.
svn path=/trunk/netsurf/; revision=10133
2010-03-15 19:00:21 +00:00
Chris Young 50692dc63c Remove caret while "fast scrolling" to prevent caret-trails over the display.
svn path=/trunk/netsurf/; revision=10132
2010-03-15 18:48:14 +00:00
Chris Young 66730eb138 Only draw search favicon on normal browser windows
svn path=/trunk/netsurf/; revision=10127
2010-03-14 15:33:59 +00:00
Chris Young 33be95d328 Fix compilation
svn path=/trunk/netsurf/; revision=10074
2010-02-22 19:18:27 +00:00
Chris Young f7c654885c Attempt fix for OS4.0
svn path=/trunk/netsurf/; revision=10073
2010-02-21 21:24:58 +00:00
Chris Young da54611fb6 Try to avoid the tab switching if closing a tab other than the current one (doesn't
seem to work, the act of clicking close must implicity switch to that tab)
Remove extraneous Add Tab button layout group

svn path=/trunk/netsurf/; revision=10058
2010-02-14 15:32:54 +00:00
Chris Young a380b15070 Add an Add Tab button.
Could probably do with an image for this for the default theme (currently falls back
to a textual "+")

svn path=/trunk/netsurf/; revision=10053
2010-02-14 14:00:33 +00:00
Chris Young e1c41ba712 New window/tab now opens a blank window/tab rather than one showing the current URL
svn path=/trunk/netsurf/; revision=10051
2010-02-14 12:51:30 +00:00
Chris Young 63226802bf Tidy up includes
Add a separator bar between the toolbar and the main browser area/tabs

svn path=/trunk/netsurf/; revision=10050
2010-02-14 12:26:12 +00:00
Chris Young 099ed24184 Improved tabs for OS4.1u1:
* Tabs now have a close gadget embedded
* The tab bar only displays if there is more than one tab open
* Changed the AISS theme "tab loading" image to something more appropriate

Under OS4.0 the old tab close button and permanent tab bar still applies (needs
testing as these changes may well have broken it)

Users of OS4.1 prior to Update 1 will probably need to update!

svn path=/trunk/netsurf/; revision=10045
2010-02-14 00:46:53 +00:00
Chris Young 73827546ef Fix new warnings. Not sure if I should be declaring all the gadgets as Object *, but
that is less casting than declaring them all as struct Gadget * - and allows the
merging of object and gadget arrays, which were causing a few problems previously.

svn path=/trunk/netsurf/; revision=10039
2010-02-13 18:03:05 +00:00
Chris Young b2376c1656 Proper download notification code, should also open the file if the notification is
double-clicked, although it doesn't seem to work.

svn path=/trunk/netsurf/; revision=10037
2010-02-13 17:31:10 +00:00
Chris Young 0b29da0700 Remove status bar checks which are now in the core.
svn path=/trunk/netsurf/; revision=9969
2010-02-11 18:49:03 +00:00
Vincent Sanders e01d93f344 Refactor main into the frontends
remove unused embedded global

svn path=/trunk/netsurf/; revision=9851
2010-01-20 20:32:30 +00:00
Chris Young 3662b3781f Prevent crash if screen could not be opened and prefs are subsequently changed.
svn path=/trunk/netsurf/; revision=9810
2010-01-15 23:05:41 +00:00
Chris Young 44a834a08d Prevent status bar text overflow
svn path=/trunk/netsurf/; revision=9797
2010-01-08 23:13:20 +00:00
Chris Young a3d82a3634 Search and a couple of other new options
svn path=/trunk/netsurf/; revision=9756
2009-12-23 13:29:10 +00:00
Chris Young b11df61394 Functional search bar; search icon doesn't refresh if the search area is resized
however.

svn path=/trunk/netsurf/; revision=9755
2009-12-22 23:04:59 +00:00
Chris Young df64fb7903 Non-functional search bar
svn path=/trunk/netsurf/; revision=9754
2009-12-21 23:25:35 +00:00
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