Commit graph

1503 commits

Author SHA1 Message Date
Sven Neumann 21f26743c1 made gimp_config_sync() and gimp_config_connect() also work on objects of
2004-03-11  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-utils.c: made gimp_config_sync() and
	gimp_config_connect() also work on objects of different types.
	Properties with the same name and the same type are synced /
	connected.

	* app/core/gimpcontext.[ch]: added convenience functions to get/set
	the font by name.

	* app/tools/gimptextoptions.[ch]: don't hold a GimpText object
	that duplicates properties like font and color which are in
	GimpContext already. Instead added all text properties that are
	controlled from the text tool options.  Handling of the foreground
	color is somewhat broken and needs a GimpContext wizard (Mitch!).

	* app/text/gimptext.c: blurbs are not any longer needed now that
	the property widgets are created from the GimpTextOptions.

	* app/tools/gimptexttool.c: changed accordingly.

	* app/widgets/gimptexteditor.[ch]: use an internal GtkTextBuffer
	and emit "text-changed" when it changes.
2004-03-11 18:47:37 +00:00
Simon Budig d69b608d4a Disabled debug output and made it conditional with DEBUG_DND.
2004-03-10  Simon Budig  <simon@gimp.org>

	* app/widgets/gimpdnd.c: Disabled debug output and made it
	conditional with DEBUG_DND.
2004-03-10 14:00:52 +00:00
Sven Neumann 9df8c92daf call procedural_db_destroy_args() with the correct nargs.
2004-03-09  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimphelp.c (gimp_help_internal): call
	procedural_db_destroy_args() with the correct nargs.
2004-03-09 10:58:06 +00:00
Sven Neumann 55d14fd0f0 Finished some work that Brix started on the help system. It's now possibly
2004-03-09  Sven Neumann  <sven@gimp.org>

	Finished some work that Brix started on the help system. It's
	now possibly to use an external web-browser for context help
	(bug #136081):

	* configure.in
	* plug-ins/Makefile.am
	* plug-ins/help/Makefile.am
	* plug-ins/help/domain.[ch]
	* plug-ins/help/help.c: new plug-in that does the help domain
	management. Most of this used to live in the helpbrowser plug-in.

	* plug-ins/helpbrowser/Makefile.am
	* plug-ins/helpbrowser/domain.[ch]: removed these two files here.

	* plug-ins/helpbrowser/helpbrowser.c: changed accordingly.

	* app/widgets/gimphelp.c: use the new help plug-in.
2004-03-09 01:37:56 +00:00
Hans Breuer 2036638f73 updated
2004-03-07  Hans Breuer  <hans@breuer.org>

	* themes/Default/images/makefile.msc
	  app/*/makefile.msc plug-ins/makefile.msc : updated
2004-03-07 23:13:51 +00:00
Sven Neumann 28bb855aae Made size of undo previews configurable. Not dynamic for now, but at least
2004-03-07  Sven Neumann  <sven@gimp.org>

	Made size of undo previews configurable. Not dynamic for now, but
	at least not hardcoded any longer. Fixes bug #119905:

	* app/config/gimpcoreconfig.[ch]
	* app/config/gimprc-blurbs.h: added "undo-preview-size" property.

	* app/core/gimpundo.[ch]: use the new property instead of a
	hardcoded value.

	* app/widgets/gimpundoeditor.[ch]: added a "preview-size"
	construct property.

	* app/gui/dialogs-constructors.c: changed accordingly.

	* app/gui/preferences-dialog.c: added a widget to control the undo
	preview size.
2004-03-07 15:33:04 +00:00
Sven Neumann c0ef88c206 corrected check for number of PDB parameters. Fxes bug #136403.
2004-03-06  Sven Neumann  <sven@gimp.org>

        * plug-ins/common/tiff.c (run): corrected check for number of PDB
        parameters. Fxes bug #136403.

	* app/widgets/gimpfontview.c: removed unused variables.
2004-03-06 21:43:01 +00:00
Sven Neumann e21dc0ee93 marked new strings for translation.
2004-03-04  Sven Neumann  <sven@gimp.org>

	* app/config/gimprc-blurbs.h: marked new strings for translation.

	* libgimpwidgets/gimpstock.h: added #defines for missing icons.
	This allows us to replace them later without changing the API.

	* app/gui/dialogs-constructors.c
	* app/gui/dialogs-menu.c
	* app/gui/gradient-editor-commands.c
	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c
	* app/tools/gimppaintoptions-gui.c
	* app/tools/gimptextoptions.c
	* app/widgets/gimppaletteeditor.c: use the new stock icon names
	instead of abusing GTK+ and GIMP tool stock icons.

	* app/gui/preferences-dialog.c (prefs_dialog_new): added icons
	to the new check buttons.
2004-03-04 16:10:57 +00:00
Michael Natterer 999a4f7a91 eek, the separator crept back in while hacking GimpFileDialog. Removed it
2004-03-04  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpfiledialog.c (gimp_file_dialog_init): eek, the
	separator crept back in while hacking GimpFileDialog. Removed it
	again.
2004-03-04 13:48:35 +00:00
Sven Neumann 9177bbeae6 set the window icon to the icon displayed in the message dialog.
2004-03-04  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpwidgets-utils.c (gimp_message_box): set the
	window icon to the icon displayed in the message dialog.
2004-03-04 13:26:40 +00:00
Simon Budig de5e605d64 #ifdef'ed the code for the global shortcuts and disabled it.
2004-03-04  Simon Budig  <simon@gimp.org>

	* app/widgets/gimpimagedock.[ch]: #ifdef'ed the code for
	the global shortcuts and disabled it.

	Fixes bug #133453
2004-03-03 23:42:50 +00:00
Michael Natterer fdb8b0f9ab GDK_TYPE_MODIFIER_TYPE are flags, not enum values, use the right
2004-03-03  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcolormapeditor.c (gimp_colormap_editor_class_init):
	GDK_TYPE_MODIFIER_TYPE are flags, not enum values, use the
	right marshaller for the "selected" signal.
2004-03-03 14:44:34 +00:00
Michael Natterer 5198408aff moved the (disabled) ENABLE_FILE_SYSTEM_ICONS from the .c to the .h file
2004-03-03  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimppreviewrendererimagefile.[ch]: moved the
	(disabled) ENABLE_FILE_SYSTEM_ICONS from the .c to the .h file and
	#ifdef the "gpointer file_system" member with it.
2004-03-03 14:00:00 +00:00
Michael Natterer 5f6fd78fd5 moved the (disabled) ENABLE_FILE_SYSTEM_ICONS from the .c to the .h file
2004-03-03  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimppreviewrendererimagefile.[ch]: moved the
	(disabled) ENABLE_FILE_SYSTEM_ICONS from the .c to the .h file and
	#ifdef the "gpointer file_system" member with it.
2004-03-03 13:52:54 +00:00
Michael Natterer 1b63a05791 app/widgets/Makefile.am app/widgets/widgets-types.h added new preview
2004-03-03  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimppreviewrendererimagefile.[ch]: added new preview
	renderer class (has some disabled code from my GtkFileChooser tree
	and behaves exactly as the default implementation).

	* app/widgets/gimppreviewrenderer-utils.c: use it for GimpImagefiles.
2004-03-03 12:39:19 +00:00
Michael Natterer dade4a8430 app/tools/gimpeditselectiontool.c compress undo steps only if the redo
2004-03-02  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpeditselectiontool.c
	* app/widgets/gimplayertreeview.c: compress undo steps only
	if the redo stack is empty.
2004-03-02 14:33:31 +00:00
Michael Natterer 4a199a3e48 new function which configures the dialog to load an image.
2004-03-01  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpfiledialog.[ch] (gimp_file_dialog_set_uri):
	new function which configures the dialog to load an image.

	* app/gui/file-open-dialog.c: use it. Don't use file-dialog-utils
	any more and allow setting the uri of an already visible file open
	dialog.

	* app/gui/file-dialog-utils.c: took the file open menu entries out
	of that insane logic that makes the menus insensitive while any
	file dialog is open.
2004-03-01 13:40:46 +00:00
Michael Natterer ca2f7f88de new function which configures the dialog to save an image.
2004-03-01  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpfiledialog.[ch] (gimp_file_dialog_set_image):
	new function which configures the dialog to save an image.

	* app/gui/file-save-dialog.c: use it.

	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c: removed useless #inlcudes.
2004-03-01 12:27:33 +00:00
Michael Natterer 705114f02f added unused "GSList *file_procs" parameter.
2004-03-01  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpfiledialog.[ch] (gimp_file_dialog_new): added
	unused "GSList *file_procs" parameter.

	* app/gui/file-open-dialog.c: pass gimp->load_procs.
	* app/gui/file-save-dialog.c: pass gimp->save_procs.
2004-03-01 11:57:38 +00:00
Michael Natterer 80fbb0f1f2 some general cleanup.
2004-02-28  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcellrendererviewable.c: some general cleanup.

	(gimp_cell_renderer_viewable_set_property): ref the new renderer
	before unrefing the old one. Fixes potential crash when setting
	the same renderer again.
2004-02-28 19:20:16 +00:00
Michael Natterer 5bdd1635c8 app/gui/file-dialog-utils.c app/widgets/gimpfiledialog.c some irrelevant
2004-02-27  Michael Natterer  <mitch@gimp.org>

	* app/gui/file-dialog-utils.c
	* app/widgets/gimpfiledialog.c
	* libgimpwidgets/gimpfileentry.[ch]: some irrelevant micro changes
	to make that patch smaller.
2004-02-27 22:25:37 +00:00
Michael Natterer da90ac6bfd removed the thumbnail box.
2004-02-27  Michael Natterer  <mitch@gimp.org>

	* app/gui/file-open-dialog.c: removed the thumbnail box.

	* app/widgets/gimpfiledialog.c: and added it here.
2004-02-27 15:43:58 +00:00
Michael Natterer 527aa849cb app/widgets/Makefile.am app/widgets/widgets-types.h new widget swallowing
2004-02-27  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpfiledialog.[ch]: new widget swallowing most
	of file-dialog-utils.[ch]'s functionality.

	* app/widgets/widgets-types.h: added "gpointer callback_data" to
	GimpItemFactorySetupFunc so the setup_funcs can create items in
	the same context as the item factory's default items.

	* app/widgets/gimpmenufactory.c (gimp_menu_factory_menu_new):
	pass "callback_data" to setup_func().

	* app/gui/file-open-menu.[ch]
	* app/gui/file-save-menu.[ch]: use the passed callback_data
	when creating the menus and attach the file_proc to the
	menu items using g_object_set_data().

	* app/gui/file-commands.[ch]: merged separate file type callbacks
	for open and save dialogs into one callback which simply
	calls gimp_file_dialog_set_file_proc().

	* app/gui/file-dialog-utils.[ch]: removed file_dialog_new()
	and file_dialog_set_proc().

	* app/gui/file-open-dialog.[ch]
	* app/gui/file-save-dialog.[ch]: use the new widget and removed
	global variables except the dialog pointer itself.

	* app/gui/image-menu.[ch]
	* app/gui/tool-options-menu.[ch]
	* app/gui/toolbox-menu.[ch]: changed accordingly.
2004-02-27 14:20:19 +00:00
Michael Natterer 5568644538 added missing cast.
2004-02-26  Michael Natterer  <mitch@gimp.org>

	* app/file/file-open.c (file_open_image): added missing cast.

	* app/widgets/gimperrorconsole.[ch]
	* app/widgets/gimptexteditor.[ch]: renamed members so my file
	chooser patch becomes smaller ;)
2004-02-26 20:04:20 +00:00
Michael Natterer 2db5e0f5c6 renamed some members, cleanup.
2004-02-26  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpthumbbox.[ch]: renamed some members, cleanup.
2004-02-26 16:07:20 +00:00
Michael Natterer 3f9ae43250 app/widgets/Makefile.am app/widgets/widgets-types.h new widget ripped out
2004-02-26  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpthumbbox.[ch]: new widget ripped out of the file
	open dialog.

	* app/gui/file-open-dialog.c: use it.
2004-02-26 13:48:42 +00:00
Manish Singh 0d84268f41 Add GTK_MISC cast for bin->child.
2004-02-21  Manish Singh  <yosh@gimp.org>

        * app/widgets/gimpenummenu.c (gimp_enum_stock_box_set_child_padding):
        Add GTK_MISC cast for bin->child.
2004-02-21 23:43:57 +00:00
Sven Neumann cec5c6ab31 put the color bars into an event box and draw the sliders on the event box
2004-02-20  Sven Neumann  <sven@gimp.org>

	* app/tools/gimplevelstool.[ch]: put the color bars into an event
	box and draw the sliders on the event box window.

	* app/widgets/gimpcolorbar.[ch]: removed support for input events
	which is no longer needed. For consistency, renamed "channel"
	property to "histogram-channel".

	* app/widgets/gimphistogrambox.c: changed accordingly.

	* app/widgets/gimpenummenu.[ch]: added new function
	gimp_enum_stock_box_set_child_padding().

	* app/tools/gimpcurvestool.[ch]: let the graph widget expand with
	the dialog plus some other dialog tweaks.

	* app/widgets/gimphistogrameditor.c: let the channel menu shrink
	as in the other dialogs.

	* libgimpwidgets/gimpcolorselect.c (gimp_color_select_image_fill):
	allocate temporary buffer on the stack.
2004-02-21 12:25:09 +00:00
Sven Neumann 6b8d6ca4a6 fixed inline docs updated application docs 2004-02-19 20:26:51 +00:00
Sven Neumann 924acb2b0d app/widgets/Makefile.am app/widgets/widgets-types.h added new widget
2004-02-19  Sven Neumann  <sven@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcolorbar.[ch]: added new widget GimpColorBar.

	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimphistogrambox.[ch]: use GimpColorBar widgets.

	* app/widgets/gimpcolorframe.[ch]: fixed typos.
2004-02-19 19:56:04 +00:00
Michael Natterer c33e0e8bc0 removed static variables, don't use GIMP_CONFIG_INSTALL_PROP_FOO() for
2004-02-19  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdasheditor.[ch]: removed static variables, don't
	use GIMP_CONFIG_INSTALL_PROP_FOO() for non-config classes,
	trailing whitespace, cleanup.
2004-02-19 16:42:24 +00:00
Michael Natterer 4d24bdbf81 Some code review:
2004-02-18  Michael Natterer  <mitch@gimp.org>

	Some code review:

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-serialize.c: removed obsolete code which
	made sure serialize_property()/deserialize_property() are only
	called for properties of the correct class. We do it the right way
	for quite a while now and clear the inherited function pointers in
	gimp_config_iface_base_init().

	* app/config/gimprc.c (gimp_rc_dispose): don't forget to chain up.

	* app/base/gimplut.c
	* app/base/lut-funcs.c
	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-serialize.c
	* app/config/gimpconfig-types.c
	* app/config/gimprc.c
	* app/core/gimp-modules.c
	* app/core/gimpbrush.c
	* app/core/gimpcontainer.c
	* app/core/gimpdocumentlist.c
	* app/core/gimpitem.c
	* app/gui/about-dialog.c
	* app/gui/color-notebook.c
	* app/gui/gui.c
	* app/gui/tips-dialog.c
	* app/paint/gimppaintcore.c
	* app/paint-funcs/paint-funcs.c
	* app/widgets/gimpcolorpanel.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainermenuimpl.c
	* app/widgets/gimpselectioneditor.c: removed I/O includes from
	files which don't use lowlevel APIs any more. Also removes
	a whole bunch of G_OS_WIN32 special casing. Removed trailing
	whitespace. Misc tiny cleanups.
2004-02-18 13:43:50 +00:00
Sven Neumann 27365f4d17 cannot gtk_widget_destroy() a floating widget, sink it instead.
2004-02-17  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpeditor.c (gimp_editor_add_stock_box): cannot
	gtk_widget_destroy() a floating widget, sink it instead.

	* libgimpwidgets/gimppatheditor.c (gimp_path_editor_set_path):
	plugged a small memleak.
2004-02-17 20:17:49 +00:00
Michael Natterer 25b81b1570 Fixed lots of QuickMask brokenness by letting the image adjust its
2004-02-14  Michael Natterer  <mitch@gimp.org>

	Fixed lots of QuickMask brokenness by letting the image adjust
	its qmask_state automatically:

	* app/core/gimpimage-qmask.h: #define GIMP_IMAGE_QMASK_NAME "Qmask".
	Use the define in all files below.

	* app/core/gimpimage.[ch]: split gimp_image_drawable_add,_remove()
	into separate handlers for layers and channels. Added a
	"name_changed" handler for all channels. In the channel "add",
	"remove" and "name_changed" handlers, check if it was a channel
	named "Qmask" that was added, removed or renamed and call
	gimp_image_set_qmask_state() accordingly.

	* app/core/core-enums.[ch]
	* app/core/gimpimage-undo-push.[ch]
	* app/core/gimpundo.c: removed all Qmask undo code because the image
	does the right thing without undo interaction now.

	* app/core/gimpimage-qmask.c (gimp_image_set_qmask_state): set
	gimage->qmask_state early so we can return early when called
	recursively. Removed calls to gimp_image_undo_push_image_qmask().
	Returned "removed" callback (it was utterly broken the way it was
	implemented).

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_qmask_toggled): check if the image's
	qmask state needs to be changed before changing it.

	* app/xcf/xcf-load.c (xcf_load_channel): removed code which
	recognized the qmask. GimpImage does this automatically now.

	* app/gui/qmask-commands.c: cleanup.

	* app/widgets/gimpimagedock.c (gimp_image_dock_constructor):
	destroy the "/Select/By Color" and "/Select/Toggle QuickMask" menu
	items.

	* app/widgets/image-menu.c (image_menu_update): changed accordingly.
2004-02-14 15:37:23 +00:00
Michael Natterer d991e64b38 Fixed GimpData's default "writable" and "deletable" behaviour:
2004-02-13  Michael Natterer  <mitch@gimp.org>

	Fixed GimpData's default "writable" and "deletable" behaviour:

	* app/core/gimpdata.c (gimp_data_init): default to writable and
	deletable == TRUE (something that has no filename was never loaded
	from disk and can't be undeletable or read-only).
	Fixes bug #134274.

	* app/core/gimpdata.[ch]: added new function
	gimp_data_make_internal() which frees the filename and sets the
	data's flags accordingly.

	* app/core/gimp-gradients.c (gimp_gradients_add_gradient)
	* app/core/gimpbrush.c (gimp_brush_get_standard)
	* app/core/gimpgradient.c (gimp_gradient_get_standard)
	* app/core/gimppalette.c (gimp_palette_get_standard)
	* app/core/gimppattern.c (gimp_pattern_get_standard): use the
	new function for internal data objects.

	* app/core/gimpdata.c (gimp_data_save, gimp_data_delete_from_disk)
	* app/core/gimpdatafactory.c (gimp_data_factory_save_single):
	bail out with g_return_if_fail() is the data is not writable
	or deletable.

	* app/widgets/gimpdataeditor.c
	* app/widgets/gimpdatafactoryview.c: changed accordingly.
2004-02-13 11:53:22 +00:00
Michael Natterer cfd6fb0a8e ignore double clicks so we don't grab the pointer away from the curves
2004-02-12  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimphistogramview.c (gimp_histogram_view_button_press):
	ignore double clicks so we don't grab the pointer away from the
	curves dialog. Fixes bug #132356.

	* app/tools/gimpcurvestool.c (curves_graph_events): ignore button
	press and release events from all buttons except the first one.
2004-02-12 13:12:56 +00:00
Michael Natterer 8312e82ad8 Make sure that non-indexed images never have a colormap. Fixes bug
2004-02-12  Michael Natterer  <mitch@gimp.org>

	Make sure that non-indexed images never have a colormap.
	Fixes bug #121033.

	* app/core/gimpimage-colormap.c (gimp_image_set_colormap): set
	image->cmap to NULL when called with a NULL colormap.

	* app/core/gimpimage-undo-push.c: made colormap undo/redo aware
	of NULL colormaps.

	* app/core/gimpimage-convert.c (gimp_image_convert): remove the
	colormap using gimp_image_set_colormap() instead of freeing it
	manually.

	* app/widgets/gimpcolormapeditor.c: always check if the image
	is INDEXED *and* has a colormap before accessing the colormap.

	(need this new check because the fixed behaviour of colormap undo
	produces undo groups which, when being popped, make the image have
	no colormap while still being INDEXED in the small time frame
	between the emission of "colormap_changed" and "mode_changed").
2004-02-12 12:13:21 +00:00
Sven Neumann 6f156fd319 make the value labels selectable as suggested by Mariano Suárez-Alvarez
2004-02-10  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcolorframe.c (gimp_color_frame_init): make the
	value labels selectable as suggested by Mariano Suárez-Alvarez in
	bug #133958.
2004-02-10 10:22:46 +00:00
Hans Breuer 5cbb416a91 new file to keep common definitions for the msc build use common
2004-02-07  Hans Breuer  <hans@breuer.org>

	* gimpdefs.msc : new file to keep common definitions for the msc build
	* **/makefile.msc : use common defintions, e.g. GIMP_VER
	* Makefile.am : add the former to EXTRA_DIST
2004-02-07 23:01:33 +00:00
Michael Natterer 195880cbdc Disallow editing of data objects which have no save functionality. Also
2004-02-05  Michael Natterer  <mitch@gimp.org>

	Disallow editing of data objects which have no save functionality.
	Also fixed the misassumption that "deletable" is always equal to
	"writable". Fixes bug #133456.

	* app/core/gimpdata.[ch]: added a "deletable" property which is
	always equal to "writable" except when the data class does not
	implement GimpData::save() (then deletable may be TRUE but
	writable is always FALSE).

	* app/gui/brushes-menu.c
	* app/gui/gradients-menu.c
	* app/gui/palettes-menu.c
	* app/gui/patterns-menu.c
	* app/widgets/gimpdatafactoryview.c: look at data->deletable when
	setting the sensitivity of the "Delete" buttons and menu items.

	* app/widgets/gimpdatafactoryview.c
	(gimp_data_factory_view_tree_name_edited): rename the data
	only if it's writable and restore the old name otherwise.

	* app/widgets/gimpdataeditor.c: no need to look at data->internal
	for figuring if the data is editable, data->editable is enough.

	All files above: s/writeable/writable/g

	* app/widgets/gimpbrusheditor.c (gimp_brush_editor_set_data):
	simplified.
2004-02-05 22:17:14 +00:00
Sven Neumann b49e39e8ed app/core/gimpchannel.c app/tools/gimptexttool.c app/vectors/gimpvectors.c
2004-02-04  Sven Neumann  <sven@gimp.org>

	* app/core/gimpchannel.c
	* app/tools/gimptexttool.c
	* app/vectors/gimpvectors.c
	* app/widgets/gimpbufferview.c: removed double semicolons.
2004-02-04 16:52:35 +00:00
Michael Natterer 528bb75cf0 also destroy the <Image> factory's "Tools" submenu because menu shortcuts
2004-02-02  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpimagedock.c (gimp_image_dock_constructor):
	also destroy the <Image> factory's "Tools" submenu because menu
	shortcuts with no or <shift> modifier prevent this key to be
	entered in text entries. This really badly baldy cries for
	GTK+ 2.4's GtkActions...
2004-02-02 12:27:18 +00:00
Michael Natterer 82276adaa4 Disallow to rename the layer mask. Instead, always name the mask "<layer
2004-02-01  Michael Natterer  <mitch@gimp.org>

	Disallow to rename the layer mask. Instead, always name the mask
	"<layer name> mask". Fixes bug #133112 along with some other
	unreported ones.

	* app/core/gimpitem.[ch]: added a boolean return value indicating
	success to GimpItem::rename().

	(gimp_item_real_rename): push an undo step only if the item is
	attached.

	* app/core/gimplayer.c (gimp_layer_rename): refuse renaming if
	the layer is a floating selection floated from a channel
	(renaming a layer's floating selection makes a new layer out
	of the floating selection).

	(gimp_layer_duplicate): use gimp_layer_add_mask() to attach the
	mask's duplicate. Fixes mask refcount brokenness for duplicated
	layer masks.

	(gimp_layer_name_changed): new function. Automatically renames the
	layer mask when the layer's name changes.

	* app/core/gimplayermask.c (gimp_layer_mask_rename): new function
	which refuses renaming.

	(gimp_layer_mask_name_changed): skip the unique name voodoo
	GimpItem does by not chaining up.

	(gimp_layer_mask_set_layer): change the mask's name whenever it is
	attached to a layer.

	* app/text/gimptextlayer.c (gimp_text_layer_rename): fiddle with
	text_layer->auto_rename only if renaming was successful.

	* app/widgets/gimpitemtreeview.c (gimp_item_tree_view_name_edited):
	restore the old name if renaming failed.

	* tools/pdbgen/pdb/drawable.pdb (set_name): return an execution
	error if renaming failed.

	* app/pdb/drawable_cmds.c: regenerated.
2004-02-01 20:38:26 +00:00
Michael Natterer 3781c7fb51 Use the global <Image> accel_group in all docks except the toolbox (the
2004-01-31  Michael Natterer  <mitch@gimp.org>

	Use the global <Image> accel_group in all docks except the
	toolbox (the latter needs GTK+ 2.4's new menu features).
	Addresses bug #119878:

	* app/gui/buffers-commands.c
	* app/gui/channels-commands.c
	* app/gui/data-commands.c
	* app/gui/documents-commands.c
	* app/gui/drawable-commands.c
	* app/gui/edit-commands.c
	* app/gui/file-commands.c
	* app/gui/gradients-commands.c
	* app/gui/image-commands.c
	* app/gui/layers-commands.c
	* app/gui/plug-in-commands.c
	* app/gui/select-commands.c
	* app/gui/tool-options-commands.c
	* app/gui/tools-commands.c
	* app/gui/vectors-commands.c
	* app/gui/view-commands.c: changed the various return_if_no_foo()
	macros to also accept a GimpDock as user_data.

	* app/gui/image-menu.c (image_menu_update): don't update the
	display related menu items if they don't exist (see below).

	* app/gui/gui.c (gui_display_changed): simplified.

	* app/widgets/gimpimagedock.[ch]: create an "<Image>" item_factory
	and attach its accel_group to the dock. Destroy all display
	related menu items. Destroy the layer stack navigation items
	because their default shortcuts interfere with tree and grid view
	keybindings. Connect to "image_changed" of the dock's private
	context and to "flush" of the image container to update the
	item_factory's state.
2004-01-31 20:23:53 +00:00
Michael Natterer 936b98a6d8 g_assert() that we got the essential construct properties.
2004-01-31  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdock.c (gimp_dock_constructor): g_assert() that
	we got the essential construct properties.
2004-01-31 18:54:53 +00:00
Michael Natterer a36798e997 added the scrolled window to the GimpToolOptionsEditor struct.
2004-01-30  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimptooloptionseditor.[ch]: added the scrolled
	window to the GimpToolOptionsEditor struct.

	(gimp_tool_options_editor_tool_changed): set the active tool's
	help ID on the scrolled window. Fixes bug #132969.
2004-01-30 22:10:31 +00:00
Simon Budig 645a1ab652 Store the zoom factor as float, not as a ratio.
2004-01-29  Simon Budig  <simon@gimp.org>

	* app/display/gimpdisplayshell.[ch]: Store the zoom factor as
	float, not as a ratio.

	* app/display/gimpdisplayshell-scale.[ch]: change the API to
	expose the Float instead a weirdly encoded integer. Implement
	functions to get a ratio from the scale factor. Implement a set
	as presets as discussed on the mailinglist. Changed Zoom->Other
	dialog to enable entering a float.

	* app/display/gimpdisplayshell-title.c
	* app/display/gimpnavigationview.c
	* app/gui/image-menu.c
	* app/gui/info-window.c
	* app/tools/gimpmagnifytool.c: changed accordingly.

	* app/core/gimp.[ch]
	* app/display/gimpdisplay.[ch]
	* app/gui/gui-vtable.c
	* app/widgets/widgets-enums.h: Made the various display-creating
	functions accept a float for the scale. Introduce a new
	GimpZoomType: GIMP_ZOOM_TO. Generally adjust the API to use
	floats instead of weird integers.

	* app/core/gimp-edit.c
	* app/core/gimptemplate.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/file/file-open.c
	* app/gui/image-commands.c
	* app/gui/view-commands.[ch]
	* tools/pdbgen/pdb/display.pdb
	* app/widgets/gimpimageview.c
	* app/widgets/gimptoolbox-dnd.c: changed accordingly

	* app/pdb/display_cmds.c: regenerated
2004-01-29 22:22:29 +00:00
Michael Natterer c798f9678d removed the last artefact of context signal handling from 1.2:
2004-01-29  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontext.[ch]: removed the last artefact of context
	signal handling from 1.2:

	GimpContext used to connect to e.g. the current brush's
	"invalidate_preview" and "name_changed" signals and emitted
	"brush_changed" when the callback was invoked. This was needed to
	make 1.2 work, but is conceptually broken with the real model <->
	view approach implemented in the current code.
	This change also optimizes things quite a bit because lots of
	signal emissions are saved.

	Added utility function which finds a container's current object
	after a freeze/thaw.

	* app/widgets/gimpcontainerview.[ch]: added new virtual function
	GimpContainerView::rename_item(). Connect to "name_changed" of the
	corrent container's children and invoke rename_item() accordingly.

	* app/widgets/gimpcontainertreeview.[ch]: removed name_changed
	handler and implement GimpContainerView::rename_item().

	* app/widgets/gimpcontainergridview.c: ditto. the grid view was
	still relying on the removed GimpContext behaviour for updating
	the label showing the sleected item's name.
2004-01-29 16:34:41 +00:00
Michael Natterer 894cf70dd5 Added infrastructure to make sure we don't write to the global brush,
2004-01-28  Michael Natterer  <mitch@gimp.org>

	Added infrastructure to make sure we don't write to the global
	brush, pattern etc. directories. Needed to make this configurable
	because we can't rely on the global directories being read-only,
	having certain names or being otherwise detectable at runtime in a
	sane way. Fixes bug #132214.

	* libgimpbase/gimpdatafiles.[ch]: added "const gchar *dirname" to
	the GimpDataFileData struct so callbacks don't need to call
	g_path_get_dirname() for each file.

	* libgimpwidgets/gimpfileentry.c: made it work with non UTF-8
	encoded filenames.

	* libgimpwidgets/gimppatheditor.[ch]: ditto. Added GUI and API for
	setting/getting a second "writable_path". The widget makes sure
	that the writable_path is always a subset of the path.

	* app/config/gimpconfig-utils.[ch]: added new function
	gimp_config_build_writable_path().

	* app/config/gimpcoreconfig.[ch]: added separate properties for
	the writable brush, pattern, gradient, palette and font paths.

	* app/config/gimprc-blurbs.h: added (still empty) blurbs for the
	new properties.

	* app/core/gimpdata.[ch] (gimp_data_set_filename): added parameter
	"gboolean writable". Set data->writable to FALSE by default. If
	"writable" is passed as TRUE, still check if we can write to the
	file before setting data->writable to TRUE.

	(gimp_data_create_filename): changed "data_path" parameter to
	"dest_dir" and assume dest_dir is writable.

	(gimp_data_duplicate): set data->dirty to TRUE to make sure
	duplicated things will be saved.

	* app/core/gimpbrush.c
	* app/core/gimpbrushgenerated.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpgradient.c
	* app/core/gimppalette.c
	* app/core/gimppattern.c: don't set the data's filename and don't
	touch data->dirty in the _load() functions because that's done by
	the data factory now. Don't touch data->dirty in the _duplicate()
	functions because that's done by gimp_data_duplicate() itself now.

	* app/core/gimpdatafactory.[ch] (gimp_data_factory_new): added
	"writable_property_name" and remember it.
	Added utility function gimp_data_factory_get_save_dir() which
	determines the directory to save new datas to.
	Added public function gimp_data_factory_data_save_single() which
	saves a single data object.
	Make sure new things get saved to the first writable directory
	as specified in preferences.

	* app/core/gimp.c (gimp_real_initialize): pass the writable_paths'
	property names to gimp_data_factory_new().

	* app/widgets/gimpdataeditor.c (gimp_data_editor_save_dirty): use
	gimp_data_factory_data_save_single() instead of implementing
	saving here.

	* app/widgets/gimppropwidgets.[ch] (gimp_prop_path_editor_new):
	added "const gchar *writable_property_name" parameter (can be
	NULL).

	Added the needed callbacks to handle the writable_path and made
	the path_editor and file_entry code aware of non UTF-8 filename
	encodings. Some general cleanup.

	* app/gui/preferences-dialog.c: changed accordingly.
2004-01-28 21:53:50 +00:00
Michael Natterer c07bbf8200 updated help IDs for new/reordered pages in the prefs dialog.
2004-01-28  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimphelp-ids.h: updated help IDs for new/reordered
	pages in the prefs dialog.

	* app/gui/preferences-dialog.c (prefs_dialog_new): changed
	accordingly.
2004-01-28 11:06:34 +00:00