Commit Graph

2522 Commits

Author SHA1 Message Date
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
d928919200 Make sure each GimpItem emits "removed" when it is removed from the image
2004-02-17  Michael Natterer  <mitch@gimp.org>

	Make sure each GimpItem emits "removed" when it is removed from
	the image so dialogs have a chance to close themselves:

	* app/core/gimplayer.c (gimp_layer_apply_mask): emit "removed"
	from the mask.

	(gimp_layer_removed): new function which emits "removed" from
	the layer's mask when the layer gets removed from the image.

	* app/core/gimpimage.c (gimp_image_dispose): emit "removed"
	from all layers, channels and vectors.

	* app/gui/layers-commands.c (layers_scale_layer_query)
	(layers_resize_layer_query): removed recently added connections to
	"removed" because GimpViewableDialog does this automatically.
2004-02-17 11:45:46 +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
fd58450810 removed "Default" prefix from "Navigation Preview Size" label again.
2004-02-10  Sven Neumann  <sven@gimp.org>

	* app/gui/preferences-dialog.c (prefs_dialog_new): removed "Default"
	prefix from "Navigation Preview Size" label again.
2004-02-10 20:59:34 +00:00
afd1a451fb prefix preview size labels with "Default" to avoid misunderstandings.
2004-02-10 Henrik Brix Andersen <brix@gimp.org>

* app/gui/preferences-dialog.c (prefs_dialog_new): prefix preview
size labels with "Default" to avoid misunderstandings.
2004-02-10 20:28:41 +00:00
8b6812805d added runtime check for fontconfig > 2.2.0 and abort with a dialog box
2004-02-09  Michael Natterer  <mitch@gimp.org>

	* app/gui/gui.c (gui_libs_init): added runtime check for
	fontconfig > 2.2.0 and abort with a dialog box telling the
	user to upgrade fontconfig if the requirement is not met.
	Fixes all bugs like #133818.
2004-02-09 15:29:03 +00:00
1359960a56 added progress callback pointers to gimp_item_scale() and its variants.
2004-02-09  Sven Neumann  <sven@gimp.org>

	* app/core/gimpitem.[ch]: added progress callback pointers to
	gimp_item_scale() and its variants.

	* app/core/gimpchannel.c
	* app/core/gimpdrawable.c
	* app/core/gimpimage-scale.c
	* app/core/gimplayer.c
	* app/core/gimpselection.c
	* app/gui/layers-commands.c97999
	* app/paint-funcs/paint-funcs.[ch]
	* app/vectors/gimpvectors.c
	* tools/pdbgen/pdb/layer.pdb: changed accordingly. Fixes bug #97999.

	* app/pdb/layer_cmds.c: regenerated.
2004-02-09 00:09:20 +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
be6b23d68a removed trailing whitespace.
2004-02-05  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-crop.c: removed trailing whitespace.

	* app/gui/debug-commands.[ch]
	* app/gui/toolbox-menu.c: renamed ENABLE_DEBUG_ENTRIES to
	ENABLE_DEBUG_MENU and #define it to be equal to GIMP_UNSTABLE.
2004-02-05 12:52:35 +00:00
99c9381011 added percentages to the View->Zoom menu entries as suggested in bug
2004-02-04  Sven Neumann  <sven@gimp.org>

	* app/gui/image-menu.c (image_menu_entries): added percentages to
	the View->Zoom menu entries as suggested in bug #131563.
2004-02-04 01:21:00 +00:00
7d4ed423c9 don't mark weird format strings as translatable.
2004-02-03  Sven Neumann  <sven@gimp.org>

	* app/gui/image-menu.c (image_menu_set_zoom): don't mark weird
	format strings as translatable.

	* data/misc/gimp.desktop.in.in (_Name): use "The GIMP" without an
	"(unstable)" suffix. Should give translators the chance to update
	their translations before the final 2.0 release.

	* configure.in: removed now unused GIMP_VISIBLE_NAME variable.
2004-02-03 15:32:20 +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
12f28a4916 added some g_return_if_fail().
2004-01-31  Michael Natterer  <mitch@gimp.org>

	* app/gui/dialogs.c: added some g_return_if_fail().
2004-01-31 19:00:26 +00:00
6f1680ab1c use gboolean instead of gint for "alpha_dither" and "remove_dups" in all
2004-01-31  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-convert.[ch]: use gboolean instead of gint
	for "alpha_dither" and "remove_dups" in all public and private
	functions. Properly prototyped private functions. Minor cleanup.

	* app/gui/convert-dialog.c: pass FALSE instead of 0.

	* tools/pdbgen/pdb/convert.pdb: ditto. Also cleaned up a bit: use
	generated checks and documentation for enums, removed duplicate
	check for enum range (spotted by Kevin Cozens).

	* app/pdb/convert_cmds.c
	* libgimp/gimpconvert_pdb.c: regenerated.
2004-01-31 16:23:25 +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
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
402c5533cf use the new GIMP_STOCK_LAYER_MASK icon for "Add Layer Mask" dialog.
2004-01-27  Michael Natterer  <mitch@gimp.org>

	* app/gui/layers-commands.c (layers_add_mask_query): use the
	new GIMP_STOCK_LAYER_MASK icon for "Add Layer Mask" dialog.
2004-01-27 18:39:46 +00:00
1d71eaa1c9 app/gui/image-menu.c (image_menu_entries) use the new
2004-01-27  Michael Natterer  <mitch@gimp.org>

	* app/gui/image-menu.c (image_menu_entries)
	* app/gui/layers-menu.c (layers_menu_entries): use the new
	GIMP_STOCK_LAYER_MASK icons for "Add Layer Mask".
2004-01-27 15:03:27 +00:00
d0c75eb537 themes/Default/images/Makefile.am
2004-01-27  Michael Natterer  <mitch@gimp.org>

	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-layer-mask-16.png
	* themes/Default/images/stock-layer-mask-24.png
	* themes/Default/images/stock-layer-mask-32.png
	* themes/Default/images/stock-layer-mask-48.png
	* themes/Default/images/stock-selection-border-16.png
	* libgimpwidgets/gimpstock.[ch]: added forgotten layer mask and
	new "border selection" icons from Jimmac (-32 and -48 ones to be
	updated, they are currently copies of the channel icons).

	* app/core/gimplayermask.c (gimp_layer_mask_class_init)
	* app/gui/image-menu.c (image_menu_entries): use them.
2004-01-27 02:51:19 +00:00
4801e3ac44 use GIMP_STOCK_FLOATING_SELECTION for "Select->Float".
2004-01-26  Michael Natterer  <mitch@gimp.org>

	* app/gui/image-menu.c (image_menu_entries): use
	GIMP_STOCK_FLOATING_SELECTION for "Select->Float".

	(image_menu_update): set "Layer->Merge Down" insensitive for the
	bottom layer.
2004-01-26 22:44:59 +00:00
8915bbadfc don't update the fields here...
2004-01-25  Sven Neumann  <sven@gimp.org>

	* app/gui/info-window.c (info_window_create): don't update the fields
	here...

	* app/gui/view-commands.c (view_info_window_cmd_callback): ... but
	here when the info window is connected to the display shell. Patch
	from Shlomi Fish; fixes bug #132329.

	* app/gui/info-window.c (info_window_update_extended): fixed update
	of info window in automatic mode. Bug #118084, patch by Shlomi Fish.

	* autogen.sh: check for automake-1.8 also.

	* HACKING: note that automake-1.8 should work as well.
2004-01-25 13:53:23 +00:00
57911bbcba app/app_procs.c app/errors.c app/main.c app/config/gimpconfigwriter.c
2004-01-23  Michael Natterer  <mitch@gimp.org>

	* app/app_procs.c
	* app/errors.c
	* app/main.c
	* app/config/gimpconfigwriter.c
	* app/core/gimpdata.c
	* app/core/gimpdatafactory.c
	* app/gui/user-install-dialog.c
	* app/plug-in/plug-ins.c
	* app/vectors/gimpvectors-import.c: some more gimp_filename_to_utf8().

	* libgimp/gimp.c
	* libgimpmodule/gimpmodule.c
	* libgimpmodule/gimpmoduledb.c: use it here, too, now that is in
	libgimpbase.
2004-01-23 17:24:44 +00:00
f3c91918de added "gboolean use_default_values" to GimpItem::stroke().
2004-01-22  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: added "gboolean use_default_values"
	to GimpItem::stroke().

	* app/core/gimpselection.c: changed accordingly.

	* app/core/gimpchannel.c
	* app/vectors/gimpvectors.c: if use_default_values is TRUE, don't
	use the GimpPaintOptions passed in the GimpPaintInfo, but create a
	new one.

	* app/gui/stroke-dialog.c: pass FALSE so the values as set in the
	tool options are used.

	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/paths.pdb: pass TRUE so tool options settings
	don't affect PDB stroke calls. Fixes part 2 of bug #132145.

	* app/pdb/edit_cmds.c
	* app/pdb/paths_cmds.c: regenerated.
2004-01-22 00:16:49 +00:00
f1348dc2e6 replaced the indexed palette in the default "Layers, Channels, Paths"-Dock
2004-01-22  Simon Budig  <simon@gimp.org>

	* app/gui/dialogs-commands.c: replaced the indexed palette in
	the default "Layers, Channels, Paths"-Dock (as created by the
	menu in the toolbox) with the Undo History, since the indexed
	palette is pretty useless most of the time and the new setup
	at least matches the upper half of the dockable that comes up
	after a new user starts the Gimp the first time.
2004-01-21 23:48:38 +00:00
edff0480e1 show the image menu in newly created layers, channels & paths docks.
2004-01-21  Michael Natterer  <mitch@gimp.org>

	* app/gui/dialogs-commands.c: show the image menu in newly created
	layers, channels & paths docks.
2004-01-21 22:35:07 +00:00
d9b2478cca Fix undefined behaviour. Fixes crash in bringing up the Preferences dialog
2004-01-21  Tor Lillqvist  <tml@iki.fi>

	* app/gui/themes.c (themes_list_themes_foreach): Fix undefined
	behaviour. Fixes crash in bringing up the Preferences dialog when
	compiled with Sun's compiler.
2004-01-21 12:03:26 +00:00
73d258eb3d renamed info_dialog_popdown() to info_dialog_hide() and
2004-01-21  Michael Natterer  <mitch@gimp.org>

	* app/gui/info-dialog.[ch]: renamed info_dialog_popdown() to
	info_dialog_hide() and info_dialog_popup() to info_dialog_present().
	Added info_dialog_show() which just shows the dialog without
	calling gtk_window_present().

	* app/gui/info-window.c
	* app/gui/view-commands.c
	* app/tools/gimptransformtool.c: changed accordingly.

	* app/tools/gimpcroptool.c
	* app/tools/gimpperspectivetool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpsheartool.c: use info_dialog_show() so the dialog
	doesn't grab the focus away from the canvas. Fixes bug #132041.
2004-01-21 11:16:57 +00:00
cf13615514 app/gui/file-open-menu.c app/gui/file-save-menu.c app/gui/image-menu.c
2004-01-20  Michael Natterer  <mitch@gimp.org>

	* app/gui/file-open-menu.c
	* app/gui/file-save-menu.c
	* app/gui/image-menu.c
	* app/gui/menus.c
	* app/gui/plug-in-menus.c: when dynamically creating menu entries,
	pass static_entry == FALSE to gimp_item_factory_create_item() so a
	*copy* of the the help_id is attached to the menu item.
	Fixes help for plug-in menu entries.
2004-01-20 02:37:28 +00:00
c20541524f Fix gccism.
2004-01-19  Tor Lillqvist  <tml@iki.fi>

	* app/gui/about-dialog.c (decorate_text): Fix gccism.
2004-01-19 20:38:23 +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
f9cb4af74e when scaling an indexed image/layer, add a label telling the user that
2004-01-18  Michael Natterer  <mitch@gimp.org>

	* app/gui/resize-dialog.c: when scaling an indexed image/layer,
	add a label telling the user that indexed layers are always scaled
	without interpolation. Can't simply make the option menu
	insensitive because channels and layer masks are still scaled with
	the chosen interpolation type. Fixes bug #131779.
2004-01-18 22:50:24 +00:00
d528848f97 in the spirit of the fix for bug #131721 below, don't try to figure
2004-01-18  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.c (gimp_image_add_layer,remove_layer): in the
	spirit of the fix for bug #131721 below, don't try to figure
	manually if "alpha_changed" needs to be emitted but simply compare
	the old and new values of gimp_image_has_alpha().

	* app/gui/preferences-dialog.c (prefs_dialog_new): follow
	"foo-window-type" -> "foo-window-hint" change.
2004-01-18 13:38:24 +00:00
b18e38c714 fixed typo.
2004-01-18  Simon Budig  <simon@gimp.org>

        * app/gui/about-dialog.c: fixed typo.
2004-01-18 02:25:39 +00:00
8cdcee9626 make sure we always properly use the size of the logo image. Place the
2004-01-18  Simon Budig  <simon@gimp.org>

	* app/gui/about-dialog.c: make sure we always properly use
	the size of the logo image. Place the text at the bottom
	of the image when the size changes (position of the version
	string needs to be adjusted manually still...).

	* data/images/gimp_logo.png: slightly tweaked.

	* data/images/gimp1_0_logo.png: added for historical reasons.
2004-01-18 01:29:37 +00:00
15d4c9f4e6 redone to make it work again.
2004-01-18  Sven Neumann  <sven@gimp.org>

	* app/gui/file-open-dialog.c (file_open_create_thumbnail): redone
	to make it work again.

	* libgimpthumb/gimpthumbnail.c (gimp_thumbnail_load_thumb): fixed
	stupid mistake that caused thumbnails not to load under certain
	circumstances.
2004-01-18 00:54:53 +00:00
ddbc090847 fixed typo (bug #131670).
2004-01-16  Sven Neumann  <sven@gimp.org>

	* app/gui/menus.c (menus_init): fixed typo (bug #131670).
2004-01-16 11:40:10 +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
465e4372f0 Removed the code that disables save formats conditionally, making all of
2004-01-15  Pedro Gimeno  <pggimeno@wanadoo.es>

	* app/gui/file-save-menu.c (file_save_menu_update): Removed the
	code that disables save formats conditionally, making all of
	them available. Fixes bug #110610.
2004-01-15 21:14:39 +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
6c4deef6b0 Fixed small refresh issue.
2004-01-14  Simon Budig  <simon@gimp.org>

	* app/gui/about-dialog.c: Fixed small refresh issue.
2004-01-14 00:04:46 +00:00
c48c937042 New image for the about dialog by Jakub Steiner.
2004-01-13  Simon Budig  <simon@gimp.org>

	* data/images/gimp_logo.png: New image for the about dialog by
	Jakub Steiner.

	* app/gui/about-dialog.c: Adjusted to new image. Also could not
	resist to add a fancy effect...

	* data/images/gimp1_2_logo.png: Saved the image from 1.2.
2004-01-13 23:19:05 +00:00
3bee156b6e Allow invoking the text tool by double clicking a text layer in the layers
2004-01-13  Michael Natterer  <mitch@gimp.org>

	Allow invoking the text tool by double clicking a text layer in
	the layers dialog, just like the path tool is invoked when double
	clicking a path.

	* app/tools/gimptexttool.[ch]: added empty
	gimp_text_tool_set_layer() stub. Sven, your turn...

	* app/gui/layers-commands.[ch]: added layers_text_tool() which
	invokes the text tool on text layers and falls back to
	layers_edit_layer_query() otherwise.
	Added layers_text_tool_cmd_callback() for the layers menu.

	* app/gui/layers-menu.c: added "Text Tool" menu item and hide
	it for layers which are no text layers.

	* app/gui/dialogs-constructors.c (dialogs_layer_list_view_new):
	use layers_text_tool() as "activate" function.
2004-01-13 19:08:16 +00:00
9a2173a432 only call bind_textdomain_codeset() when it is available. Spotted by
2004-01-12  Sven Neumann  <sven@gimp.org>

	* app/gui/plug-in-menus.c (plug_in_menus_init): only call
	bind_textdomain_codeset() when it is available. Spotted by
	Reinhard Geissler (bug #131215).
2004-01-12 11:33:28 +00:00
cbdb6947af call the callback with the selected image which is not necessarily the
2004-01-12  Sven Neumann  <sven@gimp.org>

	* libgimp/gimpmenu.c (gimp_image_menu_new): call the callback with
	the selected image which is not necessarily the requested one
	(fixes bug #92586).
	Also changed all menu constructors to always call the registered
	callback even when the value is -1 because the menu is empty.

	* app/gui/plug-in-commands.c (plug_in_run_cmd_callback): run the
	procedure even if there's no active GIMP display. The display and
	screen is then taken from the current cursor position.

	* app/gui/gui-vtable.c (gui_get_display_name): don't call
	gimp_display_get_by_ID() unless gdisp_ID is > 0.
2004-01-12 11:00:45 +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
15cf8858e0 no need to check if the layer has an alpha channel because
2004-01-10  Michael Natterer  <mitch@gimp.org>

	* app/gui/layers-commands.c (layers_alpha_to_selection_cmd_callback):
	no need to check if the layer has an alpha channel because
	gimp_channel_select_alpha() handles layers without alpha fine: it
	selects everything that is opaque, which is the entire layer.

	* app/gui/image-menu.c (image_menu_update)
	* app/gui/layers-menu.c (layers_menu_update): don't make the
	"Alpha to Selection" items insensitive for layers without alpha.
2004-01-10 15:32:51 +00:00