#
# Changelog:
#
# Copyright (c) 2002 James McKenzie <james@fishsoup.dhs.org>,
# All rights reserved.
#
# $Id: Changelog,v 1.3 2002/01/18 01:05:14 root Exp root $
#
# $Log: Changelog,v $
# Revision 1.3  2002/01/18 01:05:14  root
# *** empty log message ***
#
# Revision 1.2  2002/01/17 03:33:54  root
# *** empty log message ***
#
#


TODO:
	I think (or rather pose thinks) there is an error in the 
	memory handling logic for the Field in the externalform.
	Possibly passing a pointer to the Field from the stack?

	Implement the parser in C or C++ or Java with gcj
	(java preferable as can easily make secure)

	Better handling of network detect if up handle failure to 
	bring up...
	
	Make Cookie.py non trivial

DONE:

GENERIC:
	added --enable-old-color-api to configure.in 
	to force plucker to use pre 3.5 color api calls 

	written small pdbtohttp untility and cgi-bin
	shell script (I have no idea about security 
	status of plucker so this should probably 
	run chrooted if it ever gets outside the fence)

PYTHON PARSER:

ImageParser.py:
	code expects PGM or PPM not PBM (requires a maxval),
	so added "pnmscale 1.0" step to force PGM/PPM.

	changed maxwidth/maxheight logic to scale preserving
	aspect ratio to fit whichever is smallest.

	added floyd steinberg dithering.

PluckerDocs.py:
	added 4 byte [not 3 for alignent`s sake] header before compressed
	data on HTML records giving background color of document.

	added a class for the plucker:/~special"/base 
	document. Allows viewer to quickly show urls
	of documents.

Retriever.py:
	calls AddCookie for support 
	of persistent cookies 

Spider.py:
	prevented stay_below applying to images
	detect redirection of home_url and handle
	approiately [previously this would have caused
	not record 2 and hence failure]

	added no_base option

	expand %xx in urls on command line

Textparser.py:
	support for background colors
	correctly handle bgcolor="" text=""
	set the default anchor color in __init__
	so that documents without <BODY> work.

Writer.py:
	support for plucker:/~special~/base

VIEWER:
	Added -palmos3.5 to makefiles to make gcc 
	use SDK3.5 if more than one available
	

categorydata.c:
	fetch last record (~special~/base) and put in
	docinfo (if it exists otherwise use name)

control.c:
	call BrowserDirection if at either end of history list.

dbmgrform.c:
	show base url (if valid) rather than name.
	sort by base url (if sort by name chosen)
	export OpenNewDocument to the world.
	add proc to flush all cache documents.
	add code to catch menu option for above

dbmgrform.h:
	forward decl. for OpenNewDocument


document.c:
	save and restore background as well as foreground colors
	export SetWorking and SetIdle insert check to ignore call if 
	wrong form is displayed

	in ViewRecord:
	  reset bacground color if starting from start of document //FIXME
	  resolve unresolved links by calling ResolveLinkByRecordID.
	  call BrowserAddHistory for html pages.

documentdata.c:
	added ReturnLastHandle returns a handle to the
	last record of ViewerDocument.

documentdata.h:
	forward decl. for ReturnLastHandle

externalform.c:
	Add extra button for "Fetch" and 
	code to support it. Put http://www.
	in the field if index<0
	Added GoToURL for fetch and code to
	catch button press.

externalform.h:
	forward decl. for GoToURL

mainform.c:
	code to catch mOptionsOpenUrl:
	set linkindex=-1 and go to externalform
	ditto mGoOpenUrl:

paragraph.c:
	Added DoEraseRectangle which erases to background
	color of document passed.
	put save restore arround background color change
	as it seems to leak onto the tool bar.

paragraph.h:
	forward decl. for DoEraseRectangle (called from document.c)

prefsdata.c:
	add proxyName and cacheid to preferences

prefsdata.h:
	add proxyName and cacheid to preferences

prefsform.c:
	add code to get and set proxyName from and to form.

resourceids.h:
	frmPrefsProxy,frmExternalLinksFetch,mGoOpenUrl,
	mOptionsOpenUrl,mOptionsFlushCache,confirmFetchFromNet,
	confirmFetchFailed

NEW CODE....

browser.c:
	RecordIDToURL() find the links record and convert a record id 
	to a URL returned in a MemPtrNew
	
	URLToRecordID() given a URL search all the documents in the 
	device to see if either they have a record with this URL, or
	their base URL matches. If one does change the current document
	to it, and return the record id (ViewRecord can then carry on)

	ResolveLinkByURL() given a url and a pointer to a recordID
	try to switch the document to the one with the URL in and
	return the recordID - prompt the user if they want to fetch
	from network and try that.

	ResolveLinkByRecordID() called from ViewRecord. Given the recordid
	of a not found link, get it from other documents or the net,.

fetchdb.c:
	update_progress() update control and progress bar
	empty_counter() draw empty progress bar 
	UrlCat() convert a string to %xx form
	CompleteRead() call NetLibReceive until full,close or error.
	CompleteDmRead() call NetLibReceive until full,close or error.
	ExtractBaseLink() get URL associated with record 2 (HOME) and
		return in MemPtrNew
	IsNetUp() currently ifdefed out code to determine if a network
		interface is up.
	ReadInDB() after successful HTTP exchange receive the database
		into the palm
	CheckSig() check magic number in stream
	Blat()	squirt something onto the screen.
	FetchDB() given a URL fetch it from the net, return the url of the 
		home record of the retreived document.


bhistory.c:
	BrowserAddHistory() check the current dbID and cardNo against the
		current pointer in the bhistory DB, if they don't match
		remove everything up to the current pointer and add the
		new info.

	BrowserDirection() move the bhistory DB pointer, open the relevant
		document, and display it.

	

