2 Shared code for ROX applications
4 http://rox.sourceforge.net
8 If the unit field for a <numentry> option is blank, don't try to translate it
9 (reported by Guido Schimmels).
13 Added 'su' module for performing operations as root.
17 Allow "" as a valid value in a OptionsBox menu (reported by Guido Schimmels).
21 Added 'proxy' module. This allows one Python process to invoke methods on
22 another asynchronously.
23 Added rox.UserAbort exception, to be raised when users cancel something
28 Fix syntax error I caused when I added a docstring (Stephen Watson).
32 Get update-mime-database command through Zero Install, if possible.
36 mime_handler can now uninstall (Stephen Watson).
40 Translate menu items in options (Guido Schimmels).
44 Added <slider> widget to options.
48 Added 'size-group' attribute to Options.xml elements. This allows grouping
49 elements so that their labels all appear the same width.
53 Bugfix: Colour buttons in the Options boxes didn't work with some themes
56 17-Apr-2004 (Release 1.9.14)
58 Added ToggleItem (based on a patch from Ken Hayber).
62 Better <label> widgets (wrapping and icon). Taken from LookAndFeel.
66 Stop themes from overriding the display of the colour-picker buttons in
67 the options box (Rene Ejury).
71 Warn about old versions of findrox.py.
72 Bugfix: Bug in new menu API prevented submenus from working.
74 16-Mar-2004 (Release 1.9.13)
76 Bugfix: Icon themes didn't work with python versions older than 2.2.2
77 (reported by Thomas Zajic).
81 Bugfix: Use filer module to show ROX-Lib help, rather than using os.system,
82 so that it works with Zero Install (reported by Keith Hopper).
86 Added widget_registry to OptionsBox, to provide an easy way to register
87 new option types. Removed build_button in favour of this method.
89 Bugfix: If an error occurred loading the ROX theme at startup it could not
90 be reported, because icon_theme wants debug, debug wants saving, and
91 saving wants icon_theme (reported by Thomas Zajic).
95 Cope with pygtk2.2 API change (Stephen Watson, reported by Guido Schimmels).
99 Added secretentry and button options to the OptionsBox (Stephen Watson).
103 Cope with option values split into multiple DOM text nodes (Rene Ejury).
107 Allow a list of values to be stored in each menu Action. These are used as
108 the arguments to the callback function.
109 If a file's details were recorded (in document.save_last_stat) when it was
110 loaded, make sure they haven't changed when saving. Saving also updates this
111 variable (requested by Arnaud Calvo).
115 Updated examples in documentation for new findrox (Yuri Bongiorno).
119 New API for menus. Instead of passing tuples for menu items, python classes
120 can be used. The old tuple interface is still supported.
124 Don't stop DnD working in the savebox just because no icon can be found
125 (reported by Martin Lucina).
129 Added French translation (Vincent Lefèvre).
133 Also translate <label> elements in the Options box (reported by Arnaud Calvo).
137 Also translate section names in the Options box (reported by Arnaud Calvo).
139 22-Jan-2004 (Release 1.9.12)
141 Added 'tasks' module to provide a light-weight alternative to threads.
142 Bugfix: On non-zero-install systems, the sense of the version check in findrox
147 Added method to MIMEtype to fetch its icon. Install list window for
148 the MIME handler installation uses it (Stephen Watson).
152 Translate text in Options box.
156 Allow ROXLIB_DISABLE_ZEROINSTALL to override looking for ROX-Lib in Zero
157 Install (useful for ROX-Lib developers). Prefer a locally installed version
158 of ROX-Filer to the Zero Install version; this also allows users to select
159 which Zero Install version they want (eg, stable or developer).
160 Moved MIME handler installation into a separate module (mime_handler) and
161 made a few changes to the XML syntax.
165 Added <menu> OptionMenu widget for Options box (Chris Shaffer).
169 Fixed bug in findrox when not using Zero Install (Lionel Bringuier).
173 Escape and unescape URIs, as required by ROX-Filer 2.1.0 (reported by
175 Note that the xds_load_uris() method is now called with escaped URIs.
176 Try to run the filer through Zero Install, if possible.
180 If we can't get pygtk through Zero Install, try the local copy.
184 Added support in mime.py for an application to set MIME-type run
185 actions and thumbnail programs (Stephen Watson).
189 Simplified implementation of saving.SaveFilter by using the new
190 processes.PipeThroughCommand class. The child_run() method of SaveFilter
191 is no longer supported.
192 In processes.PipeThroughCommand, a None input stream gets /dev/null instead
193 of inheriting its parent's stream. The class has a new run_child_with_streams
194 to make overriding the behaviour easier.
195 findrox.py script now warns if ROX-Lib2 version is too old (unless requesting
196 a version too old to have a version number).
200 Changed 'Dismiss' to 'Close' (Chris Shaffer).
201 Bugfix: Error reporting in mime.py failed to import the _ function (reported
202 by Christopher Haines).
203 New AppInfo.py for parsing AppInfo.xml files (Christopher Arndt), InfoWin
204 converted to use it (Stephen Watson).
206 15-Oct-2003 (Release 1.9.11)
208 Bugfix: Python 2.3's new bool type broke options saving (reported by Lars
213 Added PipeThroughCommand class (copied from Archive, with some minor
218 Allow event to be None for Menu.popup. This allows the menu to be activated
219 from the keyboard, using the 'popup-menu' signal.
223 Added French translation in AppInfo.xml (Vincent Lefèvre).
225 03-Oct-2003 (Release 1.9.10)
227 Added support for icon themes (doesn't do inheritance yet).
231 Added some version information to the dialog you get when you run ROX-Lib
236 New bug() function to quickly bring up a debugging prompt.
240 The glob patterns in mime.py are now sorted longest first. Fix for setting
241 icon in the old way when there was no icon (Stephen Watson).
245 Try to cope better with bad hostname setup (reported by Nathan Howell).
249 Added InfoWin.py to provide standardized information window (Stephen Watson).
253 Fall back to old way of setting default icon for older pygtk's (Stephen
258 Added Italian translation (Yuri Bongiorno).
262 Better way to set the default icon.
264 16-Aug-2003 (Release 1.9.9)
266 Give windows a default icon from .DirIcon (Chris Shaffer).
270 Try to get pygtk through ZeroInstall.
274 Updated findrox to use ZeroInstall, if possible.
278 Work out correct application name even if invoked via a symlink. This stops
279 applications from calling themselves 'text_plain', etc (reported by Joe Hill).
281 19-Jul-2003 (Release 1.9.8)
283 Make default menu positioning function keep the pointer inside the menu.
284 Allow stock icons in menus.
288 Added position_fn argument to rox.Menu.popup.
292 Cope with % escaped URIs.
296 Added italian translation in AppInfo.xml (Yuri Bongiorno)
300 When loading data from another application, pass the suggested leafname to
301 xds_load_from_stream().
305 Code tidying, thanks to pychecker.
309 Added fileutils module, which provides an interactive makedirs() function
311 Changed savebox module to use it.
313 16-May-2003 (Release 1.9.7)
315 New icon (Geoff Youngs).
316 Added 'basedir' module for freedesktop.org Base Directory specification.
320 Added functions to read MIME database (Stephen Watson).
322 27-Jan-2003 (Release 1.9.6)
324 Make the default window class the name of the application directory, not
325 'AppRun' (suggested by Albert Wagner).
326 Bugfix: With pygtk-1.99.14, only the first error message from a process
327 would be detected; this meant that ROX-Lib wouldn't detect when the
328 process quit (reported by joehill).
329 Bugfix: <hbox> and <vbox> layouts didn't work in the options box (Allen
334 If python is too old, raise SystemExit instead of quitting.
335 Ensure that True and False are defined.
339 Work around bug in some versions of pygtk that stopped the options window
342 12-Dec-2002 (Release 1.9.5)
344 Upgrade Options box to new style.
348 Bugfix: If an option had an empty value, an exception was thrown on loading
349 (reported by Stephen Watson).
353 Cope with missing input_add_full.
357 Pygtk 1.99.12 seems to more-or-less work now (according to Alastair Porter), so
358 remove the warning for that so we can support RedHat 8.0.
360 20-Oct-2002 (Release 1.9.4)
362 More warnings about old pygtk versions.
363 Added Dialog class (does ref-counting, like Window).
367 Trying to use ROX-Lib2 with earlier versions of python now gives a sensible
372 Make clicking on ROX-Lib itself work again (Christopher Arndt).
376 Updated findrox.py to use pygtk 1.99.13 -- update your programs!
378 25-Aug-2002 (Release 1.9.3)
380 Switch to use new pygtk versioning system (requires pygtk 1.99.13).
384 Added 'processes' module, based on code in Archive, which makes controlling
389 Bugfix: Changing the keys lost any builtin shortcuts (Gtk behaviour has
394 Trap exceptions when activating menu items and report nicely.
398 Bugfix: Remember to call drop_finish() after a drag-and-drop operation.
400 05-Aug-2002 (Release 1.9.2)
402 Renamed XDSLoader module to 'loading' (like 'saving').
403 Added 'mime' module for installing extra MIME information.
404 Bugfix: XDSLoader didn't handle the drag-drop signal, and so only worked for
405 widgets with their own implementation!
409 Show local variables in report_exception, and allow expressions to be
410 evaluated in the context of any frame.
411 Added StringSaver class.
415 Added applet module for creating ROX panel applets.
419 Bugfix: saving code didn't cope with missing images (reported by Musus Umbra).
423 If 'gtk2' isn't available, see if 'gtk' is actually the 2.0 version.
424 Added save_set_permissions to Saveable interface, allowing the default
425 save_to_file to preserve file permissions.
426 Changes to XDSLoader: xds_load_from_stream(name, type, stream)
427 replaces the old xds_load_data(data).
428 Loading files from remote filers works now.
429 Added much improved exception reporting system.
431 19-Jul-2002 (Release 1.9.1)
433 Added support for translations.
437 License change to the LGPL (allows commercial programs to use this library).
438 Added AbortSave exception.
442 Saveable.save_to_file() should raise an exception when saving fails, rather
443 than returning 0. The return value is now ignored (note that raising an
444 exception will still work with 1.9.0).
445 toplevel_unref() ignores any arguments, so it is easier to use as a signal
448 12-Jul-2002 (Release 1.9.0)
450 First release for Gtk+-2.0.