2 Shared code for ROX applications
4 http://rox.sourceforge.net
8 Translate menu items in options (Guido Schimmels).
12 Added <slider> widget to options.
16 Added 'size-group' attribute to Options.xml elements. This allows grouping
17 elements so that their labels all appear the same width.
21 Bugfix: Colour buttons in the Options boxes didn't work with some themes
24 17-Apr-2004 (Release 1.9.14)
26 Added ToggleItem (based on a patch from Ken Hayber).
30 Better <label> widgets (wrapping and icon). Taken from LookAndFeel.
34 Stop themes from overriding the display of the colour-picker buttons in
35 the options box (Rene Ejury).
39 Warn about old versions of findrox.py.
40 Bugfix: Bug in new menu API prevented submenus from working.
42 16-Mar-2004 (Release 1.9.13)
44 Bugfix: Icon themes didn't work with python versions older than 2.2.2
45 (reported by Thomas Zajic).
49 Bugfix: Use filer module to show ROX-Lib help, rather than using os.system,
50 so that it works with Zero Install (reported by Keith Hopper).
54 Added widget_registry to OptionsBox, to provide an easy way to register
55 new option types. Removed build_button in favour of this method.
57 Bugfix: If an error occurred loading the ROX theme at startup it could not
58 be reported, because icon_theme wants debug, debug wants saving, and
59 saving wants icon_theme (reported by Thomas Zajic).
63 Cope with pygtk2.2 API change (Stephen Watson, reported by Guido Schimmels).
67 Added secretentry and button options to the OptionsBox (Stephen Watson).
71 Cope with option values split into multiple DOM text nodes (Rene Ejury).
75 Allow a list of values to be stored in each menu Action. These are used as
76 the arguments to the callback function.
77 If a file's details were recorded (in document.save_last_stat) when it was
78 loaded, make sure they haven't changed when saving. Saving also updates this
79 variable (requested by Arnaud Calvo).
83 Updated examples in documentation for new findrox (Yuri Bongiorno).
87 New API for menus. Instead of passing tuples for menu items, python classes
88 can be used. The old tuple interface is still supported.
92 Don't stop DnD working in the savebox just because no icon can be found
93 (reported by Martin Lucina).
97 Added French translation (Vincent Lefèvre).
101 Also translate <label> elements in the Options box (reported by Arnaud Calvo).
105 Also translate section names in the Options box (reported by Arnaud Calvo).
107 22-Jan-2004 (Release 1.9.12)
109 Added 'tasks' module to provide a light-weight alternative to threads.
110 Bugfix: On non-zero-install systems, the sense of the version check in findrox
115 Added method to MIMEtype to fetch its icon. Install list window for
116 the MIME handler installation uses it (Stephen Watson).
120 Translate text in Options box.
124 Allow ROXLIB_DISABLE_ZEROINSTALL to override looking for ROX-Lib in Zero
125 Install (useful for ROX-Lib developers). Prefer a locally installed version
126 of ROX-Filer to the Zero Install version; this also allows users to select
127 which Zero Install version they want (eg, stable or developer).
128 Moved MIME handler installation into a separate module (mime_handler) and
129 made a few changes to the XML syntax.
133 Added <menu> OptionMenu widget for Options box (Chris Shaffer).
137 Fixed bug in findrox when not using Zero Install (Lionel Bringuier).
141 Escape and unescape URIs, as required by ROX-Filer 2.1.0 (reported by
143 Note that the xds_load_uris() method is now called with escaped URIs.
144 Try to run the filer through Zero Install, if possible.
148 If we can't get pygtk through Zero Install, try the local copy.
152 Added support in mime.py for an application to set MIME-type run
153 actions and thumbnail programs (Stephen Watson).
157 Simplified implementation of saving.SaveFilter by using the new
158 processes.PipeThroughCommand class. The child_run() method of SaveFilter
159 is no longer supported.
160 In processes.PipeThroughCommand, a None input stream gets /dev/null instead
161 of inheriting its parent's stream. The class has a new run_child_with_streams
162 to make overriding the behaviour easier.
163 findrox.py script now warns if ROX-Lib2 version is too old (unless requesting
164 a version too old to have a version number).
168 Changed 'Dismiss' to 'Close' (Chris Shaffer).
169 Bugfix: Error reporting in mime.py failed to import the _ function (reported
170 by Christopher Haines).
171 New AppInfo.py for parsing AppInfo.xml files (Christopher Arndt), InfoWin
172 converted to use it (Stephen Watson).
174 15-Oct-2003 (Release 1.9.11)
176 Bugfix: Python 2.3's new bool type broke options saving (reported by Lars
181 Added PipeThroughCommand class (copied from Archive, with some minor
186 Allow event to be None for Menu.popup. This allows the menu to be activated
187 from the keyboard, using the 'popup-menu' signal.
191 Added French translation in AppInfo.xml (Vincent Lefèvre).
193 03-Oct-2003 (Release 1.9.10)
195 Added support for icon themes (doesn't do inheritance yet).
199 Added some version information to the dialog you get when you run ROX-Lib
204 New bug() function to quickly bring up a debugging prompt.
208 The glob patterns in mime.py are now sorted longest first. Fix for setting
209 icon in the old way when there was no icon (Stephen Watson).
213 Try to cope better with bad hostname setup (reported by Nathan Howell).
217 Added InfoWin.py to provide standardized information window (Stephen Watson).
221 Fall back to old way of setting default icon for older pygtk's (Stephen
226 Added Italian translation (Yuri Bongiorno).
230 Better way to set the default icon.
232 16-Aug-2003 (Release 1.9.9)
234 Give windows a default icon from .DirIcon (Chris Shaffer).
238 Try to get pygtk through ZeroInstall.
242 Updated findrox to use ZeroInstall, if possible.
246 Work out correct application name even if invoked via a symlink. This stops
247 applications from calling themselves 'text_plain', etc (reported by Joe Hill).
249 19-Jul-2003 (Release 1.9.8)
251 Make default menu positioning function keep the pointer inside the menu.
252 Allow stock icons in menus.
256 Added position_fn argument to rox.Menu.popup.
260 Cope with % escaped URIs.
264 Added italian translation in AppInfo.xml (Yuri Bongiorno)
268 When loading data from another application, pass the suggested leafname to
269 xds_load_from_stream().
273 Code tidying, thanks to pychecker.
277 Added fileutils module, which provides an interactive makedirs() function
279 Changed savebox module to use it.
281 16-May-2003 (Release 1.9.7)
283 New icon (Geoff Youngs).
284 Added 'basedir' module for freedesktop.org Base Directory specification.
288 Added functions to read MIME database (Stephen Watson).
290 27-Jan-2003 (Release 1.9.6)
292 Make the default window class the name of the application directory, not
293 'AppRun' (suggested by Albert Wagner).
294 Bugfix: With pygtk-1.99.14, only the first error message from a process
295 would be detected; this meant that ROX-Lib wouldn't detect when the
296 process quit (reported by joehill).
297 Bugfix: <hbox> and <vbox> layouts didn't work in the options box (Allen
302 If python is too old, raise SystemExit instead of quitting.
303 Ensure that True and False are defined.
307 Work around bug in some versions of pygtk that stopped the options window
310 12-Dec-2002 (Release 1.9.5)
312 Upgrade Options box to new style.
316 Bugfix: If an option had an empty value, an exception was thrown on loading
317 (reported by Stephen Watson).
321 Cope with missing input_add_full.
325 Pygtk 1.99.12 seems to more-or-less work now (according to Alastair Porter), so
326 remove the warning for that so we can support RedHat 8.0.
328 20-Oct-2002 (Release 1.9.4)
330 More warnings about old pygtk versions.
331 Added Dialog class (does ref-counting, like Window).
335 Trying to use ROX-Lib2 with earlier versions of python now gives a sensible
340 Make clicking on ROX-Lib itself work again (Christopher Arndt).
344 Updated findrox.py to use pygtk 1.99.13 -- update your programs!
346 25-Aug-2002 (Release 1.9.3)
348 Switch to use new pygtk versioning system (requires pygtk 1.99.13).
352 Added 'processes' module, based on code in Archive, which makes controlling
357 Bugfix: Changing the keys lost any builtin shortcuts (Gtk behaviour has
362 Trap exceptions when activating menu items and report nicely.
366 Bugfix: Remember to call drop_finish() after a drag-and-drop operation.
368 05-Aug-2002 (Release 1.9.2)
370 Renamed XDSLoader module to 'loading' (like 'saving').
371 Added 'mime' module for installing extra MIME information.
372 Bugfix: XDSLoader didn't handle the drag-drop signal, and so only worked for
373 widgets with their own implementation!
377 Show local variables in report_exception, and allow expressions to be
378 evaluated in the context of any frame.
379 Added StringSaver class.
383 Added applet module for creating ROX panel applets.
387 Bugfix: saving code didn't cope with missing images (reported by Musus Umbra).
391 If 'gtk2' isn't available, see if 'gtk' is actually the 2.0 version.
392 Added save_set_permissions to Saveable interface, allowing the default
393 save_to_file to preserve file permissions.
394 Changes to XDSLoader: xds_load_from_stream(name, type, stream)
395 replaces the old xds_load_data(data).
396 Loading files from remote filers works now.
397 Added much improved exception reporting system.
399 19-Jul-2002 (Release 1.9.1)
401 Added support for translations.
405 License change to the LGPL (allows commercial programs to use this library).
406 Added AbortSave exception.
410 Saveable.save_to_file() should raise an exception when saving fails, rather
411 than returning 0. The return value is now ignored (note that raising an
412 exception will still work with 1.9.0).
413 toplevel_unref() ignores any arguments, so it is easier to use as a signal
416 12-Jul-2002 (Release 1.9.0)
418 First release for Gtk+-2.0.