Commit Graph

5532 Commits

Author SHA1 Message Date
Michael Natterer 29e4cf347b Fix bug #141719:
2004-05-04  Michael Natterer  <mitch@gimp.org>

	Fix bug #141719:

	* app/tools/gimpmovetool.c (gimp_move_tool_motion): use RINT()
	instead of ROUND() to round double coords to guide positions.

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): pass RINT()-rounded
	coords to gimp_display_shell_update_cursor() instead of implicitly
	truncating by casting to int.
2004-05-04 13:09:39 +00:00
Michael Natterer eb152e218c removed code duplication by adding utility function
2004-05-04  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpundoeditor.c: removed code duplication by adding
	utility function gimp_undo_editor_update_buttons(), some general
	cleanups.
2004-05-04 12:32:36 +00:00
Michael Natterer a305967570 emit the "undo-freeze" and "undo-thaw" signals only on the first freeze
2004-05-04  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.c (gimp_image_undo_freeze,thaw): emit the
	"undo-freeze" and "undo-thaw" signals only on the first freeze and
	last thaw, not on any of them.

	* app/widgets/gimphelp-ids.h: added GIMP_HELP_EDIT_UNDO_CLEAR.

	* app/widgets/gimpundoeditor.[ch]: added a "Clear Undo History"
	button. Fixes bug #136300.

	Also don't attach to the image's undo stack if the image's undo is
	disabled and set the buttons' sensitivity accordingly. Should fix
	all kinds of unpredictable undo history brokenness.
2004-05-04 12:07:58 +00:00
Michael Natterer c7a7196b56 Treat FG/BG just like all other context properties:
2004-05-04  Michael Natterer  <mitch@gimp.org>

	Treat FG/BG just like all other context properties:

	* app/paint/gimppaintoptions.h: added GIMP_CONTEXT_FOREGROUND_MASK
	and _BACKGROUND_MASK to GIMP_PAINT_OPTIONS_CONTEXT_MASK to specify
	that they are used by GimpPaintOptions (automatically affects all
	paint tools).

	* app/tools/gimpblendtool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpinktool.c: set FOREGROUND_MASK and BACKGROUND_MASK
	manually here.

	* app/tools/tool_manager.c (tool_manager_tool_changed): decide
	about the globality of FG and BG at the same place where we decide
	about the brush's, pattern's etc. globality, but hardcode them to
	global = TRUE instead of looking at GimpConfig.

	Fixes bug #141786.
2004-05-04 11:26:22 +00:00
Sven Neumann b0207bc3d4 moved line style options into a GtkExpander. Changed dialog spacings.
2004-05-04  Sven Neumann  <sven@gimp.org>

	* app/gui/stroke-dialog.c:
	* app/widgets/gimpstrokeeditor.c: moved line style options into a
	GtkExpander. Changed dialog spacings.
2004-05-04 00:15:49 +00:00
Manish Singh e259270313 initialize is_active for qmask-toggle.
2004-05-03  Manish Singh  <yosh@gimp.org>

        * app/actions/qmask-actions.c: initialize is_active for qmask-toggle.

        * app/actions/tools-actions.c: set entry help_id from tool_info,
        since gimp_action_group_add_string_actions expects it to be there
        now.
2004-05-03 22:36:59 +00:00
Sven Neumann ab0d361254 fixed mnemonic 2004-05-03 18:35:10 +00:00
Sven Neumann 885609f61f added a hack that allows to get the label_spacing but no label. Useful
2004-05-03  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpframe.c (gimp_frame_new): added a hack that
	allows to get the label_spacing but no label. Useful when the frame
	is packed into a GtkExpander.

	* app/widgets/gimptemplateeditor.c: pack the "Image Comment" frame
	into a GtkExpander to reduce clutter and dialog size.
2004-05-03 17:22:28 +00:00
Michael Natterer 6e35e2333f added gimp_help_id_quark() which is G_GNUC_CONST and a new macro
2004-05-03  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimphelpui.[ch]: added gimp_help_id_quark()
	which is G_GNUC_CONST and a new macro GIMP_HELP_ID as shortcut.

	* app/widgets/gimpactiongroup.c (gimp_action_group_add_*_actions):
	attach the help ID to the action using the new quark key. Call
	gtk_action_group_add_action() instead of the _with_accel() variant
	if the accel is the empty string (== if we explicitely want no
	accel even if the stock item specifies one). Fixes warning flood
	with GTK+ 2.4.1.
2004-05-03 15:54:54 +00:00
Sven Neumann 311f033d34 if the label_widget is a button, set the button label as bold. Cache the
2004-05-03  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpframe.c: if the label_widget is a button, set
	the button label as bold. Cache the indentation instead of
	calculating it over and over again.

	* themes/Default/gtkrc: set HIG-compliant spacing for the
	action_area.

	* app/widgets/gimppropwidgets.[ch]: added
	gimp_prop_enum_radio_box_new() for a radio group that is no
	embedded in a frame.

	* app/widgets/gimpstrokeeditor.c: use a frame-less radio box for
	the Stroke style.

	* app/gui/file-new-dialog.c
	* app/gui/grid-dialog.c
	* app/gui/stroke-dialog.c: HIG-compliant spacings.
2004-05-03 15:37:56 +00:00
Michael Natterer 2275ab02d3 new function which overrides GtkWindow's default handler in order to give
2004-05-03  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdock.c (gimp_dock_key_press_event): new function
	which overrides GtkWindow's default handler in order to give the
	focus widget precedence over accelerators for keys without any
	modifier or with <Shift> modifier. Enables e.g. having a <Shift>+s
	accelerator while still being able to enter 'S' in an entry.
	Thanks to Tim Janik for the code.
2004-05-03 14:57:19 +00:00
Michael Natterer 3590757d2a app/actions/actions.h. added the various return_if_no_foo() macros here.
2004-05-03  Michael Natterer  <mitch@gimp.org>

	* app/actions/actions.h. added the various return_if_no_foo()
	macros here.

	* app/actions/channels-commands.c
	* app/actions/dialogs-commands.c
	* app/actions/drawable-commands.c
	* app/actions/edit-commands.c
	* app/actions/file-commands.c
	* app/actions/image-commands.c
	* app/actions/layers-commands.c
	* app/actions/qmask-commands.c
	* app/actions/select-commands.c
	* app/actions/vectors-commands.c
	* app/actions/view-commands.c: removed them here. Some cleanup.
2004-05-03 14:46:29 +00:00
Michael Natterer d745841e4d added some utility functions to get a Gimp, GimpImage, GimpDisplay and
2004-05-03  Michael Natterer  <mitch@gimp.org>

	* app/actions/actions.[ch]: added some utility functions to get a
	Gimp, GimpImage, GimpDisplay and GtkWidget from the "data" pointer
	passed to action callbacks.

	* app/actions/channels-actions.c
	* app/actions/channels-commands.c
	* app/actions/drawable-actions.c
	* app/actions/drawable-commands.c
	* app/actions/edit-actions.c
	* app/actions/edit-commands.c
	* app/actions/file-actions.c
	* app/actions/file-commands.c
	* app/actions/help-commands.c
	* app/actions/image-actions.c
	* app/actions/image-commands.c
	* app/actions/layers-actions.c
	* app/actions/layers-commands.c
	* app/actions/plug-in-actions.c
	* app/actions/plug-in-commands.c
	* app/actions/qmask-actions.c
	* app/actions/qmask-commands.c
	* app/actions/select-actions.c
	* app/actions/select-commands.c
	* app/actions/tools-commands.c
	* app/actions/vectors-actions.c
	* app/actions/vectors-commands.c
	* app/actions/view-commands.c: use the new functions instead of
	duplicating insane macros and if() constructs over and over again.
2004-05-03 14:03:51 +00:00
Sven Neumann 2aae5bb850 use a GimpFrame for gimp_radio_group_new() and friends.
2004-05-03  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpwidgets.c: use a GimpFrame for
	gimp_radio_group_new() and friends.

	* themes/Default/gtkrc
	* themes/Small/gtkrc: set a smaller label_spacing for GimpFrame
	widgets in GimpDockables. Lame hack to keep the tool options
	compact.

	* app/actions/image-commands.c: changed spacing.

	* app/gui/offset-dialog.c: merged check and radio buttons into a
	single radio button group; changed spacing.
2004-05-03 00:10:24 +00:00
Sven Neumann 96ab019dd9 respect the frame's border width.
2004-05-03  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpframe.c (gimp_frame_size_allocate): respect
	the frame's border width.

	* app/widgets/gimpcolorframe.[ch]: derive from GimpFrame.

	* app/gui/convert-dialog.c
	* app/gui/info-window.c
	* app/gui/palette-import-dialog.c
	* app/gui/resize-dialog.c: use GimpFrames, changed some spacings.
2004-05-02 22:33:33 +00:00
Michael Natterer 80cc1c0ef4 truncate the passed dialog identifier at the first '|'. Fixes creating
2004-05-03  Michael Natterer  <mitch@gimp.org>

	* app/actions/dockable-commands.c (dockable_add_tab_cmd_callback):
	truncate the passed dialog identifier at the first '|'. Fixes
	creating brushes, paterns etc. dialogs from the dockables'
	"Add Tab" menu.
2004-05-02 22:23:26 +00:00
Sven Neumann ea5e1a72ea take the left margin into account.
2004-05-02  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpframe.c (gimp_frame_size_request): take the
	left margin into account.

	* app/widgets/gimpgrideditor.c
	* app/widgets/gimptemplateeditor.c: removed container borders that
	aren't needed any longer.
2004-05-02 21:42:52 +00:00
Sven Neumann 522154d35b app/widgets/gimpenumwidgets.c app/widgets/gimpgrideditor.c use the
2004-05-02  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpenumwidgets.c
	* app/widgets/gimpgrideditor.c
	* app/widgets/gimptemplateeditor.c: use the GimpFrame widget,
	changed some spacings to better comply with the HIG.
2004-05-02 21:13:51 +00:00
Sven Neumann 06631e959e libgimpwidgets/Makefile.am libgimpwidgets/gimpwidgets.h
2004-05-02  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpwidgets.h
	* libgimpwidgets/gimpwidgetstypes.h
	* libgimpwidgets/gimpframe.[ch]: added new widget GimpFrame, a HIG
	compliant variant of GtkFrame.

	* app/gui/preferences-dialog.c: enable the HIG compliant mode by
	default and use the new GimpFrame widget for it.

	* themes/Small/gtkrc: set a smaller spacing between the GimpFrame
	title label and the frame content.

2004-05-02  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/libgimpwidgets-docs.sgml
	* libgimpwidgets/libgimpwidgets-sections.txt
	* libgimpwidgets/libgimpwidgets.types
	* libgimpwidgets/tmpl/gimpframe.sgml: added docs for GimpFrame.

	* */tmpl/*.sgml: regenerated using gtk-doc-tools version 1.2.
2004-05-02 20:30:41 +00:00
Michael Natterer 8895917db2 renamed action "qmask-toggle" to "qmask-active" and added new action
2004-05-02  Michael Natterer  <mitch@gimp.org>

	* app/actions/qmask-actions.c: renamed action "qmask-toggle" to
	"qmask-active" and added new action "qmask-toggle" with a label
	and shortcut suited for the "Select" menu.

	* app/actions/select-actions.c: removed "select-toggle-qmask".

	* app/actions/select-commands.[ch]: removed callback
	select_toggle_quickmask_cmd_callback().

	* app/actions/channels-actions.c (channels_actions_update)
	* app/actions/vectors-actions.c (vectors_actions_update): handle
	"data" being both GimpDisplay and GimpDisplayShell so the actions
	can be used in the image menu.

	* menus/image-menu.xml.in: s/select-toggle-qmask/qmask-toggle/.

	* menus/qmask-menu.xml: s/qmask-toggle/qmask-active/.
2004-05-02 19:37:17 +00:00
Michael Natterer bdec5cc5da app/actions/Makefile.am new files containing factored out code to set up
2004-05-02  Michael Natterer  <mitch@convergence.de>

	* app/actions/Makefile.am
	* app/actions/file-dialog-actions.[ch]: new files containing
	factored out code to set up the <Load> and <Save> actions.
	Use GimpPlugInActions instead of just GtkActions.

	* app/actions/file-dialog-commands.[ch]: new files containing
	file_dialog_type_cmd_callback() which is a
	GimpPlugInAction::selected() callback now.

	* app/actions/file-commands.[ch]: removed the callback here.

	* app/actions/file-open-actions.c
	* app/actions/file-save-actions.c: removed code duplication and
	use file_dialog_actions_setup() instead.
2004-05-02 10:34:04 +00:00
Michael Natterer 9377b26ebc added help IDs to all actions representing the toplevel popups and menus
2004-05-02  Michael Natterer  <mitch@gimp.org>

	* app/actions/*-actions.c: added help IDs to all actions
	representing the toplevel popups and menus (as fallbacks for the
	still-to-be-written help system intrgration of GimpUIManager).

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): removed
	call to gtk_ui_manager_ensure_update() because that's done by
	gimp_ui_manager_ui_get() now.

	* app/widgets/gimpmenufactory.[ch]: removed API to register and
	create item factories.

	* app/gui/menus.c: changed accordingly.

	* app/gui/dialogs.c
	* app/actions/plug-in-commands.c
	* app/gui/file-dialog-utils.c
	* app/gui/file-save-dialog.c
	* app/widgets/gimpdataeditor.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimpdockbook.[ch]
	* app/widgets/gimpimagedock.c
	* app/widgets/gimpitemtreeview.c: removed leftover item factory
	cruft.

	* app/widgets/widgets-types.h: removed item factory typedefs...

	* app/widgets/gimpitemfactory.h: ...and added them here.

	* app/widgets/gimpactiongroup.[ch]: added new function
	gimp_action_group_add_plug_in_actions().

	* app/actions/plug-in-actions.c: use it here instead of adding
	the actions manually.

	* app/widgets/gimptoolbox.c: ported the code which dynamically
	updates the tool button tooltips on accelerator changes to
	GtkAction. Disabled the whole stuff because GTK+ lacks
	gtk_action_get_accel_closure().
2004-05-02 08:56:07 +00:00
Pedro Gimeno c8d982c1bf Cleanups. (gimp_rect_select_tool_coords_to_integer): Undo my bogus fix for
2004-04-30  Pedro Gimeno  <pggimeno@wanadoo.es>

	* app/tools/gimprectselecttool.c: Cleanups.
	(gimp_rect_select_tool_coords_to_integer): Undo my bogus fix for
	bug #138103, which led to bug #140649.

	* app/pdb/procedural_db.c (procedural_db_init_procs): Add missing
	compat procs: gimp_channel_ops_duplicate, gimp_channel_ops_offset.
2004-04-30 19:14:37 +00:00
Sven Neumann 8766f89e02 added casts to please the compiler.
2004-04-30  Sven Neumann  <sven@gimp.org>

	* app/gui/tool-options-menu.c: added casts to please the compiler.
2004-04-30 17:11:07 +00:00
Michael Natterer 7d7ef188fa added signal "update" which is G_SIGNAL_RUN_LAST, so handlers can hook in
2004-04-30  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.[ch]: added signal "update" which
	is G_SIGNAL_RUN_LAST, so handlers can hook in before and after
	the default implementation. Update the action groups
	in the default implementations.

	(gimp_ui_manager_ui_get): make sure we always return a widget
	by calling gtk_ui_manager_ensure_update().

	* app/widgets/gimpdockable.c (gimp_dockable_show_menu): make
	sure the dockable menu is loaded before trying to access its
	widgets/actions.

	Resurrected the dynamic tool options menus:

	* app/actions/tool-options-actions.c: dynamically destroy/create
	actions for the tool options' presets.

	* app/actions/tool-options-commands.[ch]: all callbacks are
	GimpEnumAction::selected() callbacks now.

	* app/gui/tool-options-menu.[ch]: connect and connect_after to
	GimpUIManager::update(). Remove the old preset menu items
	in the former callback, create the new ones in the latter.
	Removed the last item factory entries.

	* app/gui/menus.c
	* app/widgets/gimptooloptionseditor.c: changed accordingly.
2004-04-30 15:29:11 +00:00
Simon Budig 656795fac0 when glibc is used, call mallopt, so that memory chunks >= 4k (= 64*64
2004-04-29  Simon Budig  <simon@gimp.org>

	* app/main.c: when glibc is used, call mallopt, so that memory
	chunks >= 4k (= 64*64 pixels, 1bpp - the smallest full tile)
	get allocated via mmap. This ensures that after closing an image
	the memory allocated for image data gets returned to the system.

	Thanks to Phil Blundell <pb@nexus.co.uk> for bringing mallopt
	to my attention.

	Please watch closely for performance problems.
2004-04-29 19:47:24 +00:00
Michael Natterer 0e1af3ee5a app/actions/Makefile.am app/actions/file-open-actions.[ch] actions for the
2004-04-29  Michael Natterer  <mitch@gimp.org>

	* app/actions/Makefile.am
	* app/actions/file-open-actions.[ch]
	* app/actions/file-save-actions.[ch]: actions for the <Load> and
	<Save> menus...

	* menus/Makefile.am
	* menus/file-open-menu.xml
	* menus/file-save-menu.xml: ...and the menus.

	* app/gui/file-open-menu.[ch]
	* app/gui/file-save-menu.[ch]: ported to UI Manager.

	* app/widgets/gimpfiledialog.[ch]: ditto.

	* app/actions/actions.c
	* app/gui/menus.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c: changed accordingly.

	* app/widgets/gimpuimanager.c: removed debugging code which
	automatically loaded all registered menus. They are now loaded on
2004-04-29 17:47:53 +00:00
Michael Natterer d79ed2a040 new function which does the opposite of gimp_strip_uline().
2004-04-29  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimputils.[ch] (gimp_escape_uline): new function
	which does the opposite of gimp_strip_uline().

	* app/actions/file-actions.c (file_actions_last_opened_update):
	escape ulines in filenames so they don't end up as mnemonics.
	Spotted by Pedro Gimeno.
2004-04-29 16:47:53 +00:00
Michael Natterer 2a84015e39 stripped the menu paths from the "menu_path". Will be renamed to
2004-04-29  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimp*tool.c (gimp_*_tool_register): stripped the menu
	paths from the "menu_path". Will be renamed to "action_name" or
	something soon...

	* plug-ins/dbbrowser/dbbrowser.c
	* plug-ins/common/plugindetails.c
	* plug-ins/common/uniteditor.c: register under the new
	"Extensions" placeholder.
2004-04-29 13:19:28 +00:00
Michael Natterer 4654280114 Switch from GtkItemFactory to GtkUIManager. The migration is almost
2004-04-29  Michael Natterer  <mitch@gimp.org>

	Switch from GtkItemFactory to GtkUIManager. The migration is
	almost complete, still stuff missing/incomplete, definitely added
	a bunch of new bugs...

	* app/actions/*-commands.[ch]: converted all callback from
	GtkItemFactory callbacks to GtkAction callbacks.

	* app/actions/debug-actions.c
	* app/actions/gradient-editor-actions.c
	* app/actions/help-actions.c
	* app/actions/plug-in-actions.c
	* app/actions/qmask-actions.c
	* app/actions/tool-options-actions.c: various fixes.

	* app/display/gimpdisplay.[ch]
	* app/display/gimpdisplayshell-appearance.[ch]
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.[ch]: move everything from
	GtkItemFactory to GtkUIManager.

	* app/gui/dialogs.[ch]: added new function dialogs_get_toolbox().
	Needed because the action callbacks don't have a widget parameter
	and sometimes we need a parent window for showing dialogs.

	* app/gui/Makefile.am
	* 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/error-console-menu.[ch]
	* app/gui/fonts-menu.[ch]
	* app/gui/gradient-editor-menu.[ch]
	* app/gui/gradients-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/templates-menu.[ch]
	* app/gui/vectors-menu.[ch]: removed these files.

	* app/gui/gui.c: create a global UI manager for the image popup
	menu and the toolbox menubar.

	* app/gui/menus.[ch]: removed all GtkItemFactory code.

	* app/gui/image-menu.[ch]
	* app/gui/toolbox-menu.[ch]: removed everything except the trivial
	setup_funcs.

	* app/gui/file-open-menu.c
	* app/gui/file-save-menu.c
	* app/gui/tool-options-menu.c: don't use the macros from menus.h
	any more, they are gone.

	* app/gui/gui-vtable.c
	* app/gui/plug-in-menus.[ch]: create/destroy the dynamic plug-in
	menu entries.

	* app/tools/gimpimagemaptool.c: s/gimp_item_factory_update/
	gimp_ui_manager_update/g

	* app/widgets/gimpuimanager.[ch]: added API to get an action
	group by name.

	* app/widgets/gimpmenufactory.c: don't choke on the item_factory
	entries being NULL.

	* app/widgets/gimpactiongroup.c: make sure booleans set using
	g_object_set() only have TRUE or FALSE values.

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpdockable.[ch]
	* app/widgets/gimpdocked.[ch]
	* app/widgets/gimpeditor.[ch]
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptooloptionseditor.c: removed all GtkItemFactory
	code and enable the #if 0'ed UI manager stuff.

	* menus/gradient-editor-menu.xml: fixed typos.

	* menus/image-menu.xml: duplicate everything so we have both
	an image menubar and an image popup menu. Badly cries for an
	XSL processor.

	* menus/toolbox-menu.xml: added an "Extensions" placeholder.
2004-04-29 12:52:29 +00:00
Michael Natterer aae726ee94 app/widgets/Makefile.am app/widgets/widgets-types.h new GtkAction subclass
2004-04-27  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimppluginaction.[ch]: new GtkAction subclass which
	remembers the PlugInProcDef.

	* app/widgets/gimpactiongroup.[ch]: added "gpointer user_data" to
	the GimpActionGroup struct and to gimp_action_group_new(). Removed
	the user_data parameter from gimp_action_group_add_*_actions().

	* app/widgets/gimpactionfactory.[ch]: changed accordingly.

	* app/actions/*-actions.[ch]: removed user_data from all setup_funcs.

	* app/actions/plug-in-actions.c: use a GimpPlugInAction and
	finally use the right user_data for the callback so plug-in
	callbacks have a proper context.

	* app/gui/plug-in-menus.[ch]: renamed plug_in_menus_create2() to
	plug_in_menus_setup().

	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c: changed accordingly.
2004-04-27 13:55:26 +00:00
Michael Natterer a5130581db removed "translation-domain" property and simply use gettext(). Plug-In
2004-04-27  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpactiongroup.[ch]: removed "translation-domain"
	property and simply use gettext(). Plug-In domains are handled
	by plug-in-actions.c

	The following change finally starts breaking the old menu system
	while the new one is not fully in place yet. Have fun:

	* menus/image-menu.xml: added several <placeholder>s for plug-ins
	to register their menu entries in the middle of already existing
	menus.

	* app/gui/menus.c
	* plug-ins/common/mail.c
	* plug-ins/print/print.c
	* plug-ins/script-fu/scripts/copy-visible.scm: use the new
	placeholders to register menu entries.
2004-04-27 12:51:08 +00:00
Michael Natterer 4e8105c12f Correctly translated & sorted plug-in actions & menu entries:
2004-04-27  Michael Natterer  <mitch@gimp.org>

	Correctly translated & sorted plug-in actions & menu entries:

	* app/widgets/gimpuimanager.[ch]: added a "gchar *name" property
	and a hash table which keeps all created UI managers (similar to
	GimpActionGroup's hash table). Added function
	gimp_ui_managers_from_name() which returns a list of all managers
	with the given name.

	* app/widgets/gimpmenufactory.c: register a name per UI manager
	and pass the name to gimp_ui_manager_new().

	* app/actions/plug-in-actions.c: added code which correctly
	translates the created plug-in actions and also creates translated
	menu actions for the plug-in's menu_path elements.

	* app/gui/plug-in-menus.[ch]: sort the plug-ins' menu entries
	using a GTree. For each entry, recursivlely create submenus
	from the dynamic menu actions created above before creating
	the plug-in's menu entry itself.

	* app/gui/image-menu.c (image_menu_setup2)
	* app/gui/toolbox-menu.c (toolbox_menu_setup2): call
	plug_in_menus_create2().

	* app/gui/gui-vtable.c (gui_menus_create_entry)
	(gui_menus_delete_entry): added some uglyness which maps old <Prefix>
	menu identifiers to new-style UI manager plus ui_path tuples and
	call plug_in_menus_add,remove_proc() accordingly.

	* menus/image-menu.xml
	* menus/toolbox-menu.xml: added name="Foo" attributes to all menus
	so plug-in entries find their place.
2004-04-27 12:28:27 +00:00
Michael Natterer 11309f8e5e call actions_init() (gui_exit_after_callback): call actions_exit().
2004-04-27  Michael Natterer  <mitch@gimp.org>

	* app/gui/gui.c (gui_restore_callback): call actions_init()
	(gui_exit_after_callback): call actions_exit().

	* app/gui/menus.c (menus_init)
	(menu_exit): don't call them here.
2004-04-27 10:23:35 +00:00
Michael Natterer bb0f359ac4 added GimpUIManagerSetupFunc typedef.
2004-04-26  Michael Natterer  <mitch@gimp.org>

	* app/widgets/widgets-types.h: added GimpUIManagerSetupFunc typedef.

	* app/widgets/gimpuimanager.[ch]: added the setup_func to the
	GimpUIManagerUIEntry struct and to gimp_ui_manager_ui_register().
	Call the setup_func after creating the UI. Replaced the term
	"identifier" by "ui_path".

	* app/widgets/gimpmenufactory.c: ditto.

	* app/gui/menus.c (menus_init): register the new setup_funcs below.

	* app/gui/menus.[ch] (menus_open_recent_add)
	* app/gui/image-menu.[ch] (image_menu_setup2)
	* app/gui/toolbox-menu.[ch] (toolbox_menu_setup2): new setup_funcs
	which add the "Open Recent" menu items.

	* app/actions/file-actions.c: removed "file-open-recent-empty"
	action because it's not needed.

	* menus/image-menu.xml
	* menus/toolbox-menu.xml: removed "file-open-recent-empty" menu
	items and added <placeholder>s for the "Open Recent" menu items.
2004-04-26 15:51:21 +00:00
Michael Natterer b69ddb3993 removed "locale_domain" and "help_domain" parameters from
2004-04-26  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: removed "locale_domain" and "help_domain"
	parameters from GimpMenusCreateFunc.

	* app/plug-in/plug-ins.c (plug_ins_temp_proc_def_add)
	* app/actions/plug-in-actions.[ch] (plug_in_actions_add_proc_def):
	changed accordingly.

	* app/widgets/gimpactiongroup.[ch]: remember all created action
	groups is a hash table in GimpActionGroupClass.  Added
	gimp_action_groups_from_name() which returns a GList of all groups
	with the given name.

	* app/actions/plug-in-actions.[ch] (plug_in_actions_setup):
	removed the tree sorting code. Actions don't need to be ordered
	alphabetically.

	(plug_in_actions_update): copied & ported plug_in_menus_update().

	* app/gui/gui-vtable.c (gui_menus_create,delete_entry):
	dynamically add/remove plug-in actions in all "plug-in" action
	groups.
2004-04-26 15:01:00 +00:00
Michael Natterer af517f93aa changed GimpMenusDeleteFunc to take a PlugInProcDef* instead of a const
2004-04-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: changed GimpMenusDeleteFunc to take
	a PlugInProcDef* instead of a const gchar*.

	* app/plug-in/plug-ins.c
	* app/gui/gui-vtable.c
	* app/gui/plug-in-menus.[ch]: changed accordingly.
2004-04-25 08:22:22 +00:00
Sven Neumann 1afe796075 app/gui/dialogs-constructors.c silent the compiler.
2004-04-22  Sven Neumann  <sven@gimp.org>

	* app/gui/dialogs-constructors.c
	* app/gui/preferences-dialog.c: silent the compiler.

	* plug-ins/winicon/icodialog.c: simplified by using a
	GimpIntComboBox.
2004-04-22 17:38:14 +00:00
Michael Natterer 1071842535 remember and ref the created widgets. Added gimp_ui_manager_ui_popup()
2004-04-22  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.[ch]: remember and ref the created
	widgets.  Added gimp_ui_manager_ui_popup() which pops up a GtkMenu
	with a custom GimpMenuPositionFunc and a GtkDestroyNotify which is
	called on popdown.

	* app/widgets/gimpmenufactory.c (gimp_menu_factory_finalize):
	don't forget to free the list of managed UIs.

	* app/widgets/gimpdockable.[ch]
	* app/widgets/gimpdockbook.[ch]
	* app/widgets/gimpdocked.[ch]
	* app/widgets/gimpeditor.[ch]: added GimpUIManager stuff parallel
	to the to-be-removed GtkItemFactory stuff.

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimptooloptionseditor.c: changed accordingly and added
	#if 0'ed code which actually uses all the UI managers.

	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell.c
	* app/gui/gui-vtable.c: disabled some gimp_ui_manager_update()
	calls because they were invoking toggle and radio callbacks
	which still have the wrong signature.
2004-04-22 17:14:22 +00:00
Michael Natterer 1f7a5870cc fixed some typos in the UI Manager registration code.
2004-04-22  Michael Natterer  <mitch@gimp.org>

	* app/gui/menus.c (menus_init): fixed some typos in the UI Manager
	registration code.
2004-04-22 16:18:40 +00:00
Michael Natterer 42f79826a9 implemented gimp_action_group_set_action_color() and
2004-04-22  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpactiongroup.[ch]: implemented
	gimp_action_group_set_action_color() and
	gimp_action_group_set_action_viewable().

	* app/actions/*-actions.c: added stock IDs to all actions which
	represent toplevel popup menus. Fixed typos.

	* menus/brushes-menu.xml
	* menus/colormap-editor-menu.xml
	* menus/dockable-menu.xml
	* menus/gradients-menu.xml
	* menus/patterns-menu.xml
	* menus/toolbox-menu.xml: fixed typos.
2004-04-22 16:16:43 +00:00
Michael Natterer 0b8c4b3ec9 app/widgets/Makefile.am app/widgets/widgets-types.h new GtkUIManager
2004-04-21  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpuimanager.[ch]: new GtkUIManager subclass. Adds
	API to update all action groups and knows which UIs it can create
	from which XML files.

	* app/widgets/gimpmenufactory.[ch]: register the XML file
	basenames along with path of their toplevel menus. Create
	GimpUIManagers instead of GtkUIManagers and register the
	XML files and menu paths with them.

	* app/gui/menus.c: register all XML files and their toplevel
	menu paths.

	* app/widgets/gimpeditor.[ch]: also create a GimpUIManager when
	creating the GtkItemFactory. Added "const gchar *ui_identifier"
	parameter to gimp_editor_create_menu().

	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpdataeditor.[ch]
	* app/widgets/gimpdatafactoryview.[ch]
	* app/widgets/gimpitemtreeview.[ch]: added "ui_identifier"
	parameters to all constructors.

	* app/widgets/gimpbrusheditor.c
	* app/widgets/gimpbrushfactoryview.c
	* app/widgets/gimpbufferview.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpfontview.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpimageview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimppatternfactoryview.c
	* app/widgets/gimptemplateview.c
	* app/widgets/gimptooloptionseditor.c
	* app/gui/dialogs-constructors.c
	* app/gui/gradient-select.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c: pass UI identifiers to the changed
	functions above.

	* app/display/gimpdisplayshell.[ch]: added a GimpUIManager for
	the menubar (menubar creating code still commented out).

	* app/display/gimpdisplay.c
	* app/gui/gui-vtable.c: update the ui manager.
2004-04-21 16:33:17 +00:00
Michael Natterer 2c601c7dc3 forgot to register the "patterns" actions.
2004-04-21  Michael Natterer  <mitch@gimp.org>

	* app/actions/actions.c: forgot to register the "patterns" actions.

	* app/actions/*-actions.c: added actions representing the toplevel
	menus (popups and menubars). Fixed some typos.

	* menus/*-menu.xml: added action="foo" attributes to all toplevel
	menus. Fixed typos here too.

	* menus/gtkuimanager.dtd: fixed possible attributes.
2004-04-21 16:10:00 +00:00
Michael Natterer 62dcfaecbf app/actions/qmask-actions.c prepared qmask_actions_update() and the qmask
2004-04-21  Michael Natterer  <mitch@gimp.org>

	* app/actions/qmask-actions.c
	* app/actions/qmask-commands.c: prepared qmask_actions_update()
	and the qmask callbacks to be merged into the image ui manager.

	* app/actions/dialogs-actions.c
	* app/actions/edit-actions.c
	* app/actions/file-actions.c
	* app/actions/image-actions.c
	* app/actions/layers-actions.c
	* app/actions/plug-in-actions.c
	* app/actions/tools-actions.c
	* app/actions/view-actions.c: fixed lots of typos and buglets
	spotted in my first test run.

	* app/gui/menus.c: register the needed action groups with the
	<Image> menu.

	* app/tools/gimp-tools.c
	* app/tools/gimpdodgeburntool.[ch]
	* app/tools/gimppaintoptions-gui.c: s/dodgeburn/dodge_burn/g.

	* app/widgets/gimpactionfactory.c
	* app/widgets/gimpmenufactory.[ch]: s/G_GNUC_FUNCTION/G_STRFUNC/g,
	updated copyright header.

	* menus/image-menu.xml: fixed typos and added the "Filters"
	submenus.
2004-04-21 10:55:45 +00:00
Michael Natterer 27a2c8c0e6 More unused action stuff:
2004-04-21  Michael Natterer  <mitch@gimp.org>

	More unused action stuff:

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpactionfactory.[ch]: added a simple factory which
	produces GimpActionGroups.

	* app/widgets/gimpactiongroup.[ch]: added an "update_func" member
	to the GimpActionGroup struct. Added it as parameter to
	gimp_action_group_new(). Added function gimp_action_group_update().

	* app/widgets/gimpmenufactory.[ch]: added an "action_factory"
	member and constructor parameter. Added code to create
	GtkUIManagers from registered action group identifiers.

	* app/actions/Makefile.am
	* app/actions/actions.[ch]: new files: create a
	"global_action_factory" and register all action groups with it.

	* app/actions/edit-actions.c: s/edit_action_update/edit_actions_update/

	* app/actions/plug-in-actions.[ch]: added API to add/remove
	plug-in procedure actions dynamically (unfinished).

	* app/gui/menus.c (menus_init): call actions_init().
	(menus_exit): call actions_exit().
2004-04-20 23:04:50 +00:00
Sven Neumann ff06d05097 removed color cast. Merged from stable branch.
2004-04-20  Sven Neumann  <sven@gimp.org>

	* tools/pdbgen/pdb/fileops.pdb (file_load_thumbnail): removed
	color cast. Merged from stable branch.

	* app/pdb/fileops_cmds.c: regenerated.
2004-04-20 22:04:18 +00:00
Sven Neumann 5766718d6f libgimpwidgets/Makefile.am libgimpwidgets/gimpwidgets.h
2004-04-20  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpwidgets.h
	* libgimpwidgets/gimpwidgetstypes.h
	* libgimpwidgets/gimpintstore.[ch]: added a GimpIntStore, derived
	from GtkListStore, to be used by GimpIntComboBox and also by the
	image and drawable menus.

	* libgimpwidgets/gimpintcombobox.c: use the new GimpIntStore.

	* app/widgets/gimpenumstore.[ch]: derive from GimpIntStore,
	removed API that is provided by the parent class.

	* app/widgets/gimpenumcombobox.[ch]: derive from GimpIntComboBox,
	removed API that is provided by the parent class.

	* app/gui/resize-dialog.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimpcolorframe.c
	* app/widgets/gimphistogrameditor.c
	* app/widgets/gimppropwidgets.c
	* app/widgets/gimpstrokeeditor.c: changed accordingly.
2004-04-20 19:06:37 +00:00
Sven Neumann 8ea259bbb7 app/widgets/gimpenumstore.[ch] let the pixbuf renderer take care of
2004-04-20  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpenumstore.[ch]
	* app/widgets/gimpenumcombobox.c: let the pixbuf renderer take care
	of rendering the pixbuf from the stock_id.
2004-04-20 17:51:49 +00:00
Sven Neumann a0e845c8a9 libgimpwidgets/gimpmemsizeentry.c ported to GimpIntComboBox.
2004-04-20  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpmemsizeentry.c
	* modules/cdisplay_proof.c: ported to GimpIntComboBox.

	* libgimpwidgets/gimpwidgets.[ch]: declared the gimp option_menu
	API as deprecated and removed the code here.

	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpoldwidgets.[ch]: new files with deprecated
	code, guarded with #ifndef GIMP_DISABLE_DEPRECATED ... #endif.

	* libgimpwidgets/gimpintcombobox.h: added G_BEGIN_DECLS, G_END_DECLS.

	* configure.in (CPP_FLAGS): added -DGIMP_DISABLE_DEPRECATED.

	* app/widgets/gimpwidgets-constructors.c: added a #warning and
	#undef GIMP_DISABLE_DEPRECATED. The paint mode menu is the last
	remaining user of gimp_int_option_menu_new().
2004-04-20 14:37:12 +00:00
Michael Natterer c8efb90364 renamed convert_to_indexed() to convert_dialog_new() and return the
2004-04-20  Michael Natterer  <mitch@gimp.org>

	* app/gui/convert-dialog.[ch]: renamed convert_to_indexed()
	to convert_dialog_new() and return the dialog. Removed
	convert_to_rgb() and convert_to_grayscale().

	* app/gui/offset-dialog.[ch]: renamed offset_dialog_create()
	to offset_dialog_new() and return the dialog.

	* app/Makefile.am
	* app/actions/drawable-commands.c
	* app/actions/image-commands.c: changed accordingly.
2004-04-20 13:44:19 +00:00
Michael Natterer 661f6ddeb8 removed...
2004-04-20  Michael Natterer  <mitch@gimp.org>

	* app/gui/*-commands.[ch]: removed...

	* app/actions/*-commands.[ch]: ...and added here.

	* app/gui/Makefile.am
	* app/gui/*-menu.c
	* app/gui/dialogs-constructors.c
	* app/gui/gui.c
	* app/gui/menus.c
	* app/actions/Makefile.am
	* app/actions/*-actions.c: changed accordingly.

	* app/actions/plug-in-actions.[ch]
	* app/actions/tools-actions.[ch]: new files.

	* app/Makefile.am: had to add more -u evilness because gui/
	and actions/ have cyclic dependencies.

	* menus/image-menu.xml: added some more items.
2004-04-20 13:25:55 +00:00
Sven Neumann 5e3b9ec330 added new function gimp_paint_mode_menu_set_history().
2004-04-20  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpwidgets-constructors.[ch]: added new function
	gimp_paint_mode_menu_set_history().

	* app/gui/brush-select.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimppropwidgets.c: use the new function instead of
	the deprecated gimp_int_option_menu API.
2004-04-20 13:10:50 +00:00
Sven Neumann 8339ba7f81 added more sanity checks.
2004-04-20  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpenumcombobox.c: added more sanity checks.

	* libgimpwidgets/gimpintcombobox.[ch]: added another GimpIntComboBox
	constructor: gimp_int_combo_box_new_array().

	* plug-ins/Lighting/lighting_ui.c
	* plug-ins/MapObject/mapobject_ui.c
	* plug-ins/common/CML_explorer.c: ported to GimpIntComboBox.
2004-04-20 08:35:36 +00:00
Sven Neumann 2e3ac558d8 app/widgets/gimpactiongroup.c app/widgets/gimpenumcombobox.c fixed inline
2004-04-19  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpactiongroup.c
	* app/widgets/gimpenumcombobox.c
	* app/widgets/gimpenumstore.c: fixed inline docs.

	* app/widgets/gimpenumaction.c:	fixed property declaration.
2004-04-19 16:23:22 +00:00
Michael Natterer a7ffe94b93 app/gui/colormap-editor-commands.[ch] app/gui/debug-commands.[ch]
2004-04-19  Michael Natterer  <mitch@gimp.org>

	* app/gui/colormap-editor-commands.[ch]
	* app/gui/debug-commands.[ch]
	* app/gui/dockable-commands.[ch]
	* app/gui/error-console-commands.[ch]
	* app/gui/file-commands.[ch]
	* app/gui/gradient-editor-commands.[ch]
	* app/gui/help-commands.[ch]
	* app/gui/qmask-commands.[ch]
	* app/gui/tool-options-commands.[ch]: removed "guint action"
	parameter from all callbacks which don't need it.
2004-04-19 16:00:54 +00:00
Sven Neumann 957015e359 menus/Makefile.am added a DTD (basically copied from the GTK+ API docs).
2004-04-19  Sven Neumann  <sven@gimp.org>

	* menus/Makefile.am
	* menus/gtkuimanager.dtd: added a DTD (basically copied from the
	GTK+ API docs). Added a "validate" rule that allows to easily
	validate the XML files.

	* menus/*.xml: added a DOCTYPE declaration that refers to the
	newly added DTD.

	* app/widgets/gimpenumstore.[ch]:
	* app/widgets/gimpenumcombobox.c: documented the new API.
2004-04-19 15:35:15 +00:00
Michael Natterer a4f6eca81a app/actions/Makefile.am oops, forgot to commit this one.
2004-04-19  Michael Natterer  <mitch@gimp.org>

	* app/actions/Makefile.am
	* app/actions/actions-types.h: oops, forgot to commit this one.
2004-04-19 15:19:14 +00:00
Michael Natterer 8848558f95 More GtkAction stuff (still unused):
2004-04-19  Michael Natterer  <mitch@gimp.org>

	More GtkAction stuff (still unused):

	* configure.in: added new directories menus/ and app/actions/

	* Makefile.am: build menus/

	* menus/.cvsignore
	* menus/Makefile.am
	* menus/*-menu.xml: new files: XML menu descriptions for each menu
	which is now defined in gui/*-menu.c.

	* app/widgets/widgets-types.h: some typedefs for GimpActionGroup.

	* app/widgets/gimpactiongroup.[ch]: added a "Gimp" construct-only
	property. Added APIs to set actions visible/sensitive/active
	and an unimplemented stub for setting the action's color.

	* app/Makefile.am: build actions/ and link libappactions.a

	* app/actions/.cvsignore
	* app/actions/Makefile.am
	* app/actions/*-actions.[ch]: new files: GtkActions for each
	*-commands.c file in gui/. Ported all "update" functions from the
	*-menu.c files.
	(everything completely unused, untested and partly #if 0'ed)

	* app/core/gimpimage.[ch]: for reasons of (action-) symmetry, added
	API to raise/lower channels/vectors to top/bottom.

	* app/gui/channels-commands.[ch]
	* app/gui/vectors-commands.[ch]: added callbacks for the new
	to top/bottom functions.

	* app/gui/Makefile.am
	* app/gui/dockable-commands.[ch]: new files split out of
	dialogs-commands.[ch].

	* app/gui/dialogs-commands.[ch]
	* app/gui/dialogs-menu.c: changed accordingly.

	* app/gui/edit-commands.[ch]: added edit_paste_into_cmd_callback()
	and remove usage of "guint action".

	* app/gui/image-menu.c: changed accordingly.

	* app/gui/palette-editor-commands.[ch]: split
	+palette_editor_new_color_cmd_callback() into separate callbacks
	for adding from FG and BG.

	* app/gui/palette-editor-menu.c: changed accordingly.
2004-04-19 14:54:24 +00:00
Sven Neumann 2921a53021 removed unused includes.
2004-04-19  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdrawabletreeview.c: removed unused includes.
2004-04-19 00:08:53 +00:00
Sven Neumann 1d2976f934 app/widgets/gimppropwidgets.[ch] replaced
2004-04-19  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimppropwidgets.[ch]
	* app/gui/preferences-dialog.c: replaced
	gimp_prop_boolean_option_menu_new() with
	gimp_prop_boolean_combo_box_new().
2004-04-18 23:48:30 +00:00
Sven Neumann e2709b97ba avoid unnecessary casts.
2004-04-19  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpenumstore.[ch]: avoid unnecessary casts.

	* app/widgets/gimpenumcombobox.[ch]: added an API that inserts a
	GtkTreeModelFilter to make items invisible. This is a kludge to
	workaround bug #135875.

	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimphistogrameditor.c: use the new function to hide
	histogram channels that are not available with the current
	drawable.
2004-04-18 22:38:45 +00:00
Henrik Brix Andersen da2115bad5 use g_signal_connect_object() instead of g_signal_connect(). Fixes bug
2004-04-18 Henrik Brix Andersen <brix@gimp.org>

* app/widgets/gimptemplateeditor.c
(gimp_template_editor_constructor): use g_signal_connect_object()
instead of g_signal_connect(). Fixes bug #140315.
2004-04-18 20:46:46 +00:00
Sven Neumann 89cf45541a app/widgets/Makefile.am app/widgets/widgets-types.h removed GimpEnumMenu.
2004-04-18  Sven Neumann  <sven@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpenummenu.[ch]: removed GimpEnumMenu.

	* app/widgets/gimpenumwidgets.[ch]: moved widget constructors that
	don't use GimpEnumMenu from gimpenummenu.[ch] to these new files.

	* app/widgets/gimpenumcombobox.[ch]: added a GtkComboBox widget
	using GimpEnumStore; replaces GimpEnumMenu.

	* app/widgets/gimpenumstore.[ch]: added new function
	gimp_enum_store_lookup_by_value().

	* app/widgets/gimppropwidgets.[ch]: replaced
	gimp_prop_enum_option_menu_new() with gimp_prop_enum_combo_box_new().

	* app/gui/brush-select.[ch]
	* app/gui/convert-dialog.c
	* app/gui/layers-commands.c
	* app/gui/preferences-dialog.c
	* app/gui/resize-dialog.c
	* app/tools/gimpblendoptions.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimppaintoptions-gui.c
	* app/tools/gimpselectionoptions.c
	* app/tools/gimptransformoptions.c
	* app/widgets/gimpcolorframe.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimpgrideditor.c
	* app/widgets/gimphistogrameditor.c
	* app/widgets/gimpstrokeeditor.c
	* app/widgets/gimptemplateeditor.c
	* app/widgets/gimptexteditor.c: ported to GimpEnumComboBox.
2004-04-18 15:12:42 +00:00
Sven Neumann f9135400ce app/widgets/Makefile.am app/widgets/widgets-types.h added (yet unused)
2004-04-18  Sven Neumann  <sven@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpenumstore.[ch]: added (yet unused) GimpEnumStore,
	a GtkListStore for enum values.
2004-04-18 01:20:26 +00:00
Sven Neumann 947d65595c s/GtkSignalFunc/GCallback/
2004-04-17  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpwidgets-constructors.[ch]:
	s/GtkSignalFunc/GCallback/
2004-04-17 17:48:51 +00:00
Henrik Brix Andersen 30fb5a7565 resolved conflicting mnemonic. Fixes bug #139868.
2004-04-17 Henrik Brix Andersen <brix@gimp.org>

* app/tools/gimphuesaturationtool.c
(gimp_hue_saturation_tool_dialog): resolved conflicting
mnemonic. Fixes bug #139868.
2004-04-17 02:06:59 +00:00
Sven Neumann ed4e23096b app/tools/gimpcolorpickertool.c don't use gtk_window_present() to raise
2004-04-16  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpmeasuretool.c: don't use gtk_window_present() to
	raise the tool dialog since it also moves the focus away from the
	image window. Fixes the problem described in bug #139349.
2004-04-16 13:50:28 +00:00
Sven Neumann 77ae74798d some code cleanup that I forgot to do when applying the patch.
2004-04-16  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpcroptool.c: some code cleanup that I forgot to do
	when applying the patch.
2004-04-16 13:36:14 +00:00
Michael Natterer 537b874750 new marshaller VOID:STRING
2004-04-16  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpmarshal.list: new marshaller VOID:STRING

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpactiongroup.[ch]
	* app/widgets/gimpenumaction.[ch]
	* app/widgets/gimpstringaction.[ch]: added some completely unused
	GtkAction infrastructure.
2004-04-16 12:09:46 +00:00
Manish Singh 361b1f5677 tools/Makefile.am app/Makefile.am app, tools, and user dir bumped to
2004-04-15  Manish Singh  <yosh@gimp.org>

        * tools/Makefile.am
        * app/Makefile.am
        * configure.in: app, tools, and user dir bumped to version 2.1 names.

        * app/text/gimpfontlist.c: since we now depend on pango 1.4, we can
	use pango_fc_font_description_from_pattern() instead of our
	cut-n-paste function, gimp_font_list_font_desc_from_pattern().
2004-04-16 00:56:25 +00:00
Tor Lillqvist 2e103fa8b1 app/plug-in/plug-in-message.c (plug_in_handle_proc_install)
2004-04-15  Tor Lillqvist  <tml@iki.fi>

	* app/plug-in/plug-in-message.c (plug_in_handle_proc_install)
	* app/plug-in/plug-in-proc.h (struct _PlugInProcDef)
	* app/plug-in/plug-in-rc.c (plug_in_rc_write)
	* app/plug-in/plug-ins.c (plug_ins_init): Make PDB procedures
	(including their menu entries) installed during a plug-ins init()
	phase show up. Add a flag to PlugInProcDef that tells whether the
	proc was installed during the init() phase. Such procs aren't
	saved to the pluginrc. Move the code that initializes plug-ins
	that need initialization earlier, before the procs are added to
	the PDB and menus are built. Fixes bug #139969.
2004-04-15 22:16:21 +00:00
Tor Lillqvist 6a4c2b144a For Win32, install gimpthumb.def, like the .def files of the other
2004-04-15  Tor Lillqvist  <tml@iki.fi>

	* libgimpthumb/Makefile.am: For Win32, install gimpthumb.def, like
	the .def files of the other libgimp* libs.

	* app/Makefile.am (INCLUDES): Add PANGOFT2_CFLAGS.

	* gimp-zip.in: Put also libgimpthumb in the developer package.
2004-04-15 21:09:23 +00:00
Michael Natterer 957190d750 use the new dynamic GtkTargetList based API for changing the widget's drag
2004-04-15  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdnd.c (gimp_dnd_data_source_add)
	(gimp_dnd_data_source_remove): use the new dynamic GtkTargetList
	based API for changing the widget's drag source types.

	* app/widgets/gimpdocumentview.c (gimp_document_view_new): simply
	call gimp_dnd_file_source_add() instead of duplicating the whole
	GtkTargetEntry array insanity just for adding one source type.
2004-04-15 17:04:43 +00:00
Michael Natterer 25589863a3 app/display/gimpdisplayshell-callbacks.c app/display/gimpdisplayshell.c
2004-04-15  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.c
	* app/widgets/gimpcontainertreeview.c: removed runtime version
	checks and workarounds for bugs which are fixed in GTK+ 2.4.

	* app/widgets/gimpfiledialog.c
	(gimp_file_dialog_selection_changed): added runtime check for GTK+
	2.4.1 and work around GtkFileChooser's missing "update_preview"
	functionality for multiple selections if the dependency is not
	met.

	* app/widgets/gimpwidgets-utils.c (gimp_menu_position)
	(gimp_menu_button_position): call gtk_menu_set_monitor() until
	bug #139187 is fixed.
2004-04-15 16:54:44 +00:00
Michael Natterer 2f2301c905 derive it from GtkFileChooser instead of GtkFileSelection.
2004-04-15  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpfiledialog.[ch]: derive it from GtkFileChooser
	instead of GtkFileSelection.

	* app/gui/file-dialog-utils.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/widgets/gimpthumbbox.c: changed accordingly.

	* app/gui/gradients-commands.c
	* app/gui/vectors-commands.c
	* app/tools/gimpimagemaptool.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimptexteditor.c
	* libgimpwidgets/gimpfileentry.c: use file choosers instead of
	file selectors.
2004-04-15 16:28:26 +00:00
Michael Natterer de8c6a5129 depend on glib 2.4.0, gtk+ 2.4.0, pangoft2 1.4.0
2004-04-15  Michael Natterer  <mitch@gimp.org>

	* configure.in: depend on glib 2.4.0, gtk+ 2.4.0, pangoft2 1.4.0

	* app/sanity.c: changed accordingly.
2004-04-15 16:15:04 +00:00
Sven Neumann 7849638db3 app/tools/gimpcropoptions.[ch] applied a patch from Jordi Gay that allows
2004-04-15  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpcropoptions.[ch]
	* app/tools/gimpcroptool.[ch]: applied a patch from Jordi Gay that
	allows to keep the aspect ratio fixed.
2004-04-15 15:17:36 +00:00
Michael Natterer a30db14bb7 set translate_desc to "Move Layer Mask".
2004-04-15  Michael Natterer  <mitch@gimp.org>

	* app/core/gimplayermask.c (gimp_layer_mask_class_init): set
	translate_desc to "Move Layer Mask".

	* app/tools/gimpeditselectiontool.c: take the undo desc
	from the moved item's class instead of duplicating all
	strings here.
2004-04-15 15:07:30 +00:00
Sven Neumann 7e84dd9540 app/core/gimppalette-import.[ch] added palette import from RIFF palette
2004-04-15  Sven Neumann  <sven@gimp.org>

	* app/core/gimppalette-import.[ch]
	* app/gui/palette-import-dialog.c: added palette import from RIFF
	palette files based on a patch from ÉRDI Gergõ (bug #129788).
2004-04-15 15:03:20 +00:00
Michael Natterer ace84881a4 forgot to add context parameters to this non-generated PDB invokers. Fixes
2004-04-15  Michael Natterer  <mitch@gimp.org>

	* app/xcf/xcf.c (xcf_save_invoker) (xcf_load_invoker): forgot
	to add context parameters to this non-generated PDB invokers.
	Fixes XCF loading/saving.
2004-04-15 14:58:42 +00:00
Michael Natterer f41e1ff5d0 added "const gchar *stroke_desc" to the GimpItemClass struct and always
2004-04-15  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: added "const gchar *stroke_desc" to
	the GimpItemClass struct and always push an undo group
	around GimpItem::stroke().

	* app/core/gimpchannel.c
	* app/core/gimpselection.c
	* app/vectors/gimpvectors.c: set the stroke_desc accordingly
	and don't push undo groups.

	* app/text/gimptextlayer.c (gimp_text_layer_class_init): set
	all of GimpItemClass' undo_descs.

	* app/text/gimptextlayer-transform.c: don't push undo groups here.
2004-04-15 14:41:36 +00:00
Michael Natterer 837fa4294d Context cleanup continued:
2004-04-15  Michael Natterer  <mitch@gimp.org>

	Context cleanup continued:

	* app/core/gimpitem.[ch]: added context parameter to
	GimpItem::stroke().

	* app/core/gimpchannel.c (gimp_channel_stroke)
	* app/vectors/gimpvectors.c (gimp_vectors_stroke): use it to get
	default values from instead of gimp_get_user_context().

	* app/core/gimpselection.c
	* app/gui/stroke-dialog.c
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/paths.pdb: changed accordingly.

	* app/pdb/edit_cmds.c
	* app/pdb/paths_cmds.c: regenerated.

	* app/plug-in/plug-in.[ch]: added GimpContext member to the PlugIn
	struct. Added context parameter to plug_in_new(),
	plug_in_call_query() and plug_in_call_init().

	* app/plug-in/plug-in-run.[ch]: added context parameters to
	plug_in_run() and plug_in_repeat().

	* app/gui/plug-in-commands.c
	* app/gui/vectors-commands.c
	* app/pdb/procedural_db.c
	* app/widgets/gimphelp.c: pass a context to plug_in_run() and
	plug_in_repeat().

	* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): call
	procedures with the plug-in's context.

	* app/plug-in/plug-ins.c: use a temporary context for running the
	plug-ins' query() and init() functions. Use the same context for
	running automatic extensions. This temporarily separates the main
	Script-Fu extension from the user context (i.e. scripts have no
	way of setting/getting the global FG, BG, brush etc.).
2004-04-15 13:10:51 +00:00
Sven Neumann 44fd2e0add header cleanup, added some const qualifiers, converted tabs to spaces.
2004-04-15  Sven Neumann  <sven@gimp.org>

	* app/paint-funcs/paint-funcs.[ch]:
	* app/paint-funcs/paint-funcs-generic.h: header cleanup, added
	some const qualifiers, converted tabs to spaces. Fixes bug #140115
	for the HEAD branch.
2004-04-15 12:38:54 +00:00
Michael Natterer 18d9161eea Get rid of the "current_context" which was in fact just a bunch of global
2004-04-15  Michael Natterer  <mitch@gimp.org>

	Get rid of the "current_context" which was in fact just a bunch of
	global variables. Instead, pass the needed context all the way
	from the GUI and the PDB to the core. This is a prerequisite for
	macro recording and generally helps separating the various
	subsystems from each other. Work in progress...

	* app/core/gimp.[ch]: removed member "current_context" and
	gimp_[get|set]_current_context().

	* app/core/gimp-edit.[ch]
	* app/core/gimpdrawable-blend.[ch]
	* app/core/gimpdrawable-bucket-fill.[ch]
	* app/core/gimpdrawable-offset.[ch]
	* app/core/gimpdrawable-transform.[ch]
	* app/core/gimpimage-crop.[ch]
	* app/core/gimpimage-flip.[ch]
	* app/core/gimpimage-merge.[ch]
	* app/core/gimpimage-resize.[ch]
	* app/core/gimpimage-rotate.[ch]
	* app/core/gimpimage.[ch]
	* app/core/gimpimagefile.[ch]
	* app/core/gimpitem-linked.[ch]
	* app/core/gimpitem.[ch]
	* app/core/gimplayer.[ch]
	* app/core/gimpselection.[ch]
	* app/core/gimptemplate.[ch]
	* app/file/file-open.[ch]
	* app/file/file-save.[ch]
	* app/pdb/procedural_db.[ch]
	* app/text/gimptext-compat.[ch]
	* app/text/gimptextlayer-transform.[ch]
	* app/gui/brush-select.[ch]
	* app/gui/font-select.[ch]
	* app/gui/gradient-select.[ch]
	* app/gui/palette-select.[ch]
	* app/gui/pattern-select.[ch]: added tons of "GimpContext *context"
	parameters and use the passed context instead of
	gimp_get_current_context().

	* app/app_procs.c
	* app/batch.c
	* app/core/gimpchannel.c
	* app/core/gimpdrawable.c
	* app/paint/gimperaser.c
	* app/paint/gimppaintbrush.c
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-ins.c
	* app/text/gimptextlayer.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpinktool.c
	* app/tools/gimptransformtool.c
	* app/vectors/gimpvectors.c
	* app/gui/convert-dialog.c
	* app/gui/drawable-commands.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/image-commands.c
	* app/gui/layers-commands.c
	* app/gui/offset-dialog.c
	* app/gui/select-commands.c
	* app/gui/vectors-commands.c
	* app/widgets/gimpdnd.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimphelp.c
	* app/widgets/gimpthumbbox.c: pass gimp_get_user_context() or
	GIMP_CONTEXT(tool_options) or whatever is the right context
	to the changed core functions.

	* tools/pdbgen/app.pl: pass "GimpContext *context" to all
	generated PDB invokers.

	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/font_select.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/paint_tools.pdb
	* tools/pdbgen/pdb/palette.pdb
	* tools/pdbgen/pdb/palette_select.pdb
	* tools/pdbgen/pdb/palettes.pdb
	* tools/pdbgen/pdb/paths.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/patterns.pdb
	* tools/pdbgen/pdb/selection.pdb
	* tools/pdbgen/pdb/text_tool.pdb
	* tools/pdbgen/pdb/transform_tools.pdb: pass the new context
	parameter to the changed core functions.

	* app/pdb/*_cmds.c: regenerated.
2004-04-14 23:37:34 +00:00
Sven Neumann 84688d18d8 added a category parameter to make this function more flexible.
2004-04-13  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-utils.[ch] (gimp_get_default_language): added a
	category parameter to make this function more flexible.

	* app/text/gimptext.c: changed accordingly.

	* app/widgets/gimphelp.c (gimp_help): localize the help pages
	according to the value of LC_MESSAGES. Fixes bug #139917.
2004-04-13 15:07:30 +00:00
Michael Natterer 2e61d12ed4 Moved the calls to floating_sel_relax()/rigor() from various places to two
2004-04-13  Michael Natterer  <mitch@gimp.org>

	Moved the calls to floating_sel_relax()/rigor() from various
	places to two single spots in the core where they are actually
	needed. Fixes bug #138356 (which was caused by the projection
	being triggered in the middle of changing the floating selection's
	size or the size of the drawable it is attached to). This commit
	effectively removes floating selection fiddling from the core's
	public API.

	* app/core/gimpdrawable.[ch] (gimp_drawable_has_floating_sel): new
	function which returns TRUE if there is a floating selection
	attached to the drawable.

	* app/core/gimpdrawable.c (gimp_drawable_translate)
	(gimp_drawable_set_tiles_full): if the drawable *has* a floating
	selection, relax/rigor it before/after modifying the drawable.

	* app/core/gimplayer.c (gimp_layer_translate)
	(gimp_layer_set_tiles): if the layer *is* the floating selection,
	relax/rigor it before/after modifying it.

	* app/core/gimpdrawable-transform.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-flip.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-rotate.c
	* app/core/gimpimage-scale.c
	* app/gui/layers-commands.c
	* app/tools/gimpeditselectiontool.c
	* tools/pdbgen/pdb/layer.pdb: removed calls to
	floating_sel_rigor()/relax() all over the place. Also removed
	lots of undo groups which are obsolete now.

	* app/pdb/layer_cmds.c: regenerated.
2004-04-13 13:54:54 +00:00
Michael Natterer 069489fb71 GimpItem undo group cleanup in preparation of fixing bug #138356:
2004-04-13  Michael Natterer  <mitch@gimp.org>

	GimpItem undo group cleanup in preparation of fixing bug #138356:

	* app/core/core-enums.[c]: renamed LAYER_SCALE and LAYER_RESIZE
	undo groups to ITEM_SCALE and ITEM_RESIZE.

	* app/core/gimpitem.[ch]: always push undo groups around
	GimpItem::translate(), scale(), resize(), flip(), rotate() and
	transform(). Added the resp. undo_desc strings to GimpItemClass.

	* app/core/gimpchannel.[ch]
	* app/core/gimpdrawable.[ch]
	* app/core/gimplayer.c: removed all undo groups from
	implementations of the above methods. Removed the undo_desc
	strings which were moved to GimpItemClass.

	* app/core/gimpimage-crop.c
	* app/core/gimpselection.c
	* app/gui/layers-commands.c
	* app/vectors/gimpvectors.c
	* tools/pdbgen/pdb/layer.pdb: changed accordingly.

	* app/pdb/layer_cmds.c: regenerated.
2004-04-13 11:43:27 +00:00
Hans Breuer 22e0f080c1 build sanity.obj app/text/makefile.msc : gimptextundo.obj
2004-04-11  Hans Breuer  <hans@breuer.org>

	* app/makefile.msc : build sanity.obj
	  app/text/makefile.msc : gimptextundo.obj
	  app/widgets/makefile.msc : gimppatternfactoryview.obj

	* plug-ins/common/winclipboard.c : don't call
	gimp_image_undo_enable() when it's not switched off.
	Otherwise the undo history would be destroyed with
	Gimp-Core-CRITICAL **: file gimpimage.c: line 1579: assertion
	`gimage->undo_freeze_count > 0' failed
2004-04-11 15:21:09 +00:00
Sven Neumann 68d9b6013c push an undo group only when it's needed. This resurrects text undo
2004-04-10  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptexttool.c (gimp_text_tool_apply): push an undo
	group only when it's needed. This resurrects text undo compression
	that broke when bug #137767 got fixed.
2004-04-10 18:11:00 +00:00
Pedro Gimeno Fortea 787c31ffcc Missed to commit app/core/gimpdrawable-transform.c in my 2004-04-10 commit 2004-04-10 11:48:07 +00:00
Pedro Gimeno d3b3d7457a Applied patch from William Skaggs that addresses bug #120490.
2004-04-10  Pedro Gimeno  <pggimeno@wanadoo.es>

	* app/core/gimpdrawable-transform.c
	(gimp_drawable_transform_tiles_affine): Applied patch from William
	Skaggs that addresses bug #120490.

	* app/sanity.c (sanity_check): Modified the message that reports
	an old version of Fontconfig in an attempt to make it more
	informative.
2004-04-10 11:23:22 +00:00
Michael Natterer b80d76ab50 update the whole image.
2004-04-05  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.c (gimp_image_real_mode_changed): update the
	whole image.

	* app/display/gimpdisplay-handlers.c: removed obsolete
	"mode_changed" and "colormap_changed" handlers because GimpImage's
	default handlers already update the whole image.
2004-04-05 15:38:26 +00:00
Pedro Gimeno f7ce875889 Sanitize rectangle and ellipse selection handling (bug #138237 and bug
2004-04-05  Pedro Gimeno  <pggimeno@wanadoo.es>

	Sanitize rectangle and ellipse selection handling (bug #138237
	and bug #138103):

	* app/tools/gimprectselecttool.h
	* app/tools/gimprectselecttool.c (GimpRectSelectTool): new
	member "moved" indicating whether the cursor was moved after
	the click.
	(gimp_rect_select_tool_coords_to_integer): New function for
	consistent conversion of the rectangle FP coords to pixels.
	(gimp_rect_select_tool_button_press,
	gimp_rect_select_tool_button_release,
	gimp_rect_select_tool_motion, gimp_rect_select_tool_draw): use
	it instead of fiddling with the FP coordinates. Update "moved"
	and use it to detect whether the selection needs to be cleared.

	* app/tools/gimpellipseselecttool.c
	(gimp_ellipse_select_tool_draw): use the new coords_to_integer
	function.
2004-04-05 08:08:23 +00:00
Sven Neumann f87c500007 app/display/gimpdisplayshell-callbacks.c
2004-04-04  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-draw.[ch] pass the bounding box of
	the exposed area to gimp_display_shell_draw_grid() and draw only
	the relevant part of the grid. Fixes bug #138606.
2004-04-04 17:17:40 +00:00
Sven Neumann b179d2a76b Cache the GC for drawing the grid as suggested in bug #138081:
2004-04-04  Sven Neumann  <sven@gimp.org>

	Cache the GC for drawing the grid as suggested in bug #138081:

	* app/display/gimpdisplayshell.[ch]: added a grid_gc member to
	GimpDisplayShell.

	* app/display/gimpdisplayshell-handlers.c
	(gimp_display_shell_grid_notify_handler)
	(gimp_display_shell_disconnect): invalidate the grid GC.

	* app/display/gimpdisplayshell-draw.c (gimp_display_shell_draw_grid):
	use the cached grid_gc. Also applied the fix that Pedro Gimeno did
	for bug #138606.
2004-04-04 15:53:21 +00:00
Sven Neumann b982c495fd added a missing call to gettext(). Fixes bug #139000.
2004-04-04  Sven Neumann  <sven@gimp.org>

	* app/core/gimpundo.c (gimp_undo_type_to_name): added a missing
	call to gettext(). Fixes bug #139000.
2004-04-04 10:56:57 +00:00
Sven Neumann 7a804a3588 do nothing if the selection is empty. Fixes bug #138973.
2004-04-04  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagemap.c (gimp_image_map_apply): do nothing if the
	selection is empty. Fixes bug #138973.
2004-04-03 23:17:59 +00:00
Sven Neumann fe3dc81387 create the initial text layer with a size of 1 x 1 since
2004-04-03  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayer.c (gimp_text_layer_new): create the
	initial text layer with a size of 1 x 1 since tile_manager_new()
	does not any longer accept 0 x 0.

	* app/core/gimpdrawable.c (gimp_drawable_configure): check that
	width and height are > 0.
2004-04-03 12:03:27 +00:00
Sven Neumann 224b14dffe unset the bg_pixmap and tweak style colors for all states. Sort of ugly
2004-04-01  Sven Neumann  <sven@gimp.org>

	* app/gui/user-install-dialog.c: unset the bg_pixmap and tweak
	style colors for all states. Sort of ugly but makes the dialog
	work better with more obscure themes (bug #138379).
2004-04-01 18:43:42 +00:00
Michael Natterer acc72b620e added undo type GIMP_UNDO_TEXT_LAYER_MODIFIED and undo group types
2004-04-01  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.[ch] (enum GimpUndoType): added undo type
	GIMP_UNDO_TEXT_LAYER_MODIFIED and undo group types
	GIMP_UNDO_GROUP_DRAWABLE and GIMP_UNDO_GROUP_DRAWABLE_MOD.

	* app/core/gimpimage-undo-push.[ch]: added new new function
	gimp_image_undo_push_text_layer_modified() which makes
	modifications of the text_layer's "modified" boolean undoable.

	* app/core/gimpdrawable.[ch]: added new virtual function
	GimpDrawable::push_undo() and moved the actual undo pushing into
	the default implementation gimp_drawable_real_push_undo().

	* app/text/gimptextlayer.c (gimp_text_layer_push_undo): new
	function. Pushes the text_layer's modified state to the undo stack
	after upchaining and sets modified to TRUE.

	(gimp_text_layer_set_tiles): ditto.

	(gimp_lext_layer_apply_region)
	(gimp_text_layer_replace_region): removed because their default
	implementations already call gimp_drawable_push_undo().

	(gimp_text_layer_swap_pixels): removed because swap_pixels() is
	used by undo only and doesn't need to care about the text_layer's
	modified state.

	(gimp_text_layer_render): don't set modified to FALSE here because
	we can't push an undo step here.

	(gimp_text_layer_set): push the modified state to the undo stack
	and set it to FALSE here. Also push the layer's tiles if the
	layer was modified.

	* app/tools/gimptexttool.c (gimp_text_tool_apply): push "modified"
	to the undo stack and set it to FALSE here, too.

	Fixes bug #137767.
2004-04-01 14:51:58 +00:00
Simon Budig 157af2d30c One really should use braces when mixing additions and multiplication and
2004-03-31  Simon Budig  <simon@gimp.org>

	* app/tools/gimptransformtool.c: One really should use braces
	when mixing additions and multiplication and the operator
	precedence is not the desired one...

	I feel stupid...  :-)
2004-03-31 14:21:36 +00:00
Michael Natterer 4de398bb37 make sure 0.0/0.0 results in 1.0, not NaN.
2004-03-31  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-transform-utils.c
	(gimp_transform_matrix_perspective): make sure 0.0/0.0 results
	in 1.0, not NaN.

	* app/core/gimpdrawable-transform.c
	(gimp_drawable_transform_tiles_affine): instead of returning NULL
	if the transformation shrinks the tiles completely away, return at
	least the pixel (or the row or column of pixels) which best covers
	the sub-pixel area of the transform result:

	- Changed rounding of the transformed coordinates from RINT()
	  to floor()/ceil() so we don't cut off sub-pixel portions of the
	  transform result.
	- Force the minimal size if the changed rounding didn't help.

	Fixes bug #138117.

	Also added paranoia code which falls back to clip_result if the
	passed matrix produces NaN coordinates (copied the FINITE() macro
	from image_cmds.c).
2004-03-31 12:40:23 +00:00
Michael Natterer afe0eb359e app/Makefile.am new files implementing sanity_check() for run-time
2004-03-30  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/sanity.[ch]: new files implementing sanity_check() for
	run-time checking library versions. Added a check for FreeType but
	disabled it until we figured if and how freetype causes some of
	the DLL hell bugs.

	* app/main.c (main): call it and abort if it fails.

	* app/app_procs.[ch]: added app_gui_abort() so main.c doesn't
	need to #include "gui/gui.h"

	* app/gui/gui.[ch] (gui_libs_init): removed library sanity checking.

	(gui_abort): new function which shows the abort message.
2004-03-30 11:32:21 +00:00
Sven Neumann 951f1589a1 changed the default for "help-locales" from NULL to an empty string. Fixes
2004-03-29  Sven Neumann  <sven@gimp.org>

	* app/config/gimpguiconfig.c: changed the default for "help-locales"
	from NULL to an empty string. Fixes the generated gimprc man-page.

	* app/config/gimprc-blurbs.h (HELP_LOCALES_BLURB): added missing
	whitespace.

	* app/widgets/gimphelp.c: use the user's locale if "help-locales"
	is NULL or the empty string.

	* docs/gimprc.5.in
	* etc/gimprc: regenerated.
2004-03-29 17:54:13 +00:00
Michael Natterer 110dc4e2d6 added new group GIMP_UNDO_GROUP_FS_REMOVE.
2004-03-29  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.h (enum GimpUndoType): added new group
	GIMP_UNDO_GROUP_FS_REMOVE.

	* app/core/gimplayer-floating-sel.c (floating_sel_remove): push an
	undo group. Fixes undo corruption spotted by Pedro Gimeno.
2004-03-29 09:57:39 +00:00
Sven Neumann dd94d1cb05 validate the font name. This should work around the crashes that Windows
2004-03-28  Sven Neumann  <sven@gimp.org>

	* app/text/gimpfontlist.c (gimp_font_list_add_font): validate the
	font name. This should work around the crashes that Windows users
	were experiencing on startup (bug #132366). The real problem needs
	to be fixed elsewhere though.
2004-03-28 14:27:37 +00:00
Michael Natterer 0af7cfa584 when re-adding a layer with mask, don't forget to set layer->mask->removed
2004-03-28  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-undo-push.c (undo_pop_layer): when re-adding
	a layer with mask, don't forget to set layer->mask->removed to FALSE.
2004-03-28 14:25:42 +00:00
Michael Natterer 77447984cc added "gboolean removed" to the GimpItem struct. Defaults to FALSE. Set it
2004-03-28  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: added "gboolean removed" to the GimpItem
	struct. Defaults to FALSE. Set it to TRUE in gimp_item_removed().
	Added public function gimp_item_is_removed().

	* app/core/gimpimage-undo-push.c (undo_pop_layer)
	(undo_pop_layer_mask) (undo_pop_channel) (undo_pop_vectors):
	set it to FALSE manually when re-adding something from the
	undo stack.

	* tools/pdbgen/app.pl
	* tools/pdbgen/pdb.pl: don't allow any operation on items which
	are removed from the image (and exist on the undo stack only).
	Fixes bug #138311.

	* app/pdb/channel_cmds.c
	* app/pdb/color_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/edit_cmds.c
	* app/pdb/floating_sel_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/paint_tools_cmds.c
	* app/pdb/parasite_cmds.c
	* app/pdb/selection_cmds.c
	* app/pdb/selection_tools_cmds.c
	* app/pdb/transform_tools_cmds.c: regenerated.
2004-03-28 14:20:57 +00:00
Manish Singh 83cae1617a don't generate code with tabs.
2004-03-26  Manish Singh  <yosh@gimp.org>

        * tools/pdbgen/app.pl: don't generate code with tabs.

        * tools/pdbgen/pdb/procedural_db.pdb: convert tabs to spaces in
        helper function declaration.

        * app/pdb/procedural_db.c: convert tabs to spaces.

        * app/pdb/*.c: regenerated, no code changes, only tabs->spaces.
2004-03-26 16:49:18 +00:00
Manish Singh 5c592d52c1 kill whitespace in blank lines.
2004-03-26  Manish Singh  <yosh@gimp.org>

        * tools/pdbgen/app.pl: kill whitespace in blank lines.

        * app/pdb/*.c: regenerated, no code changes, only whitespace.
2004-03-26 16:38:44 +00:00
Michael Natterer ef798bbcc3 return NULL tiles if the matrix would transform the drawable into nothing.
2004-03-26  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-transform.c
	(gimp_drawable_transform_tiles_affine): return NULL tiles if the
	matrix would transform the drawable into nothing. Fixes the
	core-crashing part of bug #138117 and makes the script fail
	with an execution error.
2004-03-26 10:28:44 +00:00
Michael Natterer d23e1ffe3b g_return_if_fail() on width, height or bpp <= 0. Doesn't fix anything but
2004-03-25  Michael Natterer  <mitch@gimp.org>

	* app/base/tile-manager.c (tile_manager_new): g_return_if_fail()
	on width, height or bpp <= 0. Doesn't fix anything but badly
	warns (and helps debugging) on bug #138117.
2004-03-25 17:58:26 +00:00
Michael Natterer 13b46f4847 fixed condition which triggers the path tool's undo hack. Fixes bug
2004-03-25  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpvectortool.c (gimp_vector_tool_button_release):
	fixed condition which triggers the path tool's undo hack.  Fixes
	bug #138086. Also g_object_unref() the undo step.

	Removed trailing whitespace.
2004-03-25 12:46:20 +00:00
Manish Singh 87fba73a12 libgimp/gimp.c close the shm_open fd in the POSIX shm case. We were
2004-03-25  Manish Singh  <yosh@gimp.org>

        * libgimp/gimp.c
        * app/plug-in/plug-in-shm.c: close the shm_open fd in the POSIX
        shm case. We were leaking an fd here.
2004-03-25 09:02:28 +00:00
Michael Natterer e8526c97ee The floating_sel code is really from the stone age:
2004-03-23  Michael Natterer  <mitch@gimp.org>

	The floating_sel code is really from the stone age:

	* app/core/gimplayer-floating-sel.c (floating_sel_attach): call
	gimp_image_floating_sel() once and work on the return value
	instead of accessing gimage->floating_sel directly twice and
	calling gimp_image_floating_sel() for the thrid access.

	* app/core/gimpimage.c (gimp_image_floating_sel): no need to
	return NULL if gimage->floating_sel is NULL, just always return
	gimage->floating_sel.
2004-03-23 09:40:16 +00:00
Sven Neumann f2c849531c don't do a type-checking cast on an object that was released a few lines
2004-03-22  Sven Neumann  <sven@gimp.org>

	* app/core/gimplayer-floating-sel.c (floating_sel_attach): don't
	do a type-checking cast on an object that was released a few lines
	above. Fixes bug #137957.
2004-03-22 21:23:12 +00:00
Tor Lillqvist aaa44d37e2 Win32-only workaround for bug #137968.
2004-03-22  Tor Lillqvist  <tml@iki.fi>

	* app/plug-in/plug-in.c (plug_in_recv_message): Win32-only
	workaround for bug #137968.
2004-03-22 20:57:26 +00:00
Sven Neumann c809f21ab5 keep the text editor open as long as the text tool is connected to a text
2004-03-22  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptexttool.c: keep the text editor open as long as
	the text tool is connected to a text layer. Open the text editor
	when a text layer is activated in the layers dialog.
2004-03-22 15:19:19 +00:00
Sven Neumann 7469b06006 preserve the text tool on image changes. Instead connect to the text
2004-03-22  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptexttool.[ch]: preserve the text tool on image
	changes. Instead connect to the text layer's "notify::modified"
	signal and disconnect from the layer when it is modified.
	Fixes bug #137890.
2004-03-22 14:32:47 +00:00
Michael Natterer bbc73e63bc removed the undo clearing/sanitizing code...
2004-03-22  Michael Natterer  <mitch@gimp.org>

	* app/file/file-open.c (file_open_with_proc_and_display): removed
	the undo clearing/sanitizing code...

	(file_open_image): ...and added it here so *all* newly opened
	images start with a clean and sane undo state.

	* app/gui/file-commands.c (file_revert_confirm_callback): removed
	(incomplete) undo sanitizing here too.
2004-03-22 13:46:14 +00:00
Michael Natterer a666668ce8 call gimp_display_shell_expose_full() so the whole canvas gets cleared
2004-03-22  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_reconnect):
	call gimp_display_shell_expose_full() so the whole canvas gets
	cleared when reverting the image.
2004-03-22 13:12:07 +00:00
Sven Neumann db2dfce4b4 put some code back in that I removed accidentally.
2004-03-22  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayer.c (gimp_text_layer_duplicate): put some
	code back in that I removed accidentally.
	(gimp_text_layer_render) freeze/thaw notifications to avoid that
	two "notify::modified" signals are emitted.
2004-03-22 12:05:43 +00:00
Simon Budig 0c5632a8b1 set the minimum of the "default_heigt" property range to -1, this enables
2004-03-22  Simon Budig  <simon@gimp.org>

	* app/widgets/gimpdock.c: set the minimum of the
	"default_heigt" property range to -1, this enables users
	to disable this feature via gtkrc.
2004-03-22 00:33:08 +00:00
Sven Neumann 46fff1793d added a style property "default_height" and set a window default size for
2004-03-22  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdock.c: added a style property "default_height"
	and set a window default size for new docks. Fixes bug #137876.

	* themes/Default/gtkrc: document the default dock height.

	* themes/Small/gtkrc: set a smaller default dock height here.
2004-03-22 00:12:11 +00:00
Sven Neumann 2326e1b979 added gimp_undo_type_to_name() a similar function used to live in
2004-03-21  Sven Neumann  <sven@gimp.org>

	* app/core/gimpundo.[ch]: added gimp_undo_type_to_name() a similar
	function used to live in gimpimage-undo.[ch].

	* app/core/gimpitemundo.c (gimp_item_undo_new): allow NULL as name
	and generate it from the undo_type then.

	* app/core/gimpimage-undo.[ch]: added gimp_image_undo_push_undu(),
	new function that allows to push an undo on the image.

	* app/text/Makefile.am
	* app/text/text-types.h
	* app/text/gimptextundo.[ch]: added GimpTextUndo, derived from
	GimpItemUndo.

	* app/core/gimpimage-undo-push.c (gimp_image_undo_push_text_layer):
	use the new code and simply push a text undo here.

	* app/tools/gimptexttool.c: compress text undos by peeking at the
	undo stack. Fixes bug #137766.
2004-03-21 23:14:21 +00:00
Michael Natterer e0d1ddb070 added run-time version check and do the workaround for bug #136636 only if
2004-03-21  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_events): added run-time version
	check and do the workaround for bug #136636 only if
	the Gtk+ version is < 2.2.5.

	* m4macros/gimp-2.0.m4: require gimp >= 2.0.0
2004-03-21 15:58:48 +00:00
Sven Neumann d321c13075 corrected #define for the debug menu.
2004-03-21  Sven Neumann  <sven@gimp.org>

	* app/gui/debug-commands.h: corrected #define for the debug menu.
2004-03-21 13:39:22 +00:00
Michael Natterer 5c74d2d334 modify the event_box and preview styles in GtkWidget::style_set() instead
2004-03-21  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpthumbbox.c: modify the event_box and preview
	styles in GtkWidget::style_set() instead of in
	gimp_thumb_box_new() so they follow theme changes correctly and
	the labels stay visible when switching to an "inverse" theme.
2004-03-21 11:22:29 +00:00
Simon Budig 62c63bf9e6 app/.cvsignore docs/.cvsignore updated to ignore 2.0 stuff :-)
2004-03-20  Simon Budig  <simon@gimp.org>

	* app/.cvsignore
	* docs/.cvsignore
	* tools/.cvsignore: updated to ignore 2.0 stuff  :-)
2004-03-20 22:24:52 +00:00
Pedro Gimeno 9127a54dec Fixed several off-by-one problems in display:
2004-03-20  Pedro Gimeno  <pggimeno@wanadoo.es>

	Fixed several off-by-one problems in display:

	* app/display/gimpdisplayshell.h (PROJ_ROUND): New macro to apply
	to a float the same rounding method as the one used when rendering.
	(SCALEX, SCALEY): Use PROJ_ROUND instead of truncating.

	* app/display/gimpdisplayshell-transform.c
	(gimp_display_shell_transform_xy): Accept gdouble image coordinates
	even if the returned screen coordinates are integer. Use PROJ_ROUND
	instead of (gint) to apply proper rounding. Fixes bug #137566.

	* app/display/gimpdisplayshell-transform.h
	(gimp_display_shell_transform_xy): changed accordingly.

	* app/display/gimpdisplayshell-draw.c
	* app/tools/gimpdrawtool.c: make sure everywhere that PROJ_ROUND
	is used either directly or through gimp_display_shell_transform_xy,
	instead of using arbitrary rounding methods.
2004-03-20 21:59:41 +00:00
Sven Neumann f97ae7d726 set version number to 2.0.0, version string to "2.0rc1".
2004-03-20  Sven Neumann  <sven@gimp.org>

	* configure.in: set version number to 2.0.0, version string to
	"2.0rc1".

	* app/Makefile.am
	* libgimp/Makefile.am
	* libgimpbase/Makefile.am
	* libgimpcolor/Makefile.am
	* libgimpmath/Makefile.am
	* libgimpmodule/Makefile.am
	* libgimpthumb/Makefile.am
	* libgimpwidgets/Makefile.am
	* tools/Makefile.am: changed 1.3 to 2.0 all over the place.

	* README
	* NEWS: updated for the 2.0rc1 release.
2004-03-20 20:45:17 +00:00
Sven Neumann 7fdd4af69a it wasn't such a good idea to let GimpConfig take care of the text when
2004-03-20  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayer.c: it wasn't such a good idea to let
	GimpConfig take care of the text when duplicating a text layer; it
	didn't create a copy. Do that manually again; fixes bug #137786.
2004-03-20 20:18:57 +00:00
Sven Neumann 584b3ceb9b don't take the image from tool->gdisp, this might be a NULL pointer.
2004-03-20  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptexttool.c (gimp_text_tool_create_vectors): don't
	take the image from tool->gdisp, this might be a NULL pointer.

	* app/core/gimpimage-undo-push.c: removed debugging output.
2004-03-20 20:10:05 +00:00
Sven Neumann 20d03407fe avoid to set the unit property with every size change; only set it if it
2004-03-20  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimppropwidgets.c (gimp_prop_size_entry_callback):
	avoid to set the unit property with every size change; only set it
	if it actually changed.

	* app/core/gimpimage-undo-push.c (gimp_image_undo_push_text_layer):
	allow to pass a GParamSpec that identifies a single text property
	to be changed. In this case, don't store a GimpText object on the
	undo stack but only the changed value.

	* app/tools/gimptexttool.c: use the new undo feature to reduce the
	memory footprint of text undo for the common case.

	* app/text/gimptextlayer.c: changed accordingly.
2004-03-20 17:21:48 +00:00
Simon Budig 9d616282c3 Applied slightly modified patch from Sven. When the quickmask has a
2004-03-20  Simon Budig  <simon@gimp.org>

	* app/core/gimpimage-qmask.c: Applied slightly modified patch
	from Sven. When the quickmask has a floating selection, anchor
	it before loading the selection and deleting the qmask channel.

	Fixes bug #137170.
2004-03-20 16:43:29 +00:00
Simon Budig 63177de7c4 new callbacks to convert the current vector to the selection.
2004-03-20  Simon Budig  <simon@gimp.org>

	* app/gui/select-commands.[ch]: new callbacks to convert the
	current vector to the selection.

	* app/gui/image-menu.c: hook it into the menu. Default shortcut
	is Shift+V.
2004-03-20 16:14:49 +00:00
Sven Neumann c4c19933bc use the same undo group logic as in the text tool. Not really necessary
2004-03-20  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayer.c (gimp_text_layer_set): use the same
	undo group logic as in the text tool. Not really necessary since
	this function must not be called on modified text layers, but it's
	more consistent this way.
2004-03-20 15:53:36 +00:00
Simon Budig a08efc86bd Assigned "b" as the default shortcut for the path tool ("Bezier").
2004-03-20  Simon Budig  <simon@gimp.org>

	* app/tools/gimpvectortool.c: Assigned "b" as the default shortcut
	for the path tool ("Bezier").

	Fixes bug #137753.
2004-03-20 15:28:28 +00:00
Sven Neumann fc3846e422 update the text editor when the text changes (for example when undoing
2004-03-20  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptexttool.c: update the text editor when the text
	changes (for example when undoing text changes). Push a drawable
	undo when applying text changes to a modified text layer.
2004-03-20 13:26:02 +00:00
Sven Neumann 7e82e309b6 don't fiddle with the item size, gimp_drawable_set_tiles() does the right
2004-03-20  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayer.c (gimp_text_layer_render): don't fiddle
	with the item size, gimp_drawable_set_tiles() does the right thing.
2004-03-20 12:38:15 +00:00
Simon Budig 5e47b5a0ed Make it possible to refresh the preview of an undo step.
2004-03-20  Simon Budig  <simon@gimp.org>

	* app/core/gimpundo.[ch]: Make it possible to refresh the preview
	of an undo step.

	* app/tools/gimpeditselectiontool.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimplayertreeview.c: refresh the preview when
	compressing undos. This ensures that the last preview in the undo
	history always reflects the current state of the image.
2004-03-19 23:42:42 +00:00
Sven Neumann 8214f17256 fixed a bug that Mitch spotted.
2004-03-20  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-undo-push.c (undo_pop_text_layer): fixed a
	bug that Mitch spotted.
2004-03-19 23:38:02 +00:00
Sven Neumann cbbe4f3871 don't exchange the text_layer's text object but sync it with the text
2004-03-20  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-undo-push.c (undo_pop_text_layer): don't
	exchange the text_layer's text object but sync it with the text
	object from the undo step.

	* app/text/gimptextlayer.c (gimp_text_layer_set): in case the
	layer has a mask, push an undo group around the text modifications.

	* app/tools/gimptexttool.c (gimp_text_tool_idle_apply): push a
	text layer undo before applying the text changes.
2004-03-19 23:08:24 +00:00
Sven Neumann 520ee8b3ac added gimp_text_layer_set(), a function that calls g_object_set() on the
2004-03-19  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayer.[ch]: added gimp_text_layer_set(), a
	function that calls g_object_set() on the text-layer's text object
	and pushes an undo step.

	* app/display/gimpdisplayshell-dnd.c (gimp_display_shell_bucket_fill):
	use the new function.
2004-03-19 22:12:18 +00:00
Sven Neumann 5420154a66 if there's a layer mask, resize it with the layer.
2004-03-19  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayer.c (gimp_text_layer_render): if there's a
	layer mask, resize it with the layer.

	* app/tools/gimptexttool.c: don't change text_tool->layer before
	calling gimp_text_tool_connect().
2004-03-19 19:26:18 +00:00
Sven Neumann e9e3e22dae added a confirmation dialog that is shown when the user attempts to modify
2004-03-19  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptexttool.[ch]: added a confirmation dialog that is
	shown when the user attempts to modify a modified text layer.
2004-03-19 16:29:36 +00:00
Michael Natterer 2e2e65f841 added runtime check for GTK+ >= 2.4.0 and make sure the menubar's accels
2004-03-19  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): added
	runtime check for GTK+ >= 2.4.0 and make sure the menubar's accels
	can be invoked even if the menubar is invisible (workaround for
	bug #137151).
2004-03-19 12:52:27 +00:00
Michael Natterer fddb9ce0e3 app/gui/color-notebook.c (color_notebook_new) app/tools/gimpcroptool.c
2004-03-19  Michael Natterer  <mitch@gimp.org>

	* app/gui/color-notebook.c (color_notebook_new)
	* app/tools/gimpcroptool.c (crop_info_create)
	* app/tools/gimptransformtool.c (gimp_transform_tool_dialog):
	explicitely set a default response for dialog buttons which were
	created using gtk_dialog_add_buttons().
2004-03-19 10:15:56 +00:00
Sven Neumann d7dbf81ab0 cleaned up text tool logic.
2004-03-18  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptexttool.[ch]: cleaned up text tool logic.
2004-03-18 20:55:00 +00:00
Michael Natterer f3e07fcf4b simplified visibility and linked undo compression by passing an UNDO type,
2004-03-18  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpitemtreeview.c: simplified visibility and linked
	undo compression by passing an UNDO type, not an UNDO_GROUP type.

	Fixed (made weird) compression of "exclusive visible/linked" undos
	to only compress undos of the same item type (only compress layer
	visibility if we pushed a *layer* visibility before, not a channel
	or vectors visibility). Even worse, we need to push the
	visibility/linked state of *all* items when pushing an exclusive
	group, otherwise compression won't work.
2004-03-18 19:39:19 +00:00