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
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
Therefore, explicitly model the behaviour expected by our libraries (that realloc of 0 size is equivalent to free).
svn path=/trunk/netsurf/; revision=10524
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
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
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
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
* 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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