2 Shared code for ROX applications
4 http://rox.sourceforge.net
8 Cope with pygtk2.2 API change (Stephen Watson, reported by Guido Schimmels).
12 Added secretentry and button options to the OptionsBox (Stephen Watson).
16 Cope with option values split into multiple DOM text nodes (Rene Ejury).
20 Allow a list of values to be stored in each menu Action. These are used as
21 the arguments to the callback function.
22 If a file's details were recorded (in document.save_last_stat) when it was
23 loaded, make sure they haven't changed when saving. Saving also updates this
24 variable (requested by Arnaud Calvo).
28 Updated examples in documentation for new findrox (Yuri Bongiorno).
32 New API for menus. Instead of passing tuples for menu items, python classes
33 can be used. The old tuple interface is still supported.
37 Don't stop DnD working in the savebox just because no icon can be found
38 (reported by Martin Lucina).
42 Added French translation (Vincent Lefèvre).
46 Also translate <label> elements in the Options box (reported by Arnaud Calvo).
50 Also translate section names in the Options box (reported by Arnaud Calvo).
52 22-Jan-2004 (Release 1.9.12)
54 Added 'tasks' module to provide a light-weight alternative to threads.
55 Bugfix: On non-zero-install systems, the sense of the version check in findrox
60 Added method to MIMEtype to fetch its icon. Install list window for
61 the MIME handler installation uses it (Stephen Watson).
65 Translate text in Options box.
69 Allow ROXLIB_DISABLE_ZEROINSTALL to override looking for ROX-Lib in Zero
70 Install (useful for ROX-Lib developers). Prefer a locally installed version
71 of ROX-Filer to the Zero Install version; this also allows users to select
72 which Zero Install version they want (eg, stable or developer).
73 Moved MIME handler installation into a separate module (mime_handler) and
74 made a few changes to the XML syntax.
78 Added <menu> OptionMenu widget for Options box (Chris Shaffer).
82 Fixed bug in findrox when not using Zero Install (Lionel Bringuier).
86 Escape and unescape URIs, as required by ROX-Filer 2.1.0 (reported by
88 Note that the xds_load_uris() method is now called with escaped URIs.
89 Try to run the filer through Zero Install, if possible.
93 If we can't get pygtk through Zero Install, try the local copy.
97 Added support in mime.py for an application to set MIME-type run
98 actions and thumbnail programs (Stephen Watson).
102 Simplified implementation of saving.SaveFilter by using the new
103 processes.PipeThroughCommand class. The child_run() method of SaveFilter
104 is no longer supported.
105 In processes.PipeThroughCommand, a None input stream gets /dev/null instead
106 of inheriting its parent's stream. The class has a new run_child_with_streams
107 to make overriding the behaviour easier.
108 findrox.py script now warns if ROX-Lib2 version is too old (unless requesting
109 a version too old to have a version number).
113 Changed 'Dismiss' to 'Close' (Chris Shaffer).
114 Bugfix: Error reporting in mime.py failed to import the _ function (reported
115 by Christopher Haines).
116 New AppInfo.py for parsing AppInfo.xml files (Christopher Arndt), InfoWin
117 converted to use it (Stephen Watson).
119 15-Oct-2003 (Release 1.9.11)
121 Bugfix: Python 2.3's new bool type broke options saving (reported by Lars
126 Added PipeThroughCommand class (copied from Archive, with some minor
131 Allow event to be None for Menu.popup. This allows the menu to be activated
132 from the keyboard, using the 'popup-menu' signal.
136 Added French translation in AppInfo.xml (Vincent Lefèvre).
138 03-Oct-2003 (Release 1.9.10)
140 Added support for icon themes (doesn't do inheritance yet).
144 Added some version information to the dialog you get when you run ROX-Lib
149 New bug() function to quickly bring up a debugging prompt.
153 The glob patterns in mime.py are now sorted longest first. Fix for setting
154 icon in the old way when there was no icon (Stephen Watson).
158 Try to cope better with bad hostname setup (reported by Nathan Howell).
162 Added InfoWin.py to provide standardized information window (Stephen Watson).
166 Fall back to old way of setting default icon for older pygtk's (Stephen
171 Added Italian translation (Yuri Bongiorno).
175 Better way to set the default icon.
177 16-Aug-2003 (Release 1.9.9)
179 Give windows a default icon from .DirIcon (Chris Shaffer).
183 Try to get pygtk through ZeroInstall.
187 Updated findrox to use ZeroInstall, if possible.
191 Work out correct application name even if invoked via a symlink. This stops
192 applications from calling themselves 'text_plain', etc (reported by Joe Hill).
194 19-Jul-2003 (Release 1.9.8)
196 Make default menu positioning function keep the pointer inside the menu.
197 Allow stock icons in menus.
201 Added position_fn argument to rox.Menu.popup.
205 Cope with % escaped URIs.
209 Added italian translation in AppInfo.xml (Yuri Bongiorno)
213 When loading data from another application, pass the suggested leafname to
214 xds_load_from_stream().
218 Code tidying, thanks to pychecker.
222 Added fileutils module, which provides an interactive makedirs() function
224 Changed savebox module to use it.
226 16-May-2003 (Release 1.9.7)
228 New icon (Geoff Youngs).
229 Added 'basedir' module for freedesktop.org Base Directory specification.
233 Added functions to read MIME database (Stephen Watson).
235 27-Jan-2003 (Release 1.9.6)
237 Make the default window class the name of the application directory, not
238 'AppRun' (suggested by Albert Wagner).
239 Bugfix: With pygtk-1.99.14, only the first error message from a process
240 would be detected; this meant that ROX-Lib wouldn't detect when the
241 process quit (reported by joehill).
242 Bugfix: <hbox> and <vbox> layouts didn't work in the options box (Allen
247 If python is too old, raise SystemExit instead of quitting.
248 Ensure that True and False are defined.
252 Work around bug in some versions of pygtk that stopped the options window
255 12-Dec-2002 (Release 1.9.5)
257 Upgrade Options box to new style.
261 Bugfix: If an option had an empty value, an exception was thrown on loading
262 (reported by Stephen Watson).
266 Cope with missing input_add_full.
270 Pygtk 1.99.12 seems to more-or-less work now (according to Alastair Porter), so
271 remove the warning for that so we can support RedHat 8.0.
273 20-Oct-2002 (Release 1.9.4)
275 More warnings about old pygtk versions.
276 Added Dialog class (does ref-counting, like Window).
280 Trying to use ROX-Lib2 with earlier versions of python now gives a sensible
285 Make clicking on ROX-Lib itself work again (Christopher Arndt).
289 Updated findrox.py to use pygtk 1.99.13 -- update your programs!
291 25-Aug-2002 (Release 1.9.3)
293 Switch to use new pygtk versioning system (requires pygtk 1.99.13).
297 Added 'processes' module, based on code in Archive, which makes controlling
302 Bugfix: Changing the keys lost any builtin shortcuts (Gtk behaviour has
307 Trap exceptions when activating menu items and report nicely.
311 Bugfix: Remember to call drop_finish() after a drag-and-drop operation.
313 05-Aug-2002 (Release 1.9.2)
315 Renamed XDSLoader module to 'loading' (like 'saving').
316 Added 'mime' module for installing extra MIME information.
317 Bugfix: XDSLoader didn't handle the drag-drop signal, and so only worked for
318 widgets with their own implementation!
322 Show local variables in report_exception, and allow expressions to be
323 evaluated in the context of any frame.
324 Added StringSaver class.
328 Added applet module for creating ROX panel applets.
332 Bugfix: saving code didn't cope with missing images (reported by Musus Umbra).
336 If 'gtk2' isn't available, see if 'gtk' is actually the 2.0 version.
337 Added save_set_permissions to Saveable interface, allowing the default
338 save_to_file to preserve file permissions.
339 Changes to XDSLoader: xds_load_from_stream(name, type, stream)
340 replaces the old xds_load_data(data).
341 Loading files from remote filers works now.
342 Added much improved exception reporting system.
344 19-Jul-2002 (Release 1.9.1)
346 Added support for translations.
350 License change to the LGPL (allows commercial programs to use this library).
351 Added AbortSave exception.
355 Saveable.save_to_file() should raise an exception when saving fails, rather
356 than returning 0. The return value is now ignored (note that raising an
357 exception will still work with 1.9.0).
358 toplevel_unref() ignores any arguments, so it is easier to use as a signal
361 12-Jul-2002 (Release 1.9.0)
363 First release for Gtk+-2.0.