2002-05-24 Michael Natterer <mitch@gimp.org>
* app/config/gimpconfig-deserialize.c: added deserialization of
GValueArrays (untested). Added gimp_config_deserialize_value()
which is factored out from gimp_config_deserialize_property().
2002-05-24 Michael Natterer <mitch@gimp.org>
* app/config/gimpconfig.c (gimp_config_string_indent): fixed assertion
which did not check for indent_level >= 0 but > 0.
* app/config/gimpconfig-serialize.c (gimp_config_serialize_value):
serialize floats with g_ascii_formatd() to be locale independed,
added serialization of GValueArrays.
* app/widgets/gimpdeviceinfo.c: added properties for "mode",
"axes" and "keys". Their set_property() implementations are
untested.
2002-05-24 Michael Natterer <mitch@gimp.org>
* app/config/gimpconfig.[ch]
* app/config/gimpconfig-serialize.[ch]: added "gint indent_level"
to all serialization functions. Added gimp_config_string_indent()
which indents a GString.
* app/config/gimprc.c
* app/core/gimpdocumentlist.c
* app/core/gimpparasitelist.c: changed accordingly.
* app/core/gimpcontext.c: don't crash when serializing NULL object
properties.
* app/config/gimpscanner.[ch]: added gimp_scanner_parse_identifier().
* app/core/gimpcontainer.c: implement GimpConfigInterface.
Container serialization works, deserialization is not implemented yet.
* app/widgets/gimpdevices.[ch]: made
GimpDeviceManager->device_info_list a GimpList, not GList, added
testing functions for (de)serializing it.
* app/gui/menus.c
* app/gui/test-commands.[ch]: call the new test functions from
the <Toolbox>/File/Debug menu.
2002-05-24 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c: copied some code from
gtk+/gtk/gtkmenubar.c:window_key_press_handler() which pops up the
<Image> menu on F10 (or whatever is configured in GtkSettings).
2002-05-22 Michael Natterer <mitch@gimp.org>
* app/config/gimpconfig.[ch]: added virtual interface methods
serialize_property() and deserialize_property() which can be used
to implement (de)serialization of special properties or to
override the default implementation.
* app/config/gimpconfig-deserialize.c
* app/config/gimpconfig-serialize.c: for each property, check if
the class which added it implements the virtual functions and call
them before trying the default implementations.
* app/config/gimpconfig-params.h: added new macro
GIMP_CONFIG_INSTALL_PROP_OBJECT().
* app/core/gimpcontext.c: declare the "tool", "brush", "pattern",
"gradient" and "palette" properties as serializable and added
implementations of (de)serialize_property().
2002-05-21 Sven Neumann <sven@gimp.org>
* app/config/Makefile.am: need to link test-config against
libgimpcolor now.
* app/config/gimpconfig.c (gimp_config_serialize): write newlines
after header and before footer.
* app/config/test-config.c
* app/config/gimprc.c
* app/core/gimp-documents.c
* app/core/gimp-parasites.c
* app/gui/test-commands.c: removed the newlines here.
* app/config/gimpconfig-params.h: define GIMP_PARAM_SERIALZE flag
which can be used to mark an object property as serializable.
Make the GIMP_CONFIG_INSTALL_PROP_* macros set it.
* app/config/gimpconfig-deserialize.c
* app/config/gimpconfig-serialize.c: check the GIMP_PARAM_SERIALIZE
flag.
* app/config/gimpconfig-params.c (gimp_param_color_set_default):
fixed.
* app/core/gimpcontext.c: install serializable properties using the
GIMP_CONFIG_INSTALL_PROP_* macros.
2002-05-21 Michael Natterer <mitch@gimp.org>
* app/config/gimpconfig-types.[ch]: added GIMP_TYPE_COLOR as boxed
type encapsulating GimpRGB.
* app/config/gimpconfig-params.[ch]: added GimpParamSpecColor
which is derived from GParamSpecBoxed and adds a default value.
* app/config/gimpconfig-deserialize.c
* app/config/gimpconfig-serialize.c: added generic
(de)serialization of the new property type.
* app/core/gimpcontext.c: implement the config interface, changed
signal parameters and property types to use the new
GIMP_TYPE_COLOR.
* app/core/gimpmarshal.list: added a VOID__BOXED marshaller.
* app/gui/menus.c
* app/gui/test-commands.[ch]: some test code which (de)serializes
the user context.
2002-05-21 Sven Neumann <sven@gimp.org>
* app/core/gimplayer.[ch] (gimp_layer_new_from_tiles): added a
GimpImageType parameter to specify the desired drawable type. This
is needed when pasting into layer masks.
* app/core/gimpdrawable-transform.c
* app/core/gimpedit.c
* app/core/gimpimage-mask.c: changed accordingly.
2002-05-21 Michael Natterer <mitch@gimp.org>
* app/gimprc.c
* app/widgets/gimpdeviceinfo.c: write/parse the "wheel" axis
properly when writing/parsing devicerc.
* app/widgets/gimpdevices.c: no need to #define something twice.
2002-05-16 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimpprotocol.[ch]
* libgimpbase/gimpwire.[ch]: pass "gpointer user_data" to all
functions, which in gets turn passed to the registered reader,
writer, and flusher funcs.
* libgimp/gimp.c
* libgimp/gimptile.c: pass NULL as user_data. We have only one
pipe on the plug-in side.
* app/plug-in/plug-in.c: pass the PlugIn as user_data. As a
consequence, got rid of more global variables. The global
"current_plug_in" and the plug_in_push()/pop() madness are still
there. Will reeplace them by some less ugly hack later...
2002-05-16 Michael Natterer <mitch@gimp.org>
* libgimpbase/tmpl/gimpprotocol.sgml
* libgimpbase/tmpl/gimpwire.sgml: regenerated after API change.
2002-05-16 Sven Neumann <sven@gimp.org>
* app/gui/splash.c: don't allow to close the splash screen. Fixes
bug #81962.
* plug-ins/gimpressionist/gimpressionist.c: changed button order.
As mentioned in bug #81963 the UI of this plug-in needs some more
work.
* plug-ins/gimpressionist/brush.c
* plug-ins/gimpressionist/paper.c
* plug-ins/gimpressionist/presets.c: fixed handling of scrolled
windows.
2002-05-16 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in.c: Pass PlugIn, not Gimp pointers to all
message handler functions so they have a proper context to operate
on. Use the PlugIn pointer passed instead of "current_plug_in".
Removed global variables "current_readchannel" and
"current_writechannel" because it is now always possible to use
plug_in->my_read and plug_in->my_write.
2002-05-15 Michael Natterer <mitch@gimp.org>
* app/tools/gimpmovetool.c: <shift>+click toggles the active
layer's "linked" property now.
* themes/Default/images/stock-tool-options-16.png: new icon.
* themes/Default/images/Makefile.am
* themes/Default/imagerc
* libgimpwidgets/gimpstock.[ch]: added it to the stock system.
* app/gui/menus.c: use it for the tool_options dialog's menu
entries.
2002-05-15 Simon Budig <simon@gimp.org>
* plug-ins/pagecurl/pagecurl.c: tiny fix, there was an
ancient non working call to gimp_layer_add_alpha still
hanging around...
2002-05-15 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig.c: fixed documentation.
* app/tools/gimppenciltool.c
* app/tools/gimpsheartool.c: assign shortcuts that don't collide with
other tools.
2002-05-15 Michael Natterer <mitch@gimp.org>
New feature: pressing <space> in the image window temporary
switches to the move tool (so that releasing <space> switches back
to the old tool).
* app/display/gimpdisplayshell.[ch]: added booleans
shell->space_pressed and shell->space_release_pending. Connect
more events to gimp_display_shell_events() so they can be blocked
there if needed.
* app/display/gimpdisplayshell-callbacks.c: beautified and
uglified at the same time:
beauty:
- moved the checks if gimp is busy or button1 is down to
gimp_display_shell_events() so they don't clutter
gimp_display_shell_canvas_tool_events().
- factored tool modifer updating out to a separate function.
- indentation/spacing cleanup.
ugly:
- added more static variables to track the state of <space>
- added the actual move tool toggling code.
2002-05-15 Sven Neumann <sven@gimp.org>
* app/core/gimpdocumentlist.c
* app/core/gimpparasitelist.c
* app/core/gimpunits.c: improved parser error messages. Relies on a
fix in glib (see bug #81850). However it doesn't hurt if you don't
have the fix.
2002-05-15 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig.[ch]: added user_data pointer to serialize
and deserialize methods.
* app/config/gimprc.[ch]: implement gimp_rc_save() using
gimp_config_serialize() so it can take advantage of the file
handling magic implemented there.
* app/config/test-config.c
* app/core/gimp-documents.c
* app/core/gimp-parasites.c
* app/core/gimpdocumentlist.c
* app/core/gimpparasitelist.c: changed accordingly.
2002-05-15 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig.[ch]: added a return value to indicate
success of GimpConfigInterface::serialize. Added a GimpConfigError
value for write errors and check the return value of all write()
calls. Allow to specify file header and footer when calling
gimp_config_serialize().
* app/config/gimpconfig-serialize.[ch]
* app/config/gimprc.c: changed accordingly.
* app/core/gimp-documents.[ch]: new files with functions to handle
gimp->documents.
* app/core/gimpdocuments.[ch]: removed ...
* app/core/gimpdocumentlist.[ch]: ... and added under this name.
Implements a generic document list.
* app/core/gimp-parasites.[ch]: new files with functions to handle
gimp->parasites.
* app/core/gimpparasite.[ch]: removed.
* app/core/gimpparasitelist.[ch]: nothing more than a generic
parasite list.
* app/undo.c
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimp.c
* app/core/gimpdrawable.c
* app/core/gimpimage-merge.c
* app/core/gimpimage.c
* app/core/gimpitem.c
* app/file/file-open.c
* app/file/file-save.c
* app/gui/file-open-dialog.c
* app/pdb/parasite_cmds.c
* tools/pdbgen/pdb/parasite.pdb: changed accordingly.
2002-05-15 Sven Neumann <sven@gimp.org>
* app/core/gimpdocuments.c: misc small changes.
* app/core/gimpparasite.[ch]: reduced to a small set of wrappers
around gimp->parasites.
* app/core/gimpparasitelist.c: moved the code that reads and
writes parasite lists ala parasiterc to this file. Added a
GimpConfigInterface to GimpParasiteList.
* app/core/gimp.c: changed accordingly.
2002-05-14 Sven Neumann <sven@gimp.org>
* plug-ins/common/ps.c: reverted the last change and applied a patch
from Peter Kirchgessner instead (closes reopened bug #81606).
2002-05-14 Sven Neumann <sven@gimp.org>
* app/core/core-types.h
* app/core/gimpdocuments.[ch]: made the list of recently used
images an object derived from GimpList that implements the
GimpConfigInterface.
* app/core/gimp.c
* app/file/file-open.c
* app/file/file-save.c: changed accordingly.
2002-05-14 Sven Neumann <sven@gimp.org>
* libgimp/Makefile.am
* libgimpcolor/Makefile.am
* libgimpmath/Makefile.am
* libgimptool/Makefile.am
* libgimpwidgets/Makefile.am: removed unneeded CPPFLAGS.
* libgimpproxy/Makefile.am: ditto. Changed rules for generated files
so that they work for parallel builds.
2002-05-14 Sven Neumann <sven@gimp.org>
* themes/Default/images/stock-wilber-eek-64.png: tweaked so the
shadow isn't cut off at the image border. We could still need a
better icon.
* themes/Default/images/stock-wilber-eek.png: removed.
2002-05-13 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig.c (gimp_config_serialize): serialize to a
temporary file and rename it to the target filename when it is
completely written.
2002-05-13 Michael Natterer <mitch@gimp.org>
* app/core/gimpparasite.c: parse parasiterc using GScanner instead
of gimprc.
* app/gimprc.c: removed the parasite parsing stuff.
2002-05-13 Sven Neumann <sven@gimp.org>
* app/widgets/gimpenummenu.[ch]: added _with_range variants for all
enum menu widgets that limit the range of choices.
* app/gui/file-new-dialog.c
* app/gui/layers-commands.c
* app/gui/preferences-dialog.c: use GimpEnumMenus with ranges.