Commit Graph

150 Commits

Author SHA1 Message Date
Michael Natterer 110efe528c parse sessionrc using GScanner.
2002-06-02  Michael Natterer  <mitch@gimp.org>

	* app/gui/session.c: parse sessionrc using GScanner.

	* app/config/gimpscanner.[ch]: added utility function
	gimp_scanner_parse_string_list(). Fixed the color parser's parse
	error detection.

	* app/gimprc.c: removed the sessionrc parsing stuff.

	* app/config/gimpconfig-params.c (gimp_param_spec_color): no need
	to set the param_spec's value_type, it already gets set by it's
	base class' instance_init() function.
2002-06-02 19:48:01 +00:00
Michael Natterer c6948e6e95 configure the scanner the same way GimpConfig did (scanner->user_data is,
2002-05-31  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpscanner.[ch]: configure the scanner the same
	way GimpConfig did (scanner->user_data is, if set, a GError).
	Added gimp_scanner_parse_color(). Added "GError **error" to
	gimp_scanner_new().

	* app/config/gimpconfig.c: use gimp_scanner_new().

	* app/config/gimpconfig-deserialize.c: use gimp_scanner_parse_color().

	* app/core/gimpunits.c
	* app/plug-in/plug-in-rc.c: changed accordingly.

	* app/plug-in/plug-in-rc.c: made the main parse loops consistent
	with the other places using GScanner.
2002-05-31 13:58:18 +00:00
Sven Neumann 4c55933dea renamed gimp_mem_size_entry_new() to gimp_memsize_entry_new() for
2002-05-29  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpwidgets.[ch]: renamed gimp_mem_size_entry_new()
	to gimp_memsize_entry_new() for consistency. Rewrote using bitshifts.
	Should work correctly for sizeof (gulong) > 32 now. Added new unit
	GigaBytes.

	* app/gui/preferences-dialog.c
	* app/gui/user-install-dialog.c: changed accordingly.

	* app/config/gimpconfig-types.[ch]: added new function
	gimp_memsize_set_from_string() that allows to check if the
	conversion succeeded.

	* app/config/gimpconfig-deserialize.c
	(gimp_config_deserialize_memsize): use gimp_memsize_set_from_string().
2002-05-29 09:20:56 +00:00
Sven Neumann 89585b4c14 app/config/test-config.c use g_error_free() so we crash if our GimpConfig
2002-05-28  Sven Neumann  <sven@gimp.org>

	* app/config/test-config.c
	* app/gui/test-commands.c: use g_error_free() so we crash if our
	GimpConfig functions return FALSE and don't set an error.

	* app/widgets/gimpdevices.c: don't warn if devicerc was not found.

	* app/gui/preferences-dialog.c: use G_MAXULONG as upper limit for
	the mem_size entries.

	* libgimpwidgets/gimpwidgets.c (gimp_mem_size_entry): use gulong
	and set the range of the spinbutton's adjustment properly.
2002-05-28 18:49:45 +00:00
Michael Natterer b7e3c716c4 override GObjectClass->constructor() and do the setup stuff there, not in
2002-05-28  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontext.c: override GObjectClass->constructor() and
	do the setup stuff there, not in gimp_context_new(). This way we
	can create properly initialized contexts with g_object_new().

	* app/widgets/gimpdeviceinfo.c: Removed the "gimp" property
	again. Added a constructor() implementation and moved stuff there
	from gimp_device_info_set_property(PROP_GIMP).

	* app/config/gimpconfig-deserialize.c: made deserialization of
	value arrays work by actually using the array any not just leaking
	it ;)

	* app/core/gimpcontainer.c: removed debugging output. Call
	config_iface->deserialize(child, ...) again instead of calling
	gimp_config_deserialize_properties() directly.

	* app/widgets/gimpdevices.c: switch to using the new stuff for
	devicerc.

	* app/widgets/gimpdeviceinfo.[ch]
	* app/widgets/gimpdevices.[ch]
	* app/gimprc.c: removed all old gimprc-style devicerc stuff.

	* app/gui/menus.c
	* app/gui/test-commands.[ch]: removed devicerc testing entries
	and callbacks.
2002-05-28 16:41:56 +00:00
Sven Neumann 0c87d88df9 oops 2002-05-27 21:59:26 +00:00
Sven Neumann 93799415c8 fixed error code and improved error messages.
2002-05-27  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig.c (gimp_config_serialize): fixed error code
	and improved error messages.
2002-05-27 21:50:50 +00:00
Michael Natterer dbc8aeb49c added "gint nest_level" to the deserialization functions, so nested calls
2002-05-27  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpconfig.[ch]: added "gint nest_level" to the
	deserialization functions, so nested calls to deserialize()
	don't error on the trailing ')'. Made the scanner config parse
	one-character identifiers and allow G_CSET_A_2_Z for all
	identifiers.
	Added gimp_config_deserialize_return() because returning the
	correct return value from a deserialize() function is not
	trivial any more with nested calls.

	* app/config/gimpconfig-deserialize.[ch]
	* app/config/gimprc.c
	* app/core/gimpdocumentlist.c
	* app/core/gimpparasitelist.c: use the new return value utility
	function and made the main parsing loops simpler.

	* app/core/gimpunits.c: made the main parsing loops consistent
	with the stuff that uses GimpConfig.

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-serialize.c: call the
	(de)serialize_property() functions only if the property's class
	implements the method itself (does *not* inherit it from one of
	it's parents).

	* app/core/gimpcontainer.c: implemented deserialization of
	containers. For each child entry encountered in the input, check
	if it's already contained in the container and create it if not.
	If a "gimp" pointer is passed as user_data pass it as construct
	property to g_object_new() when creating the object.

	* app/core/gimpcontext.c: changed deserialization of brush,
	pattern etc. to honor "no_data".

	* app/widgets/gimpdeviceinfo.c: added a "gimp" construct_only
	property which overrides GimpContext's "gimp" property. Moved all
	initialisation code from gimp_device_info_new() to
	gimp_device_info_set_property(PROP_GIMP) so it is properly
	performed if the object is created by GimpContainer's
	deserialize() implementation.

	* app/widgets/gimpdevices.c: made gimp_devices_restore_test() work.
2002-05-27 14:04:21 +00:00
Michael Natterer 40caeab174 added deserialization of GValueArrays (untested). Added
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 17:42:21 +00:00
Sven Neumann b5d2dd0867 write newline after serializing the properties.
2002-05-24  Sven Neumann  <sven@gimp.org>

	* app/config/gimprc.c (gimp_rc_serialize): write newline after
	serializing the properties.

	* app/config/gimpconfig.c (gimp_config_string_indent): tiny
	optimization.
2002-05-24 13:52:07 +00:00
Michael Natterer 708059e463 fixed assertion which did not check for indent_level >= 0 but > 0.
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 13:07:12 +00:00
Michael Natterer b10ade1a35 app/config/gimpconfig.[ch] added "gint indent_level" to all serialization
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 02:53:20 +00:00
Michael Natterer 42f8ae15e4 added virtual interface methods serialize_property() and
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-22 13:19:19 +00:00
Sven Neumann 3553cf90bf need to link test-config against libgimpcolor now.
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 17:33:04 +00:00
Michael Natterer 292ec087eb added GIMP_TYPE_COLOR as boxed type encapsulating GimpRGB.
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 15:01:57 +00:00
Sven Neumann 6c9134609b fixed documentation.
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 18:23:17 +00:00
Sven Neumann 394d4aed05 added user_data pointer to serialize and deserialize methods.
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 11:59:51 +00:00
Sven Neumann 9b6ef26100 added a return value to indicate success of
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 11:05:32 +00:00
Sven Neumann c347f14848 fixed error messages.
2002-05-14  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig.c: fixed error messages.

	* plug-ins/common/ps.c: applied a patch from Raphael Quinet that
	fixes bug #81606 (special-case recent Illustrator EPS brain damage).
2002-05-14 12:33:11 +00:00
Sven Neumann 1ab94ead7e serialize to a temporary file and rename it to the target filename when it
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 21:39:59 +00:00
Hans Breuer 8522a8470d add appconfig.lib. Statically link libgimptool/gimptool.lib.
2001-05-11  Hans Breuer  <hans@breuer.org>

	* app/makefile.msc : add appconfig.lib. Statically
	link libgimptool/gimptool.lib.

	* app/main.c : use gimp_locale_directory()

	* app/config/gimpconfig-utils.c : <string.h>

	* app/config/makefile.msc : add gimpscanner

	* app/core/gimpimagefile.c : some G_OS_WIN32 mess to get
	mkdir() and chmod()

	* app/display/gimpdisplayshell.c
	  app/plug-in/plug-in-progrss.c
	  app/tool/gimpcolorpickertool.c
	  app/tool/gimpcroptool.c
	  app/tool/gimpmeasuretool.c
	  app/tool/gimpperspectivetool.c
	  app/tool/gimprotatetool.c
	  app/tool/gimpscaletool.c
	  app/tool/gimpsheartool.c
	  app/tool/gimptransformtool.c
	  app/widgets/gimpcolormapeditor.c
	  app/widgets/gimpcolorpanel.c
	  app/widgets/gimptoolbox-color-area.c
	add #ifdef __GNUC__ to avoid breaking on non standard
	pragma #warning

	* app/tools/makefile.msc : add gimptoolcontrol remove
	tools-enum

	* app/tools/tool_manager.c : need to include
	libgimptool/gimptoolcontrol.h after core includes
	otherwise we would compile without prototypes or
	break miserably

	* app/gui/plug-in-menus.c : replace LOCALEDIR with
	gimp_locale_directory ()

	* app/gui/preferences-dialog.c (prefs_notebook_append_page) :
	only try to gdk_pixbuf_new_from_file() with a valid filename.
	It should simply return NULL otherwise, but fails if the
	filename is an empty string.

	* app/paint-funcs/makefile.msc : add -FImsvc_recommended_pragmas.h

	* app/widgets/gimpcolormapeditor.c : the 'row'
	allocated needs to be 'xn * cellsize * 2' (to avoid
	accessing unowned memory) not only width, which has
	become allocation.width by someone commenting out
	the correct size calculation

	* app/widgets/gimpdialogfactory.c : varargs to macros
	are GCCism or at least non standard. #define DEBUG
	to g_print or nothing - without arguments - does fix
	it somewhat dirty as the compiler needs to tolerate
	the '(blah, foo, bar);' statement than

	* app/widgets/makefile.msc : updated

	* app/xcf/makefile.msc : add -FImsvc_recommended_pragmas.h

	* etc/gimprc.win32 : use ';' to separate theme-path

	* libgimpbase/gimpenv.c : #include <stdio.h>
	for sprintf()

	* app/widgets/gimpdnd.c (gimp_dnd_set_file_data) :
	the passed in vals chunk is not always null-terminated
	(at least not on win32). Use the length parameter too
	to avoid reading junk filenames.

	* libgimp/gimp.def : export gimp_image_get_name()

	* libgimpbase/gimpbase.def : export gimp_locale_directory()
	* libgimpbase/gimpenv.[ch] : added gimp_locale_directory ()

	* libgimpbase/makefile.msc : define DATADIR and SYSCONFDIR
	to empty string to let gimp find its files in the common
	place (win32: relative to the top level gimp dir)

	* plug-ins/common/pixelize.c : <string.h>

	* plug-ins/flame/cmap.c : #include <glib.h> for g_random_int()

	* plug-ins/makefile.msc : -FImsvc_recommended_pragams.h
	and a little hack to give imagemap the prototypes it
	desires without changing the lexed source

	* themes/Default/images/makefile.msc : now added (see below)

	* themes/Default/images/stock-button-reset.png : made it binary
2002-05-10 23:30:09 +00:00
Sven Neumann 6747ea3f1f fixed typo.
2002-05-06  Sven Neumann  <sven@gimp.org>

	* autogen.sh: fixed typo.

	* app/config/gimpconfig-serialize.[ch] (gimp_config_serialize_value):
	allow to specify whether strings should be escaped.

	* app/config/gimprc.c (gimp_rc_query): don't escape string values.

	* app/config/test-config.c: changed accordingly.
2002-05-06 11:04:39 +00:00
Sven Neumann 7f6b1d5593 app/config/gimpconfig-serialize.c app/config/gimpconfig-utils.[ch]
2002-05-06  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-serialize.c
	* app/config/gimpconfig-utils.[ch]
	* app/config/gimpconfig.[ch]
	* app/config/gimprc.[ch]: added a GimpRc implementation of
	gimp_config_duplicate() that also copies unknown tokens. Added new
	function gimp_rc_query().

	* app/config/test-config.c: added tests for gimp_rc_query().

	* app/config/Makefile.am: need to link test app against libappwidgets.
2002-05-05 22:11:34 +00:00
Sven Neumann 43c602dc95 app/arch/i386/mmx/detect_mmx.S applied a patch from iccii@hotmail.com that
2002-05-04  Sven Neumann  <sven@gimp.org>

	* app/arch/i386/mmx/detect_mmx.S
	* app/arch/i386/mmx/paint_funcs_mmx.S: applied a patch from
	iccii@hotmail.com that promises to fix build on mingw (bug #80681).

	* app/config/gimpconfig-serialize.c
	* app/config/gimpconfig-utils.[ch]: moved value compare function to
	gimpconfig-utils.

	* app/config/gimpconfig.[ch]: added duplicate and compare functions
	to GimpConfigInterface so derived interfaces can override them.

	* app/tools/gimptexttool.c: fixed tool cursor.
2002-05-03 23:48:03 +00:00
Sven Neumann 21fb2943b5 serialize doubles and floats using the locale independent
2002-04-15  Sven Neumann  <sven@gimp.org>

        * app/config/gimpconfig-serialize.c: serialize doubles and floats
        using the locale independent g_ascii_formatd().
2002-04-15 09:40:08 +00:00
Hans Breuer de5f8b5f43 #define GETTEXT_PACKAGE
2001-03-28  Hans Breuer  <hans@breuer.org>

	* config.h.win32 : #define GETTEXT_PACKAGE

	* makefile.msc : add theme rule

	* app/makefile.msc : gimp.exe depends on all the libs
	and general update

	* app/base/makefile.msc : updated

	* app/config/gimpconfig-serialize.c : #include <io.h> for win32
	* app/config/gimpconfig-types.c : #include <string.h>

	* app/core/gimpcontext.c app/core/gimpcontainer.c
	  app/core/gimptoolinfo.c : #include <string.h>

	* app/core/gimpdocuments.c (gimp_documents_save_func) :
	need to g_strescape() the filename to not make
	backslashes vanish during de-serialization

	* app/core/gimpimagefile.c : #define S_ISREG for G_OS_WIN32

	* app/core/makefile.msc : add -DGIMP_COMPILATION
	required for cpercep.c build

	* app/display/gimpdisplayshell.c : #include <string.h>

	* app/display/makefile.msc : -FImsvc_recommended_pragmas.h,
	G_LOG_DOMAIN definition and object file update

	* app/file/makefile.msc : -FImsvc_recommended_pragmas.h,
	G_LOG_DOMAIN definition

	* app/file/file-open.c (file_open_with_proc_and_display) :
	use absolute filename for gimp_documents_add()

	* app/gui/channel-commands.c app/gui/colormap-editor-commands.c
	  app/gui/edit-commands.c app/gui/vectors-commands.c :
	#include <string.h>

	* app/gui/makefile.msc : updated

	* app/gui/menus.c : use g_file_test() instead of access()
	to avoid inclusion <unistd.h>

	* app/paint/makefile.msc : updated

	* app/plug-in/plug-in-params.c : #include <string.h>

	* app/plug-in/makefile.msc : updated

	* app/plug-in/plug-in-def.h : #include <time.h> for time_t

	* app/plug-in/plug-in.c : remove definition of S_IFREG

	* app/plug-in/gap/gap_arr_dialog.c : include <config.h>
	before including libgimp/libgimp-intl.h

	* app/tools/makefile.msc : updated

	* app/vectors/makefile.msc : new file

	* app/widgets/makefile.msc : updated

	* libgimp/gimp.def : updated externals

	* libgimpwidgets/gimpwidgets.def : updated externals

	* modules/makefile.msc : updated and disabled colorsel_gtk.

	* plug-in/makefile.msc : don't define GETTEXT_PACKAGE

	* themes/Default/images/makefile.msc : moved makefile.msc from ..
	and adapted pathes to images
2002-03-28 00:10:56 +00:00
Michael Natterer 75c63ee334 app/config/Makefile.am new files containing a convenience constructor for
2002-03-28  Michael Natterer  <mitch@gimp.org>

	* app/config/Makefile.am
	* app/config/gimpscanner.[ch]: new files containing a convenience
	constructor for GScanner and some parse utility functions, mostly
	cut out of app/plug-in/plug-in-rc.c

	* app/plug-in/plug-in-rc.c: removed the stuff here, added scopes
	to the scanner symbols.

	* app/core/Makefile.am
	* app/core/gimpunits.[ch]: moved the user_unit list handling and
	unitrc stuff to this file. Parse unitrc here, using the new
	utility functions instead of using gimprc.

	* app/core/gimpunit.[ch]: removed here.

	* app/core/gimpdocuments.c: same here: added a scanner for the
	document history instead of using gimprc.

	* app/gimprc.c: removed unitrc and document history parsing stuff
	along with some old unused cruft.

	* app/app_procs.c
	* app/core/gimp.c
	* app/gui/user-install-dialog.c: #include "core/gimpunits.h".

	* app/core/gimpdrawable-bucket-fill.c: don't include "gimprc.h".
2002-03-27 23:15:00 +00:00
Sven Neumann d4b90098cf app/config/gimpconfig-deserialize.[ch]
2002-03-23  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-deserialize.[ch]
	* app/config/gimpconfig-serialize.[ch]
	* app/config/gimpconfig.[ch]
	* app/config/gimprc.[ch]
	* app/config/test-config.c: added better error reporting using GError.
2002-03-23 17:58:57 +00:00
Sven Neumann 30e4242936 open the file with O_TRUNC.
2002-03-17  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig.c: open the file with O_TRUNC.
2002-03-17 17:04:38 +00:00
Hans Breuer 6cb914db84 from now on use make.msc from $(TOP)/glib/build/win32; all occurences of
2001-02-17  Hans Breuer  <hans@breuer.org>

	* */*/makefile.msc */makefile.msc : from now on use
	make.msc from $(TOP)/glib/build/win32; all occurences
	of DIRENT removed and general update

	* app/config/makefile.msc app/paint/makefile.msc
	  app/plug-in/makefile.msc themes/Default/makefile.msc :
	new files

	* app/base/base.c : ported to GDir usage

	* app/config/gimpconfig-serialize.c :
	  app/config/gimpconfig-deserialize.c : HAVE_UNISTD_H
	* app/config/gimpconfig.c :
	  app/config/gimprc.c : HAVE_UNISTD_H, use <io.h> for
	open() prototype and merged pmode parameter
	(_S_IREAD | _S_IWRITE)

	* app/core/cpercep.c : msvc doesn't have cbrt(), provide
	it via pow(). Also include <glib.h> for painless 'inline'
	definition.

	* app/core/gimpdatafiles.c : ported to GDir usage

	* app/core/gimpimage-convert.c : work around a msvc compiler
	limitation (can't convert from uint64 to double)

	* app/file/file-open.c app/file/file-save.c :
	access() -> _access() for G_OS_WIN32

	* app/plug-in/plug-in.c : HAVE_UNISTD_H and <io.h>

	* libgimpbase/gimpbase.def : updated externals

	* libgimpbase/gimpenv.c : define WIN32_LEAN_AND_MEAN to
	avoid clashes with incompatible DATADIR definitions

	* libgimpcolor/gimpcolor.def : updated externals

	* lingimpmath/gimpmath.def : updated externals

	* libgimpwidgets/gimpwidgets.def : updated externals

	* libgimpwidgets/libgimp-glue.c : adapt to const changes
	of some prototypes

	* plug-ins/makefile.msc : disabled gdyntext

	* plug-ins/gap/iter_ALT/*/*.inc : GimpRunModeType -> GimpRunMode

	* plug-ins/FractalExplorer/FractalExplorer.c :
	* plug-ins/gap/gap_lib.c :
	* plug-ins/gfig/gfig.c :
	* plug-ins/gflare/gflare.c :
	* plug-ins/gimpressionist/gimpressionist.c :
	replaced DIRENT usage with GDir

	* plug-ins/script-fu/script-fu-scripts.c : #include <windows.h>
	to get the Sleep() prototype
2002-02-17 15:55:54 +00:00
Sven Neumann d2990f2f1e app/config/gimpconfig-serialize.[ch] app/config/gimpconfig.h added new
2001-12-28  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-serialize.[ch]
	* app/config/gimpconfig.h
	* app/config/gimprc.[ch]: added new function to only write changes to
	the personal gimprc.

	* app/config/test-config.c: test the new functionality.

	* tools/pdbgen/pdb/procedural_db.pdb: the change I did yesterday
	wasn't overly clever; here's a better one.

	* app/pdb/procedural_db_cmds.c: regenerated.
2001-12-28 16:26:54 +00:00
Sven Neumann 89844be451 docs/gimptool-1.3.1.in applied patch from Roger Leigh <rl117@york.ac.uk>
2001-12-18  Sven Neumann  <sven@gimp.org>

	* docs/gimptool-1.3.1.in
	* gimptool-1.3.in: applied patch from Roger Leigh <rl117@york.ac.uk>
	that makes gimptool respect the DESTDIR environment variable.

	* app/config/Makefile.am: declare test-config as TESTS so it is build
	and executed when running 'make check'.

	* app/config/gimpbaseconfig.c: don't register a GimpConfig interface.
	* app/config/gimpcoreconfig.c
	* app/config/gimpdisplayconfig.c
	* app/config/gimpguiconfig.c: no need to include "gimpconfig.h".

	* app/config/gimpconfig.[ch]: removed store_unknown parameter from
	deserialize method. The default implementation will bail out on
	unknown tokens.

	* app/config/gimprc.c: override deserialize method so it stores
	unknown tokens.
2001-12-18 20:40:50 +00:00
Sven Neumann def233b497 app/config/Makefile.am new files with utility functions.
2001-12-18  Sven Neumann  <sven@gimp.org>

	* app/config/Makefile.am
	* app/config/gimpconfig-utils.[ch]: new files with utility functions.

	* app/config/gimpdisplayconfig.[ch]: new class with display config
	properties so GimpGuiConfig doesn't get too large.

	* app/config/gimpbaseconfig.c
	* app/config/gimpcoreconfig.[ch]
	* app/config/gimpguiconfig.[ch]: install path properties with
	useable defaults (substituted gimpdir and friends). Moved properties
	around.

	* app/gui/session.c: removed outdated comment.
2001-12-18 12:39:45 +00:00
Sven Neumann a30b11c9d7 don't serialize unknown tokens; leave that to the gimprc implementation.
2001-12-17  Sven Neumann  <sven@gimp.org>

	* gimpconfig.[ch]: don't serialize unknown tokens; leave that to
	the gimprc implementation. Create file with correct permissions.

	* test-config.c: changed accordingly.

	* gimpguiconfig.[ch]: added more properties.
2001-12-17 01:01:34 +00:00
Sven Neumann 45874f1b36 changed thumbnail_mode to boolean write_thumbnails. thumbnail_mode used to
2001-12-16  Sven Neumann  <sven@gimp.org>

	* app/core/gimpcoreconfig.[ch]: changed thumbnail_mode to boolean
	write_thumbnails. thumbnail_mode used to have only two defined
	values; if we need more later, we can change that easily when the
	new GimpConfig system is in place.

	* app/gimprc.c
	* app/file/file-save.c
	* app/gui/file-open-dialog.c
	* app/gui/preferences-dialog.c: changed accordingly.

	* app/config/gimpcoreconfig.[ch]: finished GimpCoreConfig class.
2001-12-16 18:31:30 +00:00
Sven Neumann efe8f6dbdc app/config/gimpconfig-params.[ch] added support for GimpUnit type.
2001-12-16  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-params.[ch]
	* app/config/gimpconfig-types.[ch]: added support for GimpUnit type.

	* app/config/gimpbaseconfig.[ch]
	* app/config/gimpcoreconfig.[ch]
	* app/config/test-config.c: cleaned up includes. Added more properties
	to GimpCoreConfig.

	* app/libgimp_glue.h
	* libgimpbase/gimpunit.h:
	declared gimp_unit_get_number_of_built_in_units() G_GNUC_CONST.

	* app/core/gimpunit.[ch]: internal GimpUnit functions return const
	strings.

	* app/xcf/xcf-save.c: changed accordingly.
2001-12-16 16:33:18 +00:00
Sven Neumann 94e7e1e55e app/config/gimpconfig-deserialize.h fixed typos.
2001-12-13  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-deserialize.h
	* app/config/gimpconfig-serialize.c: fixed typos.

	* app/core/core-enums.h
	* app/core/core-types.h: converted ChannelType enum to GimpChannelType
	and moved it to core-enums.h.

	* app/core/gimpimage.[ch]
	* app/widgets/gimpchannellistview.c
	* app/widgets/gimpcomponentlistitem.[ch]
	* tools/pdbgen/pdb/image.pdb: changed accordingly.

	* app/pdb/image_cmds.c
	* libgimp/gimpenums.h
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.
2001-12-13 20:19:41 +00:00
Sven Neumann 1e5888d4b3 app/config/gimpconfig-deserialize.c app/config/gimpconfig-params.h
2001-12-13  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-params.h
	* app/config/gimpconfig-serialize.[ch]
	* app/config/gimpconfig-substitute.c
	* app/config/gimpconfig-types.c
	* app/config/gimpconfig.[ch]
	* app/config/test-config.c: code cleanup, I18N

	* app/config/gimpcoreconfig.[ch]: some more properties.
2001-12-13 01:55:37 +00:00
Sven Neumann 0709bfe86b app/config/gimpconfig-deserialize.c app/config/gimpconfig-serialize.c
2001-12-12  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-serialize.c
	* app/config/gimpconfig-substitute.c: plugged a memleak and applied
	some optimizations.
2001-12-11 23:10:59 +00:00
Sven Neumann a611f06361 removed GimpImageBaseType enum ...
2001-12-11  Sven Neumann  <sven@gimp.org>

	* app/core/core-types.h: removed GimpImageBaseType enum ...

	* app/core/core-enums.h: and added it here with proper namespace
	(enum values prefixed with GIMP_).

	* app/gimprc.c
	* app/core/gimpcoreconfig.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-preview.c
	* app/core/gimpdrawable.c
	* app/core/gimpedit.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage-projection.c
	* app/core/gimpimage.c
	* app/core/gimplayer.c
	* app/core/gimppalette-import.c
	* app/display/gimpdisplay-handlers.c
	* app/display/gimpdisplayshell-dnd.c
	* app/display/gimpdisplayshell.c
	* app/file/file-utils.c
	* app/gui/colormap-dialog.c
	* app/gui/convert-dialog.c
	* app/gui/info-window.c
	* app/gui/layers-commands.c
	* app/gui/palette-import-dialog.c
	* app/gui/preferences-dialog.c
	* app/gui/toolbox.c
	* app/tools/gimpclonetool.c
	* app/tools/gimppainttool.c
	* app/widgets/gimpchannellistview.c
	* tools/pdbgen/Makefile.am
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/image.pdb: changed accordingly.

	* tools/pdbgen/enums.pl
	* app/pdb/convert_cmds.c
	* app/pdb/image_cmds.c
	* libgimp/gimpconvert_pdb.c
	* libgimp/gimpimage_pdb.c: regenerated.

	* app/config/Makefile.am
	* app/config/gimpconfig-params.h
	* app/config/gimpconfig-serialize.c
	* app/config/gimpcoreconfig.[ch]: added more stuff to GimpCoreConfig.
2001-12-11 15:58:07 +00:00
Sven Neumann 3bd3300dea libgimpbase/Makefile.am added new function gimp_plug_in_directory() to
2001-12-10  Sven Neumann  <sven@gimp.org>

	* libgimpbase/Makefile.am
	* libgimpbase/gimpenv.[ch]: added new function gimp_plug_in_directory()
	to retrieve the compile_time defined plug_in directory. Declared some
	functions G_GNUC_CONST and simplified code by introducing a helper
	function.

	* app/config/Makefile.am
	* app/config/gimpcoreconfig.[ch]: started to implement GimpCoreConfig
	derived from GimpBaseConfig.

	* app/config/gimpbaseconfig.[ch]: misc small changes.

	* app/config/gimpconfig-deserialize.c
	(gimp_config_deserialize_properties): return quietly if there are no
	properties.

	* app/config/gimpconfig-substitute.c: more special cases.

	* app/config/test-config.c: test GimpCoreConfig.
2001-12-10 20:43:51 +00:00
Sven Neumann ad6d670b43 app/config/Makefile.am new files with code to do substitution magic on
2001-12-10  Sven Neumann  <sven@gimp.org>

	* app/config/Makefile.am
	* app/config/gimpconfig-substitute.[ch]: new files with code to do
	substitution magic on path strings. Similar to the code in gimprc.c
	but UTF8 safe.

	* app/config/gimpconfig-params.h
	* app/config/gimpbaseconfig.c: added a bunch of convenience macros
	to register config properties and use them for GimpBaseConfig.

	* app/config/gimpconfig-types.h: added missing GIMP_VALUE_HOLDS_FOO()
	macros.

	* app/config/gimpconfig-deserialize.c: UTF8-validate all strings.

	* app/config/gimpconfig-serialize.c: some code reorganisation.
2001-12-10 18:31:35 +00:00
Sven Neumann 69ec8e3bd4 app/config/gimpconfig-deserialize.c stricter parsing.
2001-12-10  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig.c: stricter parsing.

	* app/config/test-config.c: more output.
2001-12-10 12:32:28 +00:00
Sven Neumann 2cb8ffbe9e check for pkg.m4.
2001-12-09  Sven Neumann  <sven@gimp.org>

	* autogen.sh: check for pkg.m4.

	* configure.in: removed logic to extract GLIB CFLAGS and LDFLAGS
	from the GTK CFLAGS and LDFLAGS. Use AM_PATH_GLIB_2_0() instead.
	This change will break things on awfully misconfigured systems.
	Simplified the checks and moved version numbers to the top to ease
	maintainance. Check if gtk-doc is suffiently new.

	* app/main.c: removed the GimpConfig test code.

	* app/config/Makefile.am
	* app/config/test-config.c: added a (yet very small) standalone test
	suite for GimpConfig.

	* app/config/gimpconfig.[ch]
	* app/config/gimpconfig-deserialize.[ch]: allow to specify if
	unknown tokens should be stored or should cause a parser error.
	Changed code to store unknown tokens to use a list since a hash
	table seems to be overkill here.
2001-12-09 16:18:15 +00:00
Sven Neumann 85783edf8b app/config/gimpconfig-params.[ch] added new param_spec GIMP_PARAM_PATH
2001-12-09  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-params.[ch]
	* app/config/gimpconfig-types.[ch]: added new param_spec
	GIMP_PARAM_PATH with value_type GIMP_PATH_TYPE.

	* app/config/gimpconfig.[ch]: added code to store and lookup unknown
	tokens.

	* app/config/gimpconfig-deserialize.c: improved logic, prepared for
	special handling of GIMP_PATH_TYPE; still work in progress...

	* app/config/gimpbaseconfig.c: register temp-path and swap-path as
	GIMP_PARAM_PATH properties.
2001-12-09 03:00:32 +00:00
Sven Neumann a2c16284e0 improved code readability by splitting deserialize_property into smaller
2001-12-08  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-deserialize.c: improved code readability by
	splitting deserialize_property into smaller functions.

	* app/config/gimpconfig.[ch]: added gimp_config_debug_notify_callback()
	for debugging purposes.

	* app/main.c: use gimp_config_debug_notify_callback().
2001-12-08 15:56:40 +00:00
Sven Neumann 78841f1f63 app/config/Makefile.am app/config/gimpconfig-params.[ch] new files
2001-12-08  Sven Neumann  <sven@gimp.org>

	* app/config/Makefile.am
	* app/config/gimpconfig-params.[ch]
	* app/config/gimpconfig-types.[ch]: new files implementing special
	GParamSpecs and GValueTypes needed for GimpConfig.

	* app/config/gimpbaseconfig.c: register tile-cache-size property
	with GimpParamSpecMemsize.

	* app/config/gimpconfig-deserialize.[ch]
	* app/config/gimpconfig-serialize.[ch]: enable serialization and
	deserialization of non-fundamental types.
2001-12-08 03:35:38 +00:00
Sven Neumann d4829df4d3 removed from CVS, they are generated.
2001-12-07  Sven Neumann  <sven@gimp.org>

	* app/core/gimpmarshal.[ch]: removed from CVS, they are generated.

	* app/base/Makefile.am
	* app/base/base-enums.h: new file defining enums that are to be
	registered. Used to build app/base/base-enums.c.

	* app/base/base-types.h: include base-enums.h.

	* tools/pdbgen/Makefile.am
	* tools/pdbgen/enumcode.pl
	* tools/pdbgen/enums.pl: parse the new base-enums.h file and modified
	the perl voodoo so it doesn't prefix enums with GIMP_ that are already
	properly namespaced.

	* app/core/core-types.h: don't need to chop GIMP from enum.

	* app/pdb/color_cmds.c
	* app/pdb/tools_cmds.c
	* libgimp/gimpenums.h
	* plug-ins/script-fu/script-fu-constants.c: regenerated.

	* app/config/gimpconfig-deserialize.[ch]
	* app/config/gimpconfig-serialize.[ch]
	* app/config/gimpconfig.[ch]: made GimpConfig an interface including
	a reasonable default implementation that works on object properties.

	* app/config/Makefile.am
	* app/config/gimpbaseconfig.[ch]: new GimpBaseConfig using the
	GimpConfig interface. Yet only used for testing from app/main.c.

	* app/main.c: test the new GimpBaseConfig object.

	* app/gimprc.c
	* app/base/base-config.h
	* app/base/*.c
	* app/core/gimpdatafiles.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimppreviewcache.c
	* app/gui/preferences-dialog.c
	* app/paint-funcs/paint-funcs.c
	* app/xcf/xcf-seek.c: need to include glib-object.h since base-config
	contains registered enums now. Follow name change of InterpolationType
	to GimpInterpolationType.
2001-12-07 16:10:53 +00:00
Sven Neumann 84f148fef0 ooops.
2001-11-29  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig.c (gimp_config_serialize): ooops.
2001-11-29 18:50:07 +00:00
Sven Neumann 19e1acbcd7 configure.in app/Makefile.am app/config/gimpconfig.[ch]
2001-11-27  Sven Neumann  <sven@gimp.org>

	* configure.in
	* app/Makefile.am
	* app/config/gimpconfig.[ch]
	* app/config/gimpconfig-serialize.[ch]
	* app/config/gimpconfig-deserialize.[ch]: added new base class
	GimpConfig that knows how to serialize and deserialize it's properties
	in sexp format. Contains two example properties that will go into
	derived classes once this is really used.

	* app/main.c: deserialize and serialize the test GimpConfig object to
	~/.gimp-1.3/foorc (only for debugging).

	* app/widgets/widgets-types.h
	* app/core/core-types.h: moved GimpPreviewSize enum to core-types.

	* app/core/core-types.h: don't include gdk-pixbuf.h.

	* app/core/gimptoolinfo.h
	* app/core/gimpimagefile.c: include gdk-pixbuf.h.

	* app/core/gimpimage.[ch]: made construct_flag a gboolean.

	* app/core/gimpdrawable-invert.c
	* app/core/gimpunit.c

	* tools/pdbgen/pdb/plug_in.pdb
	* app/pdb/plug_in_cmds.c: removed unused variables.

	* app/display/Makefile.am: removed .PHONY and files cruft

	* app/Makefile.am
	* libgimp/Makefile.am
	* libgimpbase/Makefile.am
	* libgimpcolor/Makefile.am
	* libgimpmath/Makefile.am
	* libgimpwidgets/Makefile.am
	* plug-ins/Makefile.am: removed commented out makefile.mingw rules.
	If we ever need them again, they can easily be resurrected from CVS.
2001-11-27 03:52:11 +00:00