Commit graph

21 commits

Author SHA1 Message Date
GMT 1999 Andy Thomas 006d3e140e app/lc_dialog.c app/nav_window.c app/undo_history.c
Tue Nov  9 21:15:26 GMT 1999 Andy Thomas <alt@gimp.org>

	* app/lc_dialog.c
	* app/nav_window.c
	* app/undo_history.c

	Fixed some rounding errors in the preview images.
1999-11-09 21:25:03 +00:00
Sven Neumann 558271ff3b when moving layers/masks freeze the undo after the first move to avoid
* app/edit_selection.c: when moving layers/masks freeze the undo
        after the first move to avoid that each and every small movements
        puts an undo on the stack. Significantly speeds up layer moves
        and especially the undo of a layer move.

        * app/gdisplay.h: correct rounding errors

        * app/gimpimage.c: correctly display floating selections in the
        composite_preview instead of ignoring them

        * app/channels_dialog.c
        * app/layers_dialog.c
        * app/lc_dialog.c: s/gtk_widget_draw/gtk_widget_queue_draw/

--Sven
1999-11-05 14:39:04 +00:00
Michael Natterer 0302ed0a10 app/brush_select.[ch] app/gradient.c app/gradient_select.[ch]
1999-11-03  Michael Natterer  <mitch@gimp.org>

	* app/brush_select.[ch]
	* app/gradient.c
	* app/gradient_select.[ch]
	* app/interface.[ch]
	* app/palette.c
	* app/pattern_select.[ch]: allow dragging a brush/pattern/... from
	the selections with mouse2 without changing the active element in
	the dialog.

	* app/channels_dialog.c
	* app/color_area.c
	* app/color_panel.c
	* app/color_select.c
	* app/colormap_dialog.i.c
	* app/devices.c
	* app/gimpcontextpreview.[ch]
	* app/gimphelp.[ch]
	* app/gimpui.[ch]
	* app/indicator_area.c
	* app/interface.[ch]
	* app/layers_dialog.c
	* app/lc_dialog.c
	* app/ops_buttons.[ch]
	* app/paths_dialog.c
	* app/preferences_dialog.c
	* app/tools.[ch]: wrapped gtk_tooltips_set_tip() with
	gimp_help_set_help_data() and moved it to gimphelp.[ch].

	This should (hopefully) be the final state of the help system. The
	New function allows a "private tip" to be set without a visible
	tooltip. This way the tooltips inspector (shift+F1) can search for
	help data in the parent containers of the clicked widget. E.g. the
	ops buttons in the layers dialog have private tips like
	"#new_layer" which gets composed with the help data of the layers
	dialog notebook page resulting in a complete help path.

	Allow mouse2 for all dnd operations. Mouse1 still works like before.
1999-11-03 09:58:46 +00:00
GMT 1999 Andy Thomas 67bc1a6a0d app/undo.h app/undo.c app/undo_history.c pixmaps/question.xpm
Tue Nov  2 22:50:31 GMT 1999 Andy Thomas <alt@gimp.org>

	* app/undo.h
	* app/undo.c
	* app/undo_history.c
	* pixmaps/question.xpm

	Fixed undo history so it shows a dummy image if the preview
	image has not already been generated. The actual image
	could probably do with an artists hand ;-)
	Also mask operations are shown as such in the previews.

	* app/lc_dialog.c

	Fixed rounding error in preview when width << height.

	* plug-ins/common/jpeg.c

	Always freeze the undo stack for any of the image export types.
	Anyone know why this was not the case to start with?
1999-11-02 23:05:55 +00:00
Michael Natterer 12366a9a7c removed the GimpImage "destroy" callback because we already get notified
1999-10-30  Michael Natterer  <mitch@gimp.org>

	* app/lc_dialog.c: removed the GimpImage "destroy" callback
	because we already get notified of this event by connecting to the
	image context's "remove" signal.
1999-10-30 13:17:31 +00:00
Michael Natterer 8d371c1961 added a private tooltip to the ops_buttons structure. Removed
1999-10-30  Michael Natterer  <mitch@gimp.org>

	* app/ops_buttons.[ch]: added a private tooltip to the
	ops_buttons structure. Removed ops_buttons_set_insensitive().

	* app/channels_dialog.c
	* app/layers_dialog.c
	* app/paths_dialog.c
	* app/lc_dialog.c: let the ops button's private tips point at the
	already existing help pages. Minor fixes.
1999-10-30 13:01:15 +00:00
BST 1999 Andy Thomas dcf082b6cc app/lc_dialog.c app/selection.c app/color_area.c app/paths_dialog.c
Wed Oct 27 20:51:10 BST 1999 Andy Thomas <alt@gimp.org>

	* app/lc_dialog.c
	* app/selection.c
	* app/color_area.c
	* app/paths_dialog.c
	* tools/pdbgen/pdb/gimage.pdb
	* app/gimage_cmds.c

	General memory leak cleanups.
1999-10-27 20:09:46 +00:00
Michael Natterer 5a01821b1f EEEEEEEEEEK!!! 1999-10-04 08:40:33 +00:00
Michael Natterer a11f33345d The GIMP Help System part II: press "F1" while browsing a menu to show the
1999-10-03  Michael Natterer  <mitch@gimp.org>

	The GIMP Help System part II: press "F1" while browsing a menu
	to show the help page for the menu entry you're currently over
	with the mouse.

	* app/color_notebook.c: all color selectors have to register with
	a help page now.

	* app/color_select.[ch]: register with a help string. Removed
	the dialog part of the files because it's use was deprecated
	anyway (use color notebooks instead).

	* app/colormap_dialog.i.c
	* app/colormap_dialog.p.h
	* app/palette.c
	* app/palette_select.c: use a color notebook instead of a color
	selector.

	* app/gimphelp.c
	* app/gimpui.c: minor changes.

	* app/gimprc.c: "use help" defaults to TRUE now.

	* app/lc_dialog.c
	* app/lc_dialogP.h: a special help function which shows the help
	for the currently selected notebook page.

	* app/menus.c: some weird code which catches "key_press_event"
	in all menu shells and pops up the corresp. help page for the
	selected item. Embedded the GtkItemFactoryEntry in a new
	GimpItemFactoryEntry to allow a help path to be stored.
	Will be partially exported and moved to gimphelp.[ch] later to
	catch key_press for plug-in menu items (don't try this now ;-)

	* app/app_procs.c
	* app/brush_edit.c
	* app/brush_select.c
	* app/channel_ops.c
	* app/channels_dialog.c
	* app/commands.c
	* app/convert.c
	* app/devices.c
	* app/file_new_dialog.c
	* app/fileops.c
	* app/gdisplay.c
	* app/gdisplay_color.c
	* app/gdisplay_color_ui.c
	* app/gdisplay_ops.c
	* app/global_edit.c
	* app/gradient.c
	* app/gradient_select.c
	* app/interface.c
	* app/layers_dialog.c
	* app/module_db.c
	* app/paths_dialog.c
	* app/pattern_select.c
	* app/preferences_dialog.c
	* app/qmask.c
	* app/resize.c
	* app/undo_history.c: changed all dialog constructors to point
	to the right place in the new help file structure.

	* configure.in
	* help/*: the basic new help file structure.

	* modules/colorsel_gtk.c
	* modules/colorsel_triangle.c
	* modules/colorsel_water.c: register a help page.

	* plug-ins/helpbrowser/helpbrowser.c: load the help files
	according to the new help file structure.
1999-10-03 13:50:19 +00:00
Michael Natterer 002aa905db app/Makefile.am app/gimphelp.[ch] new files
1999-09-27  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gimphelp.[ch]
	* app/gimpui.[ch]: new files

	* app/interface.[ch]
	* app/preferences_dialog.[ch]

	The GIMP Help System part 1: Press "F1" in any dialog to pop up
	the help page for this dialog.

	Moved the widget constructors from preferences_dialog.[ch] and the
	query boxes from interface.[ch] to gimpui.[ch].

	The dialog constructors take a help_func and a help_data
	parameter and install the "F1" accelerator which emits the new
	"help" signal.

	The "help" signal callback calls help_func(help_data) which finally
	has to call gimp_help() which in turn invokes the help browser.

	Still have to find a proper way to (1) prevent "F1" being assigned
	to some menu item and (2) to catch "F1" while browsing the menu
	trees in order to pop up the help for the selected item.

	* app/menus.c: a <Toolbox>/File/Help... menu item.
	* app/commands.[ch]: a command callback for the "Help..." menu item.

	* app/gimprc.[ch]: new boolean gimprc variable "use_help".

	* app/info_dialog.[ch]: pass a help function and data to the info
	dialog constructor.

	* app/tools.[ch]: store the tools help page names in the tool info
	structure. Export a special tools_help_func() which shows the help
	page for the active tool.

	* app/[all files calling a dialog constructor]: pass the dialog's
	help page to the constructor.

	Most dialogs are now created by gimp_dialog_new() which also sets
	up the action_area and the WM delete event callback, so I removed
	the resp. code from these files.

	Fixed some minor bugs and did some other stuff but didn't change
	any logic except dialog creation.

	* plug-ins/helpbrowser/helpbrowser.c: don't try to call a running
	help browser and don't install any menu path (all done in
	app/gimphelp.[ch] now).
1999-09-27 17:58:10 +00:00
Manish Singh 322627964d (from gimp-narazaki-990909-0)
* app/layers_dialog.c: check for layer validity in
layer_widget_preview_events

* app/lc_dialog.c: remove GIMP_IMAGE() cast from the
menu_preview_update callback like the comment says to

(from gimp-yasuhiro-990907-0)

* app/menus.c
* plug-ins/common/autocrop.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/rotators.c
* plug-ins/common/spheredesigner.c
* plug-ins/common/threshold_alpha.c
* plug-ins/common/zealouscrop.c: i18n markings

-Yosh
1999-09-09 07:09:33 +00:00
Manish Singh 7cb07a90bf add sample_colorize and curve_bend defs
* plug-ins/common/plugin-defs.pl: add sample_colorize and
curve_bend defs

* libgimp/color_selector.h: minor consistency cleanup

* libgimp/gimpchainbutton.[ch]: use new style gtk object helper macros

* libgimp/gimpfileselection.c
* libgimp/gimpmatrix.h: minor cleanup

* libgimp/gimpintl.h: resync with gnome-i18n.h


* libgimp/color_display.h
* app/gimp.sym
* app/gdisplay_color.[ch]
* app/app_procs.c
* app/gdisplay.h
* app/image_render.c: color display transformation code. Still
unfinished, so it's not activated yet.

* app/buildmenu.h: remove unused defines (PULLDOWN, POPUP, OPTION)

* app/colormaps.[ch]
* app/image_render.c: remove vestigal dithering stuff

* app/convolve.h
* app/gimpdrawable.h
* app/gimpimage.h
* app/lut_funcs.h
* app/paint_funcs.h
* app/plug_in.h: enum nick changes from Marc

* app/channel_ops.c
* app/crop.c
* app/gdisplay.c
* app/gimpimage.[ch]
* app/move.c: s/([A-Z]+)_GUIDE/ORIENTATION_$1/

* app/flip_tool.[ch]
* app/shear_tool.[ch]: use ORIENTATION_* constants instead of our own

* app/disp_callbacks.c: remove HORIZONTAL and VERTICAL #defines

* app/general.h: enumified TOKEN_* symbols

* app/lc_dialog.c
* app/paint_funcs.c: remove unused variables

* tools/pdbgen/lib.pl: autogen gimpenums.h (unfinished)

* tools/pdbgen/stddefs.pdb: new std_orientation_enum, remove
layer_mode shortcut since we've skipped it in app/

* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/gimage.pdb
* tools/pdbgen/pdb/guides.pdb
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/tools.pdb: reflect above enum changes, whitespace
cleanups

* tools/pdbgen/enums.pl
* app/brush_select_cmds.c
* app/brushes_cmds.c
* app/color_cmds.c
* app/drawable_cmds.c
* app/gimage_cmds.c
* app/layer_cmds.c
* app/procedural_db_cmds.c
* app/tools_cmds.c: reflect pdb and enum nick changes above

-Yosh
1999-07-28 23:00:08 +00:00
BST 1999 Andy Thomas 3fcea79688 ./app/layer.c.orig ./app/lc_dialog.c.orig ./app/paths_dialog.c.orig
Tue Jul  6 22:16:07 BST 1999 Andy Thomas <alt@gimp.org>

	* ./app/layer.c.orig
	* ./app/lc_dialog.c.orig
	* ./app/paths_dialog.c.orig
	* ./app/pathsP.h.orig
	* ./libgimp/gimpmenu.c.orig
	* ./tools/pdbgen/pdb/paths.pdb.orig
	* ./app/paths_cmds.c
	* ./app/internal_procs.c

	Fixed small LCP menu preview problems. Now works for all
	image types and updated correctly when alpha channel added.

	Additional PDB functions for paths. Fixed some PDB functions
	(gimp_paths_set_points). Now works as advertised.
1999-07-06 21:19:34 +00:00
Michael Natterer 1058f41dab app/airbrush.c app/blend.c app/bucket_fill.c app/clone.c app/convolve.c
1999-07-06  Michael Natterer  <mitschel@cs.tu-berlin.de>

        * app/airbrush.c
        * app/blend.c
        * app/bucket_fill.c
        * app/clone.c
        * app/convolve.c
        * app/dodgeburn.c
        * app/eraser.c
        * app/ink.c
        * app/paintbrush.c
        * app/pencil.c
        * app/smudge.c: get opacity/paint mode from the current context
        (currently always the user context).

        * app/gimage_mask.c: the "stroke" command uses the paintbrush's
        settings if the current context is the user context and we are in
        per-tool paint options mode.

        * app/context_manager.[ch]
        * app/paint_options.h
        * app/preferences_dialog.c
        * app/tool_options.c
        * app/tools.c: moved the global/per-tool paint options switching
        to the context manager. The tool options themselves only contain
        the widgets for them now. This should fix the segfaults happening
        in per-tool mode.
	Removed the disclaimer from the prefs. dlg. as it seems to work
	now. The impl. in the context manager however is still a hack.

        * app/brush_select.c
        * app/brushes_cmds.c
        * tools/pdbgen/pdb/brushes.pdb: same as above.

        * app/lc_dialog.c: minimal code reduction. No functionality changed.
1999-07-06 15:18:25 +00:00
BST 1999 Andy Thomas 9c5f39c191 lc_dialog.c
Fri Jun 25 22:09:04 BST 1999 Andy Thomas <alt@gimp.org>

	* lc_dialog.c

	Fixed problem when preview sizes are changed in L&C&P
	dialog and then the busy cursors stuff tried to change
	the cursor on a dialog that has been removed. (ie
	the LCP dialog should be unregistered when it is destroyed)

	Small previews in LCP dialog image menu do not get created when 		no preview preference is set.
1999-06-25 21:19:58 +00:00
BST 1999 Andy Thomas 2b711ebbda layers_dialog.c lc_dialog.c lc_dialogP.h
Thu Jun 24 22:49:41 BST 1999 Andy Thomas <alt@gimp.org>

	* layers_dialog.c
	* lc_dialog.c
	* lc_dialogP.h

	L&C&P previews are now updated on undo and layer movement
	operations.
1999-06-24 21:54:48 +00:00
BST 1999 Andy Thomas 9b7d21dab5 gimp/app/gimppreviewcache.c gimp/app/gimppreviewcache.h
Wed Jun 23 23:52:54 BST 1999 Andy Thomas <alt@gimp.org>

	* gimp/app/gimppreviewcache.c
	* gimp/app/gimppreviewcache.h
	* gimp/app/drawable_cmds.c
	* gimp/app/gdisplay.c
	* gimp/app/gimpdrawableP.h
	* gimp/app/gimage_cmds.c
	* gimp/app/Makefile.am
	* gimp/app/layers_dialog.c
	* gimp/app/channel.c
	* gimp/app/lc_dialog.c
	* gimp/app/lc_dialog.h
	* gimp/app/lc_dialogP.h
	* gimp/app/layer.c
	* gimp/app/gimpdrawable.c
	* gimp/app/internal_procs.c
	* gimp/libgimp/gimp.h
	* gimp/libgimp/gimpimage.c
	* gimp/libgimp/gimpdrawable.c
	* gimp/libgimp/gimpmenu.c
	* gimp/tools/pdbgen/pdb/drawable.pdb
	* gimp/tools/pdbgen/pdb/gimage.pdb

	Added thumbnail image preview functions.
	Previews are visible on the L&C&P dialogs as well as in the
	drawables/channels/ menus generated for plugins
	(see the bumpmap & Mapobject plugins).

	PDB interface exists to simply extract a thumbnail preview
	of a given size. This is much quicker & more efficient
	than getting the image data tile-by-tile if you only need a small
	image since a "preview cache" has been implemented. This cache also
	reduces the number of times the tiles cached is scanned since smaller
	previews are always generated from large ones if they exists and
	are valid.

	Some possible usages (I don't intend to implement these ideas. Just
	suggestions). More plugins using the thumbnail preview (ie any that
	use multiple images). Indication of "active image" somewhere.....
	Actually almost anywhere a drawable/image name appears.
1999-06-23 23:01:14 +00:00
Michael Natterer a72dbe86b4 connect to the user context's "display_changed" and to the image context's
1999-06-21  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/context_manager.c: connect to the user context's
	"display_changed" and to the image context's "remove" signal to
	avoid dangling references and to set the menu sensitivity on
	display change.

	* app/disp_callbacks.c
	* app/file_new_dialog.c
	* app/fileops.c
	* app/gdisplay.c
	* app/gdisplay_ops.c
	* app/gimpcontext.c
	* app/interface.[ch]: entirely moved the active display stuff to
	the user context:

	- The active display is set by any event in the display shell,
	  by File/New and File/Open.
	- gdisplay_delete() resets the active display to NULL if we
	  deleted the active display.
	- Reduced gdisplay_active() to a single statement returning the
	  context's active display. Should replace it by a macro.
	- gdisplay_flush_whenever() sets the menu sensitivity for the
	  active display.
	- Removed global variable popup_shell since it was only set all
	  the time but never used. I guess it's original job is now done
	  by the context anyway.
	- gdisplay_set_menu_sensitivity() works with gdisp == NULL.
	- There are mysterious Gdk-CRITICALs if both <Image> and one of
	  it's sub-menus are teared-off. Probably a gtk+ bug.

	To do all this stuff at a central place, there needs to be a
	GimpSet of displays (and ideally, GDisplay should be a GtkObject).

	* app/commands.c
	* app/lc_dialog.c: fixed segfaults happening with teared-off menus.
1999-06-20 23:29:34 +00:00
Michael Natterer 142ccb742d app/commands.c app/disp_callbacks.c app/gdisplay.c app/lc_dialog.c applied
1999-06-20  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/commands.c
	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/lc_dialog.c
	* app/menus.c: applied a patch from <Simon.Budig@unix-ag.org>
	which implements tear-off-menus(!!!). Modified it to use the
	GimpContext.
	The sensitivity of the menu entries is not updated after
	executing a command. This leaves the sensitivity in the state
	before the command was executed (which is buggy). Will probably
	have to update the sensitivity from gdisplays_flush().
	Simon called the patch "temporary" but it looks pretty stable to
	me. Please test it :-)

	* app/context_manager.[ch]: minor changes.

	* app/gimpcontext.[ch]: the user context keeps track of the
	current display and image. The image is set automatically from
	gimp_context_set_display().
	Still have to figure out how this should interact with
	gdisplay_active() (the current state is a hack).
	Made the context attributes real GtkObject arguments.
	Pass the changed attributes to the callbacks which connect to
	the <attribute>_changed signals.

	* app/gimpset.[ch]
	* app/gimpsetF.h
	* app/gimpsetP.h: made the gimpset properly derivable by adding
	signal slots to the object class structure. Added copyright
	headers.

	* app/gimpsignal.[ch]: new type gimp_sigtype_double, copyright
	header and my usual indentation fanaticism.
1999-06-20 13:53:15 +00:00
Tomas Ogren 79be4895ec Misc l10n fixes
1999-06-06  Tomas Ogren  <stric@ing.umu.se>

* app/{color_notebook.c,color_select.c,lc_dialog.c,temp_buf.c,tool_options.c,tools.c}:
  Misc l10n fixes
1999-06-06 19:44:36 +00:00
Michael Natterer ac98e8fa81 app/Makefile.am app/lc_dialog.[ch] app/lc_dialogP.h new files
1999-06-06  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/Makefile.am
	* app/lc_dialog.[ch]
	* app/lc_dialogP.h
	* app/paths_dialogP.h: new files

	* app/channels_dialog.[ch]
	* app/layers_dialog.[ch]
	* app/layers_dialogP.h
	* app/paths_dialog.[ch]
	* app/menus.[ch]
	* app/file_new_dialog.c: modified

	- Moved the toplevel L&C dialog code to lc_dialog.[ch]. Only
	  these files need knowledge about how to create/update/...
	  the sub-dialogs, so the corresp. functions are defined in
	  lc_dialogP.h.
	- The popup menus are now created by menus.c. The command
	  callbacks are defined in [layers|channels|paths]_dialog.h.
	- Private functions to be used by "friend files" are defined in
	  [layers|paths]_dialogP.h.
	- Changed the order of the ops_buttons in the paths dialog to
	  match the order in the layers and channels dialogs.
	- The paint mode menu and preview stuff still needs to go out of
	  layers_dialog.[ch].
	- I'm not sure about the keybindings in the layer dialog's "Stack"
	  submenu because the list widget has it's own idea of PageUp/Down.
	- Hopefully fixed the update problem with new images by calling
	  lc_dialog_flush() after creating a new image.

	* app/app_procs.c
	* app/bezier_select.c
	* app/commands.c
	* app/floating_sel.c
	* app/gdisplay.c
	* app/gimage.c
	* app/gimage_mask.c
	* app/paint_core.c
	* app/preferences_dialog.c
	* app/transform_core.c
	* app/undo.c: changed #include's according to the new L&C file
	structure.
1999-06-06 17:26:51 +00:00