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