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