Commit Graph

26 Commits

Author SHA1 Message Date
Michael Natterer 9c6b0b0c33 These changes enable help support for 3rd party plug-ins which install
2000-05-21  Michael Natterer  <mitch@gimp.org>

	These changes enable help support for 3rd party plug-ins which
	install their help files outside GIMP's main help dir.

	Instead of calling gimp_help(), gimp_plugin_help_func() etc.,
	all help callbacks now have to call gimp_standard_help_func()
	which has different implementations in the app and in libgimp.

	There is a new function gimp_plugin_help_register() which can
	be called during plug-in query. plug_in.c keeps a list of
	executable_name/help_path pairs. Plug-ins have to pass their
	exec. name to gimp_help() which uses the list to find the plug-in's
	help directory.

	* app/gimphelp.[ch]: gimp_help() now takes a help_path parameter.
	help_path == NULL means the standard help directory. Various
	changes to pass the help_path to the help browser.

	* app/gimprc.c: save the plug-in's help_path in the pluginrc file.

	* app/menus.c: ugly hack to enable help_paths in the "F1" callback.

	* app/plug_in.[ch]: many help_path related changes. Use g_basename()
	instead of strrchr(str,G_DIR_SEPARATOR), cosmetic cleanups.

	* app/internal_procs.c
	* app/gimphelp_cmds.c
	* tools/pdbgen/pdb/gimphelp.pdb: new procedure
	gimp_plugin_help_register(). gimp_help() takes a second parameter
	which is the executable name (not the help_path).

	* app/color_notebook.c
	* app/commands.c
	* app/lc_dialog.c
	* app/preferences_dialog.c
	* app/tools.c: call gimp_standard_help_func() instead of gimp_help().

	* libgimp/gimp.c: new function gimp_get_progname() which returns
	the full path of the plug-in's executable.

	* libgimp/gimp.h: export the new function,
	removed gimp_plugin_help_func(), gimp_help() takes the executable
	name as second parameter.

	* libgimp/gimpcompat.h: added gimp_plugin_help_func().

	* libgimp/gimphelp.c: a wrapper for gimp_plugin_help_register(),
	changed the calls to gimp_help.

	* libgimp/gimphelpui.[ch]: call gimp_standard_help_func() instead
	of gimp_help().

	* plug-ins/helpbrowser/helpbrowser.c: now called with an additional
	help_path parameter. Various changes to enable
	help_path != gimp_standard_help_path.

	Unrelated stuff:

	* app/batch.h: added missing GPL header.

	* app/gimpunit.c: had a LGPL header, merged some fprintf's into
	one call.

	* app/procedural_db.[ch]: cosmetic: g* types, s/g_malloc/g_new/,
	prototypes, indentation.

	* app/resize.c: use less packing widgets. didn't find the "offset"
	redraw bug :(
2000-05-21 17:41:02 +00:00
Michael Natterer 86e4b1ef65 Another try to get the signal/dead child recovery stuff right.
2000-05-10  Michael Natterer  <mitch@gimp.org>

	Another try to get the signal/dead child recovery stuff right.

	Could the brave signal crew (TM) (Austin, Garry, Raphael, Tim)
	please do bad tests to the new code? I removed all strange
	constants (SA_NODEFER etc.) and used only glib and POSIX stuff.

	* app/main.c
	* libgimp/gimp.c:
	- Call gimp_signal_private() with no flags to enforce a proper
	  sigaction() behaviour (block signals while handler is active).
	- Removed the reentrancy guards from the handlers.
	- Renamed the handlers.
	- Ignore SIGPIPE in the app and in plugins.
	- Re-introduced the SIGCHLD handler because it should work
	  now. Also added a SIGCHLD handler to libgimp/gimp.c.

	* app/errors.c
	* libgimp/gimp.c: in the signal handler, unblock all signals
	with sigprocmask() before calling g_on_error_query() because
	gdb otherwise inherits the blocked signals and does nothing.
	Wrapped the statements with "if (TRUE) { }" blocks so it's
	easy to make the stack trace a command line option.

	* app/plug_in.c
	* libgimp/gimp.c: listen for G_IO_ERR and G_IO_HUP on the read
	channels. In the app, pop up an error message and clean up the
	plugin. In plugins, clean up and exit.

	* libgimp/gimpwire.c: removed the "plug-in chrashed?" message
	and print the program's name with all error messages.

	* plug-ins/helpbrowser/helpbrowser.c: typo.
2000-05-10 21:21:23 +00:00
Michael Natterer ef751a454d gimprc.in replaced "color-cube" by "min-colors".
2000-04-30  Michael Natterer  <mitch@gimp.org>

	* gimprc.in
	* app/gimprc.[ch]: replaced "color-cube" by "min-colors".

	* app/app_procs.c: read unitrc/gimprc before displaying the splash.

	* app/colormaps.c: set min_colors and install_cmap before
	initializing GdkRGB.

	* app/gimprc.[ch]
	* app/gimpunit.c: don't call the splash's progress_update function.

	* app/plug_in.c: pass min_colors instead of color_cube to plugins.

	* app/preferences_dialog.c: widget for min_colors.

	* libgimp/gimp.[ch]: s/color_cube/min_colors/ but left
	gimp_color_cube() there for source level compatibility.

	* libgimp/gimpprotocol.[ch]: changed the GPConfig message
	accordinly and increased the gimp protocol version number because
	the change breaks binary compatibility. Also actually pass the
	use_xshm variable over the wire (was only in the GPConfig struct
	before).

	Was it the right thing to do to increase the version number??

	* libgimp/gimpui.c (gimp_ui_init): use the same code as the app
	for initializing GdkRGB. Never explicitly activate Gdk's SHM
	usage (only switch it off).

	* app/main.c
	* libgimp/gimp.c: reverted the handling of all signals except
	SIGCHLD back to plain old signal() because those signals are
	fatal anyway and sigaction() as used by gimp_signal_*() made
	debugging (stacktrace) impossible.

	* plug-ins/AlienMap/AlienMap.c
	* plug-ins/AlienMap2/AlienMap2.c
	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/bmp/bmp.c
	* plug-ins/borderaverage/borderaverage.c
	* plug-ins/dbbrowser/dbbrowser.c
	* plug-ins/faxg3/faxg3.c
	* plug-ins/fits/fits.c
	* plug-ins/flame/flame.c
	* plug-ins/fp/fp.c
	* plug-ins/fp/fp_gtk.c
	* plug-ins/gdyntext/Makefile.am
	* plug-ins/gdyntext/gdyntext_ui.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c
	* plug-ins/gfli/gfli.c
	* plug-ins/gimpressionist/gimpressionist.c
	* plug-ins/helpbrowser/helpbrowser.c
	* plug-ins/ifscompose/ifscompose.c
	* plug-ins/imagemap/Makefile.am
	* plug-ins/imagemap/imap_main.c
	* plug-ins/maze/maze_face.c
	* plug-ins/mosaic/mosaic.c
	* plug-ins/pagecurl/pagecurl.c
	* plug-ins/print/print.c
	* plug-ins/rcm/rcm_dialog.c
	* plug-ins/script-fu/script-fu-console.c
	* plug-ins/script-fu/script-fu-scripts.c
	* plug-ins/script-fu/script-fu-server.c
	* plug-ins/sel2path/Makefile.am
	* plug-ins/sel2path/sel2path.c
	* plug-ins/sgi/sgi.c
	* plug-ins/sinus/sinus.c
	* plug-ins/struc/struc.c
	* plug-ins/webbrowser/webbrowser.c
	* plug-ins/winsnap/winsnap.c
	* plug-ins/xjt/xjt.c: use gimp_ui_init().

	* plug-ins/Lighting/lighting_ui.c
	* plug-ins/MapObject/mapobject_ui.c: only switch Gdk SHM usage off,
	never on. Don't use gimp_ui_init() here because of libgck.
2000-04-30 18:17:55 +00:00
Michael Natterer a645167a3c install gimp's colormap to avoid flickering on 8 bit displays.
2000-04-17  Michael Natterer  <mitch@gimp.org>

	* plug-ins/helpbrowser/helpbrowser.c (open_browser_dialog):
	install gimp's colormap to avoid flickering on 8 bit displays.
2000-04-17 14:34:28 +00:00
Michael Natterer 5d57b99903 gimp_pixmap_new(): set the widget's requisition so it can be properly
2000-02-19  Michael Natterer  <mitch@gimp.org>

	* libgimp/gimppixmap.c: gimp_pixmap_new(): set the widget's
	requisition so it can be properly packed before it's realized.

	* libgimp/gimpwidgets.[ch]: added a "text" parameter to
	gimp_pixmap_button_new().

	* app/undo_history.c: use gimp_pixmap_buttons.

	* app/gradient.c
	* app/nav_window.c
	* app/palette.c
	* libgimp/gimppatheditor.c
	* plug-ins/Lighting/lighting_ui.c
	* plug-ins/MapObject/mapobject_ui.c: changed calls to
	gimp_pixmap_button_new().

	* plug-ins/MapObject/mapobject_main.c: INIT_I18N() was missing in
	query().

	* plug-ins/pagecurl/pagecurl.c: use GimpVector2 functions instead
	of reinventing the wheel.

	* plug-ins/helpbrowser/helpbrowser.c: use gimp_pixmap_buttons.

	* plug-ins/helpbrowser/back.xpm
	* plug-ins/helpbrowser/forward.xpm: cropped.
2000-02-19 14:25:27 +00:00
Sven Neumann 1b15b15820 added .xvpics to cvsignore
--Sven
2000-02-19 13:22:30 +00:00
Manish Singh 1fdcc0deed plug-ins/bmp/Makefile.am plug-ins/fits/Makefile.am
* plug-ins/bmp/Makefile.am
* plug-ins/fits/Makefile.am
* plug-ins/helpbrowser/Makefile.am
* plug-ins/print/Makefile.am
* plug-ins/sgi/Makefile.am: reorder linking for libgimpui comes
before libgimp; seemed to be causing problems despite libtool

-Yosh
2000-02-13 01:55:11 +00:00
Sven Neumann e555273ef8 i18n fixes
--Sven
2000-02-01 01:52:32 +00:00
Marc Lehmann 734d4c42b0 *** empty log message *** 2000-01-31 02:32:30 +00:00
Sven Neumann 13edd85145 i18n fixes
--Sven
2000-01-09 15:51:46 +00:00
Michael Natterer 80bfd97a64 plug-ins/common/Makefile.am plug-ins/common/hot.c plug-ins/common/hrz.c
2000-01-07  Michael Natterer  <mitch@gimp.org>

	* plug-ins/common/Makefile.am
	* plug-ins/common/hot.c
	* plug-ins/common/hrz.c
	* plug-ins/common/illusion.c
	* plug-ins/common/iwarp.c
	* plug-ins/common/jigsaw.c
	* plug-ins/common/jpeg.c
	* plug-ins/common/lic.c
	* plug-ins/common/mail.c
	* plug-ins/common/mapcolor.c
	* plug-ins/common/max_rgb.c
	* plug-ins/common/mblur.c
	* plug-ins/common/newsprint.c
	* plug-ins/common/nlfilt.c
	* plug-ins/common/noisify.c
	* plug-ins/common/nova.c
	* plug-ins/common/oilify.c: some more help-aware plugins.

	* plug-ins/helpbrowser/helpbrowser.c: had the wrong help page
	attached.
2000-01-07 10:39:33 +00:00
Michael Natterer 884f223569 app/[all files using the dialog or action area constructors] added a
2000-01-06  Michael Natterer  <mitch@gimp.org>

	* app/[all files using the dialog or action area constructors]
	* libgimp/gimpdialog.[ch]: added a "slot_object" agrument to the
	constructors' va_args lists to allow the action area buttons to be
	connected wich gtk_signal_connect_object().

	* libgimp/gimphelp.c: show the correct help page for plugins.

	* plug-ins/common/CEL.c
	* plug-ins/common/CML_explorer.c
	* plug-ins/common/Makefile.am
	* plug-ins/common/aa.c
	* plug-ins/common/align_layers.c
	* plug-ins/common/animationplay.c
	* plug-ins/common/apply_lens.c
	* plug-ins/common/blinds.c
	* plug-ins/common/blur.c
	* plug-ins/common/bumpmap.c
	* plug-ins/common/checkerboard.c
	* plug-ins/common/colorify.c
	* plug-ins/common/colortoalpha.c
	* plug-ins/common/compose.c
	* plug-ins/common/convmatrix.c
	* plug-ins/common/csource.c
	* plug-ins/common/cubism.c
	* plug-ins/common/curve_bend.c
	* plug-ins/common/decompose.c
	* plug-ins/common/deinterlace.c
	* plug-ins/common/depthmerge.c
	* plug-ins/common/despeckle.c
	* plug-ins/common/destripe.c
	* plug-ins/common/diffraction.c
	* plug-ins/common/displace.c
	* plug-ins/common/grid.c
	* plug-ins/helpbrowser/Makefile.am
	* plug-ins/helpbrowser/helpbrowser.c: use the dialog constructor
	and enable the "F1" help key.
2000-01-06 16:40:17 +00:00
Michael Natterer cf53fddc16 immediately return from the wheel mouse callback if no vertical scrollbar
1999-12-19  Michael Natterer  <mitch@gimp.org>

	* plug-ins/helpbrowser/helpbrowser.c: immediately return from
	the wheel mouse callback if no vertical scrollbar is visible.
1999-12-19 14:38:53 +00:00
Michael Natterer 19963ce12a app/gimphelp.c plug-ins/helpbrowser/helpbrowser.c
1999-12-17  Michael Natterer  <mitch@gimp.org>

	* app/gimphelp.c
	* plug-ins/helpbrowser/helpbrowser.c

	- Pass the locale to use (currently always "C") to the help
	  browser procedures instead of hardcoding it in the help browser.
	- Wheel mouse support for the help browser.
1999-12-17 17:57:59 +00:00
Sven Neumann 399e35b6c4 i18n stuff
--Sven
1999-11-22 22:38:02 +00:00
Manish Singh 8873e7553a 1.1.10 stuff
-Yosh
1999-10-06 23:48:01 +00:00
Sven Neumann a5727433f9 helpbrowser fixes
--Sven
1999-10-04 12:59:21 +00:00
Manish Singh b3a6662262 auto* stuff for helpbrowser
-Yosh
1999-10-04 02:23:41 +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
Sven Neumann de0379b94f helpbrowser hacking
--Sven
1999-09-29 14:35:04 +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
Asbjørn Pettersen 316601b1ae handle html file opening correct 1999-09-13 14:51:41 +00:00
Michael Natterer 9f92d833f0 Undo/Redo should be sensitive even if there is no layer :-)
1999-07-10  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/gdisplay.c (gdisplay_set_menu_sensitivity): Undo/Redo should
	be sensitive even if there is no layer :-)

	* app/commands.h
	* app/docindex.[ch]
	* app/docindexif.[ch]
	* app/file_new_dialog.[ch]: some #include cleanups.

	* plug-ins/helpbrowser/Makefile.classic: less primitive version.
1999-07-10 11:53:42 +00:00
Sven Neumann 0320cb507e Crop now does AutoShrink -- the algorithm starts with the interactively
1999-06-30  Sven Neumann  <sven@gimp.org>

	* app/crop.c (crop_automatic_callback): Crop now does
	AutoShrink -- the algorithm starts with the interactively
	selected crop area and tries to shrink that instead of
	always starting from the corners.

	* plug-ins/helpbrowser/helpbrowser.c: cosmetic changes

--Sven (using Mitschels account)
1999-06-30 16:19:52 +00:00
Sven Neumann 4cc52e24b0 Michael Natterer <mitschel@cs.tu-berlin.de>
1999-06-28  Sven Neumann  <sven@gimp.org>
	    Michael Natterer  <mitschel@cs.tu-berlin.de>

	* help/Makefile.am
	* help/eek.png
	* plug-ins/helpbrowser/helpbroswer.c: to see what this change
	does, you'll have to compile it :)
1999-06-28 15:58:09 +00:00
Sven Neumann df1088074e Michael Natterer <mitschel@cs.tu-berlin.de>
1999-06-28  Sven Neumann  <sven@gimp.org>
	    Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/plug_in.c: return a PDB_EXECUTION_ERROR if a procedure
	requested by a plugin doesn't exist.

	* plug-ins/helpbrowser/*: The GIMP Help Browser!
	Not yet built by default. You need GtkXmHTML to make it work.
	There is a Makefile.classic for testing it.

	* Makefile.am
	* configure.in
	* help/*: some sample help files. Subdirs are possible, too.
1999-06-28 13:28:37 +00:00