Commit Graph

61 Commits

Author SHA1 Message Date
Jehan a7637bfb4a libgimpconfig: special-case GeglColor param comparison if one is NULL.
The current values_cmp() method will segfault if an object contains a NULL
GeglColor value. I fixed it in commit c0477bcb0 in GEGL, but since the GEGL
release is already done, I add this special-casing on GIMP side.

To be removed when we release and depend on GEGL 0.4.50.

The crash was happening when activating the text tool and raised in a comment of
another report: https://gitlab.gnome.org/GNOME/gimp/-/issues/10813#note_2009702
2024-02-12 19:33:29 +01:00
Marie-P c112a55958 libgimp*, plug-ins: fix some warnings 2021-05-24 20:36:31 +00:00
Niels De Graef 1dda60154c Use "Returns:" to annotate return values
To be able to annotate return values through GObject-introspection, you
need to make sure it is tagged with `Returns:` and not something else.
2019-08-03 07:53:47 +00:00
Jehan 74a0da9aa0 libgimpconfig: fix a few more warnings.
Fixes these sorts of warnings:
> return value: Missing (element-type) annotation
> return value: Missing (transfer) annotation
2019-07-28 09:50:20 +02:00
Michael Natterer 5f700549e7 Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
Michael Natterer 7111eadf3b libgimpconfig: gimp_config_reset_properties(): reset only changed properties
This avoids a lot of useless notifications when resetting an object,
and fixes e.g. the "reset tool options" behavior of GimpTransformTool,
which did completely reset itself instead of just behaving like all
non-default options had changed.

And probably breaks some things that were relying on these redundant
notifications.
2017-02-09 12:38:10 +01:00
Richard Kreckel dd9b0fc55b Bug 768044 - Fix many typos
This fixes many typos in comments and one in a user-visible string (msgid
"center abscisse" changed to "center abscissa" in affected po files. too).
2016-06-26 00:35:24 +02:00
Michael Natterer 47ef3be145 Initialize GValues with G_VALUE_INIT instead of { 0, } 2016-03-26 15:59:26 +01:00
Michael Natterer 8005eea835 Remove the "GIMP" from all "Since: GIMP 2.x" API doc comments
because it confuses gtk-doc and breaks some links. Also change the
"Index of new symbols in GIMP 2.x" sections to be what seems to be the
modern standard (looked at the GLib and GTK+ docs), and update some
other stuff.
2015-05-31 21:18:09 +02:00
Michael Natterer 697572ccc0 app,libgimp*: fix includes to follow our include policy
- don't include <gdk-pixbuf/gdk-pixbuf.h> in headers in app/
- instead, include it in many .c files instead of <glib-object.h>,
  finally acknowledging the fact that app/ depends on gdk-pixbuf almost
  globally
- fix up includes as if libgimpbase depended in GIO, which it soon will
2013-10-15 01:58:39 +02:00
Michael Natterer 1af54c7874 libgimpconfig: move docs from template files to inline comments 2010-06-29 20:59:07 +02:00
Michael Natterer d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
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
2009-01-17 22:28:01 +00:00
Michael Natterer 6865bb9e2b Bug 546924 – "New Image" misscalculating dimensions for non-pixel sized
2008-09-30  Michael Natterer  <mitch@gimp.org>

	Bug 546924 – "New Image" misscalculating dimensions for non-pixel
	sized templates

	* app/core/gimptemplate.h: added private param flag
	GIMP_TEMPLATE_PARAM_COPY_FIRST.

	* app/core/gimptemplate.c (gimp_template_class_init): set the flag
	on the resolution properties.

	* app/dialogs/image-new-dialog.c (image_new_template_changed):
	make sure the resolution properties are copied first.

	* libgimpconfig/gimpconfig-utils.c (gimp_config_sync): remove
	comment about fixing the template editor. That's not true any
	more.


svn path=/trunk/; revision=27091
2008-09-30 16:06:24 +00:00
Michael Natterer 69d2abcb29 add new method GimpConfigInterface::copy() which by default calls
2008-02-01  Michael Natterer  <mitch@gimp.org>

	* libgimpconfig/gimpconfig-iface.[ch]: add new method
	GimpConfigInterface::copy() which by default calls
	gimp_config_sync() but is overridable for objects which are not
	entirely property-defined or otherwise evil.

	Freeze/thaw property notifications in deserialize() and reset().

	* libgimpconfig/gimpconfig-utils.c (gimp_config_sync): freeze/thaw
	property notifications on the dest object.


svn path=/trunk/; revision=24767
2008-02-01 11:44:45 +00:00
Sven Neumann 0d2c3957c3 libgimpconfig/gimpconfig-serialize.c libgimpconfig/gimpconfig-error.c
2007-03-02  Sven Neumann  <sven@gimp.org>

	* libgimpconfig/gimpconfig-serialize.c
	* libgimpconfig/gimpconfig-error.c
	* libgimpconfig/gimpconfig-path.c
	* libgimpconfig/gimpconfig-deserialize.c
	* libgimpconfig/gimpconfig-utils.c
	* libgimpconfig/gimpconfig-iface.c: corrected copyright notice
	(bug #413731).


svn path=/trunk/; revision=22038
2007-03-02 08:38:13 +00:00
Michael Natterer d5ee3653f0 don't cast the return value of g_value_get_object(), it's a gpointer.
2006-12-06  Michael Natterer  <mitch@gimp.org>

	* libgimpconfig/gimpconfig-utils.c: don't cast the return value of
	g_value_get_object(), it's a gpointer.
2006-12-06 00:09:58 +00:00
Sven Neumann 26b69166c7 added casts to silent signedness warnings.
2005-07-29  Sven Neumann  <sven@gimp.org>

	* libgimpconfig/gimpconfig-utils.c (gimp_config_string_append_escaped):
	added casts to silent signedness warnings.
2005-07-29 02:22:00 +00:00
Sven Neumann 333593daf4 changed GimpConfig utility functions to take GObject variables instead of
2005-04-07  Sven Neumann  <sven@gimp.org>

	* libgimpconfig/gimpconfig-utils.[ch]: changed GimpConfig utility
	functions to take GObject variables instead of GimpConfig. There's
	nothing GimpConfig specific about these utilities.

	* app/actions/templates-commands.c
	* app/actions/tool-options-commands.c
	* app/base/base.c
	* app/config/gimpcoreconfig.c
	* app/config/gimpdisplayconfig.c
	* app/config/gimprc.c
	* app/core/gimpimage-grid.c
	* app/core/gimpimage-new.c
	* app/core/gimpstrokedesc.c
	* app/dialogs/grid-dialog.c
	* app/dialogs/image-new-dialog.c
	* app/dialogs/stroke-dialog.c
	* app/display/gimpdisplayshell.c
	* app/text/gimptextlayer.c
	* app/text/gimptextundo.c
	* app/tools/gimptextoptions.c
	* libgimpconfig/gimpconfig-iface.c: changed accordingly.
2005-04-07 10:05:54 +00:00
Sven Neumann 7647db537b added new function to reset a single property to its default value.
2005-04-06  Sven Neumann  <sven@gimp.org>

	* libgimpconfig/gimpconfig-utils.[ch]: added new function to reset
	a single property to its default value.

	* libgimpconfig/gimpconfig.def: updated.

	* app/config/gimpbaseconfig.[ch]: reverted last change.

	* app/base/base.c: use gimp_config_reset_property() instead.
2005-04-06 21:37:40 +00:00
Sven Neumann 692669f4d8 renamed GIMP_PARAM_ #defines to GIMP_CONFIG_PARAM_.
2005-02-05  Sven Neumann  <sven@gimp.org>

	* libgimpconfig/gimpconfig-params.h: renamed GIMP_PARAM_ #defines
	to GIMP_CONFIG_PARAM_.

	* app/config/gimpbaseconfig.c
	* app/config/gimpconfig-dump.c
	* app/config/gimpcoreconfig.c
	* app/config/gimpdisplayconfig.c
	* app/config/gimpguiconfig.c
	* app/config/gimprc-deserialize.c
	* app/config/gimprc-serialize.c
	* app/config/gimprc.c
	* app/core/gimp.c
	* app/core/gimpstrokedesc.c
	* app/dialogs/preferences-dialog.c
	* app/text/gimptext.c
	* app/tools/gimptextoptions.c
	* libgimpconfig/gimpconfig-deserialize.c
	* libgimpconfig/gimpconfig-iface.c
	* libgimpconfig/gimpconfig-serialize.c
	* libgimpconfig/gimpconfig-utils.c: changed accordingly.

	* libgimpmodule/gimpmoduletypes.h: deprecate the
	GIMP_MODULE_PARAM_SERIALIZE #define, GIMP_CONFIG_PARAM_SERIALIZE
	should be used instead.

	* modules/controller_linux_input.c
	* modules/controller_midi.c: changed accordingly.
2005-02-05 14:52:58 +00:00
Sven Neumann b4a68e9569 libgimpconfig/gimpconfig-deserialize.c libgimpconfig/gimpconfig-error.c
2005-01-29  Sven Neumann  <sven@gimp.org>

	* libgimpconfig/gimpconfig-deserialize.c
	* libgimpconfig/gimpconfig-error.c
	* libgimpconfig/gimpconfig-iface.c
	* libgimpconfig/gimpconfig-path.c
	* libgimpconfig/gimpconfig-serialize.c
	* libgimpconfig/gimpconfig-utils.c
	* libgimpconfig/gimpconfigwriter.c
	* libgimpconfig/gimpscanner.c: use libgimp header,
	added "Since: GIMP 2.4" to the gtk-doc comments.
2005-01-29 12:54:48 +00:00
Michael Natterer 3592a58d96 new file holding the opaque typedefs for libgimpconfig. Includes
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-25 20:30:20 +00:00
William Skaggs 1cee9b7298 continuing commit after broken pipe 2005-01-25 19:11:26 +00:00
Sven Neumann 73c055bb52 app/config/Makefile.am app/config/gimpconfig-file.[ch] more new files,
2005-01-24  Sven Neumann  <sven@gimp.org>

	* app/config/Makefile.am
	* app/config/gimpconfig-file.[ch]
	* app/config/gimprc-utils.[ch]: more new files, code factored out
	of gimpconfig-utils.[ch].

	* app/config/gimpconfig-path.[ch]
	* app/config/gimpconfig-utils.[ch]
	* app/config/gimpcoreconfig.c
	* app/config/gimpguiconfig.c
	* app/config/gimppluginconfig.c
	* app/config/gimprc.c
	* app/core/gimp-units.c
	* app/dialogs/user-install-dialog.c
	* app/gui/session.c: changed accordingly.
2005-01-24 22:41:24 +00:00
Manish Singh 5d01581069 Fix a bunch of warnings from Sparse:
2004-11-13  Manish Singh  <yosh@gimp.org>

        Fix a bunch of warnings from Sparse:

        * app/actions/dockable-commands.c
        * app/actions/layers-actions.c
        * app/actions/view-commands.c
        * app/base/pixel-surround.c
        * app/config/gimpconfig-utils.c
        * app/config/gimpscanner.c
        * app/core/gimpbrushgenerated.c
        * app/core/gimpcontainer.c
        * app/core/gimpimage.c
        * app/dialogs/palette-import-dialog.c
        * app/file/gimprecentlist.c
        * app/plug-in/plug-in-params.c
        * app/text/gimptext-compat.c
        * app/text/gimptext-parasite.c
        * app/vectors/gimpbezierstroke.c
        * app/vectors/gimpstroke.c
        * app/widgets/gimpcellrendereraccel.c
        * app/widgets/gimpselectiondata.c
        * app/xcf/xcf.c
        * libgimp/gimp.c
        * libgimpthumb/gimpthumb-utils.c
        * libgimpthumb/gimpthumbnail.c
        * modules/cdisplay_proof.c
        * plug-ins/Lighting/lighting_ui.c
        * plug-ins/common/csource.c
        * plug-ins/common/glasstile.c
        * plug-ins/common/nova.c
        * plug-ins/common/pcx.c
        * plug-ins/common/pnm.c
        * plug-ins/common/randomize.c
        * plug-ins/common/screenshot.c
        * plug-ins/common/sel_gauss.c
        * plug-ins/common/spheredesigner.c
        * plug-ins/common/wind.c
        * plug-ins/gfig/gfig-dialog.c
        * plug-ins/gfig/gfig-dobject.c
        * plug-ins/gimpressionist/gimpressionist.c
        * plug-ins/ifscompose/ifscompose.c
        * plug-ins/print/gimp_main_window.c
        * plug-ins/print/print.c: Cleanup integer vs. pointer confusion.

        * app/base/temp-buf.c
        * app/dialogs/about-dialog.c
        * plug-ins/common/bumpmap.c
        * plug-ins/common/jigsaw.c
        * plug-ins/gfig/gfig-dobject.c: Cosmetic cleanups.

        * app/config/gimpconfig-deserialize.c
        * app/config/gimpconfig-path.c
        * app/config/gimpconfigwriter.c
        * app/core/gimpgradient.c
        * app/tools/gimpdrawtool.c
        * plug-ins/common/nlfilt.c
        * plug-ins/common/unsharp.c
        * plug-ins/common/zealouscrop.c: Define inline functions before they
        are used.

        * app/core/gimpdrawable-blend.c: PixelRegion definition was changed
        some time ago, but the initialization here didn't change. Fix it.

        * app/plug-in/plug-in-rc.c (plug_in_extra_deserialize): No need to
        assign token twice in a row.

        * libgimpbase/gimpdatafiles.c (gimp_datafiles_read_directories): No
        need to initialize file_data, since the code fills out all the fields.

        * plug-ins/common/CML_explorer.c
        * plug-ins/common/vpropagate.c: Declare function pointers fully.

        * plug-ins/common/grid.c (pix_composite): G_INLINE_FUNC isn't needed,
        we assume we can use the "inline" keyword always.

        * plug-ins/common/psd_save.c
        * plug-ins/common/vinvert.c
        * plug-ins/gfig/gfig-arc.c
        * plug-ins/gfig/gfig-bezier.c
        * plug-ins/gfig/gfig-circle.c
        * plug-ins/gfig/gfig-dialog.c
        * plug-ins/gfig/gfig-dobject.c
        * plug-ins/gfig/gfig-ellipse.c
        * plug-ins/gfig/gfig-line.c
        * plug-ins/gfig/gfig-poly.c
        * plug-ins/gfig/gfig-spiral.c
        * plug-ins/gfig/gfig-star.c
        * plug-ins/gfig/gfig.c
        * plug-ins/gimpressionist/orientmap.c
        * plug-ins/gimpressionist/placement.c
        * plug-ins/gimpressionist/sizemap.c
        * plug-ins/imagemap/imap_grid.c
        * plug-ins/imagemap/imap_main.c
        * plug-ins/imagemap/imap_preferences.c
        * plug-ins/imagemap/imap_settings.c
        * plug-ins/maze/maze.c
        * plug-ins/sel2path/curve.c
        * plug-ins/sel2path/fit.c
        * plug-ins/sel2path/pxl-outline.c
        * plug-ins/sel2path/spline.c
        * plug-ins/xjt/xjt.c: Functions with no args should be declared
        with (void).

        * plug-ins/common/retinex.c (MSRCR): Initialize max_preview to quiet
        the compiler.
2004-11-14 02:50:33 +00:00
Sven Neumann bd3a5ed2c0 copy the file permissions also.
2004-10-31  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-utils.c (gimp_config_file_copy): copy the
	file permissions also.

	* app/dialogs/user-install-dialog.c: added code to migrate user
	settings from ~/.gimp-2.0. It copies all files (except GIMP swap
	files) and all subdirectories (except tmp) with all files. It
	doesn't recurse into subdirectories.
2004-10-31 17:51:00 +00:00
Sven Neumann 21f26743c1 made gimp_config_sync() and gimp_config_connect() also work on objects of
2004-03-11  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-utils.c: made gimp_config_sync() and
	gimp_config_connect() also work on objects of different types.
	Properties with the same name and the same type are synced /
	connected.

	* app/core/gimpcontext.[ch]: added convenience functions to get/set
	the font by name.

	* app/tools/gimptextoptions.[ch]: don't hold a GimpText object
	that duplicates properties like font and color which are in
	GimpContext already. Instead added all text properties that are
	controlled from the text tool options.  Handling of the foreground
	color is somewhat broken and needs a GimpContext wizard (Mitch!).

	* app/text/gimptext.c: blurbs are not any longer needed now that
	the property widgets are created from the GimpTextOptions.

	* app/tools/gimptexttool.c: changed accordingly.

	* app/widgets/gimptexteditor.[ch]: use an internal GtkTextBuffer
	and emit "text-changed" when it changes.
2004-03-11 18:47:37 +00:00
Michael Natterer 894cf70dd5 Added infrastructure to make sure we don't write to the global brush,
2004-01-28  Michael Natterer  <mitch@gimp.org>

	Added infrastructure to make sure we don't write to the global
	brush, pattern etc. directories. Needed to make this configurable
	because we can't rely on the global directories being read-only,
	having certain names or being otherwise detectable at runtime in a
	sane way. Fixes bug #132214.

	* libgimpbase/gimpdatafiles.[ch]: added "const gchar *dirname" to
	the GimpDataFileData struct so callbacks don't need to call
	g_path_get_dirname() for each file.

	* libgimpwidgets/gimpfileentry.c: made it work with non UTF-8
	encoded filenames.

	* libgimpwidgets/gimppatheditor.[ch]: ditto. Added GUI and API for
	setting/getting a second "writable_path". The widget makes sure
	that the writable_path is always a subset of the path.

	* app/config/gimpconfig-utils.[ch]: added new function
	gimp_config_build_writable_path().

	* app/config/gimpcoreconfig.[ch]: added separate properties for
	the writable brush, pattern, gradient, palette and font paths.

	* app/config/gimprc-blurbs.h: added (still empty) blurbs for the
	new properties.

	* app/core/gimpdata.[ch] (gimp_data_set_filename): added parameter
	"gboolean writable". Set data->writable to FALSE by default. If
	"writable" is passed as TRUE, still check if we can write to the
	file before setting data->writable to TRUE.

	(gimp_data_create_filename): changed "data_path" parameter to
	"dest_dir" and assume dest_dir is writable.

	(gimp_data_duplicate): set data->dirty to TRUE to make sure
	duplicated things will be saved.

	* app/core/gimpbrush.c
	* app/core/gimpbrushgenerated.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpgradient.c
	* app/core/gimppalette.c
	* app/core/gimppattern.c: don't set the data's filename and don't
	touch data->dirty in the _load() functions because that's done by
	the data factory now. Don't touch data->dirty in the _duplicate()
	functions because that's done by gimp_data_duplicate() itself now.

	* app/core/gimpdatafactory.[ch] (gimp_data_factory_new): added
	"writable_property_name" and remember it.
	Added utility function gimp_data_factory_get_save_dir() which
	determines the directory to save new datas to.
	Added public function gimp_data_factory_data_save_single() which
	saves a single data object.
	Make sure new things get saved to the first writable directory
	as specified in preferences.

	* app/core/gimp.c (gimp_real_initialize): pass the writable_paths'
	property names to gimp_data_factory_new().

	* app/widgets/gimpdataeditor.c (gimp_data_editor_save_dirty): use
	gimp_data_factory_data_save_single() instead of implementing
	saving here.

	* app/widgets/gimppropwidgets.[ch] (gimp_prop_path_editor_new):
	added "const gchar *writable_property_name" parameter (can be
	NULL).

	Added the needed callbacks to handle the writable_path and made
	the path_editor and file_entry code aware of non UTF-8 filename
	encodings. Some general cleanup.

	* app/gui/preferences-dialog.c: changed accordingly.
2004-01-28 21:53:50 +00:00
Sven Neumann 6d506d51bb include "libgimpbase/gimpbase.h" where needed; removed now unnecessary
2004-01-19  Sven Neumann  <sven@gimp.org>

	* app/*/*.c: include "libgimpbase/gimpbase.h" where needed; removed
	now unnecessary inclusions of "file/file-utils.h".
2004-01-19 01:54:11 +00:00
Sven Neumann a70698c4d9 removed file_utils_filename_to_utf8() ...
2004-01-19  Sven Neumann  <sven@gimp.org>

	* app/file/file-utils.[ch]: removed file_utils_filename_to_utf8() ...

	* libgimpbase/gimputils.[ch]: ... and added it here as
	gimp_filename_to_utf8(). Added some docs that promise less than
	the current implementation holds so that we can change the
	implementation later.

	* app/*/*.c: use gimp_filename_to_utf8() where
	file_utils_filenames_to_utf8() has been used before.

	* libgimpbase/gimpbase.def: changed accordingly.

	* configure.in: reset GIMP_INTERFACE_AGE.
2004-01-19 01:08:43 +00:00
Manish Singh 35f1fd4273 #include "file/file-utils.h" for file_utils_filename_to_utf8.
2004-01-14  Manish Singh  <yosh@gimp.org>

        * app/config/gimpconfig-utils.c: #include "file/file-utils.h" for
        file_utils_filename_to_utf8.
2004-01-15 00:07:32 +00:00
Tor Lillqvist 18485018b3 Add new function file_utils_filename_to_utf8(), which is to be used when
2004-01-14  Tor Lillqvist  <tml@iki.fi>

	* app/file/file-utils.[ch]: Add new function
	file_utils_filename_to_utf8(), which is to be used when converting
	file names (which are kept in the on-disk encoding) to UTF-8 for
	passing to GTK, or to g_print() etc.

	* app/*/*.c: Call file_utils_filename_to_utf8(). Should fix most
	of the warnings generated by non-UTF8 pathnames. See #130118.

	* libgimpbase/gimpenv.b: Document that gimp_directory() etc return
	strings in the on-disk encoding.

	* libgimpmodule/gimpmodule.c: Convert filenames to UTF-8 (using
	g_filename_to_utf8()) before passing to g_print().
2004-01-14 02:03:37 +00:00
Michael Natterer c6bd27d286 app/config/gimpconfig-utils.c use standard file error message strings.
2003-11-14  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpconfig-utils.c
	* app/gui/themes.c: use standard file error message
	strings. Removes two more translatable strings.
2003-11-14 17:08:51 +00:00
Michael Natterer 6eb772946b libgimpwidgets/gimpquerybox.c configure the labels in the message dialog
2003-11-14  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpquerybox.c
	* app/widgets/gimpwidgets-utils.c: configure the labels in the
	message dialog and the query boxes to do automatic word wrapping
	to be HIG compliant.

	* app/app_procs.c
	* app/batch.c
	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-path.c
	* app/config/gimpconfig-utils.c
	* app/config/gimpconfigwriter.c
	* app/config/gimpscanner.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushgenerated.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpdatafactory.c
	* app/core/gimpgradient.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage.c
	* app/core/gimpimagefile.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimppalette.c
	* app/core/gimppattern.c
	* app/core/gimpselection.c
	* app/display/gimpdisplayshell.c
	* app/file/file-utils.c
	* app/gui/brush-select.c
	* app/gui/dialogs-commands.c
	* app/gui/drawable-commands.c
	* app/gui/edit-commands.c
	* app/gui/file-commands.c
	* app/gui/file-new-dialog.c
	* app/gui/font-select.c
	* app/gui/gradient-select.c
	* app/gui/gui.c
	* app/gui/image-commands.c
	* app/gui/layers-commands.c
	* app/gui/palette-select.c
	* app/gui/palettes-commands.c
	* app/gui/pattern-select.c
	* app/gui/preferences-dialog.c
	* app/gui/select-commands.c
	* app/gui/stroke-dialog.c
	* app/gui/tool-options-menu.c
	* app/gui/vectors-commands.c
	* app/gui/view-commands.c
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in.c
	* app/plug-in/plug-ins.c
	* app/text/gimptextlayer-xcf.c
	* app/text/gimptextlayer.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimptransformtool.c
	* app/vectors/gimpvectors-export.c
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimphelp.c
	* app/widgets/gimptemplateview.c
	* app/widgets/gimptooloptionseditor.c
	* app/xcf/xcf.c
	* tools/pdbgen/pdb/image.pdb: removed explicit newlines from
	messages. Reduced number of translatable strings by making many
	file error messages the same. Quote single words and filenames
	with 'foo', not "foo". Replaced some more "drawable" by "layer".
	General message cleanup and consistency check.

	* app/pdb/image_cmds.c: regenerated.
2003-11-14 15:33:40 +00:00
Sven Neumann da365fdba9 app/app-docs.sgml updated.
2003-10-25  Sven Neumann  <sven@gimp.org>

	* app/app-docs.sgml
	* app/app-sections.txt: updated.

        * app/config/gimpconfig-utils.c: fixed inline docs.
2003-10-25 20:32:10 +00:00
Sven Neumann f7db733ee2 make it a two-way connection and added a property_name parameter so it can
2003-10-25  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-utils.[ch] (gimp_config_connect): make it
	a two-way connection and added a property_name parameter so it
	can be used to connect only a certain property.

	* app/tools/gimptexttool.c: changed accordingly.

	* app/tools/gimphistogramoptions.c: use gimp_config_connect().
	Changed the default histogram scale to linear.
2003-10-25 17:25:34 +00:00
Sven Neumann 3930693783 base/base.c (base_init) moved the message about possible debug messages to
2003-10-21  Sven Neumann  <sven@gimp.org>

	* base/base.c (base_init)
	* app/errors.c (gimp_errors_init): moved the message about
	possible debug messages to gimp_errors_init() so that it appears
	before any startup debug output.

	* app/app_procs.c (app_init): register a log handler for the
	GimpConfig log domain.

	* app/widgets/gimpwidgets-utils.c (gimp_message_box)
	* app/core/gimp.c (gimp_message): added an extra newline when
	sending messages to stderr. Don't output the full progname for
	messages; use a simple "GIMP" like the GUI message handler does.

	* app/gui/user-install-dialog.c: removed function copy_file()...

	* app/config/gimpconfig-utils.[ch]: ... and added it here as
	gimp_config_file_copy(). Also added utility function
	gimp_config_file_backup_on_error().

	* app/config/gimprc.c (gimp_rc_load): if the user gimprc can't be
	parsed, create a backup and if that succeeds unlink the broken one
	to cure the problem.

	* app/gui/session.c: create a backup if sessionrc can't be parsed.

	* config/gimpconfig-deserialize.c (gimp_config_deserialize_properties):
	don't set an error when token is G_TOKEN_NONE; it should already
	be set then.
2003-10-21 18:14:58 +00:00
Sven Neumann 77e69b7b91 fixed comment.
2003-10-15  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-utils.c (gimp_config_sync): fixed comment.
2003-10-15 17:54:42 +00:00
Sven Neumann 1e0816fa93 minor cleanup.
2003-10-15  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-utils.c (gimp_config_diff_internal): minor
	cleanup.

	* app/core/gimptemplate.[ch]: added a comment property.

	* app/config/gimpcoreconfig.[ch]
	* app/config/gimprc-blurbs.h: removed "default_comment" property
	and set the default comment on the default image template.

	* app/widgets/gimptemplateeditor.c: added a comment editor widget.

	* app/core/gimp.c
	* app/gui/file-new-dialog.c
	* app/gui/preferences-dialog.c
	* app/pdb/gimprc_cmds.c
	* tools/pdbgen/pdb/gimprc.pdb: changed accordingly.

	* libgimpwidgets/gimpmemsizeentry.c (gimp_memsize_entry_init):
	increased spacing between the spinbutton and the menu.
2003-10-15 15:30:11 +00:00
Sven Neumann cff08b64ae app/config/gimpconfig-utils.c (gimp_config_diff) (gimp_config_sync)
2003-10-15  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-utils.c (gimp_config_diff) (gimp_config_sync)
	* app/config/gimpconfig.c (gimp_config_iface_equal): compare and sync
	aggregate objects recursively.

	* app/core/gimptemplate.c (gimp_template_finalize): don't leak the
	filename.

	* app/display/gimpdisplayshell-title.c
	* app/config/gimpconfig-dump.c: added %L format identifier for
	verbose layer count. Renamed former %L to %n (layer name).

	* app/config/gimpdisplayconfig.c: changed default image title and
	image status format strings.

	* app/gui/dialogs-constructors.c: added a blurb for Templates
	dockables.

	* app/display/gimpdisplayshell.h: fixed typo.
2003-10-14 23:00:16 +00:00
Sven Neumann 737da42437 removed gimp_config_copy_properties() and added the more intelligent
2003-10-14  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-utils.[ch]: removed
	gimp_config_copy_properties() and added the more intelligent
	gimp_config_sync() instead.

	* app/config/Makefile.am
	* app/config/config-types.h
	* app/config/gimpcoreconfig.[ch]
	* app/config/gimprc-blurbs.h: replaced default image properties
	with a single GimpTemplate object property. Changed the
	set_property function to not replace aggregate objects but call
	gimp_config_sync() instead.

	* app/tools/gimptextoptions.c (gimp_text_options_set_property):
	same change here.

	* app/config/gimpconfig.[ch]: changed return value of
	gimp_config_duplicate() to gpointer to avoid some casts that only
	made the code harder to read.

	* app/widgets/gimptemplateeditor.[ch]: don't keep an internal copy
	here but edit the GimpTemplate passed when the editor was
	constructed.

	* app/gui/preferences-dialog.c: use a GimpTemplateEditor to allow
	editing of the default image paramaters.

	* app/config/gimprc.c
	* app/core/core-types.h
	* app/core/gimp.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-grid.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage-undo-push.c
	* app/core/gimpimage.c
	* app/core/gimptemplate.[ch]
	* app/gui/file-new-dialog.c
	* app/gui/grid-dialog.c
	* app/gui/info-window.c
	* app/gui/resize-dialog.c
	* app/gui/templates-commands.[ch]
	* app/gui/tool-options-commands.c
	* app/text/gimptextlayer.c
	* app/text/gimptextlayer.c
	* app/tools/gimptexttool.c
	* app/widgets/gimptemplateview.c
	* app/xcf/xcf-load.c: changed accordingly.
2003-10-14 15:20:59 +00:00
Sven Neumann 4ea392ef3b removed function gimp_config_serialize_comment()...
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-10-12 01:49:51 +00:00
Sven Neumann a88e11afb3 app/widgets/gimpdocked.[ch] renamed GimpDockedIface to
2003-10-11  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdocked.[ch]
	* app/widgets/widgets-types.h: renamed GimpDockedIface to
	GimpDockedInterface.

	* app/display/gimpnavigationview.c
	* app/widgets/gimpcoloreditor.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainerview.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimpimageeditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimptooloptionseditor.c: changed accordingly.

	* app/config/config-types.h
	* app/config/gimpconfig.[ch]
	* app/config/gimpconfig-deserialize.[ch]
	* app/config/gimpconfig-serialize.[ch]
	* app/config/gimpconfig-utils.[ch]: added a GimpConfig typedef and
	changed the GimpConfig API to take GimpConfig instead of GObject
	pointers.

	* app/config/gimpconfig-dump.c
	* app/config/gimprc.c
	* app/config/test-config.c
	* app/core/gimp-documents.c
	* app/core/gimp-parasites.c
	* app/core/gimp-templates.c
	* app/core/gimp.[ch]
	* app/core/gimpcontainer.c
	* app/core/gimpcontext.c
	* app/core/gimpdocumentlist.c
	* app/core/gimpgrid.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage.c
	* app/core/gimpparasitelist.c
	* app/core/gimptemplate.c
	* app/core/gimptooloptions.c
	* app/core/gimpviewable.c
	* app/gui/grid-dialog.c
	* app/gui/preferences-dialog.c
	* app/gui/stroke-dialog.c
	* app/gui/templates-commands.c
	* app/gui/tool-options-commands.c
	* app/paint/gimppaintcore.c
	* app/pdb/gimprc_cmds.c
	* app/text/gimptext-parasite.c
	* app/text/gimptext.c
	* app/text/gimptextlayer.c
	* app/tools/gimp-tools.c
	* app/tools/gimptexttool.c
	* app/widgets/gimpdevices.c
	* app/widgets/gimptemplateeditor.c
	* app/widgets/gimptemplateview.c
	* tools/pdbgen/pdb/gimprc.pdb: changed accordingly.
2003-10-11 14:30:18 +00:00
Sven Neumann bb044204a0 make it handle aggregate object properties by calling itself recursively.
2003-10-01  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-utils.c (gimp_config_diff): make it handle
	aggregate object properties by calling itself recursively.
2003-10-01 12:54:58 +00:00
Michael Natterer 017d183968 Fixed handling of G_PARAM_CONSTRUCT_ONLY properties:
2003-09-29  Michael Natterer  <mitch@gimp.org>

	Fixed handling of G_PARAM_CONSTRUCT_ONLY properties:

	* app/config/gimpconfig.c (gimp_config_iface_duplicate): build
	a GParameter array of G_PARAM_CONSTRUCT_ONLY properties and
	use g_object_newv() instead of g_object_new() to create the
	copy.

	* app/config/gimpconfig-utils.c
	(gimp_config_copy_properties)
	(gimp_consif_reset_properties): don't try to copy/reset
	G_PARAM_CONSTRUCT_ONLY properties because it is impossible.

	(gimp_config_connect_notify): ditto. Also don't try to read
	from unreadable or write to unwritable properties.
2003-09-29 18:29:11 +00:00
Sven Neumann d75a2f79ba app/config/Makefile.am moved code from gimpconfig.[ch] to these new files.
2003-07-24  Sven Neumann  <sven@gimp.org>

	* app/config/Makefile.am
	* app/config/gimpconfig-error.[ch]: moved code from gimpconfig.[ch]
	to these new files.

	* app/config/gimpconfig-utils.[ch]: moved gimp_config_string_indent()
	here from gimpconfig.[ch].

	* app/config/gimpconfig.[ch]
	* app/config/gimpconfigwriter.c
	* app/config/gimprc.c
	* app/config/gimpscanner.c
	* app/core/gimp-documents.c
	* app/core/gimp-parasites.c
	* app/core/gimp-templates.c
	* app/widgets/gimpdevices.c: changed accordingly.
2003-07-24 14:14:23 +00:00
Michael Natterer f82440ff48 made object properties G_PARAM_READWRITE by default. Added flag
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-04-12 19:06:25 +00:00
Michael Natterer e7fbd8106f reset object properties only if they are GIMP_PARAM_SERIALIZABLE.
2003-04-05  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpconfig-utils.c (gimp_config_reset_properties):
	reset object properties only if they are GIMP_PARAM_SERIALIZABLE.

	* app/core/gimpcontext.[ch]: added a GimpTemplate property.

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c: added a template dialog.

	* app/gui/dialogs-menu.c
	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c: and menu entries to open it.

	* app/widgets/gimpdnd.[ch]: added DND for GimpTemplates.
2003-04-05 19:56:38 +00:00
Sven Neumann b6dbe729a4 added the new function gimp_config_string_append_escaped(), see inline
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-17 14:23:42 +00:00
Sven Neumann d457b9eb9b app/config/Makefile.am new files featuring a simple config file writer.
2003-03-05  Sven Neumann  <sven@gimp.org>

	* app/config/Makefile.am
	* app/config/gimpconfigwriter.[ch]: new files featuring a simple
	config file writer.

	* app/config/gimpconfig-serialize.[ch]
	* app/config/gimpconfig.[ch]: changed the serialize routines to
	use a GimpConfigWriter instead of passing around a file descriptor
	and the indentation level.

	* app/config/config-types.h
	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-dump.c
	* app/config/gimpconfig-utils.c
	* app/config/gimprc.c
	* app/config/gimpscanner.c
	* app/config/test-config.c
	* app/core/gimp-documents.c
	* app/core/gimp-parasites.c
	* app/core/gimpcontainer.c
	* app/core/gimpcontext.c
	* app/core/gimpdocumentlist.c
	* app/core/gimpparasitelist.c
	* app/gui/test-commands.c
	* app/tools/tool_options.c
	* app/widgets/gimpdevices.c: changed accordingly.

	* libgimpwidgets/gimpwidgets.c: documentation updates.

	* app/core/gimpitem.c: removed a redundant type-check.
2003-03-05 20:21:50 +00:00