New release.
[rox-lib/lack.git] / Help / Changes
bloba3e090f6a47641e8eeb934a212a2f18654b7ce23
1                         ROX-Lib2
2                         Shared code for ROX applications
3                         by Thomas Leonard
4                         http://rox.sourceforge.net
6 17-Jun-2005 (Release 2.0.1)
7 ~~~~~~~~~~~
8 Send deprecation warnings to stdout, not stderr, so only developers will
9 see them (Thomas Leonard).
11 10-Jun-2005
12 ~~~~~~~~~~~
13 Fixed deprecation warning in processes.py (Thomas Leonard).
15 01-Jun-2005
16 ~~~~~~~~~~~
17 Avoid apparent PyGTK bug related to icon themes, may result in a
18 memory leak but probably won't (Stephen Watson).
20 19-May-2005
21 ~~~~~~~~~~~
22 Clean up of icon theme handling (Stephen Watson).
24 18-May-2005
25 ~~~~~~~~~~~
26 Compatability with PyGTK 2.4 retaining backwards compatability with
27 2.2 at least (Ken Hayber, Stephen Watson).
29 12-May-2005
30 ~~~~~~~~~~~
31 Updated Chinese translation (Babyfai Cheung).
33 11-May-2005
34 ~~~~~~~~~~~
35 Added Portuguese translation (José Carlos do Nascimento).
37 07-May-2005
38 ~~~~~~~~~~~
39 Don't try to get pygtk through Zero Install. The injector can be used to
40 choose the implementation of pygtk to use, including a version in Zero
41 Install if desired (Thomas Leonard).
43 06-May-2005
44 ~~~~~~~~~~~
45 MIME handler install now uses basedir (Stephen Watson).
46 Tests use gtk.main() instead of the deprecated gtk.mainloop() (Stephen Watson).
48 05-May-2005
49 ~~~~~~~~~~~
50 Some versions of GTK silently remove '-' from sys.argv (GTK bug #303166).
51 Added a work-around (Thomas Leonard).
53 02-May-2005
54 ~~~~~~~~~~~
55 Put "root" back in su command, but detect what the exact string should be, as
56 Solaris needs something here (reported by Stephen Watson).
58 01-May-2005
59 ~~~~~~~~~~~
60 The default SaveArea.confirm_new_path() now shows an error if the target
61 exists as a directory, instead of asking if you want to overwrite it (Thomas
62 Leonard; reported by Jonatan Liljedahl).
63 Remove "root" from the su command, as some systems call user 0 something else
64 (Thomas Leonard; reported by Jonatan Liljedahl).
66 30-Apr-2005
67 ~~~~~~~~~~~
68 When getting an icon for saving, specify the size if PyGTK is recent enough.
69 This prevents SVG icons from appearing in huge sizes (Thomas Leonard;
70 requested by John Pettigrew).
71 Bugfix: Theme index parser failed to cope with comments at the start of the
72         file (Thomas Leonard).
74 29-Apr-2005
75 ~~~~~~~~~~~
76 Compatability fixes for the su module (Stephen Watson).
78 17-Apr-2005
79 ~~~~~~~~~~~
80 Fixed Zero Install version test in findrox.py (Thomas Leonard).
82 16-Apr-2005 (Release 2.0.0)
83 ~~~~~~~~~~~
84 Run unit tests in alphabetical order as it fixes a strange interaction between them (Stephen Watson).
86 10-Apr-2005
87 ~~~~~~~~~~~
88 Added unit tests for processes module, based on old tests in Archive (Thomas
89 Leonard).
91 09-Apr-2005
92 ~~~~~~~~~~~
93 Changed MakeDist to allow use of other SourceForge accounts (Stephen Watson).
95 01-Apr-2005
96 ~~~~~~~~~~~
97 Added 'testall' script to run all the unit tests together (Thomas Leonard).
99 23-Mar-2005 (Release 1.9.18)
100 ~~~~~~~~~~~
101 German translation (Guido Schimmels).
103 13-Mar-2005
104 ~~~~~~~~~~~
105 Added TODO file to track bugs and changes needed for 2.0.0 release.
107 10-Mar-2005
108 ~~~~~~~~~~~
109 Bugfix: Set default in Options box to OK to avoid triggering a GTK bug
110         (Thomas Leonard, reported by Guido Schimmels).
112 16-Jan-2005 (Release 1.9.17)
113 ~~~~~~~~~~~
114 Added OutputBlocker, which works in a similar way to InputBlocker (Thomas
115 Leonard).
117 15-Jan-2005
118 ~~~~~~~~~~~
119 Be consistent about URI escaping. set_uri() is now always passed an unescaped
120 UTF-8 string (Thomas Leonard).
122 03-Jan-2004
123 ~~~~~~~~~~~
124 Added fixedlist and varlist widgets to OptionsBox (Stephen Watson).
126 31-Dec-2004
127 ~~~~~~~~~~~
128 Added MIME type matching by file contents (Stephen Watson).
130 29-Dec-2004
131 ~~~~~~~~~~~
132 If a 'rox' module is in PYTHONPATH, use that without any searching (Thomas
133 Leonard).
135 23-Dec-2004
136 ~~~~~~~~~~~
137 Added Chinese translation (Babyfai Cheung).
139 11-Dec-2004
140 ~~~~~~~~~~~
141 Suppress warning when we use GtkItemFactory under pygtk 2.4 (Stephen Watson).
143 25-Nov-2004
144 ~~~~~~~~~~~
145 Added tasks.InputBlocker, which triggers when an input source becomes
146 readable (Thomas Leonard).
148 21-Nov-2004
149 ~~~~~~~~~~~
150 Bugfix: Use only text nodes when getting the tool tip from the Options.xml
151         file (Stephen Watson).
153 22-Oct-2004
154 ~~~~~~~~~~~
155 Bugfix: Theme subdirectories are separated by ',' not ';' (reported by
156         Denis Prost).
158 20-Oct-2004
159 ~~~~~~~~~~~
160 Bugfix: When a menu has more than one toggle item, only one is updated
161         correctly (Ken Hayber).
163 07-Oct-2004
164 ~~~~~~~~~~~
165 Replace g.mainloop() and g.mainquit() with g.main() and g.main_quit() as
166 recommended since pygtk 2.0.0 to avoid warnings with pygtk 2.4.0 (Stephen 
167 Watson).
169 03-Oct-2004
170 ~~~~~~~~~~~
171 Added options.ListOption to support multi-valued option widgets, such as
172 lists (Stephen Watson).
174 02-Oct-2004 (Release 1.9.16)
175 ~~~~~~~~~~~
176 Cope better with user cancelling su operation. New interface to replace
177 create_su_proxy (Thomas Leonard).
179 27-Sep-2004
180 ~~~~~~~~~~~
181 The choices module is now deprecated. You can use choices.migrate() to move
182 settings over to the basedir system (Thomas Leonard). Also added
183 basedir.load_first_config(), which works like the old choices.load().
185 26-Sep-2004
186 ~~~~~~~~~~~
187 Several incompatible changes to the experimental proxy API to make it simpler
188 (Thomas Leonard):
190 - Create_su_proxy now returns the MasterObject directly, not the MasterProxy.
191 - You can call finish on the MasterObject (so the MasterProxy isn't needed).
192 - Slave methods no longer take a 'request' argument. Instead, the return
193   value of the function is returned.
194 - Methods can only return one value. dequeue and dequeue_last have been
195   replaced with a 'result' property.
196 - Methods on MasterObject now return a RequestBlocker, not a Queue. This
197   means you just yield the object itself, not object.blocker.
199 Tasks API is no longer experimental, but proxy API is.
201 22-Sep-2004
202 ~~~~~~~~~~~
203 Added a Help button to the exception dialog, which opens the new Help/Errors
204 file (Thomas Leonard).
206 08-Sep-2004
207 ~~~~~~~~~~~
208 Bugfix: Failed to call the parent constructor to AbortSave correctly.
210 06-Sep-2004
211 ~~~~~~~~~~~
212 Simplified su code and interface.
213 New suchild methods: open, close, read, write, chmod and rename, which work
214 just like their normal Python counterparts (Thomas Leonard).
216 29-Aug-2004
217 ~~~~~~~~~~~
218 Removed code to turn off the separator in the debug dialog. GTK 2.4 doesn't
219 need it, and generates a warning if you use it (Thomas Leonard).
221 27-Aug-2004 (Release 1.9.15)
222 ~~~~~~~~~~~
223 Added spawnvpe and waitpid methods to suchild.
225 08-Aug-2004
226 ~~~~~~~~~~~
227 If the unit field for a <numentry> option is blank, don't try to translate it
228 (reported by Guido Schimmels).
230 30-Jun-2004
231 ~~~~~~~~~~~
232 Added 'su' module for performing operations as root.
234 11-Jun-2004
235 ~~~~~~~~~~~
236 Allow "" as a valid value in a OptionsBox menu (reported by Guido Schimmels).
238 10-Jun-2004
239 ~~~~~~~~~~~
240 Added 'proxy' module. This allows one Python process to invoke methods on
241 another asynchronously.
242 Added rox.UserAbort exception, to be raised when users cancel something
243 manually.
245 07-Jun-2004
246 ~~~~~~~~~~~
247 Fix syntax error I caused when I added a docstring (Stephen Watson).
249 30-May-2004
250 ~~~~~~~~~~~
251 Get update-mime-database command through Zero Install, if possible.
253 24-May-2004
254 ~~~~~~~~~~~
255 mime_handler can now uninstall (Stephen Watson).
257 04-May-2004
258 ~~~~~~~~~~~
259 Translate menu items in options (Guido Schimmels).
261 26-Apr-2004
262 ~~~~~~~~~~~
263 Added <slider> widget to options.
265 25-Apr-2004
266 ~~~~~~~~~~~
267 Added 'size-group' attribute to Options.xml elements. This allows grouping
268 elements so that their labels all appear the same width.
270 20-Apr-2004
271 ~~~~~~~~~~~
272 Bugfix: Colour buttons in the Options boxes didn't work with some themes
273         (Jonatan Liljedahl).
275 17-Apr-2004 (Release 1.9.14)
276 ~~~~~~~~~~~
277 Added ToggleItem (based on a patch from Ken Hayber).
279 15-Apr-2004
280 ~~~~~~~~~~~
281 Better <label> widgets (wrapping and icon). Taken from LookAndFeel.
283 20-Mar-2004
284 ~~~~~~~~~~~
285 Stop themes from overriding the display of the colour-picker buttons in
286 the options box (Rene Ejury).
288 17-Mar-2004
289 ~~~~~~~~~~~
290 Warn about old versions of findrox.py.
291 Bugfix: Bug in new menu API prevented submenus from working.
293 16-Mar-2004 (Release 1.9.13)
294 ~~~~~~~~~~~
295 Bugfix: Icon themes didn't work with python versions older than 2.2.2
296         (reported by Thomas Zajic).
298 15-Mar-2004
299 ~~~~~~~~~~~
300 Bugfix: Use filer module to show ROX-Lib help, rather than using os.system,
301         so that it works with Zero Install (reported by Keith Hopper).
303 14-Mar-2004
304 ~~~~~~~~~~~
305 Added widget_registry to OptionsBox, to provide an easy way to register
306 new option types. Removed build_button in favour of this method.
308 Bugfix: If an error occurred loading the ROX theme at startup it could not
309         be reported, because icon_theme wants debug, debug wants saving, and
310         saving wants icon_theme (reported by Thomas Zajic).
312 12-Mar-2004
313 ~~~~~~~~~~~
314 Cope with pygtk2.2 API change (Stephen Watson, reported by Guido Schimmels).
316 06-Mar-2004
317 ~~~~~~~~~~~
318 Added secretentry and button options to the OptionsBox (Stephen Watson).
320 26-Feb-2004
321 ~~~~~~~~~~~
322 Cope with option values split into multiple DOM text nodes (Rene Ejury).
324 22-Feb-2004
325 ~~~~~~~~~~~
326 Allow a list of values to be stored in each menu Action. These are used as
327 the arguments to the callback function.
328 If a file's details were recorded (in document.save_last_stat) when it was
329 loaded, make sure they haven't changed when saving. Saving also updates this
330 variable (requested by Arnaud Calvo).
332 20-Feb-2004
333 ~~~~~~~~~~~
334 Updated examples in documentation for new findrox (Yuri Bongiorno).
336 10-Feb-2004
337 ~~~~~~~~~~~
338 New API for menus. Instead of passing tuples for menu items, python classes
339 can be used. The old tuple interface is still supported.
341 07-Feb-2004
342 ~~~~~~~~~~~
343 Don't stop DnD working in the savebox just because no icon can be found
344 (reported by Martin Lucina).
346 02-Feb-2004
347 ~~~~~~~~~~~
348 Added French translation (Vincent Lefèvre).
350 30-Jan-2004
351 ~~~~~~~~~~~
352 Also translate <label> elements in the Options box (reported by Arnaud Calvo).
354 28-Jan-2004
355 ~~~~~~~~~~~
356 Also translate section names in the Options box (reported by Arnaud Calvo).
358 22-Jan-2004 (Release 1.9.12)
359 ~~~~~~~~~~~
360 Added 'tasks' module to provide a light-weight alternative to threads.
361 Bugfix: On non-zero-install systems, the sense of the version check in findrox
362         was wrong.
364 02-Jan-2004
365 ~~~~~~~~~~~
366 Added method to MIMEtype to fetch its icon. Install list window for
367 the MIME handler installation uses it (Stephen Watson).
369 13-Dec-2003
370 ~~~~~~~~~~~
371 Translate text in Options box.
373 28-Dec-2003
374 ~~~~~~~~~~~
375 Allow ROXLIB_DISABLE_ZEROINSTALL to override looking for ROX-Lib in Zero
376 Install (useful for ROX-Lib developers). Prefer a locally installed version
377 of ROX-Filer to the Zero Install version; this also allows users to select
378 which Zero Install version they want (eg, stable or developer).
379 Moved MIME handler installation into a separate module (mime_handler) and
380 made a few changes to the XML syntax.
382 24-Dec-2003
383 ~~~~~~~~~~~
384 Added <menu> OptionMenu widget for Options box (Chris Shaffer).
386 27-Nov-2003
387 ~~~~~~~~~~~
388 Fixed bug in findrox when not using Zero Install (Lionel Bringuier).
390 26-Nov-2003
391 ~~~~~~~~~~~
392 Escape and unescape URIs, as required by ROX-Filer 2.1.0 (reported by
393 Peter Geer).
394 Note that the xds_load_uris() method is now called with escaped URIs.
395 Try to run the filer through Zero Install, if possible.
397 11-Nov-2003
398 ~~~~~~~~~~~
399 If we can't get pygtk through Zero Install, try the local copy.
401 05-Nov-2003
402 ~~~~~~~~~~~
403 Added support in mime.py for an application to set MIME-type run
404 actions and thumbnail programs (Stephen Watson).
406 31-Oct-2003
407 ~~~~~~~~~~~
408 Simplified implementation of saving.SaveFilter by using the new
409 processes.PipeThroughCommand class. The child_run() method of SaveFilter
410 is no longer supported.
411 In processes.PipeThroughCommand, a None input stream gets /dev/null instead
412 of inheriting its parent's stream. The class has a new run_child_with_streams
413 to make overriding the behaviour easier.
414 findrox.py script now warns if ROX-Lib2 version is too old (unless requesting
415 a version too old to have a version number).
417 29-Oct-2003
418 ~~~~~~~~~~~
419 Changed 'Dismiss' to 'Close' (Chris Shaffer).
420 Bugfix: Error reporting in mime.py failed to import the _ function (reported
421         by Christopher Haines).
422 New AppInfo.py for parsing AppInfo.xml files (Christopher Arndt), InfoWin
423 converted to use it (Stephen Watson).
425 15-Oct-2003 (Release 1.9.11)
426 ~~~~~~~~~~~
427 Bugfix: Python 2.3's new bool type broke options saving (reported by Lars
428         Hansson).
430 13-Oct-2003
431 ~~~~~~~~~~~
432 Added PipeThroughCommand class (copied from Archive, with some minor
433 changes).
435 09-Oct-2003
436 ~~~~~~~~~~~
437 Allow event to be None for Menu.popup. This allows the menu to be activated
438 from the keyboard, using the 'popup-menu' signal.
440 08-Oct-2003
441 ~~~~~~~~~~~
442 Added French translation in AppInfo.xml (Vincent Lefèvre).
444 03-Oct-2003 (Release 1.9.10)
445 ~~~~~~~~~~~
446 Added support for icon themes (doesn't do inheritance yet).
448 28-Sep-2003
449 ~~~~~~~~~~~
450 Added some version information to the dialog you get when you run ROX-Lib
451 directly.
453 22-Sep-2003
454 ~~~~~~~~~~~
455 New bug() function to quickly bring up a debugging prompt.
457 15-Sep-2003
458 ~~~~~~~~~~~
459 The glob patterns in mime.py are now sorted longest first. Fix for setting 
460 icon in the old way when there was no icon (Stephen Watson).
462 25-Aug-2003
463 ~~~~~~~~~~~
464 Try to cope better with bad hostname setup (reported by Nathan Howell).
466 24-Aug-2003
467 ~~~~~~~~~~~
468 Added InfoWin.py to provide standardized information window (Stephen Watson).
470 24-Aug-2003
471 ~~~~~~~~~~~
472 Fall back to old way of setting default icon for older pygtk's (Stephen 
473 Watson).
475 20-Aug-2003
476 ~~~~~~~~~~~
477 Added Italian translation (Yuri Bongiorno).
479 18-Aug-2003
480 ~~~~~~~~~~~
481 Better way to set the default icon.
483 16-Aug-2003 (Release 1.9.9)
484 ~~~~~~~~~~~
485 Give windows a default icon from .DirIcon (Chris Shaffer).
487 01-Aug-2003
488 ~~~~~~~~~~~
489 Try to get pygtk through ZeroInstall.
491 25-Jul-2003
492 ~~~~~~~~~~~
493 Updated findrox to use ZeroInstall, if possible.
495 22-Jul-2003
496 ~~~~~~~~~~~
497 Work out correct application name even if invoked via a symlink. This stops
498 applications from calling themselves 'text_plain', etc (reported by Joe Hill).
500 19-Jul-2003 (Release 1.9.8)
501 ~~~~~~~~~~~
502 Make default menu positioning function keep the pointer inside the menu.
503 Allow stock icons in menus.
505 18-Jul-2003
506 ~~~~~~~~~~~
507 Added position_fn argument to rox.Menu.popup.
509 17-Jul-2003
510 ~~~~~~~~~~~
511 Cope with % escaped URIs.
513 04-Jul-2003
514 ~~~~~~~~~~~
515 Added italian translation in AppInfo.xml (Yuri Bongiorno)
517 26-Jun-2003
518 ~~~~~~~~~~~
519 When loading data from another application, pass the suggested leafname to
520 xds_load_from_stream().
522 04-Jun-2003
523 ~~~~~~~~~~~
524 Code tidying, thanks to pychecker.
526 26-May-2003
527 ~~~~~~~~~~~
528 Added fileutils module, which provides an interactive makedirs() function
529 (Richard Boulton).
530 Changed savebox module to use it.
532 16-May-2003 (Release 1.9.7)
533 ~~~~~~~~~~~
534 New icon (Geoff Youngs).
535 Added 'basedir' module for freedesktop.org Base Directory specification.
537 06-May-2003
538 ~~~~~~~~~~~
539 Added functions to read MIME database (Stephen Watson).
541 27-Jan-2003 (Release 1.9.6)
542 ~~~~~~~~~~~
543 Make the default window class the name of the application directory, not
544 'AppRun' (suggested by Albert Wagner).
545 Bugfix: With pygtk-1.99.14, only the first error message from a process
546         would be detected; this meant that ROX-Lib wouldn't detect when the
547         process quit (reported by joehill).
548 Bugfix: <hbox> and <vbox> layouts didn't work in the options box (Allen
549         Leonard).
551 22-Jan-2003
552 ~~~~~~~~~~~
553 If python is too old, raise SystemExit instead of quitting.
554 Ensure that True and False are defined.
556 16-Dec-2002
557 ~~~~~~~~~~~
558 Work around bug in some versions of pygtk that stopped the options window
559 from working.
561 12-Dec-2002 (Release 1.9.5)
562 ~~~~~~~~~~~
563 Upgrade Options box to new style.
565 11-Dec-2002
566 ~~~~~~~~~~~
567 Bugfix: If an option had an empty value, an exception was thrown on loading
568         (reported by Stephen Watson).
570 05-Dec-2002
571 ~~~~~~~~~~~
572 Cope with missing input_add_full.
574 25-Oct-2002
575 ~~~~~~~~~~~
576 Pygtk 1.99.12 seems to more-or-less work now (according to Alastair Porter), so
577 remove the warning for that so we can support RedHat 8.0.
579 20-Oct-2002 (Release 1.9.4)
580 ~~~~~~~~~~~
581 More warnings about old pygtk versions.
582 Added Dialog class (does ref-counting, like Window).
584 15-Oct-2002
585 ~~~~~~~~~~~
586 Trying to use ROX-Lib2 with earlier versions of python now gives a sensible
587 error message.
589 10-Oct-2002
590 ~~~~~~~~~~~
591 Make clicking on ROX-Lib itself work again (Christopher Arndt).
593 25-Aug-2002
594 ~~~~~~~~~~~
595 Updated findrox.py to use pygtk 1.99.13 -- update your programs!
597 25-Aug-2002 (Release 1.9.3)
598 ~~~~~~~~~~~
599 Switch to use new pygtk versioning system (requires pygtk 1.99.13).
601 19-Aug-2002
602 ~~~~~~~~~~~
603 Added 'processes' module, based on code in Archive, which makes controlling
604 subprocesses easier.
606 14-Aug-2002
607 ~~~~~~~~~~~
608 Bugfix: Changing the keys lost any builtin shortcuts (Gtk behaviour has
609         changed since 1.2).
611 08-Aug-2002
612 ~~~~~~~~~~~
613 Trap exceptions when activating menu items and report nicely.
615 07-Aug-2002
616 ~~~~~~~~~~~
617 Bugfix: Remember to call drop_finish() after a drag-and-drop operation.
619 05-Aug-2002 (Release 1.9.2)
620 ~~~~~~~~~~~
621 Renamed XDSLoader module to 'loading' (like 'saving').
622 Added 'mime' module for installing extra MIME information.
623 Bugfix: XDSLoader didn't handle the drag-drop signal, and so only worked for
624         widgets with their own implementation!
626 31-Jul-2002
627 ~~~~~~~~~~~
628 Show local variables in report_exception, and allow expressions to be
629 evaluated in the context of any frame.
630 Added StringSaver class.
632 25-Jul-2002
633 ~~~~~~~~~~~
634 Added applet module for creating ROX panel applets.
636 24-Jul-2002
637 ~~~~~~~~~~~
638 Bugfix: saving code didn't cope with missing images (reported by Musus Umbra).
640 21-Jul-2002
641 ~~~~~~~~~~~
642 If 'gtk2' isn't available, see if 'gtk' is actually the 2.0 version.
643 Added save_set_permissions to Saveable interface, allowing the default
644 save_to_file to preserve file permissions.
645 Changes to XDSLoader: xds_load_from_stream(name, type, stream)
646 replaces the old xds_load_data(data).
647 Loading files from remote filers works now.
648 Added much improved exception reporting system.
650 19-Jul-2002 (Release 1.9.1)
651 ~~~~~~~~~~~
652 Added support for translations.
654 18-Jul-2002
655 ~~~~~~~~~~~
656 License change to the LGPL (allows commercial programs to use this library).
657 Added AbortSave exception.
659 14-Jul-2002
660 ~~~~~~~~~~~
661 Saveable.save_to_file() should raise an exception when saving fails, rather
662 than returning 0. The return value is now ignored (note that raising an
663 exception will still work with 1.9.0).
664 toplevel_unref() ignores any arguments, so it is easier to use as a signal
665 handler.
667 12-Jul-2002 (Release 1.9.0)
668 ~~~~~~~~~~~
669 First release for Gtk+-2.0.