commit a30f00bbee18ad5140616ad6459365cb48b03ee7 Author: Ales Hvezda <ahvezda@seul.org> Date: Fri Jan 14 23:21:56 2011 -0500 Updated version strings in all man pages commit 48f3d8aedb5db6f5dfb6232565e65e03d45b5efb Author: Ales Hvezda <ahvezda@seul.org> Date: Fri Jan 14 23:18:41 2011 -0500 Manually ran make update-po in order to prep for the make distcheck This step is always done right before make distcheck is run to create a release tarball. commit 8a3a0bb070d1b288fceac2fcdd7b317a8f77a464 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Fri Jan 7 22:00:09 2011 +0000 Update FSF address in copyright headers. The FSF have now moved to 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Our GPL and LPGL copyright headers need to updated to reflect this. Only files remaining with old address are wiki files (although the wiki has now been updated) and PostScript files. commit 9ae03d499783cbbc42dfd5180d0abfa88b8ed8f0 Author: Wojciech Kazubski <wk0@o2.pl> Date: Tue Jan 4 15:37:48 2011 +0000 gschem: Don't crop the png output [3100660] [3100680] Gschem sometimes crops the image exported to bitmap file (png, bmp... but not eps). This appears in certain range of picture proportions, landscape but close to square. This patch alters the algorithm that adjusts the image proportions to remove this problem. commit bafbcd605c7beaacfdaf9a46801553be5b0c97ad Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Jan 4 15:37:47 2011 +0000 gschem: Exit any current event state before switching pages If we don't do this, state from an operation on one page can cause corruption and genereral chaos. This was reproducable by moving some objects (em), then switching pages with a key-binding. commit 4491d031d5f02a43ec72443a3be6668c9cdc58b6 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Nov 1 20:59:11 2010 +0000 Fix hiding the command prompt window on Win32 builds with -mwindows There was a mistake in gschem and gattrib's Makefile.am, where it included the non-existant MINGW_GUI_CFLAGS rather than pulling in MINGW_GUI_LDFLAGS where the required -mwindows was set. Cherry-picked from: e5f32954a1fb23534309d6fa06d887859afbc664 and subsequent fix: 66e54fd03f75f70d9fcf101d6ed3cad1bb354b13 commit 11921dc18209ed4ea12288114634bb94a5b9b8a9 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Feb 14 21:26:37 2010 -0500 Updated man page dates commit bd34cfde2450790b357e574281f9562adce64303 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Feb 14 17:09:45 2010 -0500 Updated copyright text/header in most source files. Updated all copyright text dates that should be updated for the new year. Fixed a bunch of GNU text typos (these should have been either GPL or gEDA). Removed some $Id$ tags which are no longer used/needed. Fixed a few file header that were just plain incorrect. commit 93b0370c433f5eb6716ce537288803df4ff99549 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Feb 14 09:01:16 2010 -0500 First set of changes done by make update-po (ran by prelim make distcheck) commit dcfcb835d5dec2c0ec71526188bbd6c1b76a94ac Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Feb 14 13:03:47 2010 +0000 Import translations from Launchpad commit fae9fef150f96412b592817e98d09a2c8300fbfc Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Feb 13 14:15:40 2010 +0000 gschem/po: Update some fuzzy strings in the Dutch translation These changes relate to menu-accelerators, so I was able to take an educated guess at the correct strings. commit c8af8579d460fdbf9591133c7e30556ce77ba329 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Feb 13 12:57:57 2010 +0000 gschem/po: Merge changes to Dutch translation Merges changes sent by Bert Timmerman. These didn't apply cleanly, so I've had to merge them manually. This commit introduces a number of fuzzy translations which should be fixed before release. They are mostly relateed to menu accelerators, so could probably be un-fuzzied without too much risk. commit 20fd55710ff9d4529f2ce4703559d39e2fa6abd9 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Feb 12 18:23:01 2010 +0000 gschem: Fix hard-coded menu names to match new accelerators Fixes breakage caused by changing the root menu names to include accelerators. (cherry picked from commit 11dd19eedb4fedf06858ec7af1f13371b69441f9) commit 4e91bc5e52699639cf78a9112b0422d2763a6346 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Feb 12 18:00:44 2010 +0000 Update translations from Launchpad commit 9a21d1e7e67cccd3d8f6285d1582a1933cc48fe6 Author: Krzysztof Kosciuszkiewicz <k.kosciuszkiewicz@gmail.com> Date: Fri Feb 12 11:25:40 2010 +0000 gschem: update polish translation I did most of the previous translation in Launchpad but now I'm using git so it's more handy for me to submit a patch. commit 7ebe889c777237eed359da7687202fa1f23be537 Author: Werner Hoch <werner.ho@gmx.de> Date: Fri Feb 12 10:41:22 2010 +0100 gschem: updated german translation commit d8b5d756ae661bb15dc4e24f470e36d833442513 Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Thu Feb 11 18:56:39 2010 +0100 Updated spanish translation. commit bf9d3b95633bbb575e0d480561990af43569d184 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Feb 11 01:45:01 2010 +0000 gschem: Update translations to reflect accelerator changes In this instance, I'm going to un-fuzzy the appropriate translations, as I don't want to break strings which were previously translated at this stage in the release process. For certain languages - those where it was simple, I've updated some or all of the accelerator strings. commit 5e8b72937c09caf15ef791459d6086e3aaf77be6 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Feb 11 01:34:37 2010 +0000 gschem: Provide accelerator mnemonics for root menus (cherry picked from commit e94dd5222f2267218572e81cfae9fbbdc2f70021) commit f5efae4bcb1d79abd21400e08a1bf63bcb43aa4d Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Feb 11 01:34:28 2010 +0000 gschem: Allow mnemonics for root menus, such as _File, _Edit etc.. (cherry picked from commit a800451bef4df21797df3707b672571e5441e594) commit d66d391c8ade7b7e55df3cb23b802238c92de4fa Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Feb 11 01:34:20 2010 +0000 gschem: Fix update of pinnumbers after auto-renumberering slots Call o_slot_end() rather than o_text_set_string(), in order to ensure the object's pinnumbers are updated correctly. NB: This patch requires the changes making o_slot_end() to take an OBJECT * arguement, as the objects being updated aren't necessarily selected. (cherry-picked from commit 9c71110a49be8a677f7ea3eabaebf6479873c7af) commit d1a6a10c62f993e22ec4b752f803f907ad0b9a35 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Feb 11 01:34:06 2010 +0000 gschem: Pass o_slot_end() an OBJECT *object parameter The OBJECT * parameter points to the object who's slot is being updated - not the slot attribute itself. Previously o_slot_end() used the first object in the selection. This call is used for other cases where slotting needs to be updated - not all will necessarily have the object selected. (cherry picked from commit 040db4675fcbd7739ad8c0dfbc82bbcf2eaff815) commit 920c90fcc90ca188cbbbbdbcbdfec4ed65e54493 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Feb 11 01:33:45 2010 +0000 gschem: Remove the exit(-1) error path from o_slot_end() This is not a friendly way to treat the user.. g_return_if_fail() instead. (cherry picked from commit d03c03949e17313a222645fc38c376b802f5fb4c) commit 2bed5dcf9424ecc238d3bba391db73fb12a170cb Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Feb 11 01:33:37 2010 +0000 gschem: Remove unused "len" parameter from o_slot_end() (cherry picked from commit 2998c43e60e95a28df9ce7db2cd64dfaf46712b9) commit f4bda0a16f626235ada74f0b7ec5fec51e0f2c73 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Feb 11 01:33:28 2010 +0000 gschem: Fix slot editing routines to not edit inherited attributes (#2949232) Fixes a bug where symbols without a promoted slot= attribute had their non-promited slot= attribute modified. Also, a similar bug was lurking in the auto-number code, which could break the auto-number slots feature or cause crashes when the remove numbers feature was used on slotted components without a promoted slot= attribute. Tidied up some variable names to make all the fixed functions consistent. A neater fix might have been changing the interface to s_slot_search_slot() back, such that it only reports non-inherited attributes. This would ideally involve renaming the function in libgeda, to (say, for example) s_slot_search_attached_slot(). Since this change is intended for back- port to stable-1.6 as well, I don't want to break libgeda ABI. It seems unwise to change the function's behaviour without a break in API, hence the solution in this patch.. to have callers to s_slot_search_slot() check !o_attrib_is_inherited() on the returned attribute before editing it. Reported-by: John Doty <jpd@noqsi.com> (cherry picked from commit b635dd1c3b9297d3f6e1487f4e2a03cc9effcf05) commit 6261b5ea22dfcff6aac6060f98dd7606b7cb4ed2 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Feb 8 16:31:00 2010 +0000 Merge translations with those exported from launchpad commit 9d6d0a0cc0cf0675a6f5f313272dcd224675ebf8 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Feb 7 00:39:07 2010 +0000 gschem/po: A few updates to the en_GB translation (Actually with some changes this time!) commit 89a4b16eb855aa65480c82766a1cc559ca31ea5f Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Feb 6 23:11:49 2010 +0000 gschem: Make update-po for changed rcstrings.c Updated en_GB translations for menu accelerators, as they are trivial. Other languages still have their menu strings marked as fuzzy, meaning the translations won't work (they didn't before anyway). I've deliberately not unmaked the strings as fuzzy, as if this were done, it would be much harder for translators to see that the keyboard accelerators need fixing. commit 2525daa773aa3c5713e1ff40913236256cf2e2de Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Feb 6 23:10:52 2010 +0000 gschem: Fix rcstrings.c to relect text in menus This makes our menus translatable again. Looks like most cases were due to adding "_" to the menu text to make _Accelerators. (cherry picked from commit 0b87692907ad83635fab42a59fa4e86f464905c5) commit 431772cec853ba3344ca68865dc29441c73d6b14 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jan 31 13:09:30 2010 +0000 gschem: Import translations from Launchpad commit cd8a454298c0dc4860e4a81260a41c8d7476c2d9 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jan 31 13:34:14 2010 +0000 gschem/po: Update af.po translation (removing many bogus fuzzy translations) Some fixes were obvious, others were obviously wrong, so I removed them. commit 5d55f0efdbf386d672179e7b1c5c0e905029dc23 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jan 31 12:38:06 2010 +0000 gschem/po: Fix plural form header for es.po Looks like something accidentally mangled this header. (cherry picked from commit 89ad783e3f1298ee1ea0a12d148a192c74e4d78f) commit fd66d4de4dd32b4d080a9cbd4f53f2a598269b63 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jan 31 11:08:04 2010 +0000 Update en_GB translation (actually do it this time!) commit 67f8e23339892fbcb958c2051e8fabe5345350fe Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jan 31 10:27:32 2010 +0000 Run make update-po in all */po/ directories commit abc32686e9bf42b25e0f6b0548d620436ee05da6 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jan 31 10:58:55 2010 +0000 gschem: Remove _() translatable markers from some internal strings Save work for the translators, as we don't really need or want to translate the descriptive strings for GObject properties. Introduce a P_() helper as in GTK code. This means we can find the potentially translatable strings at a later date. (cherry picked from commit 3c64f506a6b3babc4db67a5841d5b95a2189b34c) commit c603cb9f75068837eb8f5a309f590fb3d8e5156e Author: ãÃÂàï çÃÂàÃÂàÃÂïà(Ahmed El-Mahmoudy) <aelmahmoudy@users.sourceforge.net> Date: Fri Nov 20 16:23:15 2009 +0000 Fix for some manpage issues. [2901183] Fixes undefined use of `l' macro, and incorrect uses of `-' character. (cherry picked from commit 93dd5a941f34d1dd58cf9a57a07dec1e01ce3afe) commit 7575c114b590077a3399d28a499005625f7ae212 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jan 31 02:00:34 2010 +0000 gschem: Don't update page connectivity from o_place_rotate() Bug #2904715 This fixes bug #2904715, where gschem would crash if an object being multi-copied contained nets, and the place-buffer was rotated (by 90 degrees) four times during the place operation. Items in the place list should never have their connectivity updated on the page. (They don't belong to the page, so have no business being referenced from the page, or objects on it). Rather than calling o_rotate_world_update() (which updates connectivity) call o_glist_rotate_world() and then the scheme rotate hooks explictly. Rotate hook handling was split from o_rotate_world_update() into a new function, o_rotate_call_hooks(). When doing this split, I took the chance to remove a few pointless tests of o_current != NULL in there. We know o_current isn't going to be NULL, and we already dereferenced it (unchecked) a few lines above. As o_place_rotate() is always called from within an action - and in those cases, o_rotate_world_update() would not update the undo list, I have not included the conditional undo update in o_place_rotate(). (cherry picked from commit 16090ce2eedc014d82e96fd340ec27f9ea6b186d) commit 037651cdde1684c640d1339f699e1e45838e35e1 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Jan 19 23:17:06 2010 +0000 gschem: Set font description explictly, rather than by parsing a string This makes the font description string robust against numeric locale settings, which could cause problems if "," gets used as the decimal separator in the requested font size. This issue caused text rendering to be broken in gschem on Win32 for locales where "," was used as the decimal specifier. The underlying bug (failing to override the LC_NUMERIC settings) is now fixed, although it is just as well to be as robust as possible here. Thanks to Cesar and Bert for testing this fix. Tested-by: Cesar Strauss <cestrauss@gmail.com> Tested-by: Bert Timmerman <bert.timmerman@xs4all.nl> (cherry picked from commit 620ee00b6211b04c75e9cadffe5547ce4ed1ca8b) commit a78d166a1b57b80ff46e2ac98a14989b8af77c3e Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Jan 19 23:11:36 2010 +0000 Set the LC_NUMERIC locale to "C" rather than "POSIX" This value is supported on Win32 platforms, whereas "POSIX" doesn't appear to have any effect. This is required in order to get correct postscript output in locales where "," is used as the decimal point separator. It also affects the font strings passed to Pango, causing broken text rendering in gschem. Thanks to Cesar for testing this change indeed fixes the issue. Tested-by: Cesar Strauss <cestrauss@gmail.com> (cherry picked from commit 5d130060e694cfd3b3be177f1fae4a576728ff25) commit 9fb9761c0ae5b34670683de30f4251e24d55e652 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Nov 20 06:58:57 2009 +0000 Don't immediately redraw rubberband objects after placing This allows the user to see the placed (and selected) object without it being overwriten by any object still attached to the mouse cursor. (This made it appear that the object had not been placed). The rubberband objects attached to the cursor are re-drawn as soon as the mouse moves. commit df1a9efec9a33336723c863f7a4c9844c3c12b3c Author: Sergey Alyoshin <aslv@users.sourceforge.net> Date: Fri Nov 20 06:58:56 2009 +0000 gschem: Updated Russian translation. commit 18fc37097a266ecdb70560524e6c161f0807d36e Author: Werner Hoch <werner.ho@gmx.de> Date: Fri Nov 20 06:58:55 2009 +0000 gschem: Fix rendering with zoomed out dashed lines. Bug #2876373 Rather than using SCREENabs, use the screen_width function to determine the on-screen size of dash elements. This clamps the width at a rendereable size, so cairo does not get tripped into an error state (and stop drawing other objects on the schematic). commit b98d2ea8aa5ce3dfab39ce5fa4a52c39e5a467b3 Author: Werner Hoch <werner.ho@gmx.de> Date: Fri Nov 20 06:58:54 2009 +0000 updated german translation for gschem commit d5d8bf2982724c52fa66431801534a35b75a3e52 Author: Bert Timmerman <bert.timmerman@xs4all.nl> Date: Fri Nov 20 06:58:53 2009 +0000 Updated the Dutch translations for gschem commit 4a952841e7aca364018a9ebd81a0c1793c371273 Author: Werner Hoch <werner.ho@gmx.de> Date: Fri Nov 20 06:58:52 2009 +0000 gschem, gattrib desktop file: add trailing semicolon the openSUSE buildservice claims that it's necessary to add a trailing semicolon to the Categories list entries. commit 3fd50335ddfe0ed7f358d46a0fba23bff25073e6 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Oct 4 21:23:05 2009 -0400 Updated date and version in all man pages commit a8d42b7de50639897c888646883ce88d819d2589 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Oct 4 21:11:20 2009 -0400 Ran make update-po in all po directories in prep for a new release commit b7ca06041ea464b0d064bfa965843d2907a83571 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Oct 4 19:39:14 2009 -0400 Updated the wiki docs from the online version (in prep for the next release) (Un)fortunately, the previous mechanism for updating the wiki offline docs from the online version is completely broken now (due to a segfault in an external tool), so a new mechanism was used to download the files. The good news is that the number of files and directories that need to be downloaded has been reduced considerably. This is the first cut of the wiki sync. commit 4f40000aff79919a3894de4e2e6e560e224220ce Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Sep 29 01:43:05 2009 +0100 libgeda: Move slot handling code to its own file, s_slot.c Separates special-case attribute handling from o_attrib.c Renamed functions: o_attrib_search_slot() -> s_slot_search_slot() o_attrib_slot_update() -> s_slot_update_object() libgeda private API: o_attrib_find_attrib_by_name() is no longer static to o_attrib.c commit ff7738b406991a47bf77d2af4b20d0e59d148e1f Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Sep 28 21:30:51 2009 +0100 Rubberband pin to pin connections by adding nets This relies on the fact that (as an implementation detail), gschem will rubber-band a zero length net created at the pin-pin interface. Somewhat of a kludge, but the behaviour is nice for the user. commit 5ca5b9768cf70f3d0f905d784d0896c6b442c34f Author: Cesar Strauss <cestrauss@gmail.com> Date: Wed Sep 23 19:29:07 2009 -0300 build-sys: Check and set Windows-specific flags. The Windows platform has a native gcc port (MinGW) and a POSIX compliant one (Cygwin). Both need specific flags to build correctly. The rules are: * On all Windows platforms, pass -no-undefined to libtool. This allows shared libraries (DLLs) to be built. * On MinGW, use the -mms-bitfields compiler flag. This increases compatibility with the MSVC compiler. * On MinGW, pass -mwindows when linking GUI-only applications. This avoids opening a text console when running from a shortcut. commit e70cfefcd69a9038ba12759e7f690bc3a041d98c Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Aug 31 19:38:10 2009 +0100 gschem: Don't explicitly consolidate nets as they are drawn There is no need to do this here, since all nets are consolidated in each call to o_undo_savestate(). commit 394425f81b0653fc8efa9f5890217ee4fae631e0 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Aug 31 19:38:10 2009 +0100 Don't consolidate nets when loading files. Nets should be consolidated when placed, not when the file is loaded. commit 399560caafde7046fe0e361712389e559969a424 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Aug 31 19:38:09 2009 +0100 gschem: Fix net consolidation (HACK) Net consolidation was previously triggered at file save time, until commit 1f05fb8e7b857c2bba2fbcaa4893ecbedcc478a9 removed the call to o_net_consolidate() from o_save_buffer(). Unfortunately, gschem relied on this call to ensure net consolidation behaviour worked as expected. When changes were made on the schematic, o_undo_savestate() was called to save an undo state (to a temporary file), which eventually called o_save_buffer(), and this caused nets on in the schematic to be consolidated. As a kludge to work around this regression, this commit adds a call to o_net_consolidate() in o_undo_savestate(). This of course, is not a nice place to put it! This issue should be revisited after 1.6.x is released, ideally finding a cleaner place to trigger consolidations. Notes on the problem: Consolidate nets needs to happen when: A new net is drawn (and added to the page) A net end-point is rubber-banded A net is moved / copied into place A net sitting perpendicularly between two colinear nets (preventing them consolidating) is removed (Cut/Move/Delete) We want the "undo" state saved to be inclusive of the net consolidation.. therefore it needs to happen _before_ the undo state is saved, or we would have to cheat, and consolidate again after any "undo" / "redo" operation. Since o_undo_savestate() is called after modifications are made to the page, it provides a useful (but kludgy) place to catch all of the above cases before the undo state is saved. commit 45002f0be0efb9638bcb96e67bbd1e5d3cd602c6 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Aug 30 19:26:36 2009 -0400 Updated all manpage versions in prep for a new release (v1.5.4) commit 52946266fdb9c6d039c378af94b8b6f311996b48 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Aug 30 19:25:03 2009 -0400 Ran make update-po in gschem in prep for a new release (v1.5.4) commit b1f7256890fe8ff48ae077d1fa3cdfcf29ccdc0f Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Aug 30 20:16:53 2009 +0100 gschem: Substitute spaces for underscores in displayed accelerator strings This makes accelerators such as "Page_Up" display as "Page Up", in line with how normal GTK accelerators are displayed. commit 0dd9b27c559a4056312c0ad6275ba5c31d1aee46 Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Aug 29 22:39:16 2009 -0400 Fixed bug where none of the translated languages were working correctly. The meaning and value of the PACKAGE #define has changed in the new build system and we don't need to use it in certain places (like when calling bindtextdomain or textdomain). This bug was reported by Carlos Nieves (Thanks!) commit 52f809520c670690cb73b00b4207feb6860b073d Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Aug 29 21:42:10 2009 -0400 Ran make update-po in all po directories in prep for the next release commit a34e326784706cb761ba689a75bef19a5b1ee880 Author: Mark Rages <markrages@gmail.com> Date: Sat Aug 29 17:05:06 2009 -0400 Modify the drawing of the grips to set a hard limit on the screen size This patch changes the size of the grips in gschem. In the past, the grip size was always directly related to the zoom factor (you would get really large grips when zoomed in a lot). Now the grip sizes are a fixed size at certain zoom factors (grip sizes are reasonably sized when zoomed in a lot). This patch also renders the grips on top of endpoint cues so that you can see the grip rectangle when you are zoomed in a lot (there might be a better way of doing this, but this works for now). Signed-off-by: Ales Hvezda <ahvezda@seul.org> commit b0fa7dd7839915703d9101006bed1c7305477e30 Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Aug 29 16:51:44 2009 -0400 Updated the versions of the software in all man pages commit a8295ba6d957394c9d56465bc2bfc14a43fc251d Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Aug 29 13:14:57 2009 -0400 Added some machine generated documentation files to be ignored commit 8db05013c0542a6e2f8931b9c2ba2318fe8b613f Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Wed Aug 26 21:38:44 2009 +0200 Updated spanish translation for libgeda and gschem. commit af3f6fc265cb30972df4344a39a67451ab1148b2 Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Sun Feb 1 13:13:29 2009 +0100 Run the add component hook after adding a new component using scheme. Run the add component hook after adding a new component using the scheme function add-component-at-x-y. commit dbcfd09c99266379d08d90b9d8a9dd23a6566eec Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Sun Feb 1 12:51:15 2009 +0100 Fix x coordinate in add-component-at-xy function. X coordinate was previously get from the Y coordinate parameter. commit 1b152740c10b5198d16a43a73f08ccbe90d37ccb Author: Ales Hvezda <ahvezda@seul.org> Date: Tue Aug 18 22:56:56 2009 -0400 Updated all po files by running make update-po in all the */po directories Run make update-po again might be necessary as we get closer to release time. commit e5ae12ec1091bd6e3c4067e395714efd3934b0c2 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Aug 17 13:18:10 2009 +0100 Remove old text mechanism, including TEXT->prim_objs, symbols/font/* Now we have pango rendering, the old text mechanism and its glyph symbols are redundant and can be removed. commit 9cd19557085a7ef98408e1a73aa15471a88fb5e8 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Aug 17 12:32:09 2009 +0100 gschem: Save cairo and pango contexts when entering expose handlers For some operations we might want to replace the renderers in order to do off-screen drawing (e.g. printing). As these operations could instantiate a sub-main-loop (which can service expose events), the expose event handler needs not to trample on the drawing contexts. commit e9a944c1525228fbe80b0adc3910949d650a100c Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Aug 17 12:08:31 2009 +0100 gschem: Register a function with libgeda to provide accurate text bounds This allows invalidating a text object to use the correct region and, importantly, allows us to find accurately which text objects were need repainting if a given area of screen is damaged. commit 21be5c504a4a48da63526fce53cce00a9a76a1eb Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Aug 17 12:08:30 2009 +0100 gschem: Add custom pango renderer to handle overbars commit 391eb25cb8e426df8f57fac2dc2d6e3515ff2acf Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Aug 17 12:08:27 2009 +0100 Attempt drawing text with cairo + pango We use libgeda's o_text_get_font_size_in_points() to try and match old gEDA font sizes. This scaling factor of 1.3 applied to the font size defined in the schematic reflects the fact that gEDA's old font at given nominal point size, is larger than most other fonts at nominally the same size. This (may) be due to the cap height of gEDA's font being designed to match its design height, rather than having the baseline height of the font match the design height. commit b9adcffad55d8f6a5633afb79b9522ba840bda22 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Aug 17 12:07:14 2009 +0100 Reinstate (postscript-font-scale ...) option to catch deprecated usage. The replacement handler issues a warning that the parameter is deprecated and will be removed. The parameter value is ignored. commit f9e5481638f4ab3b86054d82ce10e10b008d9657 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Aug 17 12:01:57 2009 +0100 Hard-code the gEDA font-size to postscript points scale factor. Replaces the (postscript-font-scale ...) option, and the scale factor hard-coded in gschem's pango text rendering routines. commit c394dc703ac479b4d095b65bdb67526ed6e7c1e0 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Mon Aug 17 11:19:58 2009 +0100 Always use PostScript fonts in PostScript output. Removes the "output-text", "text-output" and "output-vector-threshold" config functions. commit 3191d47aa5f71847c876a35371a89cb38825e66b Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Aug 17 11:19:06 2009 +0100 gschem: Render images using cairo, not GDK commit ff6ea4955d0490d6436bc74d840325e76098304f Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Aug 13 07:56:57 2009 +0100 build-sys: Don't use AC_HEADER_DIRENT. The Autoconf manual says that AC_HEADER_DIRENT is now unnecessary: This macro is obsolescent, as all current systems with directory libraries have `dirent.h'. New programs need not use this macro. This patch removes AC_HEADER_DIRENT and all checks for HAVE_DIRENT_H. It turned out that in most of the places where `dirent.h' was being #include'd it wasn't needed anyway. (Fix for a Cygwin build bug reported by Dan McMahill). commit cf772193f3042184e5ca624cc7b1e8daef6f4a53 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Aug 13 06:43:16 2009 +0100 build-sys: Improve HTML conversion rules. We want to make sure the HTML version of the man pages is always distributed, but make building/installing it optional (in case users don't have a proper groff installed). This can be achieved by making sure that Automake only tries to install the HTML man pages if a working groff is available. In addition, `make distcheck' is set up to behave as if groff is not installed. Unfortunately, this still isn't ideal, because users who build from a source archive (with pre-built HTML) won't get HTML installed unless they have a working groff. In the long run, what needs to happen is to use a mechanism like `missing' to handle rebuilding of HTML man pages -- or just drop HTML man pages altogether. commit 476299cad187c839cb252d6d2d985590f99bb6e9 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Tue Aug 11 22:11:22 2009 +0100 gschem: Modify o_complex_prepare_place() to take CLibSymbol arg. This saves a roundtrip from s_clib_symbol_get_name() to s_clib_symbol_get_data_by_name(). commit ee3878f7c238f75ba3305ab63d3b26e5a4849d7f Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sun Aug 9 07:46:33 2009 +0100 gschem: Remove use of deprecated scm_create_hook(). ...by providing our own create_hook() function. commit a4a8c19bb3389548d641a0874a77c77f623ad7a5 Author: Ales Hvezda <ahvezda@seul.org> Date: Fri Aug 7 23:02:01 2009 -0400 Makefile.am cleanup (removal of ChangeLog and Makefile.in files) Details on this commit: * Now that we are no longer storing machine generated ChangeLogs inside the git repository, make maintainer-clean should remove the machine generated ChangeLogs. This way nobody accidently edits the ChangeLog. Only 7 ChangeLogs are left after a make maintainer-clean (intl, po, and one toplevel ChangeLog). * Some directories were missing the removal of Makefile.in when make maintainer-clean is run. Only 3 Makefile.in files remain now after make maintainer-clean (only in the intl directories). * Removed $Id$ tags from some of the Makefiles since we are no longer using CVS. * Removed some unnecessary ChangeLogs from ever being created (from example/gTAG gschem/scripts, and symbol/font). Note 1: There are still some machine generated files still hanging around, but I'm going to leave those alone for now as the .gitignore mechanism properly masks those. Note 2: Made sure that all files that are to be removed in the *CLEANFILES lists comes before the #*# otherwise they will be ignored. commit 1a3b04db4b811a853b9d2d7c5c57038f2146f919 Author: Ales Hvezda <ahvezda@seul.org> Date: Fri Aug 7 21:21:22 2009 -0400 Added a bunch of files that should be included in any distribution The only file which I might want to not distribute is update-version.sh, which technically is a developer/maintainer only file, but for now I'll include it. Also libgeda/docs/images isn't integrated into the build properly yet, so it will not be in the distribution for now. commit fc2b205314545d92ea2a7e8f40a7a4c7d5af893d Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Aug 6 17:15:29 2009 +0100 Don't store git-generated ChangeLog files in repository. Don't store ChangeLog files in the git repository and have to remember to update them each time a release is made. Instead, get `make dist' to create the ChangeLogs for you if a git repository is detected. Note: make distcheck does not pass in this commit. commit 77d96e9154d9cfc81b25353ef99b8f8f42999bfb Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Aug 6 14:35:12 2009 +0100 Add top-level NEWS file. This contains important user-visible changes. It should be kept up-to-date, in order to make writing release notes easier. commit 09fcc6d689defb8f43bfc27aac87ee4ac34ce66a Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Aug 6 12:33:07 2009 +0100 Update top-level README file. Well, actually rewrite it entirely. Note: make distcheck does not pass in this commit. commit 433c672579aabb282999377139c9242b319ba044 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Aug 6 12:38:31 2009 +0100 Only need a single `AUTHORS' file. Move the gschem one to the toplevel (adding several missing names on the way), and remove most of the others. The `AUTHORS' files in the `symbols' and `utils' directories are retained, because they contain some useful information. Note: make distcheck does not pass in this commit. commit ed7134fd403b9f1dc0a75d50e4e7bcfb2fd95cb8 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Aug 6 11:19:57 2009 +0100 Only need one copy of GPLv2. Also, update to latest version of GPLv2 (from http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt). This corrects the FSF contact address, along with some minor formatting modernisations. Note: make distcheck does not pass in this commit. commit 75e35a9265199e310e4778773b0b3341659ff4a5 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Aug 6 21:15:37 2009 +0100 Add gschem to unified build system. N.b. gschemdoc is now created directly rather than by prepending config.sh. commit 03943792b7606534fba0fd4e158dc6ff8d6adb97 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Fri Aug 7 23:21:36 2009 +0100 Start implementing unified build system. Restructuring of build system, including new m4 macros and helper programs. Note: only libgeda can be built from this commit. Important differences from previous versions: - The tarball is now called gEDA-<version>.tar.gz. - Documentation is now installed to ${docdir} - A `version.h' file is generated containing the package version strings, including the git commit SHA-1 and the descriptive string from `git describe'. `version.h' is distributed in the source tarball so that gEDA can be built without git. commit e55e9e247eb33c4a5be56687b4610c6649ef74d7 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Tue Aug 4 22:06:16 2009 +0100 Remove existing build infrastructure. This simply strips out all configure, m4 and autogen scripts from the whole repository, including the toplevel Makefile. This commit does not compile (what a surprise)! commit 8cb318276281c1eacb9dc5246ed5b338839a55d8 Author: Krzysztof Koà Âciuszkiewicz <k.kosciuszkiewicz+geda@gmail.com> Date: Mon Jul 20 18:42:28 2009 +0100 gschem: Add name completion to attribute edit dialog commit 82c4e182c71d8a4fb9584b059a2f3215f6438cfe Author: Peter TB Brett <peter@peter-b.co.uk> Date: Mon Jul 20 18:12:25 2009 +0100 Reduce stderr spew. It's not necessary to spew massive amounts of output to stderr on startup. It's ugly and not legally necessary. This patch modifies the tools only to spew a GPL header to stderr when entering gnetlist's interactive mode -- and to be nice and quiet the rest of the time. commit d66220b8d3085c7ab55bac419b125d9287c0520d Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sun Jul 5 17:36:57 2009 +0100 Ignore yet more unnecessary m4 files installed by autopoint. commit 64cdf2bd7250e97749a308e19916c1d65c9a2c95 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Jun 18 18:09:56 2009 +0100 Use a static configure.ac and constant gettext version. commit ad38ef86300b9eae33e241333863201b7b28b688 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Jun 22 23:46:17 2009 +0100 Fix o_line_visible() to work when object clipping is switched off() We need to transfer the line's coordinates to the return locations before returning TRUE. commit b166d053e62c01b3b6413e0c6df275a432ba9792 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Jun 22 11:34:25 2009 +0100 Add new functions o_set_color() and o_glist_set_color() Replaces the inaccurately named o_complex_set_color() and o_complex_set_color_single(). Also replaces o_attrib_set_color(), which was static to libgeda/src/o_attrib.c commit edf9fad0a84807199acba250e8ec6461fafd89cf Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Jun 22 11:33:11 2009 +0100 Fix breakage in last commit. OBJECT->complex_parent is now OBJECT->parent commit 2dc3c8dad90b4b02a962929edf2b6ce5b75939aa Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Jun 22 10:53:23 2009 +0100 Remove OBJECT->saved_color field Rather than resetting the color of selected objects, we instead add a helper function, o_drawing_color(), which decides at drawing time what color an OBJECT should be drawn. o_drawing_color() checks if there are any color overrides in effect, and whether the OBJECT (or its parent, in the case of TEXT or COMPLEX prim_objs) is selected. Remove now unused functions: o_complex_set_color_save (); o_complex_unset_color (); o_complex_unset_color_single (); o_complex_set_saved_color_only (); commit 5f52ce5d7f4be7ee1eb2246b896135d01fb320c0 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Jun 22 10:50:36 2009 +0100 Rename OBJECT->complex_parent field to OBJECT->parent We might wish to track the ownership of text prim_objs as well as complex, so calling this field complex_parent is confusing. commit a13db9af93154fe25d39abe52a82fa369bdfc62b Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Jun 18 18:23:51 2009 +0100 Don't delete project-specific m4 files. commit 9f6ddf9126a312fb0fdd25ba8da3c4f9944b78a8 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Jun 18 09:38:51 2009 +0100 gschem: Don't use intltool. commit d0fdb127e16c46f85ceddca00bff1103ac075b68 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Wed Jun 17 15:24:26 2009 +0100 Pass correct search path flags to aclocal. The autotools install several m4 files into the top-level m4 directories in each project. aclocal (and automake) need to be taught to look there before searching the system directories. commit 33715a1a58c7c13f45772eba02ef463c3a422c7e Author: Dan McMahill <dan@mcmahill.net> Date: Mon Jun 15 07:27:37 2009 -0400 Add missing src/gschem_accel_label.c Added a missing file that contains translations to POTFILE.in. Helps 'make check' be happy again. commit 67aeb9b999d29080118a7af899ad1de362ccd2b8 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Jun 8 23:31:22 2009 +0100 Fix autogen.sh scripts to look for AC_CONFIG_HEADER to run autoheader Since commit #9a7c363c572d32a30fa1522cd7d14b21c2958ca8, the configure scripts in gEDA use AC_CONFIG_HEADER, not AM_CONFIG_HEADER Fixes build problems noted by various users. Identified by Dan McMahill. commit 65ab1fad22f6879f1a296ee5382f633870613c78 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Mon Jun 8 11:09:56 2009 +0100 Remove support for GLib < 2.12.0. Requiring GLib 2.12.0 means that we no longer require *any* of the existing GLIB_CHECK_VERSION ifdef blocks. commit 61f488315da15d0be48acbe65ee9c1bf69c60e03 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Mon Jun 8 10:57:32 2009 +0100 Require GLib 2.12.0 or newer. We now require GTK+ 2.10.0, and since that requires GLib 2.12.0, we can bump the GLib version we require up to match. Thanks to Peter Clifton for spotting this. commit 9a7c363c572d32a30fa1522cd7d14b21c2958ca8 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Mon Jun 8 10:48:25 2009 +0100 Use AC_CONFIG_HEADER instead of AM_CONFIG_HEADER. This fixes an issue with config.h.in not being correctly regenerated with autoheader on changes to configure.ac. Thanks to Maciej Pijanka for working out the solution to this problem! commit 209e55a6a0ab33478cea41c154be64d7ec0620ea Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sun Jun 7 19:34:30 2009 +0100 Require GTK+ 2.10 or newer. commit d5e06e6ee657f80d1cb8d82884122ac958e9d3a4 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sun Jun 7 19:34:30 2009 +0100 Remove Guile 1.6 support. commit b4862c3c120c8144f47393333e2e6bec2f302bc7 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sun Jun 7 19:34:29 2009 +0100 Require Guile 1.8.0 or newer. Guile 1.8 became the stable branch of Guile on 2006-02-12, over three *years* ago. All major distributions ship it, including Debian stable. Expecting its availability makes testing of new Scheme-based features much easier, as most gEDA developers normally write and test code against 1.8. Furthermore, it allows better advantage to be taken of 1.8-only features (such as improvements in debugging support), without requiring vast swathes of hard-to-maintain preprocessor trickery. commit 2e559b0607c5d007dbaa5ef8bc1858a18dec7b39 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jun 7 16:41:25 2009 +0100 gschem: Fixup menu names in i_basic.c to match those in system-gschemrc Since the sensitivity updates are keyed off the menu text, we need to update the strings after changing the text in commit #501f6d99dc6cb7ba207138b52d1e86371b924bfe commit 501f6d99dc6cb7ba207138b52d1e86371b924bfe Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jun 7 15:44:44 2009 +0100 gschem: Add "_" style accelerators within menus Copying accelerators for other common applications, such as "_Open", "_New" etc. This aids keyboard navigation once we are in the menus (which have a key-grab, so gschem's multi-key accelerators don't work.) To set the accelerator on "Open Recen_t", we also have to edit x_menu.c, since the recent files magic is hooked on the menu text (including the accelerator). We also remove the explicit override of the label text in x_menus.c, since we want to show the accelerator. commit 34eed8e6b473e15590116d12c76db580fa41b789 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jun 7 15:44:39 2009 +0100 gschem: Assign shortcuts "vd" and "vl" for changing between color schemes NB: "vl" was previously an alias for zoom extents. commit fb7ad07015ae8c55d3885c32afb0a1744f8d83c2 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jun 7 15:42:51 2009 +0100 gschem: Reorder / rename some menu items to better match other programs commit c7ed765efa438a9028799cf16cd1b6318c5fc4ec Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jun 7 15:30:10 2009 +0100 gschem: Add stock icons to menus as appropriate Using stock GTK icons as appropriate to help increase the usability of gschem's menus. commit 8adc9d6195c13f6e898d8f9cef6341681a119f46 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jun 7 15:30:01 2009 +0100 gschem: Specify menus have no bound actions with #f, rather than no-action commit 8ca990145aee1532c0cde02d329ceba13a1b9b86 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jun 7 15:29:57 2009 +0100 Add GschemAction and GschemAccelLabel subclasses of their Gtk equivalents These subclass are intended to encapsulate information relating to gschem's multi-key shortcuts. Their code is based on GTK 2.14.5 (LGPL). For GschemAccelLabel, we have to subclass GtkAccelLabel rather than just GtkLabel, otherwise the menu doesn't correctly pad the accelerators into their own column. To set the accel_width, we have to go poking in a private part of the GtkAccelLabel widget. The relevant field has been protected with GSEAL, so this will not work in GTK3.0, or when compiled with GSEAL active. commit 4aa6cd61c253046806a5818bd6fd8be87296d634 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jun 7 01:41:46 2009 +0100 Pass the OBJECT having its attribs removed to o_attrib_detach_all() This function only worked correctly when passed an OBJECT.attribs GList, so it makes more sense to just pass the OBJECT whos attributes should be detached. The function can then set the OBEJCT.attribs to NULL, ensuring the OBJECT stays in a consistent state. commit a9d64bf7db382ed3c6ac2b89e0434af80bc1e19c Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jun 7 01:40:11 2009 +0100 Add TOPLEVEL parameter to some libgeda APIs For consistency with other libgeda functions, and in order to allow these functions to call others which require the toplevel parameter. commit 047a3ecad3fe1bcd98c6eb209134772cd894fe6c Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jun 7 01:40:10 2009 +0100 Remove o_attrib_search_numslots(), instead call the attribute API directly commit d3bd67e8ccb5ed47f17603392f480f220380daa5 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jun 6 12:15:12 2009 +0100 gschem: Deselect invisible attribs with their parent object (Bug #2430369) Previously, when a component was selected and you deselected it with a ctrl-click or ctrl-drag, the invisible attributes attached to the component remained selected. This has caused problems for users in the past, when trying to delete everything in a given area - except for a few components in the middle. Drag selecting the area, deselecting the desired components, then deleting would also delete the (still selected) invisible attributes belonging to the deselected components. To fix this, make sure that when we remove an object from the selection list, we also remove any invisible attributes. When invisible text is being shown, there is no need to do this, since the user can manually de-select these attributes. (And they may want the finer grained control afforded by the ability to do so). commit c006ec0603fd570ec6c10386f3a3d19f9cbd525d Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jun 6 11:19:56 2009 +0100 gschem: Focus the "save" button in the close confirmation dialog For safety, "Close without saving" should not be the default action. Looking at other GTK (and GNOME) applications, the default action used seems to be "Save" (this is what the user will probably want to choose). commit 9686b31bc86c7e57a26bad0c65e21b97ed713e5b Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jun 6 10:38:58 2009 +0100 Make o_attrib_get_name_value() take an attrib OBJECT, not char * Rename the old function as exported API o_attrib_string_get_name_value(), so existing code (such as validating potential attribute strings) can still work unaltered. The new o_attrib_get_name_value() wraps o_attrib_string_get_name_value(). commit 7e0e339dc47211254ff5e968fa402f4735ef41fa Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jun 6 01:47:57 2009 +0100 gschem,libgeda: Tidy up invocation of the slot dialog Avoid presenting the whole "slot=..." attribute text in the slot dialog, since the user only needs to see the value portion. We now use o_attrib_search_object_attribs_by_name() to retrieve the current slot for a component when bringing up the dialog. This means that if there is no slot= attribute attached, the default slot= value (if any) from the symbol will be returned automatically, and we don't need an explicit call to o_attrib_search_default_slot(). Remove the now unused function o_attrib_search_default_slot(). commit aa7b65e3a1cc59eadf247ed0fe74afeaeb7c5fe3 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jun 6 01:47:43 2009 +0100 Make use of the new API o_attrib_search_attached_attribs_by_name() commit 04a22009e68284327bdb57bf7c31e5788b0bfc67 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jun 6 01:44:19 2009 +0100 Make use of new API o_attrib_search_inherited_attribs_by_name() Replaces the less specific API, o_attrib_search_name() previously used to search for floating attributes inside complex objects. commit 33b113b078e9647d7304b4c2caa04da1dd367e4f Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jun 6 01:34:53 2009 +0100 Use o_attrib_search_object_attribs_by_name() where appropriate commit f505ad65da209bd8d7e766d495466b904643e9b7 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jun 6 01:29:14 2009 +0100 Remove o_complex_get_toplevel_attribs() in favour of newer attrib API o_attrib_find_floating_attribs() is functionally identical. commit 02fde480e0d58300d9e7ee1cf0357fb96d14adbb Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jun 6 01:09:16 2009 +0100 Add inherited attributes to the list returned by o_attrib_return_attribs() This starts to allow a common place where attributes from the symbol will be combined with attached attributes to form an aggregate attribute list. Currently, various pieces of code which deal with reading attributes will check the attached attributes of a symbol, then the inherited attributes explicitly. For cases where a simple combining rule exists, we can reduce such checks to a single lookup of the aggregate list. Atttributes such as "net=" and "source=" which often exist multiple times, possibly both as inherited and attahched attributes, present difficulties though. For now, just pile all inherited attributes at the end of the returned list. This means any code which wants to check for the first attribtue with a given name should do the "right thing", with attached attributes taking presidence over inherited ones. commit 3d8c6f9e7e5be0728d43b6fba0d366a92a0cdf40 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun May 31 14:30:15 2009 +0100 gschem: Add support for viewing inherited attributes in x_multiattrib.c Inherited attributes (those from inside the symbol itself) are not editable, and are shown greyed out. The context popup menu for an inherited attribute shows a single option, "promote", which will make an attached (and editable) copy of that attribute in the schematic. commit ff9e5a377265e1960359bb290a159e1db5b6f59a Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun May 31 14:30:10 2009 +0100 Make g_make_attrib_smob_list() use o_attrib_return_attribs() Get the list of attributes from a common place, so if we want to make that list based on aggregation of attached and inherited attributes in the future, we won't have so many places to change. commit 57362274fcbe133d9fa545b761fc104310325d0f Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun May 31 14:30:08 2009 +0100 Make o_attrib_return_attribs() return a GList, not an array This fits better with our GList centric view of list data. Also validate the attributes in o_attrib_return_attribs(), so we aren't passing potentially malformed attributes to our callers. commit 1cd106ae2c1cb9162d88ab0af69a48e2fe62d8eb Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat May 30 22:31:46 2009 +0100 gschem: Add "fixme" warning about the text search hierarchy traversal The search only descends into the first source schematic, so will not work correctly for hierarchy blocks with multiple source schematics. commit 7a7b553b395a78a9d53b64cc50d1077342999a75 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat May 30 18:45:38 2009 +0100 Remove unused "return_found" argument to o_attrib_search_numslots() commit 963ac330d97e843f6ec4580b64d9b36c51807783 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat May 30 18:34:17 2009 +0100 Rename o_attrib_free_all() to o_attrib_detach_all() This name better reflects the function's action. Add some notes to the doxygen comments about this function. Specifically, it must be called with some (OBJECT *)->attribs pointer, since the attributes which are detached would otherwise not be removed from the (OBJECT *)->attribs GList. commit 39ef03ab5490e7187d251109137ed0c9a1263ecc Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat May 30 18:33:50 2009 +0100 gschem: Tidy up function o_attrib_add_selected commit 1937476f6a6d68d41ab8e59940c843be7746a207 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat May 30 18:33:36 2009 +0100 gschem: Remove obsolete comment from o_attrib.c commit 124db2417dbfc6a44c8d1d01213c4c3e7609d93e Author: Dan McMahill <dan@mcmahill.net> Date: Fri May 29 21:58:01 2009 -0400 Use $(includedir) instead of $(prefix)/include and $(libdir) instead of $(prefix)/lib. This makes sure things still work when some of the less mainstream configure arguments are used. commit ab590ab70cddfe6a0954d56a31c0ebd1f0bc7691 Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Mar 28 15:55:19 2009 -0400 Updated ChangeLogs one more time for 1.5.2 commit 7ac576ba0560998415b32151389d0ab3334de652 Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Mar 28 15:48:02 2009 -0400 Added missing \ so that all example schematics are incluced in release tarballs commit 546d4dbe0124d3f9421116b9e5a8889cccf97b84 Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Mar 28 15:22:19 2009 -0400 Updated all ChangeLogs Updated the ChangeLogs by running: ./update-changelogs.sh 1.0-20070526..master in the toplevel directory commit 21e8c0b232e08927fd091a1d46413990b4c61358 Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Mar 28 15:18:34 2009 -0400 Updated all dates in the relavent man pages (for 1.5.2.20090328) commit 859abe69912ba99ca27bb58c378284e9eec56259 Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Mar 28 15:13:59 2009 -0400 Updated all versions to 1.5.2 20090328 36:0:0 Updated by running: ./update-versions.sh 1.5.2 20090328 36:0:0 commit b297d32b70c02bfe800b7bf4c434d1fd4447e2f5 Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Mar 28 14:55:22 2009 -0400 Updated all po files by running make update-po commit 03fa830460f97518b3fdba0dd96f5932c9885281 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Mar 19 10:15:19 2009 +0000 gschem: Fix documentation creation from tarballs. gschem's doxygen configuration file was not marked for inclusion in release tarballs. commit 77a59c3af731937f5952bbb61a6faccd97a07f38 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Feb 20 23:32:41 2009 +0000 gschem: Update the clipboard menu item sensitivities asynchronously Spawning a sub-main loop to do this can cause reentrancy problems due to processing of other X events from within the sub-main loop. This could end up with states changing whilst updating menus, and this has been noted to cause crashes whilst moving objects. commit c3081930ed224394f645de4bfb51e86fa3e15e65 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Feb 20 23:26:12 2009 +0000 Remove obsolete references to libgd and libgdgeda commit 357db04ba91ad4047abf12f5fd7bf61db849a718 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Feb 5 03:54:18 2009 +0000 gschem: Avoid the use of gtk_selection_data_get_data on old GTK versions This API was added in GTK 2.14 commit 43af79264390283ac861cb4a9bab3d27c0436eda Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Jan 30 16:52:05 2009 +0000 gschem: Fix cues on vertical pins to be drawn inwards, not extend the pin Bug was probably introduced when switching the drawing functions to use world coordinates. commit 20be2df71df169f041cafeb7ad0c26e96901fefe Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Jan 28 21:20:48 2009 +0000 gschem: Draw paths being moved in the their non-selected colours commit 904ce8cf81d555debc439ed122322663e74988bf Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Jan 27 15:34:58 2009 +0000 gschem: Rework how clipboards are cleaned up. Detach selection monitoring callback when deletting a window. The callback userdata passes the GSCHEM_TOPLEVEL we're busy freeing, causing a crash. We also need to ensure the clipboard manager (if any) takes our data before we free things, so explicitly call gtk_clipboard_store() during cleanup if we still own the selection. Add some code to track when we own the selection, including explicitly clearing the clipboard before setting new contents - to avoid a race between a clip_clear callback for our old selection, and the new data. commit a6522190a5102d3b7c7a10726e667ac9d6ea6c3f Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Jan 27 15:34:58 2009 +0000 gschem: Don't add objects read from the cliboard to the tile system Prevents corruption / crashes when pasting connectable objects, such as nets / pins. The objects are added to the tile system when they are placed. (Avoid adding them when reading into the temporary buffer). commit 6fcb0765a9bf487003d21214454d474606d807f8 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sun Jan 25 15:25:19 2009 +0000 Update menu item sensitivity setting again. One was left out in b1f93c9c02c3adf719b8b63e1d09669cfd0a201f. commit b1f93c9c02c3adf719b8b63e1d09669cfd0a201f Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Jan 24 17:30:58 2009 +0000 gschem: Update menus for clipboard support. Make 'Edit' menu items' enabled status reflect the state of the clipboard & selection. commit 6a07d737a32a816f43e1f061409a10e616d7aa2a Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Jan 24 16:11:39 2009 +0000 Enable basic clipboard support. Enable clipboard support using the GTK Clipboard API. gschem advertises 'application/x-geda-schematic' data, and transfers it in the gEDA on-disc file format. This works between gschem instances, but data does not remain in the clipboard after the advertising instance of gschem exits. commit 246acd46e591e542ac3f00f9064905ae0311b0ec Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Jan 24 16:08:43 2009 +0000 Make o_save(), o_read() and friends take an object list argument. Sometimes we may want to save or read in a list of objects which isn't the current page. This adds a new function o_save_curr_page() which behaves the same as o_save() previously did. commit 17077786f635102715f3d6c225d6f16396e531f6 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Jan 24 16:07:48 2009 +0000 git ignore gschem/m4 differently. This reverts commit 89b918657378a457197630602d7bb016caf36a3e, and ignores the gschem/m4 directory from gschem's toplevel .gitignore file. commit 89b918657378a457197630602d7bb016caf36a3e Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Jan 24 16:00:23 2009 +0000 Add a .gitignore for gschem/m4. commit 81b2df2f166fde454c2f93d193e11cd69453d308 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Jan 24 00:12:52 2009 +0000 gschem: Remove redundant buffer cut code. Part of the buffer cut/copy code can be factored out into a separate function to reduce code duplication. Also use g_warning for warnings. commit 0ff9e9ac91823074f6240e1e762a1cca84b49d05 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Jan 22 08:09:29 2009 +0000 gschem: Always register load_newer_backup_func. Cases were missed out in 4d83eae30b789deb8ab9235a89c191630ebf18be. commit 4d83eae30b789deb8ab9235a89c191630ebf18be Author: Peter TB Brett <peter@peter-b.co.uk> Date: Wed Jan 21 21:17:01 2009 +0000 libgeda: Refactor load backup query callback. Passing user data allows the gschem callback to be called with a GSCHEM_TOPLEVEL instead of a TOPLEVEL. commit 253caac857e22ba28ba7ce05b36f95a5f78bd683 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Wed Jan 21 21:16:43 2009 +0000 gschem: Better checks that GEDADATA has been found. If libgeda fails to locate the gEDA data directory, show a dialog before quitting. This is important for users running gschem from e.g. a .desktop file in their system menu, when the stderr/stdout may not be easy to get at. commit 3c0d85eae92d5764aa7dee2899c6a066c3470ee3 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Wed Jan 21 14:11:39 2009 +0000 Write logs to $HOME/.gEDA/logs/. Rewrite s_log_init() to put log files in a centralised location. A user application (e.g. gnetlist) provides a prefix, and log file is opened at: $HOME/.gEDA/logs/<prefix>-<YYYYmmdd>-<serial>.log [1] The serial is found by the following procedure: 1. Read through the directory to find the highest existing <serial>. 2. Starting with that number, repeatedly attempt to open() incrementing files with O_CREAT|O_EXCL flags to guarantee that a new file is created. 3. If after LOG_OPEN_ATTEMPTS = 5 attempts a unique filename hasn't been found, fail. The logic *intentionally* does not fill in gaps in the sequence -- if I delete logs, I still want a new log to appear at the end of the list. [1] The actual location is a subdirectory "logs" of the user config directory, which may not be ~/.gEDA on all platforms. commit 7cc4a67795c9ee8dcb28edc6d71b895c5b4f1dc9 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Wed Jan 21 14:10:41 2009 +0000 Refactor finding paths for config etc. This is intended to provide a centralised place for determining the paths more "smartly" in the future (e.g. for platforms with different conventions on where config should go). Only user-visible change should be that log messages when loading config files no longer hardcode "~/.gEDA". commit 48103eca0ded6fd42a2e3abe48c0cdcdc381f902 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Wed Jan 21 13:45:56 2009 +0000 gschem: Open recent files in the same window. All of the other methods of opening files open them in the current window. The recent files mechanism should match. commit f4af51afc5af2059cfb9389cea25589d6a1ba8eb Author: Peter TB Brett <peter@peter-b.co.uk> Date: Wed Jan 21 09:39:22 2009 +0000 gschem: Recent files list fixes. 1. List a maximum of 10 recent files. 2. Normalize pathnames before storing. commit 5a31a49d4d1635a1f3a8f82dc68fa8e78ebc0f44 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Tue Jan 20 15:32:06 2009 +0000 gschem: Change load path for gschem-gtkrc. Expect the GTK rc file for gschem to be read from $HOME/.gEDA/gschem-gtkrc instead of $HOME/.gschem-gtkrc. commit fda82eb96e2c785efe91fd59d01f6e7e26b897ed Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sun Jan 18 01:48:58 2009 +0000 Protect some strings passed to pkgconfig. Ensure that pkgconfig version requirement strings are protected from M4 expansion. commit ee250c9bd2e88bf352a03d1719603b7d54fe430c Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Jan 13 23:58:30 2009 +0000 Avoid underlinking of apps due to missing explicit depends These went unnoticed because the apps were resolving the necessary symbols when pulling in libgeda and its dependencies. Fix applications using GLib and guile within the suite to explicitly pull in the appropriate CFLAGS and LIBS. This commit removes some LDFLAGS and LIBS from grenum, since they weren't being used. commit c05d63f61ffc08bb130bca8f14e4c429240938d1 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jan 11 00:36:24 2009 +0000 gschem: Make requirement for cairo non-conditional. We can't build without it. commit e452c5097edd72942ef02a82996dfab5651ceab3 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jan 10 23:50:57 2009 +0000 gschem: Fix rubberbanding box when resizing pictures Its position was broken when changing the drawing routines to take world coordinates directly. commit 02fa8f658d315796df7c6ab8790e5310e8548d37 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jan 10 22:29:21 2009 +0000 Remove explicit checks for X11 - we're not using X11 APIs directly commit ef5ab409dc62994ce6aea57586c0698c11291bac Author: Ales Hvezda <ahvezda@seul.org> Date: Tue Jan 6 18:16:31 2009 -0500 Darkened the outline colors of objects that are being dragged/modified The outline colors should be different than the default colors. Previously the XOR rendering made the outlines look differently, but with cairo rendering the dragged objects look exactly the same as non-dragged objects. This patch darkens the outline colors in the dark colormap only. commit e84330457016f1bfb3db1cd6c8a6980a72a6e90c Author: Werner Hoch <werner.ho@gmx.de> Date: Mon Jan 5 20:52:47 2009 +0100 gschem: final fix for the dropdown menus of filltype and linetype Set the current active check marks of the filltype and linetype dropdown menu items. I guesss this was the true meaning of the bug reports [2344956] and [2344964]. commit 2a73a64f42e7e3613d5265e5ec38593ea232d418 Author: Werner Hoch <werner.ho@gmx.de> Date: Mon Jan 5 19:44:47 2009 +0100 gschem: show correct properties in linetype dialog The linetype dialog uses the selection list now. With the new functions selection_get_line_type() and line_type_dialog_set_values() it will be possible to convert the dialog into a non_modal dialog. This fixes bug [#2344956]. commit 807f3d81883ce8075d41588f41e67ea19fd6bef3 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Jan 5 16:57:38 2009 +0000 gschem: Calculate radius of centered arcs and boxes with 2x precision Since we may have to hint the radius by 0.5px to bring it onto the pixel grid, we will get better results if we compute the radius to half-pixel precision. Re-enable radius hinting for centered arcs back on, but only for arcs which have radius > 1px to start with. If we don't, there is an abrupt transition between when the arc lights a single pixel, and when it is the next largest size. A little anti-aliasing in that case helps. commit 8ca598852f51c04183ab872f35bcc156628bdf79 Author: Werner Hoch <werner.ho@gmx.de> Date: Mon Jan 5 17:20:47 2009 +0100 gschem: fill type dialog: improved default values If the user changes the fill type from HOLLOW to HATCHED and does not define the angle and pitch, then the gschem could either reject the change of the type, or guess the pitch values. I've decided that it is better to set the missing values. In the opposite case, when the user switches the type from HATCHED to HOLLOW, the pitch is still set. Reset the not required parameters to -1. Maybe the functionality should be moved to o_set_fill_type() in libgeda. commit 31e883e9666c7721c9a73995ff071cb628c241e6 Author: Werner Hoch <werner.ho@gmx.de> Date: Mon Jan 5 16:08:38 2009 +0100 gschem: show correct properties in filltype dialog The filltype dialog uses the selection list now. With the new functions selection_get_fill_type() and fill_type_dialog_set_values() it will be possible to convert the dialog into a non_modal dialog. In the dialog only those values are marked as *unchanged* that differ from each other. This also fixes the bug [#2344964]. commit d48b0b36c5348abd52413de14afb6ab0958b260d Author: Werner Hoch <werner.ho@gmx.de> Date: Mon Jan 5 11:31:56 2009 +0100 gschem: fixed the math for warp-cursor "disabled" This fixes the bug [2212748] and the feature request [2001299]. The fix calculates a new center out of the mouse cursor,the current visible area and the zoom factor. # Please enter the commit message for your changes. Lines starting commit d615982103652c0143eca430570bbfcfa0d206fe Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Jan 5 05:01:13 2009 +0000 gschem: Clamp minimum size to draw stoke dots using cairo, apply hinting (Rest!) Activate the code partially committed in the last commit, and add the remaining code to hint the position of dots in a stroke. Since cairo uses antialiased drawings, a dot of diameter 1px will actually render ligher than it would have with GDK. Once the line width reaches 1px switch back to drawing dots as squares. Also add hinting to the position of the drawn dots drawn along the stroke to ensure they land centered on pixels. commit 1626b1a02a6e55327ac7f2d00dd976aba57855d7 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Jan 5 04:44:24 2009 +0000 gschem: Clamp minimum size to draw stoke dots using cairo, apply hinting Since cairo uses antialiased drawings, a dot of diameter 1px will actually render ligher than it would have with GDK. Once the line width reaches 1px switch back to drawing dots as squares. Also add hinting to the position of the drawn dots drawn along the stroke to ensure they land centered on pixels. commit 6079c8102f6ac41ce5bf2a61aef6d65e7bb9df4b Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Jan 5 04:23:24 2009 +0000 gschem: Make gschem_cairo_* functions take parameters in world coordinates. This changes the prototype of all gschem_cairo_* functions to take a GSCHEM_TOPLEVEL parameter rather than cairo_t as their first argument. This change cuts down a significant number of lines of code, and also paves the way to having world-coordinates passed straight into the cairo routines, should we want to use cairo for printing at some stage. A few cases of direct cairo usage in screen coordinates remain; these are in o_cue.c, and x_grid.c. The case in o_cue.c remains because it relates to a filled box. gschem_cairo_box () hints the path coordinates for a stroked box and clamps the minimum on-screen stroke width to 1px, thus rendering it unsuitable for hinting a path to be filled. commit 4a217cd1109b03f6d5f75f9fca46513d7679ddb6 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Jan 5 03:36:25 2009 +0000 gschem: Add new primitves to draw a centered arc and box These primitives take care of hinting specifically to keep the drawn object looking centered, adjusting to take into account both the radius / extents of the object being drawn, and how the object we're trying to center on would have been hinted. Use these new primitives for drawing cues and grip boxes. commit 39d552cd16af51eaae793f3837bb1f77fac0723f Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Jan 5 03:36:24 2009 +0000 gschem: Use gschem_cairo_box() to create path for box cues. commit a57db7244d9789c4b92cbec61072497c031016ad Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Jan 5 00:59:13 2009 +0000 gschem_cairo_box(): Allow passing line_width as -1 to switch off hinting This may be useful for drawing a box path which is to be filled. If at some point, gschem_cairo_* were to take 0 line-width as instruction to draw "hardware" type lines, passing 0 to avoid hinting would clash with that feature. When the line_width is passed as -1, an extra pixel is added to the larger X and Y coordinates, so the fill touches the pixel which would be lit if a line was drawn at the passed coordinates. commit 1bd789ec463564710ab71c4bd7b7d01311237919 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jan 4 22:51:04 2009 +0000 gschem: Make o_grips_draw() take world coordinates commit 21ad139e3bc59d796a2a54f1cb35b71060848687 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jan 4 21:16:08 2009 +0000 gschem: Compute the bounding box of a rubberbanded path analytically For now, actualy just take a big bounding box which includes the control points. commit d9daf573f87edf46f2b74235db1e66bf669a2986 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jan 4 20:06:36 2009 +0000 gschem: Refactor partially duplicated drawing code in various files. For each object type, there is drawing code for the normal object on the page, an object being placed, and objects being rubberbanded. In many cases (arc, circle and path being good examples), each of these functions repeat non-trivial amounts of very similar setup and drawing code. Only the line-width, stroke style need to be specific to each. Refactor the code such that the place and rubberbanding routines (which adjust the rendered geometry based on state variables) construct a temporary object with the modified geometry. Common parts of the cairo setup and path generation can be combined and shared between routines. commit 95432ccffdbb39434981f87050433c00f40125da Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jan 4 19:38:11 2009 +0000 gschem: Revert change in cue size "fixed" when introducing bus pins. The old behaviour was intentional.. smaller cues were in fact supposed to be used for buses, so that the dot was contained inside the bus graphic. Rename the variables defining the sizes to be clear about their purpose. commit 5702951f92bb0c693f030c07ef61f0c5986fb5dd Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jan 4 19:03:06 2009 +0000 gschem: Adjust position hinting when drawing round junction cues Apply hinting to the cue's position to match the position of the object it is sitting on. This is done by passing the on-screen width (pixels) of a net / bus into gschem_cairo_arc(). If the line-width is odd, that function will shift the origin of the arc by 0.5px. Refactor the places where we draw circular arcs to use a single helper function in o_cue.c commit a50629e77c16758e44d857a929abe98437ab4583 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jan 4 18:56:51 2009 +0000 gschem: Drawing circle radius line with a non translated cairo matrix. Hinting for drawing the circle may have caused us to translate a non- integer amount, which would cause the radius line to be shown blurred. commit 7a6b1a22fec9785f503c46d24406046feb04d87f Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jan 4 18:43:26 2009 +0000 gschem: Fix rubberbanding of arcs with negative end_angles Such arcs are typically generated by mirroring. If the arc being rubberbanded previously had a negative sweep, keep that the case in the rubberbanded version. Also fixes a bug where we're rubberband to give a zero degree sweep arc rather than a 360 degree one. commit d6c486a1fac1abce71b8805285fef664e252af98 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jan 4 17:48:18 2009 +0000 gschem: Alter order of grip search when rubberbanding arcs If you inadvertently land the grip which adjusts the sweep of the arc on top of the one which sets its offset angle, it is impossible to do anything but rotate the whole arc segment. commit 30b150c00aa04b05dd6e85cd5f336f379b4def1b Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jan 3 23:54:05 2009 +0000 gschem: Fix redrawing of other selected objects during rubberbanding Rather than switching off redrawing of selected objects during a grip rubberbanding operation, set the "dont_redraw" property of the object being modied. Add a cancel function o_grips_cancel() to reset that property in the case where grip modification is prematurely terminated. commit 2874ca6c016115363ab9edb7809d5ca66509ca14 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jan 3 19:54:04 2009 +0000 Move world <-> screen coordinate transformation functions into gschem Convert them and their callers to use a GSCHEM_TOPLEVEL as an arguemnt rather than TOPLEVEL. This commit moves most of libgeda/src/m_basic.c to a new file, gschem/src/m_basic.c commit 4d79aa73981d6caa2c803250d1be266d7657f0c2 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jan 3 19:54:03 2009 +0000 Move o_line_visible() from libgeda into gschem This function relates to on-screen visibility, so should be in gschem. commit e3cbd2a5505f6b284cbe12fdcf72acde6f6ef291 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jan 3 16:10:24 2009 +0000 gschem: Add undo point after converting pins to / from being bus pins Also fix the edit dialog not to show if the selection doesn't contain any pins. commit f37c893edfeb016e57aae5e92f48093608e5cdfb Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jan 3 02:38:29 2009 +0000 gschem: Add interface to toggle a pin between net pin and bus pin types. This allows schematic diagrams of hierarchical connections to include buses. Since gnetlist does not currently support buses, this feature is useful only for diagrams, or when used with a custom netlister. Since we don't want to mislead users into thinking bus pins netlist, the option to set pin type is only present on the page's popup menu, and is marked "(graphical)". commit 998e8546754fe2ab41a57ce112c3966190c501df Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Jan 2 23:14:52 2009 +0000 gschem: Add support for rendering and adding pins with type PIN_TYPE_BUS Bus pins are rendered thicker, and with a bigger cue than standard pins of PIN_TYPE_NET. This commit also fixes a bug where the wrong sized cue circle was drawn for net-net interconnections. commit 6249029131003dc6191f804ea2866e9bad28ed8c Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Jan 2 23:13:25 2009 +0000 gschem: Add strings to describe the mesh colour indices added recently. commit ac5d484934d355055328d48b2c16b8ed551ca912 Author: Werner Hoch <werner.ho@gmx.de> Date: Fri Jan 2 22:14:14 2009 +0100 gschem: deploy the new resnap mode in o_move.c If the selection contains only one element or one element with it's attributes then we can use the resnap feature. This functionality uses the new functions from the last commits to get the object position and to check the attribute/object relation. commit 5844e01ce1eff3d756d3c77c7a6981316a098cd1 Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Nov 16 13:54:28 2008 +0100 gschem: use the new snap states to toggle The previous snap grid ON/OFF now toggles through the three states SNAP_OFF, SNAP_GRID and SNAP_RESNAP. Updated all status bar messages and added an "R" to the displayed grid if the SNAP_RESNAP mode is active. commit 8a1b27af48d06ffe4fa2dc71a67810f7b4a71e32 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Jan 2 14:17:31 2009 +0000 Update en_GB translations for libgeda and gschem commit 3c456a61a4a4a551545558fd3189894bfc081e1c Author: Bert Timmerman <bert.timmerman@xs4all.nl> Date: Fri Jan 2 14:13:30 2009 +0000 Updated the Dutch translations for gschem. (Patched PO file updated on 2009-01-02 by Peter Clifton) commit fef99d7912ebc1feb4890e5babff1772f6b20703 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Jan 2 04:35:49 2009 +0000 gschem: Draw using cairo when rubberbanding objects Migrates to cairo drawing in *_draw_rubber() and *_draw_stretch(). commit 9784a9117e42632527601faef9a3ed937b718208 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Jan 2 03:51:22 2009 +0000 gschem: Ensure circles are well hinted to the grid gschem's canvas can have a fractionally different X and Y scale factor in some cases, which can cause misalignment of circles with other objects. Since logic bubbles are often placed to touch the boxes of components, ensuring they align well is important. The code used here is similar to that added for arcs in commit 508ab0fd9a1e4317ee660bc9eba79fcb49329841 commit 88c2a580ef65de000a3e797301fd8b4f302fc2ff Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Jan 2 03:29:28 2009 +0000 gschem: Remove a redundant comment about gdk used for filling in o_circle.c commit 7e3eacb3fb9f96b1adf707b459f0d62dd2d5d276 Author: Ales Hvezda <ahvezda@seul.org> Date: Thu Jan 1 21:45:39 2009 -0500 Fixed pin place code to draw pins (thick pins were not being drawn at all) Trying to draw a pin (white line) with zero width doesn't draw anything. This commit makes sure that we are always drawing pins with a min width of 1 if the pin style is set to THICK. commit 6737adc47d1a2083ac432582b6b64d6aaf1b9632 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Jan 2 00:30:06 2009 +0000 gschem: Only add extra pixel when drawing for non-capped lines. Adding it for square capped lines resulted in visible overshoot of one pixel when drawing nets with square caps, so was perhaps a mistake. commit 212b0cf870e05a105fc5a6c134b7803cf6c63c28 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Jan 1 16:38:09 2009 +0000 gschem: Use cairo for drawing when in "place" mode. Converts all *_draw_place() functions to using cairo. commit 8ad9acc2c5ceda2b1e5f4e52461dd0f078f8122c Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Jan 1 16:36:31 2009 +0000 gschem: Remove old comment from o_box.c refering to gdk drawing commit 4c67ed93d72228e475513caaa1c5d7d593469316 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Jan 1 16:27:40 2009 +0000 gschem: Remove old code for erasing a picture by drawing with override We don't erase objects by painting to the background colour any more, so this old code can be scrapped. Whilst we're here (and have re-intented a large portion of this function), tidy up the rest of it, removing old debugging code and fixing whitespace. commit 8eaa961a02b01133f6e96defcb9e13af60209ae9 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Jan 1 15:12:24 2009 +0000 gschem: Add missing invalidate when changing to outline mode commit 0af3c1c6285de7431075131015234e6bda42f02d Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Jan 1 14:51:40 2009 +0000 gschem: Group fill hatching into a single cairo path before stroking This ought to improve performance. Since the hatch lines are drawn in parallel, the path doesn't self-intersect, and we can gain a speed increase by sending the whole operation in one go. (Self-intersection, e.g. in the case of a grid would slow cairo down computing the mask to render with). commit dba5ef64f4425d61bf43eef5ae69d863b740edbf Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Jan 1 14:07:22 2009 +0000 gschem: Adjust hinting of lines to include an extra overlapping pixel When drawing using GDK, a span of pixels being rendered in a line would light all pixels touched by the span. Since moving to cairo, our hinting code has rounded the line's end-points to land between pixels. (So cairo paints the whole pixel), however it means that there is one pixel less being painted (as both ends are adjusted in the same direction). Fix this with a manual addition of 1px as appropriate to the coordinates such that an extra pixel is hit for horizontal and vertical lines. This now means that a line drawn between two grid positions will acually be drawn on top of both of those grid lines, rather than being drawn on top of one, and just touching the other. Apply the offset factor (0 or 0.5px) to both X and Y coordinate pairs for non horizontal / vertical lines, since that gives better alignment with the grid. Apply the same hinting to round capped lines as to square capped. commit 508ab0fd9a1e4317ee660bc9eba79fcb49329841 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Jan 1 13:56:25 2009 +0000 gschem: Attempt better hinted alignment when drawing arcs. gschem's canvas can have a fractionally different X and Y scale factor in some cases, which can cause misalignment of arcs drawn assuming the scale factors are uniform. This manifests because at high zoom levels, the center of an arc can be a large distance from the drawn stroke, over which distance the scaling errors magnify to give a visible offset. The other adjustment made here is rather than hinting the center of the arc to the pixel grid, we take the case where the arc forms a full circle, then find the center (in floating point screen coordinates) which would align the tangent of the arc at 0, 90, 180 and 270 degree positions, to lines hinted to the pixel grid at those positions. A 0.5px offset correction made in gschem_cairo_arc() to the arc center, for odd stroke width accounts for lining up the those tangents with the hinting which is applied to odd width lines in gschem_cairo_line(). commit ec83993b811eefd66d873f4c0f861f9cc6d9aebb Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Jan 1 13:51:03 2009 +0000 gschem: Remove retrival of unused bounds during drawing commit ac4c8346638aa2e789d93ca4d621a8522681b57e Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Jan 1 12:23:55 2009 +0000 gschem: Add example schematic with diagram of how gschem buffers work Since I already drew this and it was helpful when reworking the object place code, it seemed sensible to check it in somewhere. commit e375e0c2c655d2320962febfdfcbb29b9867f2d2 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Dec 31 19:53:38 2008 +0000 gschem: Add cairo helper function for drawing arcs with geda semantics The angle parameters to gschem_cairo_arc() match those of start_angle and end_angle in libgeda's internal data-structures. commit 217d45c0cfb9e8a5a7ea074ae70369ea42932453 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Dec 31 19:52:11 2008 +0000 gschem: Remove unused function o_path_draw_solid() commit d7b7b23721b4054172587c9961d4b87f47bee198 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Dec 31 17:26:03 2008 +0000 libgeda: Remove non-private access of PAGE->object_list This allows us to keep better track of where the PAGE must be updated should we have any spatially keyed data-structures in the future. Rename PAGE->object_list PAGE->_object_list to try and discorage any use of it outside libgeda (ideally, outside s_page.c) in the future. commit ca6556ace0a06ec1dd697852f7a1f0ffb86bfb97 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Dec 31 17:25:57 2008 +0000 Add "const" to some places where we deal with GLists of OBJECTs. These GLists themselves are not (and shouldn't be) modified, although the OBJECTs they point at may well be. commit 15ed098497ddac2bc671657c4d4347eb509f7449 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Dec 31 17:25:50 2008 +0000 Refactor o_complex_promote_attribs() not to link the promoted objects. By returning the GList of promoted attributes, we allow the caller to use whatever specialised linking procedures are appropriate for the list they are linking to. For example, linking objects into the PAGE's object_list might in future require calling notification functions. commit 44fba5a262c283f927f08f51966c74d62dca7988 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Dec 31 17:24:30 2008 +0000 gschem: Mark "Preview buffer" string passed to o_read_buffer as translatable. commit b6377b27c45305b641eac03e697353e9ecfdcd23 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Dec 31 17:16:29 2008 +0000 gschem: Emit notify signal when adjusting a property in the preview widget. For correctness, kill the latent bug where we fail to emit a "notify" signal on the other preview widget properties modified whilst setting the source to preview from. commit de01318825c08f8d62c2266b16f7e826c7d3a196 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Dec 31 17:16:25 2008 +0000 gschem: Ensure we don't allow the preview to load from file _and_ a buffer When setting either the "filename", or "buffer" property on the preview window, we g_free() the old values for filename and buffer. We missed the required assignment of the old value back to NULL. The code isn't strictly correct though, as when changing a property internally like this, we should really emit a "notify" signal on the property we've changed using g_object_notify(). commit 2324874f08009f431d174865d305f04736adc4eb Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Dec 29 00:09:37 2008 +0000 gschem: Change _rubber, _place and _stretch drawing routines to not XOR Since we're using the invalidate/expose model now, there is no need that these functions must use XOR drawing to the screen. Just painting the desired image should be faster than XOR (which may require a read-back of video ram contents). Also remove the XOR against the background colour when processing "outline" colours in x_colour_allocate(). (Since we're no longer using those colours with XOR operations). commit a29573b885273459bbf24ff68ae508d345f1037f Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 27 15:32:16 2008 +0000 gschem: Change direct redraws to invalidates in the move action. These were missed when changing to the invalidate / expose model. commit d89549022d3ff8fc3e3605fb20186cc4600eef87 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 27 15:44:18 2008 +0000 gschem: Remove unused device context "bus_gc" commit 935ca0a8a6329c018d85c8b91f6a0d8deadeafba Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 27 15:43:38 2008 +0000 gschem: Move code in o_move_stretch_rubberband() into o_move_draw_rubber() o_move_draw_rubber() was the only caller, and was deferring almost all of its work to o_move_stretch_rubberband(). commit 957c90a8ff286e6eba4f960cbbcf8ac05d24faf3 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 27 14:52:49 2008 +0000 gschem: Rename o_path_xor_control_lines() to draw_control_lines() Since we're using the invalidate/expose model now, there is no need that these functions must use XOR drawing to the screen. The function is static, so doesn't need the o_path_ prefix, so rename it to something simpler. commit e167a181f295b33ffd4771f93b779023eeae948b Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 27 14:26:14 2008 +0000 gschem: Rename o_*_draw_xor_single() o_*_draw_stretch() Since we're using the invalidate/expose model now, there is no need that these functions must use XOR drawing to the screen. These routines are used to draw lines being stretched during a rubberbanded move operation, so name them something relevant. commit d061b8dd35db031e43f179e700d991f63c6d2eac Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 27 14:26:14 2008 +0000 gschem: Rename o_*_draw_xor() functions to o_*_draw_place() Since we're using the invalidate/expose model now, there is no need that these functions must use XOR drawing to the screen. These routines are just used to draw objects being moved or placed, so lets call them something relevant to that. commit 0840e3d74e6289083516190e973a1c05228c6145 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 27 14:26:13 2008 +0000 gschem: Rename *_rubber*_xor() functions to *_draw_rubber() Since we're using the invalidate/expose model now, there is no need that these functions must use XOR drawing to the screen. commit 21cc888f59fb005d7c6b7f88fde7dec187fd5db8 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 27 11:46:53 2008 +0000 gschem: Ok, make the mesh grid darker again Apparently on some monitors, there wasn't enough contrast between the grid lines and the background. commit 8c07fecee9fb59fc65f24b75f03b3765f032fec6 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 27 11:40:13 2008 +0000 gschem: Improve clarity of text rendering by turning its origin mark off The origin mark is now only drawn when text is selected, and the mark its self is greater than a certain size on screen. This allows us to retain the mark's utility in checking text is correctly aligned. commit 6b4ffb9c7c7b635c52e018347866287a85a6ace0 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 27 11:40:13 2008 +0000 gschem: Use a lighter colour for major grid lines in the mesh grid. This makes the major squares less obtrusive on the page, whilst still retaining a visible distinction to the minor lines. commit a887176190cf5a0bea019b5cdc150611edb7a603 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Dec 26 21:54:08 2008 +0000 gschem: Add actions to view menu to switch to light or dark colour scheme For now, these menu entries are hard-coded to the colour scheme files which we ship. It would be nice in the future (when menus are reworked), to add these options from a registered list of colour schemes. commit 5031f6846f2ae9ec703bcdcd689ab4e0d87373c8 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Dec 26 21:53:45 2008 +0000 gschem: Fix x_color_free() and make it free the whole colour map The previous code would have caused breakage if it were executed, since gdk_colormap_free_colors expects to take a pointer to an array of GdkColor elements. commit 94f3f4f753e255538d1376ab9a9b334d53f0be60 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Dec 26 21:53:45 2008 +0000 gschem: Move handling of the gdk colour map into x_color.c commit 714580df3fee12732d5e1180722f008a47aaf973 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Dec 26 21:53:42 2008 +0000 gschem: Don't define key-bindings for keys which have no-action If we do this, then when we set "no-action" to a menu item's key binding, the code will try to display one of the keys associated with "no-action" as a binding for that menu item. commit 826676196547f44c7923e4103a0789c1e1be63ca Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Dec 26 21:42:55 2008 +0000 gschem: Remove a few unused variables from x_menus.c Removed some an debugging printf as well, which printed them. commit c43c40260ec072e2ad31a3b42b9d5437bea2a529 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Dec 26 19:24:01 2008 +0000 gschem: Use cairo rendering for the mesh grid Since we're grouping the stroking of all horizonal lines into a single command, and all vertical lines into another, this has the potential to be drawn quicker by the X11 server. NB: If the horizontal and vertical lines were to be grouped together into a single path, a large slowdown in incurred as cairo computes their intersections. commit d7b18c4466a1183842d8dfeae47119cb71caa8d7 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Dec 26 18:19:29 2008 +0000 gschem: Remove stupid debugging message accidentally added in last commit commit 331e1125d0847a3b9ff8bff6042fccce6befddd0 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Dec 26 18:17:24 2008 +0000 gschem: Fix gschem_cairo_set_source_color to divide by 255, not 256. This not only gives a more correct colour, but fixes a large performance bottle-neck where an alpha value of 0xFF would lead to a cairo alpha != 1.0, triggering far slower translucent rendering code-paths. commit b6e8608d5642912ce10bf29119e5c86eb91634f7 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Dec 26 00:36:49 2008 +0000 gschem: Add status bar info updates when altering grid / snap settings Changes mistakenly missed from index at last commit: commit 52df0d861e880e019c7aeea71f1ed448bbed47db Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Dec 26 00:18:13 2008 +0000 gschem: Move update of status bar information out of the grid drawing code. For now, and in the absence of any better place to hook, just trigger this update explicitly when we pan or alter the grid settings. The code removing the status bar update from the grid redraw functions was staged and committed, but not that which re-added the updates elsewhere. This commit adds those updates. commit 52df0d861e880e019c7aeea71f1ed448bbed47db Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Dec 26 00:18:13 2008 +0000 gschem: Move update of status bar information out of the grid drawing code. For now, and in the absence of any better place to hook, just trigger this update explicitly when we pan or alter the grid settings. commit 756dd7ecceed8dc23430a5c36462c36c4244fa46 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Dec 25 23:57:57 2008 +0000 gschem: New helper function to query rendered grid spacing. The status bar contains an label which lists the current rendered grid spacing. We should not be forcing an update of this each time we repaint a portion of the grid. Introduce a helper function to ask the grid code what size it would end up drawing. This will then allow us to query the rendered grid size after zoom / grid settings changes, and update there. commit 60460d8990af99999da2a611721bdb591a4723f4 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Dec 25 23:39:35 2008 +0000 gschem: Change default grid to GRID_MESH to give it more exposure. This may be reverted later in the 1.5.x development series, depending on user preferences. For now, it is important to get this more testing. commit 2dc8887523ffe603c76849a8ca3cdee055d200ce Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Dec 25 23:39:26 2008 +0000 gschem: Change grid on/off to cycle through grid modes commit f013cb1d70d868093ad9aa3ae1e38a5c9079ecc9 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Dec 25 22:08:49 2008 +0000 gschem: Add a code to draw a mesh grid with major / minor lines. Adds new configuration option (mesh-grid-display-threshold {pixels}) which configures the minimum line pitch rendered before switching off the minor, then subsequently major grid lines. (NB: This grid mode is currently not accessible.) commit 059f1be046494e1d1171953138f259b0af90409b Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Dec 25 21:25:16 2008 +0000 gschem: Separate out dotted grid drawing and tidy up the code somewhat. Creates a separate static function for drawing the dotted style of grid, and a switch function to pick which grid drawing routine is in use, which is currently just dotted grids or nothing. Adds doxygen documentation for the grid drawing functions. Renames the "grid-color" colour map index and other dotted grid specific config parameters to prepend "dots-". commit e7d328775323dea2d82f9c22d431bf2740a90f97 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Dec 25 20:37:37 2008 +0000 Remove i_vars.h variables left over when removing colour index variables. commit 165de888d86506583241dab79573e81f2cf44dd7 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Dec 25 15:46:09 2008 +0000 Remove GSCHEM_TOPLEVEL and TOPLEVEL indirection for fixed colour indices Colour indices such as grid_colour and select_color are not changed at run-time since (by definition) those graphic elements are always drawn with the sepcified index. Remove the indirection through GSCHEM_TOPLEVEL or TOPLEVEL, and use the appropriate index constant instead. The background_color indirection remains, since swapping this is used to override the background to white when exporting black and white image. commit 1843d875be92a4935c3581a1f24e7a33f8f76042 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Dec 25 15:36:58 2008 +0000 gschem: Invalidate region to erase damage due to stroke trails We don't erase things by painting to the background colour any more, that leaves drawing artifacts. commit 88118f5d62e1655d30c4680ac0f68a89fbc1a213 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Dec 24 20:21:03 2008 +0000 gschem: Use new COLOR system commit c122c32cdd82419159786720b9c2cdd82b382a68 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Dec 24 13:21:07 2008 +0000 Replace portions of the GDK drawing code with cairo routines. commit 95abdb28b1ededc4a57f13627bea544c8a7fe41b Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Dec 24 13:21:00 2008 +0000 Add a cairo context member, cairo_t *cr to GSCHEM_TOPLEVEL commit 95a097e95de6291ccf901f6849c7246e8e04090a Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Dec 24 00:42:40 2008 +0000 gschem: Fix the colour editing dialog to work with paths (Added missing case OBJ_PATH:) commit 0029ee5696a4f8c0fd2a0edb64c0096792e24912 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Dec 23 03:46:50 2008 +0000 Fix attribute colours for embedded objects [#2157598] Add an argument, "set_color" to o_attrib_attach[_list]() to specify whether the colour of the attribute should be reset to the default attribute colour when performing the attachment. We set this to true when promoting toplevel unattached attributes inside a symbol onto the schematic page, when the user explicitly attaches an attribute inside gschem. It is FALSE in other cases. In cases where we're creating new attributes, such as o_slot_end(), we specify the attribute colour we want to o_text_new(). Remove colour setting from o_attrib_add(), since there is no point having this code in two places. o_attrib_add() just deals with the datastructures now. commit 51a19f38bdff7c3fa3f5656a0e9347b303a2c215 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Mon Dec 22 21:57:39 2008 +0000 gschem: Add undo point when editing fill and line styles commit f583363e84d42001b0abb65bf828d013f120df63 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Mon Dec 22 21:16:35 2008 +0000 gschem: Fix light background net color. Net color was incorrectly converted to #rrggbb. commit 9d2dea918ee72b474e11962adbd9ca6167162c14 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Dec 22 21:02:48 2008 +0000 gschem: Fix PNG export broken by invalidate/expose drawing model changes We need to explicitly redraw the objects to form the image, we can't use o_invalidate_all() as that only works for drawing to the screen. commit c08a776a0a68a9bc89ca17089120db305fda6167 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Dec 22 19:34:29 2008 +0000 gschem: Expose accessors to get the COLOUR for a given colour index. commit 56985b0d059fc0487f7b8245cad7b468e737f2fe Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Dec 22 19:33:18 2008 +0000 Change s_page_get_objects_in_region[s]() to take a TOPLEVEL parameter This is needed in case we have to re-calculate the bounds of any object. commit 1cb0094c404926fa28cdc1968041f14b4c1e4779 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Mon Dec 22 17:59:03 2008 +0000 gschem: Extra sanity checking for color indices. commit 2e4ec93e8689501983a891280d8b1869901113c9 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Mon Dec 22 16:38:38 2008 +0000 Revert "Use light background color maps as the default." This reverts commit 01bd6420ecad411d804f4a1a3d41af67d901ce6a, and corrects the comments to refer to the dark background as the default. commit 01bd6420ecad411d804f4a1a3d41af67d901ce6a Author: Peter TB Brett <peter@peter-b.co.uk> Date: Mon Dec 22 15:43:17 2008 +0000 Use light background color maps as the default. The comments in the rc files have stated for a while that a light background is the default. Furthermore, all the cool CAD software uses light backgrounds these days. commit 619aea627a81a5621036b0a2949e774bb5cb2e6e Author: Peter TB Brett <peter@peter-b.co.uk> Date: Mon Dec 22 15:42:46 2008 +0000 Separate display and print color map config files. We should be able to print in color using libgeda without needing gschem. commit 12d9e2127329a880ed8532808635d3ffdbf46caa Author: Peter TB Brett <peter@peter-b.co.uk> Date: Mon Dec 22 15:29:51 2008 +0000 Remove display colormaps from libgeda. Libgeda doesn't need to know about the color maps used by gschem at all. Add a generic function for initialising a color map to a built-in default, and get gschem to use it for its main and outline maps. commit 9f5e54f022b73adb429633461ca88c81c394fd16 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Mon Dec 22 15:29:51 2008 +0000 Remove (ab)use of "customary" colors. colors.h defines a number of color index index constants with color names (white, black, cyan, etc.) This is evil and bad, because the color map might actually be loaded with entirely different colors. This also adds a DEFAULT_COLOR macro, usable in most places the "evil" existing contacts are used. commit a8b55895fd6833fa36ef92c6bc7c82490ea3a294 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Mon Dec 22 15:29:50 2008 +0000 Remove legacy color Guile functions and variables. Remove the color-mapping functions and variables obsoleted by the new system. commit 06449db86b91db91bf5d4551acc2794cf34c97f1 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Mon Dec 22 15:29:47 2008 +0000 New Scheme colormap syntax. Add new color map functions for setting multiple colors at a time with a simple list-based structure. Use one per color map rather than one per color. Use a wrapper macro in Scheme to make it easier to construct Scheme color map structures by using symbols instead of indexes to specify map entries. commit af4756b843d6da32b8355a50bf3bb1f2bee0a539 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Mon Dec 22 15:20:17 2008 +0000 Store colors as components rather than as strings. Rather than storing colors in libgeda as strings or GdkColor structures, store them as a set of four 8-bit unsigned integers. Since the GdkColor structure is renderer-specific, remove all trace of it from libgeda -- only gschem needs to know about it. commit 05c77c57cc78b0963e52a91e6f56e8005089690a Author: Peter TB Brett <peter@peter-b.co.uk> Date: Mon Dec 22 15:20:14 2008 +0000 Specify colors with RGB/RGBA hexadecimal notation only. Transparency (alpha channel) is used as follows for PostScript: if alpha is non-zero, objects are drawn fully opaque. If alpha is zero, objects are not drawn. The alpha channel is ignored for GDK drawing. commit e2d6f2bfb1c24d5dfaf193dfae4aaa7cf4d0f236 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Mon Dec 22 00:36:27 2008 +0000 Add explicit 'enabled' field to COLOR structure. Colors are implicitly 'enabled' by having values specified in the configuration file. Up until now, whether a given color is enabled has been checked by checking if the color name strings are NULL. This patch adds an explicit 'enabled' field to the COLOR structure. It is set TRUE when s_color_request() is called for that color index. commit 3c49636e1a9e9e703fab4c6aafc69affb4fd2bab Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Dec 21 16:23:26 2008 -0500 Updated ChangeLogs one more time. commit e97e63ac7955c34f6fbd820cbdea9ea9b90e9ec9 Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Sun Dec 21 22:16:33 2008 +0100 Updated spanish translation for libgeda and gschem. commit 2f3e07a1fa7fd92ab163d2cd966efd98ab306512 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Dec 21 14:40:21 2008 -0500 Updated ChangeLogs again in prep for the 1.5.1 release commit 413d46d3cbe4c21d3ec3f3e2b99d7f250f0d5ef4 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Dec 21 14:34:25 2008 -0500 Removed m4 from being distributed when building tarballs (using make distcheck) This makes gschem and libgeda's distribution of m4 the same (not distributed) commit 76d02f7f935d930d8093bd49b7eb0836d3b1aa6e Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Dec 21 14:06:17 2008 -0500 Updated all ChangeLogs in prep for the 1.5.1 release. The update was done by running: ./update-changelogs.sh 1.0-20070526..master commit 84d3b0199bec40652b1381474f7f76d7b24a6ff7 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Dec 21 13:48:42 2008 -0500 Manually ran make update-po in all the po directories This is in prep for the upcomging 1.5.1 release. commit 680e08085d44c9876bdadef0ca7ef25b474c2006 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Dec 21 13:39:29 2008 -0500 Updated all versions to 1.5.1 20081221 35:0:0 Updated by running: ./update-versions.sh 1.5.1 20081221 35:0:0 commit 4f9f4336a123f91318ec2d1ffd8e9739eb756348 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Dec 21 13:10:23 2008 -0500 Updated dates and versions in all man pages commit 2c1c7ff82e5ba02c432eb9e1e9fe44ac97e5ecc7 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Dec 21 11:24:43 2008 -0500 Added libintl.rc to .gitignore to make git status less cluttered commit 7289597377b3a0efd00c29b5da08956b25dffafc Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Dec 21 12:32:57 2008 +0100 gschem/libgeda: updated german translation commit 9e9b1ab60ff8740f4039471efaa5435193d83c14 Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Dec 20 18:12:46 2008 -0500 Manually ran make update-po in all the po directories make update-po was run in prep for an upcoming release. It will probably have to be run one more time before the final release is done. commit ba3af993a28bf244f9fae7a216827c94cacf2c3c Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 22:07:44 2008 +0000 gschem: Refactor duplicated code in o_find_object() Also add documentation for this and our new helper function. commit d0df24b4e4346327275c4e17cbeff63afeb0df4f Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 22:07:44 2008 +0000 gschem: Fix breakage in multiple-object hit select-cycling This was broken when switching to OBJECT GLists. We need to start our first search for objects _after_ the one we selected last time, otherwise we just find the same object again and again. commit e51ce946141363fa796a8744d5600bbe3436b925 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 19:10:18 2008 +0000 gschem: Remove visible() checks from drawing functions The expose handler, via o_redraw_rects() only calls drawing functions for objects which need repainting. No need for them to re-check visibility. commit 6329c5a7bdae9573f01f92403e4645e79e66aab5 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Dec 20 14:41:05 2008 +0000 Update copyright header dates to 2008. (And I'll have to do this all again in a few days time). commit 0fe820aa442bba02d164832ce771932f2189d231 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 08:25:12 2008 +0000 gschem: Make rubberbanding operations use the invalidate / expose model Introduce a new function for each rubberbanding operation, o_*_invaldate_rubber() which invalidates an on-screen area matching the area where the rubberbanding operation would paint. The actual drawing happens from the expose handler, which already had appropriate code to ensure any damaged rubberband objects were re-painted during an expose event. commit 883bb3377a83623fe47792aabe8023c556de25f3 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 08:25:10 2008 +0000 gschem: Remove the dummy o_cue_invalidate*() functions Actually invalidate the objects which would have had their cues redrawn using o_invalidate() and o_invalidate_glist() instead. We're probably invalidating more than we need to in some cases, since just invalidating a single object will be enough to update any cues it is touching. We don't really need to invalidate its connected objects as well. commit b64b7ce3970d819173e20578e9adf91b19179068 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 08:25:09 2008 +0000 gschem: Replace o_cue_erase_single() by o_cue_invalidate() We don't want to be drawing anything onto the screen outside of the expose handler. o_cue_invalidate() is actually a NOP, since we actually invalidate enough around a given object to encompass redrawing of its cues. commit 0a9650f1c5877d68c792f4c37bc0d47132425c49 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 08:25:07 2008 +0000 gschem: Move invalidate call from o_move_check_endpoint to o_move_start This invalidate ensure rubberbanded objects are removed from their old position on screen. It is more suited to living in o_move_start() than a function supposed to find objects to rubberband. commit 978a127bf1f7174fd5146371d0cbbfc6a8f2baf8 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 08:25:06 2008 +0000 Avoid and remove OBJECT variable draw_grips We can infer the required logic from OBJECT->selected, and the resulting code is cleaner. commit c9b89c259334c0f310afcc1dc3fb2b752078caad Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 08:25:04 2008 +0000 Don't ever erase grips, we invalidate things to get rid of them. Delete now unused function o_erase_grips(), along with the object specific routines o_*_erase_grips() commit 111e9e78fded24189f58e420b291ba444323ac25 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 08:25:03 2008 +0000 Remove now unused functions o_{draw,erase}_list() and o_erase_single() commit 20b87f17855b3a0cd09b1865d661de8e039ae903 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 08:25:01 2008 +0000 Changed caller of o_{erase,draw}_selected() to use o_invalidate_glist() Remove the now unused functions o_{erase,draw}_selected(). commit 4287b770933148477d613c97f7b0d60bd9236603 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 08:11:03 2008 +0000 gschem: Change redraw and erase calls to invalidate calls In the new drawing model, "invalidate" calls actually specify which primitives or areas of the screen need redrawing. The redraw code called from the expose event handler then draws objects directly onto the screen. Remove the now unused function o_redraw_all() commit 1deba1aba224cd2e87a34148949edaaeec630ed0 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 08:10:47 2008 +0000 gschem: Change object specific redraw calls to o_redraw_single() Makes switching redraw calls to invalidate calls more formulic. commit c7c5a24102474d6d9c607c4592736c8f93fe090b Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 08:10:43 2008 +0000 gschem: Add size of grip (or cue) to invalidate and redraw regions. Adding to the invalidated region cures screen artifacts left due to the bounds of an object not including the area occupied by its rubberbanding grips. Adding to the coordinates used with s_page_objects_in_region() ensures that grips / cues from adjacent objects are drawn correctly when repainting a damaged region from the expose handler. This is a bit of a hack and could be better catered for by invalidating the grip regions separately from an object specific invalidate function. s_page_objects_in_region() would also have to return objects with grips or cues touching the passed region. commit 68f782583cc41b542dc237cb9173f64ffc01ce76 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 08:09:57 2008 +0000 gschem: Just redraw everything when we get an expose event Disable generation of our backing pixmap and remove o_invalidate_rect() calls from various drawing functions. The backingstore is straight to the screen, so there is no need to make that call (it causes a redraw loop). commit c914c30f8bbb72e5d0df635947055e642b972f0b Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 08:00:36 2008 +0000 gschem: Move o_drawbounding into its only caller, o_place_rubberplace_xor commit 87682d35b4238c7db9bbc3583a7db8313bb8577f Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 07:33:15 2008 +0000 gschem: Fix crash closing window from window-manager during move action Since the move action uses the place list for drawing, and the objects are still on the page, we must be careful to cancel the move action, otherwise when the window is closed, we try to double-free the objects which are both on the page, and in the place list. commit 4afbecd9128f87980e47221b439d7292395c20bd Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 07:31:19 2008 +0000 gschem: Avoid critical assersion being triggered when cancelling move We need to set inside_action to 0 before calling o_undo_callback(), since that then calls o_redraw_all(). We don't want that redraw to think we're still inside an action and attept to draw the (now empty) place list. For good measure, place that call after we've cleared out the stretch list as well. commit 43644681ba1486a5dec10fcfcdad36432ecc071c Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 06:36:58 2008 +0000 gschem: Add function o_grips_rubbergrip_xor() to repaint XOR objects This function will be useful to recreate the on-screen state during an expose event when using an invalidate / expose drawing model. commit 94602fdc724dd31527c3ceed2092ddeee1d954e0 Author: Edward Hennessy <ehennes@sbcglobal.net> Date: Sat Dec 20 04:42:25 2008 +0000 Symbols now selectable by clicking inside their shapes. This patch changes the selection behavior by allowing symbols to be selected by clicking inside any contained shape. This behavior works for symbols with boxes, circles, and paths. Patch modified by Peter Clifton: Added m_line_shortest_distance(), (m_line.c) and make use of that in m_polygon_shortest_distance() rather than faking a line OBJECT. Change all o_*_shortest_distance() functions to take a parameter "force_solid" so we avoid having to use a specialised dispatch function to treat constituent primitive objects inside a COMPLEX as solid. commit 3d8b3efb5a4ce8672133658ccdbe5c57d341f0fc Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 03:17:31 2008 +0000 gschem: Check for self-connecting COMPLEX before deleting. Fix #1912859 Remove any references to objects inside the COMPLEX being deleted when we build the list of objects to redraw on screen following the COMPLEX's deletion. This fixes a crash observed when deleting symbols with co-incident pins. commit c69785fe267e2cdc70e2748dfab7268fbdcc3e7e Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 01:08:08 2008 +0000 o_move_end_rubberband(): Rework creating connectivity lists. Fix #2017356 We were previously making a lists of pre- and post-move connected objects incrementally as we moved each individual object being stretched. In some cases this meant that as we moved one object, we artifically changed the connectivity of future ones to be moved, making the resulting connectivity lists inaccurate. In some examples, the objects being stretched themselves appeared in the lists. We want to avoid this, since if we delete a stretched object when it reaches zero length, we don't want that object to be referenced in the list of connected objects. Since we don't want to do more work than necessary re-drawing affected objects on screen, it is generally desirable to keep the lists as accurate as possible. To avoid the problem with incremental updates, build the connectivity lists before and after the entire move operation for stretched objects. This alone doesn't fix the case where a stretched object being deleted happens to touch another to start with. We have to check when deleting an object for its presence in the prev_conn_objects list. We check and remove _all_ references to the deleted object from that list. Thanks go to Patrick Bernaud for the test-case for this very tricky to reproduce bug, and an initial patch. commit fe8640898cb843b72e1c3cc01ee52c33db736ccf Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 01:07:17 2008 +0000 gschem: Remove stretched object from stretch list if we delete it When a stretched object becomes zero length when rubberbanding, we delete it. We must also remember to delete it from the stretch list, otherwise it will be referenced later, and could cause a crash. NB: This isn't the whole story.. the before / after connectivity lists can still reference the deleted object and cause a crash. commit ba14128c0710a12665b07c29e74c00c55993b3d1 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 20 01:05:11 2008 +0000 gschem: Further tidying in o_move_end_rubberband() Changes a switch statement with only one active code-path into an if (...) { ... } clause. Should be no functional changes. commit 20e4ffcd895f344b8124ca16990f04e9570140c0 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Dec 19 23:49:36 2008 +0000 gschem: Tidy function o_move_end_rubberband() This function is still buggy when objects are deleted as part of the rubberbanding operation, but for now, tidy up the existing code. No functional changes. commit 4abd473222827786c2480fa128464c7ff45448ea Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Dec 19 23:25:48 2008 +0000 gschem: Rename "other_objects" to "prev_conn_objects" for clarity commit 6e8f757d3aa23219bb0259064dbed5ffa64fb341 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Dec 19 00:59:52 2008 +0000 Remove next/prev linking from the STRETCH structure. Use GLists instead. The PAGE now maintains a GList of STRETCH objects instead. This keeps the code a lot simpler and allows us to use more standard GList functions. commit da649f4066f8ce35a1717a1d0a298fe82817a8b5 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Dec 18 18:17:48 2008 +0000 gschem: Make key press / release events update modifier states If a sensitive action is taking place when a modifier key changes state, fetch the current mouse pointer and call the action's motion handler. This allows us to see instant on-screen changes when (say) pressing the modifier key to switch magnetic net mode off, or between orthogonal / non-orthogonal constraints mode when copying or moving objects. Preivously motion was needed after pressing the modifier key to get an on-screen update. commit 1d16923d30f2348184675df66e5b67e893d3c519 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Dec 17 14:43:20 2008 +0000 gschem: Use o_{erase,redraw}_single() not o_{erase,draw}_selected() x_dialog.c: arc_angle_dialog_response() used the selection specific routines where it could have just used the pointer to the OBJECT. commit 1d7d0b9f7f0cc38a79b7e392756dcb359b61bdbb Author: Ales Hvezda <ahvezda@seul.org> Date: Tue Dec 16 21:37:20 2008 -0500 Increased the select-slack-pixels value to be much larger This makes it a lot easier to select objects, especially now that you have to click on the object itself instead of the object's bounding box. commit 822d04bc29291979b91dd3222a27bbcb295e7b56 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Dec 15 22:50:24 2008 +0000 Delete references to the non-existent object type OBJ_HEAD. (CODE!) Ok, cleaned up some whitespace as well.. couldn't resist. commit a6df3915ee452f175650c86f0074169ad6756c02 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Dec 15 00:46:17 2008 +0000 gschem: Rename o_*_rubber*() o_*_motion() This is consistent with the naming of the equivalent function for grip manipulation. These functions are called from the motion event handler, and the new names make that clearer. commit 29ae53c1010c0afaa719fa2234ac0563368f05fe Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Dec 14 14:50:14 2008 +0000 Roll the various o_grips_motion_*() routines into o_grips_motion() commit ec14a2d9b48696417e3122793a71170b833de9c2 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Dec 14 03:50:24 2008 +0000 gschem: Remove un-needed GSCHEM_TOPLEVEL flag "inside_redraw" A check of where this was tested revealed that the code-paths where a test was present should not be hit from inside a redraw operation. commit 2a768bee990afdb7e73a7f9c01aa0be372fd59ea Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 13 22:06:25 2008 +0000 gschem: Don't re-invent the drawing routines in o_net_end() Use o_redraw_single() in o_net_ned() rather than replicating parts of the net drawing code. commit 1a8e62cded4076f9711f86e50b1749972bc01b87 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 13 21:27:01 2008 +0000 gschem: Empty "misc" callbacks Remove apparently left over debugging code commit a8ae46996fe78d138e83a99744e7ade0036399bc Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Dec 12 21:01:45 2008 +0000 Rename GSCHEM_TOPLEVEL member "backingstore" to "drawable" commit 7b663063f659aac854f844bda40160f697f7c3ef Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Dec 12 19:03:52 2008 +0000 Use (rubber_visible == 0) to avoid "undrawing" invisible objects. For some operations, such as text and component placement, there is a gap between inserting components into the place buffer (at 0,0) and knowing where to draw them. This is presently handled with separate one-shot states used to special case the first mouse event recieved. These states are transitioned from as soon as the first drawing operation has been made. If we track the fact that no "undrawing" should take place, it's otherwise OK to use the same motion event handler for the first and subsequent motions. commit 3d5fce8f9e6a1172a285dd4a49943f2b05712ca4 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Dec 12 16:43:13 2008 +0000 Avoid crash observed when trying to undo whilst moving. Move uses the place list, and it leaves the objects in the place list on the page. Calling undo free's the page structure, including place list objects, AND page objects. Double-free / corruption -> crash. TODO: Fix move code NOT to use the place list, OR, use more intelligence about cancelling from move operations. commit c24af025cba433db83db48d4b614632b2d5a517c Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Dec 12 16:08:43 2008 +0000 Replace calls to s_conn_return_complex_others() with s_conn_return_others() Teach s_conn_return_others() to understand COMPLEX objects. commit 7f4ec05b6812bf412ad23da67b82c9378c57aa0c Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Dec 12 15:28:07 2008 +0000 Replace calls to s_conn_..._complex with a non-specialised version Renamed s_conn_remove() to s_conn_remove_object() s_conn_..._object() can then call s_conn_..._complex() as needed. commit eca34fca24e6d29a1b42c95daee0602c452fecd6 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Dec 11 22:26:56 2008 +0000 Revert "Remove unused "toplevel" argument to s_conn_* functions" This reverts commit b211658fcddb84828c437a65bf6bd73fcc4b1918. commit 28e12a770b23ffbe08c994cbd98d21a581b2cd2d Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Dec 11 21:44:24 2008 +0000 Add API s_page_delete_objects() to delete all OBJECTs on a page commit 921a39edd130ed3bbfe83d9c39c3a9085c405d9a Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Dec 11 21:21:03 2008 +0000 Remove function o_delete(), which just wraps o_delete_object() commit b211658fcddb84828c437a65bf6bd73fcc4b1918 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Dec 11 20:40:15 2008 +0000 Remove unused "toplevel" argument to s_conn_* functions commit ee0eaa9c885db7022b9cb5ef4ddf50b459fd92fc Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Dec 11 14:49:40 2008 +0000 gattrib: Bump GTK and GLIB version requirements to match gschem (2.8.x) Also remove a remaining 2.4 comment from the gschem configure.ac.in commit 38ce8aae73beec00d603e4cda0ca5eee738a3cb8 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Dec 9 19:23:22 2008 +0000 libgeda: Abstract removing objects from the page with s_page_remove () commit 617797b5a47d370c4fee19110c826502b7e3082b Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Dec 9 16:19:09 2008 +0000 Remove linkage between OBJECTs and use GList for OBJECTs on the page This affords quite a lot of code clean-up, since we no longer have to maintain two versions of each operation which works on lists. commit de9c919b925ff989c3f26914e666d2e38062bfe1 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Dec 9 16:02:00 2008 +0000 gschem: Fix memory undo not to update tile system commit 9dd241d9f87ad78f27772e9490d3afa2a80621bf Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Dec 9 01:38:21 2008 +0000 libgeda: Add convenience function for adding objects to the page Adds s_page_append() which links the passed object to the end of the page's object list. commit 54d2fd7dc6bf09dad1d9657c5cd3635bb31e14b7 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Dec 8 18:57:11 2008 +0000 gschem: Use libgeda's hatching routines for drawing hatched boxes. commit 3b8bbb1f0e4f549ad2e366e36365e59f7657622e Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Dec 8 18:43:56 2008 +0000 gschem: Use libgeda's hatching routines for drawing hatched circles. commit 2f5b7e9d890953680caa4fa111c31a0be4123d97 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Dec 8 17:16:20 2008 +0000 Adjust MINGW32 specific CFLAGS from the suite Console applications should not build with the -mwindows flag, otherwise output reach the console. Conversely, we should build the GUI apps, gschem and gattrib with -mwindows so they don't bring up a console window when running. commit 939998b8b4f6742814910a043778962f4654d5a9 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Dec 8 17:15:20 2008 +0000 Use solid painting, no XOR to draw path control lines when erasing. When the override_color is set, we are likely to be erasing the control lines inside o_erase_single(). To avoid leaving artifacts, don't use the XOR drawing context in this case. commit d8f1aa4780edaee8b4552a7fd942126a07464b6d Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Dec 8 16:44:53 2008 +0000 Add support for drawing curved paths with GDK commit c01757cd814e7c92cb4c64a6e134aa670b9750d1 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Dec 8 16:29:11 2008 +0000 Add rendering code to draw hatched fill in paths commit 0545db388236ea7a7aaa49d8911ad96481b4978e Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Dec 7 17:33:46 2008 +0000 Remove some old comments better explained in commit history Comments annotated with a dates and developers initials clutter the code with historical details people may be reluctant to remove. Not all of these are still relevant, and those which are should probably could be kept in such a way as not to suggest code ownership. The commit revision log is a better place for determining authorship. Fix some whitespace in surrounding areas where I couldn't resist. commit 3f607ec3eefd9477d277747be089ac94e5afbd57 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Nov 24 01:35:02 2008 +0000 Use g_get_home_dir() if we can't find the HOME environment variable. NB: We can't just use g_get_home_dir() on its own without changing semantics. g_get_home_dir() prefers the home directory specified in the passwd file, over $HOME, so we try looking for the HOME env. variable first. BUT: some places in gEDA do just call g_get_home_dir() directly. Ideally we should tidy these up to be consistent at some point. commit cc1d5ae1489b4534ae485cdea4df0815663dcb1d Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Nov 23 17:30:37 2008 +0000 gschem: Update EXTRA_DIST list in gschem/tests/Makefile.am Remove reference to deleted schematic ext_chars.sch, and added new schematics net_selection.sch and geda_fonts.sch Reformatted list to one element per line, so future diffs will be easier to view. commit d2ab7cfcc4dd21e06a3d2e9ac6d756b7968c0b7a Author: Dan McMahill <dan@mcmahill.net> Date: Tue Nov 18 22:33:45 2008 -0500 Use the SHELL variable to locate a shell for icon-theme-installer /bin/sh on some systems like SunOS (solaris) is too broken but in those cases SHELL is typically set to a functioning shell like /bin/ksh. This repairs the install on "shell challenged" systems. commit 70bf7f8e7470d9962af920553b2e858db0d95938 Author: Werner Hoch <werner.ho@gmx.de> Date: Mon Nov 17 20:23:26 2008 +0100 gschem: fix select state when double clicking an object After the o_edit() call in x_event_button_pressed() the state is STARTSELECT. If a MODAL dialog is called (arc or change picture) the state will will still be STARTSELECT after closing the dialog. This state turns into the MOVE state right after the dialog is closed and the first motion is done in gschem (x_event_motion()). This is not correct. The state needs to be reset to SELECT right after the o_edit() call. commit 9b2b755a4cc07a5de15ea88794e78612b0d2ca00 Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Nov 16 17:35:46 2008 +0100 created a new test file for all font characters commit 8ba14774f506f7b2143f0caf74ae3eba42504930 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com> Date: Sat Nov 15 12:41:09 2008 +0100 Invert assertion added in bbe251bc64ed2db2976a26116d22a69fe678b9fd. commit 27fc407b656e2996e31922be1352eea21de85422 Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Nov 9 18:21:09 2008 +0100 updated text and alignment test schematic Added all kinds of overbar and tabulator tests. Use multiline text for all alignment tests. commit 75f53b0b7a1a2859a604b70dfecc6a439b8b57da Author: Werner Hoch <werner.ho@gmx.de> Date: Wed Oct 29 22:37:13 2008 +0100 gschem: replaced fnameext* functions with glib functions Removed the functions fnameext_get, fnameext_remove and fnameext_add. commit 8801ff019dc2ccc64a3dd7367b65e7ea6ce5229e Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Nov 5 00:37:08 2008 +0000 gschem: White-space update in x_complselect.c for consistency Mixed tabs and spaces are driving me nuts, since I don't default to having tabstop=8 in my editor. This file was pretty good before, but recent commits mixed in a load of tabs. I've also changed call instances to "func (args);" white-space, since the majority of this file already used it. commit c785af63a4d32adeaa7912a4559381d8daefde18 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Nov 5 00:37:02 2008 +0000 gschem: Allow attribute value column in component selector to shrink Symbols with long values are common, and we don't want having viewed those to force a h-scroll-bar on symbols with short valued attributes. If we don't allow them to shrink, the columns retain the width of the largest item they displayed, and we often get stuck with a scroll bar after displaying components with lengthy attribute values. When updating the model, invalidate the column width for the attribute value column so it is re-sized based on the new data being shown. We might also consider invalidating the attribute name columns, however that gives an inconsistent column division when swithing between symbols, which doesn't look nice. For now, assume that the name column can keep the max width gained whilst previewing. commit dab769968c3b65d5b28b6ae26996ddc8b4e311fe Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Nov 5 00:36:56 2008 +0000 gschem: Use an enum for column numbers in the compselect attrib preview This avoids the need to use magic constants in the code when we refer to a particular column by number. commit 8a53e426c09ee25c1ce1e1c720d408662374c04b Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Nov 5 00:36:50 2008 +0000 gschem: Adjust padding in component selector dialog box. Make the preview and attributes windows the same size as the library notebook on the left, by avoiding adding a border to the GtkVPaned control. commit c5db389c6f104e22ab486451283b2fe94faf2606 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Nov 5 00:36:45 2008 +0000 gschem: Don't override GtkDialog default positioning in compselect dialog The old code explictly overrode the window positioning hint set by the GtkDialog (GTK_WIN_POS_CENTER_ON_PARENT) to GTK_WIN_POS_NONE. For people with multi-screen setups, the GtkDialog default is probably a better choice. We might in the future consider GTK_WIN_POS_MOUSE, where the windows appears at the current mouse position. In either case, this only affects a user's inital usage of the dialog as its geometry is saved to disk for later re-use. commit 2f6e297d4ef9b5104675081a4066503779695b9d Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Nov 5 00:36:39 2008 +0000 gschem: Don't reset default properties on the component selector widgets. There is no point setting GtkWindow or GtkDialog properties when we don't actually desire to rigidly specify those parameters. The removed settings are all defaults within GTK. commit 811233695be6f5d58ba576054d9763be11c6aa4c Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Nov 2 15:25:46 2008 +0000 gschem: Take copy of "TMP" environment variable with g_strdup() It isn't gauranteed that the result of getenv can't get modified at some point after the call (e.g. by another call to getenv), and testing of the mingw32 port has revealed that the returned string was getting corrupted at some point. Take a g_strdup() of the string immediately, so we don't have to worry. Since capitalised variable names should really be reserved for #define'd constants, rename "TMP" to tmp_path. commit 8628c10167df204222d77b4f18e550f7486aa2a1 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Nov 1 20:51:36 2008 +0000 gschem: Use gdk_display_warp_pointer() rather than an X11 specific call Fixes bug #2212753 gdk_display_warp_pointer() was added in GTK/GDK 2.8, and allows greater portability to other platforms supported by GDK. Remove the unimplemented "relative" option to x_basic_warp_cursor() commit f470af7a28afe423ded6171ea3c8a2b31ff56f43 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Nov 1 20:47:41 2008 +0000 Revert applying -Werror to compiler flags when linking with GCC (CODE!!) Depending on the gcc version, the original developers might not see the warning until the software gets into the end user's hands (and tries building it with an older/newer version of gcc). Most warnings are not catastropic, but by using -Werror they are _all_ catastropic. If a developer wants to get rid of all warnings, they should either: 1) run make -s and see/fix all the warnings, and/or 2) modify the Makefile's themselves and add the -Werror flag temporarily. (Comments explaining rationale snipped out of an email from Ales). commit 09eacbfb36e2b00758bce8d8add2f8f56cdcfdbb Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Nov 1 16:09:26 2008 +0000 Use -Werror when building with gcc compilers. Hopefully this will help to ensure compiler warnings get noticed and fixed by developers. commit ab3e5337562359df11e8b679096574b2c01fdbc7 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Nov 1 16:09:26 2008 +0000 gschem: Fix more non-literal format strings which cause compiler warnings. We should be careful to avoid passing arbitrary strings into functions which take printf style arguments. In that case, always use the construct ("%s", string) rather than passing string as the format argument. commit 333c7bc53e05e1c024486b8191b8f7031f0f506e Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Nov 1 00:42:24 2008 +0000 gschem: Check for visibility / toplevel->DONT_REDRAW in o_path_draw() These test were mistakenly removed in commit 2d2d9d90d07080ed18a899dcccc34e99c83a7402 commit 1aab94354f053887db67aa5702abc595795dfe82 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Wed Oct 29 12:14:19 2008 +0000 Define select_func only in libgeda. Importing definitions from linkees breaks when linking libraries on Windows. commit 79da8125fa7ac7a005710ed2a6340004a66402a5 Author: Werner Hoch <werner.ho@gmx.de> Date: Tue Oct 28 19:40:04 2008 +0100 gschem: removed unsnapped arc modification special case When using the grips to modify an arc, then always unsnapped coords have been used. There two reasons to remove that: * it's a special case that is not neccessary as the user can easily switch off the snapping to get the unsnapped behaviour * with snapped arcs it's easier to draw 45ð and 90ð arcs commit fba1fe91258e62ad0d5ffd685adad93336542e30 Author: Werner Hoch <werner.ho@gmx.de> Date: Tue Oct 28 19:38:52 2008 +0100 gschem: use the arc dialog to modify arc objects Using edit->edit now raises the arc dialog. The properties of the arc can be modified and applied. The arc needs to be the first or only element of the selection list. commit 91cef383fbeaa0f48afe404f15ac39009f41fda7 Author: Werner Hoch <werner.ho@gmx.de> Date: Mon Oct 27 20:59:47 2008 +0100 gschem: added radius to the arc angle dialog Now you can set the radius, too, when creating an arc. commit cee5dea44626c4e442fc02841c26c8f3951817b7 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sun Oct 26 23:42:48 2008 +0000 gschem: Initialise color combobox from current selection. This (rather necessary) feature was unfortunately missed out in 219f5d708fbe5e26f77808bb08810b96dfa984eb. Ideally, of course, the combobox constructor should be passed the color index to initialise itself with rather than poking global state, but for now let's just get it working again. commit 986bb906bbac1198c5f8b3ae507aab84d49fb3c9 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sun Oct 26 20:10:02 2008 +0000 gschem: Re-arrange component selection dialog. Most people have monitors which are wider than they are tall. Therefore, it makes sense to allow them to have wide, short dialog boxes. This patch moves the component selector attribute treeview to share the right-hand side of the dialog with the preview widget. Signed-Off-By: Peter Clifton <pcjc2@cam.ac.uk> commit cd01bc7d056983beb3957618cdc7557af2d40c8e Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Oct 26 20:07:12 2008 +0000 gschem: Add missing header file gschem_defines.h to Makefile.am Missed this when splitting out gschem_defines.h commit d99fb5c1cebfed26e027b134ebf2a4c3a0d524bd Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sun Oct 26 17:51:54 2008 +0000 gschem: Put color swatches before names in combo box cells. It's easier to associate names with colours with a smaller gap between them. (Yes, this will work properly for RTL locales). commit 2d2d9d90d07080ed18a899dcccc34e99c83a7402 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Oct 26 10:42:58 2008 +0000 Add place-holders for printing paths with different line / fill styles Currently, paths are always drawn with a solid stroked outline, and only solid filling is implemented. commit bcaf9f8dafcd25335b61b2ea80d071bde720bbd1 Author: Cesar Strauss <cestrauss@gmail.com> Date: Sun Oct 26 10:41:31 2008 +0000 Use pkg-config support for Guile if present. Using pkg-config allows easier cross-compilation, since the build process can use a pkg-config binary native to the build machine with .pc files for the host machine. commit 690c85d16d63e5350ce67f4f045cfbc8bb10e8aa Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Oct 11 11:11:30 2008 +0200 gschem: save configuration of component dialog Save the position of the vpaned widget in the dialog configuration file. (added static function definition suggested by Peter) commit 90413c7fe36fe73d9ab93a7ceadc0debe2b840ee Author: Werner Hoch <werner.ho@gmx.de> Date: Fri Oct 10 10:41:26 2008 +0200 gschem: show attributes in the component select dialog [#1444029] gui code to show the attributes in the component select dialog. The attributes are taken from the TOPLEVEL structure of the preview widget. The attribute treeview is only created if the GList of the attributs is not empty and the attributes are only updated if the treeview is present. Added an option that will print all attributes in alphabetical order. To do that the first element of the option has to be and "*": (component-dialog-attributes '(*)) commit 0d1615ffc21c995ddc554a407941230eb1ea6677 Author: Werner Hoch <werner.ho@gmx.de> Date: Wed Oct 8 20:10:41 2008 +0200 gschem: configs for the attributes in the select dialog [#1444029] configuration code to get the attribute list for the component select dialog into gschem toplevel structure. commit 2e83bf2b37e093578088eef616e15ee361e85199 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Oct 25 20:01:50 2008 +0100 Remove legacy PNG color specifications. The configuration files provide a way of specifying colors for PNG output, but these are never used -- the PNG output just uses the same color map used for on-screen display. Remove the redundant specification and associated data structures completely. commit bbe251bc64ed2db2976a26116d22a69fe678b9fd Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Oct 25 18:57:16 2008 +0100 Get rid of s_color_get_index(). This function is very clearly the Wrong Thing, and could potentially result in incorrect color indices ending up in schematic files if two or more color map entries have the same value. This patch removes the function entirely, and modifies the Scheme code which uses it to simply pass color indices around instead. Note that the results of s_color_get_index() were never actually *used* in the existing code. commit f63b79f3483b54a064a2bb74f8355d28232e78fd Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Oct 25 18:17:25 2008 +0100 gschem: Add missing break statement. Break statement was missed in commit 405f5ac08806c0e7d6c91e8881182b0bdfa5838b. commit 219f5d708fbe5e26f77808bb08810b96dfa984eb Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Oct 25 17:10:53 2008 +0100 gschem: Show colour swatches in color selection combobox. Rather than color names, show the color itself. Also hides color indexes from view, as if users need to know about these during day-to-day normal usage of gschem then we're doing something very wrong. commit 405f5ac08806c0e7d6c91e8881182b0bdfa5838b Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Oct 25 17:10:50 2008 +0100 gschem: Translate color names. Make the color map names shown in the color selection dialog translated. Also add the net junction color to the lookup table. commit 2a4fdb13021d0153e788fe3b2fc005f273dcdf4b Author: Peter TB Brett <peter@peter-b.co.uk> Date: Tue Oct 21 16:52:09 2008 +0100 Validate calls to scm_c_eval_string(). [2105219] Because the reporter's version of Guile is broken, a lovely garbage collector segfault occurs if a null string is passed to scm_c_eval_string(). For now, wrap all calls to scm_c_eval_string() with mutable arguments in g_scm_c_eval_string_protected(), and since the latter function seems to behave when passed a NULL string this bug should just go away. commit 87a19a19e52a37f8ad14ae0c4c68f3292b0c3285 Author: Werner Hoch <werner.ho@gmx.de> Date: Sat Oct 11 16:21:34 2008 +0200 gschem: redraw empty preview on configure events [#2159047] If the preview widget contained an empty page, the redraw failed. In the preview_event_configure() function the function a_zoom_extents() returns without drawing if there are no objects on the page. Thus I've added a complement logic to redraw the background of the preview if required. commit f76f82985f325d436e3522359a5b3f7d0a2344ea Author: Werner Hoch <werner.ho@gmx.de> Date: Sat Oct 11 13:13:36 2008 +0200 gschem: prevent hierarchy symbol down there's file [#1861665] Only try to load real existing files. commit f0a96de8b545dbd900e87db6abf54a0b6df830ab Author: Werner Hoch <werner.ho@gmx.de> Date: Sat Oct 11 09:02:03 2008 +0200 .gitignore: log files and source tagging files added Added the files of the "global" source tagging program and the logfiles of the gEDA programs to .gitignore. commit f5205cdb145a423012f446b16d0211005b55695e Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Oct 8 19:54:55 2008 +0100 Cleanup whitespace errors introduced in last commit (Introduces toplevel convenience variable to cut down on line lengths) commit 7e6e166d3f594ee822ef615e8766a3f712b5f80c Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Oct 5 15:54:18 2008 +0200 gschem: suggest a filename in the saveas file dialog [#2001387] If a schematic is saved the first time, put a suggested name ("untitled.sch") into the file saveas dialog. commit f58328ec7a4d445b98b67a63b23647f25ae7bb4c Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Oct 5 10:01:03 2008 +0200 gschem: code and test file for the net selection patch This commit adds the main functionality to gschem. The new function o_select_connected_nets() will select nets depending on the configured net_selection_mode and the current net_selection_state. The implementation uses two stacks for traversing the connections. The netnames stack contains all connected netnames and the net stack contains a collection of all currently collected nets. Note: The search for the netnames is very expensive, because of the required search of all netnames in all objects. The default net_selection_mode in system-gschemrc is set to "enable-net", only the directly connected nets are selected. The functionality can be testet with the test schematic tests/net_selection.sch. This patches are based on the work of Franz Mottas [1895538]. commit d0c0a23543aaa266a63799d4decff58768cf961b Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Oct 5 09:58:29 2008 +0200 variables and configuration for net selection patch The net selection lets you select all connected segments of a single net segment. The behaviour can be configured with the net-selection-mode variable in system-gschemrc. This patch is based on the work of Franz Mottas [1895538]. commit 392dd3354812e812f548eadac2c83d8430acd7bf Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Sep 29 01:19:39 2008 +0100 Remove conditionally compiled code for GTK/GLIB < 2.6 commit 2b36577f5634ff99e919773c4e34aa2e39dbce51 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Sep 28 14:09:50 2008 -0400 Added code to do something more sane when trying to print tabs Previously if a tab character was encountered in a text string, the postscript output code would output a Y with a dot on top. This is clearly not a tab character. The patch adds explict handling of the tab character to output 8 spaces instead. Not perfect, but better behavior than before. commit c9f4ae9298141915f11214d6339c4d9a27bb3eee Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Sep 28 18:40:55 2008 +0100 gschem: Add ./configure support for detecting and disabling cairo Since some users might not have cairo installed, and the intention is to retain support for the old GDK drawing code (for now), --disable-cairo is added to allow conditional compilation. commit 9d9d09b0bddba85b5712cb063f3a6b806550cb3b Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Sep 28 18:40:55 2008 +0100 gschem: Bump minimum GTK / GLIB version requirement to 2.8 This is needed to enable the use of cairo rendering functions. Remove AC_DEFINE for HAS_GTK24 since it isn't used. Switch configure.ac variables such as GTK24_... to use just GTK_..., since we don't need to specify the version in those. It just makes bumping the version harder. commit 900274f0d6b08031f7cfc18a332da6b1939a44d1 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Sep 28 18:40:55 2008 +0100 Fix non-literal format strings which cause compiler warnings. We should be careful to avoid passing arbitrary strings into functions which take printf style arguments. In that case, always use the construct ("%s", string) rather than passing string as the format argument. Some cases were fixed by using g_strdup instead of g_strdup_printf(), some simply replace printf() for puts(). commit d424abcf4e93934fd6268d9cb186f7415e0e83c2 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Sep 28 13:21:42 2008 -0400 Removed unused OBJ_ROUTE and OBJ_THRU_HOLE object types commit 2550db8e1d981ccab55b7f2ae6e9932198a53b59 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Sep 28 01:03:06 2008 +0100 Make o_..._add() into o_..._new() which don't link the new OBJECT. Allows cleaner use of objects where we might want to insert the object into a GList rather than a self-linked list of OBJECTs. commit b74ce15668b87380fb348a94aab6452eba6f5551 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Sep 27 22:58:09 2008 +0100 Use g_return_if_fail to exit o_drawbounding() if called with a NULL list. Function previously returned silently, lets log this as an error condition if it should happen. commit 853f1ef289fb7ebd7406ede1e48940a07772a756 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Sep 27 22:50:20 2008 +0100 Remove some commented out code in x_window_create_main () (CODE!) Tidyup where the window used to be painted black at startup. commit 0f93a4b4d52da6c7c34c6420cdb93263d5b5bbdc Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Sep 27 02:03:13 2008 +0100 Make use of new object invalidating API to avoid duplicated code. commit 04774120c0ab1701e10fcc2709cd3a9963d0a54f Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Sep 27 02:00:47 2008 +0100 Add API for invalidating drawing of a given object or list of objects. Avoids needing to lookup and pass bounds of an object being invalidated. Adds: void o_invalidate_all (GSCHEM_TOPLEVEL *w_current); void o_invalidate (GSCHEM_TOPLEVEL *w_current, OBJECT *object); void o_invalidate_list (GSCHEM_TOPLEVEL *w_current, OBJECT *list); void o_invalidate_glist (GSCHEM_TOPLEVEL *w_current, GList *list); commit 1fffc27a3b62cc32a70edcc1ee89ff458318c6bc Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Sep 26 00:57:52 2008 +0100 Add support for arbitrary paths (filled and unfilled) The data-structures and on-disk format (which utiliseSVG style path strings) support stright line and bezier curve segments. Paths can be closed or open, and store line style and fill information in common with other geda objects. The path string parser is based on (slightly modified) code from librsvg version 2.22.2 (LGPL). Code from rsvg-path.c and rsvg-bpath-util.c (Copyright (C) 2000 Eazel, Inc.) was combined to form libgeda/src/s_path.c. These have been modified to use gEDA defined path data structures. The rendering implementation is based upon a small porion of the function rsvg_cairo_render_path (..) from rsvg-cairo-draw.c The parser still retains support the full richness of SVG path strings, although all instructions are subsequently normalised on to move, line, bezier and "close path" records. This support retained for convenience when entering artwork (which can be copied from an SVG editor). When saved, normalised paths are written out. The current rendering and shortest-distance computations are limited to straight line segments. Bezier segments, where encountered are treated as a straight line between their two endpoints. commit e9f4a9a4bb05bc554e165b2215f8e7358b2315de Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Sep 26 00:57:44 2008 +0100 Move some static variables inside o_grips.c to GSCHEM_TOPLEVEL This is necessary for grip manipulation of more complex OBJECT types such as the forthcoming PATHs. As the entire drawing state can't of a path can't conveniently be stashed in the GSCHEM_TOPLEVEL variables such as first_w{x,y}, second_w{x,y} etc., we need to reference the OBJECT and grip being manipulated from the drawing functions which are outside o_grips.c. commit ec2e929742bb682be52d02818916b1f57c343e48 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Sep 24 01:07:37 2008 +0100 libgeda: Set complex_parent on all prim objects, not just their HEAD node Allows a primitive object inside a COMPLEX to be linked back to the COMPLEX without traversing to the HEAD node of the prim_objs list. commit b14f3bf215963529b89f650ff3bd6f0b0c90450f Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Sep 24 00:57:57 2008 +0100 gschem: Don't add invalid attributes to the multiattrib dialog list Since we can't edit them, don't treat them as attributes. Gschem validates attributes upon creation, so an invalid attribute attached to an object must come from a hand-edited file, or a text object which has been attached to an object. (Validation that the text item is a valid attribute isn't performed in that code-path). In the future we might want to add validation of attributes at file-load and at before attaching text OBJECTs to a COMPLEX. commit acb96234eed1e51ab22b17cd718d5f627d292a96 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Sep 22 02:05:14 2008 +0100 gschem: Fix left/right scroll events to move the schematic left/right. Commit which broke this was 048bd6f8e2fc1c5f5b01ff3f1cad3a7c9bf43f3e. Looks like I broke the behaviour when I refactored the x_event_scroll() to support a more "gtk" style modifier binding as well as the classic gschem behaviour. The refactored code inadvertently lumped up/down and left/right scroll events together as if they were up/down events. Up/down scroll events retain their existing behaviour and act according to the (scroll-wheel "{gtk|classic}") configuration setting. Left/right scroll events now always scroll the schematic left and right, irrespective of modifier key. commit 45efb32383b15576cc98a95e1d93d44793e6f2e8 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Sep 22 01:54:24 2008 +0100 Move calls to attribute promotion code from inside o_complex_add() Previously o_complex_add() would perform attribute promotion or delete / hide eligible attributes depending on the "attribute_promotion" argument passed to o_complex_add(). Break these into separate operations: 1. Get / add to OBJECT list, a single complex object with o_complex_add(). This object has its prim_objs exactly as the symbol exists on disk. 2. EITHER: Promote the eligible attribtues with o_complex_promote_attribs(). (For GList based processing use o_complex_get_promotable(), attach the returned objects as attribs and place in the appropriate GList.) OR: Delete / hide eligible attributes with o_complex_remove_promotable_attribs() All behaviour relating to attribute promotion should be identical after this commit. If not, it is a bug should be reported. (This includes the insertion order of the OBJECT and it's attributes into the object list). commit 9993a0c13cc1b1aa5bb0c61a7355e89cd8f37fca Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Sep 17 19:33:03 2008 +0100 Remove un-necessary use of o_list_search() g_make_attrib_smob_list() and o_attrib_return_attribs() are passed the object they are operating on directly. There is no need to prove it can be found in the object list as well. commit 1745bca0359488bb6f8bd06d84f7ae952e48d665 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Sep 17 19:24:59 2008 +0100 Remove unused TOPLEVEL variable object_parent commit 7baf5c629eb620e7db9b3fa5837cc07bdfe29f4f Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Sep 11 21:36:35 2008 +0100 libgeda: Tidy o_attrib_attach() harder Remove searching in parent_list for the attribute we're about to attach. This check isn't needed, we were passed the attribute as an argument. Let the caller be responsible for making sure it is linked into the appropriate object list. commit 29010f3c07076c31eaaf39a0209b6b9e8cd7cadd Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Sep 11 18:34:35 2008 +0100 Use gtk_window_set_transient_for() not a GObject property. Fix #2075842 Revert part of the changes made in 1aaf6613a7c6991d858c1143ed3917675a115a5a Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 25 17:52:40 2008 +0200 Move selection monitoring out of the multi attrib widget. Reinstated the 'object' property for multi attrib widget in place of the 'selection' one: the widget does not have to mess with selections, it is only interested in objects. Moved the selection watch stuff outside. This commit changed an unrelated setting from using a widely supported API, to a GObject property only introduced in GTK+ 2.10. Changing it back now! commit b4ed5e92d203c7449b7d33e924a41b093e1de930 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Tue Aug 26 12:55:07 2008 +0100 Remove duplicate definitions of do_logging. Also sets the default in libgeda to TRUE. commit 6a7ab649d6f77ccab9be7f3562197c2d15d92ee7 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Mon Aug 25 18:39:22 2008 +0100 gschem: Tidy list of source files. Purely for readability of the Makefile.am. commit a974a4c6d2c233c9209c5b4597f7d4f86154f484 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Aug 24 22:27:28 2008 +0100 Remove default-series-name from all rc files Fixes brokenness leftover from previous removal of "series_name". commit 9a54c6de1fa6af39ec97b8bb0cd1a251094ad3f1 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Aug 17 01:34:20 2008 +0100 Only explicitly switch object types which are "special" in o_move.c For other objects, which should use the default move action, use the "default:" construct, rather than explicitly listing them in "case OBJ_...:" statements. This makes adding new objects types simpler. commit bcda75d109f12bc4d763bcaa05c08cbf3f0451c1 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Aug 17 01:33:56 2008 +0100 Remove some unused #defines from o_text.c commit a19feb2bf0e13ad3d030dfbb126a2b0558db6add Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Aug 16 22:28:52 2008 +0100 Bring back default Postscript filename. The print dialog has recently stopped providing a default filename for the Postscript output, due to a regression introduced in a3513b7e6dc7bf6c36d95d4da86082beeb79831d. commit 1a1460c65a9d4e0aee35e39fff0f083c95bd380d Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Aug 16 19:18:24 2008 +0100 Remove the ATTRIB struct as it only contained one variable. The OBJECT.attribs GList now points directly at the text objects which hold and display the attribute name and value. commit 2fe94f7887ccf4b990bb285fc9def966ce857e0b Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Aug 16 18:32:53 2008 +0100 gschem: Use accessors to get/set TEXT strings. Don't access the TEXT struct directly. commit 6718a8d2187b4a871051eee299cef8bbbef02280 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Aug 16 18:10:53 2008 +0100 gschem: Pass dialog to multiattrib treeview data funcs. The cell data funcs for the multi-attribute editor dialog's treeview need to have access to a libgeda TOPLEVEL to be able to use o_text_get_string(). The obvious thing to do is to pass in a pointer to the dialog (which contains a pointer to the GSCHEM_TOPLEVEL, etc) as the user data pointer. commit 0865651615cf79b1392c34381cbee3095faa5a01 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Aug 16 16:47:10 2008 +0100 gschem: Fixup installation of drawing callbacks. Now libgeda properly declares them, can just set the function pointers in gschem's initialisation function. commit 1bfa2bacae85a59758c6b6ddb16bc62362b9ac7e Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Aug 16 15:48:00 2008 +0100 gschem: Add #define LAST_DRAWB_MODE_NONE -1 This flag will be used to indicate that the bounding box was not drawn onto the page at all yet. commit 288d9e67af83f03534398319d0e8ad16fa631fb0 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Aug 16 15:48:00 2008 +0100 Move gschem defines from libgeda into gschem/include/gschem_defines.h Whilst we're at it, remove some unused definitions. commit 80f19b131300110c67d332193959e33f230f0b1d Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Aug 16 15:47:59 2008 +0100 gschem: Create new include file, "gschem.h" to various gschem headers commit a27996354d61af13a4f0a1eed2db4b979b7f148f Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Aug 16 15:47:59 2008 +0100 gschem: Pass GTK's CFLAGS into GSCHEM_CFLAGS. Don't rely on LIBGEDA_CFLAGS libgeda really shouldn't be pulling in GTK, so we need to do it properly ourselves. commit 2e87904a34cd5ad58bc8a9511dd5915adf9df405 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Aug 16 15:47:58 2008 +0100 libgeda: Rename gtk_[outline_]color variables gdk_... to their types Also added NULL initaliser for gdk_outline_color which was missing. commit 11a2692a1ab8bcee14178286fd719d1ec39e6b9a Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Aug 16 15:24:16 2008 +0100 Draw func cleanup. Rather than having libgeda require other applications to provide the *_draw_func symbols, libgeda should provide them itself. Other applications should then override them as required near their call to libgeda_init(). commit 62a38eefd8d3d9f84d8aeb78e2a1e365080d819c Author: Peter TB Brett <peter@peter-b.co.uk> Date: Fri Aug 15 22:48:11 2008 +0100 Make some string arguments const. In a few places, strings are being passed into functions and no changes are made to them. Mark these arguments as const. commit 11fa9b447a32bbee93734628233f6ca5b807c740 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Aug 15 12:36:53 2008 +0100 gschem: Only add nets and buses to the stretch list. (CODE THIS TIME!) Only nets and buses are rubberbanded, so there is no point adding other connected items (such as pins) into the stretch list. This fixes a bug where pins attached to nets being moved disappear if the user pans whilst moving. (The objects in the stretch list are marked "don't redraw" when starting a move operation.) To avoid nesting (yet another) huge "if" clause in the length of the loop in o_move_check_endpoint(), the loop has been re-written as a "for" loop to ensure its iterator is incremented when the loop is "continue"'d. The various nested : if (test) {...} // wrapping the loop's core are now: if (!test) continue; commit 25c4e8e0a45dbe9abe664be23240eafd903e7814 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Aug 15 11:26:26 2008 +0100 Check toplevel->DONT_REDRAW before redrawing text There is no point in trying to draw text if it is not wanted on screen. Rendering of the underlying line-segments would just be stopped anyway in o_line_draw(), where there is also such a test. commit 675738b3b7a0c37e3511297040c3abc59619dd0c Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Aug 14 23:27:12 2008 +0100 libgeda: Hide o_*_recalc() from public API. Applications which wish to force recalculation of an OBJECT's bounds should use o_recalc_single_object(). commit 8f1a084c1e26cc08cdab08a1c44e7e802cbdbec8 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Aug 14 23:27:12 2008 +0100 libgeda: Hide world_get_*_bounds() from public API. Applications which wish to retrieve an OBJECT's bounds should use world_get_single_object_bounds(). commit a504567fa312888bd3e467f01f68eadaf6c0440d Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Aug 14 18:45:47 2008 +0100 gschem: Add 1.6 compat. for scm_from_locale_symbol() [2051731] The new Scheme prompt in gschem uses scm_from_locale_symbol(), which isn't present in Guile 1.6.x. Add it to the compatibility layer. commit 57815bd72e62999193641f301af9184c0d524cf6 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Wed Aug 13 23:30:35 2008 +0100 Print command is a gschem setting. Move print command from TOPLEVEL to GSCHEM_TOPLEVEL, and move static defaults too. commit 19f5e9965dc12818b0d4f2771b020989065a83fb Author: Peter TB Brett <peter@peter-b.co.uk> Date: Wed Aug 13 23:30:35 2008 +0100 gschem: Add infrastructure for string options. There are still some gschem settings in libgeda just because they take string values. This patch makes it possible to boot them out. commit 46eda8a55b9197f7a24d5b04ff94cedc1abc74fe Author: Peter TB Brett <peter@peter-b.co.uk> Date: Wed Aug 13 23:06:03 2008 +0100 Name i_vars_... functions consistently. Apps should use i_vars_blah(), libgeda uses i_vars_libgeda_blah(). commit 0fe03039f1eda8b1c2aab1701948532513e920fe Author: Peter TB Brett <peter@peter-b.co.uk> Date: Wed Aug 13 22:38:44 2008 +0100 gschem: Don't use default_scheme_directory. gschem uses default_scheme_directory to find gschem.scm. It doesn't need to, because libgeda should have already set the Guile load path correctly by this point. commit b26a13cbf455297ab27702fb9964e947e83bd30b Author: Peter TB Brett <peter@peter-b.co.uk> Date: Wed Aug 13 15:06:43 2008 +0100 Revert "Fix for dialogs drifting downwards on Cygwin/X." This reverts commit d86ac8ce4b16d41699ec64a3d88fd8d2c760b770. The effects were so annoying on non-broken X servers that another solution needs to be found. commit 6f42af29cfe5c70203ce6b881d48d904c1bb0fc7 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com> Date: Wed Aug 13 02:18:41 2008 +0100 o_grips_start(): Propagate world coords of pointers to o_grips_start_*() The (unused) x and y parameters to o_grips_start_*() were previously passed as 0, 0. It seems obviously right to me to propagate w_x and w_y, even if the target object pulls the pointer position out of w_current again, which itself is quite evil. commit 0db6ea2341ce7cc8c631df75c4d3c30390590b29 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com> Date: Wed Aug 13 01:55:59 2008 +0100 Split OBJECT allocation from its initialization. Split memory allocation for OBJECTs out of s_basic_init_object(). Add a new helper function s_basic_new_object() which allocates memory for the OBJECT structure, then calls s_basic_init_object(). These changes make it possible to embed an OBJECT structure within another struct, or to initialise an OBJECT in static memory. (Patch modified by Peter Clifton) commit 0d28977cd5e275a799ec3773f302ddf9b9544fd3 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com> Date: Wed Aug 13 01:48:12 2008 +0100 gschem: Erase the newly placed attribute before changing its position. Changing the position first then erasing causes the wrong bounding rectangle on the screen to be invalidated. We need to invalidate the bounding rectangle of the *old* position. commit 6c9b043233a645f6293d62f5a8c598cd5f95940b Author: Bernd Jendrissek <bernd.jendrissek@gmail.com> Date: Wed Aug 13 01:33:45 2008 +0100 o_picture_rubberbox(): Update comments to reflect reality. Coordinates passed are in world units, not screen. commit 7bdd0362b87bcfc29a647f650a2d610465314526 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com> Date: Wed Aug 13 01:33:45 2008 +0100 o_arc_rubberarc(): Document the effect of moving each grip. The documentation was elsewhere far away. Moving it closer to the arc moving code mitigates the "action at a distance" antipattern. commit 17c64b764cb42afc8d5b80a66361029655dd644b Author: Bernd Jendrissek <bernd.jendrissek@gmail.com> Date: Tue Aug 12 23:36:35 2008 +0100 s_basic_init_object(): Set OBJECT type according to new parameter. commit 235d219c4c9b96409cd4b95be3960e7e9f2689eb Author: Bernd Jendrissek <bernd.jendrissek@gmail.com> Date: Tue Aug 12 23:36:35 2008 +0100 Add header guard. commit 3d09a3fffd1f97816583ca92d73d0c792646bf2e Author: Bernd Jendrissek <bernd.jendrissek@gmail.com> Date: Sun Aug 10 00:19:01 2008 +0200 Rather pass the user-supplied scripting command to a scheme dispatcher. Passing the command to a scheme dispatcher gives the configuration files an opportunity to define the language in which these scripting commands are interpreted. It doesn't really need to be scheme, but it is for now. (New patch with changes suggested by Peter TB Brett.) commit 4ef611b6e1cc6eb47538148ce1d196d495313969 Author: Edward Hennessy <ehennes@sbcglobal.net> Date: Fri Jul 18 20:24:46 2008 -0700 Altered point selection mechanism to use distance instead of just a bounding box. This patch improves the mechanism used to select objects when using a single point. In addition to using the bounding box, this patch calculates the distance between the selection point and the object itself. This calculated distance provides a more accurate means to determine the actual object the user selected. Signed-off-by: Peter TB Brett <peter@peter-b.co.uk> commit 371c37024225e506b1018445e61f4392e13d7db9 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com> Date: Thu Aug 7 01:19:04 2008 +0200 Make the current page accessible to scheme. Signed-off-by: Peter TB Brett <peter@peter-b.co.uk> commit 4f7b81ccb2246c8eae803ce13dd3927f5743b3ad Author: Bernd Jendrissek <bernd.jendrissek@gmail.com> Date: Wed Aug 6 23:40:26 2008 +0200 Don't expect a "rest" argument in the i_callback_*() functions. commit d86ac8ce4b16d41699ec64a3d88fd8d2c760b770 Author: Cesar Strauss <cestrauss@gmail.com> Date: Sun Sep 16 16:56:18 2007 -0300 Fix for dialogs drifting downwards on Cygwin/X. On Cygwin/X, reopening a gschem dialog restores its original position, but with a small vertical offset. The workaround is to show the dialog before restoring its position. The docs for gtk_window_move() offer a possible justification: "Most window managers ignore requests for initial window positions (instead using a user-defined placement algorithm) and honor requests after the window has already been shown." The downside is, if you have a slow system, you could see the dialog appear briefly at the old position, I suppose. commit 713225e719fa1bab8bc4b31dfc3cd50ea6c44f4e Author: Bernd Jendrissek <bernd.jendrissek@gmail.com> Date: Tue Jul 8 02:15:46 2008 +0200 Add the magic colon to the global keymap. commit cae8edda94f240d5bbdae08d6f8b67a037e0e6ba Author: Bernd Jendrissek <bernd.jendrissek@gmail.com> Date: Tue Jul 8 01:13:49 2008 +0200 Use g_scm_c_eval_string_protected() so we don't crash on bad forms. commit 57fc3a940f9609b45d26cb73b696ffcd1df15c58 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com> Date: Mon Jul 7 04:46:19 2008 +0200 Invoke scheme forms from a command prompt below the drawing area. commit 61255c9b68aeae2ae845eea82babf445036a72f1 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com> Date: Sat Aug 2 12:11:19 2008 +0100 Allow key bindings to accept a REST argument list. In order to support adding optional arguments to key bindings, the function signature of ALL the bindings has to change. Supply REST (if available) or SCM_EOL (no extra arguments) where the caller is a C function. Conflicts merged by Peter B: gschem/include/prototype.h gschem/src/x_event.c commit da5b6b6ae5848d988c22ed5528917bf050a54a2d Author: Bernd Jendrissek <bernd.jendrissek@gmail.com> Date: Thu Jan 17 03:12:39 2008 +0200 Desensitise function signature to function pointer parameters. func_ptr gets assigned to last_callback anyway, which itself does not specify any formal parameters. commit 1e247aeb7a4f568578bd8612f886d7f64f24c858 Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Aug 1 14:37:48 2008 +0200 Keep raising the page changed flag local to mutation for o_attrib_toggle_*(). Reverted the settings of the CHANGED flag in o_attrib_toggle_*(): they had been moved inadvertently to i_callback_*() functions (see commits 903e06d9fc9253e87e530bfaec2e8386664d464f and fd51b8163c5af2d8124dc7afb1ca1c4bfa944fe6) while they really should stay close to where the object is modified. Problem reported by Bernd Jendrissek on gEDA-dev. commit f154fcb921e75e7940e0b4dbd9ad5bab6a61e704 Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Sat Jun 28 12:14:00 2008 +0200 Enable promotion of attributes when adding a component from guile. g_add_component()/add-component-at-xy was adding component with attribute promotion turned off. This change fixes bug [#1932474]. commit 0c8b23528692e0d9406503a400c71dd458cea878 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Jul 29 03:26:07 2008 +0100 Remove the unused TEXTENTRY state commit a90588ec6566f944756800f38f74a02f867dca87 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Jul 29 03:18:39 2008 +0100 Remove the TOPLEVEL variable internal_symbol_name which is now redundant. Also removes functions which set and free'd this variable: o_complex_set_filename() o_complex_free_filename(). commit d1ff81f8d8a1d18781f8cb7c4476417947a61cec Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Jul 29 03:18:38 2008 +0100 Remove the TOPLEVEL variable current_attribute which is now redundant. Also removes functions which set and free'd this variable: o_attrib_set_string() o_attrib_free_current(). commit d3b75982a9507c05cb2699ae9d875fa344608196 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Jul 29 03:11:27 2008 +0100 Add support for rotating whilst placing Due to the consolidation of the OBJECT place code, rotation can now work across uniformly various different placemenet actions. commit 0eea7587957ef3e01c2d1942d7bc6c940c237e4a Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Jul 29 03:05:11 2008 +0100 Remove un-necessary variable w_current->rotated_inside. The rotation of placed objects is always started at zero degrees, and since the rework of the copy / place code, is done on the fly. Remove the old code to track the angle rotated during placement. need to track the rotation angle commit 1e4eb30f7cab3f3cb9e49478ed05d24cba99858b Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Jul 29 03:05:02 2008 +0100 Remove un-necessary variable w_current->complex_rotate. The rotation of placed objects is always started at zero degrees, and since the rework of the copy / place code, is done on the fly. Remove the old code to track the angle rotated during placement. need to track the rotation angle commit aa7fb5c523e57cf7e3bbb4224e0ffbbf524ab95e Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Jul 29 03:04:24 2008 +0100 Consolidate specialised o_..._rubber...() and o_..._rubber...__xor() Since these operations now use the same place list, we can share code. commit e931091e28f90e7bd0f755ee30665cc5b7461b74 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Jul 29 03:00:59 2008 +0100 gschem: Combine code for operations which handle placement of OBJECTs. Replaces duplicated code related to component / text placement, copying / multi-copying objects and pasting from buffers with a common set of routines in the new file, gschem/src/o_place.c This refactoring lays the foundation to allow rotatation / mirroring whilst performing any kind of place action, without extensive duplicate code. All of the above operations now use a new PAGE variable, "place_list", rather than previous specialised variants complex_place_list, and attrib_place_list. Paste-buffer contents are copied into the place list, rather than placing directly from the paste-buffer, ensuring that any rotation / mirroring of the place-buffer does not change the paste-buffer. Helper functions, o_text_prepare_place() and o_complex_prepare_place() are added to load the place list with appropriate text, or a symbol. These are passed as arguments to the respective functions, avoiding the use of state stored in toplevel->current_attribute and toplevel->internal_symbol_name. commit d0d18117a483029a61077a792203df5bd1a7f22a Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Jul 29 01:47:11 2008 +0100 Don't drop artifacts when redrawing in the middle of a move operation The nets being rubberbanded should not be redrawn in their original positions, so we set the "dont_redraw" flag on the rubberband objects to ensure they are not drawn (in their un-stretched position) during screen updates. We unset the flag in o_move_end() and o_move_cancel(). commit 1ecd2a345ba49d7eb428d528d056f2c9f5e9b590 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Jul 29 01:40:20 2008 +0100 gschem: Move freeing stretch list of to after move operation is ended Previously, the stretch list was left stale with pointers after a move operation, and only cleared when commencing a new move. By clearing it after each move operation (completed, or cancelled), we can ensure its contents are always valid. This is important so that at the end / cancellation of a move operation, we can operate on the stretch list without danger it was not up-to-date. If a move operation is started with rubberbanding disabled, and the user subsequently activates rubberbanding (during the move) with a key-stroke, stale pointers in the stretch list may have been dereferenced in error. commit cc5ea879b0ccfc7815b43b30ddfae13941aff4eb Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Jul 29 01:20:04 2008 +0100 Add OBJECT flag "dont_redraw", to skip drawing individual objects. This flag is to be useful when handling move operations which hide rubberbanded objects on the page whilst a temporary copy is manipulated on screen. commit 29600e269da20822ec0443024c63cb5e0ae34ea2 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Jul 28 00:44:55 2008 +0100 Add redraw for items being placed from paste-buffer in o_redraw_all() Added missing "w_current->inside_action = 1;" to o_buffer_paste_start(), noticed when the new redraw added didn't work on its own. Fixes ghosts left when zooming whilst pasting from a buffer. commit 1dc71988f58df1bbe828aebacc5d81d7bd21b954 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Jul 28 00:40:13 2008 +0100 Always "undo" when cancelling from a move action The undo state is always saved in o_move_start(), so when cancelling from a move action we should always undo. Adds helper function o_move_cancel() to avoid code duplication of the various operations when cancelling a move action. commit 03056b53bfe6865d77c585bb7d190ce4f2aa0cd6 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Jul 28 00:29:33 2008 +0100 Add o_move_rubbermove_xor() Make use of o_move_rubbermove_xor() throught the code to avoid duplication of o_drawbounding() calls. commit a3ee37bbb4a87379a129d6993e175136416721da Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Jul 28 00:27:13 2008 +0100 Adjust scroll pan increment to be finer Scrolling in a smaller steps gives a greater degree of control when navigating around the schematic, with a (subjective) improvement to usability. This commit changes the number of scroll events required to traverse the viewed area from 4 to 8. commit 78f18664289a29ca137c341fac9c7bbceb17cd06 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Jul 28 00:27:12 2008 +0100 Change default zoom-gain to from 50%, to 20% increase in size. Zooming in a smaller amount gives a greater degree of control when navigating around the schematic, with a (subjective) improvement to usability. commit 20bd89fa6fd55d757194bd7d0143f8b9fff58ee7 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Jul 28 00:27:11 2008 +0100 Make size of panning steps with the mouse scroll wheel adjustable The new gschemrc function, (scrollpan-steps integer) controls how many scroll wheel events are required to pan across the viewed area of the schematic. The default setting keeps gschem's previous hard-coded behaviour of 4 scroll events (in a particular direction) across the viewed area. commit 59cf57b8eb960b5e8041778d5377c160a4af57d3 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jul 27 23:50:55 2008 +0100 Make the "gain" of zoom in / out operations an adjustable parameter. The new gschemrc function, (zoom-gain integer) controls the percentage size increase when zooming into the page. Zooming out uses the inverse factor such that a zoom in followed by a zoom out will return the schematic to the same size. E.g: 20% increment => x 1.2 original size when zooming in => x 1 / 1.2 x original size when zooming out The default gain keeps gschem's previous hard-coded behaviour of zooming in by a factor of 1.5. This is now specified with the command (zoom-gain 50). commit 6802a78d5a19069919e4524530b91c34c1d099fe Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jul 27 02:22:22 2008 +0100 gschem: Activating component selector rows expands / contracts groups Observation of a user working with gschem showed that opening the groups of components from varous libraries was not particularly discoverable to a user not familiar with GTK. The user was noticed to be double-clicking the library sub-groups, rather than identifying the expander arrow. Fix this usibility issue by making double click, and other row-activation methods expand / contract the library groups. Keyboard navigation (where space / return activate given rows) is also easier now. commit b02d9540d1bc0cdcfd5935f84bf8ee2f52dde2bd Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 25 17:52:41 2008 +0200 Use functions from o_select.c rather than low-level geda_list functions. commit 1aaf6613a7c6991d858c1143ed3917675a115a5a Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 25 17:52:40 2008 +0200 Move selection monitoring out of the multi attrib widget. Reinstated the 'object' property for multi attrib widget in place of the 'selection' one: the widget does not have to mess with selections, it is only interested in objects. Moved the selection watch stuff outside. commit 4ad46d1b431bceb665fdd45778345118dfc1d414 Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 25 17:52:34 2008 +0200 Limit scope of gschem x_color_allocate_all(). commit 67bb084eef2f0e97bd9573fdea0faa5dfd2e53bc Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 25 17:52:33 2008 +0200 Move color-related stuff from x_window.c to x_color.c. Renamed x_window_setup_colors() and x_window_free_colors() to x_color_init() and x_color_free() respectively. And moved them to x_color.c commit d96ad3c39121d6c7e32128493d5445f0825f1751 Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 25 17:52:32 2008 +0200 Cleanup the stroke interface. Improved the API and memory allocation, added documentation. commit 19aab8901a7519879231c680060f89a69c125e85 Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 25 17:52:31 2008 +0200 Modify o_attrib_toggle_show_name_value() to work on a single object. commit 306d5722847b4d8c152bd369bc68846b9a19abb0 Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 25 17:52:30 2008 +0200 Modify o_attrib_toggle_visibility() to work on a single object. commit 658516c080eae8d78685113e48290bb291af0715 Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 25 17:52:29 2008 +0200 Add new function to delete any object. Added o_delete() as replacement for individual object deletion function. Adapted o_delete_selected() accordingly. commit 64a6741c858de019ab26058afcc417b821d37117 Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 25 17:52:28 2008 +0200 Merge cue undrawing functions for complex and objects. Merged o_cue_undraw() and o_cue_undraw_complex(). Also added documentation. commit 0cdcdf4cfe8bf3c6aa078b91e5696a26f7a60f23 Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 25 17:52:27 2008 +0200 Add new function to erase grips on any object. commit 37eaad0765b34e85275706b6cffbc73ec9b5c4cd Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 25 17:52:26 2008 +0200 Rename o_delete() to o_delete_selected(). commit 83de2270e9d0f159975e833e1fec213f952c7315 Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 25 17:52:25 2008 +0200 Remove o_complex_delete(). Removed function as s_delete() does the same thing. commit b86ffc45f699781c220153e2390a54f8b823a930 Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 11 16:03:16 2008 +0200 Refactor hierarchy function searching for parent page. Renamed s_hierarchy_up() to s_hierarchy_find_up_page() for consistency and modified it to return a pointer on the page found (as other hierarchy find functions) instead of changing the current page. Added description. And finally adapted gschem for this refactoring. commit 06dc1e65b688f88695e47dd38cd9022eb67bbb7c Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 11 16:03:15 2008 +0200 Simplify prototype of functions for searching pages in hierarchy. Removed 3rd parameter to s_hierarchy_find_[next|prev]_page(): now explicitly search for sibling page of page in 2nd parameter. Also added description for functions. commit 6b15947087caebaa4c85805799362c169e09adba Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 11 16:03:14 2008 +0200 Rename s_hierarchy_find_page() to s_page_search_by_page_id(). Moved s_hierarchy_find_page() to libgeda s_page.c and renamed to s_page_search_by_page_id(). Also added description. commit 57a4fd272e10a68e05051a9ab9309e252e2103f7 Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 11 16:03:12 2008 +0200 Purge AC_CHECK_FUNCS() in configure.ac in each package of unused functions. commit c50ba14cea1d60e21d587164612b1866d8e58bba Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 11 16:03:10 2008 +0200 Replace case conversion functions with GLib functions. Now use GLib case conversion functions, with the added benefit of UTF8 support, instead of libgeda string_tolower() and string_toupper(). Consequently these two functions have been removed. commit fa54e090d67849762c83231557bc6047bf035a03 Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 11 16:03:08 2008 +0200 Cleanup detection of attribute when editing text object in gschem. Modified the verification on the text object in gschem o_edit() to use o_attrib_get_name_value() instead of local custom testing code. commit 872287f23b4880b01babed777efe7976783feab2 Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 11 16:03:05 2008 +0200 Cleanup of libgeda o_attrib_get_name_value(). Rewrote o_attrib_get_name_value(): it now has support for UTF-8 attribute strings ; plus it can return only the name or the value or both name and value. Finally adapted code wherever it can benefits this new feature. commit 5d97c15d614030eb32ddc30e316fadd4d1416c6c Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 11 16:03:03 2008 +0200 Fix memory leak in gschem. When processing file names passed on command line, the pathname built for each one was not freed. commit a76cf5cdda91c7070f4765107d3f8be89bbd05b6 Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 11 16:03:01 2008 +0200 Remove unnecessary strippings of trailing directory separator. These strippings is no more necessary as GLib functions for building filenames (in particular g_build_filename()) takes care of any trailing directory separator for us. commit cd70e88b8c7faa4beea8b13b846e92807a252e63 Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 11 16:03:00 2008 +0200 Replace getcwd() with g_get_current_dir(). commit 90b0ece453efc80490c6c277386f4f5f7bfdc4af Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 11 16:02:59 2008 +0200 Simplify build of filenames with g_build_filename() (!). Modified code where possible to use preferably g_build_filename() instead of g_build_path(), or g_strconcat() and friends. commit a3513b7e6dc7bf6c36d95d4da86082beeb79831d Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 11 16:02:57 2008 +0200 Replace standard string manipulations with GLib string utility functions. commit da1d2e7b304f9d832bdee9c8dfb9fe4604e19cc9 Author: Patrick Bernaud <b-patrick@wanadoo.fr> Date: Fri Jul 11 16:02:56 2008 +0200 Remove tests for NULL prior to freeing with g_free(). Testing if pointer on memory to free is not NULL is unnecessary since g_free() does the test itself. commit 21bdf2fbbad2146234fd32a0fe04bddcaddb64f8 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Jul 6 22:21:00 2008 -0400 Updated versions in the important man pages commit 8479d01b6a4a819ae105659a9b9f1e6ab2d85136 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Jul 6 22:03:02 2008 -0400 Updated all ChangeLogs by running ./update-changelogs.sh 1.0-20070526..master commit 8773525a45c1e33a2f020ac511f628e04ff373b9 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Jul 6 22:01:37 2008 -0400 Ran make update-po in all po directories (in prep for a new release) commit 2740891d2b1a2e9b8ad0ef27ef1cb54ec47f9b74 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Jul 6 21:51:28 2008 -0400 Removed some m4 files which no longer exist commit 97c1b01e1c95d2f8a334d916ffc60d35797782c2 Author: Ales Hvezda <ahvezda@-e false.(none)> Date: Sun Jul 6 09:34:01 2008 -0400 Fixed up all icon-theme-installer files to work with non-bash Grabbed the latest icon-theme-installer files from the pcb repository since they have been fully patched to work with non-bash shells. On my ubuntu system, /bin/sh is linked to dash which prevented me from running the previous version of icon-theme-installer. This commit is related to a7e7a28613abe4705ec01011d0f4308ff024251b commit 7ae9572f269c8b973bb4a38014e28dbc10cdcb32 Author: Ales Hvezda <ahvezda@-e false.(none)> Date: Sun Jul 6 08:38:24 2008 -0400 Bumped versions to 1.5.0/20080706/34:0:0 for the next development release commit a7e7a28613abe4705ec01011d0f4308ff024251b Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Sun Jun 29 19:00:10 2008 +0200 Changed shell from bash to sh in icon-theme-installer Changed shell from bash to sh in icon-theme-installer. This commit is still not tested in non-bash systems. Applied partially geda patch #1978537 (only bash to sh change, not removal of $INSTALL_DATA_EXEC check) from anonymous contributor and Dan McMahill's test case change in line 103 from: http://pcb.cvs.sourceforge.net/pcb/pcb/icon-theme-installer?r1=1.1&r2=1.2 commit 55b378f5eddc78f0f3f48c83f401e454323d9bd9 Author: Werner Hoch <werner.ho@gmx.de> Date: Fri May 23 17:02:51 2008 +0200 gschem: use pointer from drawing area in preview and x_attribedit The preview widget used in the file dialog and in the component dialog is now using the pointer from the drawing area, too. The motion event function that tracked the pointer is no longer required. The attribedit dialog used the mouse_wx/y variables to set the attribute postion when activated with the hotkey. This usage has been removed. Removed all mouse_wx/y occurences in x_event and in the global.h file. This variables are completly gone now. commit 5681a43743b2ccfdf246679ad78f186b5a7f1f14 Author: Werner Hoch <werner.ho@gmx.de> Date: Fri May 23 16:54:28 2008 +0200 gschem: use pointer from drawing area for all gschem callbacks The global variable for the pointer mouse_wx/y are no longer used. The zoom and panning actions have a unsnapped position again. Note: If the pointer is outside the drawing area and a hotkey action is triggered the action will be ignored. commit 0b0100eefa31acbd56f41ca639856da904645e74 Author: Werner Hoch <werner.ho@gmx.de> Date: Fri May 23 10:22:25 2008 +0200 gschem: added function to get the pointer from the drawing area The new function x_event_get_pointer_position() get's the mouse position from a given GSCHEM_TOPLEVEL object. This function will replace the global mouse_wx, mouse_wy variables in the following commits. commit 016cd29c2d4cb540f70f01c14059b0d538b801d6 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun May 18 18:11:45 2008 +0100 Add o_copy_rubbercopy() and o_copy_rubbercopy_xor() Make use of o_copy_rubbercopy_xor() throught the code to avoid duplication of o_drawbounding() calls. commit cc5017e65222ec97e084c17a3920dc29f5e65532 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun May 18 18:11:42 2008 +0100 Rework o_buffer_place_rubberplace() to follow usual semantics. Renames o_buffer_place_rubberplace() o_buffer_place_rubberplace_xor() and re-adds o_buffer_place_rubberplace() which now follows the "undraw, move, draw" sequence like the other functions with this naming pattern. Make use of o_buffer_rubberpaste_xor() throught the code to avoid duplication of o_drawbounding() calls. commit f8bc1947ddf59f8e437702b6f83c1292cb6f50ac Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun May 18 18:10:25 2008 +0100 Rework o_text_rubberattrib() to follow usual semantics. Renames o_text_rubberattrib() o_text_rubberattrib_xor() and re-adds o_text_rubberattrib() which now follows the "undraw, move, draw" sequence like the other functions with this naming pattern. Make use of o_text_rubberattrib_xor() throught the code to avoid duplication of o_drawbounding() calls. commit deae2c854ddc1461811c176e78f69842be738321 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun May 18 18:09:49 2008 +0100 Use o_complex_rubbercomplex_xor() where possible to simplify code. Adds a parameter "int drawing" to this call, which is passed on to o_drawbounding(). This is used to determine whether the operation is to undraw an old object (in which case, the old feedback mode is used), or is drawing new objects, in which case the current action feedback mode is used. commit 6359729a98bb9f34a4b460d6b42e85cf502ae010 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun May 18 15:34:29 2008 +0100 Fix rotate whilst moving to rotate about the current mouse coordinates Bug appears to have been introduced when changing from screen to world coordiantes in 1b05cbfcbb07970159c58b2b18d583516e257a45 commit 62a3123ce33d825855735ed8727c8f617b46b61e Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun May 18 14:27:46 2008 +0100 Add o_move_rubbermove(...) function to keep move logic in o_move.c commit ec074cb3ca38db23516d89df6bf4f60f13229822 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun May 18 14:27:44 2008 +0100 Rework o_complex_rubbercomplex(...) to follow usual semantics. Renames o_complex_rubbercomplex() o_complex_rubbercomplex_xor() and re-adds o_complex_rubbercomplex() which now follows the "undraw, move, draw" sequence like the other functions with this naming pattern. commit 4768b20db9983ae7d0b3221d9340a61ca2a805c0 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Apr 26 17:58:06 2008 +0100 Various whitespace changes and tidy-up split from code-change patches No code changes. commit d76dfc090cd97a1aa582fd215468ec6b6d234f57 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun May 18 13:55:38 2008 +0100 Remove bounding box undraws in DRAWTEXT and DRAWCOMP states These two states are used when no drawing has yet hit the screen, so there should not be XOR drawing calls to "undraw" changes which haven't been made. commit de5a6de1643a041e70acf1f27b02281fe16f23b7 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun May 18 13:54:54 2008 +0100 Fixup prototype variable names to reflect their usage (screen vs. world) commit 2337e0a71a5c5f2181801441e4435d0cb44c5ba0 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Apr 26 17:57:50 2008 +0100 Tidy up some whitespace in gschem/src/x_event.c commit 38bf778654574851469b6b280cf2aef5bc2bff0e Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Apr 20 21:55:04 2008 +0200 set rubber invisible at the end of each object draw action, cleanup It's more save to reset the variable GSCHEM_TOPLEVLE->rubber_visible after any creation of an object. This variable is usually reset inside any redraw action, too. Moved some event code from o_bus to x_event. Moved setup of w_x/y variables some lines up to prevent uninitialised usage. commit 73d59cd8394c172ffdcb17e860ae0d9a01b46bc9 Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Apr 20 11:12:38 2008 +0200 balancing snapped and unsnapped x/y coordinates All object actions need snapped coords, while selecting and zooming/panning need unsnapped coords. Unsnapped actions are now select, select-box, zoom-box and grips actions. grips motion is slightly special for arcs. While the radius is snapped the manipulation of start and endangle needs to remain unsnapped. All other grid motion actions (line, box, ...) still needs snapped coords. commit eb3a7b13f85c9a84b88d9de2e3ad29f1245dd865 Author: Werner Hoch <werner.ho@gmx.de> Date: Sat Apr 19 19:38:06 2008 +0200 use world coord for to find objects, cleanup Removed all uses of the global screen variables mouse_x, mouse_y. This included changes when adding an attribut and when finding an object. Additionally fixed a buggy call to o_pan. commit c484c83a3890ea22619c1c84757b83632e128ab4 Author: Werner Hoch <werner.ho@gmx.de> Date: Fri Apr 18 20:54:29 2008 +0200 switched zoom and pan to world coordinates, cleanup zoom and pan are the last users of the old variables start_x, start_y, last_x, last_y, second_x, second_y, save_x, save_y. Those variables are obsolete and have been removed from the GSCHEM_TOPLEVEL structure. The panning also affected the preview widget. Which needed to be fixed, too. commit 69fa323b708bc5784a475a0911d1c100927edab8 Author: Werner Hoch <werner.ho@gmx.de> Date: Thu Apr 17 23:08:20 2008 +0200 switch complex copy and complex place to world coords switched all functions to world coords. The temporary calculation of the world coords can be removed now, as all complex objects are in world coords now. commit 1e0500f9e3abb6ac431a8b69e4d97b5c17775155 Author: Werner Hoch <werner.ho@gmx.de> Date: Thu Apr 17 22:12:23 2008 +0200 switched buffer insertion mode to world coords commit eb46913531447bd975e438c8697aded9ce07ee2f Author: Werner Hoch <werner.ho@gmx.de> Date: Thu Apr 17 21:37:48 2008 +0200 switched selection and selection box to world coords The holdoff distance before starting to draw the selection box has been moved from x_event.c to o_select_box_start() commit 4820283ca1f6977ffbfed1565da5b2a70aa0eb77 Author: Werner Hoch <werner.ho@gmx.de> Date: Tue Apr 15 21:44:07 2008 +0200 switched text code to world coords Changed all text creation functions to use world coords. commit 70afd4b31ebbb9dfc6c7a8ed0a33bb53f0ff0511 Author: Werner Hoch <werner.ho@gmx.de> Date: Tue Apr 15 20:56:57 2008 +0200 switched o_draw_bounding and all xor drawing functions to world coords All object xor drawing functions are called in world dx/dy coordinates now. Changed the object code and the o_draw_bounding code. BUG: o_draw_bounding is still used in world and nonworld coords. commit 2d880f35530c43d5f291af6c70535c99a378ffdb Author: Werner Hoch <werner.ho@gmx.de> Date: Tue Apr 15 19:09:24 2008 +0200 switched move mode to world coordinates Switched move functions to world corrdinates. This affects the net and bus when stretching them. BUG: The function o_draw_bounding is used by world and nonworld coordinates. This needs to be fixed with the next commits. commit 4cace928604a9b799e761a80d7b0424d45d554ce Author: Werner Hoch <werner.ho@gmx.de> Date: Mon Apr 14 20:52:15 2008 +0200 fixed rubber color for pin and bus, fixed line erase The color of the rubber wasn't correct for pins and buses. The o_line_eraserubber function still used start_x. commit c4abffeb78305f3c7ede736b027def82c3171181 Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Apr 13 12:00:24 2008 +0200 switched picture rubber and manipulation to world coords Call all picture functions with world coords. commit 6cfafdaf3c09dde2aedfa7fc3f57662dd0b25ba9 Author: Werner Hoch <werner.ho@gmx.de> Date: Tue Apr 8 21:15:36 2008 +0200 switched pin rubber drawing to world coordinates Call all pin functions with world coordinates. Replaced some of the gdk drawing functions with object drawing functions. commit ef2871ee0ee34af000205cdfe889fb2bad3a74bb Author: Werner Hoch <werner.ho@gmx.de> Date: Mon Apr 7 20:47:44 2008 +0200 removed redundant x event state code from o_grips.c The removed code for updating the state and the toolbar is already present in the state code in x_event.c after the o_grips_end() call. Reseting the state variables first_wx, second_wx, ... is not required at all. commit 60b734ed80d7ccefba7a78a878714261a9637a67 Author: Werner Hoch <werner.ho@gmx.de> Date: Mon Apr 7 20:32:01 2008 +0200 fixed o_grips_end manipulation for net/line and pin Fixed the code for the end of the net line and pin manipulations. Extracted the functionality to three new functions and switched them to world coordinates. Removed some gdk drawing code and replaced it with object drawing functions. commit f003de85165f11280f909acd6b785ebf38bacf39 Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Apr 6 21:41:19 2008 +0200 switched grips for line manipulation to world coords This also affects the line/bus and pin manipulation. While start and motion is identical, the end point of the manipulation has to be fixed separatly. commit 6efa4f6c16894852b409f130d50acef88d78aa22 Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Apr 6 20:05:25 2008 +0200 switched line rubber drawing to world coords Call all line functions with world coordinates. Removed some unused code. commit bdcb6e63c3ed1b19f0d1d854536b0e51aad85429 Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Apr 6 19:10:31 2008 +0200 switched bus rubber drawing to world coords Call all bus function with world coordinates. Added rubberbus_xor function to simplify code. Added some function documentations. commit 87aeb1ee33995af7645aa4d72265254d217f62ef Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Apr 6 17:29:40 2008 +0200 switched arc rubber drawing and manipulation to world coords Call all arc function with world coords. Removed obsolete loc_x/y variables. Removed unused functions o_arc_end2 and o_arc_end3. commit 0720815ae4594ae3a73ca96d6392ae35c2172e4a Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Apr 6 15:03:22 2008 +0200 switched circle rubber drawing and manipulation to world coords Call all cirle functions in world coords. Use rubber_visible variable to protect the drawing code from erasing errors. commit 4f5cf44b196790dbf5cf318977463b487a17ec89 Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Apr 6 13:09:35 2008 +0200 switched box grips to world coordinates This fixes the manipulation of a box, that broke in the previous commit. commit 693d7fbb8630bcb846ee72bb594a6c8612ec2f17 Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Apr 6 12:15:21 2008 +0200 switched box rubber drawing to world coordinates Call all box functions with world coordinates. Protect the rubber box from erasing if the rubber box has been erased by the redraw_all function. This happend if the user zoomed while drawing the box. The variable w_current->rubber_visible is used for this purpose. commit 1b05cbfcbb07970159c58b2b18d583516e257a45 Author: Werner Hoch <werner.ho@gmx.de> Date: Sat Apr 26 17:09:58 2008 +0200 switched x events to world coordinates in net drawing code This includes the creation of w_x, w_y, mouse_wx, mouse_wy variables in the x_event functions. Call all net drawing functions in world coordinates. Print a warning message when connecting to offgrid pins and nets. commit 3372a6ff3e99fb1d46c694b1d7bb7a586c9eebb9 Author: Werner Hoch <werner.ho@gmx.de> Date: Tue Apr 1 13:50:07 2008 +0200 removed redundant snap grid code in o_net.c commit fadb2326204bb6375749653d1e8a3035462b3479 Author: Werner Hoch <werner.ho@gmx.de> Date: Tue Apr 1 13:37:05 2008 +0200 add world coordinates for the rubber lines, use them for net drawing This commit adds new variables to GSCHEM_TOPLEVEL. first_wx, second_wx, third_wx. They are intended to replace the screen coordinates start_x, last_x and last_y. Deployed that change in the net drawing code. This should finally fix Bug [#1928544]. commit 5f62a34fc821ced98f6faa7d4901ccd47e48380e Author: Werner Hoch <werner.ho@gmx.de> Date: Tue Apr 1 10:20:18 2008 +0200 switched the net rubber code from screen to world coordinates Using screen coordinates for start_x, second_x and last_x causes integer arithmetic errors whenever the coordinates are converted between the screen an the world. The conversion occurs with the fix_x function and whenever the user zooms/pans in the drawing mode. This change fixes bug [#1928544] pointed out by Thomas Arndt. Note: This breaks the zooming and paning inside net drawing commit deacf7e8bc9a67aa4ac446f8627f177e8daa249a Author: Werner Hoch <werner.ho@gmx.de> Date: Mon Mar 31 14:42:14 2008 +0200 Add CTRL modifier key to mangetic net mode If magnetic net mode is active and you don't want to connect to the closest possible connetion, you can use the CTRL key now. Note: You're losing the ability to draw non-orthogonal nets in magnetic net mode. commit 087374bd49bdc0fcefc535fe901de55439c28a17 Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Mar 9 10:14:50 2008 +0100 make the net direction mode configurable (ON/OFF) Add all variables and callbacks to make the net direction mode configurable. The configuration variable is used in o_net.c. commit c377b5f84dd046dd6716d262bc6b5c883bb9f280 Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Mar 9 09:40:11 2008 +0100 guess net direction when adding nets in gschem When drawing a L-shape net the old behavier was to draw the horizontal net first and the vertikal after. This patch guesses the direction dependant of the starting point of the net. It tries to continue nets and not to overwrite them. This functionality was originally written by "ar" and posted to the geda-dev mailing list. commit e089678b9fc068a4b14f41a47e7cef304d5d8221 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Apr 18 14:11:06 2008 +0100 gschem: Fix memory leak in x_window_open_page() commit 949ebc253254a4ec4798ea5faab6bce698fabbb0 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Apr 17 21:55:09 2008 +0100 gschem: Use argc, rather than relying that char **argv is NULL terminated commit f1754277410f7e42fa86371ff875dbbf9f5dd100 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Apr 17 20:00:30 2008 +0100 gschem: Remove unused GDK global variable "visual" commit 84e20e053383201472c32834f4ea9995b8d20c45 Author: Werner Hoch <werner.ho@gmx.de> Date: Wed Apr 2 22:49:42 2008 +0200 fixed syntax error typo in x_image.c repaced ":" with ";", Typo catched by Thomas Arndt commit af0d9f2e8825f7d23c691deec0e70f1eaaac0e38 Author: Ales Hvezda <ahvezda@seul.org> Date: Wed Mar 5 05:27:41 2008 -0500 Updated version to 1.5.0 to mark the start of the next development cycle commit fa3091a4da63abd5312be5b1cd132baefb9e77c1 Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Mar 2 18:06:51 2008 +0100 show the magnetic net mode in the status bar commit 24f0395aab9589f8e98f284e63fe77e6dc2d2836 Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Mar 2 16:42:06 2008 +0100 Fix drawing artefact in rubbernet drawing code The invalidation rectangles are to small if you're zoomed in. The half of the net width needs to be added to the rectangels. To do that, you need to sort the rectangle borders. commit 0b2ce2cb246fa46eae2abe53c32e2c1a2f100093 Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Mar 2 16:20:27 2008 +0100 Enlarge the magnetic net marker with increasing net line width When zooming in the magnetic marker became small relativ to the net width. This commit enlarges the magnetic marker with a constant factor relative to the net width. The line width of the marker is the same as the net width. commit ffd2298ca90e9e8616a2804c5708cb3d2ccb0a83 Merge: b62e017 1a49d46 Author: Werner Hoch <werner.ho@gmx.de> Date: Sat Mar 1 09:43:53 2008 +0100 Merge branch 'magneticnet' commit 1a49d46192ff0e84e5727ba92829c56961119e5b Author: Werner Hoch <werner.ho@gmx.de> Date: Wed Feb 27 20:12:26 2008 +0100 added configuration option for magnetic net mode in system-gschemrc Added a configuration option magnetic-net-mode and the g_rc function Set the default value to enabled. commit 855f29d44df73caef03ee49bd58f19897f31b69d Author: Werner Hoch <werner.ho@gmx.de> Date: Fri Feb 22 21:46:21 2008 +0100 use tiles to find connections for magnetic net mode This commit changes the magnetic net code to use the tiles. This reduces the load when checking all the possible connections for every mouse movement. The patch adds a library function to get object lists which may contain objects in the region of the magnetic reach. In o_net.c the object iterator code has been changed to use the new library function. commit c283e8416d058258bab90b176ee94bb96308c710 Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Feb 17 12:14:27 2008 +0100 Only look for visible objects in magnetic net mode In a large circuit the cpu load can be quite large. Checking only visible objects decreases the cpu load. The magnetic reach area is now a circle (Pythagoras). A rectangle gives several points with the same distance at each side. commit 4b53eba9204af5eee37c308f23d396df21b2edad Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Feb 15 22:24:33 2008 +0000 Don't change back to a deleted page after the "Save changes?" dialog. Only switch back to the previous page being edited if that was not the one just deleted. Fixes crash or memory corruption after closing this dialog. commit de64a4f9ff006a80536359d148da9db57594083f Author: Werner Hoch <werner.ho@gmx.de> Date: Fri Feb 15 00:38:51 2008 +0000 o_delete_text(): only call o_attrib_slot_update() for COMPLEX objects. Fixes crash observed when deleting attributes from a net. commit 26883a66c3711ffe04eb5280c4b49c483ca50e95 Author: Werner Hoch <werner.ho@gmx.de> Date: Thu Feb 14 21:49:25 2008 +0100 added reset function to net drawing code This reset function cleans up all variables required to draw nets. It is used before entering net drawing mode and should be used whenever the STARTDRAWNET mode is entered. Fixed the last drawing artefact in STARTDRAWNET state. commit aa26da60b8c2a7e66c8b4d6446e7b67de2c3537a Author: Werner Hoch <werner.ho@gmx.de> Date: Wed Feb 13 21:38:54 2008 +0100 misc cosmetic corrections for the magnetic net Put the magnetic marker onto grid (fix_x/y) Changed the marker from a rectangle to a circle. Changed the calculation of the magnetic reach from x+y to max(x,y). This enlarges the reach into the 45° direction. commit 6e092d15b6e1881789561653ded80f98c5bdc2f5 Author: Werner Hoch <werner.ho@gmx.de> Date: Sat Feb 9 12:56:09 2008 +0100 connect the magnetic net mode into the net drawing functions The magnetic net mode is now use to set the start net point, track the closest connection in the rubbernet function and to get the end point of the net. The endpoint in the magnetic mode is calculated in the new function o_net_finishmagnetic. This commit is based on the patch written by Franz Mottas and Thomas Arndt [#1824420]. commit 96fbd6214a4a364d0aa45b405293421623ea939c Author: Werner Hoch <werner.ho@gmx.de> Date: Sat Feb 9 11:09:10 2008 +0100 core code for magnetic net mode: find connections and draw marker When in STARTDRAWNET state, search for the closest connection. Added code to search for that connection and to draw and erase a rectangular magnetic net marker. This commit is based on the patch written by Franz Mottas and Thomas Arndt [#1824420]. commit 3a412167fe7e16526fafdfea273b3daf8be207b3 Author: Werner Hoch <werner.ho@gmx.de> Date: Sat Feb 9 08:54:45 2008 +0100 added menu entry and callbacks for magnetic net mode Added a entry into the options menu to toggle the magnetic net mode. Added all required variables in GSCHEM_TOPLEVEL. This commit is based on the patch written by Franz Mottas and Thomas Arndt [#1824420]. commit 1d1c604d63bfe8f6eff91749953ba713f7b3745c Author: Werner Hoch <werner.ho@gmx.de> Date: Sat Feb 9 08:11:38 2008 +0100 fix drawing artefact when drawing a net and zoom/pan Zooming and paning redraw everything and if there are rubbernets they get deleted, too. We have to tell the rubbernet function that the rubbernet is no longer on the screen. Thus I've added a flag rubbernet_visible as indicator. This flag needs to be set when drawing, and reset when the rubbernet gets erased. commit 20e0e015622bd57d9b0704d39593f209e49a3396 Author: Werner Hoch <werner.ho@gmx.de> Date: Fri Feb 8 20:57:09 2008 +0100 moved rubbernet drawing code into a extra function commit 921ed5c0b907fb0f11cfff2233758a2c0169c3e0 Author: Werner Hoch <werner.ho@gmx.de> Date: Fri Feb 8 20:40:43 2008 +0100 Reuse common code from o_net_eraserubber in o_net_rubbernet The removal code or the rubbernets is the same in both cases, reuse it. commit 3ebfd10448ffefd902325b115193cb95cbeeaaf5 Author: Werner Hoch <werner.ho@gmx.de> Date: Fri Feb 8 20:24:14 2008 +0100 reuse common code from o_net_eraserubber in o_net_end reuse the o_net_eraserubber function in o_net_end. o_net_end deleted a rubbernet the same way as o_net_eraserubber does. commit cf7689c9b6950c1694edacf9d750a48d87d462be Author: Werner Hoch <werner.ho@gmx.de> Date: Fri Feb 8 19:34:18 2008 +0100 Remove unused drawing code from function o_net_start() This code was never used as the line lenght of both rubbernet segments was set to zero before drawing it. commit 56a787446f3f5a244c8b4cec21cdc4e489e19568 Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Wed Feb 6 21:25:58 2008 +0100 Fix documentation about list format. - Applied patch from Timur Aydin <ta@taydin.org>, fixing a comment on top of the list that explains each individual item in that list. The comment didn't match the actual list definition. - Added comment about considering line width when calculating a component's reference point. commit 5757ce41ac1846814b0e96885942f2e011f2d3b7 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Feb 1 13:06:15 2008 +0000 Rename translations to drop un-needed ISO-3166 country codes. From Debian bug #336796: Using a country part in a translation file is a discouraged practice except in very few cases (such as pt_BR). Using a fr_FR.po file instead of a fr.po file prevents users of fr_CA, fr_BE, fr_LU, fr_CH and all other existing and future locales for French to benefit from the French translation of the program. In general PO files should only be named after the ISO_639 code of the given language and should not use a country part with a ISO-3166 code. The only accepted expcetions to this are: -pt_BR for Brazilian Portuguese and pt alone for "standard Portuguese" -zh_CN for "Simplified Chinese" use in mailand China and Singapore -zh_TW for "Traditional Chinese" used in Taiwan commit 22396b286d50c454287ff94a3c3de414b3f9a08a Author: Werner Hoch <werner.ho@gmx.de> Date: Sat Jan 26 19:27:15 2008 +0100 update the pinnumbers if a slot attribute is deleted Update the slots whenever a text line that is attached to an object gets deleted. The update checks the slotting even if there's no slot attribut. This catches the case when the user deletes a slot attribute and the current displayed pinnumbers are not the ones defined in the symbol. This commit fixes [#1880221] commit b202ee510fb90cedd038ce5ec41cc6de453dbeea Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Jan 27 11:47:13 2008 -0500 Updated ChangeLogs for the 1.4.0 release commit 5e4ee69035885d76fba09aa453789be68481c69a Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Jan 27 11:46:06 2008 -0500 Ran make update-po one more time before the 1.4.0 release commit b11f5701b2329f1cb7ff64d2419197a6587d2008 Author: Werner Hoch <werner.ho@gmx.de> Date: Sun Jan 27 09:24:01 2008 +0100 Updated german translation of gschem commit 58898d9db5403355c3984d4c4c970e4477d7e85a Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Jan 26 22:12:05 2008 -0500 Fix a crash when running a script that calls (gschem-image ...) x_image_lowlevel frees the last parameter (filetype). This free was causing a segfault when x_image_lowlevel was being passed a constant character string. Bernd Jendrissek found this bug during an irc discussion. Thanks. commit 5d619d94e6142ad683b26aa302348b3cf559d459 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jan 27 02:51:01 2008 +0000 Only call gdk_window_invalidate_rect() when drawing to a GdkWindow. For image export, a GdkPixmap is used in place of w_current->window, and calling gdk_window_invalidate_rect() with this as an argument causes lots of nasty warnings. It led to a crash when print.scm is used to export from the command line. This "fix" is really quite a nasty hack. Since w_current->window is a GObject in both cases, a test with GDK_IS_WINDOW() can be used to distinguish the cases. A better fix will come from future rework of the drawing code. commit bab0fb5d22b22b5452da553306555d7ff069ebd3 Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Jan 26 21:03:50 2008 -0500 Changed Edit/Undo and Add/Bus hotkeys Previously, "u" was add-bus-hotkey, which was annoying a growing number of users. Now "u" is undo and "Shift-B" is add-bus. There are now like four different keys for undo (u, Shift-U, Control-Z, and "e Shift-U") in the default keymap. Add/bus has "Shift-B" and "au" as hotkeys. commit 3d43c5d642ebe12a69380e8accf5533d338ee5e5 Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Jan 26 20:07:45 2008 -0500 Bumped versions to 1.4.0/20080127/33:0:0 for the next stable release commit ecda6ee9e101563f7fed092150532256fd9b343e Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Jan 26 19:50:16 2008 -0500 Updated all dates and versions in all man pages commit 9a4bbc16c5c0e408aabbc69c1c1cc10cb4b7675f Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Jan 26 19:48:29 2008 -0500 Manually ran make update-po in all po dirs in prep for the 1.4.0 release commit 915463b5f3fe41419307e5dee4d227f3c9a9bb5e Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jan 26 22:06:06 2008 +0000 Invalidate component cache when updating symbols. [#1880211] Temporary fix for Bug #1880211, "symbol update reads the symbol from the cache". Ensure that when refreshing symbols, the symbol is read from the component source, not from the cache. (Suggested by Peter Brett). A more complete fix will be to add API which invalidates a single symbol name, rather than the entire cache. commit 968c37becebd630b85abd8bf3546a834db419aaa Author: Werner Hoch <werner.ho@gmx.de> Date: Sat Jan 26 15:26:53 2008 +0000 Update the pinnumbers when updating a symbol with slots Fix for [#1880207]. When updating symbols, gschem loaded the pinnumbers from the symbol file without respect to the slot attribute. commit fccaae6b363d7f81ab94725751314813c42b718d Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Jan 16 20:08:27 2008 +0000 Fix use after free corruption when consolidating nets commit bcea0ec85eb10a97b2f794fa240052b25d386cb9 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com> Date: Fri Jan 18 22:54:33 2008 +0000 Update Afrikaans translation to fix spelling error. commit ec4b6287bbb4f709a7d3258a7474ec716933ca4b Author: Ales Hvezda <ahvezda@seul.org> Date: Fri Jan 11 01:23:39 2008 -0500 Manually ran make update-po in all po directories in prep for the 1.3.1 release commit d2047bc2a06e6534ff32464d36f8a95aec11b9d7 Author: Ales Hvezda <ahvezda@seul.org> Date: Fri Jan 11 01:11:12 2008 -0500 Updated all ChangeLogs for this release (1.3.1) commit bab45317a9e009449942e87d2ce2506287368187 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com> Date: Fri Jan 11 05:10:13 2008 +0000 Add Afrikaans translation for gschem (af_ZA.po converted to UTF-8 encoding by Peter Clifton for consistency) commit 8eeb92aa5d10d7c4808d039e09b4b6626e380138 Author: Ales Hvezda <ahvezda@seul.org> Date: Thu Jan 10 23:51:08 2008 -0500 When doing a find_text into hierarchy, the titlebar was not being updated Added a update call into o_edit_find_text that made sure the titlebar and scrollbars are properly updated when the found attribute is displayed. This addition will do a full redraw as well (not sure if that is going to cause problems at this point). commit c1e3075cb263a6098d2351440b680247456ae0d0 Author: Ales Hvezda <ahvezda@seul.org> Date: Thu Jan 10 00:27:16 2008 -0500 Updated and correct the gEDA/gaf man pages a little bit. This is the fix for SF Bug: [ 1556064 ] man page version out of date commit 7b0c15cea18baf9a2a3bb8c89ccb02034a821156 Author: Bernd Jendrissek <bernd.jendrissek@gmail.com> Date: Thu Jan 10 01:24:26 2008 +0000 gnetlist: Fix typo (Peter Clifton modified the patch to fix translations at the same time) commit 015f1dc8f08ef4ff9510dc04859b88311dedf237 Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Mon Jan 7 20:22:46 2008 +0100 Updated gschem's spanish (Spain) translation. commit fd560649436835795f173f0fd3dc498133040f9a Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jan 6 21:02:26 2008 +0000 Validate log messages to ensure they are UTF-8 before passing to GTK commit 048bd6f8e2fc1c5f5b01ff3f1cad3a7c9bf43f3e Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jan 6 20:36:52 2008 +0000 Allow configuration of the scroll wheel's action to match GTK app. norms Adds configuration parameter (scroll-wheel ...) which takes either "classic" or "gtk" as a string argument. "classic" remains the default. Tidies x_event_scroll() to deal with the various options in a neater way. commit 3aaba690a9360bfe9acd480acf5d549d05513f52 Author: Bert Timmerman <bert.timmerman@xs4all.nl> Date: Sun Jan 6 12:18:06 2008 +0100 Dutch translation file reviewed for upcoming release. - Updated modified texts. - Corrected minor typos near exclamation marks. - Tried to conform to new Dutch spelling definitions. commit e800618afe70c93c3739d725172dfdba95386232 Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Jan 5 21:14:51 2008 -0500 Manually ran make update-po in all directories commit b2380c0f70344117be7045a5fc1483698fdf4358 Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Jan 5 20:57:51 2008 -0500 Bumped versions to 1.3.1/20080110/32:0:0 for the next development snapshot Note, libgeda's so did not change at this time. commit 6b36311d3be00d9b4901a876f5f4da4f892e3bce Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jan 5 22:10:31 2008 +0000 Remove extraneous printf where they duplicate log messages. commit d367e94f7d11ceb66c8ad95332052d2abf5ed09c Author: Ales Hvezda <ahvezda@seul.org> Date: Fri Jan 4 13:33:15 2008 -0500 Added consistent border width to the in-use scrolled window Without this border width, switching between the in-use and library tabs caused the scrolled windows to jump around. Plus now the spacing is consistent between the two tabs. commit 3fb40e7713e33a034632386a1446e3d94b25e6a5 Author: Ales Hvezda <ahvezda@seul.org> Date: Fri Jan 4 13:30:26 2008 -0500 Added refresh button to the in-use tab in the component selection dialog The refresh button refresh the in-use component list as well as the library component list. Before this patch, the refresh button was only in the library tab and not accessible from the in-use tab. commit cf1ebffc8fc1634dc82cfd3a5e2748edadea4565 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Jan 4 20:26:24 2008 +0000 Remove "Apply" button from the component selector. As the component list is de-selected when placement mode is cancelled, the action of re-selecting a component to place switches back to this mode without the need for an explit "Apply" button. commit 8333e806fef245815235d8f96a81fcd06b96dfa4 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Jan 4 20:23:22 2008 +0000 De-select list in the compselect dialog when placement is cancelled. By de-selecting the list, we ensure that the list state reflects the component the user may currently place. It allows the same component to be selected for again, without either using the "Apply" button, or having to temporarily select a different component first. As a hook to de-select the list is added in o_redraw_cleanstates(), we now avoid using that call as a shortcut to cleanup our last place operation. It is still used if the last operation was not a component placement. commit 3ae9c752b203ddc66b94c3f6cda352ee9306f13d Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Jan 4 20:06:24 2008 +0000 Add call to o_redraw_cleanstates() in the edit_{copy,mcopy,move} actions. Ensures that any existing action is appropriately cancelled before starting the new action. commit 09c5d9fe73e0874b8b86b50c1ddc552254ee8661 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Jan 4 18:08:22 2008 +0000 gschem: Remove extraneous debugging printf from g_hook.c commit 9aca06cdb70c3fc9595beb82713eedd90a7e1d16 Author: Ales Hvezda <ahvezda@seul.org> Date: Fri Jan 4 12:57:58 2008 -0500 Added checks at the autogen.sh stage for missing m4 macros This commit adds a autoconf friendly m4 macro to check for undefined macros (originally written by Peter Brett). This macro is used in configure.ac.in to check for a few troublesome macros (guile, nls, gettext, intltool) that are usually missing because a required -dev package is not installed/missing. commit ef9f1e110cc8d67a98310e9c689c5afe5363be25 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Jan 2 19:15:14 2008 +0000 Prefix "geda-" to icon names to help namespace the icon theme. commit 1697a90e5465dde296199745991e76df8f68c3be Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Jan 2 15:41:07 2008 +0000 Changed --with-xdgdir to --with-xdgdatadir for consistency commit ee47fc5fa6d418a54af62a55a78e508d95a0f913 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Jan 2 02:46:14 2008 +0000 Change usage of ${datarootdir} to ${datadir} for autoconf compatibility. commit 208cb97b474b29efea9b76d8b9099ffe2bf446af Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Jan 2 01:22:20 2008 +0000 Fix typo in --disable-update-desktop-database help text Also fixed closing comment which had "mime" instead of "desktop" commit 25557429d0ca8baaa921b4a2ce5f243f8df8dfc2 Author: Ales Hvezda <ahvezda@seul.org> Date: Tue Jan 1 16:14:09 2008 -0500 Updated gschem's autogen.sh to be identical libgeda's This commit also fixed up the build mechanism for gschem to recreate configure.ac if configure.ac.in changes. These changes are identical to 1a1cbb29f5d1ff118fb91235463e57a48ba81054 commit 5f3cde4f20975275cb38b52cd3155fda41201209 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Tue Jan 1 17:24:18 2008 +0000 Fix configure checks for Guile (again). The previous patch missed changing the gschem configure script (generated from configure.ac.in), and got the logic wrong anyway. commit 2f7e3ae60480743a8268d392272d05bd77dd75c8 Author: Ales Hvezda <ahvezda@seul.org> Date: Mon Dec 31 20:43:08 2007 -0500 Updated all ChangeLogs for the past development release (1.3.0) This step was supposed to happen before the 1.3.0 tarballs were released. These changes will be picked up in a subsequent release. commit 0525e60123ab47ff62c9c30f4a3159ca75bbb456 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sun Dec 30 20:15:19 2007 +0000 Add TAGS to some .gitignore files. commit ec101c69efe4cef25410fc6e8b9e43a3dbafd5f0 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sun Dec 30 20:15:19 2007 +0000 gschem: Use protected evaluator to run menu functions. commit 46f8e5671e1f22ed32d02ce7fd4f87f65f257c0f Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Dec 29 22:32:31 2007 -0500 Created POTFILES.skip (with intl/plural.c inside) to make distcheck happy commit ba474af87840a0d49e04a00de96b7df2944c09bd Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Dec 29 09:57:43 2007 -0500 Bumped versions to 1.3.0/20071229/32:0:0 for the next development snapshot commit 7c82238f3b2433607f8af6c873af99a642f05409 Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Dec 29 09:22:38 2007 -0500 Ran make update-po in all po directories in prep for a new release. commit ae6aeb9b656ead47d5cad5cbc7370cf59877eda7 Author: Werner Hoch <werner.ho@gmx.de> Date: Sat Dec 29 09:00:36 2007 +0100 ignore deleted geda-gschem.pot in .gitignore commit e2f7ebf5903560592cd31168085068310c2a12fb Author: Werner Hoch <werner.ho@gmx.de> Date: Sat Dec 29 08:56:40 2007 +0100 gschem: updated german translations commit 15ff1a06a1352871426a9774a5037519e74759f6 Author: Ales Hvezda <ahvezda@seul.org> Date: Fri Dec 28 23:52:17 2007 -0500 Removed now machine generated file commit fdf272053572b5017fa342d91e7ed2ee559e1e2d Author: Ales Hvezda <ahvezda@seul.org> Date: Fri Dec 28 23:36:02 2007 -0500 Fixed a minor newline typo commit 91a9b7a5391544f961c96d376186228a72410f67 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 29 03:12:06 2007 +0000 gschem: Fix copy-paste error handling line-style keyword in g_rc.c commit 91726e0964602983e8f896be86aa056afc96baff Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 29 01:41:14 2007 +0000 Change image embedding format to base64 encode the original files Previously, the format was a base64 encoding of serialised output from the gdk_pixbuf used to store the image internally. Due to another bug (now fixed) it is known that no official gEDA release could re-load the embedded images that it saved. This hopefully provides some justification as to why its OK to change the embedding format here. commit 1061b44d8af612e15b4179b71aac44c3959e09b9 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 29 01:38:55 2007 +0000 gschem: Redraw after embedding or unembedding components commit cf5a697b83f1d53d6c9299a39d37d7d685f374eb Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 29 01:37:18 2007 +0000 Add undo save for embed / unembed operations commit 5ad632442a79dcf8ddb0fd60cdd9a1c09acfc39a Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 29 01:37:10 2007 +0000 Use gdk_pixbuf_copy(...), not gdk_pixbuf_rotate(.., 0) to copy pixbufs commit 70293381f5af9957afbd3e3fd0614d838738c7a7 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 29 01:37:02 2007 +0000 Compute picture aspect ratio in double arithmetic, not integer. Avoids a nasty bug where coordinates would overflow when attempting to grip-adjust the picture size due to this ratio being incorrect. commit c356556b29a991ec1f40b6be01e332fdfd663dac Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 29 00:48:09 2007 +0000 gschem: Fix erase drawing of objects Code which used o_..._erase() was not causing invalidations of the dirty screen regions. Refactored to the code to use o_erase_single() instead, and deleted the then unused o_..._erase() functions. commit 532aa7129dafe872d0993fed52d0dcba92e78399 Author: Bert Timmerman <bert.timmerman@xs4all.nl> Date: Fri Dec 28 22:04:26 2007 +0100 Updated the Dutch translation for gschem. commit b03232ea8fe9f911af8265c63b16425cf7ee70cb Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Dec 28 18:52:30 2007 +0000 Allow standard glob matches in the component selector's filter entry. commit f2101950cde757e1b51c8e6e70a5d764d8a7fa99 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Dec 27 21:54:16 2007 +0000 gschem: Don't delete po/ChangeLog on make maintainer-clean Also removed rule to delete po/Makefile.in.in as this also exists in the po/Makefile maintainer-clean rule. commit 127cff28ce52f41ce0972e8109049ecb78b09cc3 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Dec 25 23:09:28 2007 +0000 Add English (British) translations for libgeda and gschem commit b9f741e0906295754fa5e1301cf3079aee88ff55 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Dec 25 05:12:40 2007 +0000 Remove intltool-*.in files during make maintainer-clean commit 76885149df80234cd91c42ca83752cfe5cd470f8 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Dec 23 06:11:31 2007 +0000 Add --with-xdgdir=... option to gschem and gattrib to match libgeda commit 5ee84ba2b7f534b11b7487c91413deaf393cb7ca Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Nov 18 22:55:34 2007 +0000 Add .desktop and icon files to gschem and gattrib Ship application icons and .desktop files for gschem and gattrib. The gschem icons were contributed by Tomaz Solc, and the gattrib icons created by Peter Clifton. Uses the intltool framework to translate the .desktop files. commit cd5263a602c8da768d3af7fdf9aca99847324d9e Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Dec 22 21:46:25 2007 +0000 gschem: Don't lose close confirmation dialog behind window It was possible to lose gschem's close confirmation dialog behind the gschem main window, which could lead to data loss as it was then very difficult to recover gracefully. commit b10a0ed7e99910a5d83565ede63a7ff9b11bc528 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 22 05:32:31 2007 +0000 Switch back to the page we were on after a saving changed pages. The changed page saving code switches pages with s_page_goto(), but the page was not switched back. This lead to gschem being left editing a different page after a cancelled close operation. No redraw or GUI update was called, so the screen still showed the old page. commit ceacc48fd83d27953a9510374962f267c42e22e9 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 22 05:32:28 2007 +0000 Use Save, not Save As.. after prompt when closing modified schematics If the schematic is changed at exit time, a prompt is given. the "Save" option will save into the existing schematic file. If the page is untitled, a file-chooser will be presented.This is in keeping with other applications. commit f3de6fdfcd78b60d201e8786c78ea59bcc3f437e Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Dec 21 23:48:42 2007 +0000 gschem: Set default window icon to the "gschem" icon from the icon theme. When a "gschem" icon is found in the icon theme, this will be used as the default application icon. For GTK versions < 2.6, some default sizes have been picked at which to look for icons. GTK >= 2.6 will find the best icon by name. commit f024b92045527776c0ddf86ac16de5dfb09837ad Author: Peter TB Brett <peter@peter-b.co.uk> Date: Fri Dec 21 17:44:15 2007 +0000 gschem: Don't use direct o_???_translate_world() funcs Use o_translate_world() instead of the direct functions, so we can hide the internal implementation in libgeda. Only a very small performance hit. commit 52bb24c3868d14b12480037dc8f0b1450cc78d7f Author: Peter TB Brett <peter@peter-b.co.uk> Date: Fri Dec 21 17:26:30 2007 +0000 libgeda: Make sure that Guile smobs are initialised. Rather than initialising them in gschem, which is a WTF. commit 0a5ba355c6719172ec1e6325108d5c0e716d1a2e Author: Robert Fitzsimons <robfitz@273k.net> Date: Fri Dec 21 14:13:51 2007 +0000 gschem: Fix segfault when trying to write an image. The change to split out gschem TOPLEVEL variables, left some code which tries to copy the TOPLEVEL variables from the old data structure. This caused a segfalut to happen on my system. commit 3b040cf8d60a8fbe45f6e7c5f3d71a3dea119357 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Dec 19 17:48:57 2007 +0000 Add intltoolize to the build infrastructure Provide intltoolize infrastructure for translating .desktop and MIME XML files. Run gettextize after intltoolize if required, so that the infrastructure for providing libintl on a non GNU system still works. commit c290fcbcb34bd4adaee35a7ba4f655f88e4e252a Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Dec 17 23:11:47 2007 +0000 Check if bounds were found before invalidating drawn areas. If world_get_..._bounds() return zero (for example, in the case of invisible attributes, or an empty schematic), no bound coordinates are returned and we can't use them for further processing. commit 17998a71cc46a7eff3c738fcbd3851c7c8ea5930 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Dec 17 23:11:44 2007 +0000 Fix bug #1851403: Crash after adding component while in move mode Ensure any operation already in progress when opening the component selector is cancelled by calling o_redraw_cleanstates() first. Also call o_redraw_cleanstates() just before placing the component, rather then directly freeing the objects in the complex place list. Since the component selector isn't modal, the user may have switched to a different action whilst the component selector was open. To avoid a similar crash, use o_redraw_cleanstates() upon closing the component selector (if we are still in component placement mode). commit 83b4c4f7d62c8a0a6a52ec092c9535f81f82deac Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Dec 17 23:03:53 2007 +0000 Fix memory leak in o_redraw_cleanstates() called during copy or place. For actions other than "MOVE", the objects in the complex_place_list must be free'd as they are otherwise unowned. commit 95a9632f6b4970b578fe06647496f339ee5fa1f8 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Dec 17 23:03:49 2007 +0000 Fix i_callback_edit_copy_hotkey() to set new state after clearing old. o_redraw_cleanstates() needs to know the state it's clearing up. commit fb274693d442e16890582d7442f1d52d60e95755 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 15 16:53:25 2007 +0000 Add private function compselect_get_view() in x_compselect.c This function abstracts away an assumption we make that the tabs of the GtkNotebook inside the component selection dialog are in a particular order. Separating this into a function call which returns from an enum of views will stop this ordering assumption spreading throughout the code. commit a5f930da86483f05c58a92ea5ae436b25e548486 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 15 13:42:55 2007 +0000 Remove unused functions o_{net,bus}_xorrubber() commit 79f8378827becac265f5cd3a3327ab79a2c8befc Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 15 13:31:39 2007 +0000 Always redraw the screen using a blit from the backbuffer. The previous redraw scheme which would draw to the screen concurrently with drawing to the backbuffer is proving to be a bottle-neck to recent desktops using compositing. Every draw we make forces the X server to compute a damaged region and re-composite the window. We now draw only into the backbuffer, and then invalidate the extents of the region we've drawn. commit 33e12c8916f6b3bcd2d0df2246ef925e7b25b0dd Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 15 13:31:38 2007 +0000 XOR draw to remove component ghost when cancelling component placement. Changes previous full-screen redraw when cancelling component placement to use XOR drawing. Adds similar code to remove the ghost which exists (usually underneath the dialog) when the component selection dialog is closed. Don't rely on an expose event to re-paint it for us. commit ebf8dd81c398f39adcdbe4801d4a624ab1f73241 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 15 13:31:36 2007 +0000 Remove unused toplevel variable in o_grips_motion() commit 20f61e1aaebcf565e5d7dcf111b1c07cd8483fd1 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 15 12:32:52 2007 +0000 Fix test of object_changing in o_grips_motion() to a g_return_if_fail() This test isn't hit unless o_grips_motion() is called before the object_changing variable is set, and this would indicate a bug in libgeda or its client. This could currently cause a segfault if it were to happen, as the variable isn't initialised to NULL. Initialise object_changing to NULL, so any bug will always be caught. Tidy up indentation levels in o_grips_start() by returning early if we don't have any object to manipulate, rather than wrapping most of the funciton in an if (...) {...} test. commit 49bce50cbcfe83e7b53c4ffe76e4ca1edb333c38 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 15 11:37:51 2007 +0000 Remove un-needed box size computation in o_select_box_start() commit ec2269ef825369b75ab932f5395a2f64dae72847 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 15 11:19:48 2007 +0000 Fix stroke trail to be visible on light background color scheme commit a02bc0b501b7acbdf419ad306b46ec6a9522b61c Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Dec 15 11:12:47 2007 +0000 Erase stroke trails after an un-successful stroke recognition Previous behaviour was only to erase stroke trails after a successful match. commit 47240f890c2282d19a1822c280de4fac18a50e66 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Wed Dec 12 19:19:13 2007 +0000 gschem: Warn before overwriting files. [1846593] Also fixes a memory leak in the file save function. commit 405e7a33706d1e82d53c8d607aad11f9be8ad559 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Fri Dec 7 21:48:43 2007 +0000 General log handler improvements - Handle all messages above "debug" level - Send all messages which are neither "message" nor "warning" levels to console using default log handler - Don't print to console from the gschem log handler commit 22b3fde6c98fc0219e54bf7edfcd8dcb33c5fe92 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Fri Dec 7 21:48:18 2007 +0000 gschem: Show log in pretty colours. commit 668ada22ec0f2a48adffcc62daacc6876108ee71 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Fri Dec 7 21:48:17 2007 +0000 Pass all log info to x_log_update_func In order to enable applications to do interesting things with log messages, they need to have all of the log info (including severity and log domain). commit e0dda20b072897d6c00fddeddf729cab283a2810 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Fri Dec 7 21:48:17 2007 +0000 gschem: Show an informative message dialog when loading a file fails. commit be301530f468e4d0057b3be68e218ac444c2d2be Author: Peter TB Brett <peter@peter-b.co.uk> Date: Fri Dec 7 17:20:55 2007 +0000 Make libgeda's f_open() & f_open_flags use GError. This patch actually *removes* error message output from file loading errors is some cases. This is for the sake of keeping the patch concise, and will be addressed in later patches. commit e4a1fa8545e76b4ef82cc1253e65a844fa5fea88 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Nov 29 13:32:15 2007 +0000 symbols: Nicer names for default libraries Use the features added in the component library backend rewrite to give the default component libraries less cryptic names. Also, put them in a sensible order, and disable component library sorting by default so that that order is preserved. commit 49059356b318abbfa2ce977e017859049fd40162 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Nov 29 08:37:12 2007 +0000 gschem: Fix file loading commit 5cb63878f258bc836a9908b329608268c38cf64c inadvertently broken file loading completely due to a logic error. commit 5cb63878f258bc836a9908b329608268c38cf64c Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Nov 29 01:29:16 2007 +0000 gschem: Fix new page behaviour Currently, gschem attempts to load "untitled-1.sch" from the cwd at startup. This is clearly wrong -- gschem should present a blank page regardless of whether there is a page available on disk (consider behaviour for "untitled-N.sch", N>1). This has the side effect of stopping gschem from trying to load backup files for new pages (this is a good thing). commit 7228144a2195734300776a868ee88ee648a93df8 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Nov 29 00:29:15 2007 +0000 gschem: Fix "failed to set sensitivity" log spam A bad string in i_basic.c was making x_menus_sensitivity() spam error messages to the log. Altered the log message to make it easier to fix in the future. Bug was introduced in commit 93199b2f50c31691722ed154fc42fd4c01a2dac5 by editing menu definitions in system-gschemrc without updating i_basic.c. commit e97af7cb9cd0b79534cc2bf93e6e5dbf336e883a Author: Peter TB Brett <peter@peter-b.co.uk> Date: Wed Nov 28 14:58:15 2007 +0000 gschemdoc: Use xdg-open if available xdg-open is a tool from freedesktop.org which tries to use the user's preferred application to open a file or URL. This is a big improvement over using a hardcoded list of applications to try. commit ae225157603f063747709fa3d639ed8cdf63f6b1 Merge: 1abfd25 43b5713 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Tue Nov 27 07:53:37 2007 +0000 Merge with Cesar's mingw/pu branch Merge commit 'cesar/mingw/pu' into premerge commit 1abfd25bf917ee4e90ccdbbbe9921db6ff46c49f Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Nov 24 08:34:13 2007 +0000 gschem: Fix NULL pointer risk in x_image.c [1802087] x_image_update_dialog_filename may attempt to deference a NULL pointer. commit 74e7888ed1d23eac05d097f9d635d4a58a6576a3 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Fri Nov 23 21:43:49 2007 +0000 gschemdoc: Quote variables in case they contain spaces. [1792986] In the gschemdoc shell script, the variables $pdfreader and $browser need quoting on lines 86, 113 and 128 (eg "${browser}"). Otherwise, paths with spaces in, like "Program Files/Mozilla Firefox" commonly used in Windows don't work. Based on anonymous SourceForge patch. commit 8b490a404e682ac4f1e4cbd46e22c92f58b2ae76 Author: Tomaà ¾ à  olc <tomaz.solc@tablix.org> Date: Fri Nov 23 21:42:50 2007 +0000 Compilation fixes for Mac OS X 10.5 [1832417] This patch contains changes to gEDA source tree that were necessary to compile on Mac OS X (10.5 Leopard, PPC). commit 0b0d1259692ffe36e3bbc617af78bbf8a1c8f716 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Nov 18 21:34:57 2007 +0000 Improve object mirroring API in libgeda + gschem Implements the o_mirror_world() function which rotates any object, and o_{glist,list}_mirror_world() functions which mirror lists of objects. Moves o_complex_mirror_world() from gschem into libgeda, and modifies appropriate places in libgeda + gschem to use the new API. The old gschem function o_mirror_world() becomes o_mirror_world_update(), a convenience function calling o_glist_mirror_world() and ensuring all necessary drawing and connection updates are made. Removes the o_complex_mirror_lowlevel() function which is made redundant by the above changes. commit 21a8790b0540c374b00cfc45ad79ab474a4655b0 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Nov 18 21:34:35 2007 +0000 Improve object rotation API in libgeda + gschem Implements the o_rotate_world() function which rotates any object, and o_{glist,list}_rotate_world() functions which rotate lists of objects. Moves o_complex_rotate_world() from gschem into libgeda, and modifies appropriate places in libgeda + gschem to use this new API. The gschem function o_rotate_90_world() is greatly simplified, becoming a convenience function calling o_glist_rotate_world() and ensuring all necessary drawing and connection updates are made. This function is renamed o_rotate_world_update(). Removes the o_{complex,text}_rotate_lowlevel() functions which are made redundant with the above changes. commit 626f5c071a1dfea55e0214f6064b29908152d792 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Nov 18 19:21:34 2007 +0000 Update the all drawing state SCREEN co-ordinates when zooming / panning. By updating all of the co-ordinate state when zooming / panning, a redraw which includes a draw of any rubberbanded items will show them in the correct location. This allows XOR drawing to continue without dropping artifacts, or flashing up a "ghost" where the original element being moved was. The explicit erase for the gost item when moving is no longer needed. commit b20fa7e79e364fc8b5188ce8f6d9d807d8185a44 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Nov 18 19:19:20 2007 +0000 Rework o_drawbounding() to work without dropping artifacts in all modes. Simplifies both o_drawbounding(), and many functions which call it. No special casing outside o_drawbounding() is needed for OUTLINE vs. BOUNDINGBOX mode. Duplicated code has been reduced by making more use of o_drawbounding() during copying / complex OBJECT placement. This commit fixes bugs in code paths which aren't normally exercised, as the BOUNDINGBOX drawing mode isn't used any more. The code could be simplified further by removing the BOUNDINGBOX mode if desired. commit c3e9ed7bd974e4c8f8adbd7d61b44a11ed0edfe1 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Nov 18 19:03:12 2007 +0000 Don't redraw the selected objects which are being manipulated by grips This saves the need to explicitly erase those object after every redraw. commit 0b34786f4d28b57854f5cc4851afa40ac44b4ac3 Author: Cesar Strauss <cestrauss@gmail.com> Date: Fri Nov 16 09:33:52 2007 -0200 MinGW does not have getuid nor getgid. commit bdd7ef7ee9047c3942b43c165396ebe48d31e95a Author: Cesar Strauss <cestrauss@gmail.com> Date: Sun Nov 11 14:17:21 2007 -0200 Use g_path_is_absolute from GLIB instead of platform specific code. commit 40c0582e39d6a7ed0a41e0e5deedc0bfd03bbddc Author: Cesar Strauss <cestrauss@gmail.com> Date: Thu Nov 15 19:11:12 2007 -0200 Use forward slashes as path separators on MinGW. They are also acceptable as path separators on MinGW. commit d715ba7dc3e02d77e671b9ab54b994379daefec5 Author: Cesar Strauss <cestrauss@gmail.com> Date: Thu Nov 15 13:34:40 2007 -0200 Tell git to ignore .exe files. commit f71ae05abf00acdafa0d5626304ca6baa9851a53 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Nov 6 23:11:41 2007 +0000 Free gdk events obtained with gtk_event_get(). gtk_event_put() copies an event given to it, so if we retrieve an event and re-push it into the event queue, we still need to free our copy. commit 21f35c531c68e6ceafa09548e0de6040e1b1ce52 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Nov 6 23:11:39 2007 +0000 Refactor XOR drawing functions to avoid code duplication. commit 14da6cd4ad1e318b53f0d3b745667842a442bf66 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Nov 6 23:09:38 2007 +0000 Remove full screen redraw calls the rubberbanding and ..._end() functions. These calls aren't hit, as they were conditional on the inside_action flag being 0, which should not be the case when these functions are called. Temporarily add g_assert() statments to verify inside_action != 0 to prove these changes are appropriate. Assertions should be removed after testing. commit 5f08590dee1f13d4b771880d46f317e49253ccff Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Nov 2 18:27:56 2007 +0000 Remove the o_redraw_all_fast() function, as its not any faster now. Historically, o_redraw_all_fast() may have been used for faster drawing in some cases, however the o_redraw_all() call is now equivelant, with the addition of redrawing any "place" trails should gschem be mid-action. commit 23ead18086e59aab22945c37ff95f49e5747f277 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Oct 17 04:50:39 2007 +0100 Remove the ATTRIB linked list in favour of a GList The ATTRIB.copied_to pointer is moved from the ATTRIB struct to reside in the source OBJECT being copied. The ATTRIB *attached_to pointer of an attribute's text OBJECT is changed to OBJECT *attached_to, pointing directly at the OBJECT to which that attribute is attached. This avoids the need to traverse the ATTRIB list and retrieve this pointer from the HEAD attribute node. (A HEAD node is not used in the GList of ATTRIBs). The ATTRIB structure now only contains one element, OBJECT *object. This points to the text OBJECT holding and displaying that attribute's "name=value". commit 6f0ab03ed06d5cf0265a4f5bee516866efc16828 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Oct 17 04:14:38 2007 +0100 Tidy the o_drawbounding() function to make it more readable. commit 1ec03e992136e524a24b6bd593a4e0de3ce0158f Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Oct 17 04:14:25 2007 +0100 Add function o_erase_list() to gschem, to undraw a GList of OBJECTS. commit 20df014334dbd0b62e2ec3515ff932726c2a29c9 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Oct 9 22:27:02 2007 +0100 Tidy o_redraw() to be more concise and have a tighter inner loop. commit ccd73092afbe22bdd6ef9f17318481dc32e50c8a Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Oct 9 22:05:22 2007 +0100 Avoid use of global_window_current in gschem/src/x_dialog.c: color_set() commit f914d437f4a76df5ba28e80e7dab6f55996a8b59 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Oct 9 22:05:21 2007 +0100 Split out gschem specific TOPLEVEL variables into a new GSCHEM_TOPLEVEL GSCHEM_TOPLEVEL has a TOPLEVEL *toplevel pointer as its first elelment, gschem uses this to call libgeda functions. (Almost) all gschem functions now take the GSCHEM_TOPLEVEL as their first argument. commit 3da83d39b58ab2cb642b93b798ec31be0a725d81 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Oct 9 20:08:26 2007 +0100 Move o_redraw_single() from libgeda to gschem commit fe4375d7185c0d5f7cc8186c1a214981fb6d0edd Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Oct 9 20:08:26 2007 +0100 Move libgeda's o_selection_unselect_list() into gschem. The function calls o_redraw_single(), so should be in gschem. It is now named o_select_unselect_list(). commit f217428f8248d6e8491d943256d30d5e11d808d1 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Oct 4 19:42:01 2007 +0100 Remove OBJECT* linked list argument to o_drawbounding(). All code is now passing GLists of objects to this function. commit 185958029cb58e26d37854c7580bef1b0869a7c9 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Oct 4 19:42:01 2007 +0100 Use GLists to store OBJECTs in the "object_buffers[]" paste buffers. Replaces o_list_copy_all_selection2() with o_glist_copy_all_to_glist(). commit 38d3c48fd5a2ea57af5d772854393b39fd3b7e78 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Oct 4 19:42:00 2007 +0100 Make attribute / text placing use a new attrib_place_list GList. commit d1e77cc6b87f6bd78cfc38630c292ac2c0f1f09b Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Oct 4 02:44:18 2007 +0100 Remove the redundant toplevel variables current_{show,visible}. These variables were previously used for an interactive method of attrib placement which has since been removed. The current_visible variable was also tested during non-attribute text placement, but to no effect. Whilst the file-format does technically allow invisible text, gschem's UI pesesnts no way to achieve it, so removing this variable does no harm. The ability to correctly load schematics with invisible text remains. commit aa91395ad62805ec4112d602406888a328c43519 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Oct 4 02:36:19 2007 +0100 Remove the unused states for attrib placement: DRAWATTRIB and ENDATTRIB. Also removes the functions: o_attrib_{start|end|rubberattrib} which are no longer used after this. commit 6a0fb625ba8dfd3d8dceb1b44055d4920e4b2658 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Oct 4 02:35:53 2007 +0100 Remove the unused function o_erasebounding(). commit 4595948e41b2d195eb78a820fc15d0d8596067a4 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Oct 4 02:34:50 2007 +0100 Avoid accessing (GList)->{next|priv} directly to aid debugging. Instead use g_list_{next|previous}, allowing us to catch errors where changing from gEDA structures which had their own next and prev pointers. To debug, edit the glist.h include file from glib, renaming the next and prev elements in the GList structure and macros. Recompile gEDA to see any bad accesses such as those where the HEAD nodes were previously skipped. commit fc2b607031341f2f15b9c6f3d881e11895bdef50 Author: Michele Petrecca <michelinux@alice.it> Date: Tue Sep 11 22:49:03 2007 -0400 Updated Italian translation. commit e84c1d4ba2ad15e18f94346389d2671eb49d0cf5 Author: Ales Hvezda <ahvezda@seul.org> Date: Tue Sep 11 22:37:55 2007 -0400 Fixed a whole bunch of gtk+ 2.4.x and misc issues building on an older box This is a fix for (Patch#) 1789290 libgeda-1.2.0 fprintf which supplied a similar patch which fixes the issues in libgeda/src/s_clib.c and libgeda/src/s_textbuffer.c. In the future, all releases will be built with gtk+ 2.4.x so that these sorts of problems do not get released. commit bdc4d9ce6522fca0bf5332cb9c5228e03861c079 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Sep 9 14:14:44 2007 +0100 Avoid un-necessary usage of global_window_current in g_keys_execute() commit 8ca8f4d38990365a2455999ea7e649156d2f6f90 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Sep 9 14:14:42 2007 +0100 Avoid use of global_window_current in gschem/src/x_compselect.c commit fcbfa052a9bafdd11092a99909dc587476ef8612 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Sep 9 14:04:21 2007 +0100 Use a GObject constructor, not instance_init for compselect the dialog. Using a GObject constructor allows access to the construct time properties of the object during initialisation, whereas at execution of the GType instance_init function, those properties have not been set. commit 201b6aecab7f3f0f86b6d89479e7c229d4e6fb30 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Sep 9 12:51:00 2007 +0100 Remove unused TOPLEVEL variables display_{width,height} commit 2be89fae224e359b5e349341da160cd19542d53d Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Sep 9 00:54:12 2007 +0100 Fix grid snapping in "Edit->Mirror Mode" Where the user selectes Edit->Mirror Mode, then clicks a point about which to mirror, the snap operation on the mouse coordinates was not taking place until after the mirror. Bug was introduced with noscreen changes. commit 2e3c06cbcdce8254f70162ecebd650980cf70ee9 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Sep 9 00:18:34 2007 +0100 Remove the globally exported variable_set_func. Only gattrib provided a non-NULL export of this symbol, and such imports into libgeda prevent libgeda being dynamically linked on some platforms. To better match the other tools in the suite, gattrib's i_vars_set() and i_window_vars_set() functions were combined into a single i_vars_set(). commit f94d63a9a9f73e70b51c16b1e9f337bfa26b0de2 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Sep 8 23:26:47 2007 +0100 Use o_translate_world() to tidy up o_complex_translate_world() Removed o_complex_world_translate_toplevel(), and changed all useage of o_complex_translate_world() for generic lists of objects to instead use the new o_list_translate_world(). o_glist_translate_world() is also added. commit 36dc96b81aadceb9bb6e4c3d8b59939a2dc240e0 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Sep 8 23:24:27 2007 +0100 Rename o_complex_world_translate() to o_complex_translate_world() The function name now matches the pattern for other objects types. commit 4c7705297748e544ceeb1ac119ee44f7a72595c4 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Sep 8 15:26:31 2007 +0100 Remove unused function o_text_input(). commit 7e04d192b78dc0821efda3326e6ec676db424472 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Sep 8 00:17:05 2007 +0100 Remove o_complex_translate{2,_selection,_display_selection}() o_complex_translate{_selection,_display_selection}() were unused, o_complex_translate2() simply wrapped o_complex_translate_display(). commit 32dbd8536c17bcce9fbd9436fbb4c7efa32ee546 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Sep 8 00:17:03 2007 +0100 Removed unnecessary angle parameter to o_complex_rotate_world(), fix bug. Fix rotation code to support angles other than 90 degrees. All current users actually pass 90 degrees so this bug had no visible effect. commit 08ac872c975a587cf4125c6468c79c453661ee8f Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Sep 7 23:58:51 2007 +0100 Removed unused angle parameter to o_complex_rotate_lowlevel(). commit c66d009979f49bd7ac8ba0641a6974be9e6a82d5 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Sep 7 23:57:38 2007 +0100 Removed unused angle parameter to o_text_rotate_world(). From an old unmerged patch by Patrick Bernaud. commit 0529c40c453c6f1a958acc87a85974c7a3f871b1 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Sep 7 00:20:29 2007 +0100 Avoid use of gtk_cell_renderer_stop_editing(), which is GTK 2.6+ Instead emit the "editing-canceled" signal directly if necessary. commit 613dcf8d3c2cf0ef40278ff481cc44e68c98428a Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Sep 5 14:38:13 2007 +0100 Remove un-necessary variable re-initialisations in x_window_setup(). The initialisations removed are the same as those in s_toplevel_new(). commit bd101aa36356082f479e1bd4970ea93b01bbfa5d Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Sep 5 14:38:02 2007 +0100 Remove the un-needed TOPLEVEL variable: DONT_RECALC, and its usage. commit 5e9f49ed25bf87783207906daaf915714f43259c Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Sep 5 14:37:56 2007 +0100 Remove the redundant TOPLEVEL variable: DONT_RESIZE commit 863d3c63667dc1a106b21758f957d810ee6f5583 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Sep 5 14:37:49 2007 +0100 Remove the redundant TOPLEVEL variable: DONT_DRAW_CONN commit bf3a364ed474ce6f5824a5f3fe94a3c17ce8bc28 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Sep 5 14:37:41 2007 +0100 Remove unused variables from the TOPLEVEL structure commit 96495b7a87701b2ea8d7eb6b4da206d6c169a85c Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Sep 5 13:46:57 2007 +0100 Fix memory corruption and possible segfault copying attributes If an object (but not all its attributes) was selected and copied, dangling pointers were left in the un-copied attributes. A subsequent copy operation containing those missed attributes would attempt to reattach them to the copy of their parent. If this had been deleted in the mean time, memory corruption and a possible segfault would occur. Consolidates the duplicated code which sets the ATTRIB property "copied_to" into a helper function, o_attrib_list_copied_to(). This is also used to clean up after copy operations. commit 5b2cb25e06604a8d31dff974f323477a78f02f46 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Sep 3 16:48:32 2007 +0100 Move o_picture_set_pixbuf() from libgeda to gschem commit 07d5a095c313e031b939d45f89afcd1c0ca9bc97 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Sep 3 16:48:09 2007 +0100 Remove unused TOPLEVEL variable REMOVING_SEL. commit 70d8cc898e42b95a7ac463d9e879c959690fbd5c Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Sep 3 16:47:22 2007 +0100 Remove unused dialog pointers from TOPLEVEL commit 9044d41a2305c97522bc70cfd7945f9d843482ae Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Sep 3 16:41:28 2007 +0100 Removes the linking between TOPLEVELs, instead uses a GList in gschem commit d68adb7f7d91836a9fb4553e7cb7067c9ec2cd33 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Sep 3 15:32:27 2007 +0100 Make use of o_select_unselect_all() to reduce code duplication in gschem commit bae595bf000b1d64ff83053cef76bce7839640b4 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Sep 3 15:32:27 2007 +0100 Remove o_unselect_all() function, instead use o_select_unselect_all() commit ebabf4fa5667d2ab74b5443367b83228fad4d6d0 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Sep 3 15:32:25 2007 +0100 Remove unused GType instance_init functions in gschem. commit 96ca8a9a2804176b689f4fe89393259ec109a6d9 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Sep 3 15:28:33 2007 +0100 Remove unused header file gschem/include/x_event.h commit 283c545e77ada97b7bee7834c34708a8053abe60 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Sep 3 13:49:51 2007 +0100 x_compselect.c: Avoid using GValue to set properties where unnecessary commit 63ee20a80cd42e1af745f9a52cd1d632c1bc345a Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Sep 3 12:17:25 2007 +0100 Avoid using s_hierarchy_up() for traversal when we know where we're going. When trying to reach a specific parent we've come from before, we can use s_page_goto() and avoid the search through the page list. commit a1b83a7ed4edf0d857a7bcbb98d551a5653f0476 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Sep 3 12:17:19 2007 +0100 Fix indenting / whitespace in gschem/src/o_misc.c commit adca8b7d5897b11331c6a20392d22ad1e58ee572 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Mon Sep 3 12:15:43 2007 +0100 Replace the linked list of PAGEs with a GedaList (typecast to GedaPageList) commit 086908ed44c9abc6d5907888695933b59ead4684 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Sep 2 22:48:59 2007 -0400 Last minute updates to the READMEs for all projects Cherry picked from stable-1.2 branch, since these changes apply to master too. (cherry picked from commit 88fcb8d1bcdaa1436572d6a0ebe86f4df242a8d6) commit 2a79a231e0ced47d36636690614af348f47fe1d6 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Sep 2 21:11:05 2007 -0400 Updated po/pot files by running make update-po commit b018b88a1f2a88d246af850a67a15be5b19825b2 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Sep 2 20:54:49 2007 -0400 Fix for Bug# 1782032: Blank attibute name when attribute value starts with " " In order to fix this bug, we needed to validate the input attribute when: 1) input an attribute using the single attribute editor, 2) Add an attribute in the multi-attribute editor 3) Modify the name or value of an attribute in the multi-attribute editor An attribute is not valid if the name or value are empty, name ends with a space, and/or value starts with a space. o_attrib_get_name_value does this validation throughout gaf. commit 5a67f8a879c0f5bcfaa14daf6847064beebaf783 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Sep 2 18:52:50 2007 -0400 Moved refresh button in component select dialog box The refresh button was along the very bottom of the component select dialog box at the same level as Close, Apply, and OK. The refresh operation is not nearly as important or first class as these actions. The refresh button was moved to the filter area. Whether this change sticks depends on what users think of the new location (I'm quite willing to move it elsewhere if there is a better spot). commit f0c1bf37611b14dedcf1c4b45ac2319216f3293c Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Sep 2 18:21:24 2007 -0400 Added standard Control-z and Control-y keymappings for Undo and Redo commit 9f3b4e2520b8dc5adf3b77fd0dfbe1beec8398ef Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Aug 19 23:03:54 2007 -0400 Another set of po files changed via make distcheck commit 6056ef48272778419d39e0233f395bfd60019ab9 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Aug 19 22:40:19 2007 -0400 Update ChangeLogs using: ./update-changelogs.sh 1.0-20070526..master commit 19aacfff985ee9b478c4c50dfeeb1a8af5957c3a Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Aug 18 16:41:24 2007 -0400 Added undo-panzoom keyword to control if pan/zoom cmds are undoable The default is to still store the pan/zoom info when panning or zooming, but now the user has a choice. commit 93199b2f50c31691722ed154fc42fd4c01a2dac5 Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Aug 18 16:17:45 2007 -0400 Toplevel gschem menu tweaks Added ... to some entries that open up dialog boxes or other windows Changed the ordering of Hotkeys and About in the Help menu Removed obsolete comment about the help menu being right justified commit 92b3b65d0cec286b0ce59fc43cc07dcb60c39fa1 Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Aug 18 16:14:30 2007 -0400 Bumped versions to 1.1.2/20070818/30:2:0 for the next development snapshot commit e4b8aac64806c5f345d009ce725e16660d67cee4 Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Aug 18 14:21:53 2007 -0400 Added dist-license and use-license to the attribute-name keyword commit f90d327e8f415f35c94c686db846e8377bc0cd26 Author: Ales Hvezda <ahvezda@seul.org> Date: Tue Aug 14 08:01:18 2007 -0400 Updated po files using make update-po commit 72c4db8aa20c22baa4243a0d27b3bb3f32f3ef64 Author: Ales Hvezda <ahvezda@seul.org> Date: Tue Aug 14 07:46:06 2007 -0400 Moved 3 rc promotion keywords from gschem into libgeda (fix for bug#1748143) All the promotion keywords were moved from gschem into libgeda to fix: [ 1748143 ] gschlas causes duplicate prompted attributes The primary cause of this bug was that the promotion variables within TOPLEVEL were not being setup by gschlas and so duplicate refdes attributes were showing up in the schematic. The three rc keywords that were moved are: (attribute-promotion ... ) (promote-invisible ... ) (keep-invisible ... ) commit e04284b595dffa4b9931872ae33b76daede58dd7 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Aug 12 01:57:17 2007 +0100 Fix component selector filtering after using the "Refresh" button. commit 802a2fea15d9bd918bd2398ac06bf6ca9b2e75c4 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Aug 12 01:57:00 2007 +0100 Make updates faster when typing in the component selector filter. The filtering process doesn't happen until after the user pauses typing. Reducing the update delay from 300ms to 200ms makes this feel better. commit fa2045b8e9cac268fe0c0b7af2028ea768c8e465 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Aug 12 01:56:58 2007 +0100 Fix crash closing component selector window quickly after filtering. Typing in the filter box adds new update timeouts (300ms) with each keystroke. If typing fast there could be more than one timer active at once, however only the last added is cancelled when closing the dialog. Timers which ran after the dialog closed could cause a segfault. We now cancel any pending timeout before adding a new one. commit 663e133ff0c0e153a8081b36404c0808222c6dcb Author: Ales Hvezda <ahvezda@seul.org> Date: Fri Aug 10 22:00:58 2007 -0400 Added some net midpoint connections for testing purposes commit 703151a94b0eece6b24b3b18ce2465eeae068814 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Aug 9 12:36:17 2007 +0100 Remove old prototypes from various prototype.h where no function exists. commit 71600215311af0a98ed371ab750b09182de139a1 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Aug 11 00:52:25 2007 +0100 Revert inadvertent commits: dbfe00a20de3f875e519ef60629b968977fc5db8 (commit) f1451161914a0ed0bb43123279906d82cb7d5b49 (commit) 2ad315fc0badd16a9614d1107b22c973908893d5 (commit) d8844bb48969aa45a05cbe6836fc96c198e88c19 (commit) ee1b64a1ae07eb99eae5d63307e9fe23f9604662 (commit) commit dbfe00a20de3f875e519ef60629b968977fc5db8 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Aug 10 22:52:18 2007 +0100 Avoid using s_hierarchy_up() for traversal when we know where we're going. When trying to reach a specific parent we've come from before, we can use s_page_goto() and avoid the search through the page list. commit f1451161914a0ed0bb43123279906d82cb7d5b49 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Aug 10 22:45:48 2007 +0100 Fix indenting / whitespace in gschem/src/o_misc.c commit 2ad315fc0badd16a9614d1107b22c973908893d5 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Aug 10 21:30:24 2007 +0100 Add page list "changed" signal handler to gschem's page manager dialog. commit d8844bb48969aa45a05cbe6836fc96c198e88c19 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Aug 10 21:26:10 2007 +0100 Replace the linked list of PAGEs with a GedaList (typecast to GedaPageList) commit ee1b64a1ae07eb99eae5d63307e9fe23f9604662 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Aug 10 01:32:27 2007 +0100 Add different select box behaviour for left-right and right-left drags Selections boxes dragged from... left to right: select elements entirely contained within the box. right to left: select any element partially inside the box. commit 0f5c72daacfa7d78666769e4063122934861da5c Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Aug 5 22:36:56 2007 +0100 Alter guile 1.6 compat tests to work with older autoconf versions Don't use AC_DEFINE to define function like macros, instead use AC_CHECK_DECLS to set a HAVE_DECL_..., then use AH_VERBATIM to insert a test which defines a replacement if necessary. commit 5c098070b87709540345afb1b3b79d9db470ed53 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Aug 2 22:09:52 2007 +0100 Fix configure checks enabling guile 1.6.x compatability routines. commit 512561395fb348a0fb71625edb4fe1ec96553c3f Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Aug 2 13:17:58 2007 +0100 Fix to allow automatic loading of untitled backup files commit 4cbb0c15240f649cfd69b120e7ed7ecd6c752896 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Aug 2 13:16:22 2007 +0100 Fix drawing artifact when dragging a net / bus to zero length. The grip dragging code cancels editing if you resize to a zero length line segment. Don't attempt to undraw the (zero length) rubberbanded line after the coordinates have been invalidated. commit 8dc511639494940987582871d9f2efa09ecc2b37 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Aug 2 13:07:30 2007 +0100 Refactor code in o_grips.c to reduce duplication Also make many whitespace fixes. The code paths should remain the same. commit 92ef419c46d5a41aa33b399d43ccde2ba2a99998 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Aug 2 13:06:09 2007 +0100 Fix drawing of cues after moving a single line segment commit 0a7ab22a482a896818dff52fbf289856d76efc87 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Aug 1 22:58:05 2007 +0100 Alter grammar in gschem's "Unsaved changes" dialog box. commit c31bd4adb677d671af8bdf5aed71f96a4995f9b1 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue Jul 31 20:03:51 2007 +0100 Changed configure.ac(.in) to allow guile-1.6 Introduces compatibility #defines where guile 1.8 funcs are missing in guile 1.6. Also adds missing configure.ac checks for guile in packages gattrib, gnetlist, gsymcheck and utils. commit 30a86f3458c5a1562d97d33b06320647ed23132e Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jul 28 01:18:44 2007 +0100 Change color in the multi-attrib dialog "value" entry when insensitive. Makes the "value" GtkTextView look the same as its neighbouring widgets when insensitive. Unfortunately GtkTextView always appears to render using the style's GTK_STATE_NORMAL text color. We save that initial value, and copy across either the saved value, or the GTK_STATE_INSENSITIVE text color when setting the widget sensitivities. NB: This is just a workaround for what appears to be a bug in GTK+. commit f8f5c1f05c9c2dfa1d2566a113e9c295049f7564 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jul 28 00:05:03 2007 +0100 Update the multi-attrib dialog after an undo operation. The undo mechanism replaces the page (and selection object), so we need to poke the multi-attrib dialog after an undo operation for it to watch the new page's selection object. commit ae2ddeb6839ae4e2c9e9c73272b0372c63810717 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Jul 25 15:36:42 2007 +0100 Don't blank the add attribute boxes in the Multiattrib dialog. Leaving the text present after adding an attribute makes it is easier to add the same attribute to multiple objects. Instead we add a "grab-focus" signal handler to select the text box contents as we tab into it. commit 31f65059cf1ce5be9b8a0987d4538fed075a6805 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed Jul 25 02:09:15 2007 +0100 Fixed two calls to free() where g_free() should have been used. Updated Doxygen comments to note where memory should be freed with g_free() rather than free(). Commented three instances where free() is correct. commit 852786d7dc90eebdc677e5d2af916d577d5f3aaa Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jul 22 17:12:12 2007 +0100 Clamp page canvas size in the preview to the size of the page contents Ensures the user can't zoom way off the page contents being previewed. commit 41ce0eb61b4b91d407d788a7ae1eb823d60fbdfd Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jul 22 17:12:08 2007 +0100 Alter panning code to center the page in the viewport if under-zoomed Centering is independant in the X and Y directions. When the viewport is larger than the page canvas in a particular direction the page is re-centered in that direction. This is necessary for a nice preview. Also change preview widget code to remove the A_PAN_IGNORE_BORDERS flag from zoom operations, which is no-longer needed with the above changes. commit 42034b5e81a0a4d40254aa2ef557083531d38291 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jul 22 14:32:05 2007 +0100 Stop scroll events wraping the pointer when the preview widget is inavtive Also corrects the prototype of the scroll event handler to return gboolean commit 3345932d7fcaad0570ebd793f88253696a014895 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jul 22 14:15:35 2007 +0100 Clear the preview when no valid file is selected in the file chooser Previously the preview widget would continue to display the last schematic or symbol which had been selected. commit 867525cce75bcf9996992db1681f506f4fcdc84f Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jul 22 14:14:37 2007 +0100 Clear preview and stop placing components when no valid symbol is selected. Previously the component selector preview would continue to display the last symbol which selected, and component placement could continue. commit c217b2b5160867c85ef89d53c5035adfc430da09 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jul 22 14:02:12 2007 +0100 Fix some memory leaks when placing components. In several places the complex_place_list glist was freed, but its contents were not. commit ac28aaa56a684a07fe3ee5590a31baf3fa8adbe7 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jul 22 05:33:42 2007 +0100 Save/restore which component selector source tab was last used. commit 7f54d6e4996f15d14781a49b3400ce89a39a60dd Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jul 22 05:10:27 2007 +0100 Make the preview widget resizable Added handler for the configure event to resize the backing store and re-zoom the preview. Added the A_PAN_IGNORE_BORDERS flag to the zoom extents calls - giving a nice centered preview. Altered component selector dialog's alignment widget to allow the preview widget to expand to fill the available space. commit 50a6da87868ce9d0f3cc788a8a9918fd9210a536 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jul 22 04:52:23 2007 +0100 Fix mouse initiated zoom / panning operations on the preview widget The preview widget isn't called with a filename for previewing component sources, so the test for filename != NULL in the mouse event handlers stopped those callbacks working. Also added a scroll event handler to allow zooming with the mouse wheel. commit 8ad905e0d55b7ed60b3f5c63cf6056ddccee7a8b Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jul 22 04:49:35 2007 +0100 Fix zoom extents to work correctly first time. Closes bug #1699959. A page's visible area is intialised to be the same size as the canvas extents. The zoom extents code scales based on this visible area, however this initialisation isn't correct, since the aspect ratio of the screen doesn't always match the canvas extents. The first call to zoom extents would fix this by correctly setting the visible area. By making the zoom extents code work from the screen aspect ratio (scaled to world coordinates), we can zoom to the visible extents in one shot. Also fixed some /2 operations, which for doubles should be /2.0 commit e4f7225254cb5168131d31347a8de277181f41ea Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jul 21 19:16:50 2007 +0100 Save/restore geometry of the GtkHPaned in the component selection dialog. commit a139f2ed1ec50ad2a0fec4e91c7e51dd690d983a Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jul 21 19:16:24 2007 +0100 Extend GschemDialog to allow hooking to save/restore internal geometry GschemDialog now emits "geometry-save" and "geometry-restore" signals which instances can connect to. Subclasses may over-ride and chain the "geometry_save" and "geometry_restore" class members. These signal handlers are passed a pointer to the GKeyFile and a text string identifying the group it expects data to be saved under. The code relies on features only available in GLIB 2.6 onwards. When using this functionality the code must be surrounded with an appropriate test as the class functions are not defined when compiling against an older GLIB. commit 91ffb796f41ca6ee7a5ed1063917f7bb3fd03464 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jul 21 19:16:09 2007 +0100 Separate the list and preview with a GtkHPaned in the compselect dialog. commit 5e47599e07b5bed9d24b5c295db7a5e05f7c4624 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Jul 20 17:36:39 2007 +0100 Added missing test to allow pins to work with the multiattrib dialog commit 6287df1357bdfc0188f5fa60df5d88f5fc5e4b40 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Fri Jul 20 14:15:10 2007 +0100 Make the multi-attribute editor non-modal This implementation only supports editing when a single object which can have attributes is selected. Work is required to act more intelligently if an attribute its-self is selected, and with multiple selections. commit 1dfb3a4b9907ff81552de57080d2897ab40e512c Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Jul 19 15:13:03 2007 +0100 Make the Escape key cancel editing in the multiattrib dialog. The previous behaviour where it would quit editing but save the changes is counter-intuitive for the user. commit c06b6684296a2ec6765036b28e8c48a50c2b8928 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Jul 19 15:13:00 2007 +0100 Remove workaround for an unknown property with GTK 2.2 in x_multiattrib.c commit cb9c4ee19ca58158308a234782fdad6fb60257da Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Thu Jul 19 15:09:56 2007 +0100 Change selection code to use a generic GedaList typecast to SELECTION. GedaList allows various parts of the program to keep track of changes to the selection via callbacks attached to the GedaList object. commit b5caa78a6dd9227d328397cb77ac4b0731c7d1c9 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jul 15 12:55:54 2007 +0100 Remove unused function e_gtk_button_new_with_icon() from x_pagesel.c commit 5dfe42146dfee7dd0909cda7615279228bc09d70 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jul 15 12:55:47 2007 +0100 Split out update(s) when notify::toplevel on GschemDialog is recieved. We need to perform various setup actions when the toplevel property of our parent GschemDialog is set. We need to make this a specific function, as the current method of just calling pagesel_update isn't correct for all future cases. commit cd7db8026b00934afc6acc1ff8f5467021194287 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jun 24 04:21:39 2007 +0100 Fixed memory leak placing components. When placing components we free'd the complex_place_list without removing the objects it pointed to. The code now uses s_delete_object_glist(..) rather than g_list_free(..) to free the complex_place list and its objects. commit 9cc487143fe371181bc0fea41e94c03a54b776f9 Author: Werner Hoch <werner.ho@gmx.de> Date: Tue Jul 10 17:32:59 2007 +0200 gschem: updated german translation commit b41713e02347002424ca8c18aaa0f9f6a4a6e660 Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Mon Jul 9 19:33:45 2007 +0200 Updated spanish translation. commit ff036cbb89336c48106b064af499b6e841c7d8a5 Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Mon Jul 9 18:36:36 2007 +0200 Disable rotating while copying, & fix hitting rotate hotkey/menu while moving. Rotating while copying is still not supported, so disable it. Fix behaviour when hitting the rotate hotkey, or select the edit->rotate menu while moving. Previously the move action was cancelled and then the selection was rotated. Now, the objects being moved are rotated, and the move action continues. commit e978b9098c7567ad3b9c834a5e4914de3bc039ec Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Jul 8 18:18:39 2007 -0400 Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master commit e653983c3177bdadfecb56f49662f5cb39c5749b Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Jul 8 18:17:28 2007 -0400 Updated all pot/po files (via make update-po). commit d7e8f5abc35644e90bfabf84396023cab09f2968 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Jul 8 16:18:57 2007 -0400 Updated configure.ac[.in] and Makefile versions in prep for a release. The update was done by running ./update-versions.sh 1.1.1 20070708 30:1 at the toplevel. libgeda's shared library version is now 30:1:0 commit 3f3505662fe4bb8c585aea0ea965296bd923956c Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Sun Jul 8 21:16:17 2007 +0200 Added *~ to .gitignore files. commit 3cf1cca33ed2e567b959ad8486cad0d4cdbb47e9 Author: Ales Hvezda <ahvezda@seul.org> Date: Sun Jul 8 13:55:38 2007 -0400 Added some missing code to controlling junction color (more for #1746675) commit 4f245d7023eec872e5dd484530dff9a77ff77dfc Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Sun Jul 8 19:47:14 2007 +0200 Set the focus to the filter entry only if it is visible. In the compselect window, focus can be set to the filter entry only if it is visible (i.e.: its ancestor is the current tab). Otherwise, GTK is confused. commit 29f4868bb8ac570445da493c69afb91aafcf69d0 Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Sat Jul 7 01:03:41 2007 +0200 Disable rotating using middle mouse button while copying. Rotating while copying is still not supported, so it should be disabled. Now middle mouse button does nothing while copying. commit f30cf1a2fd45898b62e236116a84059bd0df9544 Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Sat Jul 7 00:55:05 2007 +0200 Fixed drawing bug when attribute autoplacing is enabled. When rotating while placing a new component, the refdes was drawn wrongly, and it was shown fixed in the screen despite the component being moved. This was due to attribute autoplacing function was called before drawing the component. This function erases the old text (which wasn't drawn), thus drawing the text in the screen permanently. This fix disables all drawing functions when calling autoplacing function, and renables them afterwards. commit ecf159040422c5625de6b615c1070b7a1d58c511 Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Sat Jul 7 00:41:05 2007 +0200 Fixed drawing bug when using attribute autoplacing. When placing a new component, if attribute autoplacing was enabled, the refdes was drawn wrongly, and it was shown fixed in the screen despite the component being moved. This was due to attribute autoplacing function was called before drawing the component. This function erases the old text (which wasn't drawn), thus drawing the text in the screen permanently. This fix disables all drawing functions when calling autoplacing function, and renables them afterwards. commit 5dc09fc232bf36dc219e86e78bad92631d2c244a Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Sat Jul 7 00:35:07 2007 +0200 Moved default attrib positions out of system-gschemrc. All default attribute positions, used for attribute autoplacing, have been moved into its own file, scheme/default-attrib-positions.scm . The above file is loaded in system-gschemrc. commit 411ddc16df3bf9388d80107503c165a8c88304b1 Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Fri Jul 6 23:38:31 2007 +0200 Consider line's width when calculing net directions. In text autoplacing function get-net-connection-sides, consider line's width when guessing net directions. commit 68b495e6b75b802a9c77889c223d680e8359ce91 Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Fri Jul 6 23:13:03 2007 +0200 Display a warning message if can't guess net direction. In attribute autoplacing, display a warning message if net direction can't be guessed. commit 1361831fc9e44bcc719f73d68f4d5b119963bb57 Author: Ivan Stankovic <ivan.stankovic@fer.hr> Date: Thu Jul 5 09:18:48 2007 -0400 Possible fix for bug #1748079: CRASH: gschem segfault on file save or open commit dd995d808b9f4440db48d2daa2473a9d9cfd88ef Author: Ales Hvezda <ahvezda@seul.org> Date: Thu Jul 5 01:36:31 2007 -0400 Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master commit a680faf8e3121c2b999bc5168a2910fb83f11ffc Author: Ales Hvezda <ahvezda@seul.org> Date: Thu Jul 5 00:57:07 2007 -0400 Updated all pot/po files (via make update-po). Added new menus to rcstrings.c. commit 099c49e5689afda4b8a5221dde73f9fdf1972ce7 Author: Ales Hvezda <ahvezda@seul.org> Date: Thu Jul 5 00:11:45 2007 -0400 Updated all version strings to 1.1.0 and 20070705 commit 87731dda219b0986fed0d1a7789e17678dd79d8c Author: Ales Hvezda <ahvezda@seul.org> Date: Wed Jul 4 23:55:07 2007 -0400 Removed AM_MAINTAINER_MODE from all configure.ac[.in] files. Maintainer mode is no longer needed or desired now that we are no longer using CVS. Hopefully this will prevent some of the odd problems that were observed during the last release when the Makefile's didn't get auto regenerated. commit dc7b8c53f4bc94626634887e46167a367a91f707 Author: Ales Hvezda <ahvezda@seul.org> Date: Wed Jul 4 23:32:15 2007 -0400 Changed gEDA/gaf's version mechanism to use new dotted X.Y.Z convention Added DOTTED_VERSION and DATE_VERSION variables to all configure.ac[.in] files. Changed all version related output to be DOTTED_VERSION.DATE_VERSION. Updated the configure.ac[.in] files to have consistent top sections. Updated code and various scheme files to use the new DOTTED_VERSION and DATE_VERSION variables available via config.h. Stopped using PREPEND_VERSION_STRING as the mechanism for doing the dotted versions (not intended for that use). Updated update-versions.sh script to set the version in all the configure.ac[.in] files and the toplevel Makefile. Went through all the g_rc.c files and make the handling of rc file mismatch handling consistent. commit dbf600e34e2284fe1ec59242d541334bc27d3d49 Author: Ales Hvezda <ahvezda@seul.org> Date: Wed Jul 4 16:51:32 2007 -0400 Implemented the ability to change the color of junctions (code for #1746675). The filled circles (at the junction of nets) and filled boxes (at the end of unconnected nets) were the same color and it was hard to tell the difference from a distance. This patch addes (junction-color ...) rc keyword and allows the user to change the junction color. The default color for the dark color scheme is yellow and the default color for the light color scheme is purple. commit ca4571b1a6a49c97feb8fc6cc8cb926acc287ece Author: Peter TB Brett <peter@peter-b.co.uk> Date: Wed Jul 4 18:03:53 2007 +0100 libgeda: s_clib_toplevel_get_symbol_names() is poorly named. s_clib_toplevel_get_symbol_names() returns symbols, not names of symbols, so rename it to s_clib_toplevel_get_symbols(). commit 96f9c87ef4063b52dd4d13f51958b916ba4e5939 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Wed Jul 4 18:03:53 2007 +0100 gschem: Add "In Use" view to component selector. The "In Use" view shows symbols which are instantiated in open schematics, for ease of adding more symbols similar to the ones already present. This is particularly useful for frequently-used symbols such as resistors and capacitors. commit b1733d4d69d3a2e6fcb64e91a26dab2768f4e171 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Wed Jul 4 18:03:53 2007 +0100 gschem: Add a "Refresh" button to component selector. In order to update the symbol library, a "Refresh" button is needed (because we don't do it automatically any more). commit cb6e4e5e98ed45427f60d718f7dbb5d5439eecef Author: Peter TB Brett <peter@peter-b.co.uk> Date: Wed Jul 4 18:03:53 2007 +0100 gschem: Don't use generic response IDs for compselect actions. The component selector "OK" and "Apply" buttons aren't actually "OK" and "Apply" actions, so they shouldn't use those response IDs -- it's confusing. This patch adds special response IDs for these actions. This is a preparation for using "proper" Place and Hide icons & text. commit 7c6419f49cb211ce74e7a8787148d2fd624482e7 Author: Alex Precosky <precosky@mac.com> Date: Sun Jul 1 16:55:13 2007 -0700 gschem: Fix a race condition with mouse wheel scroll events (1740327) If more than one mouse wheel scroll events are received into the event queue before the first one can be processed, then the program was zooming in to the wrong location. This is because the mouse moved event handler, which is triggered by a call to warp the cursor in the scroll event handler, must run to update the mouse postion global variables that the scroll event handler needs. commit 62b214780e34aea9b56993f2b699cb78d50d4769 Author: Werner Hoch <werner.ho@gmx.de> Date: Wed Jul 4 17:35:06 2007 +0200 Set default button for single attribute edit dialog Fixed wrong setting of the default button in the dialog. Added the set property to the value entry. [Suggested by Kai-Martin Knaak] commit b034307ae05d909a726c09d4eb02a5eed6f401ea Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Jun 28 18:08:04 2007 +0100 gschem: Support preview of symbols from all library types. commit 907857c70c12707f00696d0688eb8392ac1e9294 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Jun 28 18:08:00 2007 +0100 gschem: Preview data from a buffer. Add the ability to parse & preview a gEDA schematic or symbol from a character buffer. commit c144221daf8ef133f39e14c76447a1b556c54853 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu Jun 28 15:50:31 2007 +0100 libgeda: Add fine-grained control over f_open() behaviour. Add a function f_open_flags() which takes an extra argument which is a set of flags controlling actions taking while opening a file. f_open() wraps this with a default set of flags. Coincidentally, this also leads to a trivial fix for the file open dialog backup-message bug. commit dc88c870d8d9ba66855f03fd3bc678d8b9f34cf2 Author: Ivan Stankovic <ivan.stankovic@fer.hr> Date: Wed Jun 27 19:47:46 2007 +0100 This patch removes most of the unused code from gschem. commit 2a0abb503110a7b7cfe5739f26bc1e4c7d939fff Author: Peter TB Brett <peter@peter-b.co.uk> Date: Wed Jun 27 16:47:20 2007 +0100 Correct some typos in gschem default texts. commit 2b8cc26ddbb4af4db653d913c49f6d365dc89df9 Author: Werner Hoch <werner.ho@gmx.de> Date: Tue Jun 26 22:25:01 2007 +0200 updated german translation commit 57b2848a7e69d19e18ac03a1264cb55d41c65d0e Author: Ales Hvezda <ahvezda@laptop.ales.net> Date: Mon Jun 25 22:31:07 2007 -0400 Changed/updated the #define mechanism for creating custom gEDA/gaf versions. Previously this mechanism was used to create custom versions of gEDA/gaf. With the coming of stable and development versions of gEDA/gaf, this mechanism was changed so that end users can tell the difference between a stable release vs a development release (by looking at the version string). The CUSTOM_VERSION #define was changed PREPEND_VERSION_STRING and is now prepended to any strings that output the VERSION string. commit daa5d16aee1f0ec58cced5ca835dcb4f53339339 Author: Ales Hvezda <ahvezda@laptop.ales.net> Date: Mon Jun 25 21:23:32 2007 -0400 Updated Makefile.am to not include VOCABULARY file. commit 0ad58a2c8e82ff00b71c600d54cf76bc4860e24a Author: Ales Hvezda <ahvezda@laptop.ales.net> Date: Sun Jun 24 23:57:16 2007 -0400 Removed ancient VOCABULARY file. This file has been superceeded by the glossary that is in the wiki. commit 0ed9cf080cfc8509cb29cbe4e976f86b2821c407 Author: Ales Hvezda <ahvezda@laptop.ales.net> Date: Sun Jun 24 23:48:51 2007 -0400 Updated copyright text/header in most source files. Updated all copyright text dates that have my name (Ales) associated with them. Added gEDA contributer copyright text where appropriate. Fixed a bunch of GNU text typos (these should have been either GPL or gEDA). Removed some $Id$ tags which are no longer used/needed. Fixed a few file header that were just plain incorrect. commit a4e956c6272ea982ec54327dcc5e3aa528ac8c99 Author: Ales Hvezda <ahvezda@laptop.ales.net> Date: Sun Jun 24 22:22:32 2007 -0400 Added *.o (all object files) to all src .gitignore files. commit 1c76ee9d84ea4fcdc924d992ecc3a828887eff4f Author: Ales Hvezda <ahvezda@laptop.ales.net> Date: Sun Jun 24 22:17:03 2007 -0400 Removed all trace of libgd usage and removed some old ps printing routines. All trace of libgd and HAS_LIBGD has been removed. Some obsoleted and commit 868d31c36736b1ceebdd9a7cea6d12d12ecf89a9 Author: Ales Hvezda <ahvezda@laptop.ales.net> Date: Sun Jun 24 15:46:46 2007 -0400 Removed libgd and indent tests from configure scripts. indent is no longer use since noweb was removed a long time ago. libgd is no longer used since libgeda/gschem uses mage export support in gdk. commit cb63bf6506caf145d44f454734a1f4d712fa9216 Author: Ales Hvezda <ahvezda@laptop.ales.net> Date: Sun Jun 24 15:07:58 2007 -0400 Compile fix to the NL translation. commit cdd6b8669301baafb118ef3d76bb54a2f99a077b Author: Bert Timmerman <bert.timmerman@xs4all.nl> Date: Sat Jun 23 23:47:06 2007 +0200 Update gschem Dutch translations. commit df71a28480510dd3c82eb1e551325f17ae16f958 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sun Jun 24 06:37:21 2007 +0100 Always draw text placeholder box in correct place (#1740620). When dragging text in "fast" mode (where the text is replaced by a bounding box), the box was drawn in the wrong place if the text isn't anchored in the usual bottom-left position. commit adb2dc9eedb72dc180e081ded2fc1ed20dde0a23 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sun Jun 24 03:48:30 2007 +0100 Fix bug #1741452, segfault on "Include component as individual objects" Inserted a missing line to set the complex place list to NULL after freeing its contents. commit 214166747c3146cd21af1e346c8ad1b1351dcde8 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Jun 23 20:07:36 2007 +0100 Revert po file changes in edff766e8b15c311505810241528026f722e30b6. commit edff766e8b15c311505810241528026f722e30b6 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Jun 23 18:19:11 2007 +0100 Make sure various files are installed. Several new files were not being distributed. This patch addresses the problem by adding files to EXTRA_DIST in automake input files. commit e57c37a66edc1c4d4e4d7160001749df51b96c4b Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jun 23 18:17:29 2007 +0100 Move all .cvsignore files to .gitignore files commit 065595ccd8b5e77616c29a37742357cfab0ae7f7 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Jun 23 16:11:44 2007 +0100 Changes to ChangeLog usage. With actual changes this time. Old-style changelogs as of gaf 1.0 (release of 26th June 2007) are moved to ChangeLog-1.0; new (blank) ChangeLogs replace them. A script has been added to the gaf top level to allow maintainers to update all the ChangeLog files immediately prior to making out a release. commit 67038ed9bece3a1317757b58a982ed29af2831c6 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Jun 23 13:50:57 2007 +0100 Don't cache symbol pointers in persistent structures. Several persistent structures, including TOPLEVEL and OBJECT, cache pointers to CLibSymbols. This is bad, because it makes removing component sources or rescanning them likely to cause stale pointers around the place. With fast hashtable-cached searches in place, this is no longer necessary. This patch ensures that only symbol names are stored persistently. This patch also enables descending into embedded symbols using a component library lookup on the embedded symbol's name. commit 1c226a4ebe5f297460cccf8568b7d7b7b2179253 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Jun 23 13:32:45 2007 +0100 Factor out TOPLEVEL.current_clib. commit fe621022acfbe69688878b70d4c40883f8f2a3df Author: Peter TB Brett <peter@peter-b.co.uk> Date: Fri Jun 22 08:34:33 2007 +0100 Add s_clib_get_symbol_by_name(). Add a new function which returns the first exact match for a given symbol name, printing log messages if either there are more than one match or no matches are found at all. Also update s_clib_symbol_get_data_by_name() to use new function and remove o_complex_add_by_name() as more or less redundant. commit 01fd87d78aa26d3c29b4141878b5f48edab264ec Author: Peter TB Brett <peter@peter-b.co.uk> Date: Fri Jun 15 09:05:53 2007 +0100 Make comp. library search faster and more flexible Replace s_clib_glob() with s_clib_search(), which can operate in either exact matching or glob matching mode. Use a hashtable to cache the results of library searches. The hashtable is cleared every time it is invalidated (for instance if a component source is added or removed, or the component sources are rescanned). commit 9dde0233ebed32065511b567445f9f34d4b3bea1 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Fri Jun 15 09:06:56 2007 +0100 Refactor system RC files Moved system-gafrc into the libgeda package, where it belongs. Removed all environment and configure substitutions. Created separate font and component library setup scripts in the symbols package, automatically loaded by system-gafrc if they exist. Updated system-gschemrc to use new infrastructure. commit 7067e71ef1558ceb94772a703cde1463233460fe Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Wed Jun 13 16:59:29 2007 +0000 Removed code handling escape key presses in dialogs. Since GTK takes care of escape key presses, this code is not needed. Applied patch from Ivan Stankovic. Fixes bug #1710818 for gschem. Thanks. commit 2a2fa60eee536f48cc27c16f2577106e78250ed6 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Jun 9 20:30:14 2007 +0000 Fix gschem's sort-component-library option In the last release, the sort-component-library gschemrc option did nothing. This patch corrects the issue, by adding an argument to s_clib_get_sources which enables or disables sorting the list of component sources. commit 1b18f93b85cc01a9d091795f94f4559372d165ad Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Sat Jun 9 19:09:13 2007 +0000 Load the GTK missing image pixmap if a pixmap is not found. Improve fix for bug #171449, loading the GTK missing image pixmap if a pixmap is not found. commit 378040ccd23339eedffd06e9d84867ca719fa659 Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Sat Jun 9 16:42:34 2007 +0000 Added check for missing pixmap file. Fix for bug #1714493. If a pixmap file doesn't exist, write a message to the log window. Thanks to the anonymous submitter. commit eed0be648afd9bc421a8d0059de621df778c5fbe Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Sat Jun 9 16:09:36 2007 +0000 Avoid writting '\r' to files on MinGW. Applied patch #1733826 from Cesar Strauss. Thanks. When using the "w" mode in fopen, MinGW translates LF into CR-LF. This creates havoc when reading the same file again, when sharing schematics files with other systems, and when placing them in a VCS. This can be avoided by using the "wb" mode. The "b" is ignored on all POSIX conforming systems, according to these sources: http://www.die.net/doc/linux/man/man3/fopen.3.html http://www.opengroup.org/onlinepubs/009695399/functions/fopen.html There are other ways, however. Adding #include <fcntl.h> int _fmode = _O_BINARY; on some source file should work as well. Another way is linking against the MinGW supplied binmode.o, which does exactly that. commit 21d3dbc1ef88701b60aacc700d2cc9fec1a88f8d Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Jun 9 15:14:07 2007 +0000 Applied a few patches from Ivan Stankovic commit 419b4d152b0b2ae6546052ccb8d87ef26fa83752 Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Sat Jun 9 14:59:01 2007 +0000 Added EPS support. Applied patch #1713747 (with minor tweaks) from Wojciech Kazubski adding support for EPS when writing an image. Thanks. commit 4e55d9355a69f2005b9afc2596526a133caf8524 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Sat Jun 9 14:54:33 2007 +0000 Added call to g_thread_init() in Gschem and Gattrib. Gschem and Gattrib aren't threaded, but some of GTK's file chooser backends uses threading so we need to call g_thread_init(). commit ef0ca7042e49ed3f26ec61c71085378ab04fef6e Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Jun 9 14:44:27 2007 +0000 Applied patch from Ivan Stankovic that displays entered characters in the status bar commit 251771e1f9acab07a3721d5828873464f56fa347 Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Sat Jun 9 12:59:32 2007 +0000 Changed nil by #f. Nil is no longer supported by guile 1.8. Applied patch from Peter Clifton changing nil by #f. Thanks. Note there are still some files using nil. commit bca8aacb0b3dd8f03851fa7c50d287b458eb045e Author: Carlos Nieves Onega <cnieves@iespana.es> Date: Sat Jun 9 12:17:28 2007 +0000 Set alternative button order after buttons are created. Apply patch from Cesar Strauss, moving the gtk_dialog_set_alternative_button_order call after buttons are created, in the component selector window. Thanks. commit 3d58ffc27e6d915c4b1ebbd6f6b96d98d6126b7b Author: Peter TB Brett <peter@peter-b.co.uk> Date: Mon Jun 4 16:15:37 2007 +0000 Replace deprecated Guile functions & macros. Replace deprecated SCM_STRINGP, SCM_INUM, SXM_INUMP & SCM_MAKINUM with recommended equivalents for Guile 1.8. commit 66fb25858496cdf33e1456b835d68a16bb7ccdcd Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat Jun 2 16:33:34 2007 +0000 Improve Guile configure checks & remove 1.4 compat. code. Removes compatibility code for Guile 1.4, and makes configure scripts check for actual Guile version. commit 14fb224ec0f09b0b95a083abcaf3f5eaaf41b74f Author: Ales Hvezda <ahvezda@seul.org> Date: Sat Jun 2 01:02:42 2007 +0000 Fixed a behavior where you would cancel (via right mouse button or escape) the placing of components, but gschem would still be in the add component mode (and clicks would still place components). commit dcb48381f14f16e8786f70c4dae231f170539aac Author: Peter TB Brett <peter@peter-b.co.uk> Date: Thu May 31 21:29:47 2007 +0000 Cleanup code for status bar messages. Applied patch from Ivan Stankovic cleaning up code used for displaying status bar messages. commit a50de86a4c0f45a1202c3fac77ba1b712de29330 Author: Dan McMahill <dan@mcmahill.net> Date: Wed May 30 04:11:07 2007 +0000 Use "=" instead of "==" as an operator for test as the former is portable and the latter is a bash-ism commit 103524d50813c8a9490c9f4ebba1b72a3e4f36b5 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Wed May 30 00:10:22 2007 +0000 Committing src/gschem_dialog.c and include/gschem_dialog.h which were missed in the last commit. commit 98e738a12c2351a2613f3fef9ff0400df62247c3 Author: Peter Clifton <pcjc2@cam.ac.uk> Date: Tue May 29 23:06:04 2007 +0000 Applied patch by Ivan Stankovic making dialogs within gschem save their position and size on exit and restore it on opening. Geometry is saved to {$HOME}/.gEDA/gschem-dialog-geometry Dialogs inherit this functionality by using, or deriving from the new GschemDialog class (A GtkDialog subclass). commit 4eca6e40036bdeb68e15588180636c14c56fd71d Author: Peter TB Brett <peter@peter-b.co.uk> Date: Mon May 28 07:42:19 2007 +0000 Implement new component library system in gschem. A new component library model was introduced into libgeda to allow gschem etc. to work well with database systems. This patch updates gschem to use the new library system. Most code dealing with creating, updating and (un)embedding symbols is affected. However, this patch should not introduce any changes for the end-user. commit b0810d4d71e27bc32e0e0b1e903d230d97ca9ad6 Author: Peter TB Brett <peter@peter-b.co.uk> Date: Sat May 26 19:21:28 2007 +0000 Help menu updates. Change help menu now that all documentation is in the wiki.