2.0.0 Release
[rox-lib.git] / Help / Changes
blob057b847d083fa8a8c3459e0e9d1ffcbb3bc8eea6
1                         ROX-Lib2
2                         Shared code for ROX applications
3                         by Thomas Leonard
4                         http://rox.sourceforge.net
6 16-Apr-2005 (Release 2.0.0)
7 ~~~~~~~~~~~
8 Run unit tests in alphabetical order as it fixes a strange interaction between them (Stephen Watson).
10 10-Apr-2005
11 ~~~~~~~~~~~
12 Added unit tests for processes module, based on old tests in Archive (Thomas
13 Leonard).
15 09-Apr-2005
16 ~~~~~~~~~~~
17 Changed MakeDist to allow use of other SourceForge accounts (Stephen Watson).
19 01-Apr-2005
20 ~~~~~~~~~~~
21 Added 'testall' script to run all the unit tests together (Thomas Leonard).
23 23-Mar-2005 (Release 1.9.18)
24 ~~~~~~~~~~~
25 German translation (Guido Schimmels).
27 13-Mar-2005
28 ~~~~~~~~~~~
29 Added TODO file to track bugs and changes needed for 2.0.0 release.
31 10-Mar-2005
32 ~~~~~~~~~~~
33 Bugfix: Set default in Options box to OK to avoid triggering a GTK bug
34         (Thomas Leonard, reported by Guido Schimmels).
36 16-Jan-2005 (Release 1.9.17)
37 ~~~~~~~~~~~
38 Added OutputBlocker, which works in a similar way to InputBlocker (Thomas
39 Leonard).
41 15-Jan-2005
42 ~~~~~~~~~~~
43 Be consistent about URI escaping. set_uri() is now always passed an unescaped
44 UTF-8 string (Thomas Leonard).
46 03-Jan-2004
47 ~~~~~~~~~~~
48 Added fixedlist and varlist widgets to OptionsBox (Stephen Watson).
50 31-Dec-2004
51 ~~~~~~~~~~~
52 Added MIME type matching by file contents (Stephen Watson).
54 29-Dec-2004
55 ~~~~~~~~~~~
56 If a 'rox' module is in PYTHONPATH, use that without any searching (Thomas
57 Leonard).
59 23-Dec-2004
60 ~~~~~~~~~~~
61 Added Chinese translation (Babyfai Cheung).
63 11-Dec-2004
64 ~~~~~~~~~~~
65 Suppress warning when we use GtkItemFactory under pygtk 2.4 (Stephen Watson).
67 25-Nov-2004
68 ~~~~~~~~~~~
69 Added tasks.InputBlocker, which triggers when an input source becomes
70 readable (Thomas Leonard).
72 21-Nov-2004
73 ~~~~~~~~~~~
74 Bugfix: Use only text nodes when getting the tool tip from the Options.xml
75         file (Stephen Watson).
77 22-Oct-2004
78 ~~~~~~~~~~~
79 Bugfix: Theme subdirectories are separated by ',' not ';' (reported by
80         Denis Prost).
82 20-Oct-2004
83 ~~~~~~~~~~~
84 Bugfix: When a menu has more than one toggle item, only one is updated
85         correctly (Ken Hayber).
87 07-Oct-2004
88 ~~~~~~~~~~~
89 Replace g.mainloop() and g.mainquit() with g.main() and g.main_quit() as
90 recommended since pygtk 2.0.0 to avoid warnings with pygtk 2.4.0 (Stephen 
91 Watson).
93 03-Oct-2004
94 ~~~~~~~~~~~
95 Added options.ListOption to support multi-valued option widgets, such as
96 lists (Stephen Watson).
98 02-Oct-2004 (Release 1.9.16)
99 ~~~~~~~~~~~
100 Cope better with user cancelling su operation. New interface to replace
101 create_su_proxy (Thomas Leonard).
103 27-Sep-2004
104 ~~~~~~~~~~~
105 The choices module is now deprecated. You can use choices.migrate() to move
106 settings over to the basedir system (Thomas Leonard). Also added
107 basedir.load_first_config(), which works like the old choices.load().
109 26-Sep-2004
110 ~~~~~~~~~~~
111 Several incompatible changes to the experimental proxy API to make it simpler
112 (Thomas Leonard):
114 - Create_su_proxy now returns the MasterObject directly, not the MasterProxy.
115 - You can call finish on the MasterObject (so the MasterProxy isn't needed).
116 - Slave methods no longer take a 'request' argument. Instead, the return
117   value of the function is returned.
118 - Methods can only return one value. dequeue and dequeue_last have been
119   replaced with a 'result' property.
120 - Methods on MasterObject now return a RequestBlocker, not a Queue. This
121   means you just yield the object itself, not object.blocker.
123 Tasks API is no longer experimental, but proxy API is.
125 22-Sep-2004
126 ~~~~~~~~~~~
127 Added a Help button to the exception dialog, which opens the new Help/Errors
128 file (Thomas Leonard).
130 08-Sep-2004
131 ~~~~~~~~~~~
132 Bugfix: Failed to call the parent constructor to AbortSave correctly.
134 06-Sep-2004
135 ~~~~~~~~~~~
136 Simplified su code and interface.
137 New suchild methods: open, close, read, write, chmod and rename, which work
138 just like their normal Python counterparts (Thomas Leonard).
140 29-Aug-2004
141 ~~~~~~~~~~~
142 Removed code to turn off the separator in the debug dialog. GTK 2.4 doesn't
143 need it, and generates a warning if you use it (Thomas Leonard).
145 27-Aug-2004 (Release 1.9.15)
146 ~~~~~~~~~~~
147 Added spawnvpe and waitpid methods to suchild.
149 08-Aug-2004
150 ~~~~~~~~~~~
151 If the unit field for a <numentry> option is blank, don't try to translate it
152 (reported by Guido Schimmels).
154 30-Jun-2004
155 ~~~~~~~~~~~
156 Added 'su' module for performing operations as root.
158 11-Jun-2004
159 ~~~~~~~~~~~
160 Allow "" as a valid value in a OptionsBox menu (reported by Guido Schimmels).
162 10-Jun-2004
163 ~~~~~~~~~~~
164 Added 'proxy' module. This allows one Python process to invoke methods on
165 another asynchronously.
166 Added rox.UserAbort exception, to be raised when users cancel something
167 manually.
169 07-Jun-2004
170 ~~~~~~~~~~~
171 Fix syntax error I caused when I added a docstring (Stephen Watson).
173 30-May-2004
174 ~~~~~~~~~~~
175 Get update-mime-database command through Zero Install, if possible.
177 24-May-2004
178 ~~~~~~~~~~~
179 mime_handler can now uninstall (Stephen Watson).
181 04-May-2004
182 ~~~~~~~~~~~
183 Translate menu items in options (Guido Schimmels).
185 26-Apr-2004
186 ~~~~~~~~~~~
187 Added <slider> widget to options.
189 25-Apr-2004
190 ~~~~~~~~~~~
191 Added 'size-group' attribute to Options.xml elements. This allows grouping
192 elements so that their labels all appear the same width.
194 20-Apr-2004
195 ~~~~~~~~~~~
196 Bugfix: Colour buttons in the Options boxes didn't work with some themes
197         (Jonatan Liljedahl).
199 17-Apr-2004 (Release 1.9.14)
200 ~~~~~~~~~~~
201 Added ToggleItem (based on a patch from Ken Hayber).
203 15-Apr-2004
204 ~~~~~~~~~~~
205 Better <label> widgets (wrapping and icon). Taken from LookAndFeel.
207 20-Mar-2004
208 ~~~~~~~~~~~
209 Stop themes from overriding the display of the colour-picker buttons in
210 the options box (Rene Ejury).
212 17-Mar-2004
213 ~~~~~~~~~~~
214 Warn about old versions of findrox.py.
215 Bugfix: Bug in new menu API prevented submenus from working.
217 16-Mar-2004 (Release 1.9.13)
218 ~~~~~~~~~~~
219 Bugfix: Icon themes didn't work with python versions older than 2.2.2
220         (reported by Thomas Zajic).
222 15-Mar-2004
223 ~~~~~~~~~~~
224 Bugfix: Use filer module to show ROX-Lib help, rather than using os.system,
225         so that it works with Zero Install (reported by Keith Hopper).
227 14-Mar-2004
228 ~~~~~~~~~~~
229 Added widget_registry to OptionsBox, to provide an easy way to register
230 new option types. Removed build_button in favour of this method.
232 Bugfix: If an error occurred loading the ROX theme at startup it could not
233         be reported, because icon_theme wants debug, debug wants saving, and
234         saving wants icon_theme (reported by Thomas Zajic).
236 12-Mar-2004
237 ~~~~~~~~~~~
238 Cope with pygtk2.2 API change (Stephen Watson, reported by Guido Schimmels).
240 06-Mar-2004
241 ~~~~~~~~~~~
242 Added secretentry and button options to the OptionsBox (Stephen Watson).
244 26-Feb-2004
245 ~~~~~~~~~~~
246 Cope with option values split into multiple DOM text nodes (Rene Ejury).
248 22-Feb-2004
249 ~~~~~~~~~~~
250 Allow a list of values to be stored in each menu Action. These are used as
251 the arguments to the callback function.
252 If a file's details were recorded (in document.save_last_stat) when it was
253 loaded, make sure they haven't changed when saving. Saving also updates this
254 variable (requested by Arnaud Calvo).
256 20-Feb-2004
257 ~~~~~~~~~~~
258 Updated examples in documentation for new findrox (Yuri Bongiorno).
260 10-Feb-2004
261 ~~~~~~~~~~~
262 New API for menus. Instead of passing tuples for menu items, python classes
263 can be used. The old tuple interface is still supported.
265 07-Feb-2004
266 ~~~~~~~~~~~
267 Don't stop DnD working in the savebox just because no icon can be found
268 (reported by Martin Lucina).
270 02-Feb-2004
271 ~~~~~~~~~~~
272 Added French translation (Vincent Lefèvre).
274 30-Jan-2004
275 ~~~~~~~~~~~
276 Also translate <label> elements in the Options box (reported by Arnaud Calvo).
278 28-Jan-2004
279 ~~~~~~~~~~~
280 Also translate section names in the Options box (reported by Arnaud Calvo).
282 22-Jan-2004 (Release 1.9.12)
283 ~~~~~~~~~~~
284 Added 'tasks' module to provide a light-weight alternative to threads.
285 Bugfix: On non-zero-install systems, the sense of the version check in findrox
286         was wrong.
288 02-Jan-2004
289 ~~~~~~~~~~~
290 Added method to MIMEtype to fetch its icon. Install list window for
291 the MIME handler installation uses it (Stephen Watson).
293 13-Dec-2003
294 ~~~~~~~~~~~
295 Translate text in Options box.
297 28-Dec-2003
298 ~~~~~~~~~~~
299 Allow ROXLIB_DISABLE_ZEROINSTALL to override looking for ROX-Lib in Zero
300 Install (useful for ROX-Lib developers). Prefer a locally installed version
301 of ROX-Filer to the Zero Install version; this also allows users to select
302 which Zero Install version they want (eg, stable or developer).
303 Moved MIME handler installation into a separate module (mime_handler) and
304 made a few changes to the XML syntax.
306 24-Dec-2003
307 ~~~~~~~~~~~
308 Added <menu> OptionMenu widget for Options box (Chris Shaffer).
310 27-Nov-2003
311 ~~~~~~~~~~~
312 Fixed bug in findrox when not using Zero Install (Lionel Bringuier).
314 26-Nov-2003
315 ~~~~~~~~~~~
316 Escape and unescape URIs, as required by ROX-Filer 2.1.0 (reported by
317 Peter Geer).
318 Note that the xds_load_uris() method is now called with escaped URIs.
319 Try to run the filer through Zero Install, if possible.
321 11-Nov-2003
322 ~~~~~~~~~~~
323 If we can't get pygtk through Zero Install, try the local copy.
325 05-Nov-2003
326 ~~~~~~~~~~~
327 Added support in mime.py for an application to set MIME-type run
328 actions and thumbnail programs (Stephen Watson).
330 31-Oct-2003
331 ~~~~~~~~~~~
332 Simplified implementation of saving.SaveFilter by using the new
333 processes.PipeThroughCommand class. The child_run() method of SaveFilter
334 is no longer supported.
335 In processes.PipeThroughCommand, a None input stream gets /dev/null instead
336 of inheriting its parent's stream. The class has a new run_child_with_streams
337 to make overriding the behaviour easier.
338 findrox.py script now warns if ROX-Lib2 version is too old (unless requesting
339 a version too old to have a version number).
341 29-Oct-2003
342 ~~~~~~~~~~~
343 Changed 'Dismiss' to 'Close' (Chris Shaffer).
344 Bugfix: Error reporting in mime.py failed to import the _ function (reported
345         by Christopher Haines).
346 New AppInfo.py for parsing AppInfo.xml files (Christopher Arndt), InfoWin
347 converted to use it (Stephen Watson).
349 15-Oct-2003 (Release 1.9.11)
350 ~~~~~~~~~~~
351 Bugfix: Python 2.3's new bool type broke options saving (reported by Lars
352         Hansson).
354 13-Oct-2003
355 ~~~~~~~~~~~
356 Added PipeThroughCommand class (copied from Archive, with some minor
357 changes).
359 09-Oct-2003
360 ~~~~~~~~~~~
361 Allow event to be None for Menu.popup. This allows the menu to be activated
362 from the keyboard, using the 'popup-menu' signal.
364 08-Oct-2003
365 ~~~~~~~~~~~
366 Added French translation in AppInfo.xml (Vincent Lefèvre).
368 03-Oct-2003 (Release 1.9.10)
369 ~~~~~~~~~~~
370 Added support for icon themes (doesn't do inheritance yet).
372 28-Sep-2003
373 ~~~~~~~~~~~
374 Added some version information to the dialog you get when you run ROX-Lib
375 directly.
377 22-Sep-2003
378 ~~~~~~~~~~~
379 New bug() function to quickly bring up a debugging prompt.
381 15-Sep-2003
382 ~~~~~~~~~~~
383 The glob patterns in mime.py are now sorted longest first. Fix for setting 
384 icon in the old way when there was no icon (Stephen Watson).
386 25-Aug-2003
387 ~~~~~~~~~~~
388 Try to cope better with bad hostname setup (reported by Nathan Howell).
390 24-Aug-2003
391 ~~~~~~~~~~~
392 Added InfoWin.py to provide standardized information window (Stephen Watson).
394 24-Aug-2003
395 ~~~~~~~~~~~
396 Fall back to old way of setting default icon for older pygtk's (Stephen 
397 Watson).
399 20-Aug-2003
400 ~~~~~~~~~~~
401 Added Italian translation (Yuri Bongiorno).
403 18-Aug-2003
404 ~~~~~~~~~~~
405 Better way to set the default icon.
407 16-Aug-2003 (Release 1.9.9)
408 ~~~~~~~~~~~
409 Give windows a default icon from .DirIcon (Chris Shaffer).
411 01-Aug-2003
412 ~~~~~~~~~~~
413 Try to get pygtk through ZeroInstall.
415 25-Jul-2003
416 ~~~~~~~~~~~
417 Updated findrox to use ZeroInstall, if possible.
419 22-Jul-2003
420 ~~~~~~~~~~~
421 Work out correct application name even if invoked via a symlink. This stops
422 applications from calling themselves 'text_plain', etc (reported by Joe Hill).
424 19-Jul-2003 (Release 1.9.8)
425 ~~~~~~~~~~~
426 Make default menu positioning function keep the pointer inside the menu.
427 Allow stock icons in menus.
429 18-Jul-2003
430 ~~~~~~~~~~~
431 Added position_fn argument to rox.Menu.popup.
433 17-Jul-2003
434 ~~~~~~~~~~~
435 Cope with % escaped URIs.
437 04-Jul-2003
438 ~~~~~~~~~~~
439 Added italian translation in AppInfo.xml (Yuri Bongiorno)
441 26-Jun-2003
442 ~~~~~~~~~~~
443 When loading data from another application, pass the suggested leafname to
444 xds_load_from_stream().
446 04-Jun-2003
447 ~~~~~~~~~~~
448 Code tidying, thanks to pychecker.
450 26-May-2003
451 ~~~~~~~~~~~
452 Added fileutils module, which provides an interactive makedirs() function
453 (Richard Boulton).
454 Changed savebox module to use it.
456 16-May-2003 (Release 1.9.7)
457 ~~~~~~~~~~~
458 New icon (Geoff Youngs).
459 Added 'basedir' module for freedesktop.org Base Directory specification.
461 06-May-2003
462 ~~~~~~~~~~~
463 Added functions to read MIME database (Stephen Watson).
465 27-Jan-2003 (Release 1.9.6)
466 ~~~~~~~~~~~
467 Make the default window class the name of the application directory, not
468 'AppRun' (suggested by Albert Wagner).
469 Bugfix: With pygtk-1.99.14, only the first error message from a process
470         would be detected; this meant that ROX-Lib wouldn't detect when the
471         process quit (reported by joehill).
472 Bugfix: <hbox> and <vbox> layouts didn't work in the options box (Allen
473         Leonard).
475 22-Jan-2003
476 ~~~~~~~~~~~
477 If python is too old, raise SystemExit instead of quitting.
478 Ensure that True and False are defined.
480 16-Dec-2002
481 ~~~~~~~~~~~
482 Work around bug in some versions of pygtk that stopped the options window
483 from working.
485 12-Dec-2002 (Release 1.9.5)
486 ~~~~~~~~~~~
487 Upgrade Options box to new style.
489 11-Dec-2002
490 ~~~~~~~~~~~
491 Bugfix: If an option had an empty value, an exception was thrown on loading
492         (reported by Stephen Watson).
494 05-Dec-2002
495 ~~~~~~~~~~~
496 Cope with missing input_add_full.
498 25-Oct-2002
499 ~~~~~~~~~~~
500 Pygtk 1.99.12 seems to more-or-less work now (according to Alastair Porter), so
501 remove the warning for that so we can support RedHat 8.0.
503 20-Oct-2002 (Release 1.9.4)
504 ~~~~~~~~~~~
505 More warnings about old pygtk versions.
506 Added Dialog class (does ref-counting, like Window).
508 15-Oct-2002
509 ~~~~~~~~~~~
510 Trying to use ROX-Lib2 with earlier versions of python now gives a sensible
511 error message.
513 10-Oct-2002
514 ~~~~~~~~~~~
515 Make clicking on ROX-Lib itself work again (Christopher Arndt).
517 25-Aug-2002
518 ~~~~~~~~~~~
519 Updated findrox.py to use pygtk 1.99.13 -- update your programs!
521 25-Aug-2002 (Release 1.9.3)
522 ~~~~~~~~~~~
523 Switch to use new pygtk versioning system (requires pygtk 1.99.13).
525 19-Aug-2002
526 ~~~~~~~~~~~
527 Added 'processes' module, based on code in Archive, which makes controlling
528 subprocesses easier.
530 14-Aug-2002
531 ~~~~~~~~~~~
532 Bugfix: Changing the keys lost any builtin shortcuts (Gtk behaviour has
533         changed since 1.2).
535 08-Aug-2002
536 ~~~~~~~~~~~
537 Trap exceptions when activating menu items and report nicely.
539 07-Aug-2002
540 ~~~~~~~~~~~
541 Bugfix: Remember to call drop_finish() after a drag-and-drop operation.
543 05-Aug-2002 (Release 1.9.2)
544 ~~~~~~~~~~~
545 Renamed XDSLoader module to 'loading' (like 'saving').
546 Added 'mime' module for installing extra MIME information.
547 Bugfix: XDSLoader didn't handle the drag-drop signal, and so only worked for
548         widgets with their own implementation!
550 31-Jul-2002
551 ~~~~~~~~~~~
552 Show local variables in report_exception, and allow expressions to be
553 evaluated in the context of any frame.
554 Added StringSaver class.
556 25-Jul-2002
557 ~~~~~~~~~~~
558 Added applet module for creating ROX panel applets.
560 24-Jul-2002
561 ~~~~~~~~~~~
562 Bugfix: saving code didn't cope with missing images (reported by Musus Umbra).
564 21-Jul-2002
565 ~~~~~~~~~~~
566 If 'gtk2' isn't available, see if 'gtk' is actually the 2.0 version.
567 Added save_set_permissions to Saveable interface, allowing the default
568 save_to_file to preserve file permissions.
569 Changes to XDSLoader: xds_load_from_stream(name, type, stream)
570 replaces the old xds_load_data(data).
571 Loading files from remote filers works now.
572 Added much improved exception reporting system.
574 19-Jul-2002 (Release 1.9.1)
575 ~~~~~~~~~~~
576 Added support for translations.
578 18-Jul-2002
579 ~~~~~~~~~~~
580 License change to the LGPL (allows commercial programs to use this library).
581 Added AbortSave exception.
583 14-Jul-2002
584 ~~~~~~~~~~~
585 Saveable.save_to_file() should raise an exception when saving fails, rather
586 than returning 0. The return value is now ignored (note that raising an
587 exception will still work with 1.9.0).
588 toplevel_unref() ignores any arguments, so it is easier to use as a signal
589 handler.
591 12-Jul-2002 (Release 1.9.0)
592 ~~~~~~~~~~~
593 First release for Gtk+-2.0.