Commit Graph

1119 Commits

Author SHA1 Message Date
Sven Neumann 366beeb282 app/core/gimpobject.[ch] improved the code that trims the text before
2003-02-05  Sven Neumann  <sven@gimp.org>

	* app/core/gimpobject.[ch]
	* app/text/gimptextlayer.c: improved the code that trims the text
	before setting it as layer name and moved it to GimpObject as
	gimp_object_set_name_safe().

	* app/text/gimptext.[ch]: removed fixed_height and gravity again.

	* app/text/gimptextlayout.c: much simpler positioning that has the
	advantage that it actually works.

	* libgimpproxy/gimpobject.[ch]: this crap was regenerated.
2003-02-05 14:49:48 +00:00
Michael Natterer aa9f82d127 Made GimpToolOptions a GimpContext subclass and objectified all tool
2003-02-05  Michael Natterer  <mitch@gimp.org>

	Made GimpToolOptions a GimpContext subclass and objectified
	all tool options types.

	* app/core/core-types.h: replaced GimpToolOptionsNewFunc by
	GimpToolOptionsGUIFunc.

	* libgimpproxy/gimpproxytypes.h: regenerated.

	* app/core/gimppaintinfo.[ch]: added "GType paint_options_type".

	* app/core/gimptoolinfo.[ch]: added "GType tool_options_type",
	removed tool_info->context since GimpToolOptions are a GimpContext
	now. Added "gboolean use_context" as a temp_hack.

	* libgimptool/gimptooltypes.h: added the tool_options_type to
	the tool registering callback.

	* app/tools/tool_options.[ch]: is a real GimpContext subclass now.

	* app/paint/paint-types.h
	* app/paint/paint.c: added the paint_options_type to the paint
	registering stuff.

	* app/paint/gimppaintoptions.[ch]: is a real GimpToolOptions
	subclass now.

	* app/paint/Makefile.am
	* app/paint/gimpairbrushoptions.[ch]
	* app/paint/gimpcloneoptions.[ch]
	* app/paint/gimpconvolveoptions.[ch]
	* app/paint/gimpdodgeburnoptions.[ch]
	* app/paint/gimperaseroptions.[ch]
	* app/paint/gimpsmudgeoptions.[ch]: new files holding
	GimpPaintOptions subclasses.

	* app/paint/gimpairbrush.[ch]
	* app/paint/gimpclone.[ch]
	* app/paint/gimpconvolve.[ch]
	* app/paint/gimpdodgeburn.[ch]
	* app/paint/gimperaser.[ch]
	* app/paint/gimppaintbrush.c
	* app/paint/gimppaintcore.c
	* app/paint/gimppencil.[ch]
	* app/paint/gimpsmudge.[ch]: removed paint options stuff, lots
	of related changed & cleanups.

	* tools/pdbgen/pdb/paint_tools.pdb: changed accordingly.

	* app/pdb/paint_tools_cmds.c: regenerated.

	* app/tools/Makefile.am
	* app/tools/gimpblendoptions.[ch]
	* app/tools/gimpbucketfilloptions.[ch]
	* app/tools/gimpcolorpickeroptions.[ch]
	* app/tools/gimpcropoptions.[ch]
	* app/tools/gimpflipoptions.[ch]
	* app/tools/gimpinkoptions.[ch]
	* app/tools/gimpmagnifyoptions.[ch]
	* app/tools/gimpmeasureoptions.[ch]
	* app/tools/gimpmoveoptions.[ch]
	* app/tools/gimptextoptions.[ch]
	* app/tools/gimpvectoroptions.[ch]: new files holding the various
	tool options classes.

	* app/tools/selection_options.[ch]
	* app/tools/transform_options.[ch]: made them objects.

	* app/tools/paint_options.[ch]: contains only the paint_options
	GUI and reset stuff.

	* app/tools/tools-types.h: removed SelectionOptions typedef for
	now.

	* app/tools/[all tools]: removed the tool options stuff except
	some GUI constructors. Tons of related changes.

	* app/tools/tool_manager.[ch]: changed tool registration / restore /
	switching accordingly.

	* app/widgets/gimpdrawablelistview.c
	* app/widgets/gimpselectioneditor.c: changed accordingly.
2003-02-05 14:39:40 +00:00
Sven Neumann daf60f2582 handle negative integers.
2003-02-03  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-deserialize.c
	(gimp_config_deserialize_fundamental): handle negative integers.

	* app/core/gimp.c (gimp_edit_config_notify): commented out
	debugging output.
2003-02-03 14:37:59 +00:00
Michael Natterer c5b1f98add unified some comments, some cleanup.
2003-02-03  Michael Natterer  <mitch@gimp.org>

	* app/undo.c: unified some comments, some cleanup.

	* app/pdb/procedural_db.c: some cleanup & comments to clarify
	what GIMP_PDB_PASS_THROUGH does.
2003-02-03 13:45:40 +00:00
Michael Natterer f7a911173f removed the "truly ugly hack"...
2003-02-03  Michael Natterer  <mitch@gimp.org>

	* app/display/Makefile.am: removed the "truly ugly hack"...

	* app/Makefile.am: ...and changed the linking order instead.

	* app/base/Makefile.am
	* app/core/Makefile.am
	* app/paint/Makefile.am
	* app/widgets/Makefile.am: fixed typo.
2003-02-03 13:39:55 +00:00
Michael Natterer 2db2ef6185 removed gimp_main_loop() and gimp_main_loop_quit() because they were a
2003-02-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: removed gimp_main_loop() and
	gimp_main_loop_quit() because they were a temp_hack until plug-ins
	have their own main loops. Added gimp_threads_enter() and
	gimp_threads_leave() instead.

	* app/gui/gui.c: ditto: removed the main loop stuff and added
	functions which call GDK_THREADS_ENTER() and GDK_THREADS_LEAVE()
	instead.

	* app/app_procs.c: create the main GMainLoop here and use
	gimp_threads_enter,leave().

	* app/plug-in/plug-in.[ch]: added a ref_count per plug-in so the
	plug-in is not destroyed under our feet while running a recursive
	main loop. Added plug_in_ref(). Changed plug_in_destroy() to
	plug_in_unref(). Don't destroy the plug-in if plug_in_open()
	fails. Call gimp_threads_enter,leave() around g_main_loop_run().
	Changed the way plug_in_push,pop() are used: "current_plug_in" is
	no longer the plug-in which currently uses the wire, but the
	plug-in which currently preforms a PDB call (the former meaning
	was needed when wire callbacks had no plug-in context but needed
	to get the plug-in from the global "current_plug_in" variable).
	Removed all calls to plug_in_push,pop() from this file.

	* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): added
	plug_in_push,pop() around procedural_db_execute(). No need
	to construct an error return value if the procedure was not found
	because procedural_db_execute() already does this.

	Removed all other plug_in_push,pop(). Added more checks to plug-in
	message handlers and kill the plug-in if it misbehaves. Cleanup.

	* app/plug-in/plug-in-progress.c (plug_in_progress_cancel): if the
	plug-in runs synchronously, provide a GIMP_PDB_CANCEL return value
	so we don't see error messages about the "failed" procedure.

	* app/plug-in/plug-in-run.c: removed plug_in_push,pop() stuff.
	Set the new plug_in->starting_ext boolean while starting an
	extension so the extension_ack handler knows that it wasn't called
	from a buggy plug-in. Cleanup.

	* app/plug-in/plug-ins.c: Cleanup.
2003-02-03 13:21:31 +00:00
Sven Neumann 6faa590b7c added GIMP_GRAVITY_NONE.
2003-01-31  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.[ch]: added GIMP_GRAVITY_NONE.

2003-01-31  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/Makefile.am (HTML_IMAGES)
	* libgimpwidgets/libgimpwidgets-sections.txt
	* libgimpwidgets/tmpl/gimpstock.sgml: added new icons.
2003-01-31 20:21:01 +00:00
Michael Natterer 794885e297 added gimp_item_configure() and gimp_item_copy().
2003-01-31  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: added gimp_item_configure() and
	gimp_item_copy().

	* app/core/gimpdrawable.c (gimp_drawable_configure,copy): use them.

	* app/vectors/gimpvectors.[ch]: added gimp_vectors_new(),
	gimp_vectors_copy() and gimp_vectors_copy_points(). Use the new
	GimpItem functions just as GimpDrawable does. Added a
	get_memsize() implementation.

	* app/vectors/gimpstroke.[ch]: made it a GimpObject and added
	a get_memsize() implementation.

	* app/undo.c: implemented vectors undo as if the new GimpVectors
	functions above worked.

	* app/gui/dialogs-constructors.c
	* app/gui/vectors-commands.c
	* app/tools/gimpvectortool.c: use gimp_vectors_new,copy().
2003-01-31 18:08:32 +00:00
Sven Neumann 291eb383c7 added offset_x and offset_y to gimp_drawable_configure().
2003-01-31  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable.[ch]: added offset_x and offset_y to
	gimp_drawable_configure().

	* app/core/gimpchannel.c
	* app/core/gimplayer.c
	* app/core/gimplayermask.c: changed accordingly.

	* app/text/gimptextlayer.[ch]: update the layer when the associated
	GimpText object changes.
2003-01-31 16:37:03 +00:00
Sven Neumann 8ed5a7207c added new enum GimpGravityType.
2003-01-31  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.[ch]: added new enum GimpGravityType.

	* app/text/gimptext.[ch]
	* app/text/gimptextlayer.[ch]: added support for specifying a
	fixed layer size and how to position the text inside the layer.

	* app/text/gimptext-compat.c
	* app/tools/gimptexttool.c: changed accordingly.
2003-01-31 13:36:27 +00:00
Sven Neumann 27698a2b3f app/config/gimpconfig-params.h
2003-01-31  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-params.h

	* app/config/gimpcoreconfig.c: added a pixels parameter to the
	GIMP_CONFIG_INSTALL_PROP_UNIT() macro.

	* app/core/Makefile.am
	* app/core/gimpimage-text.[ch]: removed these two files.

	* app/text/Makefile.am
	* app/text/gimptext-compat.[ch]: new files with compatibility
	routines that provide the old text API (solely for PDB calls).

	* app/text/gimptext-render.[ch]: new files with text rendering
	routines (not much yet).

	* app/text/text-types.h
	* app/text/gimptextlayer.[ch]: new object derived from GimpLayer.

	* app/text/gimptext.[ch]: prepared for future improvements.

	* app/pdb/text_tool_cmds.c
	* app/tools/gimptexttool.c
	* tools/pdbgen/pdb/text_tool.pdb: changed accordingly.
2003-01-31 09:22:42 +00:00
Sven Neumann 60273b5b9a configure.in app/Makefile.am added new directory text.
2003-01-29  Sven Neumann  <sven@gimp.org>

	* configure.in
	* app/Makefile.am
	* app/text/Makefile.am: added new directory text.

	* app/text/text-types.h
	* app/text/gimptext.[ch]: moved GimpText object here.

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpimage-text.c
	* app/tools/gimptexttool.c: changed accordingly.
2003-01-29 22:20:09 +00:00
Michael Natterer 44278fd4d8 Fixed bug #97449:
2003-01-29  Michael Natterer  <mitch@gimp.org>

	Fixed bug #97449:

	* app/core/gimpchannel.c (gimp_channel_scale,resize)
	* app/core/gimplayer.c (gimp_layer_scale,resize)
	* app/undo.c (undo_pop_layer_mod,channel_mod): emit "size_changed"
	whenever the size has changed. Cleaned up the two undo_pop
	functions.

	* app/core/gimpimage.c (gimp_image_size_changed): emit
	"size_changed" on all layers/channels so their previews are
	updated correctly on image resize and image resize undo. Don't
	invalidate layers/channels previews here because it's the
	layers'/channels' job to invalidate themselves if needed.
2003-01-29 17:27:34 +00:00
Sven Neumann 1ca73a96d5 app/core/gimpbrushpipe.c plugged some obvious memleaks related to the use
2003-01-26  Sven Neumann  <sven@gimp.org>

	* app/core/gimpbrushpipe.c
	* app/gui/about-dialog.c: plugged some obvious memleaks related to
	the use of GRand.
2003-01-26 14:27:53 +00:00
Michael Natterer 51785c1d5b app/core/gimpdocumentlist.[ch] added "Gimp" pointers so we don't need to
2003-01-24  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdocumentlist.[ch]
	* app/core/gimpimagefile.[ch]: added "Gimp" pointers so we don't
	need to use "the_gimp" from "app_procs.h".

	* app/core/core-types.h
	* app/core/gimp.c
	* app/gui/file-open-dialog.c
	* tools/pdbgen/pdb/fileops.pdb: changed accordingly.

	* app/pdb/fileops_cmds.c: regenerated.
2003-01-24 17:38:24 +00:00
Sven Neumann bb9a49ab08 Fixed bug #103561:
2003-01-15  Sven Neumann  <sven@gimp.org>

	Fixed bug #103561:

	* app/base/gimphistogram.[ch]: cleaned up multi-processor code,
	added a GimpBaseConfig parameter to gimp_histogram_new().

	* app/core/gimpdrawable-equalize.c
	* app/pdb/color_cmds.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpthresholdtool.c
	* tools/pdbgen/pdb/color.pdb: changed accordingly.

	* app/base/pixel-processor.c: some cleanup to the multi-processor
	code; use the global base_config variable :(
2003-01-15 13:40:44 +00:00
Manish Singh 248dbd1e93 app/core/gimpchannel.h app/core/gimpitem.c
2003-01-14  Manish Singh  <yosh@gimp.org>

        * app/core/gimpchannel.h
        * app/core/gimpitem.c
        * app/display/gimpnavigationview.c
        * app/gui/paths-dialog.c
        * app/tools/gimphistogramtool.c
        * app/tools/gimpscaletool.c
        * app/widgets/gimplistitem.c
        * libgimp/gimppixelrgn.c
        * libgimpwidgets/gimpunitmenu.c
        * plug-ins/FractalExplorer/Dialogs.c
        * plug-ins/common/aa.c
        * plug-ins/common/despeckle.c
        * plug-ins/common/psd.c
        * plug-ins/common/sharpen.c
        * plug-ins/common/snoise.c
        * plug-ins/common/spread.c
        * plug-ins/ifscompose/ifscompose.c
        * plug-ins/xjt/xjt.c: some minor code cleanup

        * plug-ins/common/csource.c: 64-bit cleanliness
2003-01-15 03:55:20 +00:00
Sven Neumann ed312c95ab app/app_procs.c (app_init) delayed the activation of gimprc-autosave so we
2003-01-10  Sven Neumann  <sven@gimp.org>

	* app/app_procs.c (app_init)
	* app/core/gimp.c (gimp_set_config): delayed the activation of
	gimprc-autosave so we don't write the monitor resolution obtained
	from GDK back to the gimprc on each startup.

	* app/gui/gui.c (gui_get_screen_resolution): round values to get
	rid of rounding errors introduced earlier. Looks better in the
	prefs dialog.

	* app/display/gimpdisplayshell-scale.c (gimp_display_shell_scale):
	merged fix for bug #94979 from stable branch. Go even further and
	don't limit the zoom ratio between 1:16 and 16:1.

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): merged
	fix for bug #103030 from stable branch.
2003-01-10 21:15:41 +00:00
Michael Natterer 8d86ec25e0 Move away from creating all item_factories statically in menus_init() but
2003-01-10  Michael Natterer  <mitch@gimp.org>

	Move away from creating all item_factories statically in
	menus_init() but create a new one for each place where one is
	needed:

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpmenufactory.[ch]: new factory which creates and
	configures the GimpItemFactories it knows about on-the-fly.

	* app/widgets/gimpitemfactory.[ch]: added
	gimp_item_factory_update() which calls the "update_func". Added
	"gboolean update_on_popup" so item_factories can be configured to
	require manual updates (used for the <Image> factory).

	* app/gui/menus.[ch]: create a "global_menu_factory" and register
	all menus we have with it. Added various setup functions which
	do stuff like adding the "Open Recent" menu or reorder plug-in
	menu entries. Removed the debugging stuff...

	* app/gui/Makefile.am
	* app/gui/debug-commands.[ch]: ...and added it here.

	* app/gui/gui.c: create the <Toolbox>, the popup-<Image> and the
	<Paths> factories here because they are still global.

	* app/gui/plug-in-menus.[ch]: changed the "image_factory"
	parameters to "item_factory" and create/update the entries for the
	passed item_factory only. Makes the whole stuff much more
	straightforward.

	* app/plug-in/plug-ins.c: don't call plug_in_make_menu().

	* app/display/gimpdisplay.[ch]
	* app/display/gimpdisplayshell.[ch]: added "menu_factory" and
	"popup_factory" parameters to gimp_display_new() and
	gimp_display_shell_new(). Create the menubar_factory and the
	qmask_factory dynamically. Pass the shell, not a Gimp to the QMask
	callbacks. Changed gimp_display_shell_set_menu_sensitivity() to
	gimp_display_shell_menu_update() and don't call it directly (it's
	a GimpItemFactory update_func now). Call gimp_item_factory_update()
	on the resp. factories instead.

	* app/gui/qmask-commands.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/tools/gimpimagemaptool.c: changed accordingly.

	* app/widgets/gimpbrusheditor.c
	* app/widgets/gimpbrushfactoryview.[ch]
	* app/widgets/gimpbufferview.[ch]
	* app/widgets/gimpcolormapeditor.[ch]
	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpdataeditor.[ch]
	* app/widgets/gimpdatafactoryview.[ch]
	* app/widgets/gimpdialogfactory.[ch]
	* app/widgets/gimpdock.c
	* app/widgets/gimpdockbook.[ch]
	* app/widgets/gimpdocumentview.[ch]
	* app/widgets/gimpgradienteditor.[ch]
	* app/widgets/gimpimageview.[ch]
	* app/widgets/gimpitemlistview.[ch]
	* app/widgets/gimppaletteeditor.[ch]: pass around lots of
	GimpMenuFactory pointers and menu_identifiers so all views can
	create their item_factories themselves. Unref the factories when
	they are no longer needed because they belong to the views now.

	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/dialogs.c
	* app/gui/brush-select.c
	* app/gui/gradient-select.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c: changed accordingly.

	* app/gui/file-dialog-utils.[ch] (file_dialog_new): require
	menu_factory and menu_identifier parameters.

	* app/gui/file-open-dialog.[ch]
	* app/gui/file-save-dialog.[ch]: removed file_*_dialog_menu_init()
	(they went to menus.c as setup_funcs). Added file_*_dialog_set_type()
	and moved the <Load> and <Save> factory callbacks to file-commands.c

	* app/gui/file-commands.[ch]: changed accordingly.

	* app/gui/view-commands.c: changed the statusbar, menubar, rulers
	and guides callbacks to do their job only if the setting has
	actually changed. Don't update whole item factories afterwards.
	Instead, just change the state of the items that actually need
	update.

	Unrelated:

	* app/core/gimpchannel.c (gimp_channel_init): set "bounds_known"
	and friends to FALSE since we don't know that the new channel will
	be empty (fixes QMask and probably other stuff).

	* app/gui/image-commands.c
	* app/gui/vectors-commands.c: cleanup.
2003-01-10 17:55:53 +00:00
Sven Neumann bf31a00fc8 use _("Unnamed") if no name was given. Fixes bug #89328 in a more general
2003-01-09  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable.c (gimp_drawable_configure): use _("Unnamed")
	if no name was given. Fixes bug #89328 in a more general way.

	* plug-ins/common/psd.c: simply pass NULL as layer and channel
	name if the PSD file provides none.
2003-01-09 10:42:43 +00:00
Manish Singh 82c16db50d cast memsize to a guint instead of format change. Problem perhaps if
2003-01-05  Manish Singh  <yosh@gimp.org>

        * app/core/gimpobject.c: cast memsize to a guint instead of format
        change. Problem perhaps if get_size really is > 4 GB?
2003-01-05 22:24:07 +00:00
Manish Singh 1a44f2126c cleanup, removed unecessary G_OBJECT() casts. Should do the same for
2003-01-05  Manish Singh  <yosh@gimp.org>

        * many files in app, modules and libgimp*: cleanup, removed unecessary
        G_OBJECT() casts. Should do the same for plug-ins, when more of them
        get undeprecated.
2003-01-05 22:07:10 +00:00
Manish Singh f44e1e92f9 oops, cast here instead of changing the format string so we're ok on
2003-01-05  Manish Singh  <yosh@gimp.org>

        * app/core/gimpimage-new.c: oops, cast here instead of changing the
        format string so we're ok on 32-bit too.
2003-01-05 20:46:25 +00:00
Manish Singh 013e30db54 app/undo_history.c app/core/gimpbrush.c app/core/gimpimage-new.c
2003-01-05  Manish Singh  <yosh@gimp.org>

        * app/undo_history.c
        * app/core/gimpbrush.c
        * app/core/gimpimage-new.c
        * app/core/gimpobject.c
        * app/core/gimppalette-import.c
        * app/core/gimppattern.c
        * app/plug-in/plug-in.c
        * app/tools/gimpbezierselecttool.c
        * libgimpwidgets/gimpunitmenu.c
        * plug-ins/MapObject/mapobject_ui.c
        * plug-ins/common/convmatrix.c
        * plug-ins/common/curve_bend.c
        * plug-ins/common/sample_colorize.c
        * plug-ins/common/tiff.c
        * plug-ins/flame/flame.c
        * plug-ins/gflare/gflare.c
        * plug-ins/gimpressionist/general.c
        * plug-ins/gimpressionist/orientation.c
        * plug-ins/gimpressionist/preview.c
        * plug-ins/gimpressionist/size.c
        * plug-ins/imagemap/imap_grid.c
        * plug-ins/imagemap/imap_menu.c
        * plug-ins/maze/algorithms.c
        * plug-ins/script-fu/interp_regex.c
        * plug-ins/script-fu/interp_sliba.c
        * plug-ins/script-fu/script-fu-console.c
        * plug-ins/script-fu/script-fu-server.c
        * plug-ins/webbrowser/webbrowser.c: added GINT_TO_POINTER and friends,
        fixed format strings, for 64-bitness.

        * modules/colorsel_triangle.c
        * plug-ins/tools/tool-safe-mode-plug-in.c: #include missing header
        files
2003-01-05 20:38:21 +00:00
Sven Neumann 5dcf8da089 redid the fix for bug #101036. Instead of temporarily changing the layer
2003-01-05  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-merge.c (gimp_image_merge_layers): redid the
	fix for bug #101036. Instead of temporarily changing the layer
	mode, just use a different mode for combine_regions().
2003-01-05 03:34:13 +00:00
Sven Neumann ec6c98656e bumped the version number to 1.3.12.
2003-01-03  Sven Neumann  <sven@gimp.org>

	* configure.in: bumped the version number to 1.3.12.

	* app/display/Makefile.am
	* app/display/gimpdisplayshell-cursor.[ch]
	* app/display/gimpdisplayshell-title.[ch]
	* app/display/gimpdisplayshell-transform.[ch]: new files with code
	that used to live in gimpdisplayshell.c.

	* app/display/gimpdisplay-foreach.c
	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-selection.c
	* app/display/gimpdisplayshell.[ch]
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpdrawtool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimptool.c: changed accordingly.
2003-01-03 18:01:30 +00:00
Michael Natterer ea95a3227d Replaced Garry's fix for bug #98843 by a more general solution which stops
2003-01-02  Michael Natterer  <mitch@gimp.org>

	Replaced Garry's fix for bug #98843 by a more general solution
	which stops the active tool when an undo group start is pushed:

	* app/core/gimpimage.[ch]: removed the "layer_merge" signal
	and added "undo_start" instead.

	* app/undo.c: emit "undo_start" in undo_push_group_start()
	_before_ checking if gimage->undo_on is TRUE.

	* app/tools/tool_manager.c: connect to "undo_start" and HALT the
	active tool if neccessary.

	* app/core/core-types.h: added EDIT_COPY_UNDO_GROUP.

	* app/core/gimpedit.c: push an undo group around the copy
	operation. Will probably have to add more undo group types to wrap
	other critical image modifications with.

	* app/core/gimpimage-merge.c
	* app/gui/convert-dialog.c
	* app/gui/edit-commands.c
	* app/gui/test-commands.c
	* app/tools/gimpimagemaptool.c: removed all special code to
	stop the active tool.
2003-01-02 13:38:09 +00:00
Garry R. Osgood d8fd3b04c1 Updated my CVS. app/undo.c app/undo_history.c app/core/gimpimage.[ch]
2003-01-01 Garry R. Osgood <grosgood@rcn.com>
* MAINTAINERS: Updated my CVS.
* app/undo.c
* app/undo_history.c
* app/core/gimpimage.[ch]
* app/tools/gimpimagemaptool.c
* app/core/gimpimage-merge.c: implementation of LAYER_MERGE
signal emitters and listeners. (see bug #98843); listeners thaw
undo stack (image map tools, usually).
* app/widgets/gimpviewabledialog.c: gimp_viewable_dialog_close ()
Check if the widget has a non-null reference to a window before
using it to synthesize a cancel event. These seven deltas closes bug #98843.
* app/core/gimpimage-merge.c: (gimp_image_merge_layers())
Regardless of merge type, temporarily set composition mode
of bottom layer to NORMAL, then merge. Closes bug #101036.
2003-01-01 23:40:53 +00:00
Hans Breuer 8364722f2d when checking for 'excecutable' make sure it is a regular file too (on
2003-01-01  Hans Breuer  <hans@breuer.org>

	* libgimpbase/gimpdatafiles.c : when checking for
	'excecutable' make sure it is a regular file too
	(on win32 even directories carry the IXUSR flag)

	* app/app_procs.h : there is still no #warning with
	msvc, special case to make it build with non GCC

	* makefile.msc */makefile.msc */*/makefile.msc : updated

	* app/gui/user-install-dialog.c : get prototype for mkdir

	* libgimpwidgets/libgimp-glue.c : make it compile without
	LT_RELEASE being defined

	* modules/module.def : removed
	  modules/Makefile.am : no export file needed when
	functions get exported by G_MODULE_EXPORT
2003-01-01 13:33:27 +00:00
Sven Neumann 42b01c5256 use proper defines to specify the permissions when calling mkdir().
2002-12-30  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagefile.c (gimp_imagefile_png_thumb_path): use
	proper defines to specify the permissions when calling mkdir().

	* app/file/file-utils.c: removed redeclaration of mkdir() for
	Win32 since we don't call mkdir() here.

	* app/gui/user-install-dialog.c (user_install_run): rewrote
	copy_file() to use GError for error reporting. Use the same code
	for the user installation on all platforms. Also fixes bug #102015.

	* data/misc/Makefile.am
	* data/misc/user_install
	* data/misc/user_install.bat: removed obsoleted scripts.
2002-12-30 17:27:58 +00:00
Sven Neumann 1f47a470b3 app/app_procs.c app/core/gimp.c app/gui/gui.c removed debugging output.
2002-12-30  Sven Neumann  <sven@gimp.org>

	* app/app_procs.c
	* app/core/gimp.c
	* app/gui/gui.c
	* app/widgets/gimpitemfactory.c: removed debugging output.

	* app/plug-in/plug-ins.c: need to expand the plug_in_path before
	using it.

	* app/gui/plug-in-menus.c (plug_in_menus_init): removed an
	unneeded assertion.

	* plug-ins/imagemap/Makefile.am (EXTRA_DIST): removed references
	to files that were removed some time ago.
2002-12-30 00:01:30 +00:00
Sven Neumann 7535310816 another fix for #102016.
2002-12-29  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagefile.c: another fix for #102016.
2002-12-29 22:02:24 +00:00
Sven Neumann 023c76978f configure.in etc/Makefile.am etc/gimprc.in removed templates for gimprc
2002-12-29  Sven Neumann  <sven@gimp.org>

	* configure.in
	* etc/Makefile.am
	* etc/gimprc.in
	* etc/gimprc_user.in: removed templates for gimprc files.

	* etc/gimprc: added this file as generated by gimp-config-dump.

	* app/gui/user-install-dialog.c
	* data/misc/user_install: don't install an empty user gimprc.

	* app/config/Makefile.am
	* app/config/gimpconfig-substitute.[ch]: removed these files.
	* app/config/gimpconfig-path.[ch]: and added them again with
	reduced functionality. Paths found in config files are now
	basically handled like standard strings by the config system.
	Users of the GimpConfig path variables need to expand the path
	themselves.

	* app/config/gimpbaseconfig.c
	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-dump.c
	* app/config/gimpconfig-utils.c
	* app/config/gimpconfig.c
	* app/config/gimpcoreconfig.c
	* app/config/gimprc.c:
	* app/base/base.c
	* app/base/temp-buf.c
	* app/core/gimp.c
	* app/core/gimpdatafactory.c
	* app/core/gimpmodules.c
	* app/gui/user-install-dialog.c
	* app/plug-in/plug-in.c
	* app/tools/tools.c
	* app/widgets/gimppropwidgets.c: changed accordingly.
2002-12-29 18:58:24 +00:00
Simon Budig d3e9fc6405 app/core/gimpimage-mask-select.c app/paint/gimppaintcore-stroke.c
2002-12-29  Simon Budig  <simon@gimp.org>

        * app/core/gimpimage-mask-select.c
        * app/paint/gimppaintcore-stroke.c
        * app/tools/gimpvectortool.c
        * app/vectors/gimpbezierstroke.[ch]
        * app/vectors/gimpstroke.[ch]
        * app/vectors/gimpvectors-preview.c: some more stuff for the
        vectors tool: bezier interpolation is available, we have preview
        generation. Usage is still weird.
2002-12-28 23:52:29 +00:00
Manish Singh 2bb5acc246 added some rudimentary support to prepend values to existing environment
2002-12-17  Manish Singh  <yosh@gimp.org>

        * app/core/gimpenvirontable.[ch]: added some rudimentary support
        to prepend values to existing environment variables. You can do
        "separator name=value" now. API change to gimp_environ_table_add
        for it too. Also added some error checking.

        * app/gui/gui.c: change to new above API

        * plug-ins/pygimp/Makefile.am: write ": PYTHONPATH=" out to env
        file

        * po/POTFILES.in: add gimpenvirontable.c
2002-12-18 02:47:39 +00:00
Michael Natterer f03b6b6d75 Changed menubar showing/hiding to work like rulers and statusbar:
2002-12-14  Michael Natterer  <mitch@gimp.org>

	Changed menubar showing/hiding to work like rulers and statusbar:

	* app/config/gimpconfig-blurbs.h
	* app/config/gimpdisplayconfig.[ch]: renamed "menu_bar_per_display"
	to "show_menubar". Removed GIMP_PARAM_RESTART flag.

	* app/display/gimpdisplayshell.[ch]: chaged shell->item_factory to
	shell->menubar_factory plus shell->popup_factory and always create
	both of them. Added "gboolean update_popup" to
	gimp_display_shell_set_menu_sensitivity() and call it recursively
	with update_popup == TRUE if the display it is called for is the
	active one.

	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell-callbacks.c: changed accordinly.

	* app/gui/gui.c: ditto. Set the menu sensitivity of new displays.

	* app/gui/menus.c: added "<Image>/View/Toggle Menubar" menu item.
	Moved some factory initialization code from gimpdisplayshell.c
	here.

	* app/gui/view-commands.[ch]: added
	view_toggle_menubar_cmd_callback(). Update the menu sensitivity
	manually in all callbacks which don't call gimp_image_flush().

	* app/gui/preferences-dialog.c (prefs_dialog_new): moved the "Show
	Menubar" toggle to the "Appearance" frame of the "Image Windows"
	page. Added an own frame for the display zoom/scaling settings.

	(preferences_dialog_create): Attach config_copy and config_orig
	using g_object_set_data_full() instead of just g_object_set_data()
	plus a g_object_weak_ref().

	(prefs_default_resolution_callback): set the resolution for both
	fields of the "size_sizeentry" instead of setting it for "x"
	twice.
2002-12-14 14:13:54 +00:00
Michael Natterer b2c3f0187d Cleaned up the exit process:
2002-12-05  Michael Natterer  <mitch@gimp.org>

	Cleaned up the exit process:

	* app/core/gimp.[ch]: added an "exit" signal which carries a
	"gboolean kill_it" parameter and has a boolean return value.
	Added gimp_boolean_handled_accumulator() so the emission of "exit"
	can be stopped by returning TRUE from a callback.  Removed
	gimp_shutdown() from the public API and made it "exit"'s default
	implementation. Addec gimp_exit() to emit the signal.

	* app/core/gimpmarshal.list: added BOOLEAN__BOOLEAN marshaller.

	* app/gui/gui.[ch]: Replaced public functions gui_shutdown() and
	gui_exit() by "exit" callbacks. g_signal_connect_after() the
	latter so the shutdown order is correct.

	* app/app_procs.[ch]: removed app_exit() and connect to "exit".
	Split the exit stuff into normal and connect_after callbacks as
	above.

	* app/batch.c
	* app/gui/file-commands.c
	* tools/pdbgen/pdb/misc.pdb
	* app/widgets/gimptoolbox.c: call gimp_exit() instead of
	app_exit(). Don't #include "app_procs.h".

	* app/pdb/misc_cmds.c: regenerated.
2002-12-05 15:49:59 +00:00
Sven Neumann bb7ff29ebb use the same string as in gimpbrushpipe.c to reduce the number of
2002-12-05  Sven Neumann  <sven@gimp.org>

	* app/core/gimpbrushpipe.c: use the same string as in
	gimpbrushpipe.c to reduce the number of translatable strings.
2002-12-05 09:00:44 +00:00
Sven Neumann cdeba56bbf don't check filename for internal GimpData objects because they are never
2002-12-02  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdata.c (gimp_data_save): don't check filename for
	internal GimpData objects because they are never saved.

	* app/config/gimprc.c: made verbose an object property so that its
	value is copied by gimp_config_duplicate().
2002-12-02 22:41:44 +00:00
Michael Natterer 4ccd0f0ae3 use GError for reporting load/save errors. Added gimp_data_error_quark()
2002-12-02  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdata.[ch]: use GError for reporting load/save
	errors. Added gimp_data_error_quark() and a GimpDataError enum.
	Made simple virtual functions out of save(), get_extension()
	and duplicate() because they don't need to be signals.

	* app/core/gimpbrush.[ch]
	* app/core/gimpbrushgenerated.[ch]
	* app/core/gimpbrushpipe.[ch]
	* app/core/gimpgradient.[ch]
	* app/core/gimppalette.[ch]
	* app/core/gimppattern.[ch]: changed accordingly. Set data->dirty
	to FALSE in each _load() function.

	* app/core/gimpdatafactory.[ch]: report GError messages here.
	Changed the ugly factory->path pointer location hack to
	factory->path_property_name and get the path from
	factory->gimp->config. Added gimp_data_factory_data_duplicate()
	implementation which was already declared in the header.

	* app/core/gimp.c: pass the path property name to
	gimp_data_factory_new().

	* app/widgets/gimpdatafactoryview.c: removed the duplicate
	implementation and call gimp_data_factory_data_duplicate().

	* app/core/gimpgradient.[ch]: added gimp_gradient_save_as_pov().

	* app/gui/gradients-commands.c: removed save_as_pov implementation
	and call gimp_gradient_save_as_pov().
2002-12-02 13:39:09 +00:00
Sven Neumann c838165e33 prefix PIXELS and POINTS with GIMP instead of SIZE so we don't break the
2002-12-01  Sven Neumann  <sven@gimp.org>

	* app/core/core-types.h: prefix PIXELS and POINTS with GIMP
	instead of SIZE so we don't break the libgimp API without a good
	reason.

	* app/pdb/text_tool_cmds.c
	* tools/pdbgen/enums.pl: regenerated.

	* libgimp/gimpmisc.[ch]: removed gimp_timer functions since the
	GTimer API is simple enough and doesn't need to be wrapped.

	* plug-ins/common/newsprint.c
	* plug-ins/common/unsharp.c: use GTimer.
2002-12-01 19:33:34 +00:00
Hans Breuer 7c7ff46cc6 updated
2002-11-30  Hans Breuer  <hans@breuer.org>

	* */makefile.msc */*/makefile.msc : updated

	* themes/Default/images/makefile.msc : new file
	* themes/Default/makefile.msc : removed

	* libgimpwidgets/gimpwidgets.def : updated

	* app/core/core-types.h : renamed PIXELS and POINTS
	to SIZE_* to avoid clashes with system headers
	* app/pdb/text_tool_cmds.c : updated ...
	* tools/pdbgen/enums.py : ... by renaming here too.

	* app/widgets/gimphistogrambox.c : <string.h> for memcpy()
	* app/widgets/gimppropwidgets.c : <string.h> for strlen()

	* app/config/gimpconfig.c : on win32 rename always fails
	if the destination file exists. Delete it first.

	* libgimp/gimp.def : removed all '_'-prefixed exports
	* plug-ins/common/iwarp.c : replace _gimp_layer_copy()
	with gimp_layer_copy(), gimp_layer_add_alpha()

	* libgimp/gimpmisc.c : ported gimp_timer funcs to use
	g_timer to be more portable

	* libgimpbase/gimpdatafiles.c : there are no symlinks on
	win32, inverted to #ifndef G_OS_WIN32 as it was meant.

	* libgimpbase/gimpbase.def libgimpmodule/gimpmodule.def
	  libgimpwidgets/gimpwidgets.def : updated externals

	* plug-ins/common/randomize.c plug-ins/common/sinus.c :
	don't initialize more than the defined struct size

	* plug-ins/common/warp.c : removed unneeded unistd.h and
	signal.h include

	* regexrepl/regexrepl.def : (new file) needed to build
	as DLL
2002-12-01 14:53:17 +00:00
Michael Natterer 319173b14c added "gboolean use_shm" to the Gimp struct and to gimp_new().
2002-12-01  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: added "gboolean use_shm" to the Gimp struct
	and to gimp_new().

	* app/app_procs.c: pass "use_shm" to gimp_new().

	* app/plug-in/plug-in.c (plug_in_init): get "use_shm" from the
	passed "gimp".  Don't include "appenv.h" and "app_procs.h".
2002-12-01 12:16:03 +00:00
Michael Natterer 5c86e63983 removed the global "base_config" variable.
2002-11-30  Michael Natterer  <mitch@gimp.org>

	* app/base/base-types.h: removed the global "base_config" variable.

	* app/base/base.[ch]: added "gboolean use_mmx" to base_init().
	Don't #include "appenv.h". Pass around more parameters to reduce
	the usage of the global "paint_options" pointer.

	* app/app_procs.c: pass "use_mmx" to base_init().

	* app/base/temp-buf.c: pass "temp_path" around internally. Declare
	"base_config" extern and added a #warning.

	* app/core/gimpdata.[ch]
	* app/core/gimpbrush.[ch]
	* app/core/gimpbrushgenerated.[ch]
	* app/core/gimpbrushpipe.[ch]
	* app/core/gimpgradient.[ch]
	* app/core/gimppalette.[ch]
	* app/core/gimppattern.[ch]: added "gboolean stingy_memory_use"
	parameters to all _new(), _load() and _duplicate() functions.

	* app/core/gimpmarshal.list: GimpData::duplicate needs an
	OBJECT__BOOLEAN marshaller now.

	* app/core/gimpdatafactory.[ch]: added a "Gimp" pointer so the
	factory can find the config. Pass base_config->stingy_memory_use
	to the GimpData functions changed above.

	* app/core/gimp-gradients.c
	* app/core/gimp.c
	* app/core/gimppalette-import.c
	* app/gui/palettes-commands.c
	* app/widgets/gimpdatafactoryview.c: changed accordingly.

	* app/core/gimpcontext.c: get "stingy_memory_use" from
	context->gimp->config.
2002-11-30 16:31:39 +00:00
Michael Natterer 64eb7d748a added gimp->edit_config which is a copy of gimp->config except for
2002-11-30  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: added gimp->edit_config which is a copy of
	gimp->config except for GIMP_PARAM_RESTRT options. Create it in
	gimp_set_config() which must be called before anything else after
	gimp_new(). Install "notify" handlers between the both to keep
	them up-to-date. Enable auto saving for the edit_config.

	* app/app_procs.c: call gimp_set_config().

	* tools/pdbgen/pdb/gimprc.pdb: use gimp->edit_config here so we
	don't accidentially change GIMP_PARAM_RESTART values from the PDB.

	* app/pdb/gimprc_cmds.c: regenerated.

	* app/gui/preferences-dialog.c: use gimp->edit_config as the base
	for all prefs operations. Disable auto saving while the prefs
	dialog is open. No need any more to parse the saved gimprc to get
	GIMP_PARAM_RESTART values. Removed GIMP_PARAM_RESTART special
	hacks because edit_config handles them transparently for us.

	Unrelated:

	* app/core/gimpimage.c (gimp_image_init): initialize active_vectors.

	* app/gui/gui.c (gui_image_disconect): when the last image
	disappears, show the toolbox only if the image had a display.
2002-11-30 13:08:44 +00:00
Sven Neumann b92d38ce68 app/config/Makefile.am removed ... ... and readded under this name.
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 15:19:19 +00:00
Sven Neumann cfd1c72936 added (yet unused) autosave feature.
2002-11-27  Sven Neumann  <sven@gimp.org>

	* app/config/gimprc.[ch]: added (yet unused) autosave feature.

	* app/core/gimpbrush.c
	* app/core/gimpbrushpipe.c: simplified user-visible messages.
2002-11-27 16:13:09 +00:00
Manish Singh 2b16283b32 moved FINITE definition to $extra code. Changed to use #elif, much
2002-11-24  Manish Singh <yosh@gimp.org>

        * tools/pdbgen/pdb/image.pdb: moved FINITE definition to $extra
        code. Changed to use #elif, much cleaner.

        * app/pdb/image_cmds.c: regenerated

        * app/core/gimpenvirontable.[ch]: added support for app internal
        environment variable settings. These override any *.env files if
        there are collisions. Not sure on that policy. Also, envp is now
        generated on the first get_envp call.

        * app/gui/gui.[ch]: added gui_environ_init, which uses
        gimp_environ_table_add. Moved the setting of DISPLAY to here.
        Added setting of GDK_DISPLAY instead for the fb backends. Hm,
        perhaps GDK should do this itself...

        * app_procs.c: call gui_environ_init.

        * libgimpwidgets/gimpcolorscale.c
        * libgimpwidgets/gimpcolorscales.c: #include <string.h> for
        strlen and memcpy.

-Yosh
2002-11-25 00:04:26 +00:00
Michael Natterer 4ce4adf87d removed gimp_config_values_equal().
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.
2002-11-23 22:22:21 +00:00
Michael Natterer 024061d9d7 added tile_cache_init() and tile_cache_exit() as public functions.
2002-11-21  Michael Natterer  <mitch@gimp.org>

	* app/base/tile-cache.[ch]: added tile_cache_init() and
	tile_cache_exit() as public functions.

	* app/base/base.c: call them. Connect to GimpBaseConfig's
	notify::tile-cache-size.

	* app/core/gimpimage.c: connect to notify::transparency-type and
	notify::transparency-size and call
	gimp_image_invalidate_layer_previews() in the callback.

	* app/display/gimpdisplay-foreach.[ch]: removed
	gdisplays_expose_full().

	* app/display/gimpdisplayshell-handlers.c: connect to
	notify::transparency-type and notify::transparency-size and expose
	the shell in the callback.

	* app/display/gimpdisplayshell-render.[ch]: added render_init()
	and render_exit() functions and connect to
	notify::transparency-type and notify::transparency-size for
	setting up the render buffers.

	* app/gui/gui.c: call the new functions instead of render_setup().
	Connect to notify::show-tool-tips.

	* app/gui/preferences-dialog.c: copy values between the global
	config object and its local clone only when they have changed.
	Wrap setting of lots of values in g_object_[freeze|thaw]_notify().
	Added lots of mnemonics.

	* app/gui/resolution-calibrate-dialog.c: added mnemonics.

	* app/widgets/gimppropwidgets.c: g_object_set() the values edited
	by the gimp_prop_coordinates() much less often by remembering the
	old values and setting them only when they have changed.
2002-11-21 15:46:19 +00:00