2003-08-23  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_log.c (gj_log_start): log now is written from scratch
	each time the app is started, before, it was appended, and the log
	got REALLY big.

	* src/gj_message.h: started support for x:delay in messages.

	* configure.in: added spec file for building RPMs and also added
	it to the configure script.

2003-08-21  Martyn Russell  <ginxd@btopenworld.com>

	* gnome-jabber.schemas.in: updated schemas, a lot more todo...

	* src/gj_parser.c (gj_parser_push_input): fixed bug caused by
	sending one byte (a space).  now all data is checked and stripped
	of white spaces - also must be > 0 characters in length.

2003-08-21  Colin Marquardt  <colin@marquardt-home.de>

	* src/gj_gtk_user_information.c (gj_gtk_ui_last_response): Mark up
	time string for translation.

	* src/gj_gtk_roster.c (gj_gtk_roster_uptime_cb): Don't display
	day(s) if 0.
	(gj_gtk_roster_autoaway_update): Ditto.

2003-08-20  Colin Marquardt  <colin@marquardt-home.de>

	* src/gj_gtk_connection_progress.c (gj_gtk_cp_state_handle_idle):
	Change wording.
	(gj_gtk_cp_state_handle_connecting): Ditto.

2003-08-20  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_stream.c (gj_stream_disconnected_cb): stream is now freed
	in the right place.

	* src/gj_connection.c: cleaned code up a little.

2003-08-19  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_group_chat.c (gj_gtk_gcw_receive): now scrolls to the
	bottom of the window, with the last message shown.

	* src/gj_gtk_about.c (gj_gtk_about_setup): now the version is
	passed from the PACKAGE_VERSION variable as defined from the
	configure script.

	* configure.in: improved this to include more information (bug
	report address, etc). - also fixed gconf error when starting up by
	changing the package (it has spaces).

	* src/gj_main.c (gnome_jabber_main): used gnome_program_init() in
	main module, this also initiates the sound. 

	* src\gj_log.c: moved the log handler function from the gj_gtk_log
	module to gj_log module.

	* setup.iss: added inno setup file for windows setup exe. - all
	works and looks good.

	* license.txt: added LGPL license for windows setup.

	* src/Makefile.win32: added group chat modules.

	* src/gj_gtk_group_chat.c: fixed windows compilation errors.

	* src/gj_roster.c (gj_roster_item_new): now checks for a jid
	(including the resource) before creating a new roster item.
	(gj_roster_item_find_by_id): fixed bug where it wasnt finding by
	id if the name member was NULL.

	* src/gj_gtk_group_chat.c: more improvements to this.

	* src/gnome-jabber.glade: patched with changes from Colin.

	* src/gj_gtk_roster.c (gj_gtk_roster_autoaway_update): added
	messages to the log about auto away times.

2003-08-18  Martyn Russell  <ginxd@btopenworld.com>

	* configure.in: played with build to now use gconf.  I will move
	the config over to it when I can, and use the old ini type way of
	writing the config as a last resort and for windows.

	* src/gj_connection.c (gj_connection_watch_cb): added handler for
	socket error.  for some reason, if there was an error, it was just
	printing an error and not calling the disconnected callback.

	* src/gj_gtk_about.c (gj_gtk_about_credits_update_authors):
	changed these functions to ONLY print the text, not the markup.

	* src/gj_gtk_roster.c: fixed invalid UTF8 for translator Frdric
	Brin (fr). - uses straight forward "e" instead until I can figure
	out what the problem is.

2003-08-17  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_group_chat_join.c: added this module to handle the
	join dialog for starting group chat.  NOTE: this is not finished
	even though the option is available in the Roster Menu.

	* src/gj_gtk_roster.c (gj_gtk_roster_handle_next_event_display):
	fixed bug where icon on roster would not flash.

	* src/gj_presence.c (gj_presence_send_to): fixed bug found by
	Colin, simple printf with a %s feeding in an integer.

	* autogen.sh: Added file.

2003-08-02  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_chat.c (gj_gtk_cw_notification_new): removed offline
	message function from being used, it crashes at the moment.

	* src/gj_gtk_connection_progress.c: removed all the
	gj_stream_free() occurances, the stream is freed on the disconnect
	signal by itself.  this has stopped the warning about freeing a
	stream when disconnected.

	* src/gj_stream.c (gj_stream_print): added print functions for
	debugging. this way I can see how many streams are currently on
	the list.

	* src/gj_gtk_chat.c (gj_gtk_cw_default_action): now when you
	double click on the user, if there is a window already there, it
	will present it, instead of do nothing if it is hidden.

	* src/gj_gtk_connection_progress.c: fixed some issues when the
	connection fails.  the progress bar was still pulsing.

	* src/gj_gtk_chat.c (gj_gtk_cw_print_offline): added offline
	function, it doesnt get called yet because I need to figure out
	when I am going to send the event.  If another client sents it, I
	should receive it and handle it though. 

2003-08-01  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_event_viewer.c (gj_gtk_ev_load): fixed warnings
	trying to set window decorations when the window is not yet created.

	* src/Makefile.am (gnome_jabber_SOURCES): added header files, also
	added intltool files to prevent warnings.

	* src/gj_gtk_chat.c: cleaned up the logging (bit too envolved
	since I started playing with composing and xevents). 

2003-08-01  Colin Marquardt  <colin@marquardt-home.de>

	* gj_gtk_connection_progress.c, gj_translate.c, gnome-jabber.glade: 
	Fix some typos, add shortcuts.

2003-08-01  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_presence.c: improved this module to send presence using
	libxml to build the tree first.

	* src/gj_gtk_chat.c (gj_gtk_cw_cancelled): seriously changed the
	xevent messaging in chat to be the way MSN and GAIM do it
	(i.e. all based on timing instead of window focus as it was done).

2003-08-01  Colin Marquardt  <colin@marquardt-home.de>

	* po/gnome-jabber.pot: Add comments for translators. gettext
	should update this file without destroying the comments.  However,
	they won't merge into existing po files, so we should remove
	lt.po, ru.po and nl.po from CVS since they are empty.

	* po/de.po: Finish.

2003-08-01  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_message.c (gj_message_receive): fixed problems when
	chatting to a GAIM user. xevents were a bit broke. - fixed it now.

2003-08-01  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_roster.c: looked into bug where unregistering leaves the
	roster item there so browsing services still thinks we are
	registered. try a different approach and broke a few things, need
	to think about this one a little more.  perhaps something for v0.3

	* src/gj_iq_requests.c (gj_iq_request_registration): fixed a bug
	where the wrong string was being freed.

	* src/gj_message.c (gj_message_send_with_xevent_request): improved
	this module to send the messages using libxml. previously it was
	just concatenating text.

2003-07-31  Martyn Russell  <ginxd@btopenworld.com>

	* TODO: Improved window decorations (this is more evident on the
	Windows version).  

	* src\gj_gtk_my_preferences.c:  Added check for WIN32, if defined,
	the fourth page (3rd index) is not shown. - currently we do not
	have a way to play sounds on Windows or use the system tray.

2003-07-31  Colin Marquardt  <colin@marquardt-home.de>

	* po/de.po: Update. Now only tooltips are left untranslated I
	hope.
	More small tweaks.

2003-07-30  Martyn Russell  <ginxd@btopenworld.com>

	* src\gj_gtk_roster.c: changed all the statements which used
	g_utf8_strlen() for g_markup_escape_text().  size is in bytes NOT
	utf8 characters.

2003-07-29  Colin Marquardt  <colin@marquardt-home.de>

	* po/de.po: Another update.

	* src/common.h (PATH_DATA, PATH_PIXMAPS): Restore "gnome-jabber"
	there.

	* po/de.po: Update. Still not finished though.

	* src/gnome-jabber.glade: Typo fix (2x).

	* src/gj_gtk_browse_services.c (gj_gtk_bs_timer_cb): Fix small typo.

	* src/gnome-jabber.glade: Change "UnRegister" to "Unregister Account".

	* src/gj_gtk_roster.c (gj_gtk_roster_contact_remove_msgbox_cb): Fix typo.

	* src/gnome-jabber.glade: Change "eg" to "e.g.".

2003-07-29  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_roster.c: added g_markup_escape_text() around the
	group title and the away statements under the contact's name).

	* src/gj_main.c: spent the day getting the connection stuff
	working on Windows.  it seems to work, it is not asynchronous
	though, so this is a temporary solution.  also there are issues on
	windows (i.e. features not covered, such as auto away, etc), these
	are detailed in the TODO file.

	* src/gj_iq_requests.c: made sure ALL inputs are checked and
	called with g_markup_escape_text() so they do not cause invalid
	xml errors back from the server.

	* src/gj_gtk_about.c: added "translators" tab in the about dialog
	credits.  it was there before, just unused. 

2003-07-29  Colin Marquardt  <colin@marquardt-home.de>

	* po/de.po: Small update.

2003-07-28  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_main.c: added quick fix for the <locale.h> was not
	included. 

2003-07-28  Colin Marquardt  <colin@marquardt-home.de>

	* src/gj_main.c (gnome_jabber_main): Use GETTEXT_PACKAGE instead
	of PACKAGE for the i18n part. Add setlocale(LC_ALL, "") call.

2003-07-28  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_presence.c (gj_presence_send): again, more text that
	wasnt checked for xml entities. 

	* src/gj_message.c (gj_message_send): fixed some serious
	bugs. wasnt checking for xml entities in anything other than the
	message body. 

	* src/gj_parser.c (gj_parser_get_content): fixed problem which
	causes a crash with invalid xml (stream error)

	* src/gj_gtk_roster.c: removed the presence details from
	transports at Colin's request, it just fills the roster up and is
	not really useful.

	* src/gj_main.c: spent the day getting it to compile on Windows.
	MinGW's gcc is quite picky.  it runs, but the socket library still
	has problems. sent the details of to gnet-dev@gnetlibrary.org
	today.  hope to get a response soon. i want to release the windows
	version with or shortly after the linux version (0.2).

	for building under Windows, take the src/Makefile.win32 and rename
	to src/Makefile and the same for src/config.h.win32.  Then it
	should build.

2003-07-27  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_roster.c: updated roster model to have a
	COL_ROSTER_TEXT which is displayed and COL_ROSTER_NAME as the
	original name. - this fixed a bug which used the markup in the
	title to be used when renaming the contact.

2003-07-27  Colin Marquardt  <colin@marquardt-home.de>

	* po/de.po: Translated some messages to be able to check if
	installation etc. is working correctly.

2003-07-27  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_roster.c: fixed bug found by Colin. if agents were
	set to be invisible, so was the rest of the roster.

	Also, the roster is now sorted alphabetically by name. I might
	make this an option at some point.

	* src/gj_gtk_msg.c: fixed bug that occured if the secondary
	message was NULL.

	* src/gj_gtk_password_change.c: updated the glade file to let the
	user know that changing the password is not reflected on the
	server immediately.

2003-07-26  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_my_preferences.c: removed the internal functions
	which were used through out the application as well as the
	gj_config() functions.

	* src/common.h: applied patch from Zygimantas Berucka which
	replaces jsf.png to transparent jsf.png because in docklet the old
	one looks bad; moves all pixmaps to
	$PREFIX/share/pixmaps/gnome-jabber just where all pixmaps belong;
	adds <meta http-equiv="Content-Type" content="text/html;
	charset=UTF-8" /> to new history logs. This way browsers
	automaticaly add normal encoding. 

	made one or two changes because glade has to be in the same
	directory ($PREFIX/share/gnome-jabber) as the images must be in
	the same place.

2003-07-26  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_roster.c: other resources (eg. if you load the same
	account from another jid/RESOURCE) then it is handled better.  it
	has its own group now and does not look like an UNKNOWN contact,
	however, it is.  this needs testing when the contact at the OTHER
	resource is added to the roster permanently.

2003-07-25  Martyn Russell  <ginxd@btopenworld.com>

	* po/gnome-jabber.pot: added this and es.po for the first time. also
	adapted the application to use gettext everywhere it is supposed to.

	* src/gj_stream.c: added a function to handle stream errors. it
	has only been tested against "invalid xml" error at this point. 

	* po/es.po: finished all spanish translations.

2003-07-24  Martyn Russell  <ginxd@btopenworld.com>

	* configure.in (AC_CONFIG_FILES): Add po/Makefile.in.

	* configure.in: Added all the necessary files to be able to use
	libtool, automake, and the POT files for translations.

2003-07-23  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_parser.c (gj_parser_find_by_node_on_parent): fixed this
	function thanks to Andrey Lebedev (kedder) for spotting it.  this
	only occured when groups were created with psi and other jabber
	applications because there is content either side of the group
	element and the function was not correctly traversing the xml tree.

2003-07-22  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_roster.c (gj_gtk_roster_model_add_contact_permanent):
	added code to implement a request from by Colin Marquardt (cmarqu)
	- to have the roster items with their presence under their name. 

	Andrey Lebedev (kedder) and I looked into a few roster
	problems. also discovered a pango problem too.

2003-07-22  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_log.c (gj_log_handler): looked into bug with large
	russian content.  it turns out that glib has a maximum size for
	arguments passed to a vargs function (1024 bytes).  with multibyte
	characters this means they are split sometimes and this causes
	invalidity in the utf8 string. - thanks to kedder for help on
	testing this.

	* src/*.c: also grep'd all the code for "strlen" and made sure it
	was all utf8 compliant (with the g_utf8_strlen() function). -
	obviously there are a few exceptions :).

2003-07-21  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_main.c: updated server listing from jabber.org.

2003-07-19  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_roster.c: now uses the event viewer to show message
	errors instead of using a dialog box which doesnt look to
	professional.

	* src/gj_gtk_chat.c: *SERIOUS* work on this and the
	message/headline windows.  They all now use the roster item unique
	id instead of JID.  This is much safer and also it eliminates a
	few problems with the resources on the jids.

	* src/gj_roster.c: changed the gj_roster_item_find_by_jid() to
	first try by resource, then by dropping the resource all
	together.  this process of elmination was everywhere in the code,
	and now it is done in one place. - this fixes the duplicate chat
	windows for one person problem people were experiencing this week.

	* src/gj_gtk_headline.c: now uses a window instead of a dialog.
		
	* src/gj_gtk_log.c: now uses a window instead of a dialog.

	* src/gj_support.c: added functions to get the time (now and from
	time_t) and present it nicely for the history html pages.

	* src/gj_history.c: this is now a little neater.  updated the css
	file too.  this too was updated to the new method of dealing with
	roster item's unique id instead of jid's.  this means there are no
	errors when it tried writing the history to a jid with a different
	resource.
	
2003-07-18  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_roster.c: after trying out various options with group
	icons.  it was decided between Colin Marquardt and myself that the
	roster looks better without group icons.
	
	* src/gj_parser.c (gj_parser_push_input): For some reason, the xml
	check function I wrote (gj_parser_input_check) was not being
	used.  I do this because I want to make sure that the buffer I
	will be parsing with libxml is basically formed (i check for open
	and closing chevrons and that the opening and closing tag match).
	This saved the libxml parser from prompting me about unecessary
	warnings when I know the libxml won't be complete.

	This was pointed out by Colin Marquardt (cmarqu), this fixes (SF
	Tracker #773288).

2003-07-17  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_chat.c: fixed a few things.  now when sending text
	you can use shift+return to enter lines in the send box.

	also, if there is no text, the send button now is insensitive.

2003-07-16  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_message.c: added updates similar to the chat window
	to make sure the text in and out would all be utf8 compliant.
	also noticed another problem based on functions not finding the
	roster item from a jid with a resource, this meant the roster was
	not being updated correctly.
	
	* src/gj_connection.c (gj_connection_watch_cb): added utf8
	validity check.  perhaps this should throw the text out when it
	does not comply?

	* src/gj_gtk_chat.c (gj_gtk_cw_receive_set): fixed some *SERIOUS*
	issues with printing multibyte characters into the GtkTextView of
	the chat window.  Thanks to help from Colin Marquardt (cmarqu) and
	Ben Smith.  This bug was reported by Colin Marqardt #771259.

	Note. The same problems still exist in the message dialog text
	view, these need fixing ASAP.

2003-07-13  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_roster.c (gj_gtk_roster_uptime_cb): changed the
	statusbar on the roster to a proper gtkstatusbar.  also, it now
	reports how long the user has been connected when not reporting
	auto away times.

2003-07-12  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_log.c (gj_log_handler): fixed bug (I reported) #769335: -
	g_io_channel_write_chars was printing strings with % in them using
	that character in the way printf would.  Now checks for this and
	adds another % character.

2003-07-12  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_config_handler.c: added int8 saving and loading from
	config file. 

2003-07-11  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_my_presence.c (gj_gtk_mp_load): fixed bug reported by
	Maciej Bilas (lvizard) - #768390: presence range not accurate
	(should be -128 to +127).

2003-07-10  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_roster.c (gj_gtk_roster_model_add_contact): temporary
	fix for bug #769335.

2003-07-08  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_message.c: MAJOR changes to the code.  cleaned it up.

2003-07-08  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_my_presence.c: fixed bug reported Maciej Bilas
	(lvizard) - #767952. - presence priority being ignored.
	
2003-07-06  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_event.c: MAJOR changes to the code.  updated the old
	jabber engine of the application and kept the function naming
	inline with the rest of the application.

2003-07-06  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_directory_search.c (gj_gtk_ds_page_action): made a
	start on this.  it was mostly done until i discovered the changes
	to the xml model with users.jabber.org.

	* src/gj_search.c: added this module for the first time.  the
	jabber:iq:search namespace model shown on jabber.org's home page
	is not the same as the model experienced from users.jabber.org. -
	this module may be not longer be pertinant - the gatherdata
	module may take over this modules function.

2003-07-06  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gatherdata.c (gatherdataResponse): since i started
	working on the jabber:iq:search namespace to be able to search the
	JUD, i notice that users.jabber.org uses the jabber:x:data
	namespace.  this module is dedicated to filtering the xml for it
	and presenting an easy interface to the user.  it needs more work
	still before i can continue the directory search feature.

	also needs work to be able to feedback the results somehow.

2003-07-02  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_roster.c: added member to roster item to know if the item
	is about to be deleted.  this is used to know not to add roster
	items when receiving presence if the item is about to cease to exist.

	* src/gj_gtk_register_service.c
	(gj_gtk_rs_registration_requirements_response): tidyed up the code
	in this module.

	* src/gj_gtk_event_viewer.c (gj_gtk_ev_model_populate_columns):
	moved the event viewer columns round.

	* src/gj_gtk_subscription_request.c: added this module for the
	first time. this module is the same as the
	roster_subscribe_contact module that used to exist, except this
	handles multiple requests at the same time.

2003-07-01  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_user_information.c (gj_gtk_ui_load): added bells and
	whistles (images) to add some colour to the dialog.

	* src/gj_gtk_my_information.c (gj_gtk_mi_set): added nickname
	support and also made the dialog slightly shorter in height.

2003-06-28  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_roster.c (gj_gtk_roster_event_proc): removed the
	status bar update when users presence changes.
	(gj_gtk_roster_autoaway_update): fixed problem with auto away not
	working because it was using the gtk mpf options not the config
	options... 

	* src/gj_roster.c: added a function to get all items from an agent
	jid.

	* src/gj_gtk_register_service.c: improved this so it now reports
	back errors from the request.

	* src/gj_registration.c (registrationResponse): improved this to
	return errors now back to the callback.

	* src/gj_gtk_event_viewer.c: tarted up the event viewer.  now it
	looks much better with stock icons for the type of message
	(info, error, etc...) and the first column is now a friendly name
	instead of the JID which looked a little messy.  JID is available
	as an option.

2003-06-26  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_first_time_run.c: added this for the first time.
	this is basically a little introduction about the current status
	of the application.

	* src/gj_gtk_add_contact.c: added extra page with contact details
	so the user can confirm it is the correct person they are adding
	to their roster.

	* src/gj_parser.c: changed all find functions to be case
	insensitive. 

2003-06-24  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_group_message.c: this now works. could be improved by
	checking if there is anyone selected to send the message to before
	highlighting the "send" button. 

	* src/gj_gtk_chat.c (gj_gtk_cw_new): fixed problem which meant
	chat window wasnt set up correctly because it couldnt find roster
	item by jid WITH a resource. now checks for it without the
	resource to. 

2003-06-23  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_roster.c: added rename option to the user and agent menus.

	* src/gj_gtk_add_contact.c (gj_gtk_ac_page_action): improved the
	way the name is obtained. it doesnt include the hotmail.com bit or
	the %msn.jabber.org bit either.

	* src/gj_gtk_send_message.c: added this module for the first time.

	* src/gj_gtk_add_contact.c: moved group editing interface to be
	the same as the "edit groups..." dialog.

	* src/gj_gtk_roster.c (gj_gtk_roster_model_add_contact): fixed
	this.  if i was a adding a new contact, the roster item was not
	permanant and had a subscription of none which meant it was put
	into the "unknown contacts" group which it shouldnt have been.

2003-06-22  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_rename_group.c: added this module for the first
	time. this is simply here to allow editing of the name of the
	group.  there is small bug if the group has members which belong
	to multiple groups that needs fixing.

	* src/gj_roster.h: updated the roster module to allow deleting
	from the groups the contact belongs to.

	* src/gj_gtk_user_information.c: fixed a few problems with this,
	mainly since making the dialog hig compatible and not using frames
	any more.  one or two of the frames where used to be sensitive or
	not depending on supported services.

	* src/gj_gtk_edit_groups.c (gj_gtk_eg_load): renamed the old
	roster_group_edit module to edit groups module.  also slightly
	modified it so the user can not remove groups.  and the groups are
	not edited in the list widget, they are only added or selected in
	this window now.  the window can be renamed independantly now.

	* src/gj_gtk_group_message.c: added this module for the first time.

2003-06-16  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_connection.c (gj_connection_connect_cb): fixed a small
	problem. basically, the tcp mode was set to GNET_TOS_RELIABILITY.
	this was causing problems on certain servers, for some reason.  i
	will file the bug with the gnet guys.

2003-06-08  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_my_preferences.c (gj_gtk_mpf_get): added a message
	and changed the default action to continue if a config read
	fails.  the reason for this is that when the application is
	started for the first time, we want to ignore the failure because
	the file does not exist and still read the variables which have
	been set anyway.  when the preferences are saved this will be fine.

2003-05-31  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_agents.c (agentListResponse): this now supports error
	code/messages when responding with the list of agents.

	* src/gj_gtk_browse_services.c (gj_gtk_bs_agent_list_response):
	improved the interface with glade.  more information is shown in
	the list about each agent.  there is also now a timeout progress
	bar for each request.

2003-05-30  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_add_contact.c: spent a lot of time on the glade file,
	but also added checks at each page of the wizard and created
	member functions for structure access to private data.  this is
	looking a lot better, but needs more work especially in the adding
	contacts by transports area.

	* TODO: added this for the first time.

2003-05-29  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_browse_services.c (gj_gtk_bs_model_populate_columns):
	changed the "are we registered" image to a boolean entry in the list.

	* src/gj_gtk_my_preferences.c: added support for the preference
	"use docklet".  it was half complete, now it works fully.

2003-05-19  Martyn Russell  <ginxd@btopenworld.com>
                                                                                
        * src/gj_gtk_first_time_run.c: fixed compilation error.
                                                                                
2003-05-18  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_add_contact.c: changed the name of this module and
	updated the glade file to bring the gui together... protocols are
	now agents.

2003-05-17  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_roster_contacts_add.c: improved the model and tree
	view handling code in this module.  it was a little dated.

	also, changed the "Add By Protocol" option.  now it lists only
	services which the user is already registered with.  so if they
	want msn and they are not registered with it, they will have to
	browse services and register the one they want.

	* src/gj_gtk_roster.c (gj_gtk_roster_load): icon is now loaded
	when the window is loaded. previously glade did this for me, but
	the images are not in the same location as the executable when it
	is deployed into {prefix}/pkgdatadir. (usually
	/usr/local/share/gnome-jabber). 

2003-05-17  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_headline.c (gj_gtk_hw_find_by_jid_len):  add this
	function for the time being.  this is bad, basically if i can not
	find by jid, i use this function.  the problem is, if the jid is
	msn.jabber.org first time and then the next message is
	msn.jabber.org/registered, then i do not find the window.  i need
	to somehow improve this.

2003-05-15  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_first_time_run.c: made a start at this.  this is no
	where near complete.  the idea is that this will be used to
	introduce new comers to the application and get them set up easily.

	* src/gj_main.c: improved this to check for all REQUIRED files to
	run the application, this also is used to determin if there is a
	config file / and config directory ("~/.gnome-jabber") which is
	required. if not, they are created.

	* src/gnome-jabber.glade: MAJOR changes to the interface (still
	not finished).  bringing UI inline with the gnome HIG.

	* src/gj_config_handler.c (gj_config_handler_write_string): fixed
	a problem which occured when saving with an empty entry box.  the
	config file would save the value back as "(null)".

2003-05-14  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_main.c (gnome_jabber_first_time_check): made a start at
	doing a "first time run" approach to the application.  now it
	checks for directories and files it needs.  still not finished.

2003-05-14  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_password_change.c (gj_gtk_pc_load): modified this to
	be more simple looking and changed the name from
	"connection_password_change" to "password_change".

2003-05-14  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_connection_progress.c (gj_gtk_cp_state_handle_idle):
	added a timeout at the connecting stage so the user knows the
	application has not crashed IF the connection takes a while to
	make.  This generally should not be the case, and would be
	recognised mainly when the address to connect to is incorrect in
	someway OR the server is not there.

2003-05-11  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_event_viewer.c: added this for the first time, not
	yet working though.
	(gj_gtk_ev_model_populate_columns): improved it a little, has the
	basic information in there, but the formatting needs to be updated.

	* src/gj_gtk_chat.c (gj_gtk_cw_send_set): improved this to add the
	thread when replying.
	(gj_gtk_cw_notification_new): added the composing icon to be shown
	when a message window is created and the composing event was
	present in the message.  testing this mainly with MSN is a pain in
	the arse! - MSN messenger seems to send the SAME id for the
	xevents EVERY time, and it appears to be the thread of the
	conversation which should be different.  also, when taking focus
	of MSN messenger OR closing the window the application does not
	notify my client that they are no longer composing, either they
	don't bother or i need to figure out how to trigger it.

	* src/gj_connection.c (gj_connection_connect_cb): improved this to
	use a different callback on error.  currently there is an issue
	with using an invalid port.  i tried jabber.org.uk with 5003 and
	it connected ok, but when sending the opening stream information,
	the connection was cut.  this was not reflected up and needs to be.

	* src/gj_stream.c: added error support for the connection. this is
	good and will inform higher up if there is a connection issue.

	* src/gj_gtk_connection_progress.c: improved this some more. this
	now has a local copy of the server, user, pass, etc and does not
	constantly relate back to the connection settings.

	also, improved it to support errors better than before.

2003-05-10  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_connection_settings.c: fixed problems caused by
	connection progress changes made in other modules.

	* configure.in: updated to use gnet-2.0 instead of gnet-1.3

2003-05-09  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_stream.c (streamConnected): this needs improving,
	currently if there is a gnet error with the tcp address, this is
	not echoed up to the gui.

	* src/gj_connection.c (gj_connection_destroy): fixed problem which
	meant stream was disconnected, cb was triggered, then the stream
	was freed, which meant the connection was freed which tried to
	disconnect the socket before freeing it, RE-TRIGGERING the
	disconnected callback causing a warning.

	* src/gj_gtk_connection_progress.c: tried to improve this module,
	there is currently a bug where the you disconnect and reconnect,
	and the dialog does not come up, because it is still loaded
	somewhere?? 

	* src/gj_gtk_chat.c (gj_gtk_cw_send_new): added fix that meant
	multiple chat windows could be used to talk to the same person.

2003-04-26  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_register_service.c: improved this module's ui
	slightly... still needs a lot of work.

	* src/gj_gtk_browse_services.c: improved this module's ui
	slightly... still needs a lot of work.

2003-04-25  Martyn Russell  <ginxd@btopenworld.com>

	* images/Makefile.in: improvements so that now images load
	correctly when installed, and glade file is in position.

	* src/gj_gtk_roster.c (gj_gtk_roster_model_remove_contact): fixed
	a nasty bug which meant removing the last item continued in for
	loop because valid was TRUE.  valid is returned by the
	store_remove function and wasnt being used to know if the next
	item the iter pointed to was valid. 

2003-04-24  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_main.c: added #ifdef HAVE_CONFIG_H then #include
	"config.h" into all the files that depend on definitions from it.

	* src/gj_gtk_docklet.c (gj_gtk_docklet_load): added the docklet
	for the first time.

2003-04-23  Martyn Russell  <ginxd@btopenworld.com>

	* src/gj_gtk_roster.c (gj_gtk_roster_setup): got the presence menu
	working!

2003-04-20  Martyn Russell  <ginxd@btopenworld.com>

	* gj_gtk_roster.c (gj_gtk_roster_model_remove_contact): fixed
	another minor bug.  when calling gtk_tree_store_remove, the iter
	is set to the next item, the code was using a for loop which
	automatically went to the next item on each loop.  this caused the
	next item to be missed after the one that was removed.
	(gj_gtk_roster_generate_mnu_user): changed the way the menus work.
	I was using GtkItemFactory and found it was quite limited with the
	user images - ok with stock images, but the fact that a gdkpixdata
	was needed to add a user specific image I thought was a little
	over the top, the API should be simpler than that.

2003-04-19  Martyn Russell  <ginxd@btopenworld.com>

	* gj_gtk_roster_groups.c (gj_gtk_rg_save): changed this so that
	the JID that is associated with the rosterItem is used, this NOW
	includes the resource, before it didnt and this caused problems.

	* gj_roster.c: SERIOUSLY improved this in places, such as getting
	the agent without the resource included in it.

	* gj_gtk_roster.c: SERIOUSLY changed the way the roster model add and remove
	functions work.  now they take into consideration the "hide
	offline group" preference.
	(gj_gtk_roster_model_add_contact_offline): added the group in the
	name for offline contacts...
	(gj_gtk_roster_timeout_function): improved this. was passing the
	pointer to the rosterItem but thought this was a bad idea, instead
	each roster item has a unique ID and that id is passed - much
	safer way of doing it.
	(gj_gtk_roster_set_message): this now sets the message for ALL
	jids which the message corresponds to instead of just the first one.

2003-04-18  Martyn Russell  <ginxd@btopenworld.com>

	* gj_gtk_user_information.c: fixed a serious flaw in the user
	information dialog. if the window was closed before ALL responses
	were received it crashed.

2003-04-17  Martyn Russell  <ginxd@btopenworld.com>

	* gj_gtk_browse_services.c (gj_gtk_bs_setup): added more servers
	(from jabber.org).

2003-04-16  Martyn Russell  <ginxd@btopenworld.com>

	* gj_gtk_register_new.c: added more to this, now has more visual
	checks on information being passed.

	* gj_gtk_user_information.c (gj_gtk_ui_load): added more
	information - such as if the user is actually on the roster or
	just temporary (like when receiving messages from unknown people).

2003-04-15  Martyn Russell  <ginxd@btopenworld.com>

	* gj_gtk_roster_contacts_add.c: added to the load function to
	allow a JID to be passed.  This way the wizard can jump to the
	next step because it is known already.  this is used primarily for
	adding contacts which are requesting subscription and the "add to
	roster" checkbutton is checked when clicking "allow".

	* gj_gtk_roster_contacts_subscribe.c: improved this to allow
	adding contacts, the add contact dialog now loads if the checkbox
	is clicked when "allow" is pressed. 

	* gj_roster.c (rosterItemFindByJIDWithoutResource): improved this
	so that both the jid supplied AND the roster id JID were checked
	for the resource.

2003-04-14  Martyn Russell  <ginxd@btopenworld.com>

	* gj_gtk_browse_services.c: continued to improve this.  it is
	almost done, now it starts up the register service dialog and
	*should* unregister, but this has not yet been tested.

	* gj_gtk_register_service.c: more improvements.  doesnt yet
	register the services because the iq and iq_request modules do not
	currently support it.

2003-04-14  Martyn Russell  <ginxd@btopenworld.com>

	* gj_gtk_browse_services.c: added this for the first time.

2003-04-13  Martyn Russell  <ginxd@btopenworld.com>

	* gj_registration.c: added registration and the glade windows
	related to that browsing services.  still not finished.

	* gj_parser.c (parseFindByNs): If not found at current depth, then
	recursivly got no where.  Instead, node->next should have been
	tested first.

2003-04-11  Martyn Russell  <ginxd@btopenworld.com>

	* gj_history.c: changed file names and the path is based on a
	config option.  also there is now an option NOT to log conversations.

	* common.h: added some extra config (history location).

2003-04-10  Martyn Russell  <ginxd@btopenworld.com>

	* gj_gtk_roster_groups.c: improved the interface and the whole way
	the model is handled.  it works a lot better.  noticed ANOTHER
	with the roster model.  when adding and deleteing groups, the
	original jid is not removed first, which means there are two
	instances of a jid when they belong to two groups.

2003-04-09  Martyn Russell  <ginxd@btopenworld.com>

	* gj_gtk_my_preferences.c: added sound files config options

2003-04-08  Martyn Russell  <ginxd@btopenworld.com>

	* gj_gtk_roster.c: added all the callbacks for the gui for windows.

2003-04-07    <martyn.2.russell@bt.com>

	* gj_main.c: **SERIOUS** changes to all the code.  
	- first major change is that all character arrays are not fudged
	with the -fsigned-char switch when compiling.  
	- all code is compiled with the pedantic flag.
	- it now compiles on WIN32 (signals need connecting and images
	setting up....)

2003-04-06  Martyn Russell  <ginxd@btopenworld.com>

	* gj_gtk_roster.c: improved code by NOT storing the GtkTreeStore
	in a structure and GETTING the model or store each time from the
	GtkTreeView when it is needed.  Also more checks in place for stability.

	* gj_gtk_docklet.c: more improvements - image is now scaled.
	(gj_gtk_docklet_clicked): added a menu for the right click.

	* gj_main.c: removed gnome-panel-applet stuff... and replaced it
	with eggtrayicon code instead... works much better.

2003-04-05  Martyn Russell  <ginxd@btopenworld.com>

	* gj_socket.c: removed all the crap and testing functions.  also
	improved this (on the read function).

	* gj_roster.c (rosterItemFindByJIDWithoutResource): added this
	function to find a roster item when the resource is NOT
	specified.  This is potentially VERY important. If someone is
	logged in to two places, (2 resources) then is sent a message,
	this functions means, that the contact can be found if the msg is
	send to the users id and not a particular resource.

	* gj_presence.c: changed JID from <id> to <id>/<resource> which is
	how it should have been from the start.

2003-03-31  Martyn Russell  <ginxd@btopenworld.com>

	* gj_gtk_chat.c (on_textbuffer_cw_receive_changed): improved the
	changed callback to be more efficient when looking for urls in the
	text.

2003-03-24  Martyn Russell  <ginxd@btopenworld.com>

	* gj_gtk_message.c: added url handling.

	* gj_gtk_chat.c: added url handling.

2003-03-21  Martyn Russell  <ginxd@btopenworld.com>

	* gj_gtk_chat.c (gj_gtk_cw_notification_of_xevent_new): now works
	properly. 

2003-03-20  Martyn Russell  <ginxd@btopenworld.com>

	* gj_gtk_chat.c: having problems with the xevents...

	* gj_gtk_connection_progress.c (gj_gtk_cp_start): now set my jid.

	* gj_me.c (struct ): added MY jid into this.

	* gj_message.c (messageXEventSend): added xeventing into messaging
	protocol. 

2003-03-18  Martyn Russell  <ginxd@btopenworld.com>

	* gj_history.c: now works at a VERY basic level. not for msgs only
	CHATS... 

	* gj_gtk_debug.c: added this to enabled inputing and output xml to
	simulate particular situations.

	* gj_gtk_message.c (on_button_mw_send_clicked): moved this over
	from gj_gtk_msg which is for msgboxes. this is for the message window.

	* gj_gtk_msg.c: updated to allow MULTIPLE msg boxes at the same
	time. 

	* gj_gtk_about.c: added about box.

2003-03-17  Martyn Russell  <ginxd@btopenworld.com>

	* gj_iq.h: tidied up code after change...

	* Makefile: BIG change to iqs.  now there are three modules, iq,
	iq_requests and iq_responses.  the iq module was getting too big.

2003-03-16  Martyn Russell  <ginxd@btopenworld.com>

	* gj_gtk_roster_contacts_subscribe.c: MAJOR changes to this to
	make this window unique to jid and be able to have multiple
	windows at once.  this is not tested yet, but is a start towards
	the problem of having multiple contacts subscribing at the same time.

	* gj_log.c: added debugging support. - also dont print debugging
	to cmd line, only to the gtk logging window which has a special
	colour for the text, so it is distinct.

	* gj_roster.c (rosterParseSetRequest): greatly improved the way
	this works. need to spend some time and improve this to post a
	message to a designated callback when roster changes occur.  there
	are still problems with changing the users group and name, it (for
	some reason) responds (from the server) with the subscription of
	"none"? 

	* gj_gtk_roster.c: changed contact remove function.  now it doesnt
	cause problems because it doesnt delete the parent in the deleted
	callback it there are no more contacts in a particular group.  the
	group it removed instead of the children first...

	* gj_parser.c: MAJOR change to parser.  Now uses a SAX struct to
	receive callbacks.  Also used to check document is correctly
	balanced before continuing....

	Added debug logging using g_log instead of a compiler
	definition. Now is seen in logs, need a way to customise what is
	shown in the log.

2003-03-15  Martyn Russell  <ginxd@btopenworld.com>

	* gj_gtk_roster.c: MAJOR thing to consider, do we have a roster
	item based on the JID (including the resource) or NOT including
	the resource? at the moment we do not use the resource, which
	means someone with an id abc@jabber.org/home will not work when
	using abc@jabber.org/work.

	* gj_gtk_user_information.c (gj_gtk_ui_time_response): this keeps
	crashing here?? why? something is shitting over the pointers?

	* gj_parser.c (parseInput): this needs SERIOUSLY improving. at the
	moment the biggest problem is that the stream could contain two
	messages, it this is the case, the end tag and the start tag do
	not relate and this causes problems.

	* gj_gtk_chat.c (gj_gtk_cw_send_set): implemented reverse text
	direction option.

2003-02-22  Martyn Russell  <ginxd@btopenworld.com>

	* gj_gtk_headline.c: added headline module for first time.  doesnt
	support oob namespace at this point but does the job.

2003-02-02  Martyn Russell  <ginxd@btopenworld.com>

	* gj_log.c (gj_log_init): changed file names to be one filename.
	the logs just fill up otherwise.
	(gj_log_init): also added more domains to capture messages from.
	before it was just gtk and glib, now its gmodule, gthreads,
	glib-gobject, glade and gobject 

	* Makefile: added clean target

	* gj_gtk_roster.c: changed the presence button on the roster
	window to be a menu. much better way of doing it.

	* gj_stream.c (streamNew): added checks for other streams that
	have the same 'to' field.  also made _new() ask for a host instead
	of being created simply on merit.

	* gj_gtk_roster.c: added dynamic real time menu creation for right
	clicks on the roster.  before they were in the glade file.
	added support for the group right click. - no actions yet available.
	
2003-02-01  Martyn Russell  <ginxd@btopenworld.com>

	* gj_gtk_roster_groups.c (gj_gtk_rg_save): added support for
	presence from resource when setting the roster groups.  this is
	required if not when setting the group for a transport, the
	transport is not correctly set, and an additional contact is added
	instead.

2003-01-11  Martyn Russell  <ginxd@btopenworld.com>

	* gj_history.c: made a start at the history. 

	* Makefile: moved over to a different way of compiling.  also
	added new flags to be more pedantic.  and i cant use the -pedantic
	switch because the of the signed and unsigned differences in
	xmlChar* and gchar*. 

	* Linux2gcc/machine_specific: added this file (better way of
	compiling) 

2002-12-15  Martyn Russell  <ginxd@btopenworld.com>

	* gj_gtk_roster.c (on_mnu_user_subscription_cancel_activate):
	added subscription request and cancellation from right click on
	the user.  the whole subscription and adding contacts needs a
	little more work... 

	* gj_config.c: added functions to get and set all the
	properties... (for connections only so far) 

	* gj_gtk_connection_settings.c (gj_gtk_cs_save): changed to use
	cross platform config solution. 

	* gj_gtk_roster_contacts_subscribe.c: added more subscriber
	support. now removes contact when denied subscription. 

	* gj_config.c: added this file to deal with config variables
	obtained using config_handler 

	* common.h: again, this file is slightly different with the new
	configuration scheme so add HAVE_GNOME macros... 

	* gj_gtk_connection_settings.c (gj_gtk_cs_open): added macros to
	check that HAVE_GNOME is defined.  if so, use the features 
 
	* Linux2gcc/Makefile: added changes to try and phase out gnome
	only support - for windows 

