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
This is achieved through new function history_redraw_rectangle.
It takes the co-ordinates of the history area to plot as parameters 2-5
and the co-ordinates of the top-left position to draw this area as params 6,7
Added local history scrolling to Amiga port using the above function.
svn path=/trunk/netsurf/; revision=6740
yet and I'd rather people made a conscious decision to use the static one rather than
the update picking it because updating a Cairo version is impossible.
svn path=/trunk/netsurf/; revision=6618
Sync our temporary internal copies of these functions with parserutils (which is rather better tested and fixes a number of known bugs in NetSurf's previous UTF-8 handling).
Ideally, this will be the only place in NetSurf that has any dependency on parserutils, so port the amiga font code to our internal APIs.
svn path=/trunk/netsurf/; revision=6550
- riscos/save_draw.c(ro_save_draw_plotters): Make it static.
- desktop/save_pdf/pdf_plotters.c(pdf_plot_path): fix broken implementation (coordinates path were wrong, no clip/text mode update, transformation matrix was overwritten); only update fill and/or
stroke color when fill and/or stroke is done.
(pdf_begin): disable compression when PDF_DEBUG is set
svn path=/trunk/netsurf/; revision=6361
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
Formatting is mostly only wrong when non-local charset characters are being printed,
due to the current text size calculations routines needing rewriting.
svn path=/trunk/netsurf/; revision=6073
Improved character spacing
Still some formatting issues:
Baseline is ignored
The text size calculation routines need to be re-written for the Unicode display
However sites are mostly readable now with this option enabled.
svn path=/trunk/netsurf/; revision=6072
These are expected to become some sort of standard :)
Will leave the Default theme pointing to the archive-included mouse pointer images
until this is official (Default theme should not require 3rd party images installed,
although it still needs AISS currently for some of the buttons)
svn path=/trunk/netsurf/; revision=6031
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
All except the polygon plotter - as the graphics.library implementation has problems -
are disabled, but can be enabled by defining NS_AMIGA_CAIRO_ALL.
Using only the Cairo plotters is much slower than using only the graphics.library
plotters (especially clipping which is adding several seconds to rendering with Cairo)
and the default "mixed" Cairo state is the recommended configuration for now.
svn path=/trunk/netsurf/; revision=5944
Cairo plotter for arcs
Cairo support is experimental and can be enabled with option NETSURF_AMIGA_USE_CAIRO
For some reason linking against shared objects breaks forms.
svn path=/trunk/netsurf/; revision=5939
Appears that Composite() has the same problem as BitMapScale() in that trying to scale
to a negative co-ordinate destination doesn't work. Still seems a bit faster after
adding the additional blit, although www.bbc.co.uk scrolls at a snail's pace since
adding alpha blits.
svn path=/trunk/netsurf/; revision=5936
Doesn't quite work properly because it never calls the callback :)
Probably also gets into an infinite loop if "send mailto: URLs to email application"
is not ticked in OpenURL Prefs.
svn path=/trunk/netsurf/; revision=5910
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
Needs some improvements:
- add case sensitive, show all options
- add search history
- use AmigaOS pattern matching
svn path=/trunk/netsurf/; revision=5902
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
GETTITLE - returns the current website title
VERSION VERSION/N REVISION/N RELEASE/S - returns the version of NetSurf or checks
it is newer than a supplied version/revision
svn path=/trunk/netsurf/; revision=5765
simplehtml datatype. As I'm using dth_BaseName rather than dth_Name, they were being
tagged with the MIME type text/simplehtml. Have made an exception for this case to
translate it to text/html, may in the future consider whether using dth_Name may be
better.
Minor adjustments to the local file requester to prevent .info files from being
displayed.
svn path=/trunk/netsurf/; revision=5711
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
Install is a standard Installer script
AutoInstall is an AmigaDOS script for AmiUpdate which calls the above Install script
in an unattended install mode.
svn path=/trunk/netsurf/; revision=5654
filetype.c has been changed to get the MIME type of a file from the MIMETYPE tooltype
of the icon or default icon for the file. The install script will set the basic of
these, and icons for default.css and AdBlock.css have been added to ensure these
always return the correct MIME type.
If the MIMETYPE tooltype is not found, the code will use datatypes.library to identify
the file and make a guess as to what the MIME type is.
svn path=/trunk/netsurf/; revision=5651
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
netsurf_version_major from desktop/version.c as version
SVN revision from local repository as revision
This should ensure that the internal version number will increase correctly
(version and revision are treated as seperate values > 0), whereas NetSurf's public
release version (currently coming up to 2.0) is not guaranteed to be in legal AmigaOS
format or increase validly under AmigaOS rules.
The internal version string has been added for future AmiUpdate support as well as
making it easier to see and compare versions of interim builds.
amiga/version.c can safely be removed from the source list when cross-compiling (where
ARexx is not available), or manually created, as it only defines this internal
version string and does not contain any code.
amiga/version.c is automatically removed after linking to ensure it always reflects
the current SVN revision.
svn path=/trunk/netsurf/; revision=5510
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
partially off-screen. Hopefully this also fixes some system freezes caused by this
code when run under OS4.1 on the SAM440.
svn path=/trunk/netsurf/; revision=5455