			ROX-Lib2
			Shared code for ROX applications
			by Thomas Leonard
			http://rox.sourceforge.net

25-Jul-2005 (Release 2.0.2)
~~~~~~~~~~~
Bugfix: Installing MIME handlers under the XDG base dir system didn't 
        work (Stephen Watson).

17-Jun-2005 (Release 2.0.1)
~~~~~~~~~~~
Send deprecation warnings to stdout, not stderr, so only developers will
see them (Thomas Leonard).

10-Jun-2005
~~~~~~~~~~~
Fixed deprecation warning in processes.py (Thomas Leonard).

01-Jun-2005
~~~~~~~~~~~
Avoid apparent PyGTK bug related to icon themes, may result in a
memory leak but probably won't (Stephen Watson).

19-May-2005
~~~~~~~~~~~
Clean up of icon theme handling (Stephen Watson).

18-May-2005
~~~~~~~~~~~
Compatability with PyGTK 2.4 retaining backwards compatability with
2.2 at least (Ken Hayber, Stephen Watson).

12-May-2005
~~~~~~~~~~~
Updated Chinese translation (Babyfai Cheung).

11-May-2005
~~~~~~~~~~~
Added Portuguese translation (José Carlos do Nascimento).

07-May-2005
~~~~~~~~~~~
Don't try to get pygtk through Zero Install. The injector can be used to
choose the implementation of pygtk to use, including a version in Zero
Install if desired (Thomas Leonard).

06-May-2005
~~~~~~~~~~~
MIME handler install now uses basedir (Stephen Watson).
Tests use gtk.main() instead of the deprecated gtk.mainloop() (Stephen Watson).

05-May-2005
~~~~~~~~~~~
Some versions of GTK silently remove '-' from sys.argv (GTK bug #303166).
Added a work-around (Thomas Leonard).

02-May-2005
~~~~~~~~~~~
Put "root" back in su command, but detect what the exact string should be, as
Solaris needs something here (reported by Stephen Watson).

01-May-2005
~~~~~~~~~~~
The default SaveArea.confirm_new_path() now shows an error if the target
exists as a directory, instead of asking if you want to overwrite it (Thomas
Leonard; reported by Jonatan Liljedahl).
Remove "root" from the su command, as some systems call user 0 something else
(Thomas Leonard; reported by Jonatan Liljedahl).

30-Apr-2005
~~~~~~~~~~~
When getting an icon for saving, specify the size if PyGTK is recent enough.
This prevents SVG icons from appearing in huge sizes (Thomas Leonard;
requested by John Pettigrew).
Bugfix: Theme index parser failed to cope with comments at the start of the
	file (Thomas Leonard).

29-Apr-2005
~~~~~~~~~~~
Compatability fixes for the su module (Stephen Watson).

17-Apr-2005
~~~~~~~~~~~
Fixed Zero Install version test in findrox.py (Thomas Leonard).

16-Apr-2005 (Release 2.0.0)
~~~~~~~~~~~
Run unit tests in alphabetical order as it fixes a strange interaction between them (Stephen Watson).

10-Apr-2005
~~~~~~~~~~~
Added unit tests for processes module, based on old tests in Archive (Thomas
Leonard).

09-Apr-2005
~~~~~~~~~~~
Changed MakeDist to allow use of other SourceForge accounts (Stephen Watson).

01-Apr-2005
~~~~~~~~~~~
Added 'testall' script to run all the unit tests together (Thomas Leonard).

23-Mar-2005 (Release 1.9.18)
~~~~~~~~~~~
German translation (Guido Schimmels).

13-Mar-2005
~~~~~~~~~~~
Added TODO file to track bugs and changes needed for 2.0.0 release.

10-Mar-2005
~~~~~~~~~~~
Bugfix: Set default in Options box to OK to avoid triggering a GTK bug
	(Thomas Leonard, reported by Guido Schimmels).

16-Jan-2005 (Release 1.9.17)
~~~~~~~~~~~
Added OutputBlocker, which works in a similar way to InputBlocker (Thomas
Leonard).

15-Jan-2005
~~~~~~~~~~~
Be consistent about URI escaping. set_uri() is now always passed an unescaped
UTF-8 string (Thomas Leonard).

03-Jan-2004
~~~~~~~~~~~
Added fixedlist and varlist widgets to OptionsBox (Stephen Watson).

31-Dec-2004
~~~~~~~~~~~
Added MIME type matching by file contents (Stephen Watson).

29-Dec-2004
~~~~~~~~~~~
If a 'rox' module is in PYTHONPATH, use that without any searching (Thomas
Leonard).

23-Dec-2004
~~~~~~~~~~~
Added Chinese translation (Babyfai Cheung).

11-Dec-2004
~~~~~~~~~~~
Suppress warning when we use GtkItemFactory under pygtk 2.4 (Stephen Watson).

25-Nov-2004
~~~~~~~~~~~
Added tasks.InputBlocker, which triggers when an input source becomes
readable (Thomas Leonard).

21-Nov-2004
~~~~~~~~~~~
Bugfix: Use only text nodes when getting the tool tip from the Options.xml
        file (Stephen Watson).

22-Oct-2004
~~~~~~~~~~~
Bugfix: Theme subdirectories are separated by ',' not ';' (reported by
	Denis Prost).

20-Oct-2004
~~~~~~~~~~~
Bugfix: When a menu has more than one toggle item, only one is updated
	correctly (Ken Hayber).

07-Oct-2004
~~~~~~~~~~~
Replace g.mainloop() and g.mainquit() with g.main() and g.main_quit() as
recommended since pygtk 2.0.0 to avoid warnings with pygtk 2.4.0 (Stephen 
Watson).

03-Oct-2004
~~~~~~~~~~~
Added options.ListOption to support multi-valued option widgets, such as
lists (Stephen Watson).

02-Oct-2004 (Release 1.9.16)
~~~~~~~~~~~
Cope better with user cancelling su operation. New interface to replace
create_su_proxy (Thomas Leonard).

27-Sep-2004
~~~~~~~~~~~
The choices module is now deprecated. You can use choices.migrate() to move
settings over to the basedir system (Thomas Leonard). Also added
basedir.load_first_config(), which works like the old choices.load().

26-Sep-2004
~~~~~~~~~~~
Several incompatible changes to the experimental proxy API to make it simpler
(Thomas Leonard):

- Create_su_proxy now returns the MasterObject directly, not the MasterProxy.
- You can call finish on the MasterObject (so the MasterProxy isn't needed).
- Slave methods no longer take a 'request' argument. Instead, the return
  value of the function is returned.
- Methods can only return one value. dequeue and dequeue_last have been
  replaced with a 'result' property.
- Methods on MasterObject now return a RequestBlocker, not a Queue. This
  means you just yield the object itself, not object.blocker.

Tasks API is no longer experimental, but proxy API is.

22-Sep-2004
~~~~~~~~~~~
Added a Help button to the exception dialog, which opens the new Help/Errors
file (Thomas Leonard).

08-Sep-2004
~~~~~~~~~~~
Bugfix: Failed to call the parent constructor to AbortSave correctly.

06-Sep-2004
~~~~~~~~~~~
Simplified su code and interface.
New suchild methods: open, close, read, write, chmod and rename, which work
just like their normal Python counterparts (Thomas Leonard).

29-Aug-2004
~~~~~~~~~~~
Removed code to turn off the separator in the debug dialog. GTK 2.4 doesn't
need it, and generates a warning if you use it (Thomas Leonard).

27-Aug-2004 (Release 1.9.15)
~~~~~~~~~~~
Added spawnvpe and waitpid methods to suchild.

08-Aug-2004
~~~~~~~~~~~
If the unit field for a <numentry> option is blank, don't try to translate it
(reported by Guido Schimmels).

30-Jun-2004
~~~~~~~~~~~
Added 'su' module for performing operations as root.

11-Jun-2004
~~~~~~~~~~~
Allow "" as a valid value in a OptionsBox menu (reported by Guido Schimmels).

10-Jun-2004
~~~~~~~~~~~
Added 'proxy' module. This allows one Python process to invoke methods on
another asynchronously.
Added rox.UserAbort exception, to be raised when users cancel something
manually.

07-Jun-2004
~~~~~~~~~~~
Fix syntax error I caused when I added a docstring (Stephen Watson).

30-May-2004
~~~~~~~~~~~
Get update-mime-database command through Zero Install, if possible.

24-May-2004
~~~~~~~~~~~
mime_handler can now uninstall (Stephen Watson).

04-May-2004
~~~~~~~~~~~
Translate menu items in options (Guido Schimmels).

26-Apr-2004
~~~~~~~~~~~
Added <slider> widget to options.

25-Apr-2004
~~~~~~~~~~~
Added 'size-group' attribute to Options.xml elements. This allows grouping
elements so that their labels all appear the same width.

20-Apr-2004
~~~~~~~~~~~
Bugfix: Colour buttons in the Options boxes didn't work with some themes
	(Jonatan Liljedahl).

17-Apr-2004 (Release 1.9.14)
~~~~~~~~~~~
Added ToggleItem (based on a patch from Ken Hayber).

15-Apr-2004
~~~~~~~~~~~
Better <label> widgets (wrapping and icon). Taken from LookAndFeel.

20-Mar-2004
~~~~~~~~~~~
Stop themes from overriding the display of the colour-picker buttons in
the options box (Rene Ejury).

17-Mar-2004
~~~~~~~~~~~
Warn about old versions of findrox.py.
Bugfix: Bug in new menu API prevented submenus from working.

16-Mar-2004 (Release 1.9.13)
~~~~~~~~~~~
Bugfix: Icon themes didn't work with python versions older than 2.2.2
	(reported by Thomas Zajic).

15-Mar-2004
~~~~~~~~~~~
Bugfix: Use filer module to show ROX-Lib help, rather than using os.system,
	so that it works with Zero Install (reported by Keith Hopper).

14-Mar-2004
~~~~~~~~~~~
Added widget_registry to OptionsBox, to provide an easy way to register
new option types. Removed build_button in favour of this method.

Bugfix: If an error occurred loading the ROX theme at startup it could not
	be reported, because icon_theme wants debug, debug wants saving, and
	saving wants icon_theme (reported by Thomas Zajic).

12-Mar-2004
~~~~~~~~~~~
Cope with pygtk2.2 API change (Stephen Watson, reported by Guido Schimmels).

06-Mar-2004
~~~~~~~~~~~
Added secretentry and button options to the OptionsBox (Stephen Watson).

26-Feb-2004
~~~~~~~~~~~
Cope with option values split into multiple DOM text nodes (Rene Ejury).

22-Feb-2004
~~~~~~~~~~~
Allow a list of values to be stored in each menu Action. These are used as
the arguments to the callback function.
If a file's details were recorded (in document.save_last_stat) when it was
loaded, make sure they haven't changed when saving. Saving also updates this
variable (requested by Arnaud Calvo).

20-Feb-2004
~~~~~~~~~~~
Updated examples in documentation for new findrox (Yuri Bongiorno).

10-Feb-2004
~~~~~~~~~~~
New API for menus. Instead of passing tuples for menu items, python classes
can be used. The old tuple interface is still supported.

07-Feb-2004
~~~~~~~~~~~
Don't stop DnD working in the savebox just because no icon can be found
(reported by Martin Lucina).

02-Feb-2004
~~~~~~~~~~~
Added French translation (Vincent Lefèvre).

30-Jan-2004
~~~~~~~~~~~
Also translate <label> elements in the Options box (reported by Arnaud Calvo).

28-Jan-2004
~~~~~~~~~~~
Also translate section names in the Options box (reported by Arnaud Calvo).

22-Jan-2004 (Release 1.9.12)
~~~~~~~~~~~
Added 'tasks' module to provide a light-weight alternative to threads.
Bugfix: On non-zero-install systems, the sense of the version check in findrox
	was wrong.

02-Jan-2004
~~~~~~~~~~~
Added method to MIMEtype to fetch its icon. Install list window for
the MIME handler installation uses it (Stephen Watson).

13-Dec-2003
~~~~~~~~~~~
Translate text in Options box.

28-Dec-2003
~~~~~~~~~~~
Allow ROXLIB_DISABLE_ZEROINSTALL to override looking for ROX-Lib in Zero
Install (useful for ROX-Lib developers). Prefer a locally installed version
of ROX-Filer to the Zero Install version; this also allows users to select
which Zero Install version they want (eg, stable or developer).
Moved MIME handler installation into a separate module (mime_handler) and
made a few changes to the XML syntax.

24-Dec-2003
~~~~~~~~~~~
Added <menu> OptionMenu widget for Options box (Chris Shaffer).

27-Nov-2003
~~~~~~~~~~~
Fixed bug in findrox when not using Zero Install (Lionel Bringuier).

26-Nov-2003
~~~~~~~~~~~
Escape and unescape URIs, as required by ROX-Filer 2.1.0 (reported by
Peter Geer).
Note that the xds_load_uris() method is now called with escaped URIs.
Try to run the filer through Zero Install, if possible.

11-Nov-2003
~~~~~~~~~~~
If we can't get pygtk through Zero Install, try the local copy.

05-Nov-2003
~~~~~~~~~~~
Added support in mime.py for an application to set MIME-type run
actions and thumbnail programs (Stephen Watson).

31-Oct-2003
~~~~~~~~~~~
Simplified implementation of saving.SaveFilter by using the new
processes.PipeThroughCommand class. The child_run() method of SaveFilter
is no longer supported.
In processes.PipeThroughCommand, a None input stream gets /dev/null instead
of inheriting its parent's stream. The class has a new run_child_with_streams
to make overriding the behaviour easier.
findrox.py script now warns if ROX-Lib2 version is too old (unless requesting
a version too old to have a version number).

29-Oct-2003
~~~~~~~~~~~
Changed 'Dismiss' to 'Close' (Chris Shaffer).
Bugfix: Error reporting in mime.py failed to import the _ function (reported
	by Christopher Haines).
New AppInfo.py for parsing AppInfo.xml files (Christopher Arndt), InfoWin
converted to use it (Stephen Watson).

15-Oct-2003 (Release 1.9.11)
~~~~~~~~~~~
Bugfix: Python 2.3's new bool type broke options saving (reported by Lars
	Hansson).

13-Oct-2003
~~~~~~~~~~~
Added PipeThroughCommand class (copied from Archive, with some minor
changes).

09-Oct-2003
~~~~~~~~~~~
Allow event to be None for Menu.popup. This allows the menu to be activated
from the keyboard, using the 'popup-menu' signal.

08-Oct-2003
~~~~~~~~~~~
Added French translation in AppInfo.xml (Vincent Lefèvre).

03-Oct-2003 (Release 1.9.10)
~~~~~~~~~~~
Added support for icon themes (doesn't do inheritance yet).

28-Sep-2003
~~~~~~~~~~~
Added some version information to the dialog you get when you run ROX-Lib
directly.

22-Sep-2003
~~~~~~~~~~~
New bug() function to quickly bring up a debugging prompt.

15-Sep-2003
~~~~~~~~~~~
The glob patterns in mime.py are now sorted longest first. Fix for setting 
icon in the old way when there was no icon (Stephen Watson).

25-Aug-2003
~~~~~~~~~~~
Try to cope better with bad hostname setup (reported by Nathan Howell).

24-Aug-2003
~~~~~~~~~~~
Added InfoWin.py to provide standardized information window (Stephen Watson).

24-Aug-2003
~~~~~~~~~~~
Fall back to old way of setting default icon for older pygtk's (Stephen 
Watson).

20-Aug-2003
~~~~~~~~~~~
Added Italian translation (Yuri Bongiorno).

18-Aug-2003
~~~~~~~~~~~
Better way to set the default icon.

16-Aug-2003 (Release 1.9.9)
~~~~~~~~~~~
Give windows a default icon from .DirIcon (Chris Shaffer).

01-Aug-2003
~~~~~~~~~~~
Try to get pygtk through ZeroInstall.

25-Jul-2003
~~~~~~~~~~~
Updated findrox to use ZeroInstall, if possible.

22-Jul-2003
~~~~~~~~~~~
Work out correct application name even if invoked via a symlink. This stops
applications from calling themselves 'text_plain', etc (reported by Joe Hill).

19-Jul-2003 (Release 1.9.8)
~~~~~~~~~~~
Make default menu positioning function keep the pointer inside the menu.
Allow stock icons in menus.

18-Jul-2003
~~~~~~~~~~~
Added position_fn argument to rox.Menu.popup.

17-Jul-2003
~~~~~~~~~~~
Cope with % escaped URIs.

04-Jul-2003
~~~~~~~~~~~
Added italian translation in AppInfo.xml (Yuri Bongiorno)

26-Jun-2003
~~~~~~~~~~~
When loading data from another application, pass the suggested leafname to
xds_load_from_stream().

04-Jun-2003
~~~~~~~~~~~
Code tidying, thanks to pychecker.

26-May-2003
~~~~~~~~~~~
Added fileutils module, which provides an interactive makedirs() function
(Richard Boulton).
Changed savebox module to use it.

16-May-2003 (Release 1.9.7)
~~~~~~~~~~~
New icon (Geoff Youngs).
Added 'basedir' module for freedesktop.org Base Directory specification.

06-May-2003
~~~~~~~~~~~
Added functions to read MIME database (Stephen Watson).

27-Jan-2003 (Release 1.9.6)
~~~~~~~~~~~
Make the default window class the name of the application directory, not
'AppRun' (suggested by Albert Wagner).
Bugfix: With pygtk-1.99.14, only the first error message from a process
	would be detected; this meant that ROX-Lib wouldn't detect when the
	process quit (reported by joehill).
Bugfix: <hbox> and <vbox> layouts didn't work in the options box (Allen
	Leonard).

22-Jan-2003
~~~~~~~~~~~
If python is too old, raise SystemExit instead of quitting.
Ensure that True and False are defined.

16-Dec-2002
~~~~~~~~~~~
Work around bug in some versions of pygtk that stopped the options window
from working.

12-Dec-2002 (Release 1.9.5)
~~~~~~~~~~~
Upgrade Options box to new style.

11-Dec-2002
~~~~~~~~~~~
Bugfix: If an option had an empty value, an exception was thrown on loading
	(reported by Stephen Watson).

05-Dec-2002
~~~~~~~~~~~
Cope with missing input_add_full.

25-Oct-2002
~~~~~~~~~~~
Pygtk 1.99.12 seems to more-or-less work now (according to Alastair Porter), so
remove the warning for that so we can support RedHat 8.0.

20-Oct-2002 (Release 1.9.4)
~~~~~~~~~~~
More warnings about old pygtk versions.
Added Dialog class (does ref-counting, like Window).

15-Oct-2002
~~~~~~~~~~~
Trying to use ROX-Lib2 with earlier versions of python now gives a sensible
error message.

10-Oct-2002
~~~~~~~~~~~
Make clicking on ROX-Lib itself work again (Christopher Arndt).

25-Aug-2002
~~~~~~~~~~~
Updated findrox.py to use pygtk 1.99.13 -- update your programs!

25-Aug-2002 (Release 1.9.3)
~~~~~~~~~~~
Switch to use new pygtk versioning system (requires pygtk 1.99.13).

19-Aug-2002
~~~~~~~~~~~
Added 'processes' module, based on code in Archive, which makes controlling
subprocesses easier.

14-Aug-2002
~~~~~~~~~~~
Bugfix: Changing the keys lost any builtin shortcuts (Gtk behaviour has
	changed since 1.2).

08-Aug-2002
~~~~~~~~~~~
Trap exceptions when activating menu items and report nicely.

07-Aug-2002
~~~~~~~~~~~
Bugfix: Remember to call drop_finish() after a drag-and-drop operation.

05-Aug-2002 (Release 1.9.2)
~~~~~~~~~~~
Renamed XDSLoader module to 'loading' (like 'saving').
Added 'mime' module for installing extra MIME information.
Bugfix: XDSLoader didn't handle the drag-drop signal, and so only worked for
	widgets with their own implementation!

31-Jul-2002
~~~~~~~~~~~
Show local variables in report_exception, and allow expressions to be
evaluated in the context of any frame.
Added StringSaver class.

25-Jul-2002
~~~~~~~~~~~
Added applet module for creating ROX panel applets.

24-Jul-2002
~~~~~~~~~~~
Bugfix: saving code didn't cope with missing images (reported by Musus Umbra).

21-Jul-2002
~~~~~~~~~~~
If 'gtk2' isn't available, see if 'gtk' is actually the 2.0 version.
Added save_set_permissions to Saveable interface, allowing the default
save_to_file to preserve file permissions.
Changes to XDSLoader: xds_load_from_stream(name, type, stream)
replaces the old xds_load_data(data).
Loading files from remote filers works now.
Added much improved exception reporting system.

19-Jul-2002 (Release 1.9.1)
~~~~~~~~~~~
Added support for translations.

18-Jul-2002
~~~~~~~~~~~
License change to the LGPL (allows commercial programs to use this library).
Added AbortSave exception.

14-Jul-2002
~~~~~~~~~~~
Saveable.save_to_file() should raise an exception when saving fails, rather
than returning 0. The return value is now ignored (note that raising an
exception will still work with 1.9.0).
toplevel_unref() ignores any arguments, so it is easier to use as a signal
handler.

12-Jul-2002 (Release 1.9.0)
~~~~~~~~~~~
First release for Gtk+-2.0.
