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*).
      7c542ea7
  2. 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.
      a7b2c160
  3. 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
      	REPLACE,ADD,SUBTRACT,INTERSECT options:
      
      	* 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
      	here.
      
      	* 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.
      a319c455
  4. 06 Jun, 2003 1 commit
    • 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
      	gtk_label_set_text().
      
      	* 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.
      2c958770
  5. 17 Feb, 2003 1 commit
    • Michael Natterer's avatar
      added "undo_desc" parameters. · fefaa309
      Michael Natterer authored
      2003-02-17  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpimage.[ch] (gimp_image_position_*): added
      	"undo_desc" parameters.
      
      	* app/core/gimpimage-undo-push.c: changed accordingly.
      
      	* app/widgets/gimpitemlistview.[ch]: moved the item stack
      	manipulation function pointers from the instance to the class
      	struct. Added lots of descriptive strings to be used by tooltips
      	and undo steps.
      
      	* app/widgets/gimpchannellistview.c
      	* app/widgets/gimpitemlistitem.c
      	* app/widgets/gimplayerlistview.[ch]
      	* app/widgets/gimpvectorslistview.c
      	* app/gui/dialogs-constructors.c
      	* app/gui/layers-commands.[ch]
      	* app/gui/vectors-commands.c: changed accordingly. Cleanup.
      fefaa309
  6. 13 Jan, 2003 1 commit
    • Michael Natterer's avatar
      app/gui/brushes-menu.[ch] app/gui/buffers-menu.[ch] · 6f29b766
      Michael Natterer authored
      2003-01-13  Michael Natterer  <mitch@gimp.org>
      
      	* app/gui/brushes-menu.[ch]
      	* app/gui/buffers-menu.[ch]
      	* app/gui/channels-menu.[ch]
      	* app/gui/colormap-editor-menu.[ch]
      	* app/gui/dialogs-menu.[ch]
      	* app/gui/documents-menu.[ch]
      	* app/gui/file-open-menu.[ch]
      	* app/gui/file-save-menu.[ch]
      	* app/gui/gradient-editor-menu.[ch]
      	* app/gui/gradients-menu.[ch]
      	* app/gui/image-menu.[ch]
      	* app/gui/images-menu.[ch]
      	* app/gui/layers-menu.[ch]
      	* app/gui/palette-editor-menu.[ch]
      	* app/gui/palettes-menu.[ch]
      	* app/gui/patterns-menu.[ch]
      	* app/gui/qmask-menu.[ch]
      	* app/gui/toolbox-menu.[ch]
      	* app/gui/vectors-menu.[ch]: new files, one per GimpItemFactory,
      	containing the menu entries and their setup and update funcs.
      
      	* app/gui/brushes-commands.[ch]
      	* app/gui/patterns-commands.[ch]: removed because they contained
      	only update funcs.
      
      	* app/gui/Makefile.am: changed accordingly. Split the huge
      	SOURCES list in smaller ones for menus and dialogs.
      
      	* app/gui/menus.[ch]: removed the menu entries and setup funcs.
      	Added MENU_SEPARATOR() and MENU_BRANCH() macros to the header.
      	Made some utility functions public.
      
      	* app/display/gimpdisplayshell.[ch]
      	* app/gui/buffers-commands.[ch]
      	* app/gui/channels-commands.[ch]
      	* app/gui/colormap-editor-commands.[ch]
      	* app/gui/dialogs-commands.[ch]
      	* app/gui/documents-commands.[ch]
      	* app/gui/gradient-editor-commands.[ch]
      	* app/gui/gradients-commands.[ch]
      	* app/gui/images-commands.[ch]
      	* app/gui/layers-commands.[ch]
      	* app/gui/palette-editor-commands.[ch]
      	* app/gui/palettes-commands.[ch]
      	* app/gui/qmask-commands.[ch]
      	* app/gui/vectors-commands.[ch]: removed the update funcs.
      
      	* app/gui/plug-in-menus.[ch]: renamed plug_in_set_menu_sensitivity()
      	to plug_in_menus_update(). Cleanup.
      
      	* app/gui/paths-dialog.[ch]: added the <Paths> entries here
      	so they will go away together with these files.
      
      	* app/gui/dialogs-constructors.c
      	* app/gui/drawable-commands.c: removed useless #includes.
      6f29b766
  7. 02 Sep, 2002 1 commit
    • Michael Natterer's avatar
      DND cleanup part 1: · c5d4b702
      Michael Natterer authored
      2002-09-02  Michael Natterer  <mitch@gimp.org>
      
      	DND cleanup part 1:
      
      	* app/widgets/gimpdnd.[ch]: changed all gimp_dnd_*_dest_set() and
      	_unset() functions to _dest_add() and _dest_remove(). Switch from
      	using static arrays of GtkTargetEntries to dynamic GtkTargetLists.
      	The _add() and _remove() functions configure the drag dest
      	automatically if not already done, so there is no need to call
      	gtk_drag_dest_set() on the widget any more. Drag source cleanup
      	will follow...
      
      	Renamed silly function names gimp_gtk_* to gimp_dnd_*
      
      	* app/display/gimpdisplayshell.c
      	* app/tools/gimpblendtool.c
      	* app/widgets/gimpcolormapeditor.c
      	* app/widgets/gimpcontainerview.c
      	* app/widgets/gimpgradienteditor.c
      	* app/widgets/gimplistitem.c
      	* app/widgets/gimpmenuitem.c
      	* app/widgets/gimppreview.c
      	* app/widgets/gimppaletteeditor.c
      	* app/widgets/gimpselectioneditor.c
      	* app/widgets/gimptoolbox-color-area.c
      	* app/widgets/gimptoolbox-indicator-area.c
      	* app/widgets/gimptoolbox.c
      	* app/gui/about-dialog.c
      	* app/gui/color-select.c
      	* app/gui/device-status-dialog.c
      	* app/gui/tool-options-dialog.c: changed accordingly. Removed
      	all calls to gtk_drag_dest_set() and their GtkTargetEntry tables.
      
      	* app/widgets/gimpchannellistitem.c: enabled some commented out
      	dnd code (which will not work since dnd needs more love...)
      
      	* app/widgets/gimpitemlistview.[ch]: added a third
      	"gboolean interactive" parameter to GimpItemNewFunc.
      
      	* app/gui/channels-commands.[ch]
      	* app/gui/layers-commands.[ch]
      	* app/gui/vectors-commands.[ch]: if the new_item_func is called
      	with "interactive == FALSE", don't pop up a dialog but silently
      	create a new item of the image's size.
      
      	* app/widgets/gimpdrawablelistview.c: use the new feature to allow
      	color and pattern drops to the "New" button, which creates a new
      	layer/channel filled with the color/pattern.
      	(special feature for drc ;-)
      
      	* app/widgets/gimppaletteeditor.c: fixed event handling so we see
      	the context menu again. Also, don't redraw on "expose", since
      	GtkPreview does that for us.
      c5d4b702
  8. 12 Apr, 2002 1 commit
    • Michael Natterer's avatar
      reordered some lines, no logic changed. · 1a259d68
      Michael Natterer authored
      2002-04-12  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpimage-crop.c: reordered some lines, no logic
      	changed.
      
      	* app/core/gimplayer.[ch]: made gimp_layer_pick_correlate()
      	return a gboolean, not gint.
      
      	* app/display/gimpdisplayshell.c
      	* app/gui/layers-commands.[ch]
      	* app/gui/menus.c: added "<Image>/Layers/Crop Layer" which resizes
      	the active layer to the current selection's bounds, just as
      	"<Image>/Image/Crop Image"
      1a259d68
  9. 11 Mar, 2002 1 commit
    • Michael Natterer's avatar
      added a GimpAnchorItemFunc and use it if it's set. · 3e695dd0
      Michael Natterer authored
      2002-03-11  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimplayerlistview.[ch]: added a GimpAnchorItemFunc
      	and use it if it's set.
      
      	* app/widgets/gimpitemlistview.c: removed the floating selection
      	special case hack from the remove_item callback.
      
      	* app/gui/layers-commands.[ch]: added layers_remove_layer() and
      	layers_anchor_layer(). Fixed sensitive setting of the "Anchor"
      	menu item.
      
      	* app/gui/dialogs-constructors.c: use the new functions when
      	constructing the layers dialog. Makes deleting and anchoring
      	floating selections from the layers dialog work without hacking
      	or code duplication.
      
      	* app/widgets/gimpdialogfactory.c: added comments about dialog
      	destruction in dispose().
      3e695dd0
  10. 26 Feb, 2002 1 commit
    • Michael Natterer's avatar
      make absolute paths out of relative ones passed on the commandline so the · d9c23318
      Michael Natterer authored
      2002-02-26  Michael Natterer  <mitch@gimp.org>
      
      	* app/app_procs.c: make absolute paths out of relative ones
      	passed on the commandline so the GimpImagefiles can generate
      	previews.
      
      	* app/gui/Makefile.am
      	* app/gui/drawable-commands.[ch]: new files implementing menu
      	callbacks which work not just on layers.
      
      	* app/gui/layers-commands.[ch]: removed them here. Cleanup.
      
      	* app/gui/menus.c: changed accordingly.
      
      	* app/gui/brushes-commands.c
      	* app/gui/channels-commands.c
      	* app/gui/vectors-commands.c: cleanup. Added macros to get
      	rid of code duplication.
      d9c23318
  11. 13 Feb, 2002 1 commit
    • Michael Natterer's avatar
      moved "Merge Layers" and "Flatten Image" from "Layer/" to "Image/", · 1e9c264a
      Michael Natterer authored
      2002-02-13  Michael Natterer  <mitch@gimp.org>
      
      	* app/gui/menus.c: moved "Merge Layers" and "Flatten Image" from
      	"Layer/" to "Image/", removed them from the "<Layers>" menu
      	entirely, moved "Merge Down" after "Anchor Layer" in both menus.
      
      	* app/gui/image-commands.[ch]: moved callbacks from here...
      
      	* app/gui/layers-commands.[ch]: ...to here.
      
      	* app/gui/layers-commands.[ch]
      	* app/display/gimpdisplayshell.c: changed menu_update functions
      	accordingly.
      1e9c264a
  12. 17 Dec, 2001 1 commit
    • Michael Natterer's avatar
      changed the GimpNewDrawableFunc typedef to take an additional · d15b07b4
      Michael Natterer authored
      2001-12-17  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpdrawablelistview.[ch]: changed
      	the GimpNewDrawableFunc typedef to take an additional
      	"GimpDrawable *template" paramater, added the "Drop to New"
      	feature again by passing the dropped drawable to
      	view->new_drawable_func().
      
      	* app/gui/channels-commands.[ch]: channels_new_channel_query:
      	* app/gui/layers-commands.[ch]: layers_new_layer_query:
      
      	Added the "template" parameter because they are used as the
      	views' new_drawable_func(), create layers/channels with
      	the template's properties if a template is passed.
      d15b07b4
  13. 03 Dec, 2001 1 commit
    • Michael Natterer's avatar
      use the passed Gimp pointer instead of using "the_gimp". · 403a38e2
      Michael Natterer authored
      2001-12-03  Michael Natterer  <mitch@gimp.org>
      
      	* app/devices.c: use the passed Gimp pointer instead of
      	using "the_gimp".
      
      	* app/base/temp-buf.c: indentation.
      
      	* app/gui/preferences-dialog.c: prefs_toggle_callback(): fixed
      	segfault when trying to find the prefs_dlg widget from a menu
      	item callback (Fixes #65757).
      
      	* app/gui/offset-dialog.[ch]: fixed public prototype, include
      	the header in the .c file.
      
      	* app/gui/menus.c: some menu cleanup: moved all functions which
      	operate on the active layer/drawable to <Image>/Layer. Renamed
      	"Layers" to "Layer".
      
      	* app/display/gimpdisplayshell.c: changed menu update function
      	accordingly.
      
      	* app/gui/image-commands.[ch]
      	* app/gui/layers-commands.[ch]: moved stuff from image-commands.*
      	to layers-commads.*-
      
      	* app/tools/gimpblendtool.c
      	* app/tools/gimpbrightnesscontrasttool.c
      	* app/tools/gimpcolorbalancetool.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
      	* app/tools/paint_options.c
      	* app/tools/transform_options.c
      	* plug-ins/common/align_layers.c
      	* plug-ins/common/autocrop.c
      	* plug-ins/common/autostretch_hsv.c
      	* plug-ins/common/c_astretch.c
      	* plug-ins/common/color_enhance.c
      	* plug-ins/common/guillotine.c
      	* plug-ins/common/normalize.c
      	* plug-ins/common/rotate.c
      	* plug-ins/common/threshold_alpha.c
      	* plug-ins/common/zealouscrop.c
      	* plug-ins/rcm/rcm.c
      	* plug-ins/fp/fp.c: register under <Image>/Layer, some cosmetic
      	fixes.
      403a38e2
  14. 30 Nov, 2001 1 commit
    • Michael Natterer's avatar
      app/core/Makefile.am new files: the QMask stuff stripped from GUI code. · bba84137
      Michael Natterer authored
      2001-11-30  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/Makefile.am
      	* app/core/gimpimage-qmask.[ch]: new files: the QMask stuff
      	stripped from GUI code. Added gimp_image_qmask_invert().
      
      	* app/core/gimpimage.[ch]: removed the QMask functions.
      
      	* app/display/Makefile.am
      	* app/display/gimpdisplayshell-qmask.[ch]: removed.
      
      	* app/gui/Makefile.am
      	* app/gui/qmask-commands.[ch]: new files for the new QMask item
      	factory callbacks and the qmask query dialog.
      
      	* app/gui/menus.c: added a context menu for the QMask button.
      
      	* app/display/gimpdisplayshell.c
      	* app/display/gimpdisplayshell-handlers.c: don't include the qmask
      	stuff.
      
      	* app/display/gimpdisplayshell-callbacks.[ch]: Moved the 2 qmask
      	callbacks here. Don't popup the dialog on double_click. Show
      	the contect menu on right-click.
      
      	* app/display/gimpdisplayshell-callbacks.[ch]:
      	gimp_display_shell_canvas_events(): removed the hack of
      	conntecting "key_press_event" to gtk_true() while a tool is
      	active. Instead, check for (event & GDK_BUTTON1_MASK) in the
      	key_press and key_release handlers and stop signal emission. Save
      	the modifier state on "button_press" and restore it after
      	"button_release".
      
      	Changed the way context menus are updated/shown:
      
      	- removed GimpContainerContextFunc.
      	- pass around item factory identifiers (e.g. "<Brushes>")
      	- added voodoo to update the menus before showing them.
      
      	* app/widgets/gimpitemfactory.[ch]: gimp_item_factory_new(): take
      	a GimpItemFactoryUpdateFunc parameter, attach it as data to the
      	factory and use it to update the menu in
      	gimp_item_factory_popup_with_date().
      
      	* app/widgets/gimpwidgets-utils.[ch]: removed
      	gimp_item_factory_popup_with_data() here.
      
      	* app/widgets/gimpbrushfactoryview.[ch]
      	* app/widgets/gimpbufferview.[ch]
      	* app/widgets/gimpcontainereditor.[ch]
      	* app/widgets/gimpdatafactoryview.[ch]
      	* app/widgets/gimpdocumentview.[ch]
      	* app/widgets/gimpdrawablelistview.[ch]: use item_factory
      	identifier strings all over the place.
      
      	* app/widgets/gimpdockbook.c: removed the menu update code, it's
      	now in gui/dialogs-commands.c.
      
      	* app/gui/brushes-commands.[ch]
      	* app/gui/buffers-commands.[c]
      	* app/gui/channels-commands.[ch]
      	* app/gui/dialogs-commands.[ch]
      	* app/gui/documents-commands.[ch]
      	* app/gui/gradient-editor-commands.[ch]
      	* app/gui/gradients-commands.[ch]
      	* app/gui/layers-commands.[ch]
      	* app/gui/palettes-commands.[ch]
      	* app/gui/patterns-commands.[ch]: removed all show_context_menu()
      	functions and made the update functions public. Changed all
      	update functions to use the gimp_item_factory_set_foo() methods
      	instead of gimp_menu_item_set_foo().
      
      	* app/gui/menus.c: pass the update functions to the
      	gimp_item_factory_new().
      
      	* app/gui/dialogs-constructors.c: pass item factory identifiers to
      	all view constructors.
      
      	* app/gui/gradient-editor.c: show the context menu using the new
      	method.
      
      	* app/gui/toolbox.c: no need to include "dialogs-commands.h".
      bba84137
  15. 29 Apr, 2001 1 commit
    • Michael Natterer's avatar
      added virtual method context_item() which works like select_item() and · 29fc0026
      Michael Natterer authored
      2001-04-29  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpcontainerview.[ch]: added virtual method
      	context_item() which works like select_item() and activate_item()
      	and a function to trigger the signal from subclasses (marked as
      	"protected").
      
      	* app/widgets/gimpcontainerlistview.c: invoke context_item() on
      	right click.
      
      	* app/widgets/gimpdrawablelistview.[ch]: implement context_item()
      	and show a context menu. The functions to show the menu as well as
      	functions to create a new drawable and to edit it's attriutes must
      	be passed to the constructor now.
      
      	* app/gui/channels-commands.[ch]
      	* app/gui/layers-commands.[ch]: added functions which show the
      	layers and channels context menus. No accelerators supported yet.
      	Auto-destroy all dialogs when their drawable is removed from the
      	image.
      
      	* app/gui/dialogs-constructors.c: changed the calls to
      	gimp_drawable_list_view_new() accordingly.
      
      	* app/gui/menus.c
      	* app/gui/test-commands.[ch]: removed some test dialogs.
      29fc0026
  16. 20 Apr, 2001 1 commit
    • Michael Natterer's avatar
      app/Makefile.am removed. · c1e2f4e2
      Michael Natterer authored
      2001-04-20  Michael Natterer  <mitch@gimp.org>
      
      	* app/Makefile.am
      	* app/layers_dialogP.h: removed.
      
      	* app/gimpui.[ch]: new function gimp_menu_position().
      
      	* app/disp_callbacks.c
      	* app/interface.c
      	* app/gui/layers-dialog.c: popup the image and layers menu with
      	gtk_item_factory_popup_with_data() instead of gtk_menu_popup()
      	and pass the GimpImage we're operating on as data.
      
      	For accelerators, which are invoked without context, we catch key
      	press events and attach the context to the GtkItemFactory.
      
      	* app/gui/Makefile.am
      	* app/gui/layers-commands.[ch]: common layer callbacks (instead of
      	separate ones in commands.c and layers-dialog.c
      
      	* app/gui/commands.[ch]
      	* app/gui/layers-dialog.[ch]: removed the menu callbacks here.
      
      	* app/gdisplay.h
      	* app/lc_dialog.c
      	* app/gui/channels-dialog.c
      	* app/gui/layer-select.c
      	* app/gui/menus.c
      	* po/POTFILES.in: changed accordingly.
      c1e2f4e2