Updated ChangeLogs one more time for 1.5.2
[geda-gaf/whiteaudio.git] / gschem / ChangeLog
blob058f7dd76d29d4cc2f35ee883691309491c9fecb
1 # Do not edit this file - generated from version control history
4 commit 7ac576ba0560998415b32151389d0ab3334de652
5 Author: Ales Hvezda <ahvezda@seul.org>
6 Date:   Sat Mar 28 15:48:02 2009 -0400
8     Added missing \ so that all example schematics are incluced in release tarballs
10 commit 546d4dbe0124d3f9421116b9e5a8889cccf97b84
11 Author: Ales Hvezda <ahvezda@seul.org>
12 Date:   Sat Mar 28 15:22:19 2009 -0400
14     Updated all ChangeLogs
15     
16     Updated the ChangeLogs by running:
17         ./update-changelogs.sh 1.0-20070526..master
18     in the toplevel directory
20 commit 21e8c0b232e08927fd091a1d46413990b4c61358
21 Author: Ales Hvezda <ahvezda@seul.org>
22 Date:   Sat Mar 28 15:18:34 2009 -0400
24     Updated all dates in the relavent man pages (for 1.5.2.20090328)
26 commit 859abe69912ba99ca27bb58c378284e9eec56259
27 Author: Ales Hvezda <ahvezda@seul.org>
28 Date:   Sat Mar 28 15:13:59 2009 -0400
30     Updated all versions to 1.5.2 20090328 36:0:0
31     
32     Updated by running:
33     ./update-versions.sh 1.5.2 20090328 36:0:0
35 commit b297d32b70c02bfe800b7bf4c434d1fd4447e2f5
36 Author: Ales Hvezda <ahvezda@seul.org>
37 Date:   Sat Mar 28 14:55:22 2009 -0400
39     Updated all po files by running make update-po
41 commit 03fa830460f97518b3fdba0dd96f5932c9885281
42 Author: Peter TB Brett <peter@peter-b.co.uk>
43 Date:   Thu Mar 19 10:15:19 2009 +0000
45     gschem: Fix documentation creation from tarballs.
46     
47     gschem's doxygen configuration file was not marked for inclusion in
48     release tarballs.
50 commit 77a59c3af731937f5952bbb61a6faccd97a07f38
51 Author: Peter Clifton <pcjc2@cam.ac.uk>
52 Date:   Fri Feb 20 23:32:41 2009 +0000
54     gschem: Update the clipboard menu item sensitivities asynchronously
55     
56     Spawning a sub-main loop to do this can cause reentrancy problems due
57     to processing of other X events from within the sub-main loop.
58     
59     This could end up with states changing whilst updating menus, and
60     this has been noted to cause crashes whilst moving objects.
62 commit c3081930ed224394f645de4bfb51e86fa3e15e65
63 Author: Peter Clifton <pcjc2@cam.ac.uk>
64 Date:   Fri Feb 20 23:26:12 2009 +0000
66     Remove obsolete references to libgd and libgdgeda
68 commit 357db04ba91ad4047abf12f5fd7bf61db849a718
69 Author: Peter Clifton <pcjc2@cam.ac.uk>
70 Date:   Thu Feb 5 03:54:18 2009 +0000
72     gschem: Avoid the use of gtk_selection_data_get_data on old GTK versions
73     
74     This API was added in GTK 2.14
76 commit 43af79264390283ac861cb4a9bab3d27c0436eda
77 Author: Peter Clifton <pcjc2@cam.ac.uk>
78 Date:   Fri Jan 30 16:52:05 2009 +0000
80     gschem: Fix cues on vertical pins to be drawn inwards, not extend the pin
81     
82     Bug was probably introduced when switching the drawing functions to
83     use world coordinates.
85 commit 20be2df71df169f041cafeb7ad0c26e96901fefe
86 Author: Peter Clifton <pcjc2@cam.ac.uk>
87 Date:   Wed Jan 28 21:20:48 2009 +0000
89     gschem: Draw paths being moved in the their non-selected colours
91 commit 904ce8cf81d555debc439ed122322663e74988bf
92 Author: Peter Clifton <pcjc2@cam.ac.uk>
93 Date:   Tue Jan 27 15:34:58 2009 +0000
95     gschem: Rework how clipboards are cleaned up.
96     
97     Detach selection monitoring callback when deletting a window. The
98     callback userdata passes the GSCHEM_TOPLEVEL we're busy freeing,
99     causing a crash.
100     
101     We also need to ensure the clipboard manager (if any) takes our data
102     before we free things, so explicitly call gtk_clipboard_store() during
103     cleanup if we still own the selection.
104     
105     Add some code to track when we own the selection, including explicitly
106     clearing the clipboard before setting new contents - to avoid a race
107     between a clip_clear callback for our old selection, and the new data.
109 commit a6522190a5102d3b7c7a10726e667ac9d6ea6c3f
110 Author: Peter Clifton <pcjc2@cam.ac.uk>
111 Date:   Tue Jan 27 15:34:58 2009 +0000
113     gschem: Don't add objects read from the cliboard to the tile system
114     
115     Prevents corruption / crashes when pasting connectable objects, such
116     as nets / pins. The objects are added to the tile system when they
117     are placed. (Avoid adding them when reading into the temporary buffer).
119 commit 6fcb0765a9bf487003d21214454d474606d807f8
120 Author: Peter TB Brett <peter@peter-b.co.uk>
121 Date:   Sun Jan 25 15:25:19 2009 +0000
123     Update menu item sensitivity setting again.
124     
125     One was left out in b1f93c9c02c3adf719b8b63e1d09669cfd0a201f.
127 commit b1f93c9c02c3adf719b8b63e1d09669cfd0a201f
128 Author: Peter TB Brett <peter@peter-b.co.uk>
129 Date:   Sat Jan 24 17:30:58 2009 +0000
131     gschem: Update menus for clipboard support.
132     
133     Make 'Edit' menu items' enabled status reflect the state of the
134     clipboard & selection.
136 commit 6a07d737a32a816f43e1f061409a10e616d7aa2a
137 Author: Peter TB Brett <peter@peter-b.co.uk>
138 Date:   Sat Jan 24 16:11:39 2009 +0000
140     Enable basic clipboard support.
141     
142     Enable clipboard support using the GTK Clipboard API.  gschem
143     advertises 'application/x-geda-schematic' data, and transfers it in
144     the gEDA on-disc file format.
145     
146     This works between gschem instances, but data does not remain in the
147     clipboard after the advertising instance of gschem exits.
149 commit 246acd46e591e542ac3f00f9064905ae0311b0ec
150 Author: Peter TB Brett <peter@peter-b.co.uk>
151 Date:   Sat Jan 24 16:08:43 2009 +0000
153     Make o_save(), o_read() and friends take an object list argument.
154     
155     Sometimes we may want to save or read in a list of objects which isn't
156     the current page. This adds a new function o_save_curr_page() which
157     behaves the same as o_save() previously did.
159 commit 17077786f635102715f3d6c225d6f16396e531f6
160 Author: Peter TB Brett <peter@peter-b.co.uk>
161 Date:   Sat Jan 24 16:07:48 2009 +0000
163     git ignore gschem/m4 differently.
164     
165     This reverts commit 89b918657378a457197630602d7bb016caf36a3e, and
166     ignores the gschem/m4 directory from gschem's toplevel .gitignore
167     file.
169 commit 89b918657378a457197630602d7bb016caf36a3e
170 Author: Peter TB Brett <peter@peter-b.co.uk>
171 Date:   Sat Jan 24 16:00:23 2009 +0000
173     Add a .gitignore for gschem/m4.
175 commit 81b2df2f166fde454c2f93d193e11cd69453d308
176 Author: Peter TB Brett <peter@peter-b.co.uk>
177 Date:   Sat Jan 24 00:12:52 2009 +0000
179     gschem: Remove redundant buffer cut code.
180     
181     Part of the buffer cut/copy code can be factored out into a separate
182     function to reduce code duplication. Also use g_warning for warnings.
184 commit 0ff9e9ac91823074f6240e1e762a1cca84b49d05
185 Author: Peter TB Brett <peter@peter-b.co.uk>
186 Date:   Thu Jan 22 08:09:29 2009 +0000
188     gschem: Always register load_newer_backup_func.
189     
190     Cases were missed out in 4d83eae30b789deb8ab9235a89c191630ebf18be.
192 commit 4d83eae30b789deb8ab9235a89c191630ebf18be
193 Author: Peter TB Brett <peter@peter-b.co.uk>
194 Date:   Wed Jan 21 21:17:01 2009 +0000
196     libgeda: Refactor load backup query callback.
197     
198     Passing user data allows the gschem callback to be called with a
199     GSCHEM_TOPLEVEL instead of a TOPLEVEL.
201 commit 253caac857e22ba28ba7ce05b36f95a5f78bd683
202 Author: Peter TB Brett <peter@peter-b.co.uk>
203 Date:   Wed Jan 21 21:16:43 2009 +0000
205     gschem: Better checks that GEDADATA has been found.
206     
207     If libgeda fails to locate the gEDA data directory, show a dialog
208     before quitting. This is important for users running gschem from
209     e.g. a .desktop file in their system menu, when the stderr/stdout may
210     not be easy to get at.
212 commit 3c0d85eae92d5764aa7dee2899c6a066c3470ee3
213 Author: Peter TB Brett <peter@peter-b.co.uk>
214 Date:   Wed Jan 21 14:11:39 2009 +0000
216     Write logs to $HOME/.gEDA/logs/.
217     
218     Rewrite s_log_init() to put log files in a centralised location. A
219     user application (e.g. gnetlist) provides a prefix, and log file is
220     opened at:
221     
222        $HOME/.gEDA/logs/<prefix>-<YYYYmmdd>-<serial>.log       [1]
223     
224     The serial is found by the following procedure:
225     
226     1. Read through the directory to find the highest existing <serial>.
227     
228     2. Starting with that number, repeatedly attempt to open()
229        incrementing files with O_CREAT|O_EXCL flags to guarantee that a
230        new file is created.
231     
232     3. If after LOG_OPEN_ATTEMPTS = 5 attempts a unique filename hasn't
233        been found, fail.
234     
235     The logic *intentionally* does not fill in gaps in the sequence -- if
236     I delete logs, I still want a new log to appear at the end of the
237     list.
238     
239     [1] The actual location is a subdirectory "logs" of the user config
240         directory, which may not be ~/.gEDA on all platforms.
242 commit 7cc4a67795c9ee8dcb28edc6d71b895c5b4f1dc9
243 Author: Peter TB Brett <peter@peter-b.co.uk>
244 Date:   Wed Jan 21 14:10:41 2009 +0000
246     Refactor finding paths for config etc.
247     
248     This is intended to provide a centralised place for determining the
249     paths more "smartly" in the future (e.g. for platforms with different
250     conventions on where config should go).
251     
252     Only user-visible change should be that log messages when loading
253     config files no longer hardcode "~/.gEDA".
255 commit 48103eca0ded6fd42a2e3abe48c0cdcdc381f902
256 Author: Peter TB Brett <peter@peter-b.co.uk>
257 Date:   Wed Jan 21 13:45:56 2009 +0000
259     gschem: Open recent files in the same window.
260     
261     All of the other methods of opening files open them in the current
262     window. The recent files mechanism should match.
264 commit f4af51afc5af2059cfb9389cea25589d6a1ba8eb
265 Author: Peter TB Brett <peter@peter-b.co.uk>
266 Date:   Wed Jan 21 09:39:22 2009 +0000
268     gschem: Recent files list fixes.
269     
270     1. List a maximum of 10 recent files.
271     
272     2. Normalize pathnames before storing.
274 commit 5a31a49d4d1635a1f3a8f82dc68fa8e78ebc0f44
275 Author: Peter TB Brett <peter@peter-b.co.uk>
276 Date:   Tue Jan 20 15:32:06 2009 +0000
278     gschem: Change load path for gschem-gtkrc.
279     
280     Expect the GTK rc file for gschem to be read from
281     $HOME/.gEDA/gschem-gtkrc instead of $HOME/.gschem-gtkrc.
283 commit fda82eb96e2c785efe91fd59d01f6e7e26b897ed
284 Author: Peter TB Brett <peter@peter-b.co.uk>
285 Date:   Sun Jan 18 01:48:58 2009 +0000
287     Protect some strings passed to pkgconfig.
288     
289     Ensure that pkgconfig version requirement strings are protected from
290     M4 expansion.
292 commit ee250c9bd2e88bf352a03d1719603b7d54fe430c
293 Author: Peter Clifton <pcjc2@cam.ac.uk>
294 Date:   Tue Jan 13 23:58:30 2009 +0000
296     Avoid underlinking of apps due to missing explicit depends
297     
298     These went unnoticed because the apps were resolving the necessary
299     symbols when pulling in libgeda and its dependencies.
300     
301     Fix applications using GLib and guile within the suite to explicitly
302     pull in the appropriate CFLAGS and LIBS. This commit removes some
303     LDFLAGS and LIBS from grenum, since they weren't being used.
305 commit c05d63f61ffc08bb130bca8f14e4c429240938d1
306 Author: Peter Clifton <pcjc2@cam.ac.uk>
307 Date:   Sun Jan 11 00:36:24 2009 +0000
309     gschem: Make requirement for cairo non-conditional.
310     
311     We can't build without it.
313 commit e452c5097edd72942ef02a82996dfab5651ceab3
314 Author: Peter Clifton <pcjc2@cam.ac.uk>
315 Date:   Sat Jan 10 23:50:57 2009 +0000
317     gschem: Fix rubberbanding box when resizing pictures
318     
319     Its position was broken when changing the drawing routines to take
320     world coordinates directly.
322 commit 02fa8f658d315796df7c6ab8790e5310e8548d37
323 Author: Peter Clifton <pcjc2@cam.ac.uk>
324 Date:   Sat Jan 10 22:29:21 2009 +0000
326     Remove explicit checks for X11 - we're not using X11 APIs directly
328 commit ef5ab409dc62994ce6aea57586c0698c11291bac
329 Author: Ales Hvezda <ahvezda@seul.org>
330 Date:   Tue Jan 6 18:16:31 2009 -0500
332     Darkened the outline colors of objects that are being dragged/modified
333     
334     The outline colors should be different than the default colors.
335     Previously the XOR rendering made the outlines look differently, but with
336     cairo rendering the dragged objects look exactly the same as non-dragged
337     objects.  This patch darkens the outline colors in the dark colormap only.
339 commit e84330457016f1bfb3db1cd6c8a6980a72a6e90c
340 Author: Werner Hoch <werner.ho@gmx.de>
341 Date:   Mon Jan 5 20:52:47 2009 +0100
343     gschem: final fix for the dropdown menus of filltype and linetype
344     
345     Set the current active check marks of the filltype and linetype
346     dropdown menu items.
347     
348     I guesss this was the true meaning of the bug reports [2344956]
349     and [2344964].
351 commit 2a73a64f42e7e3613d5265e5ec38593ea232d418
352 Author: Werner Hoch <werner.ho@gmx.de>
353 Date:   Mon Jan 5 19:44:47 2009 +0100
355     gschem: show correct properties in linetype dialog
356     
357     The linetype dialog uses the selection list now. With the new
358     functions selection_get_line_type() and line_type_dialog_set_values()
359     it will be possible to convert the dialog into a non_modal dialog.
360     
361     This fixes bug [#2344956].
363 commit 807f3d81883ce8075d41588f41e67ea19fd6bef3
364 Author: Peter Clifton <pcjc2@cam.ac.uk>
365 Date:   Mon Jan 5 16:57:38 2009 +0000
367     gschem: Calculate radius of centered arcs and boxes with 2x precision
368     
369     Since we may have to hint the radius by 0.5px to bring it onto the
370     pixel grid, we will get better results if we compute the radius to
371     half-pixel precision.
372     
373     Re-enable radius hinting for centered arcs back on, but only for arcs
374     which have radius > 1px to start with. If we don't, there is an abrupt
375     transition between when the arc lights a single pixel, and when it is
376     the next largest size. A little anti-aliasing in that case helps.
378 commit 8ca598852f51c04183ab872f35bcc156628bdf79
379 Author: Werner Hoch <werner.ho@gmx.de>
380 Date:   Mon Jan 5 17:20:47 2009 +0100
382     gschem: fill type dialog: improved default values
383     
384     If the user changes the fill type from HOLLOW to HATCHED and does not
385     define the angle and pitch, then the gschem could either reject
386     the change of the type, or guess the pitch values.
387     
388     I've decided that it is better to set the missing values.
389     
390     In the opposite case, when the user switches the type from HATCHED to
391     HOLLOW, the pitch is still set. Reset the not required parameters
392     to -1.
393     
394     Maybe the functionality should be moved to o_set_fill_type() in
395     libgeda.
397 commit 31e883e9666c7721c9a73995ff071cb628c241e6
398 Author: Werner Hoch <werner.ho@gmx.de>
399 Date:   Mon Jan 5 16:08:38 2009 +0100
401     gschem: show correct properties in filltype dialog
402     
403     The filltype dialog uses the selection list now. With the new
404     functions selection_get_fill_type() and fill_type_dialog_set_values()
405     it will be possible to convert the dialog into a non_modal dialog.
406     
407     In the dialog only those values are marked as *unchanged* that
408     differ from each other.
409     
410     This also fixes the bug [#2344964].
412 commit d48b0b36c5348abd52413de14afb6ab0958b260d
413 Author: Werner Hoch <werner.ho@gmx.de>
414 Date:   Mon Jan 5 11:31:56 2009 +0100
416     gschem: fixed the math for warp-cursor "disabled"
417     
418     This fixes the bug [2212748] and the feature request [2001299].
419     
420     The fix calculates a new center out of the mouse cursor,the
421     current visible area and the zoom factor.
422      # Please enter the commit message for your changes. Lines starting
424 commit d615982103652c0143eca430570bbfcfa0d206fe
425 Author: Peter Clifton <pcjc2@cam.ac.uk>
426 Date:   Mon Jan 5 05:01:13 2009 +0000
428     gschem: Clamp minimum size to draw stoke dots using cairo, apply hinting (Rest!)
429     
430     Activate the code partially committed in the last commit, and add the
431     remaining code to hint the position of dots in a stroke.
432     
433     Since cairo uses antialiased drawings, a dot of diameter 1px will actually
434     render ligher than it would have with GDK. Once the line width reaches 1px
435     switch back to drawing dots as squares.
436     
437     Also add hinting to the position of the drawn dots drawn along the stroke
438     to ensure they land centered on pixels.
440 commit 1626b1a02a6e55327ac7f2d00dd976aba57855d7
441 Author: Peter Clifton <pcjc2@cam.ac.uk>
442 Date:   Mon Jan 5 04:44:24 2009 +0000
444     gschem: Clamp minimum size to draw stoke dots using cairo, apply hinting
445     
446     Since cairo uses antialiased drawings, a dot of diameter 1px will actually
447     render ligher than it would have with GDK. Once the line width reaches 1px
448     switch back to drawing dots as squares.
449     
450     Also add hinting to the position of the drawn dots drawn along the stroke
451     to ensure they land centered on pixels.
453 commit 6079c8102f6ac41ce5bf2a61aef6d65e7bb9df4b
454 Author: Peter Clifton <pcjc2@cam.ac.uk>
455 Date:   Mon Jan 5 04:23:24 2009 +0000
457     gschem: Make gschem_cairo_* functions take parameters in world coordinates.
458     
459     This changes the prototype of all gschem_cairo_* functions to take a
460     GSCHEM_TOPLEVEL parameter rather than cairo_t as their first argument.
461     
462     This change cuts down a significant number of lines of code, and also
463     paves the way to having world-coordinates passed straight into the cairo
464     routines, should we want to use cairo for printing at some stage.
465     
466     A few cases of direct cairo usage in screen coordinates remain; these are
467     in o_cue.c, and x_grid.c. The case in o_cue.c remains because it relates
468     to a filled box. gschem_cairo_box () hints the path coordinates for a
469     stroked box and clamps the minimum on-screen stroke width to 1px, thus
470     rendering it unsuitable for hinting a path to be filled.
472 commit 4a217cd1109b03f6d5f75f9fca46513d7679ddb6
473 Author: Peter Clifton <pcjc2@cam.ac.uk>
474 Date:   Mon Jan 5 03:36:25 2009 +0000
476     gschem: Add new primitves to draw a centered arc and box
477     
478     These primitives take care of hinting specifically to keep the drawn
479     object looking centered, adjusting to take into account both the
480     radius / extents of the object being drawn, and how the object we're
481     trying to center on would have been hinted.
482     
483     Use these new primitives for drawing cues and grip boxes.
485 commit 39d552cd16af51eaae793f3837bb1f77fac0723f
486 Author: Peter Clifton <pcjc2@cam.ac.uk>
487 Date:   Mon Jan 5 03:36:24 2009 +0000
489     gschem: Use gschem_cairo_box() to create path for box cues.
491 commit a57db7244d9789c4b92cbec61072497c031016ad
492 Author: Peter Clifton <pcjc2@cam.ac.uk>
493 Date:   Mon Jan 5 00:59:13 2009 +0000
495     gschem_cairo_box(): Allow passing line_width as -1 to switch off hinting
496     
497     This may be useful for drawing a box path which is to be filled. If at
498     some point, gschem_cairo_* were to take 0 line-width as instruction to
499     draw "hardware" type lines, passing 0 to avoid hinting would clash with
500     that feature.
501     
502     When the line_width is passed as -1, an extra pixel is added to the
503     larger X and Y coordinates, so the fill touches the pixel which would
504     be lit if a line was drawn at the passed coordinates.
506 commit 1bd789ec463564710ab71c4bd7b7d01311237919
507 Author: Peter Clifton <pcjc2@cam.ac.uk>
508 Date:   Sun Jan 4 22:51:04 2009 +0000
510     gschem: Make o_grips_draw() take world coordinates
512 commit 21ad139e3bc59d796a2a54f1cb35b71060848687
513 Author: Peter Clifton <pcjc2@cam.ac.uk>
514 Date:   Sun Jan 4 21:16:08 2009 +0000
516     gschem: Compute the bounding box of a rubberbanded path analytically
517     
518     For now, actualy just take a big bounding box which includes the
519     control points.
521 commit d9daf573f87edf46f2b74235db1e66bf669a2986
522 Author: Peter Clifton <pcjc2@cam.ac.uk>
523 Date:   Sun Jan 4 20:06:36 2009 +0000
525     gschem: Refactor partially duplicated drawing code in various files.
526     
527     For each object type, there is drawing code for the normal object
528     on the page, an object being placed, and objects being rubberbanded.
529     
530     In many cases (arc, circle and path being good examples), each of these
531     functions repeat non-trivial amounts of very similar setup and drawing
532     code. Only the line-width, stroke style need to be specific to each.
533     
534     Refactor the code such that the place and rubberbanding routines (which
535     adjust the rendered geometry based on state variables) construct a
536     temporary object with the modified geometry. Common parts of the cairo
537     setup and path generation can be combined and shared between routines.
539 commit 95432ccffdbb39434981f87050433c00f40125da
540 Author: Peter Clifton <pcjc2@cam.ac.uk>
541 Date:   Sun Jan 4 19:38:11 2009 +0000
543     gschem: Revert change in cue size "fixed" when introducing bus pins.
544     
545     The old behaviour was intentional.. smaller cues were in fact supposed
546     to be used for buses, so that the dot was contained inside the bus
547     graphic.
548     
549     Rename the variables defining the sizes to be clear about their purpose.
551 commit 5702951f92bb0c693f030c07ef61f0c5986fb5dd
552 Author: Peter Clifton <pcjc2@cam.ac.uk>
553 Date:   Sun Jan 4 19:03:06 2009 +0000
555     gschem: Adjust position hinting when drawing round junction cues
556     
557     Apply hinting to the cue's position to match the position of the object
558     it is sitting on. This is done by passing the on-screen width (pixels)
559     of a net / bus into gschem_cairo_arc(). If the line-width is odd, that
560     function will shift the origin of the arc by 0.5px. Refactor the places
561     where we draw circular arcs to use a single helper function in o_cue.c
563 commit a50629e77c16758e44d857a929abe98437ab4583
564 Author: Peter Clifton <pcjc2@cam.ac.uk>
565 Date:   Sun Jan 4 18:56:51 2009 +0000
567     gschem: Drawing circle radius line with a non translated cairo matrix.
568     
569     Hinting for drawing the circle may have caused us to translate a non-
570     integer amount, which would cause the radius line to be shown blurred.
572 commit 7a6b1a22fec9785f503c46d24406046feb04d87f
573 Author: Peter Clifton <pcjc2@cam.ac.uk>
574 Date:   Sun Jan 4 18:43:26 2009 +0000
576     gschem: Fix rubberbanding of arcs with negative end_angles
577     
578     Such arcs are typically generated by mirroring. If the arc being
579     rubberbanded previously had a negative sweep, keep that the case
580     in the rubberbanded version.
581     
582     Also fixes a bug where we're rubberband to give a zero degree sweep
583     arc rather than a 360 degree one.
585 commit d6c486a1fac1abce71b8805285fef664e252af98
586 Author: Peter Clifton <pcjc2@cam.ac.uk>
587 Date:   Sun Jan 4 17:48:18 2009 +0000
589     gschem: Alter order of grip search when rubberbanding arcs
590     
591     If you inadvertently land the grip which adjusts the sweep
592     of the arc on top of the one which sets its offset angle, it is
593     impossible to do anything but rotate the whole arc segment.
595 commit 30b150c00aa04b05dd6e85cd5f336f379b4def1b
596 Author: Peter Clifton <pcjc2@cam.ac.uk>
597 Date:   Sat Jan 3 23:54:05 2009 +0000
599     gschem: Fix redrawing of other selected objects during rubberbanding
600     
601     Rather than switching off redrawing of selected objects during a grip
602     rubberbanding operation, set the "dont_redraw" property of the object
603     being modied.
604     
605     Add a cancel function o_grips_cancel() to reset that property in the
606     case where grip modification is prematurely terminated.
608 commit 2874ca6c016115363ab9edb7809d5ca66509ca14
609 Author: Peter Clifton <pcjc2@cam.ac.uk>
610 Date:   Sat Jan 3 19:54:04 2009 +0000
612     Move world <-> screen coordinate transformation functions into gschem
613     
614     Convert them and their callers to use a GSCHEM_TOPLEVEL as an arguemnt
615     rather than TOPLEVEL.
616     
617     This commit moves most of libgeda/src/m_basic.c to a new file,
618     gschem/src/m_basic.c
620 commit 4d79aa73981d6caa2c803250d1be266d7657f0c2
621 Author: Peter Clifton <pcjc2@cam.ac.uk>
622 Date:   Sat Jan 3 19:54:03 2009 +0000
624     Move o_line_visible() from libgeda into gschem
625     
626     This function relates to on-screen visibility, so should be in gschem.
628 commit e3cbd2a5505f6b284cbe12fdcf72acde6f6ef291
629 Author: Peter Clifton <pcjc2@cam.ac.uk>
630 Date:   Sat Jan 3 16:10:24 2009 +0000
632     gschem: Add undo point after converting pins to / from being bus pins
633     
634     Also fix the edit dialog not to show if the selection doesn't contain
635     any pins.
637 commit f37c893edfeb016e57aae5e92f48093608e5cdfb
638 Author: Peter Clifton <pcjc2@cam.ac.uk>
639 Date:   Sat Jan 3 02:38:29 2009 +0000
641     gschem: Add interface to toggle a pin between net pin and bus pin types.
642     
643     This allows schematic diagrams of hierarchical connections to include
644     buses. Since gnetlist does not currently support buses, this feature is
645     useful only for diagrams, or when used with a custom netlister.
646     
647     Since we don't want to mislead users into thinking bus pins netlist,
648     the option to set pin type is only present on the page's popup menu,
649     and is marked "(graphical)".
651 commit 998e8546754fe2ab41a57ce112c3966190c501df
652 Author: Peter Clifton <pcjc2@cam.ac.uk>
653 Date:   Fri Jan 2 23:14:52 2009 +0000
655     gschem: Add support for rendering and adding pins with type PIN_TYPE_BUS
656     
657     Bus pins are rendered thicker, and with a bigger cue than standard pins
658     of PIN_TYPE_NET.
659     
660     This commit also fixes a bug where the wrong sized cue circle was drawn
661     for net-net interconnections.
663 commit 6249029131003dc6191f804ea2866e9bad28ed8c
664 Author: Peter Clifton <pcjc2@cam.ac.uk>
665 Date:   Fri Jan 2 23:13:25 2009 +0000
667     gschem: Add strings to describe the mesh colour indices added recently.
669 commit ac5d484934d355055328d48b2c16b8ed551ca912
670 Author: Werner Hoch <werner.ho@gmx.de>
671 Date:   Fri Jan 2 22:14:14 2009 +0100
673     gschem: deploy the new resnap mode in o_move.c
674     
675     If the selection contains only one element or one element with it's
676     attributes then we can use the resnap feature.
677     
678     This functionality uses the new functions from the last commits to get
679     the object position and to check the attribute/object relation.
681 commit 5844e01ce1eff3d756d3c77c7a6981316a098cd1
682 Author: Werner Hoch <werner.ho@gmx.de>
683 Date:   Sun Nov 16 13:54:28 2008 +0100
685     gschem: use the new snap states to toggle
686     
687     The previous snap grid ON/OFF now toggles through the three states
688     SNAP_OFF, SNAP_GRID and SNAP_RESNAP.
689     
690     Updated all status bar messages and added an "R" to the displayed grid
691     if the SNAP_RESNAP mode is active.
693 commit 8a1b27af48d06ffe4fa2dc71a67810f7b4a71e32
694 Author: Peter Clifton <pcjc2@cam.ac.uk>
695 Date:   Fri Jan 2 14:17:31 2009 +0000
697     Update en_GB translations for libgeda and gschem
699 commit 3c456a61a4a4a551545558fd3189894bfc081e1c
700 Author: Bert Timmerman <bert.timmerman@xs4all.nl>
701 Date:   Fri Jan 2 14:13:30 2009 +0000
703     Updated the Dutch translations for gschem.
704     
705     (Patched PO file updated on 2009-01-02 by Peter Clifton)
707 commit fef99d7912ebc1feb4890e5babff1772f6b20703
708 Author: Peter Clifton <pcjc2@cam.ac.uk>
709 Date:   Fri Jan 2 04:35:49 2009 +0000
711     gschem: Draw using cairo when rubberbanding objects
712     
713     Migrates to cairo drawing in *_draw_rubber() and *_draw_stretch().
715 commit 9784a9117e42632527601faef9a3ed937b718208
716 Author: Peter Clifton <pcjc2@cam.ac.uk>
717 Date:   Fri Jan 2 03:51:22 2009 +0000
719     gschem: Ensure circles are well hinted to the grid
720     
721     gschem's canvas can have a fractionally different X and Y scale factor
722     in some cases, which can cause misalignment of circles with other
723     objects. Since logic bubbles are often placed to touch the boxes of
724     components, ensuring they align well is important.
725     
726     The code used here is similar to that added for arcs in
727     commit 508ab0fd9a1e4317ee660bc9eba79fcb49329841
729 commit 88c2a580ef65de000a3e797301fd8b4f302fc2ff
730 Author: Peter Clifton <pcjc2@cam.ac.uk>
731 Date:   Fri Jan 2 03:29:28 2009 +0000
733     gschem: Remove a redundant comment about gdk used for filling in o_circle.c
735 commit 7e3eacb3fb9f96b1adf707b459f0d62dd2d5d276
736 Author: Ales Hvezda <ahvezda@seul.org>
737 Date:   Thu Jan 1 21:45:39 2009 -0500
739     Fixed pin place code to draw pins (thick pins were not being drawn at all)
740     
741     Trying to draw a pin (white line) with zero width doesn't draw anything.
742     This commit makes sure that we are always drawing pins with a min width
743     of 1 if the pin style is set to THICK.
745 commit 6737adc47d1a2083ac432582b6b64d6aaf1b9632
746 Author: Peter Clifton <pcjc2@cam.ac.uk>
747 Date:   Fri Jan 2 00:30:06 2009 +0000
749     gschem: Only add extra pixel when drawing for non-capped lines.
750     
751     Adding it for square capped lines resulted in visible overshoot of one
752     pixel when drawing nets with square caps, so was perhaps a mistake.
754 commit 212b0cf870e05a105fc5a6c134b7803cf6c63c28
755 Author: Peter Clifton <pcjc2@cam.ac.uk>
756 Date:   Thu Jan 1 16:38:09 2009 +0000
758     gschem: Use cairo for drawing when in "place" mode.
759     
760     Converts all *_draw_place() functions to using cairo.
762 commit 8ad9acc2c5ceda2b1e5f4e52461dd0f078f8122c
763 Author: Peter Clifton <pcjc2@cam.ac.uk>
764 Date:   Thu Jan 1 16:36:31 2009 +0000
766     gschem: Remove old comment from o_box.c refering to gdk drawing
768 commit 4c67ed93d72228e475513caaa1c5d7d593469316
769 Author: Peter Clifton <pcjc2@cam.ac.uk>
770 Date:   Thu Jan 1 16:27:40 2009 +0000
772     gschem: Remove old code for erasing a picture by drawing with override
773     
774     We don't erase objects by painting to the background colour any more, so
775     this old code can be scrapped.
776     
777     Whilst we're here (and have re-intented a large portion of this function),
778     tidy up the rest of it, removing old debugging code and fixing whitespace.
780 commit 8eaa961a02b01133f6e96defcb9e13af60209ae9
781 Author: Peter Clifton <pcjc2@cam.ac.uk>
782 Date:   Thu Jan 1 15:12:24 2009 +0000
784     gschem: Add missing invalidate when changing to outline mode
786 commit 0af3c1c6285de7431075131015234e6bda42f02d
787 Author: Peter Clifton <pcjc2@cam.ac.uk>
788 Date:   Thu Jan 1 14:51:40 2009 +0000
790     gschem: Group fill hatching into a single cairo path before stroking
791     
792     This ought to improve performance. Since the hatch lines are drawn
793     in parallel, the path doesn't self-intersect, and we can gain a speed
794     increase by sending the whole operation in one go. (Self-intersection,
795     e.g. in the case of a grid would slow cairo down computing the mask
796     to render with).
798 commit dba5ef64f4425d61bf43eef5ae69d863b740edbf
799 Author: Peter Clifton <pcjc2@cam.ac.uk>
800 Date:   Thu Jan 1 14:07:22 2009 +0000
802     gschem: Adjust hinting of lines to include an extra overlapping pixel
803     
804     When drawing using GDK, a span of pixels being rendered in a line would
805     light all pixels touched by the span.
806     
807     Since moving to cairo, our hinting code has rounded the line's end-points
808     to land between pixels. (So cairo paints the whole pixel), however it
809     means that there is one pixel less being painted (as both ends are
810     adjusted in the same direction).
811     
812     Fix this with a manual addition of 1px as appropriate to the coordinates
813     such that an extra pixel is hit for horizontal and vertical lines.
814     
815     This now means that a line drawn between two grid positions will acually
816     be drawn on top of both of those grid lines, rather than being drawn on
817     top of one, and just touching the other.
818     
819     Apply the offset factor (0 or 0.5px) to both X and Y coordinate pairs for
820     non horizontal / vertical lines, since that gives better alignment with
821     the grid.
822     
823     Apply the same hinting to round capped lines as to square capped.
825 commit 508ab0fd9a1e4317ee660bc9eba79fcb49329841
826 Author: Peter Clifton <pcjc2@cam.ac.uk>
827 Date:   Thu Jan 1 13:56:25 2009 +0000
829     gschem: Attempt better hinted alignment when drawing arcs.
830     
831     gschem's canvas can have a fractionally different X and Y scale factor
832     in some cases, which can cause misalignment of arcs drawn assuming the
833     scale factors are uniform. This manifests because at high zoom levels,
834     the center of an arc can be a large distance from the drawn stroke,
835     over which distance the scaling errors magnify to give a visible offset.
836     
837     The other adjustment made here is rather than hinting the center of the
838     arc to the pixel grid, we take the case where the arc forms a full circle,
839     then find the center (in floating point screen coordinates) which would
840     align the tangent of the arc at 0, 90, 180 and 270 degree positions, to
841     lines hinted to the pixel grid at those positions.
842     
843     A 0.5px offset correction made in gschem_cairo_arc() to the arc center,
844     for odd stroke width accounts for lining up the those tangents with
845     the hinting which is applied to odd width lines in gschem_cairo_line().
847 commit ec83993b811eefd66d873f4c0f861f9cc6d9aebb
848 Author: Peter Clifton <pcjc2@cam.ac.uk>
849 Date:   Thu Jan 1 13:51:03 2009 +0000
851     gschem: Remove retrival of unused bounds during drawing
853 commit ac4c8346638aa2e789d93ca4d621a8522681b57e
854 Author: Peter Clifton <pcjc2@cam.ac.uk>
855 Date:   Thu Jan 1 12:23:55 2009 +0000
857     gschem: Add example schematic with diagram of how gschem buffers work
858     
859     Since I already drew this and it was helpful when reworking the
860     object place code, it seemed sensible to check it in somewhere.
862 commit e375e0c2c655d2320962febfdfcbb29b9867f2d2
863 Author: Peter Clifton <pcjc2@cam.ac.uk>
864 Date:   Wed Dec 31 19:53:38 2008 +0000
866     gschem: Add cairo helper function for drawing arcs with geda semantics
867     
868     The angle parameters to gschem_cairo_arc() match those of start_angle
869     and end_angle in libgeda's internal data-structures.
871 commit 217d45c0cfb9e8a5a7ea074ae70369ea42932453
872 Author: Peter Clifton <pcjc2@cam.ac.uk>
873 Date:   Wed Dec 31 19:52:11 2008 +0000
875     gschem: Remove unused function o_path_draw_solid()
877 commit d7b7b23721b4054172587c9961d4b87f47bee198
878 Author: Peter Clifton <pcjc2@cam.ac.uk>
879 Date:   Wed Dec 31 17:26:03 2008 +0000
881     libgeda: Remove non-private access of PAGE->object_list
882     
883     This allows us to keep better track of where the PAGE must be updated
884     should we have any spatially keyed data-structures in the future.
885     
886     Rename PAGE->object_list PAGE->_object_list to try and discorage any
887     use of it outside libgeda (ideally, outside s_page.c) in the future.
889 commit ca6556ace0a06ec1dd697852f7a1f0ffb86bfb97
890 Author: Peter Clifton <pcjc2@cam.ac.uk>
891 Date:   Wed Dec 31 17:25:57 2008 +0000
893     Add "const" to some places where we deal with GLists of OBJECTs.
894     
895     These GLists themselves are not (and shouldn't be) modified, although
896     the OBJECTs they point at may well be.
898 commit 15ed098497ddac2bc671657c4d4347eb509f7449
899 Author: Peter Clifton <pcjc2@cam.ac.uk>
900 Date:   Wed Dec 31 17:25:50 2008 +0000
902     Refactor o_complex_promote_attribs() not to link the promoted objects.
903     
904     By returning the GList of promoted attributes, we allow the caller to
905     use whatever specialised linking procedures are appropriate for the
906     list they are linking to. For example, linking objects into the PAGE's
907     object_list might in future require calling notification functions.
909 commit 44fba5a262c283f927f08f51966c74d62dca7988
910 Author: Peter Clifton <pcjc2@cam.ac.uk>
911 Date:   Wed Dec 31 17:24:30 2008 +0000
913     gschem: Mark "Preview buffer" string passed to o_read_buffer as translatable.
915 commit b6377b27c45305b641eac03e697353e9ecfdcd23
916 Author: Peter Clifton <pcjc2@cam.ac.uk>
917 Date:   Wed Dec 31 17:16:29 2008 +0000
919     gschem: Emit notify signal when adjusting a property in the preview widget.
920     
921     For correctness, kill the latent bug where we fail to emit a "notify"
922     signal on the other preview widget properties modified whilst setting
923     the source to preview from.
925 commit de01318825c08f8d62c2266b16f7e826c7d3a196
926 Author: Peter Clifton <pcjc2@cam.ac.uk>
927 Date:   Wed Dec 31 17:16:25 2008 +0000
929     gschem: Ensure we don't allow the preview to load from file _and_ a buffer
930     
931     When setting either the "filename", or "buffer" property on the preview
932     window, we g_free() the old values for filename and buffer. We missed the
933     required assignment of the old value back to NULL.
934     
935     The code isn't strictly correct though, as when changing a property
936     internally like this, we should really emit a "notify" signal on the
937     property we've changed using g_object_notify().
939 commit 2324874f08009f431d174865d305f04736adc4eb
940 Author: Peter Clifton <pcjc2@cam.ac.uk>
941 Date:   Mon Dec 29 00:09:37 2008 +0000
943     gschem: Change _rubber, _place and _stretch drawing routines to not XOR
944     
945     Since we're using the invalidate/expose model now, there is no
946     need that these functions must use XOR drawing to the screen.
947     
948     Just painting the desired image should be faster than XOR (which may
949     require a read-back of video ram contents).
950     
951     Also remove the XOR against the background colour when processing
952     "outline" colours in x_colour_allocate(). (Since we're no longer
953     using those colours with XOR operations).
955 commit a29573b885273459bbf24ff68ae508d345f1037f
956 Author: Peter Clifton <pcjc2@cam.ac.uk>
957 Date:   Sat Dec 27 15:32:16 2008 +0000
959     gschem: Change direct redraws to invalidates in the move action.
960     
961     These were missed when changing to the invalidate / expose model.
963 commit d89549022d3ff8fc3e3605fb20186cc4600eef87
964 Author: Peter Clifton <pcjc2@cam.ac.uk>
965 Date:   Sat Dec 27 15:44:18 2008 +0000
967     gschem: Remove unused device context "bus_gc"
969 commit 935ca0a8a6329c018d85c8b91f6a0d8deadeafba
970 Author: Peter Clifton <pcjc2@cam.ac.uk>
971 Date:   Sat Dec 27 15:43:38 2008 +0000
973     gschem: Move code in o_move_stretch_rubberband() into o_move_draw_rubber()
974     
975     o_move_draw_rubber() was the only caller, and was deferring almost all of
976     its work to o_move_stretch_rubberband().
978 commit 957c90a8ff286e6eba4f960cbbcf8ac05d24faf3
979 Author: Peter Clifton <pcjc2@cam.ac.uk>
980 Date:   Sat Dec 27 14:52:49 2008 +0000
982     gschem: Rename o_path_xor_control_lines() to draw_control_lines()
983     
984     Since we're using the invalidate/expose model now, there is no
985     need that these functions must use XOR drawing to the screen.
986     
987     The function is static, so doesn't need the o_path_ prefix, so
988     rename it to something simpler.
990 commit e167a181f295b33ffd4771f93b779023eeae948b
991 Author: Peter Clifton <pcjc2@cam.ac.uk>
992 Date:   Sat Dec 27 14:26:14 2008 +0000
994     gschem: Rename o_*_draw_xor_single() o_*_draw_stretch()
995     
996     Since we're using the invalidate/expose model now, there is no
997     need that these functions must use XOR drawing to the screen.
998     
999     These routines are used to draw lines being stretched during a
1000     rubberbanded move operation, so name them something relevant.
1002 commit d061b8dd35db031e43f179e700d991f63c6d2eac
1003 Author: Peter Clifton <pcjc2@cam.ac.uk>
1004 Date:   Sat Dec 27 14:26:14 2008 +0000
1006     gschem: Rename o_*_draw_xor() functions to o_*_draw_place()
1007     
1008     Since we're using the invalidate/expose model now, there is no
1009     need that these functions must use XOR drawing to the screen.
1010     
1011     These routines are just used to draw objects being moved or placed,
1012     so lets call them something relevant to that.
1014 commit 0840e3d74e6289083516190e973a1c05228c6145
1015 Author: Peter Clifton <pcjc2@cam.ac.uk>
1016 Date:   Sat Dec 27 14:26:13 2008 +0000
1018     gschem: Rename *_rubber*_xor() functions to *_draw_rubber()
1019     
1020     Since we're using the invalidate/expose model now, there is no
1021     need that these functions must use XOR drawing to the screen.
1023 commit 21cc888f59fb005d7c6b7f88fde7dec187fd5db8
1024 Author: Peter Clifton <pcjc2@cam.ac.uk>
1025 Date:   Sat Dec 27 11:46:53 2008 +0000
1027     gschem: Ok, make the mesh grid darker again
1028     
1029     Apparently on some monitors, there wasn't enough contrast between the
1030     grid lines and the background.
1032 commit 8c07fecee9fb59fc65f24b75f03b3765f032fec6
1033 Author: Peter Clifton <pcjc2@cam.ac.uk>
1034 Date:   Sat Dec 27 11:40:13 2008 +0000
1036     gschem: Improve clarity of text rendering by turning its origin mark off
1037     
1038     The origin mark is now only drawn when text is selected, and the mark its
1039     self is greater than a certain size on screen. This allows us to retain
1040     the mark's utility in checking text is correctly aligned.
1042 commit 6b4ffb9c7c7b635c52e018347866287a85a6ace0
1043 Author: Peter Clifton <pcjc2@cam.ac.uk>
1044 Date:   Sat Dec 27 11:40:13 2008 +0000
1046     gschem: Use a lighter colour for major grid lines in the mesh grid.
1047     
1048     This makes the major squares less obtrusive on the page, whilst
1049     still retaining a visible distinction to the minor lines.
1051 commit a887176190cf5a0bea019b5cdc150611edb7a603
1052 Author: Peter Clifton <pcjc2@cam.ac.uk>
1053 Date:   Fri Dec 26 21:54:08 2008 +0000
1055     gschem: Add actions to view menu to switch to light or dark colour scheme
1056     
1057     For now, these menu entries are hard-coded to the colour scheme files
1058     which we ship. It would be nice in the future (when menus are reworked),
1059     to add these options from a registered list of colour schemes.
1061 commit 5031f6846f2ae9ec703bcdcd689ab4e0d87373c8
1062 Author: Peter Clifton <pcjc2@cam.ac.uk>
1063 Date:   Fri Dec 26 21:53:45 2008 +0000
1065     gschem: Fix x_color_free() and make it free the whole colour map
1066     
1067     The previous code would have caused breakage if it were executed,
1068     since gdk_colormap_free_colors expects to take a pointer to an
1069     array of GdkColor elements.
1071 commit 94f3f4f753e255538d1376ab9a9b334d53f0be60
1072 Author: Peter Clifton <pcjc2@cam.ac.uk>
1073 Date:   Fri Dec 26 21:53:45 2008 +0000
1075     gschem: Move handling of the gdk colour map into x_color.c
1077 commit 714580df3fee12732d5e1180722f008a47aaf973
1078 Author: Peter Clifton <pcjc2@cam.ac.uk>
1079 Date:   Fri Dec 26 21:53:42 2008 +0000
1081     gschem: Don't define key-bindings for keys which have no-action
1082     
1083     If we do this, then when we set "no-action" to a menu item's key binding,
1084     the code will try to display one of the keys associated with "no-action"
1085     as a binding for that menu item.
1087 commit 826676196547f44c7923e4103a0789c1e1be63ca
1088 Author: Peter Clifton <pcjc2@cam.ac.uk>
1089 Date:   Fri Dec 26 21:42:55 2008 +0000
1091     gschem: Remove a few unused variables from x_menus.c
1092     
1093     Removed some an debugging printf as well, which printed them.
1095 commit c43c40260ec072e2ad31a3b42b9d5437bea2a529
1096 Author: Peter Clifton <pcjc2@cam.ac.uk>
1097 Date:   Fri Dec 26 19:24:01 2008 +0000
1099     gschem: Use cairo rendering for the mesh grid
1100     
1101     Since we're grouping the stroking of all horizonal lines into a
1102     single command, and all vertical lines into another, this has the
1103     potential to be drawn quicker by the X11 server.
1104     
1105     NB: If the horizontal and vertical lines were to be grouped
1106         together into a single path, a large slowdown in incurred
1107         as cairo computes their intersections.
1109 commit d7b18c4466a1183842d8dfeae47119cb71caa8d7
1110 Author: Peter Clifton <pcjc2@cam.ac.uk>
1111 Date:   Fri Dec 26 18:19:29 2008 +0000
1113     gschem: Remove stupid debugging message accidentally added in last commit
1115 commit 331e1125d0847a3b9ff8bff6042fccce6befddd0
1116 Author: Peter Clifton <pcjc2@cam.ac.uk>
1117 Date:   Fri Dec 26 18:17:24 2008 +0000
1119     gschem: Fix gschem_cairo_set_source_color to divide by 255, not 256.
1120     
1121     This not only gives a more correct colour, but fixes a large performance
1122     bottle-neck where an alpha value of 0xFF would lead to a cairo alpha !=
1123     1.0, triggering far slower translucent rendering code-paths.
1125 commit b6e8608d5642912ce10bf29119e5c86eb91634f7
1126 Author: Peter Clifton <pcjc2@cam.ac.uk>
1127 Date:   Fri Dec 26 00:36:49 2008 +0000
1129     gschem: Add status bar info updates when altering grid / snap settings
1130     
1131     Changes mistakenly missed from index at last commit:
1132     
1133     commit 52df0d861e880e019c7aeea71f1ed448bbed47db
1134     Author: Peter Clifton <pcjc2@cam.ac.uk>
1135     Date:   Fri Dec 26 00:18:13 2008 +0000
1136     
1137         gschem: Move update of status bar information out of the grid drawing code.
1138     
1139         For now, and in the absence of any better place to hook, just trigger this
1140         update explicitly when we pan or alter the grid settings.
1141     
1142     The code removing the status bar update from the grid redraw functions
1143     was staged and committed, but not that which re-added the updates
1144     elsewhere. This commit adds those updates.
1146 commit 52df0d861e880e019c7aeea71f1ed448bbed47db
1147 Author: Peter Clifton <pcjc2@cam.ac.uk>
1148 Date:   Fri Dec 26 00:18:13 2008 +0000
1150     gschem: Move update of status bar information out of the grid drawing code.
1151     
1152     For now, and in the absence of any better place to hook, just trigger this
1153     update explicitly when we pan or alter the grid settings.
1155 commit 756dd7ecceed8dc23430a5c36462c36c4244fa46
1156 Author: Peter Clifton <pcjc2@cam.ac.uk>
1157 Date:   Thu Dec 25 23:57:57 2008 +0000
1159     gschem: New helper function to query rendered grid spacing.
1160     
1161     The status bar contains an label which lists the current rendered grid
1162     spacing. We should not be forcing an update of this each time we repaint
1163     a portion of the grid. Introduce a helper function to ask the grid code
1164     what size it would end up drawing. This will then allow us to query the
1165     rendered grid size after zoom / grid settings changes, and update there.
1167 commit 60460d8990af99999da2a611721bdb591a4723f4
1168 Author: Peter Clifton <pcjc2@cam.ac.uk>
1169 Date:   Thu Dec 25 23:39:35 2008 +0000
1171     gschem: Change default grid to GRID_MESH to give it more exposure.
1172     
1173     This may be reverted later in the 1.5.x development series, depending on
1174     user preferences. For now, it is important to get this more testing.
1176 commit 2dc8887523ffe603c76849a8ca3cdee055d200ce
1177 Author: Peter Clifton <pcjc2@cam.ac.uk>
1178 Date:   Thu Dec 25 23:39:26 2008 +0000
1180     gschem: Change grid on/off to cycle through grid modes
1182 commit f013cb1d70d868093ad9aa3ae1e38a5c9079ecc9
1183 Author: Peter Clifton <pcjc2@cam.ac.uk>
1184 Date:   Thu Dec 25 22:08:49 2008 +0000
1186     gschem: Add a code to draw a mesh grid with major / minor lines.
1187     
1188     Adds new configuration option (mesh-grid-display-threshold {pixels}) which
1189     configures the minimum line pitch rendered before switching off the minor,
1190     then subsequently major grid lines.
1191     
1192     (NB: This grid mode is currently not accessible.)
1194 commit 059f1be046494e1d1171953138f259b0af90409b
1195 Author: Peter Clifton <pcjc2@cam.ac.uk>
1196 Date:   Thu Dec 25 21:25:16 2008 +0000
1198     gschem: Separate out dotted grid drawing and tidy up the code somewhat.
1199     
1200     Creates a separate static function for drawing the dotted style of grid,
1201     and a switch function to pick which grid drawing routine is in use, which
1202     is currently just dotted grids or nothing.
1203     
1204     Adds doxygen documentation for the grid drawing functions.
1205     
1206     Renames the "grid-color" colour map index and other dotted grid specific
1207     config parameters to prepend "dots-".
1209 commit e7d328775323dea2d82f9c22d431bf2740a90f97
1210 Author: Peter Clifton <pcjc2@cam.ac.uk>
1211 Date:   Thu Dec 25 20:37:37 2008 +0000
1213     Remove i_vars.h variables left over when removing colour index variables.
1215 commit 165de888d86506583241dab79573e81f2cf44dd7
1216 Author: Peter Clifton <pcjc2@cam.ac.uk>
1217 Date:   Thu Dec 25 15:46:09 2008 +0000
1219     Remove GSCHEM_TOPLEVEL and TOPLEVEL indirection for fixed colour indices
1220     
1221     Colour indices such as grid_colour and select_color are not changed at
1222     run-time since (by definition) those graphic elements are always drawn
1223     with the sepcified index. Remove the indirection through GSCHEM_TOPLEVEL
1224     or TOPLEVEL, and use the appropriate index constant instead.
1225     
1226     The background_color indirection remains, since swapping this is used
1227     to override the background to white when exporting black and white image.
1229 commit 1843d875be92a4935c3581a1f24e7a33f8f76042
1230 Author: Peter Clifton <pcjc2@cam.ac.uk>
1231 Date:   Thu Dec 25 15:36:58 2008 +0000
1233     gschem: Invalidate region to erase damage due to stroke trails
1234     
1235     We don't erase things by painting to the background colour any more,
1236     that leaves drawing artifacts.
1238 commit 88118f5d62e1655d30c4680ac0f68a89fbc1a213
1239 Author: Peter Clifton <pcjc2@cam.ac.uk>
1240 Date:   Wed Dec 24 20:21:03 2008 +0000
1242     gschem: Use new COLOR system
1244 commit c122c32cdd82419159786720b9c2cdd82b382a68
1245 Author: Peter Clifton <pcjc2@cam.ac.uk>
1246 Date:   Wed Dec 24 13:21:07 2008 +0000
1248     Replace portions of the GDK drawing code with cairo routines.
1250 commit 95abdb28b1ededc4a57f13627bea544c8a7fe41b
1251 Author: Peter Clifton <pcjc2@cam.ac.uk>
1252 Date:   Wed Dec 24 13:21:00 2008 +0000
1254     Add a cairo context member, cairo_t *cr to GSCHEM_TOPLEVEL
1256 commit 95a097e95de6291ccf901f6849c7246e8e04090a
1257 Author: Peter Clifton <pcjc2@cam.ac.uk>
1258 Date:   Wed Dec 24 00:42:40 2008 +0000
1260     gschem: Fix the colour editing dialog to work with paths
1261     
1262     (Added missing case OBJ_PATH:)
1264 commit 0029ee5696a4f8c0fd2a0edb64c0096792e24912
1265 Author: Peter Clifton <pcjc2@cam.ac.uk>
1266 Date:   Tue Dec 23 03:46:50 2008 +0000
1268     Fix attribute colours for embedded objects [#2157598]
1269     
1270     Add an argument, "set_color" to o_attrib_attach[_list]() to specify
1271     whether the colour of the attribute should be reset to the default
1272     attribute colour when performing the attachment.
1273     
1274     We set this to true when promoting toplevel unattached attributes
1275     inside a symbol onto the schematic page, when the user explicitly
1276     attaches an attribute inside gschem. It is FALSE in other cases.
1277     
1278     In cases where we're creating new attributes, such as o_slot_end(),
1279     we specify the attribute colour we want to o_text_new().
1280     
1281     Remove colour setting from o_attrib_add(), since there is no point
1282     having this code in two places. o_attrib_add() just deals with the
1283     datastructures now.
1285 commit 51a19f38bdff7c3fa3f5656a0e9347b303a2c215
1286 Author: Peter TB Brett <peter@peter-b.co.uk>
1287 Date:   Mon Dec 22 21:57:39 2008 +0000
1289     gschem: Add undo point when editing fill and line styles
1291 commit f583363e84d42001b0abb65bf828d013f120df63
1292 Author: Peter TB Brett <peter@peter-b.co.uk>
1293 Date:   Mon Dec 22 21:16:35 2008 +0000
1295     gschem: Fix light background net color.
1296     
1297     Net color was incorrectly converted to #rrggbb.
1299 commit 9d2dea918ee72b474e11962adbd9ca6167162c14
1300 Author: Peter Clifton <pcjc2@cam.ac.uk>
1301 Date:   Mon Dec 22 21:02:48 2008 +0000
1303     gschem: Fix PNG export broken by invalidate/expose drawing model changes
1304     
1305     We need to explicitly redraw the objects to form the image, we can't
1306     use o_invalidate_all() as that only works for drawing to the screen.
1308 commit c08a776a0a68a9bc89ca17089120db305fda6167
1309 Author: Peter Clifton <pcjc2@cam.ac.uk>
1310 Date:   Mon Dec 22 19:34:29 2008 +0000
1312     gschem: Expose accessors to get the COLOUR for a given colour index.
1314 commit 56985b0d059fc0487f7b8245cad7b468e737f2fe
1315 Author: Peter Clifton <pcjc2@cam.ac.uk>
1316 Date:   Mon Dec 22 19:33:18 2008 +0000
1318     Change s_page_get_objects_in_region[s]() to take a TOPLEVEL parameter
1319     
1320     This is needed in case we have to re-calculate the bounds of any object.
1322 commit 1cb0094c404926fa28cdc1968041f14b4c1e4779
1323 Author: Peter TB Brett <peter@peter-b.co.uk>
1324 Date:   Mon Dec 22 17:59:03 2008 +0000
1326     gschem: Extra sanity checking for color indices.
1328 commit 2e4ec93e8689501983a891280d8b1869901113c9
1329 Author: Peter TB Brett <peter@peter-b.co.uk>
1330 Date:   Mon Dec 22 16:38:38 2008 +0000
1332     Revert "Use light background color maps as the default."
1333     
1334     This reverts commit 01bd6420ecad411d804f4a1a3d41af67d901ce6a, and
1335     corrects the comments to refer to the dark background as the default.
1337 commit 01bd6420ecad411d804f4a1a3d41af67d901ce6a
1338 Author: Peter TB Brett <peter@peter-b.co.uk>
1339 Date:   Mon Dec 22 15:43:17 2008 +0000
1341     Use light background color maps as the default.
1342     
1343     The comments in the rc files have stated for a while that a light
1344     background is the default. Furthermore, all the cool CAD software uses
1345     light backgrounds these days.
1347 commit 619aea627a81a5621036b0a2949e774bb5cb2e6e
1348 Author: Peter TB Brett <peter@peter-b.co.uk>
1349 Date:   Mon Dec 22 15:42:46 2008 +0000
1351     Separate display and print color map config files.
1352     
1353     We should be able to print in color using libgeda without needing
1354     gschem.
1356 commit 12d9e2127329a880ed8532808635d3ffdbf46caa
1357 Author: Peter TB Brett <peter@peter-b.co.uk>
1358 Date:   Mon Dec 22 15:29:51 2008 +0000
1360     Remove display colormaps from libgeda.
1361     
1362     Libgeda doesn't need to know about the color maps used by gschem at
1363     all. Add a generic function for initialising a color map to a built-in
1364     default, and get gschem to use it for its main and outline maps.
1366 commit 9f5e54f022b73adb429633461ca88c81c394fd16
1367 Author: Peter TB Brett <peter@peter-b.co.uk>
1368 Date:   Mon Dec 22 15:29:51 2008 +0000
1370     Remove (ab)use of "customary" colors.
1371     
1372     colors.h defines a number of color index index constants with color
1373     names (white, black, cyan, etc.) This is evil and bad, because the
1374     color map might actually be loaded with entirely different colors.
1375     
1376     This also adds a DEFAULT_COLOR macro, usable in most places the "evil"
1377     existing contacts are used.
1379 commit a8b55895fd6833fa36ef92c6bc7c82490ea3a294
1380 Author: Peter TB Brett <peter@peter-b.co.uk>
1381 Date:   Mon Dec 22 15:29:50 2008 +0000
1383     Remove legacy color Guile functions and variables.
1384     
1385     Remove the color-mapping functions and variables obsoleted by the new
1386     system.
1388 commit 06449db86b91db91bf5d4551acc2794cf34c97f1
1389 Author: Peter TB Brett <peter@peter-b.co.uk>
1390 Date:   Mon Dec 22 15:29:47 2008 +0000
1392     New Scheme colormap syntax.
1393     
1394     Add new color map functions for setting multiple colors at a time with
1395     a simple list-based structure. Use one per color map rather than one
1396     per color.
1397     
1398     Use a wrapper macro in Scheme to make it easier to construct Scheme
1399     color map structures by using symbols instead of indexes to specify
1400     map entries.
1402 commit af4756b843d6da32b8355a50bf3bb1f2bee0a539
1403 Author: Peter TB Brett <peter@peter-b.co.uk>
1404 Date:   Mon Dec 22 15:20:17 2008 +0000
1406     Store colors as components rather than as strings.
1407     
1408     Rather than storing colors in libgeda as strings or GdkColor
1409     structures, store them as a set of four 8-bit unsigned integers.
1410     
1411     Since the GdkColor structure is renderer-specific, remove all trace of
1412     it from libgeda -- only gschem needs to know about it.
1414 commit 05c77c57cc78b0963e52a91e6f56e8005089690a
1415 Author: Peter TB Brett <peter@peter-b.co.uk>
1416 Date:   Mon Dec 22 15:20:14 2008 +0000
1418     Specify colors with RGB/RGBA hexadecimal notation only.
1419     
1420     Transparency (alpha channel) is used as follows for PostScript: if
1421     alpha is non-zero, objects are drawn fully opaque. If alpha is zero,
1422     objects are not drawn.
1423     
1424     The alpha channel is ignored for GDK drawing.
1426 commit e2d6f2bfb1c24d5dfaf193dfae4aaa7cf4d0f236
1427 Author: Peter TB Brett <peter@peter-b.co.uk>
1428 Date:   Mon Dec 22 00:36:27 2008 +0000
1430     Add explicit 'enabled' field to COLOR structure.
1431     
1432     Colors are implicitly 'enabled' by having values specified in the
1433     configuration file. Up until now, whether a given color is enabled has
1434     been checked by checking if the color name strings are NULL.
1435     
1436     This patch adds an explicit 'enabled' field to the COLOR structure. It
1437     is set TRUE when s_color_request() is called for that color index.
1439 commit 3c49636e1a9e9e703fab4c6aafc69affb4fd2bab
1440 Author: Ales Hvezda <ahvezda@seul.org>
1441 Date:   Sun Dec 21 16:23:26 2008 -0500
1443     Updated ChangeLogs one more time.
1445 commit e97e63ac7955c34f6fbd820cbdea9ea9b90e9ec9
1446 Author: Carlos Nieves Onega <cnieves@iespana.es>
1447 Date:   Sun Dec 21 22:16:33 2008 +0100
1449     Updated spanish translation for libgeda and gschem.
1451 commit 2f3e07a1fa7fd92ab163d2cd966efd98ab306512
1452 Author: Ales Hvezda <ahvezda@seul.org>
1453 Date:   Sun Dec 21 14:40:21 2008 -0500
1455     Updated ChangeLogs again in prep for the 1.5.1 release
1457 commit 413d46d3cbe4c21d3ec3f3e2b99d7f250f0d5ef4
1458 Author: Ales Hvezda <ahvezda@seul.org>
1459 Date:   Sun Dec 21 14:34:25 2008 -0500
1461     Removed m4 from being distributed when building tarballs (using make distcheck)
1462     
1463     This makes gschem and libgeda's distribution of m4 the same (not distributed)
1465 commit 76d02f7f935d930d8093bd49b7eb0836d3b1aa6e
1466 Author: Ales Hvezda <ahvezda@seul.org>
1467 Date:   Sun Dec 21 14:06:17 2008 -0500
1469     Updated all ChangeLogs in prep for the 1.5.1 release.
1470     
1471     The update was done by running:
1472     ./update-changelogs.sh 1.0-20070526..master
1474 commit 84d3b0199bec40652b1381474f7f76d7b24a6ff7
1475 Author: Ales Hvezda <ahvezda@seul.org>
1476 Date:   Sun Dec 21 13:48:42 2008 -0500
1478     Manually ran make update-po in all the po directories
1479     
1480     This is in prep for the upcomging 1.5.1 release.
1482 commit 680e08085d44c9876bdadef0ca7ef25b474c2006
1483 Author: Ales Hvezda <ahvezda@seul.org>
1484 Date:   Sun Dec 21 13:39:29 2008 -0500
1486     Updated all versions to 1.5.1 20081221 35:0:0
1487     
1488     Updated by running:
1489     ./update-versions.sh 1.5.1 20081221 35:0:0
1491 commit 4f9f4336a123f91318ec2d1ffd8e9739eb756348
1492 Author: Ales Hvezda <ahvezda@seul.org>
1493 Date:   Sun Dec 21 13:10:23 2008 -0500
1495     Updated dates and versions in all man pages
1497 commit 2c1c7ff82e5ba02c432eb9e1e9fe44ac97e5ecc7
1498 Author: Ales Hvezda <ahvezda@seul.org>
1499 Date:   Sun Dec 21 11:24:43 2008 -0500
1501     Added libintl.rc to .gitignore to make git status less cluttered
1503 commit 7289597377b3a0efd00c29b5da08956b25dffafc
1504 Author: Werner Hoch <werner.ho@gmx.de>
1505 Date:   Sun Dec 21 12:32:57 2008 +0100
1507     gschem/libgeda: updated german translation
1509 commit 9e9b1ab60ff8740f4039471efaa5435193d83c14
1510 Author: Ales Hvezda <ahvezda@seul.org>
1511 Date:   Sat Dec 20 18:12:46 2008 -0500
1513     Manually ran make update-po in all the po directories
1514     
1515     make update-po was run in prep for an upcoming release.  It will probably
1516     have to be run one more time before the final release is done.
1518 commit ba3af993a28bf244f9fae7a216827c94cacf2c3c
1519 Author: Peter Clifton <pcjc2@cam.ac.uk>
1520 Date:   Sat Dec 20 22:07:44 2008 +0000
1522     gschem: Refactor duplicated code in o_find_object()
1523     
1524     Also add documentation for this and our new helper function.
1526 commit d0df24b4e4346327275c4e17cbeff63afeb0df4f
1527 Author: Peter Clifton <pcjc2@cam.ac.uk>
1528 Date:   Sat Dec 20 22:07:44 2008 +0000
1530     gschem: Fix breakage in multiple-object hit select-cycling
1531     
1532     This was broken when switching to OBJECT GLists. We need to start
1533     our first search for objects _after_ the one we selected last time,
1534     otherwise we just find the same object again and again.
1536 commit e51ce946141363fa796a8744d5600bbe3436b925
1537 Author: Peter Clifton <pcjc2@cam.ac.uk>
1538 Date:   Sat Dec 20 19:10:18 2008 +0000
1540     gschem: Remove visible() checks from drawing functions
1541     
1542     The expose handler, via o_redraw_rects() only calls drawing functions for
1543     objects which need repainting. No need for them to re-check visibility.
1545 commit 6329c5a7bdae9573f01f92403e4645e79e66aab5
1546 Author: Peter TB Brett <peter@peter-b.co.uk>
1547 Date:   Sat Dec 20 14:41:05 2008 +0000
1549     Update copyright header dates to 2008.
1550     
1551     (And I'll have to do this all again in a few days time).
1553 commit 0fe820aa442bba02d164832ce771932f2189d231
1554 Author: Peter Clifton <pcjc2@cam.ac.uk>
1555 Date:   Sat Dec 20 08:25:12 2008 +0000
1557     gschem: Make rubberbanding operations use the invalidate / expose model
1558     
1559     Introduce a new function for each rubberbanding operation,
1560     o_*_invaldate_rubber() which invalidates an on-screen area matching
1561     the area where the rubberbanding operation would paint.
1562     
1563     The actual drawing happens from the expose handler, which already
1564     had appropriate code to ensure any damaged rubberband objects were
1565     re-painted during an expose event.
1567 commit 883bb3377a83623fe47792aabe8023c556de25f3
1568 Author: Peter Clifton <pcjc2@cam.ac.uk>
1569 Date:   Sat Dec 20 08:25:10 2008 +0000
1571     gschem: Remove the dummy o_cue_invalidate*() functions
1572     
1573     Actually invalidate the objects which would have had their cues
1574     redrawn using o_invalidate() and o_invalidate_glist() instead.
1575     
1576     We're probably invalidating more than we need to in some cases,
1577     since just invalidating a single object will be enough to update
1578     any cues it is touching. We don't really need to invalidate its
1579     connected objects as well.
1581 commit b64b7ce3970d819173e20578e9adf91b19179068
1582 Author: Peter Clifton <pcjc2@cam.ac.uk>
1583 Date:   Sat Dec 20 08:25:09 2008 +0000
1585     gschem: Replace o_cue_erase_single() by o_cue_invalidate()
1586     
1587     We don't want to be drawing anything onto the screen outside of the
1588     expose handler. o_cue_invalidate() is actually a NOP, since we actually
1589     invalidate enough around a given object to encompass redrawing of its
1590     cues.
1592 commit 0a9650f1c5877d68c792f4c37bc0d47132425c49
1593 Author: Peter Clifton <pcjc2@cam.ac.uk>
1594 Date:   Sat Dec 20 08:25:07 2008 +0000
1596     gschem: Move invalidate call from o_move_check_endpoint to o_move_start
1597     
1598     This invalidate ensure rubberbanded objects are removed from their old
1599     position on screen. It is more suited to living in o_move_start() than
1600     a function supposed to find objects to rubberband.
1602 commit 978a127bf1f7174fd5146371d0cbbfc6a8f2baf8
1603 Author: Peter Clifton <pcjc2@cam.ac.uk>
1604 Date:   Sat Dec 20 08:25:06 2008 +0000
1606     Avoid and remove OBJECT variable draw_grips
1607     
1608     We can infer the required logic from OBJECT->selected, and the
1609     resulting code is cleaner.
1611 commit c9b89c259334c0f310afcc1dc3fb2b752078caad
1612 Author: Peter Clifton <pcjc2@cam.ac.uk>
1613 Date:   Sat Dec 20 08:25:04 2008 +0000
1615     Don't ever erase grips, we invalidate things to get rid of them.
1616     
1617     Delete now unused function o_erase_grips(), along with the object
1618     specific routines o_*_erase_grips()
1620 commit 111e9e78fded24189f58e420b291ba444323ac25
1621 Author: Peter Clifton <pcjc2@cam.ac.uk>
1622 Date:   Sat Dec 20 08:25:03 2008 +0000
1624     Remove now unused functions o_{draw,erase}_list() and o_erase_single()
1626 commit 20b87f17855b3a0cd09b1865d661de8e039ae903
1627 Author: Peter Clifton <pcjc2@cam.ac.uk>
1628 Date:   Sat Dec 20 08:25:01 2008 +0000
1630     Changed caller of o_{erase,draw}_selected() to use o_invalidate_glist()
1631     
1632     Remove the now unused functions o_{erase,draw}_selected().
1634 commit 4287b770933148477d613c97f7b0d60bd9236603
1635 Author: Peter Clifton <pcjc2@cam.ac.uk>
1636 Date:   Sat Dec 20 08:11:03 2008 +0000
1638     gschem: Change redraw and erase calls to invalidate calls
1639     
1640     In the new drawing model, "invalidate" calls actually specify which
1641     primitives or areas of the screen need redrawing. The redraw code called
1642     from the expose event handler then draws objects directly onto the screen.
1643     
1644     Remove the now unused function o_redraw_all()
1646 commit 1deba1aba224cd2e87a34148949edaaeec630ed0
1647 Author: Peter Clifton <pcjc2@cam.ac.uk>
1648 Date:   Sat Dec 20 08:10:47 2008 +0000
1650     gschem: Change object specific redraw calls to o_redraw_single()
1651     
1652     Makes switching redraw calls to invalidate calls more formulic.
1654 commit c7c5a24102474d6d9c607c4592736c8f93fe090b
1655 Author: Peter Clifton <pcjc2@cam.ac.uk>
1656 Date:   Sat Dec 20 08:10:43 2008 +0000
1658     gschem: Add size of grip (or cue) to invalidate and redraw regions.
1659     
1660     Adding to the invalidated region cures screen artifacts left due
1661     to the bounds of an object not including the area occupied by its
1662     rubberbanding grips.
1663     
1664     Adding to the coordinates used with s_page_objects_in_region() ensures
1665     that grips / cues from adjacent objects are drawn correctly when repainting
1666     a damaged region from the expose handler.
1667     
1668     This is a bit of a hack and could be better catered for by invalidating
1669     the grip regions separately from an object specific invalidate function.
1670     s_page_objects_in_region() would also have to return objects with grips
1671     or cues touching the passed region.
1673 commit 68f782583cc41b542dc237cb9173f64ffc01ce76
1674 Author: Peter Clifton <pcjc2@cam.ac.uk>
1675 Date:   Sat Dec 20 08:09:57 2008 +0000
1677     gschem: Just redraw everything when we get an expose event
1678     
1679     Disable generation of our backing pixmap and remove o_invalidate_rect()
1680     calls from various drawing functions. The backingstore is straight to the
1681     screen, so there is no need to make that call (it causes a redraw loop).
1683 commit c914c30f8bbb72e5d0df635947055e642b972f0b
1684 Author: Peter Clifton <pcjc2@cam.ac.uk>
1685 Date:   Sat Dec 20 08:00:36 2008 +0000
1687     gschem: Move o_drawbounding into its only caller, o_place_rubberplace_xor
1689 commit 87682d35b4238c7db9bbc3583a7db8313bb8577f
1690 Author: Peter Clifton <pcjc2@cam.ac.uk>
1691 Date:   Sat Dec 20 07:33:15 2008 +0000
1693     gschem: Fix crash closing window from window-manager during move action
1694     
1695     Since the move action uses the place list for drawing, and the objects
1696     are still on the page, we must be careful to cancel the move action,
1697     otherwise when the window is closed, we try to double-free the objects
1698     which are both on the page, and in the place list.
1700 commit 4afbecd9128f87980e47221b439d7292395c20bd
1701 Author: Peter Clifton <pcjc2@cam.ac.uk>
1702 Date:   Sat Dec 20 07:31:19 2008 +0000
1704     gschem: Avoid critical assersion being triggered when cancelling move
1705     
1706     We need to set inside_action to 0 before calling o_undo_callback(),
1707     since that then calls o_redraw_all(). We don't want that redraw to
1708     think we're still inside an action and attept to draw the (now empty)
1709     place list. For good measure, place that call after we've cleared out
1710     the stretch list as well.
1712 commit 43644681ba1486a5dec10fcfcdad36432ecc071c
1713 Author: Peter Clifton <pcjc2@cam.ac.uk>
1714 Date:   Sat Dec 20 06:36:58 2008 +0000
1716     gschem: Add function o_grips_rubbergrip_xor() to repaint XOR objects
1717     
1718     This function will be useful to recreate the on-screen state during
1719     an expose event when using an invalidate / expose drawing model.
1721 commit 94602fdc724dd31527c3ceed2092ddeee1d954e0
1722 Author: Edward Hennessy <ehennes@sbcglobal.net>
1723 Date:   Sat Dec 20 04:42:25 2008 +0000
1725     Symbols now selectable by clicking inside their shapes.
1726     
1727     This patch changes the selection behavior by allowing symbols to
1728     be selected by clicking inside any contained shape.  This behavior
1729     works for symbols with boxes, circles, and paths.
1730     
1731     Patch modified by Peter Clifton:
1732     
1733       Added m_line_shortest_distance(), (m_line.c) and make use of that
1734       in m_polygon_shortest_distance() rather than faking a line OBJECT.
1735     
1736       Change all o_*_shortest_distance() functions to take a parameter
1737       "force_solid" so we avoid having to use a specialised dispatch
1738       function to treat constituent primitive objects inside a COMPLEX
1739       as solid.
1741 commit 3d8b3efb5a4ce8672133658ccdbe5c57d341f0fc
1742 Author: Peter Clifton <pcjc2@cam.ac.uk>
1743 Date:   Sat Dec 20 03:17:31 2008 +0000
1745     gschem: Check for self-connecting COMPLEX before deleting. Fix #1912859
1746     
1747     Remove any references to objects inside the COMPLEX being deleted
1748     when we build the list of objects to redraw on screen following the
1749     COMPLEX's deletion.
1750     
1751     This fixes a crash observed when deleting symbols with co-incident pins.
1753 commit c69785fe267e2cdc70e2748dfab7268fbdcc3e7e
1754 Author: Peter Clifton <pcjc2@cam.ac.uk>
1755 Date:   Sat Dec 20 01:08:08 2008 +0000
1757     o_move_end_rubberband(): Rework creating connectivity lists. Fix #2017356
1758     
1759     We were previously making a lists of pre- and post-move connected objects
1760     incrementally as we moved each individual object being stretched.
1761     
1762     In some cases this meant that as we moved one object, we artifically
1763     changed the connectivity of future ones to be moved, making the
1764     resulting connectivity lists inaccurate. In some examples, the objects
1765     being stretched themselves appeared in the lists.
1766     
1767     We want to avoid this, since if we delete a stretched object when
1768     it reaches zero length, we don't want that object to be referenced in
1769     the list of connected objects. Since we don't want to do more work
1770     than necessary re-drawing affected objects on screen, it is generally
1771     desirable to keep the lists as accurate as possible.
1772     
1773     To avoid the problem with incremental updates, build the connectivity
1774     lists before and after the entire move operation for stretched objects.
1775     
1776     This alone doesn't fix the case where a stretched object being deleted
1777     happens to touch another to start with. We have to check when deleting
1778     an object for its presence in the prev_conn_objects list. We check and
1779     remove _all_ references to the deleted object from that list.
1780     
1781     Thanks go to Patrick Bernaud for the test-case for this very tricky to
1782     reproduce bug, and an initial patch.
1784 commit fe8640898cb843b72e1c3cc01ee52c33db736ccf
1785 Author: Peter Clifton <pcjc2@cam.ac.uk>
1786 Date:   Sat Dec 20 01:07:17 2008 +0000
1788     gschem: Remove stretched object from stretch list if we delete it
1789     
1790     When a stretched object becomes zero length when rubberbanding, we
1791     delete it. We must also remember to delete it from the stretch list,
1792     otherwise it will be referenced later, and could cause a crash.
1793     
1794     NB: This isn't the whole story.. the before / after connectivity
1795         lists can still reference the deleted object and cause a crash.
1797 commit ba14128c0710a12665b07c29e74c00c55993b3d1
1798 Author: Peter Clifton <pcjc2@cam.ac.uk>
1799 Date:   Sat Dec 20 01:05:11 2008 +0000
1801     gschem: Further tidying in o_move_end_rubberband()
1802     
1803     Changes a switch statement with only one active code-path into an
1804     if (...) { ... } clause. Should be no functional changes.
1806 commit 20e4ffcd895f344b8124ca16990f04e9570140c0
1807 Author: Peter Clifton <pcjc2@cam.ac.uk>
1808 Date:   Fri Dec 19 23:49:36 2008 +0000
1810     gschem: Tidy function o_move_end_rubberband()
1811     
1812     This function is still buggy when objects are deleted as part of
1813     the rubberbanding operation, but for now, tidy up the existing
1814     code. No functional changes.
1816 commit 4abd473222827786c2480fa128464c7ff45448ea
1817 Author: Peter Clifton <pcjc2@cam.ac.uk>
1818 Date:   Fri Dec 19 23:25:48 2008 +0000
1820     gschem: Rename "other_objects" to "prev_conn_objects" for clarity
1822 commit 6e8f757d3aa23219bb0259064dbed5ffa64fb341
1823 Author: Peter Clifton <pcjc2@cam.ac.uk>
1824 Date:   Fri Dec 19 00:59:52 2008 +0000
1826     Remove next/prev linking from the STRETCH structure. Use GLists instead.
1827     
1828     The PAGE now maintains a GList of STRETCH objects instead. This keeps the
1829     code a lot simpler and allows us to use more standard GList functions.
1831 commit da649f4066f8ce35a1717a1d0a298fe82817a8b5
1832 Author: Peter Clifton <pcjc2@cam.ac.uk>
1833 Date:   Thu Dec 18 18:17:48 2008 +0000
1835     gschem: Make key press / release events update modifier states
1836     
1837     If a sensitive action is taking place when a modifier key changes state,
1838     fetch the current mouse pointer and call the action's motion handler.
1839     
1840     This allows us to see instant on-screen changes when (say) pressing the
1841     modifier key to switch magnetic net mode off, or between orthogonal /
1842     non-orthogonal constraints mode when copying or moving objects.
1843     
1844     Preivously motion was needed after pressing the modifier key to get an
1845     on-screen update.
1847 commit 1d16923d30f2348184675df66e5b67e893d3c519
1848 Author: Peter Clifton <pcjc2@cam.ac.uk>
1849 Date:   Wed Dec 17 14:43:20 2008 +0000
1851     gschem: Use o_{erase,redraw}_single() not o_{erase,draw}_selected()
1852     
1853     x_dialog.c: arc_angle_dialog_response() used the selection specific
1854     routines where it could have just used the pointer to the OBJECT.
1856 commit 1d7d0b9f7f0cc38a79b7e392756dcb359b61bdbb
1857 Author: Ales Hvezda <ahvezda@seul.org>
1858 Date:   Tue Dec 16 21:37:20 2008 -0500
1860     Increased the select-slack-pixels value to be much larger
1861     
1862     This makes it a lot easier to select objects, especially now that you
1863     have to click on the object itself instead of the object's bounding box.
1865 commit 822d04bc29291979b91dd3222a27bbcb295e7b56
1866 Author: Peter Clifton <pcjc2@cam.ac.uk>
1867 Date:   Mon Dec 15 22:50:24 2008 +0000
1869     Delete references to the non-existent object type OBJ_HEAD. (CODE!)
1870     
1871     Ok, cleaned up some whitespace as well.. couldn't resist.
1873 commit a6df3915ee452f175650c86f0074169ad6756c02
1874 Author: Peter Clifton <pcjc2@cam.ac.uk>
1875 Date:   Mon Dec 15 00:46:17 2008 +0000
1877     gschem: Rename o_*_rubber*() o_*_motion()
1878     
1879     This is consistent with the naming of the equivalent function for
1880     grip manipulation. These functions are called from the motion event
1881     handler, and the new names make that clearer.
1883 commit 29ae53c1010c0afaa719fa2234ac0563368f05fe
1884 Author: Peter Clifton <pcjc2@cam.ac.uk>
1885 Date:   Sun Dec 14 14:50:14 2008 +0000
1887     Roll the various o_grips_motion_*() routines into o_grips_motion()
1889 commit ec14a2d9b48696417e3122793a71170b833de9c2
1890 Author: Peter Clifton <pcjc2@cam.ac.uk>
1891 Date:   Sun Dec 14 03:50:24 2008 +0000
1893     gschem: Remove un-needed GSCHEM_TOPLEVEL flag "inside_redraw"
1894     
1895     A check of where this was tested revealed that the code-paths where a
1896     test was present should not be hit from inside a redraw operation.
1898 commit 2a768bee990afdb7e73a7f9c01aa0be372fd59ea
1899 Author: Peter Clifton <pcjc2@cam.ac.uk>
1900 Date:   Sat Dec 13 22:06:25 2008 +0000
1902     gschem: Don't re-invent the drawing routines in o_net_end()
1903     
1904     Use o_redraw_single() in o_net_ned() rather than replicating parts of
1905     the net drawing code.
1907 commit 1a8e62cded4076f9711f86e50b1749972bc01b87
1908 Author: Peter Clifton <pcjc2@cam.ac.uk>
1909 Date:   Sat Dec 13 21:27:01 2008 +0000
1911     gschem: Empty "misc" callbacks
1912     
1913     Remove apparently left over debugging code
1915 commit a8ae46996fe78d138e83a99744e7ade0036399bc
1916 Author: Peter Clifton <pcjc2@cam.ac.uk>
1917 Date:   Fri Dec 12 21:01:45 2008 +0000
1919     Rename GSCHEM_TOPLEVEL member "backingstore" to "drawable"
1921 commit 7b663063f659aac854f844bda40160f697f7c3ef
1922 Author: Peter Clifton <pcjc2@cam.ac.uk>
1923 Date:   Fri Dec 12 19:03:52 2008 +0000
1925     Use (rubber_visible == 0) to avoid "undrawing" invisible objects.
1926     
1927     For some operations, such as text and component placement, there is a
1928     gap between inserting components into the place buffer (at 0,0) and
1929     knowing where to draw them.
1930     
1931     This is presently handled with separate one-shot states used to special
1932     case the first mouse event recieved. These states are transitioned from
1933     as soon as the first drawing operation has been made. If we track the
1934     fact that no "undrawing" should take place, it's otherwise OK to use the
1935     same motion event handler for the first and subsequent motions.
1937 commit 3d5fce8f9e6a1172a285dd4a49943f2b05712ca4
1938 Author: Peter Clifton <pcjc2@cam.ac.uk>
1939 Date:   Fri Dec 12 16:43:13 2008 +0000
1941     Avoid crash observed when trying to undo whilst moving.
1942     
1943     Move uses the place list, and it leaves the objects in the place list
1944     on the page. Calling undo free's the page structure, including place
1945     list objects, AND page objects. Double-free / corruption -> crash.
1946     
1947     TODO: Fix move code NOT to use the place list, OR, use more
1948           intelligence about cancelling from move operations.
1950 commit c24af025cba433db83db48d4b614632b2d5a517c
1951 Author: Peter Clifton <pcjc2@cam.ac.uk>
1952 Date:   Fri Dec 12 16:08:43 2008 +0000
1954     Replace calls to s_conn_return_complex_others() with s_conn_return_others()
1955     
1956     Teach s_conn_return_others() to understand COMPLEX objects.
1958 commit 7f4ec05b6812bf412ad23da67b82c9378c57aa0c
1959 Author: Peter Clifton <pcjc2@cam.ac.uk>
1960 Date:   Fri Dec 12 15:28:07 2008 +0000
1962     Replace calls to s_conn_..._complex with a non-specialised version
1963     
1964     Renamed s_conn_remove() to s_conn_remove_object()
1965     s_conn_..._object() can then call s_conn_..._complex() as needed.
1967 commit eca34fca24e6d29a1b42c95daee0602c452fecd6
1968 Author: Peter Clifton <pcjc2@cam.ac.uk>
1969 Date:   Thu Dec 11 22:26:56 2008 +0000
1971     Revert "Remove unused "toplevel" argument to s_conn_* functions"
1972     
1973     This reverts commit b211658fcddb84828c437a65bf6bd73fcc4b1918.
1975 commit 28e12a770b23ffbe08c994cbd98d21a581b2cd2d
1976 Author: Peter Clifton <pcjc2@cam.ac.uk>
1977 Date:   Thu Dec 11 21:44:24 2008 +0000
1979     Add API s_page_delete_objects() to delete all OBJECTs on a page
1981 commit 921a39edd130ed3bbfe83d9c39c3a9085c405d9a
1982 Author: Peter Clifton <pcjc2@cam.ac.uk>
1983 Date:   Thu Dec 11 21:21:03 2008 +0000
1985     Remove function o_delete(), which just wraps o_delete_object()
1987 commit b211658fcddb84828c437a65bf6bd73fcc4b1918
1988 Author: Peter Clifton <pcjc2@cam.ac.uk>
1989 Date:   Thu Dec 11 20:40:15 2008 +0000
1991     Remove unused "toplevel" argument to s_conn_* functions
1993 commit ee0eaa9c885db7022b9cb5ef4ddf50b459fd92fc
1994 Author: Peter Clifton <pcjc2@cam.ac.uk>
1995 Date:   Thu Dec 11 14:49:40 2008 +0000
1997     gattrib: Bump GTK and GLIB version requirements to match gschem (2.8.x)
1998     
1999     Also remove a remaining 2.4 comment from the gschem configure.ac.in
2001 commit 38ce8aae73beec00d603e4cda0ca5eee738a3cb8
2002 Author: Peter Clifton <pcjc2@cam.ac.uk>
2003 Date:   Tue Dec 9 19:23:22 2008 +0000
2005     libgeda: Abstract removing objects from the page with s_page_remove ()
2007 commit 617797b5a47d370c4fee19110c826502b7e3082b
2008 Author: Peter Clifton <pcjc2@cam.ac.uk>
2009 Date:   Tue Dec 9 16:19:09 2008 +0000
2011     Remove linkage between OBJECTs and use GList for OBJECTs on the page
2012     
2013     This affords quite a lot of code clean-up, since we no longer have to
2014     maintain two versions of each operation which works on lists.
2016 commit de9c919b925ff989c3f26914e666d2e38062bfe1
2017 Author: Peter Clifton <pcjc2@cam.ac.uk>
2018 Date:   Tue Dec 9 16:02:00 2008 +0000
2020     gschem: Fix memory undo not to update tile system
2022 commit 9dd241d9f87ad78f27772e9490d3afa2a80621bf
2023 Author: Peter Clifton <pcjc2@cam.ac.uk>
2024 Date:   Tue Dec 9 01:38:21 2008 +0000
2026     libgeda: Add convenience function for adding objects to the page
2027     
2028     Adds s_page_append() which links the passed object to the end of the
2029     page's object list.
2031 commit 54d2fd7dc6bf09dad1d9657c5cd3635bb31e14b7
2032 Author: Peter Clifton <pcjc2@cam.ac.uk>
2033 Date:   Mon Dec 8 18:57:11 2008 +0000
2035     gschem: Use libgeda's hatching routines for drawing hatched boxes.
2037 commit 3b8bbb1f0e4f549ad2e366e36365e59f7657622e
2038 Author: Peter Clifton <pcjc2@cam.ac.uk>
2039 Date:   Mon Dec 8 18:43:56 2008 +0000
2041     gschem: Use libgeda's hatching routines for drawing hatched circles.
2043 commit 2f5b7e9d890953680caa4fa111c31a0be4123d97
2044 Author: Peter Clifton <pcjc2@cam.ac.uk>
2045 Date:   Mon Dec 8 17:16:20 2008 +0000
2047     Adjust MINGW32 specific CFLAGS from the suite
2048     
2049     Console applications should not build with the -mwindows flag, otherwise
2050     output reach the console. Conversely, we should build the GUI apps, gschem
2051     and gattrib with -mwindows so they don't bring up a console window when
2052     running.
2054 commit 939998b8b4f6742814910a043778962f4654d5a9
2055 Author: Peter Clifton <pcjc2@cam.ac.uk>
2056 Date:   Mon Dec 8 17:15:20 2008 +0000
2058     Use solid painting, no XOR to draw path control lines when erasing.
2059     
2060     When the override_color is set, we are likely to be erasing the control
2061     lines inside o_erase_single(). To avoid leaving artifacts, don't use
2062     the XOR drawing context in this case.
2064 commit d8f1aa4780edaee8b4552a7fd942126a07464b6d
2065 Author: Peter Clifton <pcjc2@cam.ac.uk>
2066 Date:   Mon Dec 8 16:44:53 2008 +0000
2068     Add support for drawing curved paths with GDK
2070 commit c01757cd814e7c92cb4c64a6e134aa670b9750d1
2071 Author: Peter Clifton <pcjc2@cam.ac.uk>
2072 Date:   Mon Dec 8 16:29:11 2008 +0000
2074     Add rendering code to draw hatched fill in paths
2076 commit 0545db388236ea7a7aaa49d8911ad96481b4978e
2077 Author: Peter Clifton <pcjc2@cam.ac.uk>
2078 Date:   Sun Dec 7 17:33:46 2008 +0000
2080     Remove some old comments better explained in commit history
2081     
2082     Comments annotated with a dates and developers initials clutter the
2083     code with historical details people may be reluctant to remove. Not
2084     all of these are still relevant, and those which are should probably
2085     could be kept in such a way as not to suggest code ownership. The
2086     commit revision log is a better place for determining authorship.
2087     
2088     Fix some whitespace in surrounding areas where I couldn't resist.
2090 commit 3f607ec3eefd9477d277747be089ac94e5afbd57
2091 Author: Peter Clifton <pcjc2@cam.ac.uk>
2092 Date:   Mon Nov 24 01:35:02 2008 +0000
2094     Use g_get_home_dir() if we can't find the HOME environment variable.
2095     
2096     NB: We can't just use g_get_home_dir() on its own without changing
2097     semantics. g_get_home_dir() prefers the home directory specified
2098     in the passwd file, over $HOME, so we try looking for the HOME env.
2099     variable first.
2100     
2101     BUT: some places in gEDA do just call g_get_home_dir() directly.
2102     Ideally we should tidy these up to be consistent at some point.
2104 commit cc1d5ae1489b4534ae485cdea4df0815663dcb1d
2105 Author: Peter Clifton <pcjc2@cam.ac.uk>
2106 Date:   Sun Nov 23 17:30:37 2008 +0000
2108     gschem: Update EXTRA_DIST list in gschem/tests/Makefile.am
2109     
2110     Remove reference to deleted schematic ext_chars.sch, and added new
2111     schematics net_selection.sch and geda_fonts.sch
2112     
2113     Reformatted list to one element per line, so future diffs will be
2114     easier to view.
2116 commit d2ab7cfcc4dd21e06a3d2e9ac6d756b7968c0b7a
2117 Author: Dan McMahill <dan@mcmahill.net>
2118 Date:   Tue Nov 18 22:33:45 2008 -0500
2120     Use the SHELL variable to locate a shell for icon-theme-installer
2121     
2122     /bin/sh on some systems like SunOS (solaris) is too broken but in those
2123     cases SHELL is typically set to a functioning shell like /bin/ksh.  This
2124     repairs the install on "shell challenged" systems.
2126 commit 70bf7f8e7470d9962af920553b2e858db0d95938
2127 Author: Werner Hoch <werner.ho@gmx.de>
2128 Date:   Mon Nov 17 20:23:26 2008 +0100
2130     gschem: fix select state when double clicking an object
2131     
2132     After the o_edit() call in x_event_button_pressed() the state is
2133     STARTSELECT.  If a MODAL dialog is called (arc or change picture) the
2134     state will will still be STARTSELECT after closing the dialog.
2135     
2136     This state turns into the MOVE state right after the dialog is closed
2137     and the first motion is done in gschem (x_event_motion()).
2138     
2139     This is not correct. The state needs to be reset to SELECT right after
2140     the o_edit() call.
2142 commit 9b2b755a4cc07a5de15ea88794e78612b0d2ca00
2143 Author: Werner Hoch <werner.ho@gmx.de>
2144 Date:   Sun Nov 16 17:35:46 2008 +0100
2146     created a new test file for all font characters
2148 commit 8ba14774f506f7b2143f0caf74ae3eba42504930
2149 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
2150 Date:   Sat Nov 15 12:41:09 2008 +0100
2152     Invert assertion added in bbe251bc64ed2db2976a26116d22a69fe678b9fd.
2154 commit 27fc407b656e2996e31922be1352eea21de85422
2155 Author: Werner Hoch <werner.ho@gmx.de>
2156 Date:   Sun Nov 9 18:21:09 2008 +0100
2158     updated text and alignment test schematic
2159     
2160     Added all kinds of overbar and tabulator tests.
2161     Use multiline text for all alignment tests.
2163 commit 75f53b0b7a1a2859a604b70dfecc6a439b8b57da
2164 Author: Werner Hoch <werner.ho@gmx.de>
2165 Date:   Wed Oct 29 22:37:13 2008 +0100
2167     gschem: replaced fnameext* functions with glib functions
2168     
2169     Removed the functions fnameext_get, fnameext_remove and fnameext_add.
2171 commit 8801ff019dc2ccc64a3dd7367b65e7ea6ce5229e
2172 Author: Peter Clifton <pcjc2@cam.ac.uk>
2173 Date:   Wed Nov 5 00:37:08 2008 +0000
2175     gschem: White-space update in x_complselect.c for consistency
2176     
2177     Mixed tabs and spaces are driving me nuts, since I don't default to
2178     having tabstop=8 in my editor. This file was pretty good before, but
2179     recent commits mixed in a load of tabs.
2180     
2181     I've also changed call instances to "func (args);" white-space,
2182     since the majority of this file already used it.
2184 commit c785af63a4d32adeaa7912a4559381d8daefde18
2185 Author: Peter Clifton <pcjc2@cam.ac.uk>
2186 Date:   Wed Nov 5 00:37:02 2008 +0000
2188     gschem: Allow attribute value column in component selector to shrink
2189     
2190     Symbols with long values are common, and we don't want having viewed
2191     those to force a h-scroll-bar on symbols with short valued attributes.
2192     
2193     If we don't allow them to shrink, the columns retain the width of the
2194     largest item they displayed, and we often get stuck with a scroll bar
2195      after displaying components with lengthy attribute values.
2196     
2197     When updating the model, invalidate the column width for the attribute
2198     value column so it is re-sized based on the new data being shown.
2199     
2200     We might also consider invalidating the attribute name columns,
2201     however that gives an inconsistent column division when swithing
2202     between symbols, which doesn't look nice. For now, assume that
2203     the name column can keep the max width gained whilst previewing.
2205 commit dab769968c3b65d5b28b6ae26996ddc8b4e311fe
2206 Author: Peter Clifton <pcjc2@cam.ac.uk>
2207 Date:   Wed Nov 5 00:36:56 2008 +0000
2209     gschem: Use an enum for column numbers in the compselect attrib preview
2210     
2211     This avoids the need to use magic constants in the code when we refer to
2212     a particular column by number.
2214 commit 8a53e426c09ee25c1ce1e1c720d408662374c04b
2215 Author: Peter Clifton <pcjc2@cam.ac.uk>
2216 Date:   Wed Nov 5 00:36:50 2008 +0000
2218     gschem: Adjust padding in component selector dialog box.
2219     
2220     Make the preview and attributes windows the same size as the
2221     library notebook on the left, by avoiding adding a border to
2222     the GtkVPaned control.
2224 commit c5db389c6f104e22ab486451283b2fe94faf2606
2225 Author: Peter Clifton <pcjc2@cam.ac.uk>
2226 Date:   Wed Nov 5 00:36:45 2008 +0000
2228     gschem: Don't override GtkDialog default positioning in compselect dialog
2229     
2230     The old code explictly overrode the window positioning hint set by the
2231     GtkDialog (GTK_WIN_POS_CENTER_ON_PARENT) to GTK_WIN_POS_NONE.
2232     
2233     For people with multi-screen setups, the GtkDialog default is
2234     probably a better choice. We might in the future consider
2235     GTK_WIN_POS_MOUSE, where the windows appears at the current
2236     mouse position.
2237     
2238     In either case, this only affects a user's inital usage of the
2239     dialog as its geometry is saved to disk for later re-use.
2241 commit 2f6e297d4ef9b5104675081a4066503779695b9d
2242 Author: Peter Clifton <pcjc2@cam.ac.uk>
2243 Date:   Wed Nov 5 00:36:39 2008 +0000
2245     gschem: Don't reset default properties on the component selector widgets.
2246     
2247     There is no point setting GtkWindow or GtkDialog properties when we don't
2248     actually desire to rigidly specify those parameters. The removed settings
2249     are all defaults within GTK.
2251 commit 811233695be6f5d58ba576054d9763be11c6aa4c
2252 Author: Peter Clifton <pcjc2@cam.ac.uk>
2253 Date:   Sun Nov 2 15:25:46 2008 +0000
2255     gschem: Take copy of "TMP" environment variable with g_strdup()
2256     
2257     It isn't gauranteed that the result of getenv can't get modified at
2258     some point after the call (e.g. by another call to getenv), and testing
2259     of the mingw32 port has revealed that the returned string was getting
2260     corrupted at some point.
2261     
2262     Take a g_strdup() of the string immediately, so we don't have to worry.
2263     
2264     Since capitalised variable names should really be reserved for #define'd
2265     constants, rename "TMP" to tmp_path.
2267 commit 8628c10167df204222d77b4f18e550f7486aa2a1
2268 Author: Peter Clifton <pcjc2@cam.ac.uk>
2269 Date:   Sat Nov 1 20:51:36 2008 +0000
2271     gschem: Use gdk_display_warp_pointer() rather than an X11 specific call
2272     
2273     Fixes bug #2212753
2274     
2275     gdk_display_warp_pointer() was added in GTK/GDK 2.8, and allows
2276     greater portability to other platforms supported by GDK.
2277     
2278     Remove the unimplemented "relative" option to x_basic_warp_cursor()
2280 commit f470af7a28afe423ded6171ea3c8a2b31ff56f43
2281 Author: Peter Clifton <pcjc2@cam.ac.uk>
2282 Date:   Sat Nov 1 20:47:41 2008 +0000
2284     Revert applying -Werror to compiler flags when linking with GCC (CODE!!)
2285     
2286     Depending on the gcc version, the original developers might not see the
2287     warning until the software gets into the end user's hands (and tries
2288     building it with an older/newer version of gcc).  Most warnings are
2289     not catastropic, but by using -Werror they are _all_ catastropic.
2290     
2291     If a developer wants to get rid of all warnings, they should either:
2292     
2293      1) run make -s and see/fix all the warnings, and/or
2294      2) modify the Makefile's themselves and add the -Werror flag temporarily.
2295     
2296     (Comments explaining rationale snipped out of an email from Ales).
2298 commit 09eacbfb36e2b00758bce8d8add2f8f56cdcfdbb
2299 Author: Peter Clifton <pcjc2@cam.ac.uk>
2300 Date:   Sat Nov 1 16:09:26 2008 +0000
2302     Use -Werror when building with gcc compilers.
2303     
2304     Hopefully this will help to ensure compiler
2305     warnings get noticed and fixed by developers.
2307 commit ab3e5337562359df11e8b679096574b2c01fdbc7
2308 Author: Peter Clifton <pcjc2@cam.ac.uk>
2309 Date:   Sat Nov 1 16:09:26 2008 +0000
2311     gschem: Fix more non-literal format strings which cause compiler warnings.
2312     
2313     We should be careful to avoid passing arbitrary strings into functions
2314     which take printf style arguments. In that case, always use the construct
2315     ("%s", string) rather than passing string as the format argument.
2317 commit 333c7bc53e05e1c024486b8191b8f7031f0f506e
2318 Author: Peter Clifton <pcjc2@cam.ac.uk>
2319 Date:   Sat Nov 1 00:42:24 2008 +0000
2321     gschem: Check for visibility / toplevel->DONT_REDRAW in o_path_draw()
2322     
2323     These test were mistakenly removed in
2324     commit 2d2d9d90d07080ed18a899dcccc34e99c83a7402
2326 commit 1aab94354f053887db67aa5702abc595795dfe82
2327 Author: Peter TB Brett <peter@peter-b.co.uk>
2328 Date:   Wed Oct 29 12:14:19 2008 +0000
2330     Define select_func only in libgeda.
2331     
2332     Importing definitions from linkees breaks when linking libraries on
2333     Windows.
2335 commit 79da8125fa7ac7a005710ed2a6340004a66402a5
2336 Author: Werner Hoch <werner.ho@gmx.de>
2337 Date:   Tue Oct 28 19:40:04 2008 +0100
2339     gschem: removed unsnapped arc modification special case
2340     
2341     When using the grips to modify an arc, then always unsnapped coords
2342     have been used. There two reasons to remove that:
2343     
2344     * it's a special case that is not neccessary as the user can easily
2345       switch off the snapping to get the unsnapped behaviour
2346     
2347     * with snapped arcs it's easier to draw 45° and 90° arcs
2349 commit fba1fe91258e62ad0d5ffd685adad93336542e30
2350 Author: Werner Hoch <werner.ho@gmx.de>
2351 Date:   Tue Oct 28 19:38:52 2008 +0100
2353     gschem: use the arc dialog to modify arc objects
2354     
2355     Using edit->edit now raises the arc dialog. The properties of the arc
2356     can be modified and applied. The arc needs to be the first or only
2357     element of the selection list.
2359 commit 91cef383fbeaa0f48afe404f15ac39009f41fda7
2360 Author: Werner Hoch <werner.ho@gmx.de>
2361 Date:   Mon Oct 27 20:59:47 2008 +0100
2363     gschem: added radius to the arc angle dialog
2364     
2365     Now you can set the radius, too, when creating an arc.
2367 commit cee5dea44626c4e442fc02841c26c8f3951817b7
2368 Author: Peter TB Brett <peter@peter-b.co.uk>
2369 Date:   Sun Oct 26 23:42:48 2008 +0000
2371     gschem: Initialise color combobox from current selection.
2372     
2373     This (rather necessary) feature was unfortunately missed out in
2374     219f5d708fbe5e26f77808bb08810b96dfa984eb.  Ideally, of course, the
2375     combobox constructor should be passed the color index to initialise
2376     itself with rather than poking global state, but for now let's just
2377     get it working again.
2379 commit 986bb906bbac1198c5f8b3ae507aab84d49fb3c9
2380 Author: Peter TB Brett <peter@peter-b.co.uk>
2381 Date:   Sun Oct 26 20:10:02 2008 +0000
2383     gschem: Re-arrange component selection dialog.
2384     
2385     Most people have monitors which are wider than they are
2386     tall. Therefore, it makes sense to allow them to have wide, short
2387     dialog boxes.
2388     
2389     This patch moves the component selector attribute treeview to share
2390     the right-hand side of the dialog with the preview widget.
2391     
2392     Signed-Off-By: Peter Clifton <pcjc2@cam.ac.uk>
2394 commit cd01bc7d056983beb3957618cdc7557af2d40c8e
2395 Author: Peter Clifton <pcjc2@cam.ac.uk>
2396 Date:   Sun Oct 26 20:07:12 2008 +0000
2398     gschem: Add missing header file gschem_defines.h to Makefile.am
2399     
2400     Missed this when splitting out gschem_defines.h
2402 commit d99fb5c1cebfed26e027b134ebf2a4c3a0d524bd
2403 Author: Peter TB Brett <peter@peter-b.co.uk>
2404 Date:   Sun Oct 26 17:51:54 2008 +0000
2406     gschem: Put color swatches before names in combo box cells.
2407     
2408     It's easier to associate names with colours with a smaller gap between
2409     them. (Yes, this will work properly for RTL locales).
2411 commit 2d2d9d90d07080ed18a899dcccc34e99c83a7402
2412 Author: Peter Clifton <pcjc2@cam.ac.uk>
2413 Date:   Sun Oct 26 10:42:58 2008 +0000
2415     Add place-holders for printing paths with different line / fill styles
2416     
2417     Currently, paths are always drawn with a solid stroked outline, and
2418     only solid filling is implemented.
2420 commit bcaf9f8dafcd25335b61b2ea80d071bde720bbd1
2421 Author: Cesar Strauss <cestrauss@gmail.com>
2422 Date:   Sun Oct 26 10:41:31 2008 +0000
2424     Use pkg-config support for Guile if present.
2425     
2426     Using pkg-config allows easier cross-compilation, since the build
2427     process can use a pkg-config binary native to the build machine with .pc
2428     files for the host machine.
2430 commit 690c85d16d63e5350ce67f4f045cfbc8bb10e8aa
2431 Author: Peter Clifton <pcjc2@cam.ac.uk>
2432 Date:   Sat Oct 11 11:11:30 2008 +0200
2434     gschem: save configuration of component dialog
2435     
2436     Save the position of the vpaned widget in the dialog configuration
2437     file.
2438     
2439     (added static function definition suggested by Peter)
2441 commit 90413c7fe36fe73d9ab93a7ceadc0debe2b840ee
2442 Author: Werner Hoch <werner.ho@gmx.de>
2443 Date:   Fri Oct 10 10:41:26 2008 +0200
2445     gschem: show attributes in the component select dialog [#1444029]
2446     
2447     gui code to show the attributes in the component select dialog. The
2448     attributes are taken from the TOPLEVEL structure of the preview
2449     widget.
2450     
2451     The attribute treeview is only created if the GList of the attributs
2452     is not empty and the attributes are only updated if the treeview is
2453     present.
2454     
2455     Added an option that will print all attributes in alphabetical
2456     order. To do that the first element of the option has to be and "*":
2457     (component-dialog-attributes '(*))
2459 commit 0d1615ffc21c995ddc554a407941230eb1ea6677
2460 Author: Werner Hoch <werner.ho@gmx.de>
2461 Date:   Wed Oct 8 20:10:41 2008 +0200
2463     gschem: configs for the attributes in the select dialog [#1444029]
2464     
2465     configuration code to get the attribute list for the component select
2466     dialog into gschem toplevel structure.
2468 commit 2e83bf2b37e093578088eef616e15ee361e85199
2469 Author: Peter TB Brett <peter@peter-b.co.uk>
2470 Date:   Sat Oct 25 20:01:50 2008 +0100
2472     Remove legacy PNG color specifications.
2473     
2474     The configuration files provide a way of specifying colors for PNG
2475     output, but these are never used -- the PNG output just uses the same
2476     color map used for on-screen display. Remove the redundant
2477     specification and associated data structures completely.
2479 commit bbe251bc64ed2db2976a26116d22a69fe678b9fd
2480 Author: Peter TB Brett <peter@peter-b.co.uk>
2481 Date:   Sat Oct 25 18:57:16 2008 +0100
2483     Get rid of s_color_get_index().
2484     
2485     This function is very clearly the Wrong Thing, and could potentially
2486     result in incorrect color indices ending up in schematic files if two
2487     or more color map entries have the same value.
2488     
2489     This patch removes the function entirely, and modifies the Scheme code
2490     which uses it to simply pass color indices around instead. Note that
2491     the results of s_color_get_index() were never actually *used* in the
2492     existing code.
2494 commit f63b79f3483b54a064a2bb74f8355d28232e78fd
2495 Author: Peter TB Brett <peter@peter-b.co.uk>
2496 Date:   Sat Oct 25 18:17:25 2008 +0100
2498     gschem: Add missing break statement.
2499     
2500     Break statement was missed in commit
2501     405f5ac08806c0e7d6c91e8881182b0bdfa5838b.
2503 commit 219f5d708fbe5e26f77808bb08810b96dfa984eb
2504 Author: Peter TB Brett <peter@peter-b.co.uk>
2505 Date:   Sat Oct 25 17:10:53 2008 +0100
2507     gschem: Show colour swatches in color selection combobox.
2508     
2509     Rather than color names, show the color itself. Also hides color
2510     indexes from view, as if users need to know about these during
2511     day-to-day normal usage of gschem then we're doing something very
2512     wrong.
2514 commit 405f5ac08806c0e7d6c91e8881182b0bdfa5838b
2515 Author: Peter TB Brett <peter@peter-b.co.uk>
2516 Date:   Sat Oct 25 17:10:50 2008 +0100
2518     gschem: Translate color names.
2519     
2520     Make the color map names shown in the color selection dialog
2521     translated. Also add the net junction color to the lookup table.
2523 commit 2a4fdb13021d0153e788fe3b2fc005f273dcdf4b
2524 Author: Peter TB Brett <peter@peter-b.co.uk>
2525 Date:   Tue Oct 21 16:52:09 2008 +0100
2527     Validate calls to scm_c_eval_string(). [2105219]
2528     
2529     Because the reporter's version of Guile is broken, a lovely garbage
2530     collector segfault occurs if a null string is passed to
2531     scm_c_eval_string().
2532     
2533     For now, wrap all calls to scm_c_eval_string() with mutable arguments
2534     in g_scm_c_eval_string_protected(), and since the latter function
2535     seems to behave when passed a NULL string this bug should just go
2536     away.
2538 commit 87a19a19e52a37f8ad14ae0c4c68f3292b0c3285
2539 Author: Werner Hoch <werner.ho@gmx.de>
2540 Date:   Sat Oct 11 16:21:34 2008 +0200
2542     gschem: redraw empty preview on configure events [#2159047]
2543     
2544     If the preview widget contained an empty page, the redraw failed. In
2545     the preview_event_configure() function the function a_zoom_extents()
2546     returns without drawing if there are no objects on the page. Thus I've
2547     added a complement logic to redraw the background of the preview if
2548     required.
2550 commit f76f82985f325d436e3522359a5b3f7d0a2344ea
2551 Author: Werner Hoch <werner.ho@gmx.de>
2552 Date:   Sat Oct 11 13:13:36 2008 +0200
2554     gschem: prevent hierarchy symbol down there's file [#1861665]
2555     
2556     Only try to load real existing files.
2558 commit f0a96de8b545dbd900e87db6abf54a0b6df830ab
2559 Author: Werner Hoch <werner.ho@gmx.de>
2560 Date:   Sat Oct 11 09:02:03 2008 +0200
2562     .gitignore: log files and source tagging files added
2563     
2564     Added the files of the "global" source tagging program
2565     and the logfiles of the gEDA programs to .gitignore.
2567 commit f5205cdb145a423012f446b16d0211005b55695e
2568 Author: Peter Clifton <pcjc2@cam.ac.uk>
2569 Date:   Wed Oct 8 19:54:55 2008 +0100
2571     Cleanup whitespace errors introduced in last commit
2572     
2573     (Introduces toplevel convenience variable to cut down on line lengths)
2575 commit 7e6e166d3f594ee822ef615e8766a3f712b5f80c
2576 Author: Werner Hoch <werner.ho@gmx.de>
2577 Date:   Sun Oct 5 15:54:18 2008 +0200
2579     gschem: suggest a filename in the saveas file dialog [#2001387]
2580     
2581     If a schematic is saved the first time, put a suggested name
2582     ("untitled.sch") into the file saveas dialog.
2584 commit f58328ec7a4d445b98b67a63b23647f25ae7bb4c
2585 Author: Werner Hoch <werner.ho@gmx.de>
2586 Date:   Sun Oct 5 10:01:03 2008 +0200
2588     gschem: code and test file for the net selection patch
2589     
2590     This commit adds the main functionality to gschem. The new function
2591     o_select_connected_nets() will select nets depending on the configured
2592     net_selection_mode and the current net_selection_state.
2593     
2594     The implementation uses two stacks for traversing the connections. The
2595     netnames stack contains all connected netnames and the net stack
2596     contains a collection of all currently collected nets.
2597     
2598     Note: The search for the netnames is very expensive, because of the
2599     required search of all netnames in all objects.
2600     The default net_selection_mode in system-gschemrc is set to "enable-net",
2601     only the directly connected nets are selected.
2602     
2603     The functionality can be testet with the test schematic
2604     tests/net_selection.sch.
2605     
2606     This patches are based on the work of Franz Mottas [1895538].
2608 commit d0c0a23543aaa266a63799d4decff58768cf961b
2609 Author: Werner Hoch <werner.ho@gmx.de>
2610 Date:   Sun Oct 5 09:58:29 2008 +0200
2612     variables and configuration for net selection patch
2613     
2614     The net selection lets you select all connected segments of a single
2615     net segment. The behaviour can be configured with the net-selection-mode
2616     variable in system-gschemrc.
2617     
2618     This patch is based on the work of Franz Mottas [1895538].
2620 commit 392dd3354812e812f548eadac2c83d8430acd7bf
2621 Author: Peter Clifton <pcjc2@cam.ac.uk>
2622 Date:   Mon Sep 29 01:19:39 2008 +0100
2624     Remove conditionally compiled code for GTK/GLIB < 2.6
2626 commit 2b36577f5634ff99e919773c4e34aa2e39dbce51
2627 Author: Ales Hvezda <ahvezda@seul.org>
2628 Date:   Sun Sep 28 14:09:50 2008 -0400
2630     Added code to do something more sane when trying to print tabs
2631     
2632     Previously if a tab character was encountered in a text string, the
2633     postscript output code would output a Y with a dot on top.  This is
2634     clearly not a tab character.  The patch adds explict handling of the tab
2635     character to output 8 spaces instead.  Not perfect, but better behavior
2636     than before.
2638 commit c9f4ae9298141915f11214d6339c4d9a27bb3eee
2639 Author: Peter Clifton <pcjc2@cam.ac.uk>
2640 Date:   Sun Sep 28 18:40:55 2008 +0100
2642     gschem: Add ./configure support for detecting and disabling cairo
2643     
2644     Since some users might not have cairo installed, and the intention
2645     is to retain support for the old GDK drawing code (for now),
2646     --disable-cairo is added to allow conditional compilation.
2648 commit 9d9d09b0bddba85b5712cb063f3a6b806550cb3b
2649 Author: Peter Clifton <pcjc2@cam.ac.uk>
2650 Date:   Sun Sep 28 18:40:55 2008 +0100
2652     gschem: Bump minimum GTK / GLIB version requirement to 2.8
2653     
2654     This is needed to enable the use of cairo rendering functions.
2655     
2656     Remove AC_DEFINE for HAS_GTK24 since it isn't used. Switch configure.ac
2657     variables such as GTK24_... to use just GTK_..., since we don't need to
2658     specify the version in those. It just makes bumping the version harder.
2660 commit 900274f0d6b08031f7cfc18a332da6b1939a44d1
2661 Author: Peter Clifton <pcjc2@cam.ac.uk>
2662 Date:   Sun Sep 28 18:40:55 2008 +0100
2664     Fix non-literal format strings which cause compiler warnings.
2665     
2666     We should be careful to avoid passing arbitrary strings into functions
2667     which take printf style arguments. In that case, always use the construct
2668     ("%s", string) rather than passing string as the format argument.
2669     
2670     Some cases were fixed by using g_strdup instead of g_strdup_printf(),
2671     some simply replace printf() for puts().
2673 commit d424abcf4e93934fd6268d9cb186f7415e0e83c2
2674 Author: Ales Hvezda <ahvezda@seul.org>
2675 Date:   Sun Sep 28 13:21:42 2008 -0400
2677     Removed unused OBJ_ROUTE and OBJ_THRU_HOLE object types
2679 commit 2550db8e1d981ccab55b7f2ae6e9932198a53b59
2680 Author: Peter Clifton <pcjc2@cam.ac.uk>
2681 Date:   Sun Sep 28 01:03:06 2008 +0100
2683     Make o_..._add() into o_..._new() which don't link the new OBJECT.
2684     
2685     Allows cleaner use of objects where we might want to insert the object
2686     into a GList rather than a self-linked list of OBJECTs.
2688 commit b74ce15668b87380fb348a94aab6452eba6f5551
2689 Author: Peter Clifton <pcjc2@cam.ac.uk>
2690 Date:   Sat Sep 27 22:58:09 2008 +0100
2692     Use g_return_if_fail to exit o_drawbounding() if called with a NULL list.
2693     
2694     Function previously returned silently, lets log this as an error
2695     condition if it should happen.
2697 commit 853f1ef289fb7ebd7406ede1e48940a07772a756
2698 Author: Peter Clifton <pcjc2@cam.ac.uk>
2699 Date:   Sat Sep 27 22:50:20 2008 +0100
2701     Remove some commented out code in x_window_create_main () (CODE!)
2702     
2703     Tidyup where the window used to be painted black at startup.
2705 commit 0f93a4b4d52da6c7c34c6420cdb93263d5b5bbdc
2706 Author: Peter Clifton <pcjc2@cam.ac.uk>
2707 Date:   Sat Sep 27 02:03:13 2008 +0100
2709     Make use of new object invalidating API to avoid duplicated code.
2711 commit 04774120c0ab1701e10fcc2709cd3a9963d0a54f
2712 Author: Peter Clifton <pcjc2@cam.ac.uk>
2713 Date:   Sat Sep 27 02:00:47 2008 +0100
2715     Add API for invalidating drawing of a given object or list of objects.
2716     
2717     Avoids needing to lookup and pass bounds of an object being invalidated.
2718     
2719     Adds:
2720       void o_invalidate_all (GSCHEM_TOPLEVEL *w_current);
2721       void o_invalidate (GSCHEM_TOPLEVEL *w_current, OBJECT *object);
2722       void o_invalidate_list (GSCHEM_TOPLEVEL *w_current, OBJECT *list);
2723       void o_invalidate_glist (GSCHEM_TOPLEVEL *w_current, GList *list);
2725 commit 1fffc27a3b62cc32a70edcc1ee89ff458318c6bc
2726 Author: Peter Clifton <pcjc2@cam.ac.uk>
2727 Date:   Fri Sep 26 00:57:52 2008 +0100
2729     Add support for arbitrary paths (filled and unfilled)
2730     
2731     The data-structures and on-disk format (which utiliseSVG style path
2732     strings) support stright line and bezier curve segments. Paths can be
2733     closed or open, and store line style and fill information in common with
2734     other geda objects.
2735     
2736     The path string parser is based on (slightly modified) code from librsvg
2737     version 2.22.2 (LGPL). Code from rsvg-path.c and rsvg-bpath-util.c
2738     (Copyright (C) 2000 Eazel, Inc.) was combined to form libgeda/src/s_path.c.
2739     These have been modified to use gEDA defined path data structures.
2740     
2741     The rendering implementation is based upon a small porion of the function
2742     rsvg_cairo_render_path (..) from rsvg-cairo-draw.c
2743     
2744     The parser still retains support the full richness of SVG path strings,
2745     although all instructions are subsequently normalised on to move, line, bezier
2746     and "close path" records. This support retained for convenience when entering
2747     artwork (which can be copied from an SVG editor). When saved, normalised paths
2748     are written out.
2749     
2750     The current rendering and shortest-distance computations are limited to
2751     straight line segments. Bezier segments, where encountered are treated
2752     as a straight line between their two endpoints.
2754 commit e9f4a9a4bb05bc554e165b2215f8e7358b2315de
2755 Author: Peter Clifton <pcjc2@cam.ac.uk>
2756 Date:   Fri Sep 26 00:57:44 2008 +0100
2758     Move some static variables inside o_grips.c to GSCHEM_TOPLEVEL
2759     
2760     This is necessary for grip manipulation of more complex OBJECT types
2761     such as the forthcoming PATHs. As the entire drawing state can't of a
2762     path can't conveniently be stashed in the GSCHEM_TOPLEVEL variables
2763     such as first_w{x,y}, second_w{x,y} etc., we need to reference the
2764     OBJECT and grip being manipulated from the drawing functions which
2765     are outside o_grips.c.
2767 commit ec2e929742bb682be52d02818916b1f57c343e48
2768 Author: Peter Clifton <pcjc2@cam.ac.uk>
2769 Date:   Wed Sep 24 01:07:37 2008 +0100
2771     libgeda: Set complex_parent on all prim objects, not just their HEAD node
2772     
2773     Allows a primitive object inside a COMPLEX to be linked back to the
2774     COMPLEX without traversing to the HEAD node of the prim_objs list.
2776 commit b14f3bf215963529b89f650ff3bd6f0b0c90450f
2777 Author: Peter Clifton <pcjc2@cam.ac.uk>
2778 Date:   Wed Sep 24 00:57:57 2008 +0100
2780     gschem: Don't add invalid attributes to the multiattrib dialog list
2781     
2782     Since we can't edit them, don't treat them as attributes.
2783     
2784     Gschem validates attributes upon creation, so an invalid attribute
2785     attached to an object must come from a hand-edited file, or a text
2786     object which has been attached to an object. (Validation that the
2787     text item is a valid attribute isn't performed in that code-path).
2788     
2789     In the future we might want to add validation of attributes at
2790     file-load and at before attaching text OBJECTs to a COMPLEX.
2792 commit acb96234eed1e51ab22b17cd718d5f627d292a96
2793 Author: Peter Clifton <pcjc2@cam.ac.uk>
2794 Date:   Mon Sep 22 02:05:14 2008 +0100
2796     gschem: Fix left/right scroll events to move the schematic left/right.
2797     
2798     Commit which broke this was 048bd6f8e2fc1c5f5b01ff3f1cad3a7c9bf43f3e.
2799     
2800     Looks like I broke the behaviour when I refactored the x_event_scroll()
2801     to support a more "gtk" style modifier binding as well as the classic
2802     gschem behaviour. The refactored code inadvertently lumped up/down and
2803     left/right scroll events together as if they were up/down events.
2804     
2805     Up/down scroll events retain their existing behaviour and act according
2806     to the (scroll-wheel "{gtk|classic}") configuration setting. Left/right
2807     scroll events now always scroll the schematic left and right,
2808     irrespective of modifier key.
2810 commit 45efb32383b15576cc98a95e1d93d44793e6f2e8
2811 Author: Peter Clifton <pcjc2@cam.ac.uk>
2812 Date:   Mon Sep 22 01:54:24 2008 +0100
2814     Move calls to attribute promotion code from inside o_complex_add()
2815     
2816     Previously o_complex_add() would perform attribute promotion or delete /
2817     hide eligible attributes depending on the "attribute_promotion" argument
2818     passed to o_complex_add(). Break these into separate operations:
2819     
2820     1. Get / add to OBJECT list, a single complex object with o_complex_add().
2821        This object has its prim_objs exactly as the symbol exists on disk.
2822     2. EITHER:
2823          Promote the eligible attribtues with o_complex_promote_attribs().
2824          (For GList based processing use o_complex_get_promotable(), attach
2825           the returned objects as attribs and place in the appropriate GList.)
2826        OR:
2827          Delete / hide eligible attributes with
2828          o_complex_remove_promotable_attribs()
2829     
2830     All behaviour relating to attribute promotion should be identical after
2831     this commit. If not, it is a bug should be reported. (This includes the
2832     insertion order of the OBJECT and it's attributes into the object list).
2834 commit 9993a0c13cc1b1aa5bb0c61a7355e89cd8f37fca
2835 Author: Peter Clifton <pcjc2@cam.ac.uk>
2836 Date:   Wed Sep 17 19:33:03 2008 +0100
2838     Remove un-necessary use of o_list_search()
2839     
2840     g_make_attrib_smob_list() and o_attrib_return_attribs() are passed the
2841     object they are operating on directly. There is no need to prove it can
2842     be found in the object list as well.
2844 commit 1745bca0359488bb6f8bd06d84f7ae952e48d665
2845 Author: Peter Clifton <pcjc2@cam.ac.uk>
2846 Date:   Wed Sep 17 19:24:59 2008 +0100
2848     Remove unused TOPLEVEL variable object_parent
2850 commit 7baf5c629eb620e7db9b3fa5837cc07bdfe29f4f
2851 Author: Peter Clifton <pcjc2@cam.ac.uk>
2852 Date:   Thu Sep 11 21:36:35 2008 +0100
2854     libgeda: Tidy o_attrib_attach() harder
2855     
2856     Remove searching in parent_list for the attribute we're about to attach.
2857     This check isn't needed, we were passed the attribute as an argument.
2858     Let the caller be responsible for making sure it is linked into the
2859     appropriate object list.
2861 commit 29010f3c07076c31eaaf39a0209b6b9e8cd7cadd
2862 Author: Peter Clifton <pcjc2@cam.ac.uk>
2863 Date:   Thu Sep 11 18:34:35 2008 +0100
2865     Use gtk_window_set_transient_for() not a GObject property. Fix #2075842
2866     
2867     Revert part of the changes made in 1aaf6613a7c6991d858c1143ed3917675a115a5a
2868     
2869     Author: Patrick Bernaud <b-patrick@wanadoo.fr>
2870     Date:   Fri Jul 25 17:52:40 2008 +0200
2871     
2872         Move selection monitoring out of the multi attrib widget.
2873     
2874         Reinstated the 'object' property for multi attrib widget in place of
2875         the 'selection' one: the widget does not have to mess with selections,
2876         it is only interested in objects. Moved the selection watch stuff
2877         outside.
2878     
2879     This commit changed an unrelated setting from using a widely supported API,
2880     to a GObject property only introduced in GTK+ 2.10. Changing it back now!
2882 commit b4ed5e92d203c7449b7d33e924a41b093e1de930
2883 Author: Peter TB Brett <peter@peter-b.co.uk>
2884 Date:   Tue Aug 26 12:55:07 2008 +0100
2886     Remove duplicate definitions of do_logging.
2887     
2888     Also sets the default in libgeda to TRUE.
2890 commit 6a7ab649d6f77ccab9be7f3562197c2d15d92ee7
2891 Author: Peter TB Brett <peter@peter-b.co.uk>
2892 Date:   Mon Aug 25 18:39:22 2008 +0100
2894     gschem: Tidy list of source files.
2895     
2896     Purely for readability of the Makefile.am.
2898 commit a974a4c6d2c233c9209c5b4597f7d4f86154f484
2899 Author: Peter Clifton <pcjc2@cam.ac.uk>
2900 Date:   Sun Aug 24 22:27:28 2008 +0100
2902     Remove default-series-name from all rc files
2903     
2904     Fixes brokenness leftover from previous removal of "series_name".
2906 commit 9a54c6de1fa6af39ec97b8bb0cd1a251094ad3f1
2907 Author: Peter Clifton <pcjc2@cam.ac.uk>
2908 Date:   Sun Aug 17 01:34:20 2008 +0100
2910     Only explicitly switch object types which are "special" in o_move.c
2911     
2912     For other objects, which should use the default move action, use the
2913     "default:" construct, rather than explicitly listing them in
2914     "case OBJ_...:" statements. This makes adding new objects types simpler.
2916 commit bcda75d109f12bc4d763bcaa05c08cbf3f0451c1
2917 Author: Peter Clifton <pcjc2@cam.ac.uk>
2918 Date:   Sun Aug 17 01:33:56 2008 +0100
2920     Remove some unused #defines from o_text.c
2922 commit a19feb2bf0e13ad3d030dfbb126a2b0558db6add
2923 Author: Peter TB Brett <peter@peter-b.co.uk>
2924 Date:   Sat Aug 16 22:28:52 2008 +0100
2926     Bring back default Postscript filename.
2927     
2928     The print dialog has recently stopped providing a default filename for
2929     the Postscript output, due to a regression introduced in
2930     a3513b7e6dc7bf6c36d95d4da86082beeb79831d.
2932 commit 1a1460c65a9d4e0aee35e39fff0f083c95bd380d
2933 Author: Peter Clifton <pcjc2@cam.ac.uk>
2934 Date:   Sat Aug 16 19:18:24 2008 +0100
2936     Remove the ATTRIB struct as it only contained one variable.
2937     
2938     The OBJECT.attribs GList now points directly at the text objects which
2939     hold and display the attribute name and value.
2941 commit 2fe94f7887ccf4b990bb285fc9def966ce857e0b
2942 Author: Peter TB Brett <peter@peter-b.co.uk>
2943 Date:   Sat Aug 16 18:32:53 2008 +0100
2945     gschem: Use accessors to get/set TEXT strings.
2946     
2947     Don't access the TEXT struct directly.
2949 commit 6718a8d2187b4a871051eee299cef8bbbef02280
2950 Author: Peter TB Brett <peter@peter-b.co.uk>
2951 Date:   Sat Aug 16 18:10:53 2008 +0100
2953     gschem: Pass dialog to multiattrib treeview data funcs.
2954     
2955     The cell data funcs for the multi-attribute editor dialog's treeview
2956     need to have access to a libgeda TOPLEVEL to be able to use
2957     o_text_get_string(). The obvious thing to do is to pass in a pointer
2958     to the dialog (which contains a pointer to the GSCHEM_TOPLEVEL, etc)
2959     as the user data pointer.
2961 commit 0865651615cf79b1392c34381cbee3095faa5a01
2962 Author: Peter TB Brett <peter@peter-b.co.uk>
2963 Date:   Sat Aug 16 16:47:10 2008 +0100
2965     gschem: Fixup installation of drawing callbacks.
2966     
2967     Now libgeda properly declares them, can just set the function pointers
2968     in gschem's initialisation function.
2970 commit 1bfa2bacae85a59758c6b6ddb16bc62362b9ac7e
2971 Author: Peter Clifton <pcjc2@cam.ac.uk>
2972 Date:   Sat Aug 16 15:48:00 2008 +0100
2974     gschem: Add #define LAST_DRAWB_MODE_NONE -1
2975     
2976     This flag will be used to indicate that the bounding box was not drawn
2977     onto the page at all yet.
2979 commit 288d9e67af83f03534398319d0e8ad16fa631fb0
2980 Author: Peter Clifton <pcjc2@cam.ac.uk>
2981 Date:   Sat Aug 16 15:48:00 2008 +0100
2983     Move gschem defines from libgeda into gschem/include/gschem_defines.h
2984     
2985     Whilst we're at it, remove some unused definitions.
2987 commit 80f19b131300110c67d332193959e33f230f0b1d
2988 Author: Peter Clifton <pcjc2@cam.ac.uk>
2989 Date:   Sat Aug 16 15:47:59 2008 +0100
2991     gschem: Create new include file, "gschem.h" to various gschem headers
2993 commit a27996354d61af13a4f0a1eed2db4b979b7f148f
2994 Author: Peter Clifton <pcjc2@cam.ac.uk>
2995 Date:   Sat Aug 16 15:47:59 2008 +0100
2997     gschem: Pass GTK's CFLAGS into GSCHEM_CFLAGS. Don't rely on LIBGEDA_CFLAGS
2998     
2999     libgeda really shouldn't be pulling in GTK, so we need to do it properly
3000     ourselves.
3002 commit 2e87904a34cd5ad58bc8a9511dd5915adf9df405
3003 Author: Peter Clifton <pcjc2@cam.ac.uk>
3004 Date:   Sat Aug 16 15:47:58 2008 +0100
3006     libgeda: Rename gtk_[outline_]color variables gdk_... to their types
3007     
3008     Also added NULL initaliser for gdk_outline_color which was missing.
3010 commit 11a2692a1ab8bcee14178286fd719d1ec39e6b9a
3011 Author: Peter TB Brett <peter@peter-b.co.uk>
3012 Date:   Sat Aug 16 15:24:16 2008 +0100
3014     Draw func cleanup.
3015     
3016     Rather than having libgeda require other applications to provide the
3017     *_draw_func symbols, libgeda should provide them itself. Other
3018     applications should then override them as required near their call to
3019     libgeda_init().
3021 commit 62a38eefd8d3d9f84d8aeb78e2a1e365080d819c
3022 Author: Peter TB Brett <peter@peter-b.co.uk>
3023 Date:   Fri Aug 15 22:48:11 2008 +0100
3025     Make some string arguments const.
3026     
3027     In a few places, strings are being passed into functions and no
3028     changes are made to them. Mark these arguments as const.
3030 commit 11fa9b447a32bbee93734628233f6ca5b807c740
3031 Author: Peter Clifton <pcjc2@cam.ac.uk>
3032 Date:   Fri Aug 15 12:36:53 2008 +0100
3034     gschem: Only add nets and buses to the stretch list. (CODE THIS TIME!)
3035     
3036     Only nets and buses are rubberbanded, so there is no point adding other
3037     connected items (such as pins) into the stretch list.
3038     
3039     This fixes a bug where pins attached to nets being moved disappear if
3040     the user pans whilst moving. (The objects in the stretch list are marked
3041     "don't redraw" when starting a move operation.)
3042     
3043     To avoid nesting (yet another) huge "if" clause in the length of the loop
3044     in o_move_check_endpoint(), the loop has been re-written as a "for" loop
3045     to ensure its iterator is incremented when the loop is "continue"'d.
3046     The various nested : if (test) {...}          // wrapping the loop's core
3047     are now:             if (!test) continue;
3049 commit 25c4e8e0a45dbe9abe664be23240eafd903e7814
3050 Author: Peter Clifton <pcjc2@cam.ac.uk>
3051 Date:   Fri Aug 15 11:26:26 2008 +0100
3053     Check toplevel->DONT_REDRAW before redrawing text
3054     
3055     There is no point in trying to draw text if it is not wanted on screen.
3056     Rendering of the underlying line-segments would just be stopped anyway
3057     in o_line_draw(), where there is also such a test.
3059 commit 675738b3b7a0c37e3511297040c3abc59619dd0c
3060 Author: Peter TB Brett <peter@peter-b.co.uk>
3061 Date:   Thu Aug 14 23:27:12 2008 +0100
3063     libgeda: Hide o_*_recalc() from public API.
3064     
3065     Applications which wish to force recalculation of an OBJECT's bounds
3066     should use o_recalc_single_object().
3068 commit 8f1a084c1e26cc08cdab08a1c44e7e802cbdbec8
3069 Author: Peter TB Brett <peter@peter-b.co.uk>
3070 Date:   Thu Aug 14 23:27:12 2008 +0100
3072     libgeda: Hide world_get_*_bounds() from public API.
3073     
3074     Applications which wish to retrieve an OBJECT's bounds should use
3075     world_get_single_object_bounds().
3077 commit a504567fa312888bd3e467f01f68eadaf6c0440d
3078 Author: Peter TB Brett <peter@peter-b.co.uk>
3079 Date:   Thu Aug 14 18:45:47 2008 +0100
3081     gschem: Add 1.6 compat. for scm_from_locale_symbol() [2051731]
3082     
3083     The new Scheme prompt in gschem uses scm_from_locale_symbol(), which
3084     isn't present in Guile 1.6.x. Add it to the compatibility layer.
3086 commit 57815bd72e62999193641f301af9184c0d524cf6
3087 Author: Peter TB Brett <peter@peter-b.co.uk>
3088 Date:   Wed Aug 13 23:30:35 2008 +0100
3090     Print command is a gschem setting.
3091     
3092     Move print command from TOPLEVEL to GSCHEM_TOPLEVEL, and move static
3093     defaults too.
3095 commit 19f5e9965dc12818b0d4f2771b020989065a83fb
3096 Author: Peter TB Brett <peter@peter-b.co.uk>
3097 Date:   Wed Aug 13 23:30:35 2008 +0100
3099     gschem: Add infrastructure for string options.
3100     
3101     There are still some gschem settings in libgeda just because they take
3102     string values. This patch makes it possible to boot them out.
3104 commit 46eda8a55b9197f7a24d5b04ff94cedc1abc74fe
3105 Author: Peter TB Brett <peter@peter-b.co.uk>
3106 Date:   Wed Aug 13 23:06:03 2008 +0100
3108     Name i_vars_... functions consistently.
3109     
3110     Apps should use i_vars_blah(), libgeda uses i_vars_libgeda_blah().
3112 commit 0fe03039f1eda8b1c2aab1701948532513e920fe
3113 Author: Peter TB Brett <peter@peter-b.co.uk>
3114 Date:   Wed Aug 13 22:38:44 2008 +0100
3116     gschem: Don't use default_scheme_directory.
3117     
3118     gschem uses default_scheme_directory to find gschem.scm. It doesn't
3119     need to, because libgeda should have already set the Guile load path
3120     correctly by this point.
3122 commit b26a13cbf455297ab27702fb9964e947e83bd30b
3123 Author: Peter TB Brett <peter@peter-b.co.uk>
3124 Date:   Wed Aug 13 15:06:43 2008 +0100
3126     Revert "Fix for dialogs drifting downwards on Cygwin/X."
3127     
3128     This reverts commit d86ac8ce4b16d41699ec64a3d88fd8d2c760b770. The
3129     effects were so annoying on non-broken X servers that another solution
3130     needs to be found.
3132 commit 6f42af29cfe5c70203ce6b881d48d904c1bb0fc7
3133 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
3134 Date:   Wed Aug 13 02:18:41 2008 +0100
3136     o_grips_start(): Propagate world coords of pointers to o_grips_start_*()
3137     
3138     The (unused) x and y parameters to o_grips_start_*() were previously
3139     passed as 0, 0.
3140     
3141     It seems obviously right to me to propagate w_x and w_y, even if the
3142     target object pulls the pointer position out of w_current again, which
3143     itself is quite evil.
3145 commit 0db6ea2341ce7cc8c631df75c4d3c30390590b29
3146 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
3147 Date:   Wed Aug 13 01:55:59 2008 +0100
3149     Split OBJECT allocation from its initialization.
3150     
3151     Split memory allocation for OBJECTs out of s_basic_init_object(). Add a
3152     new helper function s_basic_new_object() which allocates memory for the
3153     OBJECT structure, then calls s_basic_init_object().
3154     
3155     These changes make it possible to embed an OBJECT structure within
3156     another struct, or to initialise an OBJECT in static memory.
3157     
3158     (Patch modified by Peter Clifton)
3160 commit 0d28977cd5e275a799ec3773f302ddf9b9544fd3
3161 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
3162 Date:   Wed Aug 13 01:48:12 2008 +0100
3164     gschem: Erase the newly placed attribute before changing its position.
3165     
3166     Changing the position first then erasing causes the wrong bounding
3167     rectangle on the screen to be invalidated.  We need to invalidate the
3168     bounding rectangle of the *old* position.
3170 commit 6c9b043233a645f6293d62f5a8c598cd5f95940b
3171 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
3172 Date:   Wed Aug 13 01:33:45 2008 +0100
3174     o_picture_rubberbox(): Update comments to reflect reality.
3175     
3176     Coordinates passed are in world units, not screen.
3178 commit 7bdd0362b87bcfc29a647f650a2d610465314526
3179 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
3180 Date:   Wed Aug 13 01:33:45 2008 +0100
3182     o_arc_rubberarc(): Document the effect of moving each grip.
3183     
3184     The documentation was elsewhere far away.  Moving it closer to the
3185     arc moving code mitigates the "action at a distance" antipattern.
3187 commit 17c64b764cb42afc8d5b80a66361029655dd644b
3188 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
3189 Date:   Tue Aug 12 23:36:35 2008 +0100
3191     s_basic_init_object(): Set OBJECT type according to new parameter.
3193 commit 235d219c4c9b96409cd4b95be3960e7e9f2689eb
3194 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
3195 Date:   Tue Aug 12 23:36:35 2008 +0100
3197     Add header guard.
3199 commit 3d09a3fffd1f97816583ca92d73d0c792646bf2e
3200 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
3201 Date:   Sun Aug 10 00:19:01 2008 +0200
3203     Rather pass the user-supplied scripting command to a scheme dispatcher.
3204     
3205     Passing the command to a scheme dispatcher gives the configuration files
3206     an opportunity to define the language in which these scripting commands
3207     are interpreted.  It doesn't really need to be scheme, but it is for now.
3208     
3209     (New patch with changes suggested by Peter TB Brett.)
3211 commit 4ef611b6e1cc6eb47538148ce1d196d495313969
3212 Author: Edward Hennessy <ehennes@sbcglobal.net>
3213 Date:   Fri Jul 18 20:24:46 2008 -0700
3215     Altered point selection mechanism to use distance instead of just a bounding box.
3216     
3217     This patch improves the mechanism used to select objects when using a single
3218     point.  In addition to using the bounding box, this patch calculates the
3219     distance between the selection point and the object itself.  This calculated
3220     distance provides a more accurate means to determine the actual object the user
3221     selected.
3222     
3223     Signed-off-by: Peter TB Brett <peter@peter-b.co.uk>
3225 commit 371c37024225e506b1018445e61f4392e13d7db9
3226 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
3227 Date:   Thu Aug 7 01:19:04 2008 +0200
3229     Make the current page accessible to scheme.
3230     
3231     Signed-off-by: Peter TB Brett <peter@peter-b.co.uk>
3233 commit 4f7b81ccb2246c8eae803ce13dd3927f5743b3ad
3234 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
3235 Date:   Wed Aug 6 23:40:26 2008 +0200
3237     Don't expect a "rest" argument in the i_callback_*() functions.
3239 commit d86ac8ce4b16d41699ec64a3d88fd8d2c760b770
3240 Author: Cesar Strauss <cestrauss@gmail.com>
3241 Date:   Sun Sep 16 16:56:18 2007 -0300
3243     Fix for dialogs drifting downwards on Cygwin/X.
3244     
3245     On Cygwin/X, reopening a gschem dialog restores its original position,
3246     but with a small vertical offset.
3247     
3248     The workaround is to show the dialog before restoring its position.
3249     
3250     The docs for gtk_window_move() offer a possible justification:
3251       "Most window managers ignore requests for initial window positions
3252       (instead using a user-defined placement algorithm) and honor requests
3253       after the window has already been shown."
3254     
3255     The downside is, if you have a slow system, you could see the dialog
3256     appear briefly at the old position, I suppose.
3258 commit 713225e719fa1bab8bc4b31dfc3cd50ea6c44f4e
3259 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
3260 Date:   Tue Jul 8 02:15:46 2008 +0200
3262     Add the magic colon to the global keymap.
3264 commit cae8edda94f240d5bbdae08d6f8b67a037e0e6ba
3265 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
3266 Date:   Tue Jul 8 01:13:49 2008 +0200
3268     Use g_scm_c_eval_string_protected() so we don't crash on bad forms.
3270 commit 57fc3a940f9609b45d26cb73b696ffcd1df15c58
3271 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
3272 Date:   Mon Jul 7 04:46:19 2008 +0200
3274     Invoke scheme forms from a command prompt below the drawing area.
3276 commit 61255c9b68aeae2ae845eea82babf445036a72f1
3277 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
3278 Date:   Sat Aug 2 12:11:19 2008 +0100
3280     Allow key bindings to accept a REST argument list.
3281     
3282     In order to support adding optional arguments to key bindings, the
3283     function signature of ALL the bindings has to change.
3284     
3285     Supply REST (if available) or SCM_EOL (no extra arguments) where the
3286     caller is a C function.
3287     
3288     Conflicts merged by Peter B:
3289     
3290         gschem/include/prototype.h
3291         gschem/src/x_event.c
3293 commit da5b6b6ae5848d988c22ed5528917bf050a54a2d
3294 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
3295 Date:   Thu Jan 17 03:12:39 2008 +0200
3297     Desensitise function signature to function pointer parameters.
3298     
3299     func_ptr gets assigned to last_callback anyway, which itself
3300     does not specify any formal parameters.
3302 commit 1e247aeb7a4f568578bd8612f886d7f64f24c858
3303 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3304 Date:   Fri Aug 1 14:37:48 2008 +0200
3306     Keep raising the page changed flag local to mutation for o_attrib_toggle_*().
3307     
3308     Reverted the settings of the CHANGED flag in o_attrib_toggle_*(): they
3309     had been moved inadvertently to i_callback_*() functions (see commits
3310     903e06d9fc9253e87e530bfaec2e8386664d464f and
3311     fd51b8163c5af2d8124dc7afb1ca1c4bfa944fe6) while they really should
3312     stay close to where the object is modified.
3313     
3314     Problem reported by Bernd Jendrissek on gEDA-dev.
3316 commit f154fcb921e75e7940e0b4dbd9ad5bab6a61e704
3317 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3318 Date:   Sat Jun 28 12:14:00 2008 +0200
3320     Enable promotion of attributes when adding a component from guile.
3321     
3322     g_add_component()/add-component-at-xy was adding component with
3323     attribute promotion turned off.  This change fixes bug [#1932474].
3325 commit 0c8b23528692e0d9406503a400c71dd458cea878
3326 Author: Peter Clifton <pcjc2@cam.ac.uk>
3327 Date:   Tue Jul 29 03:26:07 2008 +0100
3329     Remove the unused TEXTENTRY state
3331 commit a90588ec6566f944756800f38f74a02f867dca87
3332 Author: Peter Clifton <pcjc2@cam.ac.uk>
3333 Date:   Tue Jul 29 03:18:39 2008 +0100
3335     Remove the TOPLEVEL variable internal_symbol_name which is now redundant.
3336     
3337     Also removes functions which set and free'd this variable:
3338       o_complex_set_filename()
3339       o_complex_free_filename().
3341 commit d1ff81f8d8a1d18781f8cb7c4476417947a61cec
3342 Author: Peter Clifton <pcjc2@cam.ac.uk>
3343 Date:   Tue Jul 29 03:18:38 2008 +0100
3345     Remove the TOPLEVEL variable current_attribute which is now redundant.
3346     
3347     Also removes functions which set and free'd this variable:
3348       o_attrib_set_string()
3349       o_attrib_free_current().
3351 commit d3b75982a9507c05cb2699ae9d875fa344608196
3352 Author: Peter Clifton <pcjc2@cam.ac.uk>
3353 Date:   Tue Jul 29 03:11:27 2008 +0100
3355     Add support for rotating whilst placing
3356     
3357     Due to the consolidation of the OBJECT place code, rotation can now
3358     work across uniformly various different placemenet actions.
3360 commit 0eea7587957ef3e01c2d1942d7bc6c940c237e4a
3361 Author: Peter Clifton <pcjc2@cam.ac.uk>
3362 Date:   Tue Jul 29 03:05:11 2008 +0100
3364     Remove un-necessary variable w_current->rotated_inside.
3365     
3366     The rotation of placed objects is always started at zero degrees, and
3367     since the rework of the copy / place code, is done on the fly. Remove
3368     the old code to track the angle rotated during placement.
3369     need to track the rotation angle
3371 commit 1e4eb30f7cab3f3cb9e49478ed05d24cba99858b
3372 Author: Peter Clifton <pcjc2@cam.ac.uk>
3373 Date:   Tue Jul 29 03:05:02 2008 +0100
3375     Remove un-necessary variable w_current->complex_rotate.
3376     
3377     The rotation of placed objects is always started at zero degrees, and
3378     since the rework of the copy / place code, is done on the fly. Remove
3379     the old code to track the angle rotated during placement.
3380     need to track the rotation angle
3382 commit aa7fb5c523e57cf7e3bbb4224e0ffbbf524ab95e
3383 Author: Peter Clifton <pcjc2@cam.ac.uk>
3384 Date:   Tue Jul 29 03:04:24 2008 +0100
3386     Consolidate specialised o_..._rubber...() and o_..._rubber...__xor()
3387     
3388     Since these operations now use the same place list, we can share code.
3390 commit e931091e28f90e7bd0f755ee30665cc5b7461b74
3391 Author: Peter Clifton <pcjc2@cam.ac.uk>
3392 Date:   Tue Jul 29 03:00:59 2008 +0100
3394     gschem: Combine code for operations which handle placement of OBJECTs.
3395     
3396     Replaces duplicated code related to component / text placement, copying /
3397     multi-copying objects and pasting from buffers with a common set of
3398     routines in the new file, gschem/src/o_place.c
3399     
3400     This refactoring lays the foundation to allow rotatation / mirroring whilst
3401     performing any kind of place action, without extensive duplicate code.
3402     
3403     All of the above operations now use a new PAGE variable, "place_list",
3404     rather than previous specialised variants complex_place_list, and
3405     attrib_place_list. Paste-buffer contents are copied into the place list,
3406     rather than placing directly from the paste-buffer, ensuring that any
3407     rotation / mirroring of the place-buffer does not change the paste-buffer.
3408     
3409     Helper functions, o_text_prepare_place() and o_complex_prepare_place() are
3410     added to load the place list with appropriate text, or a symbol. These are
3411     passed as arguments to the respective functions, avoiding the use of state
3412     stored in toplevel->current_attribute and toplevel->internal_symbol_name.
3414 commit d0d18117a483029a61077a792203df5bd1a7f22a
3415 Author: Peter Clifton <pcjc2@cam.ac.uk>
3416 Date:   Tue Jul 29 01:47:11 2008 +0100
3418     Don't drop artifacts when redrawing in the middle of a move operation
3419     
3420     The nets being rubberbanded should not be redrawn in their original
3421     positions, so we set the "dont_redraw" flag on the rubberband objects
3422     to ensure they are not drawn (in their un-stretched position) during
3423     screen updates. We unset the flag in o_move_end() and o_move_cancel().
3425 commit 1ecd2a345ba49d7eb428d528d056f2c9f5e9b590
3426 Author: Peter Clifton <pcjc2@cam.ac.uk>
3427 Date:   Tue Jul 29 01:40:20 2008 +0100
3429     gschem: Move freeing stretch list of to after move operation is ended
3430     
3431     Previously, the stretch list was left stale with pointers after a move
3432     operation, and only cleared when commencing a new move. By clearing it
3433     after each move operation (completed, or cancelled), we can ensure its
3434     contents are always valid.
3435     
3436     This is important so that at the end / cancellation of a move operation,
3437     we can operate on the stretch list without danger it was not up-to-date.
3438     If a move operation is started with rubberbanding disabled, and the user
3439     subsequently activates rubberbanding (during the move) with a key-stroke,
3440     stale pointers in the stretch list may have been dereferenced in error.
3442 commit cc5ea879b0ccfc7815b43b30ddfae13941aff4eb
3443 Author: Peter Clifton <pcjc2@cam.ac.uk>
3444 Date:   Tue Jul 29 01:20:04 2008 +0100
3446     Add OBJECT flag "dont_redraw", to skip drawing individual objects.
3447     
3448     This flag is to be useful when handling move operations which hide
3449     rubberbanded objects on the page whilst a temporary copy is manipulated
3450     on screen.
3452 commit 29600e269da20822ec0443024c63cb5e0ae34ea2
3453 Author: Peter Clifton <pcjc2@cam.ac.uk>
3454 Date:   Mon Jul 28 00:44:55 2008 +0100
3456     Add redraw for items being placed from paste-buffer in o_redraw_all()
3457     
3458     Added missing "w_current->inside_action = 1;" to o_buffer_paste_start(),
3459     noticed when the new redraw added didn't work on its own.
3460     
3461     Fixes ghosts left when zooming whilst pasting from a buffer.
3463 commit 1dc71988f58df1bbe828aebacc5d81d7bd21b954
3464 Author: Peter Clifton <pcjc2@cam.ac.uk>
3465 Date:   Mon Jul 28 00:40:13 2008 +0100
3467     Always "undo" when cancelling from a move action
3468     
3469     The undo state is always saved in o_move_start(), so when cancelling
3470     from a move action we should always undo.
3471     
3472     Adds helper function o_move_cancel() to avoid code duplication
3473     of the various operations when cancelling a move action.
3475 commit 03056b53bfe6865d77c585bb7d190ce4f2aa0cd6
3476 Author: Peter Clifton <pcjc2@cam.ac.uk>
3477 Date:   Mon Jul 28 00:29:33 2008 +0100
3479     Add o_move_rubbermove_xor()
3480     
3481     Make use of o_move_rubbermove_xor() throught the code to avoid
3482     duplication of o_drawbounding() calls.
3484 commit a3ee37bbb4a87379a129d6993e175136416721da
3485 Author: Peter Clifton <pcjc2@cam.ac.uk>
3486 Date:   Mon Jul 28 00:27:13 2008 +0100
3488     Adjust scroll pan increment to be finer
3489     
3490     Scrolling in a smaller steps gives a greater degree of control when
3491     navigating around the schematic, with a (subjective) improvement to
3492     usability.
3493     
3494     This commit changes the number of scroll events required to traverse
3495     the viewed area from 4 to 8.
3497 commit 78f18664289a29ca137c341fac9c7bbceb17cd06
3498 Author: Peter Clifton <pcjc2@cam.ac.uk>
3499 Date:   Mon Jul 28 00:27:12 2008 +0100
3501     Change default zoom-gain to from 50%, to 20% increase in size.
3502     
3503     Zooming in a smaller amount gives a greater degree of control when
3504     navigating around the schematic, with a (subjective) improvement to
3505     usability.
3507 commit 20bd89fa6fd55d757194bd7d0143f8b9fff58ee7
3508 Author: Peter Clifton <pcjc2@cam.ac.uk>
3509 Date:   Mon Jul 28 00:27:11 2008 +0100
3511     Make size of panning steps with the mouse scroll wheel adjustable
3512     
3513     The new gschemrc function, (scrollpan-steps integer) controls how many
3514     scroll wheel events are required to pan across the viewed area of the
3515     schematic.
3516     
3517     The default setting keeps gschem's previous hard-coded behaviour of 4
3518     scroll events (in a particular direction) across the viewed area.
3520 commit 59cf57b8eb960b5e8041778d5377c160a4af57d3
3521 Author: Peter Clifton <pcjc2@cam.ac.uk>
3522 Date:   Sun Jul 27 23:50:55 2008 +0100
3524     Make the "gain" of zoom in / out operations an adjustable parameter.
3525     
3526     The new gschemrc function, (zoom-gain integer) controls the percentage
3527     size increase when zooming into the page. Zooming out uses the inverse
3528     factor such that a zoom in followed by a zoom out will return the
3529     schematic to the same size.
3530     
3531     E.g:
3532        20% increment => x 1.2 original size when zooming in
3533                      => x 1 / 1.2 x original size when zooming out
3534     
3535     The default gain keeps gschem's previous hard-coded behaviour of zooming in
3536     by a factor of 1.5. This is now specified with the command (zoom-gain 50).
3538 commit 6802a78d5a19069919e4524530b91c34c1d099fe
3539 Author: Peter Clifton <pcjc2@cam.ac.uk>
3540 Date:   Sun Jul 27 02:22:22 2008 +0100
3542     gschem: Activating component selector rows expands / contracts groups
3543     
3544     Observation of a user working with gschem showed that opening the groups
3545     of components from varous libraries was not particularly discoverable to
3546     a user not familiar with GTK. The user was noticed to be double-clicking
3547     the library sub-groups, rather than identifying the expander arrow.
3548     
3549     Fix this usibility issue by making double click, and other row-activation
3550     methods expand / contract the library groups. Keyboard navigation
3551     (where space / return activate given rows) is also easier now.
3553 commit b02d9540d1bc0cdcfd5935f84bf8ee2f52dde2bd
3554 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3555 Date:   Fri Jul 25 17:52:41 2008 +0200
3557     Use functions from o_select.c rather than low-level geda_list functions.
3559 commit 1aaf6613a7c6991d858c1143ed3917675a115a5a
3560 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3561 Date:   Fri Jul 25 17:52:40 2008 +0200
3563     Move selection monitoring out of the multi attrib widget.
3564     
3565     Reinstated the 'object' property for multi attrib widget in place of
3566     the 'selection' one: the widget does not have to mess with selections,
3567     it is only interested in objects. Moved the selection watch stuff
3568     outside.
3570 commit 4ad46d1b431bceb665fdd45778345118dfc1d414
3571 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3572 Date:   Fri Jul 25 17:52:34 2008 +0200
3574     Limit scope of gschem x_color_allocate_all().
3576 commit 67bb084eef2f0e97bd9573fdea0faa5dfd2e53bc
3577 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3578 Date:   Fri Jul 25 17:52:33 2008 +0200
3580     Move color-related stuff from x_window.c to x_color.c.
3581     
3582     Renamed x_window_setup_colors() and x_window_free_colors() to
3583     x_color_init() and x_color_free() respectively. And moved them to
3584     x_color.c
3586 commit d96ad3c39121d6c7e32128493d5445f0825f1751
3587 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3588 Date:   Fri Jul 25 17:52:32 2008 +0200
3590     Cleanup the stroke interface.
3591     
3592     Improved the API and memory allocation, added documentation.
3594 commit 19aab8901a7519879231c680060f89a69c125e85
3595 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3596 Date:   Fri Jul 25 17:52:31 2008 +0200
3598     Modify o_attrib_toggle_show_name_value() to work on a single object.
3600 commit 306d5722847b4d8c152bd369bc68846b9a19abb0
3601 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3602 Date:   Fri Jul 25 17:52:30 2008 +0200
3604     Modify o_attrib_toggle_visibility() to work on a single object.
3606 commit 658516c080eae8d78685113e48290bb291af0715
3607 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3608 Date:   Fri Jul 25 17:52:29 2008 +0200
3610     Add new function to delete any object.
3611     
3612     Added o_delete() as replacement for individual object deletion
3613     function. Adapted o_delete_selected() accordingly.
3615 commit 64a6741c858de019ab26058afcc417b821d37117
3616 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3617 Date:   Fri Jul 25 17:52:28 2008 +0200
3619     Merge cue undrawing functions for complex and objects.
3620     
3621     Merged o_cue_undraw() and o_cue_undraw_complex(). Also added
3622     documentation.
3624 commit 0cdcdf4cfe8bf3c6aa078b91e5696a26f7a60f23
3625 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3626 Date:   Fri Jul 25 17:52:27 2008 +0200
3628     Add new function to erase grips on any object.
3630 commit 37eaad0765b34e85275706b6cffbc73ec9b5c4cd
3631 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3632 Date:   Fri Jul 25 17:52:26 2008 +0200
3634     Rename o_delete() to o_delete_selected().
3636 commit 83de2270e9d0f159975e833e1fec213f952c7315
3637 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3638 Date:   Fri Jul 25 17:52:25 2008 +0200
3640     Remove o_complex_delete().
3641     
3642     Removed function as s_delete() does the same thing.
3644 commit b86ffc45f699781c220153e2390a54f8b823a930
3645 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3646 Date:   Fri Jul 11 16:03:16 2008 +0200
3648     Refactor hierarchy function searching for parent page.
3649     
3650     Renamed s_hierarchy_up() to s_hierarchy_find_up_page() for consistency
3651     and modified it to return a pointer on the page found (as other
3652     hierarchy find functions) instead of changing the current
3653     page. Added description. And finally adapted gschem for this
3654     refactoring.
3656 commit 06dc1e65b688f88695e47dd38cd9022eb67bbb7c
3657 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3658 Date:   Fri Jul 11 16:03:15 2008 +0200
3660     Simplify prototype of functions for searching pages in hierarchy.
3661     
3662     Removed 3rd parameter to s_hierarchy_find_[next|prev]_page(): now
3663     explicitly search for sibling page of page in 2nd parameter. Also
3664     added description for functions.
3666 commit 6b15947087caebaa4c85805799362c169e09adba
3667 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3668 Date:   Fri Jul 11 16:03:14 2008 +0200
3670     Rename s_hierarchy_find_page() to s_page_search_by_page_id().
3671     
3672     Moved s_hierarchy_find_page() to libgeda s_page.c and renamed to
3673     s_page_search_by_page_id(). Also added description.
3675 commit 57a4fd272e10a68e05051a9ab9309e252e2103f7
3676 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3677 Date:   Fri Jul 11 16:03:12 2008 +0200
3679     Purge AC_CHECK_FUNCS() in configure.ac in each package of unused functions.
3681 commit c50ba14cea1d60e21d587164612b1866d8e58bba
3682 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3683 Date:   Fri Jul 11 16:03:10 2008 +0200
3685     Replace case conversion functions with GLib functions.
3686     
3687     Now use GLib case conversion functions, with the added benefit of UTF8
3688     support, instead of libgeda string_tolower() and
3689     string_toupper(). Consequently these two functions have been removed.
3691 commit fa54e090d67849762c83231557bc6047bf035a03
3692 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3693 Date:   Fri Jul 11 16:03:08 2008 +0200
3695     Cleanup detection of attribute when editing text object in gschem.
3696     
3697     Modified the verification on the text object in gschem o_edit() to use
3698     o_attrib_get_name_value() instead of local custom testing code.
3700 commit 872287f23b4880b01babed777efe7976783feab2
3701 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3702 Date:   Fri Jul 11 16:03:05 2008 +0200
3704     Cleanup of libgeda o_attrib_get_name_value().
3705     
3706     Rewrote o_attrib_get_name_value(): it now has support for UTF-8
3707     attribute strings ; plus it can return only the name or the value or
3708     both name and value.
3709     
3710     Finally adapted code wherever it can benefits this new feature.
3712 commit 5d97c15d614030eb32ddc30e316fadd4d1416c6c
3713 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3714 Date:   Fri Jul 11 16:03:03 2008 +0200
3716     Fix memory leak in gschem.
3717     
3718     When processing file names passed on command line, the pathname built
3719     for each one was not freed.
3721 commit a76cf5cdda91c7070f4765107d3f8be89bbd05b6
3722 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3723 Date:   Fri Jul 11 16:03:01 2008 +0200
3725     Remove unnecessary strippings of trailing directory separator.
3726     
3727     These strippings is no more necessary as GLib functions for building
3728     filenames (in particular g_build_filename()) takes care of any
3729     trailing directory separator for us.
3731 commit cd70e88b8c7faa4beea8b13b846e92807a252e63
3732 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3733 Date:   Fri Jul 11 16:03:00 2008 +0200
3735     Replace getcwd() with g_get_current_dir().
3737 commit 90b0ece453efc80490c6c277386f4f5f7bfdc4af
3738 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3739 Date:   Fri Jul 11 16:02:59 2008 +0200
3741     Simplify build of filenames with g_build_filename() (!).
3742     
3743     Modified code where possible to use preferably g_build_filename()
3744     instead of g_build_path(), or g_strconcat() and friends.
3746 commit a3513b7e6dc7bf6c36d95d4da86082beeb79831d
3747 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3748 Date:   Fri Jul 11 16:02:57 2008 +0200
3750     Replace standard string manipulations with GLib string utility functions.
3752 commit da1d2e7b304f9d832bdee9c8dfb9fe4604e19cc9
3753 Author: Patrick Bernaud <b-patrick@wanadoo.fr>
3754 Date:   Fri Jul 11 16:02:56 2008 +0200
3756     Remove tests for NULL prior to freeing with g_free().
3757     
3758     Testing if pointer on memory to free is not NULL is unnecessary
3759     since g_free() does the test itself.
3761 commit 21bdf2fbbad2146234fd32a0fe04bddcaddb64f8
3762 Author: Ales Hvezda <ahvezda@seul.org>
3763 Date:   Sun Jul 6 22:21:00 2008 -0400
3765     Updated versions in the important man pages
3767 commit 8479d01b6a4a819ae105659a9b9f1e6ab2d85136
3768 Author: Ales Hvezda <ahvezda@seul.org>
3769 Date:   Sun Jul 6 22:03:02 2008 -0400
3771     Updated all ChangeLogs by running ./update-changelogs.sh 1.0-20070526..master
3773 commit 8773525a45c1e33a2f020ac511f628e04ff373b9
3774 Author: Ales Hvezda <ahvezda@seul.org>
3775 Date:   Sun Jul 6 22:01:37 2008 -0400
3777     Ran make update-po in all po directories (in prep for a new release)
3779 commit 2740891d2b1a2e9b8ad0ef27ef1cb54ec47f9b74
3780 Author: Ales Hvezda <ahvezda@seul.org>
3781 Date:   Sun Jul 6 21:51:28 2008 -0400
3783     Removed some m4 files which no longer exist
3785 commit 97c1b01e1c95d2f8a334d916ffc60d35797782c2
3786 Author: Ales Hvezda <ahvezda@-e false.(none)>
3787 Date:   Sun Jul 6 09:34:01 2008 -0400
3789     Fixed up all icon-theme-installer files to work with non-bash
3790     
3791     Grabbed the latest icon-theme-installer files from the pcb repository
3792     since they have been fully patched to work with non-bash shells.  On
3793     my ubuntu system, /bin/sh is linked to dash which prevented me from
3794     running the previous version of icon-theme-installer.  This commit
3795     is related to a7e7a28613abe4705ec01011d0f4308ff024251b
3797 commit 7ae9572f269c8b973bb4a38014e28dbc10cdcb32
3798 Author: Ales Hvezda <ahvezda@-e false.(none)>
3799 Date:   Sun Jul 6 08:38:24 2008 -0400
3801     Bumped versions to 1.5.0/20080706/34:0:0 for the next development release
3803 commit a7e7a28613abe4705ec01011d0f4308ff024251b
3804 Author: Carlos Nieves Onega <cnieves@iespana.es>
3805 Date:   Sun Jun 29 19:00:10 2008 +0200
3807     Changed shell from bash to sh in icon-theme-installer
3808     
3809     Changed shell from bash to sh in icon-theme-installer.
3810     This commit is still not tested in non-bash systems.
3811     
3812     Applied partially geda patch #1978537 (only bash to sh
3813     change, not removal of $INSTALL_DATA_EXEC check) from
3814     anonymous contributor and Dan McMahill's test case
3815     change in line 103 from:
3816     
3817     http://pcb.cvs.sourceforge.net/pcb/pcb/icon-theme-installer?r1=1.1&r2=1.2
3819 commit 55b378f5eddc78f0f3f48c83f401e454323d9bd9
3820 Author: Werner Hoch <werner.ho@gmx.de>
3821 Date:   Fri May 23 17:02:51 2008 +0200
3823     gschem: use pointer from drawing area in preview and x_attribedit
3824     
3825     The preview widget used in the file dialog and in the component dialog is
3826     now using the pointer from the drawing area, too. The motion event function that tracked the pointer is no longer required.
3827     
3828     The attribedit dialog used the mouse_wx/y variables to set the attribute
3829     postion when activated with the hotkey. This usage has been removed.
3830     
3831     Removed all mouse_wx/y occurences in x_event and in the global.h file.
3832     This variables are completly gone now.
3834 commit 5681a43743b2ccfdf246679ad78f186b5a7f1f14
3835 Author: Werner Hoch <werner.ho@gmx.de>
3836 Date:   Fri May 23 16:54:28 2008 +0200
3838     gschem: use pointer from drawing area for all gschem callbacks
3839     
3840     The global variable for the pointer mouse_wx/y are no longer used.
3841     The zoom and panning actions have a unsnapped position again.
3842     Note: If the pointer is outside the drawing area and a hotkey action
3843     is triggered the action will be ignored.
3845 commit 0b0100eefa31acbd56f41ca639856da904645e74
3846 Author: Werner Hoch <werner.ho@gmx.de>
3847 Date:   Fri May 23 10:22:25 2008 +0200
3849     gschem: added function to get the pointer from the drawing area
3850     
3851     The new function x_event_get_pointer_position() get's the mouse
3852     position from a given GSCHEM_TOPLEVEL object. This function will replace
3853     the global mouse_wx, mouse_wy variables in the following commits.
3855 commit 016cd29c2d4cb540f70f01c14059b0d538b801d6
3856 Author: Peter Clifton <pcjc2@cam.ac.uk>
3857 Date:   Sun May 18 18:11:45 2008 +0100
3859     Add o_copy_rubbercopy() and o_copy_rubbercopy_xor()
3860     
3861     Make use of o_copy_rubbercopy_xor() throught the code to avoid
3862     duplication of o_drawbounding() calls.
3864 commit cc5017e65222ec97e084c17a3920dc29f5e65532
3865 Author: Peter Clifton <pcjc2@cam.ac.uk>
3866 Date:   Sun May 18 18:11:42 2008 +0100
3868     Rework o_buffer_place_rubberplace() to follow usual semantics.
3869     
3870     Renames o_buffer_place_rubberplace() o_buffer_place_rubberplace_xor()
3871     and re-adds o_buffer_place_rubberplace() which now follows the "undraw,
3872     move, draw" sequence like the other functions with this naming pattern.
3873     
3874     Make use of o_buffer_rubberpaste_xor() throught the code to avoid
3875     duplication of o_drawbounding() calls.
3877 commit f8bc1947ddf59f8e437702b6f83c1292cb6f50ac
3878 Author: Peter Clifton <pcjc2@cam.ac.uk>
3879 Date:   Sun May 18 18:10:25 2008 +0100
3881     Rework o_text_rubberattrib() to follow usual semantics.
3882     
3883     Renames o_text_rubberattrib() o_text_rubberattrib_xor() and re-adds
3884     o_text_rubberattrib() which now follows the "undraw, move, draw"
3885     sequence like the other functions with this naming pattern.
3886     
3887     Make use of o_text_rubberattrib_xor() throught the code to avoid
3888     duplication of o_drawbounding() calls.
3890 commit deae2c854ddc1461811c176e78f69842be738321
3891 Author: Peter Clifton <pcjc2@cam.ac.uk>
3892 Date:   Sun May 18 18:09:49 2008 +0100
3894     Use o_complex_rubbercomplex_xor() where possible to simplify code.
3895     
3896     Adds a parameter "int drawing" to this call, which is passed on to
3897     o_drawbounding(). This is used to determine whether the operation
3898     is to undraw an old object (in which case, the old feedback mode is
3899     used), or is drawing new objects, in which case the current action
3900     feedback mode is used.
3902 commit 6359729a98bb9f34a4b460d6b42e85cf502ae010
3903 Author: Peter Clifton <pcjc2@cam.ac.uk>
3904 Date:   Sun May 18 15:34:29 2008 +0100
3906     Fix rotate whilst moving to rotate about the current mouse coordinates
3907     
3908     Bug appears to have been introduced when changing from screen to world
3909     coordiantes in 1b05cbfcbb07970159c58b2b18d583516e257a45
3911 commit 62a3123ce33d825855735ed8727c8f617b46b61e
3912 Author: Peter Clifton <pcjc2@cam.ac.uk>
3913 Date:   Sun May 18 14:27:46 2008 +0100
3915     Add o_move_rubbermove(...) function to keep move logic in o_move.c
3917 commit ec074cb3ca38db23516d89df6bf4f60f13229822
3918 Author: Peter Clifton <pcjc2@cam.ac.uk>
3919 Date:   Sun May 18 14:27:44 2008 +0100
3921     Rework o_complex_rubbercomplex(...) to follow usual semantics.
3922     
3923     Renames o_complex_rubbercomplex() o_complex_rubbercomplex_xor() and
3924     re-adds o_complex_rubbercomplex() which now follows the "undraw, move,
3925     draw" sequence like the other functions with this naming pattern.
3927 commit 4768b20db9983ae7d0b3221d9340a61ca2a805c0
3928 Author: Peter Clifton <pcjc2@cam.ac.uk>
3929 Date:   Sat Apr 26 17:58:06 2008 +0100
3931     Various whitespace changes and tidy-up split from code-change patches
3932     
3933     No code changes.
3935 commit d76dfc090cd97a1aa582fd215468ec6b6d234f57
3936 Author: Peter Clifton <pcjc2@cam.ac.uk>
3937 Date:   Sun May 18 13:55:38 2008 +0100
3939     Remove bounding box undraws in DRAWTEXT and DRAWCOMP states
3940     
3941     These two states are used when no drawing has yet hit the screen,
3942     so there should not be XOR drawing calls to "undraw" changes which
3943     haven't been made.
3945 commit de5a6de1643a041e70acf1f27b02281fe16f23b7
3946 Author: Peter Clifton <pcjc2@cam.ac.uk>
3947 Date:   Sun May 18 13:54:54 2008 +0100
3949     Fixup prototype variable names to reflect their usage (screen vs. world)
3951 commit 2337e0a71a5c5f2181801441e4435d0cb44c5ba0
3952 Author: Peter Clifton <pcjc2@cam.ac.uk>
3953 Date:   Sat Apr 26 17:57:50 2008 +0100
3955     Tidy up some whitespace in gschem/src/x_event.c
3957 commit 38bf778654574851469b6b280cf2aef5bc2bff0e
3958 Author: Werner Hoch <werner.ho@gmx.de>
3959 Date:   Sun Apr 20 21:55:04 2008 +0200
3961     set rubber invisible at the end of each object draw action, cleanup
3962     
3963     It's more save to reset the variable GSCHEM_TOPLEVLE->rubber_visible
3964     after any creation of an object. This variable is usually reset inside
3965     any redraw action, too.
3966     Moved some event code from o_bus to x_event. Moved setup of w_x/y variables
3967     some lines up to prevent uninitialised usage.
3969 commit 73d59cd8394c172ffdcb17e860ae0d9a01b46bc9
3970 Author: Werner Hoch <werner.ho@gmx.de>
3971 Date:   Sun Apr 20 11:12:38 2008 +0200
3973     balancing snapped and unsnapped x/y coordinates
3974     
3975     All object actions need snapped coords, while selecting and zooming/panning
3976     need unsnapped coords.
3977     Unsnapped actions are now select, select-box, zoom-box and grips actions.
3978     grips motion is slightly special for arcs. While the radius is snapped
3979     the manipulation of start and endangle needs to remain unsnapped.
3980     All other grid motion actions (line, box, ...) still needs snapped coords.
3982 commit eb3a7b13f85c9a84b88d9de2e3ad29f1245dd865
3983 Author: Werner Hoch <werner.ho@gmx.de>
3984 Date:   Sat Apr 19 19:38:06 2008 +0200
3986     use world coord for to find objects, cleanup
3987     
3988     Removed all uses of the global screen variables mouse_x, mouse_y.
3989     This included changes when adding an attribut and when finding an object.
3990     Additionally fixed a buggy call to o_pan.
3992 commit c484c83a3890ea22619c1c84757b83632e128ab4
3993 Author: Werner Hoch <werner.ho@gmx.de>
3994 Date:   Fri Apr 18 20:54:29 2008 +0200
3996     switched zoom and pan to world coordinates, cleanup
3997     
3998     zoom and pan are the last users of the old variables start_x, start_y,
3999     last_x, last_y, second_x, second_y, save_x, save_y.
4000     Those variables are obsolete and have been removed from the
4001     GSCHEM_TOPLEVEL structure.
4002     The panning also affected the preview widget. Which needed to be fixed, too.
4004 commit 69fa323b708bc5784a475a0911d1c100927edab8
4005 Author: Werner Hoch <werner.ho@gmx.de>
4006 Date:   Thu Apr 17 23:08:20 2008 +0200
4008     switch complex copy and complex place to world coords
4009     
4010     switched all functions to world coords. The temporary calculation of
4011     the world coords can be removed now, as all complex objects are in
4012     world coords now.
4014 commit 1e0500f9e3abb6ac431a8b69e4d97b5c17775155
4015 Author: Werner Hoch <werner.ho@gmx.de>
4016 Date:   Thu Apr 17 22:12:23 2008 +0200
4018     switched buffer insertion mode to world coords
4020 commit eb46913531447bd975e438c8697aded9ce07ee2f
4021 Author: Werner Hoch <werner.ho@gmx.de>
4022 Date:   Thu Apr 17 21:37:48 2008 +0200
4024     switched selection and selection box to world coords
4025     
4026     The holdoff distance before starting to draw the selection box
4027     has been moved from x_event.c to o_select_box_start()
4029 commit 4820283ca1f6977ffbfed1565da5b2a70aa0eb77
4030 Author: Werner Hoch <werner.ho@gmx.de>
4031 Date:   Tue Apr 15 21:44:07 2008 +0200
4033     switched text code to world coords
4034     
4035     Changed all text creation functions to use world coords.
4037 commit 70afd4b31ebbb9dfc6c7a8ed0a33bb53f0ff0511
4038 Author: Werner Hoch <werner.ho@gmx.de>
4039 Date:   Tue Apr 15 20:56:57 2008 +0200
4041     switched o_draw_bounding and all xor drawing functions to world coords
4042     
4043     All object xor drawing functions are called in world dx/dy coordinates
4044     now. Changed the object code and the o_draw_bounding code.
4045     BUG: o_draw_bounding is still used in world and nonworld coords.
4047 commit 2d880f35530c43d5f291af6c70535c99a378ffdb
4048 Author: Werner Hoch <werner.ho@gmx.de>
4049 Date:   Tue Apr 15 19:09:24 2008 +0200
4051     switched move mode to world coordinates
4052     
4053     Switched move functions to world corrdinates.
4054     This affects the net and bus when stretching them.
4055     BUG: The function o_draw_bounding is used by world and nonworld
4056     coordinates. This needs to be fixed with the next commits.
4058 commit 4cace928604a9b799e761a80d7b0424d45d554ce
4059 Author: Werner Hoch <werner.ho@gmx.de>
4060 Date:   Mon Apr 14 20:52:15 2008 +0200
4062     fixed rubber color for pin and bus, fixed line erase
4063     
4064     The color of the rubber wasn't correct for pins and buses.
4065     The o_line_eraserubber function still used start_x.
4067 commit c4abffeb78305f3c7ede736b027def82c3171181
4068 Author: Werner Hoch <werner.ho@gmx.de>
4069 Date:   Sun Apr 13 12:00:24 2008 +0200
4071     switched picture rubber and manipulation to world coords
4072     
4073     Call all picture functions with world coords.
4075 commit 6cfafdaf3c09dde2aedfa7fc3f57662dd0b25ba9
4076 Author: Werner Hoch <werner.ho@gmx.de>
4077 Date:   Tue Apr 8 21:15:36 2008 +0200
4079     switched pin rubber drawing to world coordinates
4080     
4081     Call all pin functions with world coordinates. Replaced some of the
4082     gdk drawing functions with object drawing functions.
4084 commit ef2871ee0ee34af000205cdfe889fb2bad3a74bb
4085 Author: Werner Hoch <werner.ho@gmx.de>
4086 Date:   Mon Apr 7 20:47:44 2008 +0200
4088     removed redundant x event state code from o_grips.c
4089     
4090     The removed code for updating the state and the toolbar is already
4091     present in the state code in x_event.c after the o_grips_end()
4092     call. Reseting the state variables first_wx, second_wx, ... is not
4093     required at all.
4095 commit 60b734ed80d7ccefba7a78a878714261a9637a67
4096 Author: Werner Hoch <werner.ho@gmx.de>
4097 Date:   Mon Apr 7 20:32:01 2008 +0200
4099     fixed o_grips_end manipulation for net/line and pin
4100     
4101     Fixed the code for the end of the net line and pin manipulations.
4102     Extracted the functionality to three new functions and switched them
4103     to world coordinates. Removed some gdk drawing code and replaced it
4104     with object drawing functions.
4106 commit f003de85165f11280f909acd6b785ebf38bacf39
4107 Author: Werner Hoch <werner.ho@gmx.de>
4108 Date:   Sun Apr 6 21:41:19 2008 +0200
4110     switched grips for line manipulation to world coords
4111     
4112     This also affects the line/bus and pin manipulation.
4113     While start and motion is identical, the end point of the
4114     manipulation has to be fixed separatly.
4116 commit 6efa4f6c16894852b409f130d50acef88d78aa22
4117 Author: Werner Hoch <werner.ho@gmx.de>
4118 Date:   Sun Apr 6 20:05:25 2008 +0200
4120     switched line rubber drawing to world coords
4121     
4122     Call all line functions with world coordinates. Removed
4123     some unused code.
4125 commit bdcb6e63c3ed1b19f0d1d854536b0e51aad85429
4126 Author: Werner Hoch <werner.ho@gmx.de>
4127 Date:   Sun Apr 6 19:10:31 2008 +0200
4129     switched bus rubber drawing to world coords
4130     
4131     Call all bus function with world coordinates. Added rubberbus_xor
4132     function to simplify code. Added some function documentations.
4134 commit 87aeb1ee33995af7645aa4d72265254d217f62ef
4135 Author: Werner Hoch <werner.ho@gmx.de>
4136 Date:   Sun Apr 6 17:29:40 2008 +0200
4138     switched arc rubber drawing and manipulation to world coords
4139     
4140     Call all arc function with world coords. Removed obsolete loc_x/y
4141     variables. Removed unused functions o_arc_end2 and o_arc_end3.
4143 commit 0720815ae4594ae3a73ca96d6392ae35c2172e4a
4144 Author: Werner Hoch <werner.ho@gmx.de>
4145 Date:   Sun Apr 6 15:03:22 2008 +0200
4147     switched circle rubber drawing and manipulation to world coords
4148     
4149     Call all cirle functions in world coords. Use rubber_visible variable
4150     to protect the drawing code from erasing errors.
4152 commit 4f5cf44b196790dbf5cf318977463b487a17ec89
4153 Author: Werner Hoch <werner.ho@gmx.de>
4154 Date:   Sun Apr 6 13:09:35 2008 +0200
4156     switched box grips to world coordinates
4157     
4158     This fixes the manipulation of a box, that broke in the previous
4159     commit.
4161 commit 693d7fbb8630bcb846ee72bb594a6c8612ec2f17
4162 Author: Werner Hoch <werner.ho@gmx.de>
4163 Date:   Sun Apr 6 12:15:21 2008 +0200
4165     switched box rubber drawing to world coordinates
4166     
4167     Call all box functions with world coordinates. Protect the rubber box
4168     from erasing if the rubber box has been erased by the redraw_all
4169     function. This happend if the user zoomed while drawing the box.
4170     The variable w_current->rubber_visible is used for this purpose.
4172 commit 1b05cbfcbb07970159c58b2b18d583516e257a45
4173 Author: Werner Hoch <werner.ho@gmx.de>
4174 Date:   Sat Apr 26 17:09:58 2008 +0200
4176     switched x events to world coordinates in net drawing code
4177     
4178     This includes the creation of w_x, w_y, mouse_wx, mouse_wy variables
4179     in the x_event functions. Call all net drawing functions in world
4180     coordinates. Print a warning message when connecting to offgrid pins
4181     and nets.
4183 commit 3372a6ff3e99fb1d46c694b1d7bb7a586c9eebb9
4184 Author: Werner Hoch <werner.ho@gmx.de>
4185 Date:   Tue Apr 1 13:50:07 2008 +0200
4187     removed redundant snap grid code in o_net.c
4189 commit fadb2326204bb6375749653d1e8a3035462b3479
4190 Author: Werner Hoch <werner.ho@gmx.de>
4191 Date:   Tue Apr 1 13:37:05 2008 +0200
4193     add world coordinates for the rubber lines, use them for net drawing
4194     
4195     This commit adds new variables to GSCHEM_TOPLEVEL. first_wx,
4196     second_wx, third_wx. They are intended to replace the screen
4197     coordinates start_x, last_x and last_y. Deployed that change in the
4198     net drawing code. This should finally fix Bug [#1928544].
4200 commit 5f62a34fc821ced98f6faa7d4901ccd47e48380e
4201 Author: Werner Hoch <werner.ho@gmx.de>
4202 Date:   Tue Apr 1 10:20:18 2008 +0200
4204     switched the net rubber code from screen to world coordinates
4205     
4206     Using screen coordinates for start_x, second_x and last_x causes
4207     integer arithmetic errors whenever the coordinates are converted between
4208     the screen an the world. The conversion occurs with the fix_x function
4209     and whenever the user zooms/pans in the drawing mode.
4210     This change fixes bug [#1928544] pointed out by Thomas Arndt.
4211     Note: This breaks the zooming and paning inside net drawing
4213 commit deacf7e8bc9a67aa4ac446f8627f177e8daa249a
4214 Author: Werner Hoch <werner.ho@gmx.de>
4215 Date:   Mon Mar 31 14:42:14 2008 +0200
4217     Add CTRL modifier key to mangetic net mode
4218     
4219     If magnetic net mode is active and you don't want to connect to
4220     the closest possible connetion, you can use the CTRL key now.
4221     Note: You're losing the ability to draw non-orthogonal nets in
4222     magnetic net mode.
4224 commit 087374bd49bdc0fcefc535fe901de55439c28a17
4225 Author: Werner Hoch <werner.ho@gmx.de>
4226 Date:   Sun Mar 9 10:14:50 2008 +0100
4228     make the net direction mode configurable (ON/OFF)
4229     
4230     Add all variables and callbacks to make the net direction mode
4231     configurable. The configuration variable is used in o_net.c.
4233 commit c377b5f84dd046dd6716d262bc6b5c883bb9f280
4234 Author: Werner Hoch <werner.ho@gmx.de>
4235 Date:   Sun Mar 9 09:40:11 2008 +0100
4237     guess net direction when adding nets in gschem
4238     
4239     When drawing a L-shape net the old behavier was to draw the horizontal
4240     net first and the vertikal after. This patch guesses the direction
4241     dependant of the starting point of the net. It tries to continue nets
4242     and not to overwrite them.  This functionality was originally written
4243     by "ar" and posted to the geda-dev mailing list.
4245 commit e089678b9fc068a4b14f41a47e7cef304d5d8221
4246 Author: Peter Clifton <pcjc2@cam.ac.uk>
4247 Date:   Fri Apr 18 14:11:06 2008 +0100
4249     gschem: Fix memory leak in x_window_open_page()
4251 commit 949ebc253254a4ec4798ea5faab6bce698fabbb0
4252 Author: Peter Clifton <pcjc2@cam.ac.uk>
4253 Date:   Thu Apr 17 21:55:09 2008 +0100
4255     gschem: Use argc, rather than relying that char **argv is NULL terminated
4257 commit f1754277410f7e42fa86371ff875dbbf9f5dd100
4258 Author: Peter Clifton <pcjc2@cam.ac.uk>
4259 Date:   Thu Apr 17 20:00:30 2008 +0100
4261     gschem: Remove unused GDK global variable "visual"
4263 commit 84e20e053383201472c32834f4ea9995b8d20c45
4264 Author: Werner Hoch <werner.ho@gmx.de>
4265 Date:   Wed Apr 2 22:49:42 2008 +0200
4267     fixed syntax error typo in x_image.c
4268     
4269     repaced ":" with ";", Typo catched by Thomas Arndt
4271 commit af0d9f2e8825f7d23c691deec0e70f1eaaac0e38
4272 Author: Ales Hvezda <ahvezda@seul.org>
4273 Date:   Wed Mar 5 05:27:41 2008 -0500
4275     Updated version to 1.5.0 to mark the start of the next development cycle
4277 commit fa3091a4da63abd5312be5b1cd132baefb9e77c1
4278 Author: Werner Hoch <werner.ho@gmx.de>
4279 Date:   Sun Mar 2 18:06:51 2008 +0100
4281     show the magnetic net mode in the status bar
4283 commit 24f0395aab9589f8e98f284e63fe77e6dc2d2836
4284 Author: Werner Hoch <werner.ho@gmx.de>
4285 Date:   Sun Mar 2 16:42:06 2008 +0100
4287     Fix drawing artefact in rubbernet drawing code
4288     
4289     The invalidation rectangles are to small if you're zoomed in.
4290     The half of the net width needs to be added to the rectangels.
4291     To do that, you need to sort the rectangle borders.
4293 commit 0b2ce2cb246fa46eae2abe53c32e2c1a2f100093
4294 Author: Werner Hoch <werner.ho@gmx.de>
4295 Date:   Sun Mar 2 16:20:27 2008 +0100
4297     Enlarge the magnetic net marker with increasing net line width
4298     
4299     When zooming in the magnetic marker became small relativ to the net
4300     width. This commit enlarges the magnetic marker with a constant factor
4301     relative to the net width. The line width of the marker is the
4302     same as the net width.
4304 commit ffd2298ca90e9e8616a2804c5708cb3d2ccb0a83
4305 Merge: b62e017... 1a49d46...
4306 Author: Werner Hoch <werner.ho@gmx.de>
4307 Date:   Sat Mar 1 09:43:53 2008 +0100
4309     Merge branch 'magneticnet'
4311 commit 1a49d46192ff0e84e5727ba92829c56961119e5b
4312 Author: Werner Hoch <werner.ho@gmx.de>
4313 Date:   Wed Feb 27 20:12:26 2008 +0100
4315     added configuration option for magnetic net mode in system-gschemrc
4316     
4317     Added a configuration option magnetic-net-mode and the g_rc function
4318     Set the default value to enabled.
4320 commit 855f29d44df73caef03ee49bd58f19897f31b69d
4321 Author: Werner Hoch <werner.ho@gmx.de>
4322 Date:   Fri Feb 22 21:46:21 2008 +0100
4324     use tiles to find connections for magnetic net mode
4325     
4326     This commit changes the magnetic net code to use the tiles.  This
4327     reduces the load when checking all the possible connections for every
4328     mouse movement. The patch adds a library function to get object lists
4329     which may contain objects in the region of the magnetic reach. In
4330     o_net.c the object iterator code has been changed to use the new library
4331     function.
4333 commit c283e8416d058258bab90b176ee94bb96308c710
4334 Author: Werner Hoch <werner.ho@gmx.de>
4335 Date:   Sun Feb 17 12:14:27 2008 +0100
4337     Only look for visible objects in magnetic net mode
4338     
4339     In a large circuit the cpu load can be quite large. Checking only
4340     visible objects decreases the cpu load.
4341     The magnetic reach area is now a circle (Pythagoras). A rectangle
4342     gives several points with the same distance at each side.
4344 commit 4b53eba9204af5eee37c308f23d396df21b2edad
4345 Author: Peter Clifton <pcjc2@cam.ac.uk>
4346 Date:   Fri Feb 15 22:24:33 2008 +0000
4348     Don't change back to a deleted page after the "Save changes?" dialog.
4349     
4350     Only switch back to the previous page being edited if that was not
4351     the one just deleted. Fixes crash or memory corruption after closing
4352     this dialog.
4354 commit de64a4f9ff006a80536359d148da9db57594083f
4355 Author: Werner Hoch <werner.ho@gmx.de>
4356 Date:   Fri Feb 15 00:38:51 2008 +0000
4358     o_delete_text(): only call o_attrib_slot_update() for COMPLEX objects.
4359     
4360     Fixes crash observed when deleting attributes from a net.
4362 commit 26883a66c3711ffe04eb5280c4b49c483ca50e95
4363 Author: Werner Hoch <werner.ho@gmx.de>
4364 Date:   Thu Feb 14 21:49:25 2008 +0100
4366     added reset function to net drawing code
4367     
4368     This reset function cleans up all variables required to draw nets.
4369     It is used before entering net drawing mode and should be used
4370     whenever the STARTDRAWNET mode is entered.
4371     Fixed the last drawing artefact in STARTDRAWNET state.
4373 commit aa26da60b8c2a7e66c8b4d6446e7b67de2c3537a
4374 Author: Werner Hoch <werner.ho@gmx.de>
4375 Date:   Wed Feb 13 21:38:54 2008 +0100
4377     misc cosmetic corrections for the magnetic net
4378     
4379     Put the magnetic marker onto grid (fix_x/y)
4380     Changed the marker from a rectangle to a circle.
4381     Changed the calculation of the magnetic reach from x+y to max(x,y).
4382     This enlarges the reach into the 45° direction.
4384 commit 6e092d15b6e1881789561653ded80f98c5bdc2f5
4385 Author: Werner Hoch <werner.ho@gmx.de>
4386 Date:   Sat Feb 9 12:56:09 2008 +0100
4388     connect the magnetic net mode into the net drawing functions
4389     
4390     The magnetic net mode is now use to set the start net point, track the
4391     closest connection in the rubbernet function and to get the end point
4392     of the net. The endpoint in the magnetic mode is calculated in the new
4393     function o_net_finishmagnetic.
4394     
4395     This commit is based on the patch written by Franz Mottas and Thomas
4396     Arndt [#1824420].
4398 commit 96fbd6214a4a364d0aa45b405293421623ea939c
4399 Author: Werner Hoch <werner.ho@gmx.de>
4400 Date:   Sat Feb 9 11:09:10 2008 +0100
4402     core code for magnetic net mode: find connections and draw marker
4403     
4404     When in STARTDRAWNET state, search for the closest connection.
4405     Added code to search for that connection and to draw and erase
4406     a rectangular magnetic net marker.
4407     
4408     This commit is based on the patch written by Franz Mottas and Thomas
4409     Arndt [#1824420].
4411 commit 3a412167fe7e16526fafdfea273b3daf8be207b3
4412 Author: Werner Hoch <werner.ho@gmx.de>
4413 Date:   Sat Feb 9 08:54:45 2008 +0100
4415     added menu entry and callbacks for magnetic net mode
4416     
4417     Added a entry into the options menu to toggle the magnetic net mode.
4418     Added all required variables in GSCHEM_TOPLEVEL.
4419     
4420     This commit is based on the patch written by Franz Mottas and Thomas
4421     Arndt [#1824420].
4423 commit 1d1c604d63bfe8f6eff91749953ba713f7b3745c
4424 Author: Werner Hoch <werner.ho@gmx.de>
4425 Date:   Sat Feb 9 08:11:38 2008 +0100
4427     fix drawing artefact when drawing a net and zoom/pan
4428     
4429     Zooming and paning redraw everything and if there are rubbernets
4430     they get deleted, too. We have to tell the rubbernet function that
4431     the rubbernet is no longer on the screen.
4432     Thus I've added a flag rubbernet_visible as indicator. This flag needs
4433     to be set when drawing, and reset when the rubbernet gets erased.
4435 commit 20e0e015622bd57d9b0704d39593f209e49a3396
4436 Author: Werner Hoch <werner.ho@gmx.de>
4437 Date:   Fri Feb 8 20:57:09 2008 +0100
4439     moved rubbernet drawing code into a extra function
4441 commit 921ed5c0b907fb0f11cfff2233758a2c0169c3e0
4442 Author: Werner Hoch <werner.ho@gmx.de>
4443 Date:   Fri Feb 8 20:40:43 2008 +0100
4445     Reuse common code from o_net_eraserubber in o_net_rubbernet
4446     
4447     The removal code or the rubbernets is the same in both cases, reuse
4448     it.
4450 commit 3ebfd10448ffefd902325b115193cb95cbeeaaf5
4451 Author: Werner Hoch <werner.ho@gmx.de>
4452 Date:   Fri Feb 8 20:24:14 2008 +0100
4454     reuse common code from o_net_eraserubber in o_net_end
4455     
4456     reuse the o_net_eraserubber function in o_net_end. o_net_end
4457     deleted a rubbernet the same way as o_net_eraserubber does.
4459 commit cf7689c9b6950c1694edacf9d750a48d87d462be
4460 Author: Werner Hoch <werner.ho@gmx.de>
4461 Date:   Fri Feb 8 19:34:18 2008 +0100
4463     Remove unused drawing code from function o_net_start()
4464     
4465     This code was never used as the line lenght of both rubbernet
4466     segments was set to zero before drawing it.
4468 commit 56a787446f3f5a244c8b4cec21cdc4e489e19568
4469 Author: Carlos Nieves Onega <cnieves@iespana.es>
4470 Date:   Wed Feb 6 21:25:58 2008 +0100
4472     Fix documentation about list format.
4473     
4474       - Applied patch from Timur Aydin <ta@taydin.org>, fixing a
4475         comment on top of the list that explains each individual
4476         item in that list. The comment didn't match the actual list
4477         definition.
4478       - Added comment about considering line width when calculating
4479         a component's reference point.
4481 commit 5757ce41ac1846814b0e96885942f2e011f2d3b7
4482 Author: Peter Clifton <pcjc2@cam.ac.uk>
4483 Date:   Fri Feb 1 13:06:15 2008 +0000
4485     Rename translations to drop un-needed ISO-3166 country codes.
4486     
4487     From Debian bug #336796:
4488     
4489     Using a country part in a translation file is a discouraged practice
4490     except in very few cases (such as pt_BR).
4491     
4492     Using a fr_FR.po file instead of a fr.po file prevents users of fr_CA,
4493     fr_BE, fr_LU, fr_CH and all other existing and future locales for
4494     French to benefit from the French translation of the program.
4495     
4496     In general PO files should only be named after the
4497     ISO_639 code of the given language and should not use a country part
4498     with a ISO-3166 code. The only accepted expcetions to this are:
4499     
4500     -pt_BR for Brazilian Portuguese and pt alone for "standard Portuguese"
4501     -zh_CN for "Simplified Chinese" use in mailand China and Singapore
4502     -zh_TW for "Traditional Chinese" used in Taiwan
4504 commit 22396b286d50c454287ff94a3c3de414b3f9a08a
4505 Author: Werner Hoch <werner.ho@gmx.de>
4506 Date:   Sat Jan 26 19:27:15 2008 +0100
4508     update the pinnumbers if a slot attribute is deleted
4509     
4510     Update the slots whenever a text line that is attached to an object
4511     gets deleted. The update checks the slotting even if there's no slot
4512     attribut. This catches the case when the user deletes a slot attribute
4513     and the current displayed pinnumbers are not the ones defined in the
4514     symbol. This commit fixes [#1880221]
4516 commit b202ee510fb90cedd038ce5ec41cc6de453dbeea
4517 Author: Ales Hvezda <ahvezda@seul.org>
4518 Date:   Sun Jan 27 11:47:13 2008 -0500
4520     Updated ChangeLogs for the 1.4.0 release
4522 commit 5e4ee69035885d76fba09aa453789be68481c69a
4523 Author: Ales Hvezda <ahvezda@seul.org>
4524 Date:   Sun Jan 27 11:46:06 2008 -0500
4526     Ran make update-po one more time before the 1.4.0 release
4528 commit b11f5701b2329f1cb7ff64d2419197a6587d2008
4529 Author: Werner Hoch <werner.ho@gmx.de>
4530 Date:   Sun Jan 27 09:24:01 2008 +0100
4532     Updated german translation of gschem
4534 commit 58898d9db5403355c3984d4c4c970e4477d7e85a
4535 Author: Ales Hvezda <ahvezda@seul.org>
4536 Date:   Sat Jan 26 22:12:05 2008 -0500
4538     Fix a crash when running a script that calls (gschem-image ...)
4539     
4540     x_image_lowlevel frees the last parameter (filetype).  This free was
4541     causing a segfault when x_image_lowlevel was being passed a constant
4542     character string.  Bernd Jendrissek found this bug during an irc
4543     discussion.  Thanks.
4545 commit 5d619d94e6142ad683b26aa302348b3cf559d459
4546 Author: Peter Clifton <pcjc2@cam.ac.uk>
4547 Date:   Sun Jan 27 02:51:01 2008 +0000
4549     Only call gdk_window_invalidate_rect() when drawing to a GdkWindow.
4550     
4551     For image export, a GdkPixmap is used in place of w_current->window,
4552     and calling gdk_window_invalidate_rect() with this as an argument
4553     causes lots of nasty warnings. It led to a crash when print.scm is
4554     used to export from the command line.
4555     
4556     This "fix" is really quite a nasty hack. Since w_current->window is
4557     a GObject in both cases, a test with GDK_IS_WINDOW() can be used to
4558     distinguish the cases. A better fix will come from future rework of
4559     the drawing code.
4561 commit bab0fb5d22b22b5452da553306555d7ff069ebd3
4562 Author: Ales Hvezda <ahvezda@seul.org>
4563 Date:   Sat Jan 26 21:03:50 2008 -0500
4565     Changed Edit/Undo and Add/Bus hotkeys
4566     
4567     Previously, "u" was add-bus-hotkey, which was annoying a growing number of
4568     users.  Now "u" is undo and "Shift-B" is add-bus.  There are now like four
4569     different keys for undo (u, Shift-U, Control-Z, and "e Shift-U") in the
4570     default keymap.  Add/bus has "Shift-B" and "au" as hotkeys.
4572 commit 3d43c5d642ebe12a69380e8accf5533d338ee5e5
4573 Author: Ales Hvezda <ahvezda@seul.org>
4574 Date:   Sat Jan 26 20:07:45 2008 -0500
4576     Bumped versions to 1.4.0/20080127/33:0:0 for the next stable release
4578 commit ecda6ee9e101563f7fed092150532256fd9b343e
4579 Author: Ales Hvezda <ahvezda@seul.org>
4580 Date:   Sat Jan 26 19:50:16 2008 -0500
4582     Updated all dates and versions in all man pages
4584 commit 9a4bbc16c5c0e408aabbc69c1c1cc10cb4b7675f
4585 Author: Ales Hvezda <ahvezda@seul.org>
4586 Date:   Sat Jan 26 19:48:29 2008 -0500
4588     Manually ran make update-po in all po dirs in prep for the 1.4.0 release
4590 commit 915463b5f3fe41419307e5dee4d227f3c9a9bb5e
4591 Author: Peter Clifton <pcjc2@cam.ac.uk>
4592 Date:   Sat Jan 26 22:06:06 2008 +0000
4594     Invalidate component cache when updating symbols. [#1880211]
4595     
4596     Temporary fix for Bug #1880211, "symbol update reads the symbol from
4597     the cache". Ensure that when refreshing symbols, the symbol is read
4598     from the component source, not from the cache. (Suggested by Peter
4599     Brett).
4600     
4601     A more complete fix will be to add API which invalidates a single symbol
4602     name, rather than the entire cache.
4604 commit 968c37becebd630b85abd8bf3546a834db419aaa
4605 Author: Werner Hoch <werner.ho@gmx.de>
4606 Date:   Sat Jan 26 15:26:53 2008 +0000
4608     Update the pinnumbers when updating a symbol with slots
4609     
4610     Fix for [#1880207]. When updating symbols, gschem loaded the
4611     pinnumbers from the symbol file without respect to the slot attribute.
4613 commit fccaae6b363d7f81ab94725751314813c42b718d
4614 Author: Peter Clifton <pcjc2@cam.ac.uk>
4615 Date:   Wed Jan 16 20:08:27 2008 +0000
4617     Fix use after free corruption when consolidating nets
4619 commit bcea0ec85eb10a97b2f794fa240052b25d386cb9
4620 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
4621 Date:   Fri Jan 18 22:54:33 2008 +0000
4623     Update Afrikaans translation to fix spelling error.
4625 commit ec4b6287bbb4f709a7d3258a7474ec716933ca4b
4626 Author: Ales Hvezda <ahvezda@seul.org>
4627 Date:   Fri Jan 11 01:23:39 2008 -0500
4629     Manually ran make update-po in all po directories in prep for the 1.3.1 release
4631 commit d2047bc2a06e6534ff32464d36f8a95aec11b9d7
4632 Author: Ales Hvezda <ahvezda@seul.org>
4633 Date:   Fri Jan 11 01:11:12 2008 -0500
4635     Updated all ChangeLogs for this release (1.3.1)
4637 commit bab45317a9e009449942e87d2ce2506287368187
4638 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
4639 Date:   Fri Jan 11 05:10:13 2008 +0000
4641     Add Afrikaans translation for gschem
4642     
4643     (af_ZA.po converted to UTF-8 encoding by Peter Clifton for consistency)
4645 commit 8eeb92aa5d10d7c4808d039e09b4b6626e380138
4646 Author: Ales Hvezda <ahvezda@seul.org>
4647 Date:   Thu Jan 10 23:51:08 2008 -0500
4649     When doing a find_text into hierarchy, the titlebar was not being updated
4650     
4651     Added a update call into o_edit_find_text that made sure the titlebar and
4652     scrollbars are properly updated when the found attribute is displayed.
4653     This addition will do a full redraw as well (not sure if that is going
4654     to cause problems at this point).
4656 commit c1e3075cb263a6098d2351440b680247456ae0d0
4657 Author: Ales Hvezda <ahvezda@seul.org>
4658 Date:   Thu Jan 10 00:27:16 2008 -0500
4660     Updated and correct the gEDA/gaf man pages a little bit.
4661     
4662     This is the fix for SF Bug: [ 1556064 ] man page version out of date
4664 commit 7b0c15cea18baf9a2a3bb8c89ccb02034a821156
4665 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
4666 Date:   Thu Jan 10 01:24:26 2008 +0000
4668     gnetlist: Fix typo
4669     
4670     (Peter Clifton modified the patch to fix translations at the same time)
4672 commit 015f1dc8f08ef4ff9510dc04859b88311dedf237
4673 Author: Carlos Nieves Onega <cnieves@iespana.es>
4674 Date:   Mon Jan 7 20:22:46 2008 +0100
4676     Updated gschem's spanish (Spain) translation.
4678 commit fd560649436835795f173f0fd3dc498133040f9a
4679 Author: Peter Clifton <pcjc2@cam.ac.uk>
4680 Date:   Sun Jan 6 21:02:26 2008 +0000
4682     Validate log messages to ensure they are UTF-8 before passing to GTK
4684 commit 048bd6f8e2fc1c5f5b01ff3f1cad3a7c9bf43f3e
4685 Author: Peter Clifton <pcjc2@cam.ac.uk>
4686 Date:   Sun Jan 6 20:36:52 2008 +0000
4688     Allow configuration of the scroll wheel's action to match GTK app. norms
4689     
4690     Adds configuration parameter (scroll-wheel ...) which takes either
4691     "classic" or "gtk" as a string argument. "classic" remains the default.
4692     
4693     Tidies x_event_scroll() to deal with the various options in a neater way.
4695 commit 3aaba690a9360bfe9acd480acf5d549d05513f52
4696 Author: Bert Timmerman <bert.timmerman@xs4all.nl>
4697 Date:   Sun Jan 6 12:18:06 2008 +0100
4699     Dutch translation file reviewed for upcoming release.
4700     
4701     - Updated modified texts.
4702     - Corrected minor typos near exclamation marks.
4703     - Tried to conform to new Dutch spelling definitions.
4705 commit e800618afe70c93c3739d725172dfdba95386232
4706 Author: Ales Hvezda <ahvezda@seul.org>
4707 Date:   Sat Jan 5 21:14:51 2008 -0500
4709     Manually ran make update-po in all directories
4711 commit b2380c0f70344117be7045a5fc1483698fdf4358
4712 Author: Ales Hvezda <ahvezda@seul.org>
4713 Date:   Sat Jan 5 20:57:51 2008 -0500
4715     Bumped versions to 1.3.1/20080110/32:0:0 for the next development snapshot
4716     
4717     Note, libgeda's so did not change at this time.
4719 commit 6b36311d3be00d9b4901a876f5f4da4f892e3bce
4720 Author: Peter Clifton <pcjc2@cam.ac.uk>
4721 Date:   Sat Jan 5 22:10:31 2008 +0000
4723     Remove extraneous printf where they duplicate log messages.
4725 commit d367e94f7d11ceb66c8ad95332052d2abf5ed09c
4726 Author: Ales Hvezda <ahvezda@seul.org>
4727 Date:   Fri Jan 4 13:33:15 2008 -0500
4729     Added consistent border width to the in-use scrolled window
4730     
4731     Without this border width, switching between the in-use and library tabs
4732     caused the scrolled windows to jump around.  Plus now the spacing is
4733     consistent between the two tabs.
4735 commit 3fb40e7713e33a034632386a1446e3d94b25e6a5
4736 Author: Ales Hvezda <ahvezda@seul.org>
4737 Date:   Fri Jan 4 13:30:26 2008 -0500
4739     Added refresh button to the in-use tab in the component selection dialog
4740     
4741     The refresh button refresh the in-use component list as well as the library
4742     component list.  Before this patch, the refresh button was only in the
4743     library tab and not accessible from the in-use tab.
4745 commit cf1ebffc8fc1634dc82cfd3a5e2748edadea4565
4746 Author: Peter Clifton <pcjc2@cam.ac.uk>
4747 Date:   Fri Jan 4 20:26:24 2008 +0000
4749     Remove "Apply" button from the component selector.
4750     
4751     As the component list is de-selected when placement mode is cancelled,
4752     the action of re-selecting a component to place switches back to this
4753     mode without the need for an explit "Apply" button.
4755 commit 8333e806fef245815235d8f96a81fcd06b96dfa4
4756 Author: Peter Clifton <pcjc2@cam.ac.uk>
4757 Date:   Fri Jan 4 20:23:22 2008 +0000
4759     De-select list in the compselect dialog when placement is cancelled.
4760     
4761     By de-selecting the list, we ensure that the list state reflects the
4762     component the user may currently place. It allows the same component
4763     to be selected for again, without either using the "Apply" button,
4764     or having to temporarily select a different component first.
4765     
4766     As a hook to de-select the list is added in o_redraw_cleanstates(), we
4767     now avoid using that call as a shortcut to cleanup our last place
4768     operation. It is still used if the last operation was not a component
4769     placement.
4771 commit 3ae9c752b203ddc66b94c3f6cda352ee9306f13d
4772 Author: Peter Clifton <pcjc2@cam.ac.uk>
4773 Date:   Fri Jan 4 20:06:24 2008 +0000
4775     Add call to o_redraw_cleanstates() in the edit_{copy,mcopy,move} actions.
4776     
4777     Ensures that any existing action is appropriately cancelled before
4778     starting the new action.
4780 commit 09c5d9fe73e0874b8b86b50c1ddc552254ee8661
4781 Author: Peter Clifton <pcjc2@cam.ac.uk>
4782 Date:   Fri Jan 4 18:08:22 2008 +0000
4784     gschem: Remove extraneous debugging printf from g_hook.c
4786 commit 9aca06cdb70c3fc9595beb82713eedd90a7e1d16
4787 Author: Ales Hvezda <ahvezda@seul.org>
4788 Date:   Fri Jan 4 12:57:58 2008 -0500
4790     Added checks at the autogen.sh stage for missing m4 macros
4791     
4792     This commit adds a autoconf friendly m4 macro to check for undefined
4793     macros (originally written by Peter Brett).  This macro is used in
4794     configure.ac.in to check for a few troublesome macros (guile, nls,
4795     gettext, intltool) that are usually missing because a required -dev
4796     package is not installed/missing.
4798 commit ef9f1e110cc8d67a98310e9c689c5afe5363be25
4799 Author: Peter Clifton <pcjc2@cam.ac.uk>
4800 Date:   Wed Jan 2 19:15:14 2008 +0000
4802     Prefix "geda-" to icon names to help namespace the icon theme.
4804 commit 1697a90e5465dde296199745991e76df8f68c3be
4805 Author: Peter Clifton <pcjc2@cam.ac.uk>
4806 Date:   Wed Jan 2 15:41:07 2008 +0000
4808     Changed --with-xdgdir to --with-xdgdatadir for consistency
4810 commit ee47fc5fa6d418a54af62a55a78e508d95a0f913
4811 Author: Peter Clifton <pcjc2@cam.ac.uk>
4812 Date:   Wed Jan 2 02:46:14 2008 +0000
4814     Change usage of ${datarootdir} to ${datadir} for autoconf compatibility.
4816 commit 208cb97b474b29efea9b76d8b9099ffe2bf446af
4817 Author: Peter Clifton <pcjc2@cam.ac.uk>
4818 Date:   Wed Jan 2 01:22:20 2008 +0000
4820     Fix typo in --disable-update-desktop-database help text
4821     
4822     Also fixed closing comment which had "mime" instead of "desktop"
4824 commit 25557429d0ca8baaa921b4a2ce5f243f8df8dfc2
4825 Author: Ales Hvezda <ahvezda@seul.org>
4826 Date:   Tue Jan 1 16:14:09 2008 -0500
4828     Updated gschem's autogen.sh to be identical libgeda's
4829     
4830     This commit also fixed up the build mechanism for gschem to recreate
4831     configure.ac if configure.ac.in changes.  These changes are identical to
4832     1a1cbb29f5d1ff118fb91235463e57a48ba81054
4834 commit 5f3cde4f20975275cb38b52cd3155fda41201209
4835 Author: Peter TB Brett <peter@peter-b.co.uk>
4836 Date:   Tue Jan 1 17:24:18 2008 +0000
4838     Fix configure checks for Guile (again).
4839     
4840     The previous patch missed changing the gschem configure script
4841     (generated from configure.ac.in), and got the logic wrong anyway.
4843 commit 2f7e3ae60480743a8268d392272d05bd77dd75c8
4844 Author: Ales Hvezda <ahvezda@seul.org>
4845 Date:   Mon Dec 31 20:43:08 2007 -0500
4847     Updated all ChangeLogs for the past development release (1.3.0)
4848     
4849     This step was supposed to happen before the 1.3.0 tarballs were released.
4850     These changes will be picked up in a subsequent release.
4852 commit 0525e60123ab47ff62c9c30f4a3159ca75bbb456
4853 Author: Peter TB Brett <peter@peter-b.co.uk>
4854 Date:   Sun Dec 30 20:15:19 2007 +0000
4856     Add TAGS to some .gitignore files.
4858 commit ec101c69efe4cef25410fc6e8b9e43a3dbafd5f0
4859 Author: Peter TB Brett <peter@peter-b.co.uk>
4860 Date:   Sun Dec 30 20:15:19 2007 +0000
4862     gschem: Use protected evaluator to run menu functions.
4864 commit 46f8e5671e1f22ed32d02ce7fd4f87f65f257c0f
4865 Author: Ales Hvezda <ahvezda@seul.org>
4866 Date:   Sat Dec 29 22:32:31 2007 -0500
4868     Created POTFILES.skip (with intl/plural.c inside) to make distcheck happy
4870 commit ba474af87840a0d49e04a00de96b7df2944c09bd
4871 Author: Ales Hvezda <ahvezda@seul.org>
4872 Date:   Sat Dec 29 09:57:43 2007 -0500
4874     Bumped versions to 1.3.0/20071229/32:0:0 for the next development snapshot
4876 commit 7c82238f3b2433607f8af6c873af99a642f05409
4877 Author: Ales Hvezda <ahvezda@seul.org>
4878 Date:   Sat Dec 29 09:22:38 2007 -0500
4880     Ran make update-po in all po directories in prep for a new release.
4882 commit ae6aeb9b656ead47d5cad5cbc7370cf59877eda7
4883 Author: Werner Hoch <werner.ho@gmx.de>
4884 Date:   Sat Dec 29 09:00:36 2007 +0100
4886     ignore deleted geda-gschem.pot in .gitignore
4888 commit e2f7ebf5903560592cd31168085068310c2a12fb
4889 Author: Werner Hoch <werner.ho@gmx.de>
4890 Date:   Sat Dec 29 08:56:40 2007 +0100
4892     gschem: updated german translations
4894 commit 15ff1a06a1352871426a9774a5037519e74759f6
4895 Author: Ales Hvezda <ahvezda@seul.org>
4896 Date:   Fri Dec 28 23:52:17 2007 -0500
4898     Removed now machine generated file
4900 commit fdf272053572b5017fa342d91e7ed2ee559e1e2d
4901 Author: Ales Hvezda <ahvezda@seul.org>
4902 Date:   Fri Dec 28 23:36:02 2007 -0500
4904     Fixed a minor newline typo
4906 commit 91a9b7a5391544f961c96d376186228a72410f67
4907 Author: Peter Clifton <pcjc2@cam.ac.uk>
4908 Date:   Sat Dec 29 03:12:06 2007 +0000
4910     gschem: Fix copy-paste error handling line-style keyword in g_rc.c
4912 commit 91726e0964602983e8f896be86aa056afc96baff
4913 Author: Peter Clifton <pcjc2@cam.ac.uk>
4914 Date:   Sat Dec 29 01:41:14 2007 +0000
4916     Change image embedding format to base64 encode the original files
4917     
4918     Previously, the format was a base64 encoding of serialised output from
4919     the gdk_pixbuf used to store the image internally. Due to another bug
4920     (now fixed) it is known that no official gEDA release could re-load
4921     the embedded images that it saved. This hopefully provides some
4922     justification as to why its OK to change the embedding format here.
4924 commit 1061b44d8af612e15b4179b71aac44c3959e09b9
4925 Author: Peter Clifton <pcjc2@cam.ac.uk>
4926 Date:   Sat Dec 29 01:38:55 2007 +0000
4928     gschem: Redraw after embedding or unembedding components
4930 commit cf5a697b83f1d53d6c9299a39d37d7d685f374eb
4931 Author: Peter Clifton <pcjc2@cam.ac.uk>
4932 Date:   Sat Dec 29 01:37:18 2007 +0000
4934     Add undo save for embed / unembed operations
4936 commit 5ad632442a79dcf8ddb0fd60cdd9a1c09acfc39a
4937 Author: Peter Clifton <pcjc2@cam.ac.uk>
4938 Date:   Sat Dec 29 01:37:10 2007 +0000
4940     Use gdk_pixbuf_copy(...), not gdk_pixbuf_rotate(.., 0) to copy pixbufs
4942 commit 70293381f5af9957afbd3e3fd0614d838738c7a7
4943 Author: Peter Clifton <pcjc2@cam.ac.uk>
4944 Date:   Sat Dec 29 01:37:02 2007 +0000
4946     Compute picture aspect ratio in double arithmetic, not integer.
4947     
4948     Avoids a nasty bug where coordinates would overflow when attempting to
4949     grip-adjust the picture size due to this ratio being incorrect.
4951 commit c356556b29a991ec1f40b6be01e332fdfd663dac
4952 Author: Peter Clifton <pcjc2@cam.ac.uk>
4953 Date:   Sat Dec 29 00:48:09 2007 +0000
4955     gschem: Fix erase drawing of objects
4956     
4957     Code which used o_..._erase() was not causing invalidations of the dirty
4958     screen regions. Refactored to the code to use o_erase_single() instead,
4959     and deleted the then unused o_..._erase() functions.
4961 commit 532aa7129dafe872d0993fed52d0dcba92e78399
4962 Author: Bert Timmerman <bert.timmerman@xs4all.nl>
4963 Date:   Fri Dec 28 22:04:26 2007 +0100
4965     Updated the Dutch translation for gschem.
4967 commit b03232ea8fe9f911af8265c63b16425cf7ee70cb
4968 Author: Peter Clifton <pcjc2@cam.ac.uk>
4969 Date:   Fri Dec 28 18:52:30 2007 +0000
4971     Allow standard glob matches in the component selector's filter entry.
4973 commit f2101950cde757e1b51c8e6e70a5d764d8a7fa99
4974 Author: Peter Clifton <pcjc2@cam.ac.uk>
4975 Date:   Thu Dec 27 21:54:16 2007 +0000
4977     gschem: Don't delete po/ChangeLog on make maintainer-clean
4978     
4979     Also removed rule to delete po/Makefile.in.in as this also exists
4980     in the po/Makefile maintainer-clean rule.
4982 commit 127cff28ce52f41ce0972e8109049ecb78b09cc3
4983 Author: Peter Clifton <pcjc2@cam.ac.uk>
4984 Date:   Tue Dec 25 23:09:28 2007 +0000
4986     Add English (British) translations for libgeda and gschem
4988 commit b9f741e0906295754fa5e1301cf3079aee88ff55
4989 Author: Peter Clifton <pcjc2@cam.ac.uk>
4990 Date:   Tue Dec 25 05:12:40 2007 +0000
4992     Remove intltool-*.in files during make maintainer-clean
4994 commit 76885149df80234cd91c42ca83752cfe5cd470f8
4995 Author: Peter Clifton <pcjc2@cam.ac.uk>
4996 Date:   Sun Dec 23 06:11:31 2007 +0000
4998     Add --with-xdgdir=... option to gschem and gattrib to match libgeda
5000 commit 5ee84ba2b7f534b11b7487c91413deaf393cb7ca
5001 Author: Peter Clifton <pcjc2@cam.ac.uk>
5002 Date:   Sun Nov 18 22:55:34 2007 +0000
5004     Add .desktop and icon files to gschem and gattrib
5005     
5006     Ship application icons and .desktop files for gschem and gattrib.
5007     The gschem icons were contributed by Tomaz Solc, and the gattrib
5008     icons created by Peter Clifton.
5009     
5010     Uses the intltool framework to translate the .desktop files.
5012 commit cd5263a602c8da768d3af7fdf9aca99847324d9e
5013 Author: Peter TB Brett <peter@peter-b.co.uk>
5014 Date:   Sat Dec 22 21:46:25 2007 +0000
5016     gschem: Don't lose close confirmation dialog behind window
5017     
5018     It was possible to lose gschem's close confirmation dialog behind the
5019     gschem main window, which could lead to data loss as it was then very
5020     difficult to recover gracefully.
5022 commit b10a0ed7e99910a5d83565ede63a7ff9b11bc528
5023 Author: Peter Clifton <pcjc2@cam.ac.uk>
5024 Date:   Sat Dec 22 05:32:31 2007 +0000
5026     Switch back to the page we were on after a saving changed pages.
5027     
5028     The changed page saving code switches pages with s_page_goto(), but the
5029     page was not switched back. This lead to gschem being left editing a
5030     different page after a cancelled close operation. No redraw or GUI
5031     update was called, so the screen still showed the old page.
5033 commit ceacc48fd83d27953a9510374962f267c42e22e9
5034 Author: Peter Clifton <pcjc2@cam.ac.uk>
5035 Date:   Sat Dec 22 05:32:28 2007 +0000
5037     Use Save, not Save As.. after prompt when closing modified schematics
5038     
5039     If the schematic is changed at exit time, a prompt is given. the
5040     "Save" option will save into the existing schematic file. If the
5041     page is untitled, a file-chooser will be presented.This is in
5042     keeping with other applications.
5044 commit f3de6fdfcd78b60d201e8786c78ea59bcc3f437e
5045 Author: Peter Clifton <pcjc2@cam.ac.uk>
5046 Date:   Fri Dec 21 23:48:42 2007 +0000
5048     gschem: Set default window icon to the "gschem" icon from the icon theme.
5049     
5050     When a "gschem" icon is found in the icon theme, this will be used as the
5051     default application icon. For GTK versions < 2.6, some default sizes have
5052     been picked at which to look for icons. GTK >= 2.6 will find the best icon
5053     by name.
5055 commit f024b92045527776c0ddf86ac16de5dfb09837ad
5056 Author: Peter TB Brett <peter@peter-b.co.uk>
5057 Date:   Fri Dec 21 17:44:15 2007 +0000
5059     gschem: Don't use direct o_???_translate_world() funcs
5060     
5061     Use o_translate_world() instead of the direct functions, so we can
5062     hide the internal implementation in libgeda.  Only a very small
5063     performance hit.
5065 commit 52bb24c3868d14b12480037dc8f0b1450cc78d7f
5066 Author: Peter TB Brett <peter@peter-b.co.uk>
5067 Date:   Fri Dec 21 17:26:30 2007 +0000
5069     libgeda: Make sure that Guile smobs are initialised.
5070     
5071     Rather than initialising them in gschem, which is a WTF.
5073 commit 0a5ba355c6719172ec1e6325108d5c0e716d1a2e
5074 Author: Robert Fitzsimons <robfitz@273k.net>
5075 Date:   Fri Dec 21 14:13:51 2007 +0000
5077     gschem: Fix segfault when trying to write an image.
5078     
5079     The change to split out gschem TOPLEVEL variables, left some code
5080     which tries to copy the TOPLEVEL variables from the old data
5081     structure.  This caused a segfalut to happen on my system.
5083 commit 3b040cf8d60a8fbe45f6e7c5f3d71a3dea119357
5084 Author: Peter Clifton <pcjc2@cam.ac.uk>
5085 Date:   Wed Dec 19 17:48:57 2007 +0000
5087     Add intltoolize to the build infrastructure
5088     
5089     Provide intltoolize infrastructure for translating .desktop and MIME
5090     XML files. Run gettextize after intltoolize if required, so that the
5091     infrastructure for providing libintl on a non GNU system still works.
5093 commit c290fcbcb34bd4adaee35a7ba4f655f88e4e252a
5094 Author: Peter Clifton <pcjc2@cam.ac.uk>
5095 Date:   Mon Dec 17 23:11:47 2007 +0000
5097     Check if bounds were found before invalidating drawn areas.
5098     
5099     If world_get_..._bounds() return zero (for example, in the case of
5100     invisible attributes, or an empty schematic), no bound coordinates
5101     are returned and we can't use them for further processing.
5103 commit 17998a71cc46a7eff3c738fcbd3851c7c8ea5930
5104 Author: Peter Clifton <pcjc2@cam.ac.uk>
5105 Date:   Mon Dec 17 23:11:44 2007 +0000
5107     Fix bug #1851403: Crash after adding component while in move mode
5108     
5109     Ensure any operation already in progress when opening the component
5110     selector is cancelled by calling o_redraw_cleanstates() first.
5111     
5112     Also call o_redraw_cleanstates() just before placing the component,
5113     rather then directly freeing the objects in the complex place list.
5114     Since the component selector isn't modal, the user may have switched
5115     to a different action whilst the component selector was open.
5116     
5117     To avoid a similar crash, use o_redraw_cleanstates() upon closing the
5118     component selector (if we are still in component placement mode).
5120 commit 83b4c4f7d62c8a0a6a52ec092c9535f81f82deac
5121 Author: Peter Clifton <pcjc2@cam.ac.uk>
5122 Date:   Mon Dec 17 23:03:53 2007 +0000
5124     Fix memory leak in o_redraw_cleanstates() called during copy or place.
5125     
5126     For actions other than "MOVE", the objects in the complex_place_list
5127     must be free'd as they are otherwise unowned.
5129 commit 95a9632f6b4970b578fe06647496f339ee5fa1f8
5130 Author: Peter Clifton <pcjc2@cam.ac.uk>
5131 Date:   Mon Dec 17 23:03:49 2007 +0000
5133     Fix i_callback_edit_copy_hotkey() to set new state after clearing old.
5134     
5135     o_redraw_cleanstates() needs to know the state it's clearing up.
5137 commit fb274693d442e16890582d7442f1d52d60e95755
5138 Author: Peter Clifton <pcjc2@cam.ac.uk>
5139 Date:   Sat Dec 15 16:53:25 2007 +0000
5141     Add private function compselect_get_view() in x_compselect.c
5142     
5143     This function abstracts away an assumption we make that the tabs of the
5144     GtkNotebook inside the component selection dialog are in a particular
5145     order. Separating this into a function call which returns from an enum of
5146     views will stop this ordering assumption spreading throughout the code.
5148 commit a5f930da86483f05c58a92ea5ae436b25e548486
5149 Author: Peter Clifton <pcjc2@cam.ac.uk>
5150 Date:   Sat Dec 15 13:42:55 2007 +0000
5152     Remove unused functions o_{net,bus}_xorrubber()
5154 commit 79f8378827becac265f5cd3a3327ab79a2c8befc
5155 Author: Peter Clifton <pcjc2@cam.ac.uk>
5156 Date:   Sat Dec 15 13:31:39 2007 +0000
5158     Always redraw the screen using a blit from the backbuffer.
5159     
5160     The previous redraw scheme which would draw to the screen concurrently
5161     with drawing to the backbuffer is proving to be a bottle-neck to recent
5162     desktops using compositing. Every draw we make forces the X server to
5163     compute a damaged region and re-composite the window.
5164     
5165     We now draw only into the backbuffer, and then invalidate the extents of
5166     the region we've drawn.
5168 commit 33e12c8916f6b3bcd2d0df2246ef925e7b25b0dd
5169 Author: Peter Clifton <pcjc2@cam.ac.uk>
5170 Date:   Sat Dec 15 13:31:38 2007 +0000
5172     XOR draw to remove component ghost when cancelling component placement.
5173     
5174     Changes previous full-screen redraw when cancelling component placement
5175     to use XOR drawing. Adds similar code to remove the ghost which exists
5176     (usually underneath the dialog) when the component selection dialog is
5177     closed. Don't rely on an expose event to re-paint it for us.
5179 commit ebf8dd81c398f39adcdbe4801d4a624ab1f73241
5180 Author: Peter Clifton <pcjc2@cam.ac.uk>
5181 Date:   Sat Dec 15 13:31:36 2007 +0000
5183     Remove unused toplevel variable in o_grips_motion()
5185 commit 20f61e1aaebcf565e5d7dcf111b1c07cd8483fd1
5186 Author: Peter Clifton <pcjc2@cam.ac.uk>
5187 Date:   Sat Dec 15 12:32:52 2007 +0000
5189     Fix test of object_changing in o_grips_motion() to a g_return_if_fail()
5190     
5191     This test isn't hit unless o_grips_motion() is called before the
5192     object_changing variable is set, and this would indicate a bug in
5193     libgeda or its client. This could currently cause a segfault if it
5194     were to happen, as the variable isn't initialised to NULL.
5195     
5196     Initialise object_changing to NULL, so any bug will always be caught.
5197     
5198     Tidy up indentation levels in o_grips_start() by returning early if we
5199     don't have any object to manipulate, rather than wrapping most of the
5200     funciton in an if (...) {...} test.
5202 commit 49bce50cbcfe83e7b53c4ffe76e4ca1edb333c38
5203 Author: Peter Clifton <pcjc2@cam.ac.uk>
5204 Date:   Sat Dec 15 11:37:51 2007 +0000
5206     Remove un-needed box size computation in o_select_box_start()
5208 commit ec2269ef825369b75ab932f5395a2f64dae72847
5209 Author: Peter Clifton <pcjc2@cam.ac.uk>
5210 Date:   Sat Dec 15 11:19:48 2007 +0000
5212     Fix stroke trail to be visible on light background color scheme
5214 commit a02bc0b501b7acbdf419ad306b46ec6a9522b61c
5215 Author: Peter Clifton <pcjc2@cam.ac.uk>
5216 Date:   Sat Dec 15 11:12:47 2007 +0000
5218     Erase stroke trails after an un-successful stroke recognition
5219     
5220     Previous behaviour was only to erase stroke trails after a
5221     successful match.
5223 commit 47240f890c2282d19a1822c280de4fac18a50e66
5224 Author: Peter TB Brett <peter@peter-b.co.uk>
5225 Date:   Wed Dec 12 19:19:13 2007 +0000
5227     gschem: Warn before overwriting files. [1846593]
5228     
5229     Also fixes a memory leak in the file save function.
5231 commit 405e7a33706d1e82d53c8d607aad11f9be8ad559
5232 Author: Peter TB Brett <peter@peter-b.co.uk>
5233 Date:   Fri Dec 7 21:48:43 2007 +0000
5235     General log handler improvements
5236     
5237     - Handle all messages above "debug" level
5238     - Send all messages which are neither "message" nor "warning" levels
5239       to console using default log handler
5240     - Don't print to console from the gschem log handler
5242 commit 22b3fde6c98fc0219e54bf7edfcd8dcb33c5fe92
5243 Author: Peter TB Brett <peter@peter-b.co.uk>
5244 Date:   Fri Dec 7 21:48:18 2007 +0000
5246     gschem: Show log in pretty colours.
5248 commit 668ada22ec0f2a48adffcc62daacc6876108ee71
5249 Author: Peter TB Brett <peter@peter-b.co.uk>
5250 Date:   Fri Dec 7 21:48:17 2007 +0000
5252     Pass all log info to x_log_update_func
5253     
5254     In order to enable applications to do interesting things with log
5255     messages, they need to have all of the log info (including severity
5256     and log domain).
5258 commit e0dda20b072897d6c00fddeddf729cab283a2810
5259 Author: Peter TB Brett <peter@peter-b.co.uk>
5260 Date:   Fri Dec 7 21:48:17 2007 +0000
5262     gschem: Show an informative message dialog when loading a file fails.
5264 commit be301530f468e4d0057b3be68e218ac444c2d2be
5265 Author: Peter TB Brett <peter@peter-b.co.uk>
5266 Date:   Fri Dec 7 17:20:55 2007 +0000
5268     Make libgeda's f_open() & f_open_flags use GError.
5269     
5270     This patch actually *removes* error message output from file loading
5271     errors is some cases.  This is for the sake of keeping the patch
5272     concise, and will be addressed in later patches.
5274 commit e4a1fa8545e76b4ef82cc1253e65a844fa5fea88
5275 Author: Peter TB Brett <peter@peter-b.co.uk>
5276 Date:   Thu Nov 29 13:32:15 2007 +0000
5278     symbols: Nicer names for default libraries
5279     
5280     Use the features added in the component library backend rewrite to
5281     give the default component libraries less cryptic names.
5282     
5283     Also, put them in a sensible order, and disable component library
5284     sorting by default so that that order is preserved.
5286 commit 49059356b318abbfa2ce977e017859049fd40162
5287 Author: Peter TB Brett <peter@peter-b.co.uk>
5288 Date:   Thu Nov 29 08:37:12 2007 +0000
5290     gschem: Fix file loading
5291     
5292     commit 5cb63878f258bc836a9908b329608268c38cf64c inadvertently broken
5293     file loading completely due to a logic error.
5295 commit 5cb63878f258bc836a9908b329608268c38cf64c
5296 Author: Peter TB Brett <peter@peter-b.co.uk>
5297 Date:   Thu Nov 29 01:29:16 2007 +0000
5299     gschem: Fix new page behaviour
5300     
5301     Currently, gschem attempts to load "untitled-1.sch" from the cwd at
5302     startup.  This is clearly wrong -- gschem should present a blank page
5303     regardless of whether there is a page available on disk (consider
5304     behaviour for "untitled-N.sch", N>1).
5305     
5306     This has the side effect of stopping gschem from trying to load backup
5307     files for new pages (this is a good thing).
5309 commit 7228144a2195734300776a868ee88ee648a93df8
5310 Author: Peter TB Brett <peter@peter-b.co.uk>
5311 Date:   Thu Nov 29 00:29:15 2007 +0000
5313     gschem: Fix "failed to set sensitivity" log spam
5314     
5315     A bad string in i_basic.c was making x_menus_sensitivity() spam error
5316     messages to the log.  Altered the log message to make it easier to fix
5317     in the future.
5318     
5319     Bug was introduced in commit 93199b2f50c31691722ed154fc42fd4c01a2dac5
5320     by editing menu definitions in system-gschemrc without updating
5321     i_basic.c.
5323 commit e97af7cb9cd0b79534cc2bf93e6e5dbf336e883a
5324 Author: Peter TB Brett <peter@peter-b.co.uk>
5325 Date:   Wed Nov 28 14:58:15 2007 +0000
5327     gschemdoc: Use xdg-open if available
5328     
5329     xdg-open is a tool from freedesktop.org which tries to use the user's
5330     preferred application to open a file or URL.  This is a big
5331     improvement over using a hardcoded list of applications to try.
5333 commit ae225157603f063747709fa3d639ed8cdf63f6b1
5334 Merge: 1abfd25... 43b5713...
5335 Author: Peter TB Brett <peter@peter-b.co.uk>
5336 Date:   Tue Nov 27 07:53:37 2007 +0000
5338     Merge with Cesar's mingw/pu branch
5339     
5340     Merge commit 'cesar/mingw/pu' into premerge
5342 commit 1abfd25bf917ee4e90ccdbbbe9921db6ff46c49f
5343 Author: Peter TB Brett <peter@peter-b.co.uk>
5344 Date:   Sat Nov 24 08:34:13 2007 +0000
5346     gschem: Fix NULL pointer risk in x_image.c [1802087]
5347     
5348     x_image_update_dialog_filename may attempt to deference a NULL
5349     pointer.
5351 commit 74e7888ed1d23eac05d097f9d635d4a58a6576a3
5352 Author: Peter TB Brett <peter@peter-b.co.uk>
5353 Date:   Fri Nov 23 21:43:49 2007 +0000
5355     gschemdoc: Quote variables in case they contain spaces. [1792986]
5356     
5357     In the gschemdoc shell script, the variables $pdfreader and $browser
5358     need quoting on lines 86, 113 and 128 (eg "${browser}"). Otherwise,
5359     paths with spaces in, like "Program Files/Mozilla Firefox" commonly
5360     used in Windows don't work.
5361     
5362     Based on anonymous SourceForge patch.
5364 commit 8b490a404e682ac4f1e4cbd46e22c92f58b2ae76
5365 Author: Tomaž Å olc <tomaz.solc@tablix.org>
5366 Date:   Fri Nov 23 21:42:50 2007 +0000
5368     Compilation fixes for Mac OS X 10.5 [1832417]
5369     
5370     This patch contains changes to gEDA source tree that were necessary to
5371     compile on Mac OS X (10.5 Leopard, PPC).
5373 commit 0b0d1259692ffe36e3bbc617af78bbf8a1c8f716
5374 Author: Peter Clifton <pcjc2@cam.ac.uk>
5375 Date:   Sun Nov 18 21:34:57 2007 +0000
5377     Improve object mirroring API in libgeda + gschem
5378     
5379     Implements the o_mirror_world() function which rotates any object, and
5380     o_{glist,list}_mirror_world() functions which mirror lists of objects.
5381     
5382     Moves o_complex_mirror_world() from gschem into libgeda, and modifies
5383     appropriate places in libgeda + gschem to use the new API. The old
5384     gschem function o_mirror_world() becomes o_mirror_world_update(), a
5385     convenience function calling o_glist_mirror_world() and ensuring all
5386     necessary drawing and connection updates are made.
5387     
5388     Removes the o_complex_mirror_lowlevel() function which is made redundant
5389     by the above changes.
5391 commit 21a8790b0540c374b00cfc45ad79ab474a4655b0
5392 Author: Peter Clifton <pcjc2@cam.ac.uk>
5393 Date:   Sun Nov 18 21:34:35 2007 +0000
5395     Improve object rotation API in libgeda + gschem
5396     
5397     Implements the o_rotate_world() function which rotates any object, and
5398     o_{glist,list}_rotate_world() functions which rotate lists of objects.
5399     
5400     Moves o_complex_rotate_world() from gschem into libgeda, and modifies
5401     appropriate places in libgeda + gschem to use this new API. The gschem
5402     function o_rotate_90_world() is greatly simplified, becoming a
5403     convenience function calling o_glist_rotate_world() and ensuring all
5404     necessary drawing and connection updates are made. This function is
5405     renamed o_rotate_world_update().
5406     
5407     Removes the o_{complex,text}_rotate_lowlevel() functions which are made
5408     redundant with the above changes.
5410 commit 626f5c071a1dfea55e0214f6064b29908152d792
5411 Author: Peter Clifton <pcjc2@cam.ac.uk>
5412 Date:   Sun Nov 18 19:21:34 2007 +0000
5414     Update the all drawing state SCREEN co-ordinates when zooming / panning.
5415     
5416     By updating all of the co-ordinate state when zooming / panning, a redraw
5417     which includes a draw of any rubberbanded items will show them in the
5418     correct location. This allows XOR drawing to continue without dropping
5419     artifacts, or flashing up a "ghost" where the original element being moved
5420     was. The explicit erase for the gost item when moving is no longer needed.
5422 commit b20fa7e79e364fc8b5188ce8f6d9d807d8185a44
5423 Author: Peter Clifton <pcjc2@cam.ac.uk>
5424 Date:   Sun Nov 18 19:19:20 2007 +0000
5426     Rework o_drawbounding() to work without dropping artifacts in all modes.
5427     
5428     Simplifies both o_drawbounding(), and many functions which call it. No
5429     special casing outside o_drawbounding() is needed for OUTLINE vs.
5430     BOUNDINGBOX mode. Duplicated code has been reduced by making more use of
5431     o_drawbounding() during copying / complex OBJECT placement.
5432     
5433     This commit fixes bugs in code paths which aren't normally exercised, as
5434     the BOUNDINGBOX drawing mode isn't used any more. The code could be
5435     simplified further by removing the BOUNDINGBOX mode if desired.
5437 commit c3e9ed7bd974e4c8f8adbd7d61b44a11ed0edfe1
5438 Author: Peter Clifton <pcjc2@cam.ac.uk>
5439 Date:   Sun Nov 18 19:03:12 2007 +0000
5441     Don't redraw the selected objects which are being manipulated by grips
5442     
5443     This saves the need to explicitly erase those object after every redraw.
5445 commit 0b34786f4d28b57854f5cc4851afa40ac44b4ac3
5446 Author: Cesar Strauss <cestrauss@gmail.com>
5447 Date:   Fri Nov 16 09:33:52 2007 -0200
5449     MinGW does not have getuid nor getgid.
5451 commit bdd7ef7ee9047c3942b43c165396ebe48d31e95a
5452 Author: Cesar Strauss <cestrauss@gmail.com>
5453 Date:   Sun Nov 11 14:17:21 2007 -0200
5455     Use g_path_is_absolute from GLIB instead of platform specific code.
5457 commit 40c0582e39d6a7ed0a41e0e5deedc0bfd03bbddc
5458 Author: Cesar Strauss <cestrauss@gmail.com>
5459 Date:   Thu Nov 15 19:11:12 2007 -0200
5461     Use forward slashes as path separators on MinGW.
5462     
5463     They are also acceptable as path separators on MinGW.
5465 commit d715ba7dc3e02d77e671b9ab54b994379daefec5
5466 Author: Cesar Strauss <cestrauss@gmail.com>
5467 Date:   Thu Nov 15 13:34:40 2007 -0200
5469     Tell git to ignore .exe files.
5471 commit f71ae05abf00acdafa0d5626304ca6baa9851a53
5472 Author: Peter Clifton <pcjc2@cam.ac.uk>
5473 Date:   Tue Nov 6 23:11:41 2007 +0000
5475     Free gdk events obtained with gtk_event_get().
5476     
5477     gtk_event_put() copies an event given to it, so if we retrieve an event
5478     and re-push it into the event queue, we still need to free our copy.
5480 commit 21f35c531c68e6ceafa09548e0de6040e1b1ce52
5481 Author: Peter Clifton <pcjc2@cam.ac.uk>
5482 Date:   Tue Nov 6 23:11:39 2007 +0000
5484     Refactor XOR drawing functions to avoid code duplication.
5486 commit 14da6cd4ad1e318b53f0d3b745667842a442bf66
5487 Author: Peter Clifton <pcjc2@cam.ac.uk>
5488 Date:   Tue Nov 6 23:09:38 2007 +0000
5490     Remove full screen redraw calls the rubberbanding and ..._end() functions.
5491     
5492     These calls aren't hit, as they were conditional on the inside_action flag
5493     being 0, which should not be the case when these functions are called.
5494     
5495     Temporarily add g_assert() statments to verify inside_action != 0 to prove
5496     these changes are appropriate. Assertions should be removed after testing.
5498 commit 5f08590dee1f13d4b771880d46f317e49253ccff
5499 Author: Peter Clifton <pcjc2@cam.ac.uk>
5500 Date:   Fri Nov 2 18:27:56 2007 +0000
5502     Remove the o_redraw_all_fast() function, as its not any faster now.
5503     
5504     Historically, o_redraw_all_fast() may have been used for faster drawing
5505     in some cases, however the o_redraw_all() call is now equivelant, with
5506     the addition of redrawing any "place" trails should gschem be mid-action.
5508 commit 23ead18086e59aab22945c37ff95f49e5747f277
5509 Author: Peter Clifton <pcjc2@cam.ac.uk>
5510 Date:   Wed Oct 17 04:50:39 2007 +0100
5512     Remove the ATTRIB linked list in favour of a GList
5513     
5514     The ATTRIB.copied_to pointer is moved from the ATTRIB struct to reside in
5515     the source OBJECT being copied.
5516     
5517     The ATTRIB *attached_to pointer of an attribute's text OBJECT is changed
5518     to OBJECT *attached_to, pointing directly at the OBJECT to which that
5519     attribute is attached. This avoids the need to traverse the ATTRIB list
5520     and retrieve this pointer from the HEAD attribute node. (A HEAD node is
5521     not used in the GList of ATTRIBs).
5522     
5523     The ATTRIB structure now only contains one element, OBJECT *object. This
5524     points to the text OBJECT holding and displaying that attribute's
5525     "name=value".
5527 commit 6f0ab03ed06d5cf0265a4f5bee516866efc16828
5528 Author: Peter Clifton <pcjc2@cam.ac.uk>
5529 Date:   Wed Oct 17 04:14:38 2007 +0100
5531     Tidy the o_drawbounding() function to make it more readable.
5533 commit 1ec03e992136e524a24b6bd593a4e0de3ce0158f
5534 Author: Peter Clifton <pcjc2@cam.ac.uk>
5535 Date:   Wed Oct 17 04:14:25 2007 +0100
5537     Add function o_erase_list() to gschem, to undraw a GList of OBJECTS.
5539 commit 20df014334dbd0b62e2ec3515ff932726c2a29c9
5540 Author: Peter Clifton <pcjc2@cam.ac.uk>
5541 Date:   Tue Oct 9 22:27:02 2007 +0100
5543     Tidy o_redraw() to be more concise and have a tighter inner loop.
5545 commit ccd73092afbe22bdd6ef9f17318481dc32e50c8a
5546 Author: Peter Clifton <pcjc2@cam.ac.uk>
5547 Date:   Tue Oct 9 22:05:22 2007 +0100
5549     Avoid use of global_window_current in gschem/src/x_dialog.c: color_set()
5551 commit f914d437f4a76df5ba28e80e7dab6f55996a8b59
5552 Author: Peter Clifton <pcjc2@cam.ac.uk>
5553 Date:   Tue Oct 9 22:05:21 2007 +0100
5555     Split out gschem specific TOPLEVEL variables into a new GSCHEM_TOPLEVEL
5556     
5557     GSCHEM_TOPLEVEL has a TOPLEVEL *toplevel pointer as its first elelment,
5558     gschem uses this to call libgeda functions. (Almost) all gschem functions
5559     now take the GSCHEM_TOPLEVEL as their first argument.
5561 commit 3da83d39b58ab2cb642b93b798ec31be0a725d81
5562 Author: Peter Clifton <pcjc2@cam.ac.uk>
5563 Date:   Tue Oct 9 20:08:26 2007 +0100
5565     Move o_redraw_single() from libgeda to gschem
5567 commit fe4375d7185c0d5f7cc8186c1a214981fb6d0edd
5568 Author: Peter Clifton <pcjc2@cam.ac.uk>
5569 Date:   Tue Oct 9 20:08:26 2007 +0100
5571     Move libgeda's o_selection_unselect_list() into gschem.
5572     
5573     The function calls o_redraw_single(), so should be in gschem.
5574     It is now named o_select_unselect_list().
5576 commit f217428f8248d6e8491d943256d30d5e11d808d1
5577 Author: Peter Clifton <pcjc2@cam.ac.uk>
5578 Date:   Thu Oct 4 19:42:01 2007 +0100
5580     Remove OBJECT* linked list argument to o_drawbounding().
5581     
5582     All code is now passing GLists of objects to this function.
5584 commit 185958029cb58e26d37854c7580bef1b0869a7c9
5585 Author: Peter Clifton <pcjc2@cam.ac.uk>
5586 Date:   Thu Oct 4 19:42:01 2007 +0100
5588     Use GLists to store OBJECTs in the "object_buffers[]" paste buffers.
5589     
5590     Replaces o_list_copy_all_selection2() with o_glist_copy_all_to_glist().
5592 commit 38d3c48fd5a2ea57af5d772854393b39fd3b7e78
5593 Author: Peter Clifton <pcjc2@cam.ac.uk>
5594 Date:   Thu Oct 4 19:42:00 2007 +0100
5596     Make attribute / text placing use a new attrib_place_list GList.
5598 commit d1e77cc6b87f6bd78cfc38630c292ac2c0f1f09b
5599 Author: Peter Clifton <pcjc2@cam.ac.uk>
5600 Date:   Thu Oct 4 02:44:18 2007 +0100
5602     Remove the redundant toplevel variables current_{show,visible}.
5603     
5604     These variables were previously used for an interactive method of attrib
5605     placement which has since been removed. The current_visible variable was
5606     also tested during non-attribute text placement, but to no effect.
5607     
5608     Whilst the file-format does technically allow invisible text, gschem's UI
5609     pesesnts no way to achieve it, so removing this variable does no harm. The
5610     ability to correctly load schematics with invisible text remains.
5612 commit aa91395ad62805ec4112d602406888a328c43519
5613 Author: Peter Clifton <pcjc2@cam.ac.uk>
5614 Date:   Thu Oct 4 02:36:19 2007 +0100
5616     Remove the unused states for attrib placement: DRAWATTRIB and ENDATTRIB.
5617     
5618     Also removes the functions:
5619       o_attrib_{start|end|rubberattrib} which are no longer used after this.
5621 commit 6a0fb625ba8dfd3d8dceb1b44055d4920e4b2658
5622 Author: Peter Clifton <pcjc2@cam.ac.uk>
5623 Date:   Thu Oct 4 02:35:53 2007 +0100
5625     Remove the unused function o_erasebounding().
5627 commit 4595948e41b2d195eb78a820fc15d0d8596067a4
5628 Author: Peter Clifton <pcjc2@cam.ac.uk>
5629 Date:   Thu Oct 4 02:34:50 2007 +0100
5631     Avoid accessing (GList)->{next|priv} directly to aid debugging.
5632     
5633     Instead use g_list_{next|previous}, allowing us to catch errors where
5634     changing from gEDA structures which had their own next and prev pointers.
5635     
5636     To debug, edit the glist.h include file from glib, renaming the next and
5637     prev elements in the GList structure and macros. Recompile gEDA to see any
5638     bad accesses such as those where the HEAD nodes were previously skipped.
5640 commit fc2b607031341f2f15b9c6f3d881e11895bdef50
5641 Author: Michele Petrecca <michelinux@alice.it>
5642 Date:   Tue Sep 11 22:49:03 2007 -0400
5644     Updated Italian translation.
5646 commit e84c1d4ba2ad15e18f94346389d2671eb49d0cf5
5647 Author: Ales Hvezda <ahvezda@seul.org>
5648 Date:   Tue Sep 11 22:37:55 2007 -0400
5650     Fixed a whole bunch of gtk+ 2.4.x and misc issues building on an older box
5651     
5652     This is a fix for (Patch#) 1789290 libgeda-1.2.0 fprintf which supplied a
5653     similar patch which fixes the issues in libgeda/src/s_clib.c and
5654     libgeda/src/s_textbuffer.c.  In the future, all releases will be built with
5655     gtk+ 2.4.x so that these sorts of problems do not get released.
5657 commit bdc4d9ce6522fca0bf5332cb9c5228e03861c079
5658 Author: Peter Clifton <pcjc2@cam.ac.uk>
5659 Date:   Sun Sep 9 14:14:44 2007 +0100
5661     Avoid un-necessary usage of global_window_current in g_keys_execute()
5663 commit 8ca8f4d38990365a2455999ea7e649156d2f6f90
5664 Author: Peter Clifton <pcjc2@cam.ac.uk>
5665 Date:   Sun Sep 9 14:14:42 2007 +0100
5667     Avoid use of global_window_current in gschem/src/x_compselect.c
5669 commit fcbfa052a9bafdd11092a99909dc587476ef8612
5670 Author: Peter Clifton <pcjc2@cam.ac.uk>
5671 Date:   Sun Sep 9 14:04:21 2007 +0100
5673     Use a GObject constructor, not instance_init for compselect the dialog.
5674     
5675     Using a GObject constructor allows access to the construct time properties
5676     of the object during initialisation, whereas at execution of the GType
5677     instance_init function, those properties have not been set.
5679 commit 201b6aecab7f3f0f86b6d89479e7c229d4e6fb30
5680 Author: Peter Clifton <pcjc2@cam.ac.uk>
5681 Date:   Sun Sep 9 12:51:00 2007 +0100
5683     Remove unused TOPLEVEL variables display_{width,height}
5685 commit 2be89fae224e359b5e349341da160cd19542d53d
5686 Author: Peter Clifton <pcjc2@cam.ac.uk>
5687 Date:   Sun Sep 9 00:54:12 2007 +0100
5689     Fix grid snapping in "Edit->Mirror Mode"
5690     
5691     Where the user selectes Edit->Mirror Mode, then clicks a point about which
5692     to mirror, the snap operation on the mouse coordinates was not taking place
5693     until after the mirror. Bug was introduced with noscreen changes.
5695 commit 2e3c06cbcdce8254f70162ecebd650980cf70ee9
5696 Author: Peter Clifton <pcjc2@cam.ac.uk>
5697 Date:   Sun Sep 9 00:18:34 2007 +0100
5699     Remove the globally exported variable_set_func.
5700     
5701     Only gattrib provided a non-NULL export of this symbol, and such imports
5702     into libgeda prevent libgeda being dynamically linked on some platforms.
5703     
5704     To better match the other tools in the suite, gattrib's i_vars_set() and
5705     i_window_vars_set() functions were combined into a single i_vars_set().
5707 commit f94d63a9a9f73e70b51c16b1e9f337bfa26b0de2
5708 Author: Peter Clifton <pcjc2@cam.ac.uk>
5709 Date:   Sat Sep 8 23:26:47 2007 +0100
5711     Use o_translate_world() to tidy up o_complex_translate_world()
5712     
5713     Removed o_complex_world_translate_toplevel(), and changed all useage of
5714     o_complex_translate_world() for generic lists of objects to instead use
5715     the new o_list_translate_world(). o_glist_translate_world() is also added.
5717 commit 36dc96b81aadceb9bb6e4c3d8b59939a2dc240e0
5718 Author: Peter Clifton <pcjc2@cam.ac.uk>
5719 Date:   Sat Sep 8 23:24:27 2007 +0100
5721     Rename o_complex_world_translate() to o_complex_translate_world()
5722     
5723     The function name now matches the pattern for other objects types.
5725 commit 4c7705297748e544ceeb1ac119ee44f7a72595c4
5726 Author: Peter Clifton <pcjc2@cam.ac.uk>
5727 Date:   Sat Sep 8 15:26:31 2007 +0100
5729     Remove unused function o_text_input().
5731 commit 7e04d192b78dc0821efda3326e6ec676db424472
5732 Author: Peter Clifton <pcjc2@cam.ac.uk>
5733 Date:   Sat Sep 8 00:17:05 2007 +0100
5735     Remove o_complex_translate{2,_selection,_display_selection}()
5736     
5737     o_complex_translate{_selection,_display_selection}() were unused,
5738     o_complex_translate2() simply wrapped o_complex_translate_display().
5740 commit 32dbd8536c17bcce9fbd9436fbb4c7efa32ee546
5741 Author: Peter Clifton <pcjc2@cam.ac.uk>
5742 Date:   Sat Sep 8 00:17:03 2007 +0100
5744     Removed unnecessary angle parameter to o_complex_rotate_world(), fix bug.
5745     
5746     Fix rotation code to support angles other than 90 degrees. All current
5747     users actually pass 90 degrees so this bug had no visible effect.
5749 commit 08ac872c975a587cf4125c6468c79c453661ee8f
5750 Author: Peter Clifton <pcjc2@cam.ac.uk>
5751 Date:   Fri Sep 7 23:58:51 2007 +0100
5753     Removed unused angle parameter to o_complex_rotate_lowlevel().
5755 commit c66d009979f49bd7ac8ba0641a6974be9e6a82d5
5756 Author: Peter Clifton <pcjc2@cam.ac.uk>
5757 Date:   Fri Sep 7 23:57:38 2007 +0100
5759     Removed unused angle parameter to o_text_rotate_world().
5760     
5761     From an old unmerged patch by Patrick Bernaud.
5763 commit 0529c40c453c6f1a958acc87a85974c7a3f871b1
5764 Author: Peter Clifton <pcjc2@cam.ac.uk>
5765 Date:   Fri Sep 7 00:20:29 2007 +0100
5767     Avoid use of gtk_cell_renderer_stop_editing(), which is GTK 2.6+
5768     
5769     Instead emit the "editing-canceled" signal directly if necessary.
5771 commit 613dcf8d3c2cf0ef40278ff481cc44e68c98428a
5772 Author: Peter Clifton <pcjc2@cam.ac.uk>
5773 Date:   Wed Sep 5 14:38:13 2007 +0100
5775     Remove un-necessary variable re-initialisations in x_window_setup().
5776     
5777     The initialisations removed are the same as those in s_toplevel_new().
5779 commit bd101aa36356082f479e1bd4970ea93b01bbfa5d
5780 Author: Peter Clifton <pcjc2@cam.ac.uk>
5781 Date:   Wed Sep 5 14:38:02 2007 +0100
5783     Remove the un-needed TOPLEVEL variable: DONT_RECALC, and its usage.
5785 commit 5e9f49ed25bf87783207906daaf915714f43259c
5786 Author: Peter Clifton <pcjc2@cam.ac.uk>
5787 Date:   Wed Sep 5 14:37:56 2007 +0100
5789     Remove the redundant TOPLEVEL variable: DONT_RESIZE
5791 commit 863d3c63667dc1a106b21758f957d810ee6f5583
5792 Author: Peter Clifton <pcjc2@cam.ac.uk>
5793 Date:   Wed Sep 5 14:37:49 2007 +0100
5795     Remove the redundant TOPLEVEL variable: DONT_DRAW_CONN
5797 commit bf3a364ed474ce6f5824a5f3fe94a3c17ce8bc28
5798 Author: Peter Clifton <pcjc2@cam.ac.uk>
5799 Date:   Wed Sep 5 14:37:41 2007 +0100
5801     Remove unused variables from the TOPLEVEL structure
5803 commit 96495b7a87701b2ea8d7eb6b4da206d6c169a85c
5804 Author: Peter Clifton <pcjc2@cam.ac.uk>
5805 Date:   Wed Sep 5 13:46:57 2007 +0100
5807     Fix memory corruption and possible segfault copying attributes
5808     
5809     If an object (but not all its attributes) was selected and copied, dangling
5810     pointers were left in the un-copied attributes. A subsequent copy operation
5811     containing those missed attributes would attempt to reattach them to the
5812     copy of their parent. If this had been deleted in the mean time, memory
5813     corruption and a possible segfault would occur.
5814     
5815     Consolidates the duplicated code which sets the ATTRIB property "copied_to"
5816     into a helper function, o_attrib_list_copied_to(). This is also used to
5817     clean up after copy operations.
5819 commit 5b2cb25e06604a8d31dff974f323477a78f02f46
5820 Author: Peter Clifton <pcjc2@cam.ac.uk>
5821 Date:   Mon Sep 3 16:48:32 2007 +0100
5823     Move o_picture_set_pixbuf() from libgeda to gschem
5825 commit 07d5a095c313e031b939d45f89afcd1c0ca9bc97
5826 Author: Peter Clifton <pcjc2@cam.ac.uk>
5827 Date:   Mon Sep 3 16:48:09 2007 +0100
5829     Remove unused TOPLEVEL variable REMOVING_SEL.
5831 commit 70d8cc898e42b95a7ac463d9e879c959690fbd5c
5832 Author: Peter Clifton <pcjc2@cam.ac.uk>
5833 Date:   Mon Sep 3 16:47:22 2007 +0100
5835     Remove unused dialog pointers from TOPLEVEL
5837 commit 9044d41a2305c97522bc70cfd7945f9d843482ae
5838 Author: Peter Clifton <pcjc2@cam.ac.uk>
5839 Date:   Mon Sep 3 16:41:28 2007 +0100
5841     Removes the linking between TOPLEVELs, instead uses a GList in gschem
5843 commit d68adb7f7d91836a9fb4553e7cb7067c9ec2cd33
5844 Author: Peter Clifton <pcjc2@cam.ac.uk>
5845 Date:   Mon Sep 3 15:32:27 2007 +0100
5847     Make use of o_select_unselect_all() to reduce code duplication in gschem
5849 commit bae595bf000b1d64ff83053cef76bce7839640b4
5850 Author: Peter Clifton <pcjc2@cam.ac.uk>
5851 Date:   Mon Sep 3 15:32:27 2007 +0100
5853     Remove o_unselect_all() function, instead use o_select_unselect_all()
5855 commit ebabf4fa5667d2ab74b5443367b83228fad4d6d0
5856 Author: Peter Clifton <pcjc2@cam.ac.uk>
5857 Date:   Mon Sep 3 15:32:25 2007 +0100
5859     Remove unused GType instance_init functions in gschem.
5861 commit 96ca8a9a2804176b689f4fe89393259ec109a6d9
5862 Author: Peter Clifton <pcjc2@cam.ac.uk>
5863 Date:   Mon Sep 3 15:28:33 2007 +0100
5865     Remove unused header file gschem/include/x_event.h
5867 commit 283c545e77ada97b7bee7834c34708a8053abe60
5868 Author: Peter Clifton <pcjc2@cam.ac.uk>
5869 Date:   Mon Sep 3 13:49:51 2007 +0100
5871     x_compselect.c: Avoid using GValue to set properties where unnecessary
5873 commit 63ee20a80cd42e1af745f9a52cd1d632c1bc345a
5874 Author: Peter Clifton <pcjc2@cam.ac.uk>
5875 Date:   Mon Sep 3 12:17:25 2007 +0100
5877     Avoid using s_hierarchy_up() for traversal when we know where we're going.
5878     
5879     When trying to reach a specific parent we've come from before, we can use
5880     s_page_goto() and avoid the search through the page list.
5882 commit a1b83a7ed4edf0d857a7bcbb98d551a5653f0476
5883 Author: Peter Clifton <pcjc2@cam.ac.uk>
5884 Date:   Mon Sep 3 12:17:19 2007 +0100
5886     Fix indenting / whitespace in gschem/src/o_misc.c
5888 commit adca8b7d5897b11331c6a20392d22ad1e58ee572
5889 Author: Peter Clifton <pcjc2@cam.ac.uk>
5890 Date:   Mon Sep 3 12:15:43 2007 +0100
5892     Replace the linked list of PAGEs with a GedaList (typecast to GedaPageList)
5894 commit 086908ed44c9abc6d5907888695933b59ead4684
5895 Author: Ales Hvezda <ahvezda@seul.org>
5896 Date:   Sun Sep 2 22:48:59 2007 -0400
5898     Last minute updates to the READMEs for all projects
5899     
5900     Cherry picked from stable-1.2 branch, since these changes apply to master
5901     too.
5902     (cherry picked from commit 88fcb8d1bcdaa1436572d6a0ebe86f4df242a8d6)
5904 commit 2a79a231e0ced47d36636690614af348f47fe1d6
5905 Author: Ales Hvezda <ahvezda@seul.org>
5906 Date:   Sun Sep 2 21:11:05 2007 -0400
5908     Updated po/pot files by running make update-po
5910 commit b018b88a1f2a88d246af850a67a15be5b19825b2
5911 Author: Ales Hvezda <ahvezda@seul.org>
5912 Date:   Sun Sep 2 20:54:49 2007 -0400
5914     Fix for Bug# 1782032: Blank attibute name when attribute value starts with " "
5915     
5916     In order to fix this bug, we needed to validate the input attribute when:
5917     1) input an attribute using the single attribute editor,
5918     2) Add an attribute in the multi-attribute editor
5919     3) Modify the name or value of an attribute in the multi-attribute editor
5920     An attribute is not valid if the name or value are empty, name ends with a
5921     space, and/or value starts with a space.  o_attrib_get_name_value does
5922     this validation throughout gaf.
5924 commit 5a67f8a879c0f5bcfaa14daf6847064beebaf783
5925 Author: Ales Hvezda <ahvezda@seul.org>
5926 Date:   Sun Sep 2 18:52:50 2007 -0400
5928     Moved refresh button in component select dialog box
5929     
5930     The refresh button was along the very bottom of the component select
5931     dialog box at the same level as Close, Apply, and OK.  The refresh
5932     operation is not nearly as important or first class as these actions.
5933     The refresh button was moved to the filter area.  Whether this change
5934     sticks depends on what users think of the new location (I'm quite willing
5935     to move it elsewhere if there is a better spot).
5937 commit f0c1bf37611b14dedcf1c4b45ac2319216f3293c
5938 Author: Ales Hvezda <ahvezda@seul.org>
5939 Date:   Sun Sep 2 18:21:24 2007 -0400
5941     Added standard Control-z and Control-y keymappings for Undo and Redo
5943 commit 9f3b4e2520b8dc5adf3b77fd0dfbe1beec8398ef
5944 Author: Ales Hvezda <ahvezda@seul.org>
5945 Date:   Sun Aug 19 23:03:54 2007 -0400
5947     Another set of po files changed via make distcheck
5949 commit 6056ef48272778419d39e0233f395bfd60019ab9
5950 Author: Ales Hvezda <ahvezda@seul.org>
5951 Date:   Sun Aug 19 22:40:19 2007 -0400
5953     Update ChangeLogs using: ./update-changelogs.sh 1.0-20070526..master
5955 commit 19aacfff985ee9b478c4c50dfeeb1a8af5957c3a
5956 Author: Ales Hvezda <ahvezda@seul.org>
5957 Date:   Sat Aug 18 16:41:24 2007 -0400
5959     Added undo-panzoom keyword to control if pan/zoom cmds are undoable
5960     
5961     The default is to still store the pan/zoom info when panning or zooming,
5962     but now the user has a choice.
5964 commit 93199b2f50c31691722ed154fc42fd4c01a2dac5
5965 Author: Ales Hvezda <ahvezda@seul.org>
5966 Date:   Sat Aug 18 16:17:45 2007 -0400
5968     Toplevel gschem menu tweaks
5969     
5970     Added ... to some entries that open up dialog boxes or other windows
5971     Changed the ordering of Hotkeys and About in the Help menu
5972     Removed obsolete comment about the help menu being right justified
5974 commit 92b3b65d0cec286b0ce59fc43cc07dcb60c39fa1
5975 Author: Ales Hvezda <ahvezda@seul.org>
5976 Date:   Sat Aug 18 16:14:30 2007 -0400
5978     Bumped versions to 1.1.2/20070818/30:2:0 for the next development snapshot
5980 commit e4b8aac64806c5f345d009ce725e16660d67cee4
5981 Author: Ales Hvezda <ahvezda@seul.org>
5982 Date:   Sat Aug 18 14:21:53 2007 -0400
5984     Added dist-license and use-license to the attribute-name keyword
5986 commit f90d327e8f415f35c94c686db846e8377bc0cd26
5987 Author: Ales Hvezda <ahvezda@seul.org>
5988 Date:   Tue Aug 14 08:01:18 2007 -0400
5990     Updated po files using make update-po
5992 commit 72c4db8aa20c22baa4243a0d27b3bb3f32f3ef64
5993 Author: Ales Hvezda <ahvezda@seul.org>
5994 Date:   Tue Aug 14 07:46:06 2007 -0400
5996     Moved 3 rc promotion keywords from gschem into libgeda (fix for bug#1748143)
5997     
5998     All the promotion keywords were moved from gschem into libgeda to fix:
5999     [ 1748143 ] gschlas causes duplicate prompted attributes   The primary
6000     cause of this bug was that the promotion variables within TOPLEVEL were
6001     not being setup by gschlas and so duplicate refdes attributes were
6002     showing up in the schematic.  The three rc keywords that were moved are:
6003     
6004     (attribute-promotion ... )
6005     (promote-invisible ... )
6006     (keep-invisible ... )
6008 commit e04284b595dffa4b9931872ae33b76daede58dd7
6009 Author: Peter Clifton <pcjc2@cam.ac.uk>
6010 Date:   Sun Aug 12 01:57:17 2007 +0100
6012     Fix component selector filtering after using the "Refresh" button.
6014 commit 802a2fea15d9bd918bd2398ac06bf6ca9b2e75c4
6015 Author: Peter Clifton <pcjc2@cam.ac.uk>
6016 Date:   Sun Aug 12 01:57:00 2007 +0100
6018     Make updates faster when typing in the component selector filter.
6019     
6020     The filtering process doesn't happen until after the user pauses typing.
6021     Reducing the update delay from 300ms to 200ms makes this feel better.
6023 commit fa2045b8e9cac268fe0c0b7af2028ea768c8e465
6024 Author: Peter Clifton <pcjc2@cam.ac.uk>
6025 Date:   Sun Aug 12 01:56:58 2007 +0100
6027     Fix crash closing component selector window quickly after filtering.
6028     
6029     Typing in the filter box adds new update timeouts (300ms) with each
6030     keystroke. If typing fast there could be more than one timer active at
6031     once, however only the last added is cancelled when closing the dialog.
6032     Timers which ran after the dialog closed could cause a segfault.
6033     
6034     We now cancel any pending timeout before adding a new one.
6036 commit 663e133ff0c0e153a8081b36404c0808222c6dcb
6037 Author: Ales Hvezda <ahvezda@seul.org>
6038 Date:   Fri Aug 10 22:00:58 2007 -0400
6040     Added some net midpoint connections for testing purposes
6042 commit 703151a94b0eece6b24b3b18ce2465eeae068814
6043 Author: Peter Clifton <pcjc2@cam.ac.uk>
6044 Date:   Thu Aug 9 12:36:17 2007 +0100
6046     Remove old prototypes from various prototype.h where no function exists.
6048 commit 71600215311af0a98ed371ab750b09182de139a1
6049 Author: Peter Clifton <pcjc2@cam.ac.uk>
6050 Date:   Sat Aug 11 00:52:25 2007 +0100
6052     Revert inadvertent commits:
6053     
6054       dbfe00a20de3f875e519ef60629b968977fc5db8 (commit)
6055       f1451161914a0ed0bb43123279906d82cb7d5b49 (commit)
6056       2ad315fc0badd16a9614d1107b22c973908893d5 (commit)
6057       d8844bb48969aa45a05cbe6836fc96c198e88c19 (commit)
6058       ee1b64a1ae07eb99eae5d63307e9fe23f9604662 (commit)
6060 commit dbfe00a20de3f875e519ef60629b968977fc5db8
6061 Author: Peter Clifton <pcjc2@cam.ac.uk>
6062 Date:   Fri Aug 10 22:52:18 2007 +0100
6064     Avoid using s_hierarchy_up() for traversal when we know where we're going.
6065     
6066     When trying to reach a specific parent we've come from before, we can use
6067     s_page_goto() and avoid the search through the page list.
6069 commit f1451161914a0ed0bb43123279906d82cb7d5b49
6070 Author: Peter Clifton <pcjc2@cam.ac.uk>
6071 Date:   Fri Aug 10 22:45:48 2007 +0100
6073     Fix indenting / whitespace in gschem/src/o_misc.c
6075 commit 2ad315fc0badd16a9614d1107b22c973908893d5
6076 Author: Peter Clifton <pcjc2@cam.ac.uk>
6077 Date:   Fri Aug 10 21:30:24 2007 +0100
6079     Add page list "changed" signal handler to gschem's page manager dialog.
6081 commit d8844bb48969aa45a05cbe6836fc96c198e88c19
6082 Author: Peter Clifton <pcjc2@cam.ac.uk>
6083 Date:   Fri Aug 10 21:26:10 2007 +0100
6085     Replace the linked list of PAGEs with a GedaList (typecast to GedaPageList)
6087 commit ee1b64a1ae07eb99eae5d63307e9fe23f9604662
6088 Author: Peter Clifton <pcjc2@cam.ac.uk>
6089 Date:   Fri Aug 10 01:32:27 2007 +0100
6091     Add different select box behaviour for left-right and right-left drags
6092     
6093     Selections boxes dragged from...
6094     
6095       left to right: select elements entirely contained within the box.
6096       right to left: select any element partially inside the box.
6098 commit 0f5c72daacfa7d78666769e4063122934861da5c
6099 Author: Peter Clifton <pcjc2@cam.ac.uk>
6100 Date:   Sun Aug 5 22:36:56 2007 +0100
6102     Alter guile 1.6 compat tests to work with older autoconf versions
6103     
6104     Don't use AC_DEFINE to define function like macros, instead use
6105     AC_CHECK_DECLS to set a HAVE_DECL_..., then use AH_VERBATIM to
6106     insert a test which defines a replacement if necessary.
6108 commit 5c098070b87709540345afb1b3b79d9db470ed53
6109 Author: Peter Clifton <pcjc2@cam.ac.uk>
6110 Date:   Thu Aug 2 22:09:52 2007 +0100
6112     Fix configure checks enabling guile 1.6.x compatability routines.
6114 commit 512561395fb348a0fb71625edb4fe1ec96553c3f
6115 Author: Peter Clifton <pcjc2@cam.ac.uk>
6116 Date:   Thu Aug 2 13:17:58 2007 +0100
6118     Fix to allow automatic loading of untitled backup files
6120 commit 4cbb0c15240f649cfd69b120e7ed7ecd6c752896
6121 Author: Peter Clifton <pcjc2@cam.ac.uk>
6122 Date:   Thu Aug 2 13:16:22 2007 +0100
6124     Fix drawing artifact when dragging a net / bus to zero length.
6125     
6126     The grip dragging code cancels editing if you resize to a zero length line
6127     segment. Don't attempt to undraw the (zero length) rubberbanded line after
6128     the coordinates have been invalidated.
6130 commit 8dc511639494940987582871d9f2efa09ecc2b37
6131 Author: Peter Clifton <pcjc2@cam.ac.uk>
6132 Date:   Thu Aug 2 13:07:30 2007 +0100
6134     Refactor code in o_grips.c to reduce duplication
6135     
6136     Also make many whitespace fixes. The code paths should remain the same.
6138 commit 92ef419c46d5a41aa33b399d43ccde2ba2a99998
6139 Author: Peter Clifton <pcjc2@cam.ac.uk>
6140 Date:   Thu Aug 2 13:06:09 2007 +0100
6142     Fix drawing of cues after moving a single line segment
6144 commit 0a7ab22a482a896818dff52fbf289856d76efc87
6145 Author: Peter Clifton <pcjc2@cam.ac.uk>
6146 Date:   Wed Aug 1 22:58:05 2007 +0100
6148     Alter grammar in gschem's "Unsaved changes" dialog box.
6150 commit c31bd4adb677d671af8bdf5aed71f96a4995f9b1
6151 Author: Peter Clifton <pcjc2@cam.ac.uk>
6152 Date:   Tue Jul 31 20:03:51 2007 +0100
6154     Changed configure.ac(.in) to allow guile-1.6
6155     
6156     Introduces compatibility #defines where guile 1.8 funcs are missing in
6157     guile 1.6. Also adds missing configure.ac checks for guile in packages
6158     gattrib, gnetlist, gsymcheck and utils.
6160 commit 30a86f3458c5a1562d97d33b06320647ed23132e
6161 Author: Peter Clifton <pcjc2@cam.ac.uk>
6162 Date:   Sat Jul 28 01:18:44 2007 +0100
6164     Change color in the multi-attrib dialog "value" entry when insensitive.
6165     
6166     Makes the "value" GtkTextView look the same as its neighbouring widgets
6167     when insensitive. Unfortunately GtkTextView always appears to render using
6168     the style's GTK_STATE_NORMAL text color. We save that initial value, and
6169     copy across either the saved value, or the GTK_STATE_INSENSITIVE text color
6170     when setting the widget sensitivities.
6171     
6172     NB: This is just a workaround for what appears to be a bug in GTK+.
6174 commit f8f5c1f05c9c2dfa1d2566a113e9c295049f7564
6175 Author: Peter Clifton <pcjc2@cam.ac.uk>
6176 Date:   Sat Jul 28 00:05:03 2007 +0100
6178     Update the multi-attrib dialog after an undo operation.
6179     
6180     The undo mechanism replaces the page (and selection object), so we need to
6181     poke the multi-attrib dialog after an undo operation for it to watch the
6182     new page's selection object.
6184 commit ae2ddeb6839ae4e2c9e9c73272b0372c63810717
6185 Author: Peter Clifton <pcjc2@cam.ac.uk>
6186 Date:   Wed Jul 25 15:36:42 2007 +0100
6188     Don't blank the add attribute boxes in the Multiattrib dialog.
6189     
6190     Leaving the text present after adding an attribute makes it is easier to
6191     add the same attribute to multiple objects. Instead we add a "grab-focus"
6192     signal handler to select the text box contents as we tab into it.
6194 commit 31f65059cf1ce5be9b8a0987d4538fed075a6805
6195 Author: Peter Clifton <pcjc2@cam.ac.uk>
6196 Date:   Wed Jul 25 02:09:15 2007 +0100
6198     Fixed two calls to free() where g_free() should have been used.
6199     
6200     Updated Doxygen comments to note where memory should be freed with g_free()
6201     rather than free(). Commented three instances where free() is correct.
6203 commit 852786d7dc90eebdc677e5d2af916d577d5f3aaa
6204 Author: Peter Clifton <pcjc2@cam.ac.uk>
6205 Date:   Sun Jul 22 17:12:12 2007 +0100
6207     Clamp page canvas size in the preview to the size of the page contents
6208     
6209     Ensures the user can't zoom way off the page contents being previewed.
6211 commit 41ce0eb61b4b91d407d788a7ae1eb823d60fbdfd
6212 Author: Peter Clifton <pcjc2@cam.ac.uk>
6213 Date:   Sun Jul 22 17:12:08 2007 +0100
6215     Alter panning code to center the page in the viewport if under-zoomed
6216     
6217     Centering is independant in the X and Y directions. When the viewport is
6218     larger than the page canvas in a particular direction the page is
6219     re-centered in that direction. This is necessary for a nice preview.
6220     Also change preview widget code to remove the A_PAN_IGNORE_BORDERS flag
6221     from zoom operations, which is no-longer needed with the above changes.
6223 commit 42034b5e81a0a4d40254aa2ef557083531d38291
6224 Author: Peter Clifton <pcjc2@cam.ac.uk>
6225 Date:   Sun Jul 22 14:32:05 2007 +0100
6227     Stop scroll events wraping the pointer when the preview widget is inavtive
6228     
6229     Also corrects the prototype of the scroll event handler to return gboolean
6231 commit 3345932d7fcaad0570ebd793f88253696a014895
6232 Author: Peter Clifton <pcjc2@cam.ac.uk>
6233 Date:   Sun Jul 22 14:15:35 2007 +0100
6235     Clear the preview  when no valid file is selected in the file chooser
6236     
6237     Previously the preview widget would continue to display the last
6238     schematic or symbol which had been selected.
6240 commit 867525cce75bcf9996992db1681f506f4fcdc84f
6241 Author: Peter Clifton <pcjc2@cam.ac.uk>
6242 Date:   Sun Jul 22 14:14:37 2007 +0100
6244     Clear preview and stop placing components when no valid symbol is selected.
6245     
6246     Previously the component selector preview would continue to display the
6247     last symbol which selected, and component placement could continue.
6249 commit c217b2b5160867c85ef89d53c5035adfc430da09
6250 Author: Peter Clifton <pcjc2@cam.ac.uk>
6251 Date:   Sun Jul 22 14:02:12 2007 +0100
6253     Fix some memory leaks when placing components.
6254     
6255     In several places the complex_place_list glist was freed,
6256     but its contents were not.
6258 commit ac28aaa56a684a07fe3ee5590a31baf3fa8adbe7
6259 Author: Peter Clifton <pcjc2@cam.ac.uk>
6260 Date:   Sun Jul 22 05:33:42 2007 +0100
6262     Save/restore which component selector source tab was last used.
6264 commit 7f54d6e4996f15d14781a49b3400ce89a39a60dd
6265 Author: Peter Clifton <pcjc2@cam.ac.uk>
6266 Date:   Sun Jul 22 05:10:27 2007 +0100
6268     Make the preview widget resizable
6269     
6270     Added handler for the configure event to resize the backing store and
6271     re-zoom the preview. Added the A_PAN_IGNORE_BORDERS flag to the zoom
6272     extents calls - giving a nice centered preview.
6273     
6274     Altered component selector dialog's alignment widget to allow the preview
6275     widget to expand to fill the available space.
6277 commit 50a6da87868ce9d0f3cc788a8a9918fd9210a536
6278 Author: Peter Clifton <pcjc2@cam.ac.uk>
6279 Date:   Sun Jul 22 04:52:23 2007 +0100
6281     Fix mouse initiated zoom / panning operations on the preview widget
6282     
6283     The preview widget isn't called with a filename for previewing component
6284     sources, so the test for filename != NULL in the mouse event handlers
6285     stopped those callbacks working.
6286     
6287     Also added a scroll event handler to allow zooming with the mouse wheel.
6289 commit 8ad905e0d55b7ed60b3f5c63cf6056ddccee7a8b
6290 Author: Peter Clifton <pcjc2@cam.ac.uk>
6291 Date:   Sun Jul 22 04:49:35 2007 +0100
6293     Fix zoom extents to work correctly first time. Closes bug #1699959.
6294     
6295     A page's visible area is intialised to be the same size as the canvas
6296     extents. The zoom extents code scales based on this visible area, however
6297     this initialisation isn't correct, since the aspect ratio of the screen
6298     doesn't always match the canvas extents. The first call to zoom extents
6299     would fix this by correctly setting the visible area.
6300     
6301     By making the zoom extents code work from the screen aspect ratio (scaled
6302     to world coordinates), we can zoom to the visible extents in one shot.
6303     
6304     Also fixed some /2 operations, which for doubles should be /2.0
6306 commit e4f7225254cb5168131d31347a8de277181f41ea
6307 Author: Peter Clifton <pcjc2@cam.ac.uk>
6308 Date:   Sat Jul 21 19:16:50 2007 +0100
6310     Save/restore geometry of the GtkHPaned in the component selection dialog.
6312 commit a139f2ed1ec50ad2a0fec4e91c7e51dd690d983a
6313 Author: Peter Clifton <pcjc2@cam.ac.uk>
6314 Date:   Sat Jul 21 19:16:24 2007 +0100
6316     Extend GschemDialog to allow hooking to save/restore internal geometry
6317     
6318     GschemDialog now emits "geometry-save" and "geometry-restore" signals
6319     which instances can connect to. Subclasses may over-ride and chain the
6320     "geometry_save" and "geometry_restore" class members. These signal handlers
6321     are passed a pointer to the GKeyFile and a text string identifying the
6322     group it expects data to be saved under.
6323     
6324     The code relies on features only available in GLIB 2.6 onwards. When using
6325     this functionality the code must be surrounded with an appropriate test as
6326     the class functions are not defined when compiling against an older GLIB.
6328 commit 91ffb796f41ca6ee7a5ed1063917f7bb3fd03464
6329 Author: Peter Clifton <pcjc2@cam.ac.uk>
6330 Date:   Sat Jul 21 19:16:09 2007 +0100
6332     Separate the list and preview with a GtkHPaned in the compselect dialog.
6334 commit 5e47599e07b5bed9d24b5c295db7a5e05f7c4624
6335 Author: Peter Clifton <pcjc2@cam.ac.uk>
6336 Date:   Fri Jul 20 17:36:39 2007 +0100
6338     Added missing test to allow pins to work with the multiattrib dialog
6340 commit 6287df1357bdfc0188f5fa60df5d88f5fc5e4b40
6341 Author: Peter Clifton <pcjc2@cam.ac.uk>
6342 Date:   Fri Jul 20 14:15:10 2007 +0100
6344     Make the multi-attribute editor non-modal
6345     
6346     This implementation only supports editing when a single object which can
6347     have attributes is selected. Work is required to act more intelligently if
6348     an attribute its-self is selected, and with multiple selections.
6350 commit 1dfb3a4b9907ff81552de57080d2897ab40e512c
6351 Author: Peter Clifton <pcjc2@cam.ac.uk>
6352 Date:   Thu Jul 19 15:13:03 2007 +0100
6354     Make the Escape key cancel editing in the multiattrib dialog.
6355     
6356     The previous behaviour where it would quit editing but save the changes is
6357     counter-intuitive for the user.
6359 commit c06b6684296a2ec6765036b28e8c48a50c2b8928
6360 Author: Peter Clifton <pcjc2@cam.ac.uk>
6361 Date:   Thu Jul 19 15:13:00 2007 +0100
6363     Remove workaround for an unknown property with GTK 2.2 in x_multiattrib.c
6365 commit cb9c4ee19ca58158308a234782fdad6fb60257da
6366 Author: Peter Clifton <pcjc2@cam.ac.uk>
6367 Date:   Thu Jul 19 15:09:56 2007 +0100
6369     Change selection code to use a generic GedaList typecast to SELECTION.
6370     
6371     GedaList allows various parts of the program to keep track of changes
6372     to the selection via callbacks attached to the GedaList object.
6374 commit b5caa78a6dd9227d328397cb77ac4b0731c7d1c9
6375 Author: Peter Clifton <pcjc2@cam.ac.uk>
6376 Date:   Sun Jul 15 12:55:54 2007 +0100
6378     Remove unused function e_gtk_button_new_with_icon() from x_pagesel.c
6380 commit 5dfe42146dfee7dd0909cda7615279228bc09d70
6381 Author: Peter Clifton <pcjc2@cam.ac.uk>
6382 Date:   Sun Jul 15 12:55:47 2007 +0100
6384     Split out update(s) when notify::toplevel on GschemDialog is recieved.
6385     
6386     We need to perform various setup actions when the toplevel property of our
6387     parent GschemDialog is set. We need to make this a specific function, as
6388     the current method of just calling pagesel_update isn't correct for all
6389     future cases.
6391 commit cd7db8026b00934afc6acc1ff8f5467021194287
6392 Author: Peter Clifton <pcjc2@cam.ac.uk>
6393 Date:   Sun Jun 24 04:21:39 2007 +0100
6395     Fixed memory leak placing components.
6396     
6397     When placing components we free'd the complex_place_list without removing
6398     the objects it pointed to. The code now uses s_delete_object_glist(..)
6399     rather than g_list_free(..) to free the complex_place list and its objects.
6401 commit 9cc487143fe371181bc0fea41e94c03a54b776f9
6402 Author: Werner Hoch <werner.ho@gmx.de>
6403 Date:   Tue Jul 10 17:32:59 2007 +0200
6405     gschem: updated german translation
6407 commit b41713e02347002424ca8c18aaa0f9f6a4a6e660
6408 Author: Carlos Nieves Onega <cnieves@iespana.es>
6409 Date:   Mon Jul 9 19:33:45 2007 +0200
6411     Updated spanish translation.
6413 commit ff036cbb89336c48106b064af499b6e841c7d8a5
6414 Author: Carlos Nieves Onega <cnieves@iespana.es>
6415 Date:   Mon Jul 9 18:36:36 2007 +0200
6417     Disable rotating while copying, & fix hitting rotate hotkey/menu while moving.
6418     
6419     Rotating while copying is still not supported, so disable it.
6420     Fix behaviour when hitting the rotate hotkey, or select the edit->rotate menu
6421     while moving.
6422     Previously the move action was cancelled and then the selection was rotated.
6423     Now, the objects being moved are rotated, and the move action continues.
6425 commit e978b9098c7567ad3b9c834a5e4914de3bc039ec
6426 Author: Ales Hvezda <ahvezda@seul.org>
6427 Date:   Sun Jul 8 18:18:39 2007 -0400
6429     Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master
6431 commit e653983c3177bdadfecb56f49662f5cb39c5749b
6432 Author: Ales Hvezda <ahvezda@seul.org>
6433 Date:   Sun Jul 8 18:17:28 2007 -0400
6435     Updated all pot/po files (via make update-po).
6437 commit d7e8f5abc35644e90bfabf84396023cab09f2968
6438 Author: Ales Hvezda <ahvezda@seul.org>
6439 Date:   Sun Jul 8 16:18:57 2007 -0400
6441     Updated configure.ac[.in] and Makefile versions in prep for a release.
6442     
6443     The update was done by running ./update-versions.sh 1.1.1 20070708 30:1
6444     at the toplevel.  libgeda's shared library version is now 30:1:0
6446 commit 3f3505662fe4bb8c585aea0ea965296bd923956c
6447 Author: Carlos Nieves Onega <cnieves@iespana.es>
6448 Date:   Sun Jul 8 21:16:17 2007 +0200
6450     Added *~ to .gitignore files.
6452 commit 3cf1cca33ed2e567b959ad8486cad0d4cdbb47e9
6453 Author: Ales Hvezda <ahvezda@seul.org>
6454 Date:   Sun Jul 8 13:55:38 2007 -0400
6456     Added some missing code to controlling junction color (more for #1746675)
6458 commit 4f245d7023eec872e5dd484530dff9a77ff77dfc
6459 Author: Carlos Nieves Onega <cnieves@iespana.es>
6460 Date:   Sun Jul 8 19:47:14 2007 +0200
6462     Set the focus to the filter entry only if it is visible.
6463     
6464     In the compselect window, focus can be set to the filter entry only
6465     if it is visible (i.e.: its ancestor is the current tab). Otherwise,
6466     GTK is confused.
6468 commit 29f4868bb8ac570445da493c69afb91aafcf69d0
6469 Author: Carlos Nieves Onega <cnieves@iespana.es>
6470 Date:   Sat Jul 7 01:03:41 2007 +0200
6472     Disable rotating using middle mouse button while copying.
6473     
6474     Rotating while copying is still not supported, so it should be disabled.
6475     Now middle mouse button does nothing while copying.
6477 commit f30cf1a2fd45898b62e236116a84059bd0df9544
6478 Author: Carlos Nieves Onega <cnieves@iespana.es>
6479 Date:   Sat Jul 7 00:55:05 2007 +0200
6481     Fixed drawing bug when attribute autoplacing is enabled.
6482     
6483     When rotating while placing a new component, the refdes was drawn
6484     wrongly, and it was shown fixed in the screen despite the component
6485     being moved.
6486     This was due to attribute autoplacing function was called before drawing
6487     the component. This function erases the old text (which wasn't drawn), thus
6488     drawing the text in the screen permanently.
6489     This fix disables all drawing functions when calling autoplacing function,
6490     and renables them afterwards.
6492 commit ecf159040422c5625de6b615c1070b7a1d58c511
6493 Author: Carlos Nieves Onega <cnieves@iespana.es>
6494 Date:   Sat Jul 7 00:41:05 2007 +0200
6496     Fixed drawing bug when using attribute autoplacing.
6497     
6498     When placing a new component, if attribute autoplacing was enabled,
6499     the refdes was drawn wrongly, and it was shown fixed in the screen despite
6500     the component being moved.
6501     This was due to attribute autoplacing function was called before drawing
6502     the component. This function erases the old text (which wasn't drawn), thus
6503     drawing the text in the screen permanently.
6504     This fix disables all drawing functions when calling autoplacing function,
6505     and renables them afterwards.
6507 commit 5dc09fc232bf36dc219e86e78bad92631d2c244a
6508 Author: Carlos Nieves Onega <cnieves@iespana.es>
6509 Date:   Sat Jul 7 00:35:07 2007 +0200
6511     Moved default attrib positions out of system-gschemrc.
6512     
6513     All default attribute positions, used for attribute autoplacing, have been
6514     moved into its own file, scheme/default-attrib-positions.scm .
6515     The above file is loaded in system-gschemrc.
6517 commit 411ddc16df3bf9388d80107503c165a8c88304b1
6518 Author: Carlos Nieves Onega <cnieves@iespana.es>
6519 Date:   Fri Jul 6 23:38:31 2007 +0200
6521     Consider line's width when calculing net directions.
6522     
6523     In text autoplacing function get-net-connection-sides, consider line's
6524     width when guessing net directions.
6526 commit 68b495e6b75b802a9c77889c223d680e8359ce91
6527 Author: Carlos Nieves Onega <cnieves@iespana.es>
6528 Date:   Fri Jul 6 23:13:03 2007 +0200
6530     Display a warning message if can't guess net direction.
6531     
6532     In attribute autoplacing, display a warning message if net direction can't
6533     be guessed.
6535 commit 1361831fc9e44bcc719f73d68f4d5b119963bb57
6536 Author: Ivan Stankovic <ivan.stankovic@fer.hr>
6537 Date:   Thu Jul 5 09:18:48 2007 -0400
6539     Possible fix for bug #1748079: CRASH: gschem segfault on file save or open
6541 commit dd995d808b9f4440db48d2daa2473a9d9cfd88ef
6542 Author: Ales Hvezda <ahvezda@seul.org>
6543 Date:   Thu Jul 5 01:36:31 2007 -0400
6545     Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master
6547 commit a680faf8e3121c2b999bc5168a2910fb83f11ffc
6548 Author: Ales Hvezda <ahvezda@seul.org>
6549 Date:   Thu Jul 5 00:57:07 2007 -0400
6551     Updated all pot/po files (via make update-po).  Added new menus to rcstrings.c.
6553 commit 099c49e5689afda4b8a5221dde73f9fdf1972ce7
6554 Author: Ales Hvezda <ahvezda@seul.org>
6555 Date:   Thu Jul 5 00:11:45 2007 -0400
6557     Updated all version strings to 1.1.0 and 20070705
6559 commit 87731dda219b0986fed0d1a7789e17678dd79d8c
6560 Author: Ales Hvezda <ahvezda@seul.org>
6561 Date:   Wed Jul 4 23:55:07 2007 -0400
6563     Removed AM_MAINTAINER_MODE from all configure.ac[.in] files.
6564     
6565     Maintainer mode is no longer needed or desired now that we are no longer
6566     using CVS.  Hopefully this will prevent some of the odd problems that were
6567     observed during the last release when the Makefile's didn't get auto
6568     regenerated.
6570 commit dc7b8c53f4bc94626634887e46167a367a91f707
6571 Author: Ales Hvezda <ahvezda@seul.org>
6572 Date:   Wed Jul 4 23:32:15 2007 -0400
6574     Changed gEDA/gaf's version mechanism to use new dotted X.Y.Z convention
6575     
6576     Added DOTTED_VERSION and DATE_VERSION variables to all configure.ac[.in]
6577     files.  Changed all version related output to be DOTTED_VERSION.DATE_VERSION.
6578     Updated the configure.ac[.in] files to have consistent top sections.
6579     Updated code and various scheme files to use the new DOTTED_VERSION
6580     and DATE_VERSION variables available via config.h.  Stopped using
6581     PREPEND_VERSION_STRING as the mechanism for doing the dotted versions
6582     (not intended for that use).  Updated update-versions.sh script to set the
6583     version in all the configure.ac[.in] files and the toplevel Makefile.
6584     Went through all the g_rc.c files and make the handling of rc file
6585     mismatch handling consistent.
6587 commit dbf600e34e2284fe1ec59242d541334bc27d3d49
6588 Author: Ales Hvezda <ahvezda@seul.org>
6589 Date:   Wed Jul 4 16:51:32 2007 -0400
6591     Implemented the ability to change the color of junctions (code for #1746675).
6592     
6593     The filled circles (at the junction of nets) and filled boxes (at the
6594     end of unconnected nets) were the same color and it was hard to tell the
6595     difference from a distance.  This patch addes (junction-color ...) rc
6596     keyword and allows the user to change the junction color.  The default
6597     color for the dark color scheme is yellow and the default color for the
6598     light color scheme is purple.
6600 commit ca4571b1a6a49c97feb8fc6cc8cb926acc287ece
6601 Author: Peter TB Brett <peter@peter-b.co.uk>
6602 Date:   Wed Jul 4 18:03:53 2007 +0100
6604     libgeda: s_clib_toplevel_get_symbol_names() is poorly named.
6605     
6606     s_clib_toplevel_get_symbol_names() returns symbols, not names of
6607     symbols, so rename it to s_clib_toplevel_get_symbols().
6609 commit 96f9c87ef4063b52dd4d13f51958b916ba4e5939
6610 Author: Peter TB Brett <peter@peter-b.co.uk>
6611 Date:   Wed Jul 4 18:03:53 2007 +0100
6613     gschem: Add "In Use" view to component selector.
6614     
6615     The "In Use" view shows symbols which are instantiated in open
6616     schematics, for ease of adding more symbols similar to the ones
6617     already present.  This is particularly useful for frequently-used
6618     symbols such as resistors and capacitors.
6620 commit b1733d4d69d3a2e6fcb64e91a26dab2768f4e171
6621 Author: Peter TB Brett <peter@peter-b.co.uk>
6622 Date:   Wed Jul 4 18:03:53 2007 +0100
6624     gschem: Add a "Refresh" button to component selector.
6625     
6626     In order to update the symbol library, a "Refresh" button is needed
6627     (because we don't do it automatically any more).
6629 commit cb6e4e5e98ed45427f60d718f7dbb5d5439eecef
6630 Author: Peter TB Brett <peter@peter-b.co.uk>
6631 Date:   Wed Jul 4 18:03:53 2007 +0100
6633     gschem: Don't use generic response IDs for compselect actions.
6634     
6635     The component selector "OK" and "Apply" buttons aren't actually "OK"
6636     and "Apply" actions, so they shouldn't use those response IDs -- it's
6637     confusing.
6638     
6639     This patch adds special response IDs for these actions. This is a
6640     preparation for using "proper" Place and Hide icons & text.
6642 commit 7c6419f49cb211ce74e7a8787148d2fd624482e7
6643 Author: Alex Precosky <precosky@mac.com>
6644 Date:   Sun Jul 1 16:55:13 2007 -0700
6646     gschem: Fix a race condition with mouse wheel scroll events (1740327)
6647     
6648     If more than one mouse wheel scroll events are received into the event
6649     queue before the first one can be processed, then the program was
6650     zooming in to the wrong location.  This is because the mouse moved
6651     event handler, which is triggered by a call to warp the cursor in the
6652     scroll event handler, must run to update the mouse postion global
6653     variables that the scroll event handler needs.
6655 commit 62b214780e34aea9b56993f2b699cb78d50d4769
6656 Author: Werner Hoch <werner.ho@gmx.de>
6657 Date:   Wed Jul 4 17:35:06 2007 +0200
6659     Set default button for single attribute edit dialog
6660     
6661     Fixed wrong setting of the default button in the dialog.
6662     Added the set property to the value entry.
6663                              [Suggested by Kai-Martin Knaak]
6665 commit b034307ae05d909a726c09d4eb02a5eed6f401ea
6666 Author: Peter TB Brett <peter@peter-b.co.uk>
6667 Date:   Thu Jun 28 18:08:04 2007 +0100
6669     gschem: Support preview of symbols from all library types.
6671 commit 907857c70c12707f00696d0688eb8392ac1e9294
6672 Author: Peter TB Brett <peter@peter-b.co.uk>
6673 Date:   Thu Jun 28 18:08:00 2007 +0100
6675     gschem: Preview data from a buffer.
6676     
6677     Add the ability to parse & preview a gEDA schematic or symbol from a
6678     character buffer.
6680 commit c144221daf8ef133f39e14c76447a1b556c54853
6681 Author: Peter TB Brett <peter@peter-b.co.uk>
6682 Date:   Thu Jun 28 15:50:31 2007 +0100
6684     libgeda: Add fine-grained control over f_open() behaviour.
6685     
6686     Add a function f_open_flags() which takes an extra argument which is a
6687     set of flags controlling actions taking while opening a file. f_open()
6688     wraps this with a default set of flags.
6689     
6690     Coincidentally, this also leads to a trivial fix for the file open
6691     dialog backup-message bug.
6693 commit dc88c870d8d9ba66855f03fd3bc678d8b9f34cf2
6694 Author: Ivan Stankovic <ivan.stankovic@fer.hr>
6695 Date:   Wed Jun 27 19:47:46 2007 +0100
6697     This patch removes most of the unused code from gschem.
6699 commit 2a0abb503110a7b7cfe5739f26bc1e4c7d939fff
6700 Author: Peter TB Brett <peter@peter-b.co.uk>
6701 Date:   Wed Jun 27 16:47:20 2007 +0100
6703     Correct some typos in gschem default texts.
6705 commit 2b8cc26ddbb4af4db653d913c49f6d365dc89df9
6706 Author: Werner Hoch <werner.ho@gmx.de>
6707 Date:   Tue Jun 26 22:25:01 2007 +0200
6709     updated german translation
6711 commit 57b2848a7e69d19e18ac03a1264cb55d41c65d0e
6712 Author: Ales Hvezda <ahvezda@laptop.ales.net>
6713 Date:   Mon Jun 25 22:31:07 2007 -0400
6715     Changed/updated the #define mechanism for creating custom gEDA/gaf versions.
6716     
6717     Previously this mechanism was used to create custom versions of gEDA/gaf.
6718     With the coming of stable and development versions of gEDA/gaf, this
6719     mechanism was changed so that end users can tell the difference between
6720     a stable release vs a development release (by looking at the version string).
6721     The CUSTOM_VERSION #define was changed PREPEND_VERSION_STRING and is now
6722     prepended to any strings that output the VERSION string.
6724 commit daa5d16aee1f0ec58cced5ca835dcb4f53339339
6725 Author: Ales Hvezda <ahvezda@laptop.ales.net>
6726 Date:   Mon Jun 25 21:23:32 2007 -0400
6728     Updated Makefile.am to not include VOCABULARY file.
6730 commit 0ad58a2c8e82ff00b71c600d54cf76bc4860e24a
6731 Author: Ales Hvezda <ahvezda@laptop.ales.net>
6732 Date:   Sun Jun 24 23:57:16 2007 -0400
6734     Removed ancient VOCABULARY file.
6735     
6736     This file has been superceeded by the glossary that is in the wiki.
6738 commit 0ed9cf080cfc8509cb29cbe4e976f86b2821c407
6739 Author: Ales Hvezda <ahvezda@laptop.ales.net>
6740 Date:   Sun Jun 24 23:48:51 2007 -0400
6742     Updated copyright text/header in most source files.
6743     
6744     Updated all copyright text dates that have my name (Ales) associated
6745     with them.  Added gEDA contributer copyright text where appropriate.
6746     Fixed a bunch of GNU text typos (these should have been either GPL
6747     or gEDA).  Removed some $Id$ tags which are no longer used/needed.
6748     Fixed a few file header that were just plain incorrect.
6750 commit a4e956c6272ea982ec54327dcc5e3aa528ac8c99
6751 Author: Ales Hvezda <ahvezda@laptop.ales.net>
6752 Date:   Sun Jun 24 22:22:32 2007 -0400
6754     Added *.o (all object files) to all src .gitignore files.
6756 commit 1c76ee9d84ea4fcdc924d992ecc3a828887eff4f
6757 Author: Ales Hvezda <ahvezda@laptop.ales.net>
6758 Date:   Sun Jun 24 22:17:03 2007 -0400
6760     Removed all trace of libgd usage and removed some old ps printing routines.
6761     
6762     All trace of libgd and HAS_LIBGD has been removed.  Some obsoleted and
6764 commit 868d31c36736b1ceebdd9a7cea6d12d12ecf89a9
6765 Author: Ales Hvezda <ahvezda@laptop.ales.net>
6766 Date:   Sun Jun 24 15:46:46 2007 -0400
6768     Removed libgd and indent tests from configure scripts.
6769     
6770     indent is no longer use since noweb was removed a long time ago.
6771     libgd is no longer used since libgeda/gschem uses mage export support in gdk.
6773 commit cb63bf6506caf145d44f454734a1f4d712fa9216
6774 Author: Ales Hvezda <ahvezda@laptop.ales.net>
6775 Date:   Sun Jun 24 15:07:58 2007 -0400
6777     Compile fix to the NL translation.
6779 commit cdd6b8669301baafb118ef3d76bb54a2f99a077b
6780 Author: Bert Timmerman <bert.timmerman@xs4all.nl>
6781 Date:   Sat Jun 23 23:47:06 2007 +0200
6783     Update gschem Dutch translations.
6785 commit df71a28480510dd3c82eb1e551325f17ae16f958
6786 Author: Peter TB Brett <peter@peter-b.co.uk>
6787 Date:   Sun Jun 24 06:37:21 2007 +0100
6789     Always draw text placeholder box in correct place (#1740620).
6790     
6791     When dragging text in "fast" mode (where the text is replaced by a
6792     bounding box), the box was drawn in the wrong place if the text isn't
6793     anchored in the usual bottom-left position.
6795 commit adb2dc9eedb72dc180e081ded2fc1ed20dde0a23
6796 Author: Peter Clifton <pcjc2@cam.ac.uk>
6797 Date:   Sun Jun 24 03:48:30 2007 +0100
6799     Fix bug #1741452, segfault on "Include component as individual objects"
6800     
6801     Inserted a missing line to set the complex place list to NULL after freeing
6802     its contents.
6804 commit 214166747c3146cd21af1e346c8ad1b1351dcde8
6805 Author: Peter TB Brett <peter@peter-b.co.uk>
6806 Date:   Sat Jun 23 20:07:36 2007 +0100
6808     Revert po file changes in edff766e8b15c311505810241528026f722e30b6.
6810 commit edff766e8b15c311505810241528026f722e30b6
6811 Author: Peter TB Brett <peter@peter-b.co.uk>
6812 Date:   Sat Jun 23 18:19:11 2007 +0100
6814     Make sure various files are installed.
6815     
6816     Several new files were not being distributed. This patch addresses the
6817     problem by adding files to EXTRA_DIST in automake input files.
6819 commit e57c37a66edc1c4d4e4d7160001749df51b96c4b
6820 Author: Peter Clifton <pcjc2@cam.ac.uk>
6821 Date:   Sat Jun 23 18:17:29 2007 +0100
6823     Move all .cvsignore files to .gitignore files
6825 commit 065595ccd8b5e77616c29a37742357cfab0ae7f7
6826 Author: Peter TB Brett <peter@peter-b.co.uk>
6827 Date:   Sat Jun 23 16:11:44 2007 +0100
6829     Changes to ChangeLog usage.
6830     
6831     With actual changes this time.  Old-style changelogs as of gaf 1.0
6832     (release of 26th June 2007) are moved to ChangeLog-1.0; new (blank)
6833     ChangeLogs replace them.  A script has been added to the gaf top level
6834     to allow maintainers to update all the ChangeLog files immediately
6835     prior to making out a release.
6837 commit 67038ed9bece3a1317757b58a982ed29af2831c6
6838 Author: Peter TB Brett <peter@peter-b.co.uk>
6839 Date:   Sat Jun 23 13:50:57 2007 +0100
6841     Don't cache symbol pointers in persistent structures.
6842     
6843     Several persistent structures, including TOPLEVEL and OBJECT, cache
6844     pointers to CLibSymbols.  This is bad, because it makes removing
6845     component sources or rescanning them likely to cause stale pointers
6846     around the place.
6847     
6848     With fast hashtable-cached searches in place, this is no longer
6849     necessary.  This patch ensures that only symbol names are stored
6850     persistently.
6851     
6852     This patch also enables descending into embedded symbols using a
6853     component library lookup on the embedded symbol's name.
6855 commit 1c226a4ebe5f297460cccf8568b7d7b7b2179253
6856 Author: Peter TB Brett <peter@peter-b.co.uk>
6857 Date:   Sat Jun 23 13:32:45 2007 +0100
6859     Factor out TOPLEVEL.current_clib.
6861 commit fe621022acfbe69688878b70d4c40883f8f2a3df
6862 Author: Peter TB Brett <peter@peter-b.co.uk>
6863 Date:   Fri Jun 22 08:34:33 2007 +0100
6865     Add s_clib_get_symbol_by_name().
6866     
6867     Add a new function which returns the first exact match for a given
6868     symbol name, printing log messages if either there are more than one
6869     match or no matches are found at all.  Also update
6870     s_clib_symbol_get_data_by_name() to use new function and remove
6871     o_complex_add_by_name() as more or less redundant.
6873 commit 01fd87d78aa26d3c29b4141878b5f48edab264ec
6874 Author: Peter TB Brett <peter@peter-b.co.uk>
6875 Date:   Fri Jun 15 09:05:53 2007 +0100
6877     Make comp. library search faster and more flexible
6878     
6879     Replace s_clib_glob() with s_clib_search(), which can operate in
6880     either exact matching or glob matching mode.  Use a hashtable to cache
6881     the results of library searches. The hashtable is cleared every time
6882     it is invalidated (for instance if a component source is added or
6883     removed, or the component sources are rescanned).
6885 commit 9dde0233ebed32065511b567445f9f34d4b3bea1
6886 Author: Peter TB Brett <peter@peter-b.co.uk>
6887 Date:   Fri Jun 15 09:06:56 2007 +0100
6889     Refactor system RC files
6890     
6891     Moved system-gafrc into the libgeda package, where it belongs.
6892     Removed all environment and configure substitutions.  Created separate
6893     font and component library setup scripts in the symbols package,
6894     automatically loaded by system-gafrc if they exist.  Updated
6895     system-gschemrc to use new infrastructure.
6897 commit 7067e71ef1558ceb94772a703cde1463233460fe
6898 Author: Carlos Nieves Onega <cnieves@iespana.es>
6899 Date:   Wed Jun 13 16:59:29 2007 +0000
6901     Removed code handling escape key presses in dialogs.
6902     
6903     Since GTK takes care of escape key presses, this code
6904     is not needed. Applied patch from Ivan Stankovic.
6905     Fixes bug #1710818 for gschem. Thanks.
6907 commit 2a2fa60eee536f48cc27c16f2577106e78250ed6
6908 Author: Peter TB Brett <peter@peter-b.co.uk>
6909 Date:   Sat Jun 9 20:30:14 2007 +0000
6911     Fix gschem's sort-component-library option
6912     
6913     In the last release, the sort-component-library gschemrc option did
6914     nothing.  This patch corrects the issue, by adding an argument to
6915     s_clib_get_sources which enables or disables sorting the list of
6916     component sources.
6918 commit 1b18f93b85cc01a9d091795f94f4559372d165ad
6919 Author: Carlos Nieves Onega <cnieves@iespana.es>
6920 Date:   Sat Jun 9 19:09:13 2007 +0000
6922     Load the GTK missing image pixmap if a pixmap is not found.
6923     
6924     Improve fix for bug #171449, loading the GTK missing image pixmap if
6925     a pixmap is not found.
6927 commit 378040ccd23339eedffd06e9d84867ca719fa659
6928 Author: Carlos Nieves Onega <cnieves@iespana.es>
6929 Date:   Sat Jun 9 16:42:34 2007 +0000
6931     Added check for missing pixmap file.
6932     
6933     Fix for bug #1714493. If a pixmap file doesn't exist, write
6934     a message to the log window. Thanks to the anonymous submitter.
6936 commit eed0be648afd9bc421a8d0059de621df778c5fbe
6937 Author: Carlos Nieves Onega <cnieves@iespana.es>
6938 Date:   Sat Jun 9 16:09:36 2007 +0000
6940     Avoid writting '\r' to files on MinGW.
6941     
6942     Applied patch #1733826 from Cesar Strauss. Thanks.
6943     When using the "w" mode in fopen, MinGW translates LF into CR-LF.
6944     This creates havoc when reading the same file again, when sharing
6945     schematics files with other systems, and when placing them in a VCS.
6946     
6947     This can be avoided by using the "wb" mode. The "b" is ignored on
6948     all POSIX conforming systems, according to these sources:
6949     
6950     http://www.die.net/doc/linux/man/man3/fopen.3.html
6951     http://www.opengroup.org/onlinepubs/009695399/functions/fopen.html
6952     
6953     There are other ways, however. Adding
6954     
6955     #include <fcntl.h>
6956     int _fmode = _O_BINARY;
6957     
6958     on some source file should work as well. Another way is linking
6959     against the MinGW supplied binmode.o, which does exactly that.
6961 commit 21d3dbc1ef88701b60aacc700d2cc9fec1a88f8d
6962 Author: Ales Hvezda <ahvezda@seul.org>
6963 Date:   Sat Jun 9 15:14:07 2007 +0000
6965     Applied a few patches from Ivan Stankovic
6967 commit 419b4d152b0b2ae6546052ccb8d87ef26fa83752
6968 Author: Carlos Nieves Onega <cnieves@iespana.es>
6969 Date:   Sat Jun 9 14:59:01 2007 +0000
6971     Added EPS support.
6972     
6973     Applied patch #1713747 (with minor tweaks) from Wojciech Kazubski
6974     adding support for EPS when writing an image. Thanks.
6976 commit 4e55d9355a69f2005b9afc2596526a133caf8524
6977 Author: Peter Clifton <pcjc2@cam.ac.uk>
6978 Date:   Sat Jun 9 14:54:33 2007 +0000
6980     Added call to g_thread_init() in Gschem and Gattrib.
6981     
6982     Gschem and Gattrib aren't threaded, but some of GTK's file chooser
6983     backends uses threading so we need to call g_thread_init().
6985 commit ef0ca7042e49ed3f26ec61c71085378ab04fef6e
6986 Author: Ales Hvezda <ahvezda@seul.org>
6987 Date:   Sat Jun 9 14:44:27 2007 +0000
6989     Applied patch from Ivan Stankovic that displays entered characters in
6990     the status bar
6992 commit 251771e1f9acab07a3721d5828873464f56fa347
6993 Author: Carlos Nieves Onega <cnieves@iespana.es>
6994 Date:   Sat Jun 9 12:59:32 2007 +0000
6996     Changed nil by #f.
6997     
6998     Nil is no longer supported by guile 1.8. Applied patch from
6999     Peter Clifton changing nil by #f. Thanks.
7000     Note there are still some files using nil.
7002 commit bca8aacb0b3dd8f03851fa7c50d287b458eb045e
7003 Author: Carlos Nieves Onega <cnieves@iespana.es>
7004 Date:   Sat Jun 9 12:17:28 2007 +0000
7006     Set alternative button order after buttons are created.
7007     
7008     Apply patch from Cesar Strauss, moving the
7009     gtk_dialog_set_alternative_button_order call after buttons are
7010     created, in the component selector window. Thanks.
7012 commit 3d58ffc27e6d915c4b1ebbd6f6b96d98d6126b7b
7013 Author: Peter TB Brett <peter@peter-b.co.uk>
7014 Date:   Mon Jun 4 16:15:37 2007 +0000
7016     Replace deprecated Guile functions & macros.
7017     
7018     Replace deprecated SCM_STRINGP, SCM_INUM, SXM_INUMP & SCM_MAKINUM with
7019     recommended equivalents for Guile 1.8.
7021 commit 66fb25858496cdf33e1456b835d68a16bb7ccdcd
7022 Author: Peter TB Brett <peter@peter-b.co.uk>
7023 Date:   Sat Jun 2 16:33:34 2007 +0000
7025     Improve Guile configure checks & remove 1.4 compat. code.
7026     
7027     Removes compatibility code for Guile 1.4, and makes configure scripts
7028     check for actual Guile version.
7030 commit 14fb224ec0f09b0b95a083abcaf3f5eaaf41b74f
7031 Author: Ales Hvezda <ahvezda@seul.org>
7032 Date:   Sat Jun 2 01:02:42 2007 +0000
7034     Fixed a behavior where you would cancel (via right mouse button or escape)
7035     the placing of components, but gschem would still be in the add component
7036     mode (and clicks would still place components).
7038 commit dcb48381f14f16e8786f70c4dae231f170539aac
7039 Author: Peter TB Brett <peter@peter-b.co.uk>
7040 Date:   Thu May 31 21:29:47 2007 +0000
7042     Cleanup code for status bar messages.
7043     
7044     Applied patch from Ivan Stankovic cleaning up code used for displaying
7045     status bar messages.
7047 commit a50de86a4c0f45a1202c3fac77ba1b712de29330
7048 Author: Dan McMahill <dan@mcmahill.net>
7049 Date:   Wed May 30 04:11:07 2007 +0000
7051     Use "=" instead of "==" as an operator for test as the former
7052     is portable and the latter is a bash-ism
7054 commit 103524d50813c8a9490c9f4ebba1b72a3e4f36b5
7055 Author: Peter Clifton <pcjc2@cam.ac.uk>
7056 Date:   Wed May 30 00:10:22 2007 +0000
7058     Committing src/gschem_dialog.c and include/gschem_dialog.h
7059     which were missed in the last commit.
7061 commit 98e738a12c2351a2613f3fef9ff0400df62247c3
7062 Author: Peter Clifton <pcjc2@cam.ac.uk>
7063 Date:   Tue May 29 23:06:04 2007 +0000
7065     Applied patch by Ivan Stankovic making dialogs within gschem save
7066     their position and size on exit and restore it on opening.
7067     Geometry is saved to {$HOME}/.gEDA/gschem-dialog-geometry
7068     
7069     Dialogs inherit this functionality by using, or deriving from the
7070     new GschemDialog class (A GtkDialog subclass).
7072 commit 4eca6e40036bdeb68e15588180636c14c56fd71d
7073 Author: Peter TB Brett <peter@peter-b.co.uk>
7074 Date:   Mon May 28 07:42:19 2007 +0000
7076     Implement new component library system in gschem.
7077     
7078     A new component library model was introduced into libgeda to
7079     allow gschem etc. to work well with database systems.  This
7080     patch updates gschem to use the new library system.  Most code
7081     dealing with creating, updating and (un)embedding symbols is
7082     affected.  However, this patch should not introduce any
7083     changes for the end-user.
7085 commit b0810d4d71e27bc32e0e0b1e903d230d97ca9ad6
7086 Author: Peter TB Brett <peter@peter-b.co.uk>
7087 Date:   Sat May 26 19:21:28 2007 +0000
7089     Help menu updates.
7090     
7091     Change help menu now that all documentation is in the wiki.
7094 #GCL#