1. 31 Aug, 2003 1 commit
    • Sven Neumann's avatar
      app/gui/layers-commands.[ch] added "Merge Visible Layers..." and "Flatten · 7c542ea7
      Sven Neumann authored
      2003-08-31  Sven Neumann  <sven@gimp.org>
      	* app/gui/layers-commands.[ch]
      	* app/gui/layers-menu.c: added "Merge Visible Layers..." and
      	"Flatten Image" menu entries as suggested in bug #120959.
      	* app/text/gimptext-vectors.c: fixed function declaration; we are
      	passing a PangoGlyph here, not a (PangoGlyph*).
  2. 30 Aug, 2003 1 commit
    • Michael Natterer's avatar
      Fixed & cleaned up paint function registration to work without GUI. · c42641fe
      Michael Natterer authored
      2003-08-30  Michael Natterer  <mitch@gimp.org>
      	Fixed & cleaned up paint function registration to work without
      	GUI. Finishes core/GUI separation for the paint tools:
      	* app/core/gimppaintinfo.[ch]: removed "gchar *pdb_string" all over
      	the place since we don't stroke using the PDB any more.
      	(gimp_paint_info_new): create paint_info->paint_options here so
      	the paint system is fully initialized when there is no GUI.
      	* app/paint/paint.c: removed pdb_string stuff here, too.
      	* app/core/gimptoolinfo.[ch]: create tool_info->tool_options
      	only if tool_info->tool_options_type is not the same type
      	as paint_info->paint_options_type (if we are no paint tool).
      	* app/core/gimptooloptions.c: removed G_PARAM_CONSTRUCT_ONLY from
      	the "tool-info" property. Instead, changed
      	gimp_tool_options_set_property to ensure that it is only set once.
      	* app/core/gimp.c (gimp_initialize): moved paint_init() after
      	data_factory creation (was in gimp_init()), since GimpPaintInfo
      	now creates the GimpPaintOptions, which are GimpContexts, which
      	need gimp->*_factory to be constructed.
      	* app/tools/tool_manager.c: don't create tool_info->tool_options
      	here (it's not the job of the tool_manager to set up the core
      	paint system correctly, it must be already initialized before any
      	tool_manager function is called).
      	Made "Stroke Selection" and "Stroke Path" work the same way:
      	* app/paint/gimppaintcore-stroke.[ch]: added new function
      	gimp_paint_core_stroke_boundary() which strokes without using
      	the PDB.
      	* app/core/gimpimage-mask.c (gimp_image_mask_stroke): use it
      	instead of using the PDB. Enables all available paint options for
      	stroke operations. Fixes bug #119411.
      	* app/gui/vectors-commands.c (vectors_stroke_vectors)
      	* app/core/gimpimage-mask.c (gimp_image_mask_stroke): removed all
      	code which tries to figure how to stroke and simply look at the
      	active tool's tool_info->paint_info, since it is always set up
      	correctly now.
  3. 27 Aug, 2003 1 commit
    • Michael Natterer's avatar
      Cleaned up my "To Selection" cleanup: · a7b2c160
      Michael Natterer authored
      2003-08-27  Michael Natterer  <mitch@gimp.org>
      	Cleaned up my "To Selection" cleanup:
      	* app/gui/channels-commands.[ch]
      	* app/gui/layers-commands.[ch]
      	* app/gui/vectors-commands.[ch]: removed the separate
      	cmd_callbacks for REPLACE,ADD,SUBTRACT,INTERSECT and pass the
      	operation as "guint action" to the callback.
      	* app/gui/channels-menu.c
      	* app/gui/image-menu.c
      	* app/gui/layers-menu.c
      	* app/gui/vectors-menu.c: changed accordingly.
  4. 25 Aug, 2003 1 commit
    • Michael Natterer's avatar
      changed GimpObject::get_memsize() to return a second value named · 24f3da16
      Michael Natterer authored
      2003-08-25  Michael Natterer  <mitch@gimp.org>
      	* app/core/gimpobject.[ch]: changed GimpObject::get_memsize() to
      	return a second value named "gui_size", where the primary return
      	value is the "constant" actual size (as long as no operation is
      	performed on the object), and the second "gui_size" return value
      	is the size of temporary stuff like preview caches or boundary
      	segments (which may change asynchronously, even if the object is
      	on the undo stack).
      	* app/core/gimp.c
      	* app/core/gimpbrush.c
      	* app/core/gimpbrushpipe.c
      	* app/core/gimpbuffer.c
      	* app/core/gimpchannel.c
      	* app/core/gimpcontainer.c
      	* app/core/gimpcontext.c
      	* app/core/gimpdata.c
      	* app/core/gimpdatafactory.c
      	* app/core/gimpdrawable.c
      	* app/core/gimpgradient.c
      	* app/core/gimpimage-undo.c
      	* app/core/gimpimage.c
      	* app/core/gimpitem.c
      	* app/core/gimplayer.c
      	* app/core/gimplist.c
      	* app/core/gimppalette.c
      	* app/core/gimpparasitelist.c
      	* app/core/gimppattern.c
      	* app/core/gimpundo.c
      	* app/core/gimpundostack.c
      	* app/core/gimpviewable.c
      	* app/text/gimptextlayer.c
      	* app/vectors/gimpstroke.c
      	* app/vectors/gimpvectors.c: changed get_memsize() implementations
      	* app/display/gimpdisplayshell-title.c
      	* app/gui/debug-commands.c
      	* app/widgets/gimppreview.c: changed callers accordingly.
      	* app/core/gimpimage-undo-push.c: changed layer, channel, vectors
      	and layer_mask undo steps to add/subtract the size of the
      	resp. objects whenever they take/drop ownership of them. Ignore
      	the objects' "gui_size" to get identical sizes on
      	adding/subtracting. Fixes bug #120429.
  5. 24 Aug, 2003 1 commit
    • Michael Natterer's avatar
      app/display/gimpdisplayshell-filter-dialog.c · 61122751
      Michael Natterer authored
      2003-08-24  Michael Natterer  <mitch@gimp.org>
      	* app/display/gimpdisplayshell-filter-dialog.c
      	* app/display/gimpdisplayshell-scale.c
      	* app/display/gimpnavigationview.c
      	* app/gui/dialogs-menu.c
      	* app/gui/documents-menu.c
      	* app/gui/error-console-menu.c
      	* app/gui/gradient-editor-commands.c
      	* app/gui/gradient-editor-menu.c
      	* app/gui/image-menu.c
      	* app/gui/select-commands.c
      	* app/gui/tool-options-dialog.c
      	* app/gui/toolbox-menu.c
      	* app/gui/vectors-menu.c
      	* app/widgets/gimpbufferview.c
      	* app/widgets/gimpchanneltreeview.c
      	* app/widgets/gimpdocumentview.c
      	* app/widgets/gimpeditor.[ch]
      	* app/widgets/gimperrorconsole.c
      	* app/widgets/gimpgradienteditor.c
      	* app/widgets/gimpitemtreeview.[ch]
      	* app/widgets/gimplayertreeview.c
      	* app/widgets/gimpselectioneditor.c
      	* app/widgets/gimptemplateview.c
      	* app/widgets/gimpundoeditor.c
      	* app/widgets/gimpvectorstreeview.c
      	* app/widgets/gimphelp-ids.h: added and updated more help IDs.
  6. 23 Aug, 2003 1 commit
    • Michael Natterer's avatar
      changed GimpHelpFunc typedef: - renamed "const gchar *help_data" to "const · ba70ce9a
      Michael Natterer authored
      2003-08-23  Michael Natterer  <mitch@gimp.org>
      	* libgimpwidgets/gimpwidgetstypes.h: changed GimpHelpFunc typedef:
      	- renamed "const gchar *help_data" to "const gchar *help_id".
      	- added "gpointer help_data".
      	* libgimpwidgets/gimphelpui.[ch]: added "gpointer help_data" to
      	gimp_help_connect(). Removed all fiddling with html links and
      	treat all help IDs as opaque identifiers.
      	* app/core/gimptoolinfo.[ch]: changed "help_data" member to
      	* app/widgets/gimpitemfactory.[ch]: removed the "help_path"
      	parameter from gimp_item_factory_new() since we don't fiddle with
      	html file paths any more. Simplifies menu item help a lot.
      	Renamed "help_data" member of struct GimpItemFactoryEntry to
      	* app/gui/plug-in-menus.c: changed accordingly. 3rd party
      	plug-ins' menu item help IDs are now encoded as
      	* app/gui/file-open-menu.c
      	* app/gui/file-save-menu.c: when constructing the <Load> and
      	<Save> menus, take the resp. procedures' locale_domain and
      	help_path into account. Fixes translation of 3rd party menu items.
      	Also do the right thing for load/save procs which are implemented
      	as temporary procedures (they are impossible to implement
      	currently but it's nice to do the right thing anyway...).
      	* app/widgets/gimphelp-ids.h: added GIMP_HELP_MAIN identifier.
      	* libgimpwidgets/gimpdialog.[ch]
      	* libgimpwidgets/gimpwidgets.[ch]
      	* libgimp/gimpui.c
      	* app/display/gimpdisplayshell.c
      	* app/gui/gui.c
      	* app/gui/about-dialog.c
      	* app/gui/color-notebook.c
      	* app/gui/dialogs-constructors.c
      	* app/gui/file-dialog-utils.[ch]
      	* app/gui/gradients-commands.c
      	* app/gui/help-commands.c
      	* app/gui/image-menu.c
      	* app/gui/menus.c
      	* app/gui/preferences-dialog.c
      	* app/gui/tips-dialog.c
      	* app/tools/gimpcolorpickertool.c
      	* app/tools/gimpcroptool.c
      	* app/tools/gimpcurvestool.c
      	* app/tools/gimphistogramtool.c
      	* app/tools/gimpimagemaptool.c
      	* app/tools/gimplevelstool.c
      	* app/tools/gimpmeasuretool.c
      	* app/tools/gimptransformtool.c
      	* app/widgets/gimperrorconsole.c
      	* app/widgets/gimphelp.[ch]
      	* app/widgets/gimpmenufactory.[ch]
      	* app/widgets/gimptexteditor.c
      	* app/widgets/gimptoolbox.c
      	* app/widgets/gimpviewabledialog.[ch]
      	* plug-ins/common/CEL.c
      	* plug-ins/common/CML_explorer.c
      	* plug-ins/common/gee.c
      	* plug-ins/common/gee_zoom.c
      	* plug-ins/common/gqbist.c
      	* plug-ins/common/spheredesigner.c
      	* plug-ins/flame/flame.c
      	* plug-ins/fp/fp_gtk.c
      	* plug-ins/helpbrowser/helpbrowser.c
      	* plug-ins/ifscompose/ifscompose.c
      	* plug-ins/imagemap/imap_main.c: changed accordingly. Removed
      	trailing whitespace all over the place.
  7. 22 Aug, 2003 1 commit
    • Michael Natterer's avatar
      app/display/gimpdisplayshell.c app/gui/brush-select.c · fc20b3ac
      Michael Natterer authored
      2003-08-22  Michael Natterer  <mitch@gimp.org>
      	* app/display/gimpdisplayshell.c
      	* app/gui/brush-select.c
      	* app/gui/channels-menu.c
      	* app/gui/convert-dialog.c
      	* app/gui/file-open-menu.c
      	* app/gui/file-save-menu.c
      	* app/gui/font-select.c
      	* app/gui/gradient-select.c
      	* app/gui/gui.c
      	* app/gui/image-commands.c
      	* app/gui/image-menu.c
      	* app/gui/layers-menu.c
      	* app/gui/menus.c
      	* app/gui/palette-import-dialog.c
      	* app/gui/palette-select.c
      	* app/gui/palettes-commands.c
      	* app/gui/pattern-select.c
      	* app/gui/preferences-dialog.c
      	* app/gui/qmask-commands.c
      	* app/gui/qmask-menu.c
      	* app/gui/templates-commands.c
      	* app/gui/toolbox-menu.c
      	* app/gui/vectors-menu.c
      	* app/tools/[all tools].c
      	* app/widgets/gimperrorconsole.c
      	* app/widgets/gimpitemfactory.c
      	* app/widgets/gimptoolbox.c
      	* app/widgets/gimphelp-ids.h: added, fixed and updated lots of
      	help IDs. Still unfinished.
  8. 21 Aug, 2003 1 commit
    • Michael Natterer's avatar
      app/widgets/Makefile.am new file defining the available help topics. Work · a319c455
      Michael Natterer authored
      2003-08-21  Michael Natterer  <mitch@gimp.org>
      	* app/widgets/Makefile.am
      	* app/widgets/gimphelp-ids.h: new file defining the available help
      	topics. Work in progress and totally unusable for matching to the
      	help system. Stay tuned...
      	* app/gui/about-dialog.c
      	* app/gui/brushes-menu.c
      	* app/gui/buffers-menu.c
      	* app/gui/channels-commands.[ch]
      	* app/gui/channels-menu.c
      	* app/gui/edit-commands.c
      	* app/gui/file-commands.c
      	* app/gui/file-new-dialog.c
      	* app/gui/file-open-dialog.c
      	* app/gui/file-save-dialog.c
      	* app/gui/gradients-commands.c
      	* app/gui/gradients-menu.c
      	* app/gui/image-menu.c
      	* app/gui/layers-commands.[ch]
      	* app/gui/layers-menu.c
      	* app/gui/module-browser.c
      	* app/gui/offset-dialog.c
      	* app/gui/palettes-menu.c
      	* app/gui/patterns-menu.c
      	* app/gui/resize-dialog.c
      	* app/gui/select-commands.c
      	* app/gui/templates-menu.c
      	* app/gui/tips-dialog.c
      	* app/gui/toolbox-menu.c
      	* app/gui/vectors-commands.[ch]
      	* app/gui/vectors-menu.c: replaced literal HTML file paths by help
      	IDs from gimphelp-ids.h. Renamed some menu callbacks to be
      	consistent with similar ones. This is just an intermediate commit
      	and not finished.
      	While browsing all the menus, I noticed that our "x to selection"
      	functions are not consistent at all. They should all offer the
      	* app/core/gimpchannel.[ch]: added new function
      	gimp_channel_new_from_alpha(). Removed gimp_channel_layer_alpha()
      	and gimp_channel_layer_mask().
      	* app/core/gimpimage-mask.[ch]: added
      	gimp_image_mask_select_alpha() and
      	gimp_image_mask_select_component() which offer the full set of
      	operation, feather and feather_radius parameters as the other
      	selection functions.
      	* app/core/gimpimage-mask-select.[ch]: removed
      	gimp_image_mask_layer_alpha() and gimp_image_mask_layer_mask().
      	* app/gui/channels-commands.c (channels_channel_to_selection): use
      	gimp_image_mask_select_component() instead of implementing it
      	* app/gui/image-menu.c
      	* app/gui/layers-commands.[ch]: offer the full choice of
      	REPLACE,ADD,SUBTRACT,INTERSECT with "Alpha to Selection" and "Mask
      	to Selection".
      	* tools/pdbgen/pdb/selection.pdb: changed accordingly.
      	* app/pdb/selection_cmds.c: regenerated.
  9. 27 Jul, 2003 1 commit
    • Henrik Brix Andersen's avatar
      moved Configure Grid entry to the <Image>/Image branch · 1669906b
      Henrik Brix Andersen authored
      2003-07-27 Henrik Brix Andersen <brix@gimp.org>
      * app/gui/image-menu.c (image_menu_entries): moved Configure Grid
      entry to the <Image>/Image branch
      * app/gui/view-commands.[ch] (view_configure_grid_cmd_callback):
      removed function
      * app/gui/image-commands.[ch] (image_configure_grid_cmd_callback):
      added function here
      * app/gui/grid-dialog.c: removed snap and show options from the
  10. 08 Jul, 2003 2 commits
    • Michael Natterer's avatar
      Added configurable styles for dockable tabs (fixes bug #87376): · 6fabca2e
      Michael Natterer authored
      2003-07-08  Michael Natterer  <mitch@gimp.org>
      	Added configurable styles for dockable tabs (fixes bug #87376):
      	* app/widgets/widgets-enums.[ch]: added new enum GimpTabStyle
      	which can be one on { ICON, NAME, ICON_NAME, ICON_BLURB }.
      	* app/widgets/gimpdockable.[ch]: added a GimpTabStyle member to
      	the GimpDockable struct which defaults to GIMP_TAB_STYLE_ICON.
      	Renamed "short_name" to "name" and "name" to "blurb". Renamed
      	GimpDockableGetTabFunc to GimpDockableGetIconFunc. Implemented all
      	tab styles in gimp_dockable_real_get_tab_widget() and use the
      	"get_icon_func" only for creating the tab's icon, not the entire
      	tab widget.
      	* app/widgets/gimpdockbook.[ch]: changed accordingly. Create the
      	menu widgets and the DND icon using gimp_dockable_get_tab_widget()
      	with tab_style == GIMP_TAB_STYLE_ICON_BLURB instead of duplicating
      	tons of code. Made gimp_dockbook_get_tab_widget() public because
      	it's needed for exchanging tabs on-the-fly.
      	* app/widgets/gimpimagedock.c: changed accordingly.
      	* app/widgets/gimpdialogfactory.c: remember the dockables' tab
      	style in sessionrc.
      	* app/gui/dialogs-menu.c: added a submenu to select the tab style
      	for each dockable.
      	* app/gui/dialogs-commands.[ch]: new callback
      	* app/gui/dialogs-constructors.[ch]: added stock_ids to all
      	dockables, swapped the "name" and "blurb" parameters, reordered
      	functions, cleanup.
      	* app/gui/dialogs-menu.c
      	* app/gui/image-menu.c
      	* app/gui/toolbox-menu.c: use GIMP_STOCK_DEFAULT_COLORS for the
      	color editor dockable and renamed it to "FG/BG Color".
    • Sven Neumann's avatar
      warn if the image has no active drawable instead of silently returning. · 16e0b4fa
      Sven Neumann authored
      2003-07-08  Sven Neumann  <sven@gimp.org>
      	* app/gui/file-commands.c (file_save_cmd_callback): warn if the
      	image has no active drawable instead of silently returning. Not
      	sure if this is correct, but it could help to resolve #116936.
  11. 02 Jul, 2003 1 commit
    • Sven Neumann's avatar
      app/gui/edit-commands.c added "Fill with Pattern" menu entry as suggested · e7860145
      Sven Neumann authored
      2003-07-02  Sven Neumann  <sven@gimp.org>
      	* app/gui/edit-commands.c
      	* app/gui/image-menu.c: added "Fill with Pattern" menu entry as
      	suggested in bug #116365.
      	* app/base/temp-buf.c
      	* app/base/tile-swap.c
      	* app/config/gimpbaseconfig.c
      	* app/config/gimpconfig-types.c
      	* app/display/gimpdisplayshell-filter-dialog.c
      	* app/display/gimpdisplayshell.c
      	* app/file/file-utils.c
      	* app/paint-funcs/paint-funcs-types.h
      	* app/tools/gimpdrawtool.c
      	* app/tools/gimpinktool.c
      	* app/tools/gimpiscissorstool.h
      	* app/tools/gimptextoptions.c
      	* app/paint-funcs/paint-funcs-types.h
      	* app/vectors/gimpbezierstroke.c
      	* app/vectors/gimpstroke.c
      	* app/vectors/gimpvectors.c
      	* app/vectors/vectors-types.h
      	* libgimp/gimpbrushmenu.c
      	* libgimp/gimpmisc.h
      	* libgimpmodule/gimpmodule.c: fixed some minor issues found
      	compiling with -pedantic.
      	* app/pdb/misc_tools_cmds.c
      	* tools/pdbgen/pdb/misc_tools.pdb: adapt to the changed order of
      	arguments for gimp_image_pick_color().
  12. 23 Jun, 2003 3 commits
    • Michael Natterer's avatar
      app/core/gimpimage-undo-push.c (undo_pop_image_grid) ref/unref the grid. · a1c1fe4c
      Michael Natterer authored
      2003-06-24  Michael Natterer  <mitch@gimp.org>
      	* app/core/gimpimage-undo-push.c (undo_pop_image_grid)
      	* app/core/gimpimage.c (gimp_image_set_grid): ref/unref the grid.
      	* app/gui/view-commands.c (view_configure_grid_cmd_callback): set
      	the dialog transient for the shell, make shell->grid_dialog a
      	weak pointer of the grid dialog.
      	* app/gui/grid-dialog.c: don't set shell->grid_dialog to NULL
      	here, attach the grid using g_object_set_data_full() and don't
      	unref it explicitely. Use gimp_config_is_equal_to() instead of
    • Henrik Brix Andersen's avatar
      derive GimpGrid from GimpObject (not GObject) allowing us to use · e985b88e
      Henrik Brix Andersen authored
      * app/core/gimpgrid.[ch]: derive GimpGrid from GimpObject (not
      GObject) allowing us to use gimp_object_get_memsize(). Added
      missing copyright notice.
      * app/core/gimpimage.c: only call gimp_object_get_memsize() if
      gimage->grid != NULL.
      * app/gui/grid-dialog.c: added mnemonics, set shell->grid_dialog
      to NULL when destroyed.
      * app/gui/view-commands.c (view_configure_grid_cmd_callback):
      added call to gtk_window_present().
    • Henrik Brix Andersen's avatar
      Added a per image configurable grid. · edd5c339
      Henrik Brix Andersen authored
      This fixes bug #65198
      * app/core/Makefile.am
      * app/core/core-types.h:
      * app/core/gimpgrid.[ch]: added new class GimpGrid.
      * app/core/core-enums.[ch]: added new enum GimpGridType.
      * app/core/gimpimage-guides.[ch]: removed the gimp_image_snap_*()
      * app/core/gimpimage-snap.[ch]: ...and added them here since they
      are no longer guide specific.
      * app/core/gimpimage-undo-push.[ch]: added
      * app/display/gimpdisplayshell-handlers.c:
      * app/core/gimpimage.[ch]: added grid member to _GimpImage. Added
      new signal "grid_changed", added gimp_image_grid_changed(),
      gimp_image_get_grid() and gimp_image_set_grid().
      * app/display/gimpdisplayshell-appearance.[ch]: added
      gimp_display_shell_set_snap_to_grid() and
      * app/display/gimpdisplayshell-callbacks.c: added call to
      * app/display/gimpdisplayshell.[ch]: added grid member to
      _GimpDisplayShellVisibility, added snap_to_grid and grid_dialog
      members to _GimpDisplayShell, added
      gimp_display_shell_draw_grid(), modified
      gimp_display_shell_snap_coords() to use the new
      gimp_image_snap_*() functions.
      * app/gui/image-menu.c: added grid entries to
      * app/gui/view-commands.[ch]: added
      view_toggle_grid_cmd_callback() and
      * app/gui/Makefile.am
      * app/gui/grid-dialog.[ch]: added a grid dialog.
  13. 20 Jun, 2003 1 commit
  14. 19 Jun, 2003 1 commit
    • Michael Natterer's avatar
      Changed the semantics of GIMP_EXTENSION and (to some extent) of · ecb0b584
      Michael Natterer authored
      2003-06-19  Michael Natterer  <mitch@gimp.org>
      	Changed the semantics of GIMP_EXTENSION and (to some extent)
      	of GIMP_PLUGIN:
      	The old meaning of EXTENSION was "I live in the toolbox" and
      	PLUGIN meant "I take RUN-MODE,IMAGE,DRAWABLE args (but only if I
      	am invoked interactively)". This is completely useless, since
      	living in the toolbox means having "<Toolbox>" in the menu_path
      	and taking RUN-MODE,IMAGE,DRAWABLE means just that, regardless of
      	what type of procedure we are.
      	The new meaning of GIMP_PLUGIN is just "I am an ordinary procedure,
      	I am invoked, do my job and finish", while GIMP_EXTENSION means
      	"I will install temporary procedures and I will keep running to
      	keep them available".
      	(A GIMP_EXTENSION *must* call gimp_extension_ack() now to tell the
      	core that it's ready to run, or the core will block waiting for
      	the message !!!).
      	* configure.in: bumped version number to 1.3.16.
      	* libgimpbase/gimpprotocol.h: increased protocol version number so
      	old extensions will refuse to load.
      	* app/gui/plug-in-commands.c (plug_in_run_cmd_callback): don't
      	blindly pass RUN-MODE,IMAGE,DRAWABLE to GIMP_PLUGIN procedures but
      	look at their parameters and pass them either RUN-MODE, or
      	* app/pdb/procedural_db.c: cleaned up, better error reporting,
      	replaced an impossible error message by g_return_if_fail()
      	* app/plug-in/plug-in-message.c (plug_in_handle_proc_install):
      	better error messages.
      	* app/plug-in/plug-in-params.c: allocate parameter arrays using
      	g_new0() so we don't have to worry about uninitialized stuff
      	* app/plug-in/plug-in-run.c (plug_in_run): wait for
      	gimp_extension_ack() installation confirmation for ALL extensions,
      	not just for automatically started ones.
      	* app/plug-in/plug-ins.c: cleanup.
      	* libgimp/gimp.[ch]: cleaned up and API-documented massively. Made
      	all magic values given in the GPConfig message static and added
      	accessor functions for them. Added gimp_tile_width()/height().
      	Added new function gimp_extension_enable() which turns on
      	asynchronous processing of temp_proc run requests without having
      	to enter an endless gimp_extension_process() loop. Moved all
      	private functions to the end of the file. Added tons of
      	g_return_if_fail() all over the place.  Call gimp_run_procedure2()
      	from gimp_run_procedure() instead of duplicating the
      	code. Indentation, spacing, stuff...
      	* libgimp/gimptile.[ch]: removed gimp_tile_width()/height().
      	* libgimp/gimpdrawable.c
      	* libgimp/gimppixelrgn.c
      	* libgimp/gimptile.c: use the gimp_tile_width()/height() accessor
      	* libgimp/gimp.def: added gimp_extension_enable.
      	* libgimp/gimpmenu.c: removed evil code which connected to
      	_readchannel manually and use gimp_extension_enable() for watching
      	* plug-ins/helpbrowser/helpbrowser.c: removed the same evil code
      	here and call gimp_extension_enable(). Call gimp_extension_ack()
      	to let the core know that the temp_proc is installed.
      	* plug-ins/script-fu/script-fu.c: made all procedures except the
      	permanently running "extension_script_fu" ordinary GIMP_PLUGIN
      	* plug-ins/common/curve_bend.c
      	* plug-ins/common/plugindetails.c
      	* plug-ins/common/screenshot.c
      	* plug-ins/common/uniteditor.c
      	* plug-ins/common/winclipboard.c
      	* plug-ins/dbbrowser/dbbrowser.c
      	* plug-ins/gfli/gfli.c
      	* plug-ins/twain/twain.c
      	* plug-ins/webbrowser/webbrowser.c
      	* plug-ins/winsnap/winsnap.c: made them all ordinary GIMP_PLUGIN
      	procedures and renamed them from "extension_*" to "plug_in_*".
      	Random cleanups.
      	* app/widgets/gimphelp.c
      	* plug-ins/maze/maze_face.c: call "plug_in_web_browser" now.
  15. 13 Jun, 2003 1 commit
    • Michael Natterer's avatar
      Cleaned up and improved the message system: · 5e950b55
      Michael Natterer authored
      2003-06-13  Michael Natterer  <mitch@gimp.org>
      	Cleaned up and improved the message system:
      	* app/core/gimp.[ch]: added "const gchar *domain" to
      	GimpMessageFunc (a NULL domain means the message is from the GIMP
      	core, everything else is a plug-in).
      	* app/errors.c: pass "domain == NULL" to gimp_message().
      	* tools/pdbgen/pdb/message.pdb: derive the message domain from the
      	current plug-in's menu_path (evil hack but works reasonably well).
      	* app/pdb/message_cmds.c: regenerated.
      	* app/widgets/gimpwidgets-utils.[ch] (gimp_message_box): added a
      	header showing the message domain and changed the dialog layout to
      	follow the HIG more closely.
      	* app/gui/error-console-dialog.[ch]: removed.
      	* app/widgets/gimperrorconsole.[ch]
      	* app/gui/error-console-commands.[ch]
      	* app/gui/error-console-menu.[ch]: new files containing a
      	re-implementation of the error console dialog.
      	* app/gui/Makefile.am
      	* app/gui/dialogs-constructors.c
      	* app/gui/gui.c
      	* app/gui/menus.c
      	* app/widgets/Makefile.am
      	* app/widgets/widgets-types.h: changed accordingly.
      	* app/display/gimpprogress.c: added more spacing and removed the
      	separator (more HIG compliant).
      	* plug-ins/[most plug-ins].c: Changed lots of messages and
      	progress strings:
      	- Removed plug-in names from messages since that's automatically
      	  covered by "domain" now.
      	- Put all filenames in ''.
      	- Changed "Loading" to "Opening".
      	- Added "..." to all progress messages.
      	- Cleaned up all file open/save error messages to look the
      	  same and include g_strerror(errno).
      	- Removed special casing for progress bars and *always* show them,
      	  not only if run_mode != GIMP_RUN_NONINTERACTIVE (we can't expect
      	  all plug-ins to do this correctly but need to hack the core to
      	  sort out unwanted progress bars).
      	- Cleaned up indentation, spacing, #includes, coding style and
      	  other stuff while I was at all these files.
  16. 10 Jun, 2003 1 commit
    • Sven Neumann's avatar
      expects the tool identifier as a GQuark now. · b39f8fb8
      Sven Neumann authored
      2003-06-10  Sven Neumann  <sven@gimp.org>
      	* app/gui/tools-commands.c (tools_select_cmd_callback): expects
      	the tool identifier as a GQuark now.
      	* app/gui/image-menu.c: changed accordingly. Removed code that
      	used to move the menu entries for the color correction tools to
      	the Layers menu. Added the respective menu entries by hand. Added
      	a menu entry for arbitrary rotations and one for Select by Color.
      	* app/tools/gimpbrightnesscontrasttool.c
      	* app/tools/gimpbycolorselecttool.c
      	* app/tools/gimpcolorbalancetool.c
      	* app/tools/gimpcolorizetool.c
      	* app/tools/gimpcurvestool.c
      	* app/tools/gimphistogramtool.c
      	* app/tools/gimphuesaturationtool.c
      	* app/tools/gimplevelstool.c
      	* app/tools/gimpposterizetool.c
      	* app/tools/gimpthresholdtool.c: register the color correction
      	tools in the Tools menu.
      	* app/tools/gimptransformtool.c: added an initialize method and
      	moved most initalization code from button_press to this place.
  17. 06 Jun, 2003 2 commits
    • Michael Natterer's avatar
      app/gui/image-menu.c moved the convenience items which create new docks · ef30cf31
      Michael Natterer authored
      2003-06-06  Michael Natterer  <mitch@gimp.org>
      	* app/gui/image-menu.c
      	* app/gui/toolbox-menu.c: moved the convenience items which
      	create new docks from the "Dialogs/" level to a new
      	"Dialogs/Create New Dock/" sub-menu.  Fixes bug #111278.
      	* app/gui/dialogs-commands.[ch] (dialogs_create_data_cmd_callback):
      	new convenience constructor callback. Factored out duplicated
      	code to the new dialogs_create_dock() utility function.
    • Michael Natterer's avatar
      use gtk_label_set_text_with_mnemonic() instead of just · 2c958770
      Michael Natterer authored
      2003-06-06  Michael Natterer  <mitch@gimp.org>
      	* app/widgets/gimpitemfactory.c (gimp_item_factory_set_label):
      	use gtk_label_set_text_with_mnemonic() instead of just
      	* app/gui/image-menu.c
      	* app/gui/toolbox-menu.c: added mnemonics for all sub-menus.
      	Fixes bug #106991.
      	* app/gui/image-menu.c: cleaned up the "Layers" menu: moved
      	sub-menus together. Changed the "Stack" menu's labels and
      	accelerators and added "Select Top/Bottom Layer" for consistency
      	(bound to Home/End).
      	* app/gui/layers-commands.[ch]: changed accordingly. Added the
      	new select top/bottom callbacks.
  18. 03 Jun, 2003 1 commit
    • Michael Natterer's avatar
      fixed offset calculation for 90 and 270 degree rotations. · 0c3ff3b0
      Michael Natterer authored
      2003-06-03  Michael Natterer  <mitch@gimp.org>
      	* app/core/gimpimage-rotate.c (gimp_image_rotate_item_offset):
      	fixed offset calculation for 90 and 270 degree rotations.
      	* app/core/gimpimage-flip.c
      	* app/core/gimpimage-rotate.c
      	* app/core/gimpimage-scale.c: increase the progress also when
      	transforming the selection. Makes the progress appear more
      	continuous. Also clened up and simplified the progress code
      	in all files.
      	* app/core/gimpimage-resize.[ch]: added a progress like in the
      	files above.
      	* app/gui/image-commands.c (image_resize_callback): changed
      	(image_scale_implement): clened up and simplified a lot.
      	* tools/pdbgen/pdb/image.pdb: changed accordingly.
      	* app/pdb/image_cmds.c: regenerated.
  19. 28 May, 2003 1 commit
    • Michael Natterer's avatar
      app/gui/image-menu.c app/gui/palette-editor-menu.c · ad3efec7
      Michael Natterer authored
      2003-05-28  Michael Natterer  <mitch@gimp.org>
      	* app/gui/image-menu.c
      	* app/gui/palette-editor-menu.c
      	* app/gui/view-commands.[ch]
      	* app/widgets/gimpgradienteditor.c
      	* app/widgets/gimppaletteeditor.[ch]: changed all places to show
      	zoom menu items and icons in ZOOM_OUT, ZOOM_IN order. In an attack
      	of consistency, also reordered all callbacks accordingly.
  20. 27 May, 2003 2 commits
  21. 26 May, 2003 1 commit
    • Michael Natterer's avatar
      app/widgets/gimppaletteeditor.[ch] app/gui/palette-editor-commands.[ch] · 4c070aff
      Michael Natterer authored
      2003-05-26  Michael Natterer  <mitch@gimp.org>
      	* app/widgets/gimppaletteeditor.[ch]
      	* app/gui/palette-editor-commands.[ch]
      	* app/gui/palette-editor-menu.c: started to clean up the palette
      	editor: added buttons for all menu items and menu items for all
      	buttons. Improved selected palette entry handling. Moved all code
      	to gimppaletteeditor.c and call it from the menu callbacks.  Lots
      	of cleanup (unfinished).
  22. 20 May, 2003 2 commits
    • Michael Natterer's avatar
      don't default to clip_result == TRUE (unlike the other transform · 966fb559
      Michael Natterer authored
      2003-05-20  Michael Natterer  <mitch@gimp.org>
      	* app/core/gimpchannel.c (gimp_channel_rotate): don't default to
      	clip_result == TRUE (unlike the other transform functions).
      	* app/core/gimpdrawable-transform.c
      	(gimp_drawable_transform_tiles_rotate): fixed offset calculation.
      	* app/core/gimpimage-rotate.c: change the image size *after* all items
      	are rotated. Adjust all items' offsets after rotation. Rotate the
      	resolutions too. Seems to work now and fixes bug #6101.
      	* app/core/gimpimage.c (gimp_image_size_changed): emit
      	"size_changed" on all vectors.
      	* app/core/gimpitem-linked.[ch]: added gimp_item_linked_rotate().
      	* app/gui/drawable-commands.c: flip and rotate linked items too.
      	* app/vectors/gimpvectors.c (gimp_vectors_rotate): fixed rotation
      	* app/core/gimpimage-merge.c: don't #include "path.h".
    • Sven Neumann's avatar
      added new enum GimpRotationType. · 1de667f0
      Sven Neumann authored
      2003-05-20  Sven Neumann  <sven@gimp.org>
      	* app/core/core-enums.[ch]: added new enum GimpRotationType.
      	* app/core/Makefile.am
      	* app/core/gimpimage-rotate.[ch]: new files.
      	* app/core/gimpchannel.c
      	* app/core/gimpdrawable-transform.[ch]
      	* app/core/gimpdrawable.c
      	* app/core/gimpitem.[ch]
      	* app/core/gimplayer.c
      	* app/vectors/gimpvectors.c: added GimpItem::rotate. Still work in
      	* plug-ins/common/rotate.c: don't install any menu entries. The
      	plug-in is only kept around to provide plug_in_rotate for backward
      	* app/gui/drawable-commands.[ch]
      	* app/gui/image-commands.[ch]
      	* app/gui/image-menu.c: use the new rotate implementation and use
      	stock icons for the menu entries. Fixes bug #57797.
  23. 19 May, 2003 2 commits
    • Michael Natterer's avatar
      eek, forgot to commit this file. · 1b107d83
      Michael Natterer authored
      2003-05-19  Michael Natterer  <mitch@gimp.org>
      	* app/gui/drawable-commands.h: eek, forgot to commit this file.
    • Michael Natterer's avatar
      moved the image flip entries to the Image->Transform submenu and added · 67b00677
      Michael Natterer authored
      2003-05-19  Michael Natterer  <mitch@gimp.org>
      	* app/gui/image-menu.c: moved the image flip entries to the
      	Image->Transform submenu and added flip entries to
      	Layer->Transform. Cleaned up the transform submenus.
      	* app/gui/drawable-commands.[ch]: added
      	* tools/pdbgen/pdb/image.pdb: added a PDB wrapper for
      	* libgimp/gimpimage_pdb.[ch]
      	* app/pdb/image_cmds.c
      	* app/pdb/internal_procs.c: regenerated.
  24. 18 May, 2003 1 commit
    • Michael Natterer's avatar
      Implemented "Flip Image". Fixes bug #23179: · 1358fafb
      Michael Natterer authored
      2003-05-18  Michael Natterer  <mitch@gimp.org>
      	Implemented "Flip Image". Fixes bug #23179:
      	* app/core/core-enums.[ch]: added GIMP_UNDO_GROUP_IMAGE_FLIP.
      	* app/core/Makefile.am
      	* app/core/gimpimage-flip.[ch]: new files implementing
      	* app/gui/image-menu.c
      	* app/gui/image-commands.[ch]: added it to the "Image" menu.
      	* themes/Default/images/Makefile.am
      	* themes/Default/images/stock-flip-horizontal-16.png
      	* themes/Default/images/stock-flip-vertical-16.png
      	* libgimpwidgets/gimpstock.[ch]: added icons for the new
      	menu items.
      	Bugs found while hacking the stuff above:
      	* app/core/gimpdrawable-transform.c (gimp_drawable_transform_paste):
      	only call gimp_layer_add_alpha() if the pasted tiles have alpha.
      	* app/core/gimpimage-undo-push.c (undo_pop_channel_mod): fixed to
      	do the right thing if the channel is the selection mask.
  25. 17 May, 2003 1 commit
    • Michael Natterer's avatar
      Fixed File->Revert, which was completely broken before: · 9252db58
      Michael Natterer authored
      2003-05-17  Michael Natterer  <mitch@gimp.org>
      	Fixed File->Revert, which was completely broken before:
      	* app/gui/file-commands.c (file_revert_confirm_callback): set the
      	new image on all GimpContexts which had the old image set.  Unref
      	the new image after the displays are reconnected.
      	Added some paranoia code for similar future situations (the
      	functions below were not broken, but affected by the above bug):
      	* app/display/gimpdisplay-handlers.c (gimp_display_disconnect):
      	set gdisp->gimage to NULL before unrefing the image.
      	* app/widgets/gimpimagedock.c (gimp_image_dock_image_changed):
      	unref the gimage pointer returned by g_object_get() only if it is
      	non-NULL. Cleanup.
  26. 16 May, 2003 3 commits
    • Michael Natterer's avatar
      added "gboolean cut_image" parameter so we can float selections without · 9981c464
      Michael Natterer authored
      2003-05-16  Michael Natterer  <mitch@gimp.org>
      	* app/core/gimpimage-mask.[ch] (gimp_image_mask_extract): added
      	"gboolean cut_image" parameter so we can float selections
      	without cutting them from the original drawable.
      	* app/gui/select-commands.c
      	* tools/pdbgen/pdb/selection.pdb: pass cut_image == TRUE.
      	* app/pdb/selection_cmds.c: regenerated.
      	* app/tools/tools-enums.[ch]: added SELECTION_MOVE_COPY value
      	to the SelectOps enum.
      	* app/tools/gimpselectiontool.c: use the new mode when
      	<ctrl>+<alt>-dragging a selction (yes, this is evil but there are
      	no modifiers left).
      	* app/tools/gimpeditselectiontool.[ch]: extended EditType enum by
      	EDIT_MASK_COPY_TO_LAYER_TRANSLATE and pass cut_image == FALSE if
      	it's passed to init_edit_selection().
      	* app/tools/gimpfreeselecttool.c
      	* app/tools/gimpfuzzyselecttool.c
      	* app/tools/gimprectselecttool.c: pass the new mode to
    • Michael Natterer's avatar
      added dialog_factory and dialog_identifier parameters to the constructors · a8598c69
      Michael Natterer authored
      2003-05-16  Michael Natterer  <mitch@gimp.org>
      	* app/gui/color-notebook.[ch]: added dialog_factory and
      	dialog_identifier parameters to the constructors and register the
      	color_notebook with the passed factory as foreign dialog.
      	* app/widgets/gimpcolorpanel.c: changed accordingly.
      	* app/gui/dialogs.c
      	* app/gui/colormap-editor-commands.c
      	* app/gui/gradient-editor-commands.c
      	* app/gui/palette-editor-commands.c
      	* app/widgets/gimptoolbox-color-area.c: added session management for
      	the color notebooks created here.
    • Michael Natterer's avatar
      call vectors_selection_to_vectors() instead of #warning about being · 4dcf2131
      Michael Natterer authored
      2003-05-16  Michael Natterer  <mitch@gimp.org>
      	* app/gui/vectors-commands.c (vectors_sel_to_vectors_cmd_callback):
      	call vectors_selection_to_vectors() instead of #warning about
      	being unimplemented.
  27. 15 May, 2003 1 commit
    • Michael Natterer's avatar
      added new function vectors_selection_to_vectors() which invokes the · 984eef25
      Michael Natterer authored
      2003-05-15  Michael Natterer  <mitch@gimp.org>
      	* app/gui/vectors-commands.[ch]: added new function
      	vectors_selection_to_vectors() which invokes the sel2path Plug-In.
      	* app/gui/dialogs-constructors.c: make the new function known to
      	* app/widgets/gimpvectorstreeview.[ch]: Added a "Selection to Path"
      	button anc call the new function.
  28. 09 May, 2003 1 commit
    • Michael Natterer's avatar
      added "gboolean push_undo" to GimpItem::translate() and don't push and · 45736814
      Michael Natterer authored
      2003-05-09  Michael Natterer  <mitch@gimp.org>
      	* app/core/gimpitem.[ch]: added "gboolean push_undo" to
      	GimpItem::translate() and don't push and undo in
      	* app/core/gimpchannel.[ch]: removed public function
      	gimp_channel_translate() and implement GimpItem::translate().
      	* app/core/gimpimage-mask.c
      	* app/core/gimplayer.c: changed accordingly.
      	* app/vectors/gimpvectors.c: actually translate the vectors
      	in translate().
      	* app/gui/channels-commands.c (channels_new_channel_query): removed
      	useless call to gimp_channel_translate().
      	* app/tools/gimpeditselectiontool.c
      	* tools/pdbgen/pdb/layer.pdb: when translating a linked layer,
      	also translate all linked channels and vectors. Cleanup.
      	Note that the "linked" behaviour has changed: before this change,
      	moving a layer moved all linked layers unconditionally. Now,
      	linked layers/channels/vectors are moved *only* if the moved layer
      	is also linked (the linked items behave as a group now and moving
      	something not in the group does not affect the group).
      	* app/pdb/layer_cmds.c: regenerated.
  29. 08 May, 2003 3 commits
    • Michael Natterer's avatar
      added gimp_item_translate() and virtual function GimpItem::translate(). · 129c78d2
      Michael Natterer authored
      2003-05-08  Michael Natterer  <mitch@gimp.org>
      	* app/core/gimpitem.[ch]: added gimp_item_translate() and
      	virtual function GimpItem::translate().
      	* app/core/gimplayer.[ch]: removed public function
      	gimp_layer_translate() and implement GimpItem::translate()
      	* app/core/core-enums.[ch]
      	* app/core/gimpimage-undo-push.[ch]: changed layer_displace undo
      	types and functions to be item_displace ones.
      	* app/core/gimpimage-crop.c
      	* app/core/gimpimage-resize.c
      	* app/display/gimpdisplayshell-dnd.c
      	* app/gui/layers-commands.c
      	* app/tools/gimpeditselectiontool.c
      	* app/widgets/gimptoolbox.c
      	* tools/pdbgen/pdb/layer.pdb: changed accordingly.
      	* app/pdb/layer_cmds.c: regenerated.
    • Michael Natterer's avatar
      removed the remaining layer scale API. · ab0ac847
      Michael Natterer authored
      2003-05-08  Michael Natterer  <mitch@gimp.org>
      	* app/core/gimplayer.[ch]: removed the remaining layer scale API.
      	* app/core/gimpitem.[ch]: added the same functions here.
      	* app/core/gimpimage-scale.c
      	* app/gui/layers-commands.c
      	* tools/pdbgen/pdb/layer.pdb: changed accordingly.
      	* app/pdb/layer_cmds.c: regenerated.
    • Michael Natterer's avatar
      removed gimp_drawable_offsets(). · c1ab39a5
      Michael Natterer authored
      2003-05-08  Michael Natterer  <mitch@gimp.org>
      	* app/core/gimpdrawable.[ch]: removed gimp_drawable_offsets().
      	* app/core/gimpitem.[ch]: added gimp_item_offsets().
      	* app/core/gimpdrawable-blend.c
      	* app/core/gimpdrawable-bucket-fill.c
      	* app/core/gimpdrawable-histogram.c
      	* app/core/gimpedit.c
      	* app/core/gimpimage-convert.c
      	* app/core/gimpimage-crop.c
      	* app/core/gimpimage-mask-select.c
      	* app/core/gimpimage-mask.c
      	* app/core/gimpimage-merge.c
      	* app/core/gimpimage-pick-color.c
      	* app/core/gimpimage-preview.c
      	* app/core/gimpimage-projection.c
      	* app/core/gimpimage-undo-push.c
      	* app/core/gimpimage.c
      	* app/core/gimplayer-floating-sel.c
      	* app/core/gimplayer.c
      	* app/display/gimpdisplay.c
      	* app/display/gimpdisplayshell-transform.c
      	* app/display/gimpdisplayshell.c
      	* app/gui/channels-commands.c
      	* app/gui/layers-commands.c
      	* app/paint/gimppaintcore.c
      	* app/tools/gimpbezierselecttool.c
      	* app/tools/gimpblendtool.c
      	* app/tools/gimpbucketfilltool.c
      	* app/tools/gimpbycolorselecttool.c
      	* app/tools/gimpclonetool.c
      	* app/tools/gimpcolorpickertool.c
      	* app/tools/gimpcroptool.c
      	* app/tools/gimpcurvestool.c
      	* app/tools/gimpeditselectiontool.c
      	* app/tools/gimpfliptool.c
      	* app/tools/gimpfuzzyselecttool.c
      	* app/tools/gimpinktool.c
      	* app/tools/gimplevelstool.c
      	* app/tools/gimppainttool.c
      	* app/tools/gimprectselecttool.c
      	* app/tools/gimptransformtool.c
      	* app/widgets/gimpselectioneditor.c
      	* app/widgets/gimptoolbox.c
      	* tools/pdbgen/pdb/color.pdb
      	* tools/pdbgen/pdb/drawable.pdb: changed accordingly.
      	* app/pdb/color_cmds.c
      	* app/pdb/drawable_cmds.c: regenerated.