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