Commit Graph

1523 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
b8bc248353 themes/Default/images/Makefile.am
2004-01-27  Michael Natterer  <mitch@gimp.org>

	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-channel-indexed-16.png
	* themes/Default/images/stock-channel-indexed-24.png
	* themes/Default/images/stock-channel-indexed-32.png
	* themes/Default/images/stock-channel-indexed-48.png
	* libgimpwidgets/gimpstock.[ch]: added placeholders for an INDEXED
	channel icon (copied from the GRAY channel icon). To be replaced...

	* app/widgets/gimppreviewrendererimage.c: use
	GIMP_STOCK_CHANNEL_INDEXED instead of GIMP_STOCK_QUESTION for the
	indexed channel.
2004-01-27 13:48:20 +00:00
0fd5669948 app/tools/gimpcurvestool.c use dark_gc instead of text_aa_gc to draw the
2004-01-26  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpcurvestool.c
	* app/widgets/gimphistogramview.c: use dark_gc instead of
	text_aa_gc to draw the histogram and curves grid lines. dark_gc is
	slightly lighter, looks better and fixes bug #132565.
2004-01-26 16:45:01 +00:00
0418750367 added help IDs for the libgimp export and unit dialogs.
2004-01-20  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimphelp-ids.h: added help IDs for the libgimp
	export and unit dialogs.

	* libgimp/gimpexport.c
	* libgimpwidgets/gimpunitmenu.c: replaced html links by the new
	help IDs.

	* plug-ins/*/*.c: replaced all html help links by help IDs. A
	plug-in's help ID is its procedure name with '_' relaced by '-'.

	(e.g. file_tiff_save's help ID is file-tiff-save)

	Did some random indentation and whitespace cleanup.
2004-01-20 17:10:16 +00:00
6d506d51bb include "libgimpbase/gimpbase.h" where needed; removed now unnecessary
2004-01-19  Sven Neumann  <sven@gimp.org>

	* app/*/*.c: include "libgimpbase/gimpbase.h" where needed; removed
	now unnecessary inclusions of "file/file-utils.h".
2004-01-19 01:54:11 +00:00
a70698c4d9 removed file_utils_filename_to_utf8() ...
2004-01-19  Sven Neumann  <sven@gimp.org>

	* app/file/file-utils.[ch]: removed file_utils_filename_to_utf8() ...

	* libgimpbase/gimputils.[ch]: ... and added it here as
	gimp_filename_to_utf8(). Added some docs that promise less than
	the current implementation holds so that we can change the
	implementation later.

	* app/*/*.c: use gimp_filename_to_utf8() where
	file_utils_filenames_to_utf8() has been used before.

	* libgimpbase/gimpbase.def: changed accordingly.

	* configure.in: reset GIMP_INTERFACE_AGE.
2004-01-19 01:08:43 +00:00
bb833af33f moved the first hint label to a line of its own. fixes bug #127673.
2004-01-19  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpgradienteditor.[ch]: moved the first hint label
	to a line of its own. fixes bug #127673.
2004-01-19 00:06:18 +00:00
bfe567c42b app/config/gimpguiconfig.[ch] app/config/gimprc-blurbs.h
2004-01-17  Sven Neumann  <sven@gimp.org>

	* app/config/gimpguiconfig.[ch]
	* app/config/gimprc-blurbs.h
	* app/widgets/gimpdock.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimpwidgets-utils.[ch]
	* app/widgets/gimpwidgets-utils.[ch]
	* app/widgets/widgets-enums.[ch]: GTK+-2.4 will allow to request
	windows to be kept above. This change prepares the code so that we
	can optionally do this for docks and the toolbox as soon as we
	depend on GTK+-2.4 (see bug #131672).
2004-01-16 23:18:23 +00:00
b6683376af converted tabs to spaces.
2004-01-16  Michael Natterer  <mitch@gimp.org>

	* app/gui/edit-commands.[ch]: converted tabs to spaces.

	(cut,copy_named_buffer_callback): unref the buffer after adding it
	to gimp->named_buffers. Seems we leaked all named buffers...

	Removed code duplication I have just introduced:

	* app/gui/edit-commands.[ch] removed
	edit_paste_into_cmd_callback(). Instead, pass the "paste_into"
	boolean as "guint action" to gimp_edit_paste_cmd_callback().

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

	* app/widgets/gimpbufferview.c: added utility function
	gimp_buffer_view_paste() and call it from the paste and paste_into
	callbacks.
2004-01-16 10:06:19 +00:00
0af39061b6 Fixed bug #78732 (don't paste off screen):
2004-01-15  Michael Natterer  <mitch@gimp.org>

	Fixed bug #78732 (don't paste off screen):

	* app/display/gimpdisplayshell-transform.[ch]: added new function
	gimp_display_shell_untransform_viewport() which returns the
	visible rectangle of the image in image coordinates.

	* app/core/gimp-edit.[ch] (gimp_edit_paste): added viewport
	parameters and changed positioning of the pasted layer as follows:

	- if there is a selection, center on the selection (just as before).
	- if there is no viewport, center on the active drawable.
	- if the viewport intersects with the active drawable, center
	  on the intersection.
	- if the viewport does *not* intersect with the active drawable,
	  center on the active drawable (off-screen, but better than pasting
	  something that will be invisible due to floating selection clipping).
	- if there is no active drawable, center on the viewport.
	- if there is no active drawable and no viewport, center on the image.

	* app/widgets/gimpbufferview.c (gimp_buffer_view_paste_clicked)
	(gimp_buffer_view_paste_into_clicked)
	* app/display/gimpdisplayshell-dnd.c (gimp_display_shell_drop_buffer)
	* app/gui/edit-commands.c (edit_paste_cmd_callback)
	(edit_paste_into_cmd_callback): ask the shell for the viewport
	and pass it to gimp_edit_paste().

	* app/display/gimpdisplayshell-dnd.c
	(gimp_display_shell_drop_drawable): center the created layer on
	the viewport.

	* app/tools/gimpmovetool.c (gimp_move_tool_button_release): use
	gimp_display_shell_untransform_viewport() (its code was taken from
	here).

	* tools/pdbgen/pdb/edit.pdb: pass "no viewport" to gimp_edit_paste().

	* app/pdb/edit_cmds.c: regenerated.
2004-01-15 14:36:43 +00:00
18485018b3 Add new function file_utils_filename_to_utf8(), which is to be used when
2004-01-14  Tor Lillqvist  <tml@iki.fi>

	* app/file/file-utils.[ch]: Add new function
	file_utils_filename_to_utf8(), which is to be used when converting
	file names (which are kept in the on-disk encoding) to UTF-8 for
	passing to GTK, or to g_print() etc.

	* app/*/*.c: Call file_utils_filename_to_utf8(). Should fix most
	of the warnings generated by non-UTF8 pathnames. See #130118.

	* libgimpbase/gimpenv.b: Document that gimp_directory() etc return
	strings in the on-disk encoding.

	* libgimpmodule/gimpmodule.c: Convert filenames to UTF-8 (using
	g_filename_to_utf8()) before passing to g_print().
2004-01-14 02:03:37 +00:00
ebc1bf8cca added GimpHistogramChannel index fiddling hacks for GRAYA images to all
2004-01-13  Michael Natterer  <mitch@gimp.org>

	* app/base/gimphistogram.c: added GimpHistogramChannel index
	fiddling hacks for GRAYA images to all gimp_histogram_get_*()
	functions. The public API now does what their enum values pretend
	to do.

	(gimp_histogram_calculate): restructured to reduce indentation depth.

	* app/widgets/gimphistogrameditor.c
	* app/widgets/gimphistogramview.c
	* tools/pdbgen/pdb/color.pdb: removed hacks here and always use
	the unchanged enum values.

	* app/pdb/color_cmds.c: regenerated.
2004-01-13 13:35:58 +00:00
9eaace417f renamed gimp_histogram_nchannels() to gimp_histogram_n_channels().
2004-01-13  Michael Natterer  <mitch@gimp.org>

	* app/base/gimphistogram.[ch]: renamed gimp_histogram_nchannels()
	to gimp_histogram_n_channels().

	* app/core/gimpdrawable-histogram.c: removed silly double negation
	logic. Cleanup.

	* app/widgets/gimphistogrameditor.c
	* app/widgets/gimphistogramview.c: adjust the GimpHistogramChannel
	for GRAYA images to make sure we pick alpha from the right slot.

	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c: removed the same hack here and call
	gimp_histogram_view_set_channel() with the correct enum value.

	* tools/pdbgen/pdb/color.pdb (levels, curves, histogram): fiddle
	with enum values here too so GRAY* drawables produce the correct
	results.

	Fixed precondition checks and set "success" in a uniform way all
	over the place.

	Use gimp_drawable_calculate_histogram() instead of duplicating its
	code here.

	(started with a patch from Pedro Gimeno. Fixes bug #109078)

	* app/pdb/color_cmds.c: regenerated.
2004-01-13 11:51:45 +00:00
b3d6c1fa80 Fix wrapped property.
2004-01-11  Manish Singh  <yosh@gimp.org>

        * app/widgets/gtkwrapbox.c: Fix wrapped property.
2004-01-12 01:32:20 +00:00
8c32fa9b6d removed the size parameter and do nothing but invalidating the preview.
2004-01-10  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagefile.[ch] (gimp_imagefile_update): removed the
	size parameter and do nothing but invalidating the preview.

	* app/gui/file-open-dialog.c
	* app/widgets/gimpdocumentview.c: changed accordingly.

	* app/core/gimpdocumentlist.c (gimp_document_list_deserialize):
	no need for calling gimp_imagefile_update() from here.

	* tools/pdbgen/pdb/fileops.pdb
	* app/pdb/fileops_cmds.c (file_load_thumbnail): rewritten using the
	GimpThumbnail API.

	* app/core/gimp.c: cosmetics.
2004-01-10 23:55:28 +00:00
8179ef7ef2 Made 2.0pre1 release.
2004-01-07  Sven Neumann  <sven@gimp.org>

        * Made 2.0pre1 release.
2004-01-07 03:53:28 +00:00
2a713ed85d cosmetic.
2004-01-06  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimptemplateeditor.c: cosmetic.
2004-01-06 11:37:00 +00:00
ba92cb3ea3 remove unnecessary GTK_WIDGET() cast.
2004-01-06  Manish Singh  <yosh@gimp.org>

        * app/widgets/gimpdasheditor.c (gimp_dash_editor_new): remove
        unnecessary GTK_WIDGET() cast.

        * app/widgets/gimpstrokeeditor.c (gimp_stroke_editor_constructor):
        remove unnecessary G_OBJECT() casts.

        * libgimpbase/gimplimits.h: cosmetic cleanup.

        * libgimpbase/gimpenv.c (gimp_toplevel_directory): add (void)
        to prototype.

        * plug-ins/script-fu/script-fu-console.c (script_fu_cc_key_function):
        set cursor to end of line after history navigation.

        * plug-ins/common/struc.c (strucpi): use CLAMP0255.
2004-01-06 10:04:31 +00:00
3451c82f4f added GIMP_UNDO_TEXT_LAYER to GimpUndoType enum.
2004-01-05  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.[ch]: added GIMP_UNDO_TEXT_LAYER to
	GimpUndoType enum.

	* app/core/gimpimage-undo-push.[ch]: added new undo function
	gimp_image_undo_push_text_layer().

	* app/text/gimptextlayer.[ch]: renamed gimp_text_layer_render() to
	gimp_layer_text_layer_flush().
	Added new function gimp_text_layer_discard().

	* app/text/gimptextlayer-transform.c: changed accordingly.

	* app/gui/image-menu.c
	* app/gui/layers-commands.[ch]
	* app/gui/layers-menu.c: added menu entries that allow to discard
	the text information of a text layer (bug #118547).

	* app/widgets/gimppreviewrendererlayer.c
	(gimp_preview_renderer_layer_render): treat text layers without a
	text object like ordinary layers.

	* app/widgets/gimppreviewrenderer-utils.c: include gimplayer.h
	instead of gimptextlayer.h.
2004-01-05 00:28:12 +00:00
411b54d149 Some default dash pattern enum. regenerated.
2003-12-28  Simon Budig  <simon@gimp.org>

	* app/core/core-enums.h: Some default dash pattern enum.
	* app/core/core-enums.c: regenerated.

	* app/core/gimpstrokeoptions.[ch]: Implement default dash
	patterns, add a signal when the dash pattern changes.

	* app/widgets/gimpstrokeeditor.c: Add an option menu for
	the dash pattern and connect it to the signal mentioned above.
2003-12-28 17:09:41 +00:00
5058627932 Fixed packing of the widgets.
2003-12-28  Simon Budig  <simon@gimp.org>

	* app/widgets/gimpstrokeeditor.c: Fixed packing of the widgets.
2003-12-28 13:48:52 +00:00
3955690e31 Added functions to shift the dash pattern to the left or right.
2003-12-28  Simon Budig  <simon@gimp.org>

	* app/widgets/gimpdasheditor.[ch]: Added functions to shift the
	dash pattern to the left or right.

	* app/widgets/gimpstrokeeditor.c: Improve the appearance of the
	widget and add left/right buttons.
2003-12-28 02:18:25 +00:00
266934dcdf some minor cleanups.
2003-12-27  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdasheditor.c: some minor cleanups.
2003-12-27 22:04:51 +00:00
c95bca30e9 Dashed stroking is here... :-)
2003-12-27  Simon Budig  <simon@gimp.org>

	Dashed stroking is here...  :-)

	* app/core/gimpdrawable-stroke.c: actually use the dash pattern
	from the options

	* app/core/gimpscanconvert.c: Normalize the dash pattern, so
	that libart does the right thing.

	* app/core/gimpstrokeoptions.c: Fix default value for dash
	offset, handle the property_get for PROP_DASH_INFO correct.

	* app/widgets/gimpdasheditor.[ch]
	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h: New widget to edit a dash
	pattern.

	* app/widgets/gimpstrokeeditor.c: Use it.
2003-12-27 19:25:19 +00:00
dfba90fe46 changed "svg_data" from guchar* to gchar*, cleaned up debugging output.
2003-12-21  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdnd.[ch]: changed "svg_data" from guchar* to
	gchar*, cleaned up debugging output.
2003-12-21 21:57:46 +00:00
6614f8a940 some cleanup while hunting window positioning bugs.
2003-12-21  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdialogfactory.c: some cleanup while hunting
	window positioning bugs.
2003-12-21 21:51:58 +00:00
e62ae26c90 render the selection in "light" histograms correctly (unused and
2003-12-21  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimphistogramview.c (gimp_histogram_view_expose):
	render the selection in "light" histograms correctly (unused and
	untested).
2003-12-21 21:43:46 +00:00
e12b44f26c reset container_view->dnd_widget in gimp_item_tree_view_constructor()
2003-12-21  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpitemtreeview.c: reset container_view->dnd_widget
	in gimp_item_tree_view_constructor() instead of
	gimp_item_tree_view_new().
2003-12-21 16:15:34 +00:00
c5af9ea7d2 this was starting to bit-rot on my disk: added "container" and "context"
2003-12-21  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainerview.c: this was starting to bit-rot on
	my disk: added "container" and "context" properties.

	(gimp_container_view_set_size_request): fixed scrollbar_width
	calculation for deprecated uses of the widget (should never happen
	but the code should be correct anyway).
2003-12-21 16:11:06 +00:00
1b8cdc037b made "item-type" and "signal-name" CONSTRUCT_ONLY properties. Configure
2003-12-21  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpitemtreeview.c: made "item-type" and
	"signal-name" CONSTRUCT_ONLY properties. Configure the DND dests
	in gimp_item_tree_view_constructor(), not in
	gimp_item_tree_view_new().
2003-12-21 12:11:44 +00:00
fc47cbc059 removed trailing whitespace and #if 0'ed cruft. Cosmetics.
2003-12-21  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimppreviewrendererbrush.c: removed trailing
	whitespace and #if 0'ed cruft. Cosmetics.
2003-12-21 11:07:40 +00:00