Commit Graph

135 Commits

Author SHA1 Message Date
Chris Young
93941435b8 Decouple context menus from gui_window, ensure they get disposed on exit
svn path=/trunk/netsurf/; revision=12496
2011-06-23 17:35:35 +00:00
Chris Young
ed00b6a1e9 Make GUI update when back/forward commands used from ARexx
svn path=/trunk/netsurf/; revision=12455
2011-06-03 18:20:56 +00:00
Chris Young
e8ca07b0dc Redraw the area under a caret when it is cleared, rather than relying on a potentially
out-of-date off-screen copy of what used to be there.

svn path=/trunk/netsurf/; revision=12107
2011-03-19 13:00:45 +00:00
Chris Young
3cc3dcf1e1 Limit context menu history items to 10
svn path=/trunk/netsurf/; revision=11868
2011-02-28 23:46:49 +00:00
Chris Young
4a174fd670 Allow context menus in arbitrary positions outside the browsing area.
Add a Local History item to a new back button context menu, eventually this will give
a recent history list.

svn path=/trunk/netsurf/; revision=11858
2011-02-28 19:31:35 +00:00
John Mark Bell
625b59f61a First pass of AmigaOS 3 compatibility
svn path=/trunk/netsurf/; revision=11155
2010-12-30 00:53:11 +00:00
John Mark Bell
27b00696a3 Back out r11152 -- we're going to do this differently
svn path=/trunk/netsurf/; revision=11153
2010-12-30 00:33:18 +00:00
John Mark Bell
71fb6f282b Sprinkle some _t suffixes around
svn path=/trunk/netsurf/; revision=11152
2010-12-29 23:20:04 +00:00
Chris Young
96cb4b40e7 Allow double-clicks in main browser and middle button double-clicks in treeview
svn path=/trunk/netsurf/; revision=11083
2010-12-16 23:28:33 +00:00
Chris Young
078ff2fd51 Move drag icon stuff to own file; fix warnings
svn path=/trunk/netsurf/; revision=10922
2010-10-30 11:20:53 +00:00
Chris Young
bdf3c32f44 Only allow auto-scroll on selection and selection drags
svn path=/trunk/netsurf/; revision=10904
2010-10-24 17:51:00 +00:00
John Mark Bell
6173bb0e6c Merge treeview-redux to trunk
svn path=/trunk/netsurf/; revision=10865
2010-10-05 19:14:46 +00:00
Chris Young
acf46e01a8 Allow text selection dragging across (NetSurf) windows. DisplayBeep if it is dropped
somewhere invalid.

svn path=/trunk/netsurf/; revision=10665
2010-07-27 21:41:21 +00:00
Chris Young
f7e3254798 Fix menu disable on tab switch and Cut
svn path=/trunk/netsurf/; revision=10661
2010-07-24 19:57:27 +00:00
Chris Young
004aee8281 Amiga: Add "cut" option; make cut/copy/paste menus context sensitive; allow dragging
selections within NetSurf window to text fields (does not work across windows).

todo: switching tabs will reset cut/copy/paste menus to initial state; cut option is
putting something on the clipboard which causes a crash when pasting it back

svn path=/trunk/netsurf/; revision=10660
2010-07-24 16:39:37 +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
5bb5cedec5 Changes required for new-cache
svn path=/trunk/netsurf/; revision=10186
2010-03-28 15:51:05 +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
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
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
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
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
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
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
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
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
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
4e9480e6c7 Fix page dragging etc
svn path=/trunk/netsurf/; revision=9493
2009-08-29 10:16:19 +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
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
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
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
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
8e8d36156a Fix faster_scroll
svn path=/trunk/netsurf/; revision=7667
2009-05-31 15:05:26 +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
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
a198acb753 Fix compilation errors
svn path=/trunk/netsurf/; revision=6735
2009-03-08 16:32:30 +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
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
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
96c314750f More efficient layers clipping
svn path=/trunk/netsurf/; revision=5945
2008-12-29 01:18:53 +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
95575276b5 More changes for search function.
Open local file requester now has a hook which filters out files with MIME types that
NetSurf does not recognise.

svn path=/trunk/netsurf/; revision=5907
2008-12-13 23:23:24 +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
834eb20101 AmigaOS implementation of complete page save.
svn path=/trunk/netsurf/; revision=5653
2008-11-08 23:08:55 +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
c20560d250 Allow theming of default treeview folder and item images.
svn path=/trunk/netsurf/; revision=5600
2008-10-19 13:01:01 +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
227993f481 Fix basic rearrangement of tree nodes
svn path=/trunk/netsurf/; revision=5567
2008-10-13 22:34:54 +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
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
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
44d88dcee0 Modification for treeview support - missed from previous commit
svn path=/trunk/netsurf/; revision=5448
2008-09-27 20:56:25 +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
d75ece0d71 Stop the throbber trying to draw on download and 401-login windows.
svn path=/trunk/netsurf/; revision=5382
2008-09-20 22:07:11 +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
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
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
a9867f0b7f 401 authentication/login support.
svn path=/trunk/netsurf/; revision=5222
2008-08-30 21:32:05 +00:00
Chris Young
277262bf46 Added support for scaling bitmaps, filled polygons, filled circles and clipping.
Fixes major display issues with eg. www.bbc.co.uk amongst others.

svn path=/trunk/netsurf/; revision=5221
2008-08-30 16:57:35 +00:00
Chris Young
59d45715cd Basic download window
svn path=/trunk/netsurf/; revision=5185
2008-08-23 16:17:51 +00:00
Chris Young
0e78a116f6 Implemented mouse dragging and code for select forms (which works but the menu is not
created with the correct entries yet).  Now looks in options for screen and window
size and position.

svn path=/trunk/netsurf/; revision=5153
2008-08-18 19:07:12 +00:00
Chris Young
61294f493e Close fonts properly and default back to initial RastPort font.
svn path=/trunk/netsurf/; revision=5136
2008-08-17 16:22:40 +00:00
Chris Young
1a489fbf64 Updated for hubbub, redraws now scheduled for next input loop
svn path=/trunk/netsurf/; revision=5128
2008-08-15 17:19:57 +00:00
Chris Young
bf18237dc0 Modified to use space.gadget and blit directly to the window's rastport, also added
scrollbar functionality (thanks to Ami603)

svn path=/trunk/netsurf/; revision=5034
2008-08-11 17:53:45 +00:00
Chris Young
058fcac225 Added code to set correct font.
svn path=/trunk/netsurf/; revision=4986
2008-08-10 09:57:41 +00:00
Chris Young
93bf14ab81 Added support for multiple windows.
svn path=/trunk/netsurf/; revision=4972
2008-08-09 15:19:04 +00:00
Chris Young
219f28e579 Rewritten to use window.class and bitmap.image instead of writing directly to the
window bitmap.  Basic GUI added to allow URLs to be entered.

svn path=/trunk/netsurf/; revision=4965
2008-08-08 22:38:13 +00:00
Chris Young
394263bb2f Basic plotter functions and support code for the plotters.
svn path=/trunk/netsurf/; revision=4948
2008-08-07 18:44:28 +00:00
Chris Young
26203b2215 Initial Amiga port files, mostly empty stub functions.
svn path=/trunk/netsurf/; revision=4864
2008-08-02 14:31:32 +00:00