2009-01-17 Michael Natterer <mitch@gimp.org>
* all files with a GPL header and all COPYING files:
Change licence to GPLv3 (and to LGPLv3 for libgimp).
Cleaned up some copyright headers and regenerated the parsers in
the ImageMap plugin.
svn path=/trunk/; revision=27913
2008-05-18 Michael Natterer <mitch@gimp.org>
* libgimpconfig/gimpconfig-serialize.[ch]
* libgimpconfig/gimpconfig.def: add
gimp_config_serialize_property_by_name().
* app/gegl/gimpcolorbalanceconfig.c
* app/gegl/gimpcurvesconfig.c
* app/gegl/gimphuesaturationconfig.c
* app/gegl/gimplevelsconfig.c: implement serialize() and
deserialize() and make sure the properties which change when the
channel/range property changes are handled correctly. Not too
ugly but it's still a hack...
svn path=/trunk/; revision=25703
2006-08-08 Sven Neumann <sven@gimp.org>
* libgimpconfig/gimpconfig-deserialize.c
(gimp_config_deserialize_property)
* libgimpconfig/gimpconfig-serialize.c
(gimp_config_serialize_property): check if the properties
owner_type is an object type before calling g_type_class_peek().
2006-04-27 Sven Neumann <sven@gimp.org>
* libgimpcolor/gimprgb.[ch]: hide the GimpParamSpecRGB struct
again. Added getter for the has_alpha field.
* libgimpcolor/gimpcolor.def: updated.
* app/config/gimpconfig-dump.c
* libgimpconfig/gimpconfig-serialize.c: use
gimp_param_spec_rgb_has_alpha() instead of accessing the
GimpParamSpecRGB struct directly.
2006-04-27 Sven Neumann <sven@gimp.org>
* libgimpcolor/gimprgb.[ch]: added "has_alpha" to GimpParamSpecRGB.
Made the GimpParamSpecRGB struct public. When validating a color,
only look at the alpha channel if has_alpha is set.
* libgimpconfig/gimpconfig-params.h: added "has_alpha" to
GIMP_CONFIG_INSTALL_PROP_RGB macro definition.
* libgimpconfig/gimpconfig-serialize.c: serialize color values as
"(rgb r g b)" if the param-spec indicates that the alpha channel
is meaningless.
* app/config/gimpconfig-dump.c: take "has_alpha" into account when
documenting color properties.
* app/core/gimpcontext.c
* app/core/gimpgrid.c
* app/display/gimpdisplayoptions.c
* app/text/gimptext.c
* app/widgets/gimpaction.c
* app/widgets/gimpcolorbar.c
* libgimpwidgets/gimpcolorarea.c
* libgimpwidgets/gimpcolorbutton.c: specify whether color properties
have an alpha channel.
* tools/pdbgen/app.pl: handle "has_alpha" for color paramaters.
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/context.pdb
* tools/pdbgen/pdb/grid.pdb
* tools/pdbgen/pdb/image.pdb: set the "has_alpha" flag where
appropriate.
* app/pdb/gimp-pdb-compat.c (gimp_pdb_compat_param_spec): set
"has_alpha" to TRUE for GIMP_PDB_COLOR.
* app/pdb/channel_cmds.c
* app/pdb/context_cmds.c
* app/pdb/gradient_cmds.c
* app/pdb/grid_cmds.c
* app/pdb/image_cmds.c
* app/pdb/palette_cmds.c
* app/pdb/palettes_cmds.c
* app/pdb/selection_tools_cmds.c: regenerated.
* app/config/gimpdisplayconfig.c (gimp_display_config_class_init):
removed unused code.
2005-01-25 Michael Natterer <mitch@gimp.org>
* libgimpconfig/gimpconfigtypes.h: new file holding the opaque
typedefs for libgimpconfig. Includes "libgimpbase/gimpbasetypes.h"
* libgimpconfig/Makefile.am: added the new file. Removed stuff
that is not needed.
* libgimpconfig/gimpconfigwriter.h
* libgimpconfig/gimpconfig-iface.h: removed typedefs here.
* libgimpconfig/gimpconfig-deserialize.c
* libgimpconfig/gimpconfig-iface.c
* libgimpconfig/gimpconfig-serialize.c
* libgimpconfig/gimpconfig-utils.c
* libgimpconfig/gimpconfig.h
* libgimpconfig/gimpconfigwriter.c: include it before including
any other libgimpconfig stuff.
* app/config/config-types.h: #include "libgimpbase/gimpbasetypes.h"
* app/config/gimpconfig-utils.h: changed include guards to
__APP_GIMP_CONFIG_UTILS_H__.
* app/dialogs/tips-parser.c: include <glib-object.h> instead of
just <glib.h>.
* app/tools/gimphistogramoptions.c
* app/tools/gimptextoptions.c: include "config/gimpconfig-utils.h"
* app/widgets/gimpdialogfactory.h
* app/widgets/gimpsessioninfo.h: removed inclusion of
"libgimpbase/gimpbasetypes.h".
2005-01-24 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-deserialize.[ch]
* app/config/gimpconfig-serialize.[ch]
* app/config/gimpconfig.[ch]: factored out some rather obscure
GimpConfig features that were added solely for gimprc.
* app/config/Makefile.am
* app/config/gimprc-deserialize.[ch]
* app/config/gimprc-serialize.[ch]
* app/config/gimprc-unknown.[ch]: moved gimprc-specific code to
these new files.
* app/config/gimprc.c
* app/config/test-config.c: changed accordingly.
2004-07-08 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-deserialize.c
* app/config/gimpconfig-serialize.c: removed redundant casts.
* app/widgets/gimpsessioninfo.[ch]: added convenience functions to
get and set aux-info based on object properties.
* app/widgets/gimphistogrameditor.c: use the new functions to save
a histogram's channel and scale in the sessionrc.
2004-06-16 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpcontroller.[ch]: added #define
GIMP_CONTROLLER_PARAM_SERIALIZE. Made all properties serializable.
* modules/controller_linux_input.c: made "device-name"
serializable.
* app/config/gimpconfig-params.h: added macro
GIMP_CONFIG_INSTALL_PROP_POINTER() which needs to be handled
by custom (de)serialize_property() implementations.
* app/config/gimpconfig-deserialize.c
* app/config/gimpconfig-serialize.c: made object (de)serialization
work for object properties which are *not* GIMP_PARAM_AGGREGATE.
Write/parse the exact type of the object to create to enable this.
* app/core/gimpmarshal.list: new marshaller for GimpControllerInfo.
* app/widgets/gimpcontrollerinfo.[ch]: implement GimpConfigInterface
and add "controller" and "mapping" properties. Add "event-mapped"
signal which carries the action_name.
* app/widgets/gimpcontrollers.c: removed all deserialization code
and simply (de)serialize the controller container. Install a
container handler for "event-mapped" and do the action_name ->
action mapping in the callback.
* etc/controllerrc: regenerated with new syntax. Delete your old one!
2004-02-19 Michael Natterer <mitch@gimp.org>
* app/config/gimpconfig-serialize.c
(gimp_config_serialize_property)
* app/config/gimpconfig-deserialize.c
(gimp_config_deserialize_property): Reverted my last "cleanup" and
put the "obsolete" check for the exact owner class of the property
back. It appears that if a subclass does *not* implement
GimpConfigInterface *itself*, it still inherits
serialize_property()/deserialize_property().
2004-02-18 Michael Natterer <mitch@gimp.org>
Some code review:
* app/config/gimpconfig-deserialize.c
* app/config/gimpconfig-serialize.c: removed obsolete code which
made sure serialize_property()/deserialize_property() are only
called for properties of the correct class. We do it the right way
for quite a while now and clear the inherited function pointers in
gimp_config_iface_base_init().
* app/config/gimprc.c (gimp_rc_dispose): don't forget to chain up.
* app/base/gimplut.c
* app/base/lut-funcs.c
* app/config/gimpconfig-deserialize.c
* app/config/gimpconfig-serialize.c
* app/config/gimpconfig-types.c
* app/config/gimprc.c
* app/core/gimp-modules.c
* app/core/gimpbrush.c
* app/core/gimpcontainer.c
* app/core/gimpdocumentlist.c
* app/core/gimpitem.c
* app/gui/about-dialog.c
* app/gui/color-notebook.c
* app/gui/gui.c
* app/gui/tips-dialog.c
* app/paint/gimppaintcore.c
* app/paint-funcs/paint-funcs.c
* app/widgets/gimpcolorpanel.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainermenuimpl.c
* app/widgets/gimpselectioneditor.c: removed I/O includes from
files which don't use lowlevel APIs any more. Also removes
a whole bunch of G_OS_WIN32 special casing. Removed trailing
whitespace. Misc tiny cleanups.
2003-10-26 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-deserialize.c
(gimp_config_deserialize_fundamental): handle negative float and
double values similar to how this is done for integers and the
like.
* app/config/gimpconfig-params.h: added two new param flags and
documented all flags in the header file (for now).
* app/config/gimpconfig-serialize.h: handle the new param flags
GIMP_PARAM_DEFAULTS and GIMP_PARAM_IGNORE.
* app/text/text-enums.[ch]
* app/text/gimptext.[ch]: added some properties that we will need
sooner or later. Mark the new properties and a lot of the existing
ones as GIMP_PARAM_DEFAULTS so that their values are not
serialized unless changed from the default value.
* app/text/gimptextlayout.c
* app/tools/gimptextoptions.c: made all length properties in
GimpText depend on a single unit.
2003-10-12 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-serialize.[ch]: removed function
gimp_config_serialize_comment()...
* app/config/gimpconfig-utils.[ch]: removed function
gimp_config_string_indent()...
* app/config/gimpconfigwriter.[ch]: ... and implement both here.
Added a comment mode to GimpConfigWriter.
* app/config/gimpconfig-dump.c: handle GimpConfig properties.
* doc/gimprc-1.3.5.in
* etc/gimprc: regenerated by gimpconfig-dump.
2003-07-07 Sven Neumann <sven@gimp.org>
* libgimpbase/gimpbasetypes.h: include <libgimpmath/gimpmathtypes.h>.
* libgimpmath/gimpmathtypes.h
* libgimpmath/gimpmatrix.[ch]: added GimpMatrix2 struct definition
and new function gimp_matrix2_identity().
* app/config/gimpconfig-deserialize.c
* app/config/gimpconfig-params.[ch]
* app/config/gimpconfig-serialize.c
* app/config/gimpconfig-types.[ch]
* app/config/gimpconfig.c
* app/config/gimpscanner.[ch]: added a boxed type around GimpMatrix2.
* app/text/gimptext.[ch]: added new property "transformation".
2003-04-12 Michael Natterer <mitch@gimp.org>
* app/config/gimpconfig-params.h: made object properties
G_PARAM_READWRITE by default. Added flag GIMP_PARAM_AGGREGATE
which indicates that an object property is not a reference but a
real part of its owner.
* app/config/gimpconfig-deserialize.c: g_object_set_property()
object properties only if they are not GIMP_PARAM_AGGREGATE.
* app/config/gimpconfig-utils.c (gimp_config_copy_properties,
gimp_config_reset_properties): copy and reset GIMP_PARAM_AGGREGATE
object properties correctly.
* app/config/gimpconfig-serialize.c: don't call
gimp_config_writer_open/close() for properties which are handled
by a GimpConfigIface::serialize_property() implementation.
* app/core/gimpcontext.c: removed exlicit G_PARAM_WRITABLE from
object properties since that's the default now. Call
gimp_config_writer_open/close() when serializing properties.
* app/core/gimpviewable.c (gimp_viewable_get_property): use
gimp_viewable_get_stock_id().
(gimp_viewable_set_stock_id): set stock_id to NULL if the new
stock_id is the same as viewable_class->default_stock_id.
Added serialize_property() which skips stock_id serialization
if it is NULL.
* app/tools/gimptextoptions.c: made the "text" property
GIMP_PARAM_AGGREGATE. Added gimp_text_options_set_property()
(which does nothing).
* app/widgets/gimptemplateeditor.[ch]: added an optional
GimpViewableButton to change the template's icon.
* app/gui/file-new-dialog.c: create it with the icon button so it
gets some testing.
2003-03-17 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-utils.[ch]: added the new function
gimp_config_string_append_escaped(), see inline docs.
* app/config/gimpconfig-serialize.c
* app/config/gimpconfigwriter.c
* app/core/gimpcontainer.c: use the new function instead of
g_strescape().
2003-03-10 Sven Neumann <sven@gimp.org>
* app/config/gimpconfigwriter.[ch]: fixed creation of config file,
added new function gimp_config_writer_string() and improved
gimp_config_writer_linefeed().
* app/config/gimpconfig-serialize.c
* app/core/gimpcontext.c
* app/core/gimpdocumentlist.c: use gimp_config_writer_string()
instead of escaping the string manually.
* app/core/gimpunits.c (gimp_unitrc_save): use a GimpConfigWriter.
* app/plug-in/plug-in-rc.[ch] (plug_in_rc_write)
* app/plug-in/plug-ins.c: use a GimpConfigWriter.
2003-02-28 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-deserialize.c
* app/config/gimpconfig-serialize.[ch]: transparently serialize
and deserialize object properties that implement the
GimpConfigInterface.
* app/config/gimpconfig-utils.c (gimp_config_reset_properties):
call reset recursively if properties are itself objects that
implement the GimpConfigInterface.
* app/config/gimpconfig-dump.c: adapt to API changes.
* app/config/gimpconfig-params.h: made object properties installed
using GIMP_CONFIG_INSTALL_PROP_OBJECT() be not writable by default.
* app/core/gimpcontext.c (gimp_context_class_init): made objects
properties explicitely writeable.
* app/tools/gimptextoptions.c: made the GimpText object a property
of GimpTextOptions and removed lots of special handling which is
now transparently done by GimpConfigInterface.
2003-02-28 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-serialize.[ch]: renamed
gimp_config_serialize_changed_properties() to
gimp_config_serialize_properties_diff() and added a new function
gimp_config_serialize_changed_properties() that saves only
properties that have been changed from their default values.
* app/config/gimprc.c: follow the function name change.
* app/core/gimpcontext.c: override GimpConfigInterface::serialize
with gimp_config_serialize_changed_properties() so we store only
tool_options that have been changed from their default values.
2003-02-28 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-serialize.c
(gimp_config_serialize_changed_properties): simplified by using
gimp_config_serialize_property() instead of doing it all by hand.
2003-02-26 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-serialize.c (gimp_config_serialize_properties):
don't insert an extra line-break after a serialized property.
* app/config/gimpconfig-serialize.c
* app/config/gimpconfig-dump.c
* app/gui/tips-parser.c: use g_string_truncate (str, 0) instead of
assigning an empty string.
* app/tools/gimptextoptions.c: override the serialize and
deserialize methods of the GimpConfig interface and save/restore
the associated GimpText object instead of GimpTextOptions.
* app/tools/tool_options.c (gimp_tool_options_build_filename):
don't append ".default" if no extension is given.
2003-02-08 Sven Neumann <sven@gimp.org>
* app/text/gimptext.c
* app/tools/gimpbucketfilloptions.c
* app/tools/gimpselectionoptions.c
* app/tools/gimptextoptions.c: use N_() instead of _() with blurbs
of object properties. GimpConfig wants the untranslated string as
well.
* app/widgets/gimpenummenu.c
* app/widgets/gimppropwidgets.c: added gettext() calls.
* app/config/gimpconfig-serialize.c: document the fact that
gimp_config_serialize_comment() only handles ASCII comments.
2003-02-08 Michael Natterer <mitch@gimp.org>
* app/config/gimpconfig-serialize.c (gimp_config_serialize_property):
the virtual serialize_property() returning FALSE doesn't mean the
serialization failed but that the function didn't handle the
property, so don't error but continue with the default
implementation. Print newlines after properties only if
indent_level == 0.
* app/gui/tool-options-dialog.c: added tool options saving/loading
as quickly hacked proof-of-concept.
* app/paint/paint-enums.[ch]: added enum GimpInkBlobType.
* app/tools/gimpinkoptions.[ch]: ported to object properties,
cleanup.
* app/tools/gimpinktool.c: changed accordingly.
2003-01-13 Sven Neumann <sven@gimp.org>
* app/config/Makefile.am
* app/config/gimpconfig-dump.c
* app/config/gimpconfig-serialize.c: more work on gimpconfig-dump.
* configure.in
* docs/Makefile.am
* docs/gimprc-1.3.5.in: removed ...
* docs/gimprc-1.3.5: ... and replaced with a new version generated
using gimpconfig-dump (although it's not perfect yet).
2002-12-01 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-blurbs.h: small cleanup.
* app/config/gimpconfig-serialize.[ch]: export more functionality.
* app/config/gimpconfig-dump.c: added some code to dump a
commented version of the system-wide gimprc with default values.
2002-12-01 Sven Neumann <neo@wintermute>
* libgimp/Makefile.am (IGNORE_HFILES): ignore gimpmiscui.h.
2002-11-28 Sven Neumann <sven@gimp.org>
* app/config/Makefile.am
* app/config/gimpconfig-params-blurbs.h: removed ...
* app/config/gimpconfig-blurbs.h: ... and readded under this name.
Defined all missing blurb definitions to NULL.
* app/config/gimpconfig-params.h: added a blurb parameter to all
GIMP_CONFIG_INSTALL_PROP_* macros.
* app/config/gimpbaseconfig.c
* app/config/gimpcoreconfig.c
* app/config/gimpdisplayconfig.c
* app/config/gimpguiconfig.c: register blurbs with the GimpRc
properties.
* app/config/gimpconfig-serialize.c: do proper line-breaking for
comments.
* app/core/gimpcontext.c
* app/widgets/gimpdeviceinfo.c: register NULL blurbs here.
2002-11-28 Sven Neumann <sven@gimp.org>
* app/config/Makefile.am
* app/config/gimpconfig-dump.c: added the basic infrastructure for
a utitily that dumps the GimpRc object.
* app/config/gimpconfig-serialize.c: dump object blurbs as comments.
2002-11-25 Michael Natterer <mitch@gimp.org>
* app/config/gimpconfig-utils.[ch]: added gimp_config_diff()
which returns the difference beween two GimpConfig objects
as a GList of GParamSpecs.
* app/config/gimpconfig-params.c (gimp_param_color_cmp): compare
the colors as integers to get rid of rounding foobar.
* app/config/gimpconfig-serialize.c: use gimp_config_diff().
* app/display/gimpdisplayshell-handlers.c: only need to call
gimp_display_shell_scale_setup() on resolution change if the
display is not in dot-for-dot mode.
* app/display/gimpdisplayshell.c: changed a separator in the
padding color menu.
* app/gui/dialogs.c: made the prefs dialog a singleton again.
* app/gui/preferences-dialog.c: Should be fully functional again:
Apply GIMP_PARAM_CONFIRM properties on "OK". Save gimprc on "OK".
Parse a temporaty GimpRc on dialog creation to get the current
GIMP_PARAM_RESTART values. Use gimp_config_diff() for all config
comparisons.
2002-11-23 Michael Natterer <mitch@gimp.org>
* app/config/gimpconfig-utils.[ch]: removed
gimp_config_values_equal().
* app/config/gimpconfig-serialize.c
* app/config/gimpconfig.c: use g_param_values_cmp() instead so
our registered compare methods are used.
* app/config/gimpdisplayconfig.[ch]: added "canvas_padding_mode"
and "canvas_padding_color" properties.
* app/display/display-enums.[ch]: added enum GimpDisplayPaddingMode
which can be one of { theme, light check, dark check, custom }.
* app/display/gimpdisplay.h
* app/display/gimpdisplay-handlers.c: removed cached monitor
resolution values...
* app/display/gimpdisplayshell.[ch]: ...and added them here. Added
padding state as in GimpDisplayConfig. Added utility function
gimp_display_shell_set_padding() which hides all the details.
Added the new padding modes to the padding color button's context
menu.
* app/display/gimpdisplayshell-callbacks.[ch]: don't fiddle
with colors manually but use gimp_display_shell_set_padding()
in realize() and in the color button callbacks.
* app/display/gimpdisplayshell-handlers.c: connect to
notify::monitor-[xy]resolution and
notify::canvas-padding-[mode|color] and update accordingly.
* app/widgets/gimppropwidgets.[ch]: added
gimp_prop_color_button_new().
* app/widgets/gimpdialogfactory.[ch]: added
gimp_dialog_factories_session_clear() (unimplemented).
* app/gui/preferences-dialog.c: added widgets for padding mode and
color. Removed some callbacks by connecting the functions they
called directly. Cleanup.