New release.
[rox-lib.git] / ROX-Lib2 / Help / Changes
blobb1dc4e99f52504c55364637b626d3a1707141bfb
1                         ROX-Lib2
2                         Shared code for ROX applications
3                         by Thomas Leonard
4                         http://rox.sourceforge.net
6 Note: for a detailed changelog, do:
7                         
8   svn log -v https://svn.sourceforge.net/svnroot/rox/trunk/ROX-Lib2
10 Release 2.0.5:
12 General:
14 - Added a 'parent' argument to the SaveBox constructor (Thomas Leonard).
16 - Python 2.4 is now the base version, so test against that.
18 - Fix example Menu definition. Allow option widgets to expand vertically by
19   setting the _rox_lib_expand property to True (Stephen Watson, suggested by
20   Thomas Leonard).
22 Bugfixs:
24 - Fix scaling of MIME icons (Stephen Watson)
26 - Work-around possible PyGTK bug (Lars Hansson and Tony Houghton, reported by
27   Peter): "assertion `GTK_IS_TREE_SELECTION (selection)' failed"
29 - Added an assertion to detect a mysterious error (Thomas Leonard; reported by
30   Carl Bolduc).
33 Release 2.0.4:
35 General:
37 - Fix unit tests to use correct path (Thomas Leonard).
39 - Removed a load of unused imports spotted by PyFlakes (Thomas Leonard).
41 - ROX base platform is now Python 2.3, so run unit tests against that by
42   default (Thomas Leonard).
44 - Bugfix: Must use '..' in interface for backwards compat (Thomas Leonard).
46 - Removed some more deprecation warnings. Do not run testsu as part of testall
47   as it is interactive (Thomas Leonard).
49 - Ensure window response codes are treated as int(), required for python 2.5 
50   and pygtk 2.6 (Stephen Watson).
52 - Drag-and-drop didn't work if the hostname contained '-', due to an error in
53   a regular expression (Thomas Leonard, reported by Lennon Cook).
55 - Function to fetch an appropriate icon for a file (Lennon Cook).  Changed to
56   return a Pixbuf instead of an Image, to use the existing icon theme lookup
57   and to first check for a .DirIcon for directories (Stephen Watson).  
59 Translations:
61 - Update Chinese Translations (Babyfai Cheung).
63 - Update French translations (Vincent Lefèvre).
65 debug:
67 - Exception handler now copes with old-style non-class exceptions and
68   with missing tracebacks (Thomas Leonard).
70 mime:
72 - Added xattr support including test for user set MIME types (Stephen Watson).
74 OptionsBox:
76 - When there is only one section in the options box, don't show a frame (Thomas
77   Leonard).
79 - Added note about size-groups(Thomas Leonard).
81 - Added <filechooser> widget to OptionsBox, which lets the user choose a file
82   using a GtkFileChooser or by drag-and-drop (Jim Ramsay). Requires GTK >= 2.6.
84 - Added Clear button to filename options (Jim Ramsay and Thomas Leonard).
86 saving:
88 - Lookup icons from /rox.sourceforge.net/MIME-icons before /MIME-ICONS 
89  (Stephen Watson)
91 session:
93 - Prefered launcher for a URL scheme now part of uri_handler (Stephen Watson).
95 settings:
97 - Prefered launcher for a URL scheme now part of uri_handler (Stephen Watson).
99 tasks:
101 - Fixed some deprecation warnings (Thomas Leonard).
103 - Bugfix: InputBlocker and OutputBlocker now trigger on IO_HUP too (Thomas 
104   Leonard).
106 - Added Task.finished blocker, which is triggered when the task finishes,
107   successfully or by throwing an exception (Thomas Leonard; suggested by Ken
108   Hayber).
110 - Ensure that IO blocker callbacks return False, not None, or we get a
111   warning from PyGTK (Thomas Leonard).
113 templates: *NEW*
115 - Added templates module as an interface to glade (Stephen Watson).
117 - Templates now has full dict behaviour and derives from glade.XML.  Method
118   names have therefore changed to be the same used by glade.XML (Stephen 
119   Watson).
122 thumbnail: *NEW*
124 - Added thumbnail module to access thumbnail images of files and also to 
125   generate them (Stephen Watson).
127 uri_handler: *NEW*
129 - Suppor shared configuration for launching URIs (Stephen Watson).
131 xattr: *NEW*
133 - Added xattr support including test for user set MIME types (Stephen Watson).
136 Release 2.0.3:
138 General:
140 - Added ROX-Lib.xml file, which makes it easy to register a CVS copy of ROX-Lib
141   with the 0launch, using '0launch --add-feed' (Thomas Leonard).
143 - If pygtk is found, but not gtk, give a better error (Thomas Leonard; reported
144   by Albert).
146 - Double-click on a line in the stacktrace display of the debug box to
147   open the source code in Edit.
149 - Added rox.isappdir() function to test the validity of an AppDir (Stephen
150   Watson).
152 - Set sys.excepthook to our graphical exception explorer so that untrapped
153   exceptions are reported nicely.
155 - Don't display KeyboardInterrupt in an error box.
157 - Added unittests.
158   Support Python 2.2.
160 - When displaying an uncaught exception, still write it to stderr as well as
161   opening the exception dialog box.
163 Translations:
165 - Made message in AppRun translatable (Andras Mohari).
167 - Include AppRun when generating translations, and rename translation function
168   in OptionsBox to avoid confusing pygettext (reported by Andras Mohari).
170 - Added Hungarian translation.
172 - More strings marked for translation.
174 Current translations:
176  de      Guido Schimmels
177  es      Juan Carlos Jimenez Garcia
178  fr      Vincent Lefèvre
179  hu      Andras Mohari
180  it      Yuri Bongiorno
181  pl      Bart Kreska
182  pt_BR * Jose Carlos do Nascimento
183  zh_CN * cheungsiufai
184  zh_TW * cheungsiufai
186 * indicates a translation which is out-of-date.
188 applet:
190 - Added method for applets to determine the panel orientation (Stephen Watson).
192 filer:
194 - Made filer.py use 0launch if available (Thomas Leonard; requested by
195   Christopher Arndt).
197 launch: *NEW*
199 - Added launch module, which allows running programs easily using the injector,
200   and made filer.py use 0launch if available (Thomas Leonard; requested by
201   Christopher Arndt).
203 Menu:
205 - Changed the doc string in Menu.py to prefer the new MenuItem based method
206   of defining menus not the old tuple method (Stephen Watson).
208 mime:
210 - Added mime.get_type_handler(), which uses the same algorithm as ROX-Filer to
211   find the handler for a file (Ken Hayber and Thomas Leonard).
213 mime_handler:
215 - EXPERIMENTAL code for installing MIME handlers via 0launch (Stephen Watson)
217 - Better detection of the MIME-types/MIME-thumb location when installing type
218   handlers (Stephen Watson).
220 - Improve installation of MIME type handler under Zero Install (Stephen Watson)
222 - Bugfix: spurious argument when installing SendTo handler under Zero Install
223   (Stephen Watson, reported by Andras Mohari)
225 OptionsBox:
227 - Rename translation function in OptionsBox to avoid confusing pygettext.
229 - Make the options box use ComboBox instead of OptionMenu whenever possible. It
230   also makes sure that the OptionMenu's initial width is large enough to
231   display the widest item (Andras Mohari).
233 saving:
235 - When saving a file to a FAT filesystem, the chmod would fail. Log a warning
236   instead of aborting (Thomas Leonard; reported by QS Computing).
238 - Save box now selects icon from same icon theme as ROX-Filer (Stephen Watson).
240 session: *NEW*
242 - Added rox.session module for communicating with ROX-Session.
244 - Use XMLRPC if the DBUS version is too old.
246 - Check that ROX-Session is providing the dbus service, don't just assume that
247   it is (Stephen Watson).
249 settings: *NEW*
251 - Added settings module (Tony Houghton, based on code from LookAndFeel).
253 - Don't create bus object until constructor is called.
255 - rox.settings now uses rox.session to communicate with ROX-Session and
256   the duplicate Options work has been removed from rox.session (Stephen
257   Watson).
261 - If 'xterm' isn't available, give a sensible error message when using the
262 su module (Thomas Leonard; reported by Vincent Lefevre).
264 xxmlrpc: *NEW*
266 - Added 'xxmlrpc' module. This allows sending XML-RPC messages to other
267   processes, via the X server.
269 - Extended XML-RPC code to return response values and faults to caller.
271 - Better error codes (NoSuchService, UnknownObject, NoSuchMethod).  Cope with 
272   returning None (returns True instead).  Simplified API (no need to subclass
273   ExportedObject, call register, or use invoke).
275 - If a service property exists but the window it points to doesn't, then
276   report that the service is no longer running.
278 - XXMLRPC call objects support the Blocker interface (so you can block
279   until the reply is available).
281 - If an XXMLRPC Call object is destroyed before the response is read then
282   display a warning and destroy the IPC window.
284 25-May-2006
285 ~~~~~~~~~~~
286 Updated French translation (Vincent Lefèvre).
288 10-Mar-2006
289 ~~~~~~~~~~~
290 Bugfix: spurious argument when installing SendTo handler under Zero 
291         Install (Stephen Watson, reported by Andras Mohari)
293 04-Mar-2006
294 ~~~~~~~~~~~
295 When installing a type handler under Zero Install, make sure to pass the
296 arguments to the program and run 0launch in console mode (Stephen Watson).
298 25-Feb-2006
299 ~~~~~~~~~~~
300 Added mime.get_type_handler(), which uses the same algorithm as ROX-Filer to
301 find the handler for a file (Ken Hayber and Thomas Leonard).
303 17-Feb-2006
304 ~~~~~~~~~~~
305 New class Setting in rox.session is an option tied to a ROX-Session setting
306 (Stephen Watson).
308 14-Feb-2006
309 ~~~~~~~~~~~
310 Added rox.session module for communicating with ROX-Session.
311 Added method for applets to determine the panel orientation (Stephen Watson).
313 21-Jan-2006
314 ~~~~~~~~~~~
315 Set sys.excepthook to our graphical exception explorer so that untrapped
316 exceptions are reported nicely.
318 13-Jan-2006
319 ~~~~~~~~~~~
320 Save box now selects icon from same icon theme as ROX-Filer (Stephen Watson).
322 29-Dec-2005
323 ~~~~~~~~~~~
324 When saving a file to a FAT filesystem, the chmod would fail. Log a warning
325 instead of aborting (Thomas Leonard; reported by QS Computing).
327 25-Nov-2005
328 ~~~~~~~~~~~
329 Better detection of the MIME-types/MIME-thumb location when installing 
330 type handlers (Stephen Watson).
332 12-Nov-2005
333 ~~~~~~~~~~~
334 Added rox.isappdir() function to test the validity of an AppDir (Stephen
335 Watson).
336 EXPERIMENTAL code for installing MIME handlers via 0launch (Stephen Watson).
338 05-Nov-2005
339 ~~~~~~~~~~~
340 Changed the doc string in Menu.py to prefer the new MenuItem based method
341 of defining menus not the old tuple method (Stephen Watson).
343 22-Oct-2005
344 ~~~~~~~~~~~
345 Added Hungarian translation (Andras Mohari).
347 21-Oct-2005
348 ~~~~~~~~~~~
349 Made message in AppRun translatable (Andras Mohari).
351 02-Sep-2005
352 ~~~~~~~~~~~
353 Added launch module, which allows running programs easily using the injector,
354 and made filer.py use 0launch if available (Thomas Leonard; requested by
355 Christopher Arndt).
356 Double-click on a line in the stack-trace display of an error to open the
357 source file in Edit (Thomas Leonard).
359 30-Aug-2005
360 ~~~~~~~~~~~
361 If pygtk is found, but not gtk, give a better error (Thomas Leonard; reported
362 by Albert).
364 20-Aug-2005
365 ~~~~~~~~~~~
366 If 'xterm' isn't available, give a sensible error message when using the
367 su module (Thomas Leonard; reported by Vincent Lefevre).
369 18-Aug-2005
370 ~~~~~~~~~~~
371 Added ROX-Lib.xml file, which makes it easy to register a CVS copy of ROX-Lib
372 with the 0launch, using '0launch --add-feed' (Thomas Leonard).
374 25-Jul-2005 (Release 2.0.2)
375 ~~~~~~~~~~~
376 Bugfix: Installing MIME handlers under the XDG base dir system didn't 
377         work (Stephen Watson).
379 17-Jun-2005 (Release 2.0.1)
380 ~~~~~~~~~~~
381 Send deprecation warnings to stdout, not stderr, so only developers will
382 see them (Thomas Leonard).
384 10-Jun-2005
385 ~~~~~~~~~~~
386 Fixed deprecation warning in processes.py (Thomas Leonard).
388 01-Jun-2005
389 ~~~~~~~~~~~
390 Avoid apparent PyGTK bug related to icon themes, may result in a
391 memory leak but probably won't (Stephen Watson).
393 19-May-2005
394 ~~~~~~~~~~~
395 Clean up of icon theme handling (Stephen Watson).
397 18-May-2005
398 ~~~~~~~~~~~
399 Compatability with PyGTK 2.4 retaining backwards compatability with
400 2.2 at least (Ken Hayber, Stephen Watson).
402 12-May-2005
403 ~~~~~~~~~~~
404 Updated Chinese translation (Babyfai Cheung).
406 11-May-2005
407 ~~~~~~~~~~~
408 Added Portuguese translation (José Carlos do Nascimento).
410 07-May-2005
411 ~~~~~~~~~~~
412 Don't try to get pygtk through Zero Install. The injector can be used to
413 choose the implementation of pygtk to use, including a version in Zero
414 Install if desired (Thomas Leonard).
416 06-May-2005
417 ~~~~~~~~~~~
418 MIME handler install now uses basedir (Stephen Watson).
419 Tests use gtk.main() instead of the deprecated gtk.mainloop() (Stephen Watson).
421 05-May-2005
422 ~~~~~~~~~~~
423 Some versions of GTK silently remove '-' from sys.argv (GTK bug #303166).
424 Added a work-around (Thomas Leonard).
426 02-May-2005
427 ~~~~~~~~~~~
428 Put "root" back in su command, but detect what the exact string should be, as
429 Solaris needs something here (reported by Stephen Watson).
431 01-May-2005
432 ~~~~~~~~~~~
433 The default SaveArea.confirm_new_path() now shows an error if the target
434 exists as a directory, instead of asking if you want to overwrite it (Thomas
435 Leonard; reported by Jonatan Liljedahl).
436 Remove "root" from the su command, as some systems call user 0 something else
437 (Thomas Leonard; reported by Jonatan Liljedahl).
439 30-Apr-2005
440 ~~~~~~~~~~~
441 When getting an icon for saving, specify the size if PyGTK is recent enough.
442 This prevents SVG icons from appearing in huge sizes (Thomas Leonard;
443 requested by John Pettigrew).
444 Bugfix: Theme index parser failed to cope with comments at the start of the
445         file (Thomas Leonard).
447 29-Apr-2005
448 ~~~~~~~~~~~
449 Compatability fixes for the su module (Stephen Watson).
451 17-Apr-2005
452 ~~~~~~~~~~~
453 Fixed Zero Install version test in findrox.py (Thomas Leonard).
455 16-Apr-2005 (Release 2.0.0)
456 ~~~~~~~~~~~
457 Run unit tests in alphabetical order as it fixes a strange interaction between them (Stephen Watson).
459 10-Apr-2005
460 ~~~~~~~~~~~
461 Added unit tests for processes module, based on old tests in Archive (Thomas
462 Leonard).
464 09-Apr-2005
465 ~~~~~~~~~~~
466 Changed MakeDist to allow use of other SourceForge accounts (Stephen Watson).
468 01-Apr-2005
469 ~~~~~~~~~~~
470 Added 'testall' script to run all the unit tests together (Thomas Leonard).
472 23-Mar-2005 (Release 1.9.18)
473 ~~~~~~~~~~~
474 German translation (Guido Schimmels).
476 13-Mar-2005
477 ~~~~~~~~~~~
478 Added TODO file to track bugs and changes needed for 2.0.0 release.
480 10-Mar-2005
481 ~~~~~~~~~~~
482 Bugfix: Set default in Options box to OK to avoid triggering a GTK bug
483         (Thomas Leonard, reported by Guido Schimmels).
485 16-Jan-2005 (Release 1.9.17)
486 ~~~~~~~~~~~
487 Added OutputBlocker, which works in a similar way to InputBlocker (Thomas
488 Leonard).
490 15-Jan-2005
491 ~~~~~~~~~~~
492 Be consistent about URI escaping. set_uri() is now always passed an unescaped
493 UTF-8 string (Thomas Leonard).
495 03-Jan-2004
496 ~~~~~~~~~~~
497 Added fixedlist and varlist widgets to OptionsBox (Stephen Watson).
499 31-Dec-2004
500 ~~~~~~~~~~~
501 Added MIME type matching by file contents (Stephen Watson).
503 29-Dec-2004
504 ~~~~~~~~~~~
505 If a 'rox' module is in PYTHONPATH, use that without any searching (Thomas
506 Leonard).
508 23-Dec-2004
509 ~~~~~~~~~~~
510 Added Chinese translation (Babyfai Cheung).
512 11-Dec-2004
513 ~~~~~~~~~~~
514 Suppress warning when we use GtkItemFactory under pygtk 2.4 (Stephen Watson).
516 25-Nov-2004
517 ~~~~~~~~~~~
518 Added tasks.InputBlocker, which triggers when an input source becomes
519 readable (Thomas Leonard).
521 21-Nov-2004
522 ~~~~~~~~~~~
523 Bugfix: Use only text nodes when getting the tool tip from the Options.xml
524         file (Stephen Watson).
526 22-Oct-2004
527 ~~~~~~~~~~~
528 Bugfix: Theme subdirectories are separated by ',' not ';' (reported by
529         Denis Prost).
531 20-Oct-2004
532 ~~~~~~~~~~~
533 Bugfix: When a menu has more than one toggle item, only one is updated
534         correctly (Ken Hayber).
536 07-Oct-2004
537 ~~~~~~~~~~~
538 Replace g.mainloop() and g.mainquit() with g.main() and g.main_quit() as
539 recommended since pygtk 2.0.0 to avoid warnings with pygtk 2.4.0 (Stephen 
540 Watson).
542 03-Oct-2004
543 ~~~~~~~~~~~
544 Added options.ListOption to support multi-valued option widgets, such as
545 lists (Stephen Watson).
547 02-Oct-2004 (Release 1.9.16)
548 ~~~~~~~~~~~
549 Cope better with user cancelling su operation. New interface to replace
550 create_su_proxy (Thomas Leonard).
552 27-Sep-2004
553 ~~~~~~~~~~~
554 The choices module is now deprecated. You can use choices.migrate() to move
555 settings over to the basedir system (Thomas Leonard). Also added
556 basedir.load_first_config(), which works like the old choices.load().
558 26-Sep-2004
559 ~~~~~~~~~~~
560 Several incompatible changes to the experimental proxy API to make it simpler
561 (Thomas Leonard):
563 - Create_su_proxy now returns the MasterObject directly, not the MasterProxy.
564 - You can call finish on the MasterObject (so the MasterProxy isn't needed).
565 - Slave methods no longer take a 'request' argument. Instead, the return
566   value of the function is returned.
567 - Methods can only return one value. dequeue and dequeue_last have been
568   replaced with a 'result' property.
569 - Methods on MasterObject now return a RequestBlocker, not a Queue. This
570   means you just yield the object itself, not object.blocker.
572 Tasks API is no longer experimental, but proxy API is.
574 22-Sep-2004
575 ~~~~~~~~~~~
576 Added a Help button to the exception dialog, which opens the new Help/Errors
577 file (Thomas Leonard).
579 08-Sep-2004
580 ~~~~~~~~~~~
581 Bugfix: Failed to call the parent constructor to AbortSave correctly.
583 06-Sep-2004
584 ~~~~~~~~~~~
585 Simplified su code and interface.
586 New suchild methods: open, close, read, write, chmod and rename, which work
587 just like their normal Python counterparts (Thomas Leonard).
589 29-Aug-2004
590 ~~~~~~~~~~~
591 Removed code to turn off the separator in the debug dialog. GTK 2.4 doesn't
592 need it, and generates a warning if you use it (Thomas Leonard).
594 27-Aug-2004 (Release 1.9.15)
595 ~~~~~~~~~~~
596 Added spawnvpe and waitpid methods to suchild.
598 08-Aug-2004
599 ~~~~~~~~~~~
600 If the unit field for a <numentry> option is blank, don't try to translate it
601 (reported by Guido Schimmels).
603 30-Jun-2004
604 ~~~~~~~~~~~
605 Added 'su' module for performing operations as root.
607 11-Jun-2004
608 ~~~~~~~~~~~
609 Allow "" as a valid value in a OptionsBox menu (reported by Guido Schimmels).
611 10-Jun-2004
612 ~~~~~~~~~~~
613 Added 'proxy' module. This allows one Python process to invoke methods on
614 another asynchronously.
615 Added rox.UserAbort exception, to be raised when users cancel something
616 manually.
618 07-Jun-2004
619 ~~~~~~~~~~~
620 Fix syntax error I caused when I added a docstring (Stephen Watson).
622 30-May-2004
623 ~~~~~~~~~~~
624 Get update-mime-database command through Zero Install, if possible.
626 24-May-2004
627 ~~~~~~~~~~~
628 mime_handler can now uninstall (Stephen Watson).
630 04-May-2004
631 ~~~~~~~~~~~
632 Translate menu items in options (Guido Schimmels).
634 26-Apr-2004
635 ~~~~~~~~~~~
636 Added <slider> widget to options.
638 25-Apr-2004
639 ~~~~~~~~~~~
640 Added 'size-group' attribute to Options.xml elements. This allows grouping
641 elements so that their labels all appear the same width.
643 20-Apr-2004
644 ~~~~~~~~~~~
645 Bugfix: Colour buttons in the Options boxes didn't work with some themes
646         (Jonatan Liljedahl).
648 17-Apr-2004 (Release 1.9.14)
649 ~~~~~~~~~~~
650 Added ToggleItem (based on a patch from Ken Hayber).
652 15-Apr-2004
653 ~~~~~~~~~~~
654 Better <label> widgets (wrapping and icon). Taken from LookAndFeel.
656 20-Mar-2004
657 ~~~~~~~~~~~
658 Stop themes from overriding the display of the colour-picker buttons in
659 the options box (Rene Ejury).
661 17-Mar-2004
662 ~~~~~~~~~~~
663 Warn about old versions of findrox.py.
664 Bugfix: Bug in new menu API prevented submenus from working.
666 16-Mar-2004 (Release 1.9.13)
667 ~~~~~~~~~~~
668 Bugfix: Icon themes didn't work with python versions older than 2.2.2
669         (reported by Thomas Zajic).
671 15-Mar-2004
672 ~~~~~~~~~~~
673 Bugfix: Use filer module to show ROX-Lib help, rather than using os.system,
674         so that it works with Zero Install (reported by Keith Hopper).
676 14-Mar-2004
677 ~~~~~~~~~~~
678 Added widget_registry to OptionsBox, to provide an easy way to register
679 new option types. Removed build_button in favour of this method.
681 Bugfix: If an error occurred loading the ROX theme at startup it could not
682         be reported, because icon_theme wants debug, debug wants saving, and
683         saving wants icon_theme (reported by Thomas Zajic).
685 12-Mar-2004
686 ~~~~~~~~~~~
687 Cope with pygtk2.2 API change (Stephen Watson, reported by Guido Schimmels).
689 06-Mar-2004
690 ~~~~~~~~~~~
691 Added secretentry and button options to the OptionsBox (Stephen Watson).
693 26-Feb-2004
694 ~~~~~~~~~~~
695 Cope with option values split into multiple DOM text nodes (Rene Ejury).
697 22-Feb-2004
698 ~~~~~~~~~~~
699 Allow a list of values to be stored in each menu Action. These are used as
700 the arguments to the callback function.
701 If a file's details were recorded (in document.save_last_stat) when it was
702 loaded, make sure they haven't changed when saving. Saving also updates this
703 variable (requested by Arnaud Calvo).
705 20-Feb-2004
706 ~~~~~~~~~~~
707 Updated examples in documentation for new findrox (Yuri Bongiorno).
709 10-Feb-2004
710 ~~~~~~~~~~~
711 New API for menus. Instead of passing tuples for menu items, python classes
712 can be used. The old tuple interface is still supported.
714 07-Feb-2004
715 ~~~~~~~~~~~
716 Don't stop DnD working in the savebox just because no icon can be found
717 (reported by Martin Lucina).
719 02-Feb-2004
720 ~~~~~~~~~~~
721 Added French translation (Vincent Lefèvre).
723 30-Jan-2004
724 ~~~~~~~~~~~
725 Also translate <label> elements in the Options box (reported by Arnaud Calvo).
727 28-Jan-2004
728 ~~~~~~~~~~~
729 Also translate section names in the Options box (reported by Arnaud Calvo).
731 22-Jan-2004 (Release 1.9.12)
732 ~~~~~~~~~~~
733 Added 'tasks' module to provide a light-weight alternative to threads.
734 Bugfix: On non-zero-install systems, the sense of the version check in findrox
735         was wrong.
737 02-Jan-2004
738 ~~~~~~~~~~~
739 Added method to MIMEtype to fetch its icon. Install list window for
740 the MIME handler installation uses it (Stephen Watson).
742 13-Dec-2003
743 ~~~~~~~~~~~
744 Translate text in Options box.
746 28-Dec-2003
747 ~~~~~~~~~~~
748 Allow ROXLIB_DISABLE_ZEROINSTALL to override looking for ROX-Lib in Zero
749 Install (useful for ROX-Lib developers). Prefer a locally installed version
750 of ROX-Filer to the Zero Install version; this also allows users to select
751 which Zero Install version they want (eg, stable or developer).
752 Moved MIME handler installation into a separate module (mime_handler) and
753 made a few changes to the XML syntax.
755 24-Dec-2003
756 ~~~~~~~~~~~
757 Added <menu> OptionMenu widget for Options box (Chris Shaffer).
759 27-Nov-2003
760 ~~~~~~~~~~~
761 Fixed bug in findrox when not using Zero Install (Lionel Bringuier).
763 26-Nov-2003
764 ~~~~~~~~~~~
765 Escape and unescape URIs, as required by ROX-Filer 2.1.0 (reported by
766 Peter Geer).
767 Note that the xds_load_uris() method is now called with escaped URIs.
768 Try to run the filer through Zero Install, if possible.
770 11-Nov-2003
771 ~~~~~~~~~~~
772 If we can't get pygtk through Zero Install, try the local copy.
774 05-Nov-2003
775 ~~~~~~~~~~~
776 Added support in mime.py for an application to set MIME-type run
777 actions and thumbnail programs (Stephen Watson).
779 31-Oct-2003
780 ~~~~~~~~~~~
781 Simplified implementation of saving.SaveFilter by using the new
782 processes.PipeThroughCommand class. The child_run() method of SaveFilter
783 is no longer supported.
784 In processes.PipeThroughCommand, a None input stream gets /dev/null instead
785 of inheriting its parent's stream. The class has a new run_child_with_streams
786 to make overriding the behaviour easier.
787 findrox.py script now warns if ROX-Lib2 version is too old (unless requesting
788 a version too old to have a version number).
790 29-Oct-2003
791 ~~~~~~~~~~~
792 Changed 'Dismiss' to 'Close' (Chris Shaffer).
793 Bugfix: Error reporting in mime.py failed to import the _ function (reported
794         by Christopher Haines).
795 New AppInfo.py for parsing AppInfo.xml files (Christopher Arndt), InfoWin
796 converted to use it (Stephen Watson).
798 15-Oct-2003 (Release 1.9.11)
799 ~~~~~~~~~~~
800 Bugfix: Python 2.3's new bool type broke options saving (reported by Lars
801         Hansson).
803 13-Oct-2003
804 ~~~~~~~~~~~
805 Added PipeThroughCommand class (copied from Archive, with some minor
806 changes).
808 09-Oct-2003
809 ~~~~~~~~~~~
810 Allow event to be None for Menu.popup. This allows the menu to be activated
811 from the keyboard, using the 'popup-menu' signal.
813 08-Oct-2003
814 ~~~~~~~~~~~
815 Added French translation in AppInfo.xml (Vincent Lefèvre).
817 03-Oct-2003 (Release 1.9.10)
818 ~~~~~~~~~~~
819 Added support for icon themes (doesn't do inheritance yet).
821 28-Sep-2003
822 ~~~~~~~~~~~
823 Added some version information to the dialog you get when you run ROX-Lib
824 directly.
826 22-Sep-2003
827 ~~~~~~~~~~~
828 New bug() function to quickly bring up a debugging prompt.
830 15-Sep-2003
831 ~~~~~~~~~~~
832 The glob patterns in mime.py are now sorted longest first. Fix for setting 
833 icon in the old way when there was no icon (Stephen Watson).
835 25-Aug-2003
836 ~~~~~~~~~~~
837 Try to cope better with bad hostname setup (reported by Nathan Howell).
839 24-Aug-2003
840 ~~~~~~~~~~~
841 Added InfoWin.py to provide standardized information window (Stephen Watson).
843 24-Aug-2003
844 ~~~~~~~~~~~
845 Fall back to old way of setting default icon for older pygtk's (Stephen 
846 Watson).
848 20-Aug-2003
849 ~~~~~~~~~~~
850 Added Italian translation (Yuri Bongiorno).
852 18-Aug-2003
853 ~~~~~~~~~~~
854 Better way to set the default icon.
856 16-Aug-2003 (Release 1.9.9)
857 ~~~~~~~~~~~
858 Give windows a default icon from .DirIcon (Chris Shaffer).
860 01-Aug-2003
861 ~~~~~~~~~~~
862 Try to get pygtk through ZeroInstall.
864 25-Jul-2003
865 ~~~~~~~~~~~
866 Updated findrox to use ZeroInstall, if possible.
868 22-Jul-2003
869 ~~~~~~~~~~~
870 Work out correct application name even if invoked via a symlink. This stops
871 applications from calling themselves 'text_plain', etc (reported by Joe Hill).
873 19-Jul-2003 (Release 1.9.8)
874 ~~~~~~~~~~~
875 Make default menu positioning function keep the pointer inside the menu.
876 Allow stock icons in menus.
878 18-Jul-2003
879 ~~~~~~~~~~~
880 Added position_fn argument to rox.Menu.popup.
882 17-Jul-2003
883 ~~~~~~~~~~~
884 Cope with % escaped URIs.
886 04-Jul-2003
887 ~~~~~~~~~~~
888 Added italian translation in AppInfo.xml (Yuri Bongiorno)
890 26-Jun-2003
891 ~~~~~~~~~~~
892 When loading data from another application, pass the suggested leafname to
893 xds_load_from_stream().
895 04-Jun-2003
896 ~~~~~~~~~~~
897 Code tidying, thanks to pychecker.
899 26-May-2003
900 ~~~~~~~~~~~
901 Added fileutils module, which provides an interactive makedirs() function
902 (Richard Boulton).
903 Changed savebox module to use it.
905 16-May-2003 (Release 1.9.7)
906 ~~~~~~~~~~~
907 New icon (Geoff Youngs).
908 Added 'basedir' module for freedesktop.org Base Directory specification.
910 06-May-2003
911 ~~~~~~~~~~~
912 Added functions to read MIME database (Stephen Watson).
914 27-Jan-2003 (Release 1.9.6)
915 ~~~~~~~~~~~
916 Make the default window class the name of the application directory, not
917 'AppRun' (suggested by Albert Wagner).
918 Bugfix: With pygtk-1.99.14, only the first error message from a process
919         would be detected; this meant that ROX-Lib wouldn't detect when the
920         process quit (reported by joehill).
921 Bugfix: <hbox> and <vbox> layouts didn't work in the options box (Allen
922         Leonard).
924 22-Jan-2003
925 ~~~~~~~~~~~
926 If python is too old, raise SystemExit instead of quitting.
927 Ensure that True and False are defined.
929 16-Dec-2002
930 ~~~~~~~~~~~
931 Work around bug in some versions of pygtk that stopped the options window
932 from working.
934 12-Dec-2002 (Release 1.9.5)
935 ~~~~~~~~~~~
936 Upgrade Options box to new style.
938 11-Dec-2002
939 ~~~~~~~~~~~
940 Bugfix: If an option had an empty value, an exception was thrown on loading
941         (reported by Stephen Watson).
943 05-Dec-2002
944 ~~~~~~~~~~~
945 Cope with missing input_add_full.
947 25-Oct-2002
948 ~~~~~~~~~~~
949 Pygtk 1.99.12 seems to more-or-less work now (according to Alastair Porter), so
950 remove the warning for that so we can support RedHat 8.0.
952 20-Oct-2002 (Release 1.9.4)
953 ~~~~~~~~~~~
954 More warnings about old pygtk versions.
955 Added Dialog class (does ref-counting, like Window).
957 15-Oct-2002
958 ~~~~~~~~~~~
959 Trying to use ROX-Lib2 with earlier versions of python now gives a sensible
960 error message.
962 10-Oct-2002
963 ~~~~~~~~~~~
964 Make clicking on ROX-Lib itself work again (Christopher Arndt).
966 25-Aug-2002
967 ~~~~~~~~~~~
968 Updated findrox.py to use pygtk 1.99.13 -- update your programs!
970 25-Aug-2002 (Release 1.9.3)
971 ~~~~~~~~~~~
972 Switch to use new pygtk versioning system (requires pygtk 1.99.13).
974 19-Aug-2002
975 ~~~~~~~~~~~
976 Added 'processes' module, based on code in Archive, which makes controlling
977 subprocesses easier.
979 14-Aug-2002
980 ~~~~~~~~~~~
981 Bugfix: Changing the keys lost any builtin shortcuts (Gtk behaviour has
982         changed since 1.2).
984 08-Aug-2002
985 ~~~~~~~~~~~
986 Trap exceptions when activating menu items and report nicely.
988 07-Aug-2002
989 ~~~~~~~~~~~
990 Bugfix: Remember to call drop_finish() after a drag-and-drop operation.
992 05-Aug-2002 (Release 1.9.2)
993 ~~~~~~~~~~~
994 Renamed XDSLoader module to 'loading' (like 'saving').
995 Added 'mime' module for installing extra MIME information.
996 Bugfix: XDSLoader didn't handle the drag-drop signal, and so only worked for
997         widgets with their own implementation!
999 31-Jul-2002
1000 ~~~~~~~~~~~
1001 Show local variables in report_exception, and allow expressions to be
1002 evaluated in the context of any frame.
1003 Added StringSaver class.
1005 25-Jul-2002
1006 ~~~~~~~~~~~
1007 Added applet module for creating ROX panel applets.
1009 24-Jul-2002
1010 ~~~~~~~~~~~
1011 Bugfix: saving code didn't cope with missing images (reported by Musus Umbra).
1013 21-Jul-2002
1014 ~~~~~~~~~~~
1015 If 'gtk2' isn't available, see if 'gtk' is actually the 2.0 version.
1016 Added save_set_permissions to Saveable interface, allowing the default
1017 save_to_file to preserve file permissions.
1018 Changes to XDSLoader: xds_load_from_stream(name, type, stream)
1019 replaces the old xds_load_data(data).
1020 Loading files from remote filers works now.
1021 Added much improved exception reporting system.
1023 19-Jul-2002 (Release 1.9.1)
1024 ~~~~~~~~~~~
1025 Added support for translations.
1027 18-Jul-2002
1028 ~~~~~~~~~~~
1029 License change to the LGPL (allows commercial programs to use this library).
1030 Added AbortSave exception.
1032 14-Jul-2002
1033 ~~~~~~~~~~~
1034 Saveable.save_to_file() should raise an exception when saving fails, rather
1035 than returning 0. The return value is now ignored (note that raising an
1036 exception will still work with 1.9.0).
1037 toplevel_unref() ignores any arguments, so it is easier to use as a signal
1038 handler.
1040 12-Jul-2002 (Release 1.9.0)
1041 ~~~~~~~~~~~
1042 First release for Gtk+-2.0.