2004-07-29 Sven Neumann * libgimpwidgets/gimppreviewarea.c: only invalidate the buffer on size_allocate; allocate a new one on the next call to gimp_preview_area_draw(). Fixed buffer offset in expose method. * libgimpwidgets/Makefile.am * libgimpwidgets/test-preview-area.c: more a benchmark than a test; quite similar to testrgb from the GTK+ source tree. 2004-07-29 DindinX * plug-ins/FractalExplorer/Dialogs.c: converted all GtkPreview widgets to GimpPreviewArea. 2004-07-29 Michael Natterer * libgimpmodule/gimpmoduledb.c: converted tabs to spaces, removed unused #if 0'ed prototype and unused #includes, minor cleanups. 2004-07-29 Shlomi Fish * plug-ins/gimpressionist/*.[ch]: normalized the names of the fields of gimpressionist_vals_t. 2004-07-29 Sven Neumann * libgimpwidgets/Makefile.am * libgimpwidgets/gimpwidgets.def * libgimpwidgets/gimpwidgets.h * libgimpwidgets/gimpwidgetstypes.h * libgimpwidgets/gimppreviewarea.[ch]: added GimpPreviewArea, a replacement for GtkPreview, loosely based on patches from Geert Jordaens and David Odin. Fixes bug #144759. * plug-ins/common/sharpen.c: use the new widget instead of a GtkPreview; saves about 100 lines of rather complex code :) 2004-07-29 Michael Natterer * etc/controllerrc: changed default configuration of the keyboard controller: scroll the display one step on cursor_key, scroll by one page on +cursor_key and scroll to top/bottom/left/right on +cursor_key. Fixes bug #53988. Moved the old opacity-modifying actions to +cursor_key. 2004-07-29 Michael Natterer Replaced the concept of having a boolean indicating if an undo step dirties the image by a bitfield indicating which parts of the image are dirtied: * app/core/core-enums.[ch]: reordered two values in enum GimpUndoType, added GIMP_DIRTY_IMAGE_SIZE to enum GimpDirtyMask. The values of GimpDirtyMask are still questionable and will probably change... * app/core/gimpimage.[ch]: removed signal "undo_start" and added a GimpDirtyMask parameter to the "dirty" and "clean" signals. * app/core/gimpimage-undo.[ch] (gimp_image_undo_push): replaced "gboolean dirties_image" by "GimpDirtyMask dirty_mask" and pass it to gimp_image_dirty(). (gimp_image_undo_group_start): added *ugly* code which tries to figure GimpDirtyMask from the group's GimpUndoType and store it in the GimpUndoGroup. Call gimp_image_dirty() instead of the removed gimp_image_undo_start(). This means the undo group now dirties the image just like one of its undo steps, but that's no problem since undoing cleans it in the same way. * app/core/gimpundo.[ch]: s/dirties_image/dirty_mask/g (gimp_undo_pop): emit clean/dirty signals *before* performing the actual undo step so listeners can detach from the image before it is changed by undo. * app/core/gimpimage-undo-push.c (gimp_image_undo_push_*): pass a GimpDirtyMask instead of TRUE/FALSE to gimp_image_undo_push(). * app/core/gimpimagemap.[ch]: removed "gboolean interactive" because it makes no sense to use GimpImageMap noninteractively. Don't freeze()/thaw() undo while the image_map is active which fixes many ways of trashing the image's undo state but probably introduces new ways of doing evil things. * app/display/gimpdisplay-foreach.c * app/display/gimpdisplayshell-handlers.c: changed according to the GimpImage::clean()/dirty() signal changes. Small fixes in the quit dialog's dirty image container. * app/tools/gimptoolcontrol.[ch]: added member and API to set/get the dirty_mask. * app/tools/gimpcroptool.c * app/tools/gimpimagemaptool.c * app/tools/gimpiscissorstool.c * app/tools/gimptexttool.c * app/tools/gimptransformtool.c: whenever setting "preserve" to FALSE, also set a "dirty_mask" which specifies on which image changes the tool wants to be canceled. * app/tools/tool_manager.c: removed "undo_start" connection and connect to both "dirty" *and* "clean" to check if the active_tool needs to be canceled. Cancel the tool only if the dirty_mask passed in the signal has common bits with the tool's dirty_mask. Fixes bug #109561 and probably opens some new ones... 2004-07-29 Michael Schumacher * libgimp/gimp.def * libgimp/gimpui.def: added some missing symbols 2004-07-29 Sven Neumann * libgimpbase/gimpbase.def: added new symbols. 2004-07-29 Michael Natterer Added support for motion event history as provided by some input device drivers. If you have a tablet driver supporting this, please try and report back. * app/display/gimpdisplayshell.h (struct GimpDisplayShell): added member "guint32 last_motion_time". * app/display/gimpdisplayshell-callbacks.c (gimp_display_shell_tool_events): remember the last_motion_time on button_press() and after motion() and ask the current device for its motion history; in motion(), if the active_tool asks for exact motions, check if the input device recorded a motion history and process the history instead of the motion event. (gimp_display_shell_get_time_coords): new utility function which gets GimpCoords from a GdkTimeCoord struct as used by the motion history. 2004-07-29 Shlomi Fish * plug-ins/gimpressionist/repaint.c: converted a multiple if into a nested one. 2004-07-29 Sven Neumann * app/core/core-enums.h: removed enums GimpImageType and GimpImageBaseType ... * libgimpbase/gimpbaseenums.h: ... and added them here. Also moved all enums from gimpbasetypes.h to this new file. * libgimpbase/Makefile.am * tools/pdbgen/Makefile.am: changed accordingly. * app/core/core-enums.c * libgimp/gimpenums.h * libgimpbase/gimpbaseenums.c * tools/pdbgen/enums.pl: regenerated. * libgimpbase/gimpparasite.c * libgimpbase/gimpprotocol.c * libgimp/gimp.c: include * libgimpbase/gimpbasetypes.[ch]: added API to set and get a translation domain on a GType. This is used for translatable enum values. * libgimpbase/gimputils.[ch]: added API to retrieve the translated name for an enum value. * app/widgets/gimpenumstore.c * app/widgets/gimpenumwidgets.c: use the new API in libgimpbase. 2004-07-29 Sven Neumann * libgimp/gimpdrawable.c: fixed gtk-doc comments. 2004-07-29 Dave Neary * app/core/gimpdrawable-transform.c: Stop signed ints overflowing while getting the mean by replacing (a + b) / 2 with a / 2 + b / 2. Fixes bug #128594 for drawables less than 32K wide. 2004-07-29 Michael Natterer * app/gui/preferences-dialog.c: renamed "Cleared saved foobar now" buttons to "Reset saves foobar to default values". Fixes bug #5673. Added mnemonics for all the configure/save/reset buttons. 2004-07-29 Sven Neumann * plug-ins/script-fu/script-fu-scripts.c (script_fu_free_script): applied patch by Kevin Cozens that moves a g_free() to the right place (bug #148729). 2004-07-28 Michael Natterer * app/actions/actions.c (action_groups): register the GIMP_STOCK_VISIBLE icon with the "view" action group. 2004-07-28 Shlomi Fish * plug-ins/gimpressionist/brush.c: removed a redundant parameter from one of the internal functions. * plug-ins/gimpressionist/utils.c: Made sure that resources that are selected by the presets will position their list views accordingly. 2004-07-28 Sven Neumann * autogen.sh: if the check for libtoolize fails, try glibtoolize. 2004-07-28 Shlomi Fish * plug-ins/gimpressionist/presets.c: created a base function for two functions with duplicate code. 2004-07-28 Sven Neumann * plug-ins/imagemap/imap_default_dialog.c: no need to include "libgimp/stdplugins-intl.h" here. 2004-07-28 Michael Natterer * app/gui/preferences-dialog.c (prefs_dialog_new): reordered buttons in the Interface -> Keyboard Shortcuts section to be consistent with other sections which provide configure/save/clear buttons. 2004-07-28 Michael Natterer * app/tools/gimpbycolorselecttool.c (gimp_by_color_select_tool_init) * app/tools/gimpcolorpickertool.c (gimp_color_picker_tool_init): don't call gimp_tool_control_set_preserve (tool->control, FALSE) because these tools don't cache any image state and don't care about the image changing under their feet. 2004-07-28 Michael Natterer * app/display/gimpdisplayshell.c (gimp_display_shell_reconnect): emit "reconnect" *before* emitting scale and scroll events so listeners (the navigation view) can switch to the new image at the right time. 2004-07-28 Sven Neumann Applied a patch from Brion Vibber that makes the TWAIN plug-in available on Mac OS X (bug #147962): * configure.in * plug-ins/Makefile.am: check for Mac OS X twain support. * plug-ins/twain/Makefile.am * plug-ins/twain/tw_local.h * plug-ins/twain/tw_mac.c * plug-ins/twain/tw_platform.h * plug-ins/twain/tw_win.c: new files with platform specific code. * plug-ins/twain/README * plug-ins/twain/tw_dump.[ch] * plug-ins/twain/tw_func.[ch] * plug-ins/twain/tw_util.[ch] * plug-ins/twain/twain.c: changed accordingly. * plug-ins/twain/gimp-twain.png: twain application icon used by the Mac port. * plug-ins/twain/tw_sess.c: removed, doesn't seem to be used. 2004-07-28 Michael Natterer * tools/pdbgen/pdb/image.pdb (image_is_dirty): fix typo in parameter description. * app/pdb/image_cmds.c * libgimp/gimpimage_pdb.c: regenerated. 2004-07-28 DindinX * plug-ins/common/unsharp.c: Added a toggle button to enable/disable preview updating. Should fix #144972. 2004-07-28 DindinX * plug-ins/common/shift.c * plug-ins/common/sinus.c * plug-ins/common/snoise.c * plug-ins/common/spheredesigner.c: added missing calls to g_rand_free (), remove tabs while I was at it. * plug-ins/common/smooth_palette.c: minor cleanup * plug-ins/common/spread.c: removed tabs. 2004-07-28 Michael Natterer * app/core/core-enums.h: added still unused flags type GimpDirtyMask. * app/base/Makefile.am * app/core/Makefile.am * app/display/Makefile.am * app/paint/Makefile.am * app/text/Makefile.am * app/tools/Makefile.am * app/widgets/Makefile.am * libgimpthumb/Makefile.am: changed calls to gimp-mkenums to support GTypeFlags and to make the value arrays private to the get_type() functions. * app/base/base-enums.c * app/core/core-enums.c * app/display/display-enums.c * app/paint/paint-enums.c * app/text/text-enums.c * app/tools/tools-enums.c * app/widgets/widgets-enums.c: regenerated. 2004-07-28 Michael Natterer * app/paint/gimpclone.c: converted tabs to spaces. 2004-07-28 DindinX * plug-ins/common/spread.c: fix a smallish memory leak. 2004-07-28 Sven Neumann * tools/gimp-mkenums: synced with glib-mkenums (execept for the newly added template feature). 2004-07-28 Michael Natterer * libgimp/gimpbrushselect.c * libgimp/gimpfontselect.c * libgimp/gimpgradientselect.c * libgimp/gimppalettemenu.c * libgimp/gimppaletteselect.c * libgimp/gimppatternselect.c (gimp_*_select_destroy): don't leak the selected object's name and its data (brush mask etc). * libgimp/gimpfontmenu.c: moved the icon to the left side of the button. * libgimp/gimppalettemenu.c: ditto. Added "Since: GIMP 2.2" to API docs. 2004-07-28 Michael Natterer * app/widgets/gimpactiongroup.c (gimp_action_group_set_action_label): forgot to strip mnemonics here. 2004-07-28 Michael Natterer Enabled disabling all menu mnemonics. Addresses bug #120034: * app/config/gimpguiconfig.[ch] * app/config/gimprc-blurbs.h: added boolean RESTART property "menu-menonics". * app/gui/preferences-dialog.c: added a GUI for it. * app/widgets/gimpactiongroup.[ch]: added boolean CONSTRUCT_ONLY property "mnemonics". (gimp_action_group_add_*_actions): call gimp_strip_uline() on the actions' labels if mnemonics is FALSE. * app/widgets/gimpactionfactory.[ch] * app/actions/actions.c: pass gui_config->menu_menmonics to all action groups. 2004-07-27 Sven Neumann * menus/image-menu.xml.in: commented out "Context" menu now that we have a shortcut editor. 2004-07-27 Sven Neumann * app/core/gimpgradient-load.c: don't leak empty SVG gradients. 2004-07-27 Sven Neumann * app/actions/image-commands.c: include "libgimpbase/gimpbase.h", not an individual header out of libgimpbase. 2004-07-27 Sven Neumann * libgimpbase/Makefile.am * libgimpbase/gimpbase.h * libgimpbase/gimpbase.def * libgimpbase/gimpmemsize.[ch]: added new files with memsize related functions (moved here from gimputil.c) and GIMP_TYPE_MEMSIZE (moved here from app/config/gimpconfig-types.[ch]). * libgimpbase/gimputils.[ch]: removed gimp_memsize_to_string() here. * libgimpbase/gimpunit.[ch]: added GIMP_TYPE_UNIT (moved here from app/config/gimpconfig-types.[ch]). * libgimpbase/gimpbase-private.c * libgimp/gimptile.c * libgimp/gimpunitcache.c * plug-ins/help/domain.c * app/xcf/xcf-read.c: need to include glib-object.h. * plug-ins/common/uniteditor.c: use GIMP_TYPE_UNIT. * app/config/gimpconfig-types.[ch]: removed code that lives in libgimpbase now. * app/config/gimpconfig-deserialize.c: changed accordingly. * app/config/gimpbaseconfig.c * app/config/gimpdisplayconfig.c * app/core/gimpcontext.c * app/gui/grid-dialog.c * app/tools/gimpcolortool.c * app/widgets/gimpaction.c * app/widgets/gimpunitstore.c: no need to include gimpconfig-types.h any longer. 004-07-27 Michael Natterer * libgimp/Makefile.am * libgimp/gimp.h * libgimp/gimpui.h * libgimp/gimppalettemenu.[ch] * libgimp/gimppaletteselect.[ch]: added palette select wrapper and widget (straight copy & string replace of the font select stuff). Fixes bug #136130. * plug-ins/script-fu/script-fu-enums.h * plug-ins/script-fu/script-fu-scripts.c * plug-ins/script-fu/siod-wrapper.c: added SF_PALETTE so it can be used in scripts. * plug-ins/script-fu/scripts/test-sphere.scm: added a palette parameter to the test script. 2004-07-27 Michael Natterer * app/core/gimpimage.c (gimp_image_finalize): remove the image from the image hash table and set its "gimp" pointer to NULL *after* all layers, channels, vectors and the selection are finalized; otherwise these items have no chance of removing themselves from the item hash table (because image->gimp is already NULL). Spotted by pgimeno and nomis. (should be backported after it got some testing) 2004-07-27 Sven Neumann * app/widgets/gimpfiledialog.c (gimp_file_dialog_new): string change. 2004-07-27 Michael Natterer * app/widgets/gimpfiledialog.c (gimp_file_dialog_set_uri): make sure we always set a non-null URI. 2004-07-27 Sven Neumann * app/widgets/gimphelp-ids.h removed unused help IDs GIMP_HELP_FILE_OPEN_XCF and GIMP_HELP_FILE_SAVE_XCF. The help IDs for these entries are generated from the procedure names. 2004-07-27 Sven Neumann * app/widgets/gimphelp.c (gimp_help): print the help-id and help-domain to stdout if gimp was started with the --verbose command-line option. 2004-07-27 Sven Neumann * app/widgets/gimpfiledialog.c (gimp_file_dialog_add_filters): show extensions in the filters menu. Is this a good idea at all? 2004-07-27 Sven Neumann * libgimp/gimpbrushmenu.c * libgimp/gimppatternmenu.c: attempt to make the brush and pattern selectors look less like buttons (supposed to fix bug #147777). 2004-07-27 Sven Neumann * libgimpwidgets/gimpcolorhexentry.c (gimp_color_hex_entry_events): also accept the short hexadecimal notation (3 hex digits). 2004-07-26 Sven Neumann * libgimpwidgets/Makefile.am (libgimpwidgetsinclude_HEADERS): added new files. 2004-07-26 Sven Neumann * app/widgets/Makefile.am * app/widgets/gimpcellrenderertoggle.[ch]: moved to libgimpwidgets. * app/widgets/gimpcomponenteditor.c * app/widgets/gimpcontainertreeview.c * app/widgets/gimpitemtreeview.c * app/widgets/gimplayertreeview.c * app/widgets/gimptoolview.c * app/widgets/widgets-types.h: changed accordingly. * libgimpwidgets/Makefile.am * libgimpwidgets/gimpwidgets.def * libgimpwidgets/gimpwidgets.h * libgimpwidgets/gimpwidgetsmarshal.list * libgimpwidgets/gimpwidgetstypes.h * libgimpwidgets/gimpcellrenderertoggle.[ch]: custom toggle cell renderer moved here from app/widgets. * libgimpwidgets/gimpcellrenderercolor.[ch]: unified code with the new toggle cell renderer. 2004-07-26 Michael Natterer * app/pdb/procedural_db.[ch] (procedural_db_free_data): new function which clears the whole list of data set by plug-ins. (procedural_db_free): use it. * app/actions/plug-in-actions.c * app/actions/plug-in-commands.[ch]: added action, callback and confirmation dialog for "Reset all filters to default values". Somehow addresses bug #81015. * app/widgets/gimphelp-ids.h: added a help ID for the new action. * menus/image-menu.xml.in: added it to the "Filters" submenu. 2004-07-26 Sven Neumann * libgimpwidgets/gimpcellrenderercolor.c (gimp_cell_renderer_color_get_size): fine-tuning. 2004-07-26 Michael Natterer * app/config/gimpconfig-types.h: removed GIMP_TYPE_COLOR. * app/config/gimpconfig-params.[ch]: renamed GimpParamSpecColor to GimpParamSpecRGB. * app/config/gimpconfig-deserialize.c * app/config/gimpconfig-dump.c * app/config/gimpconfig-serialize.c * app/config/gimpscanner.c * app/core/gimp-utils.c * app/core/gimpcontext.c * app/core/gimpgrid.c * app/display/gimpdisplayoptions.c * app/text/gimptext.c * app/tools/gimpcolortool.c * app/widgets/gimpaction.c * app/widgets/gimpcolorbar.c * app/widgets/gimppropwidgets.c: changed accordingly. 2004-07-26 Shlomi Fish * plug-ins/gimpressionist/: added a de-allocation to the PPM's allocated by the size map dialog. 2004-07-26 Sven Neumann * app/core/gimpgradient-load.c: load all linear gradients from an SVG file, not only the first one. 2004-07-26 Michael Natterer * app/core/gimpdatafactory.h: added "gboolean writable" to the GimpDataFactoryLoaderEntry struct. Return a GList* instead of GimpData* from GimpDataLoadFunc so it's possible to load more than one data object from one file. * app/core/gimpdatafactory.c (gimp_data_factory_load_data): changed accordingly: add all items of the returned lists to the data factory. Make the data object writable only if it's in the writable path *and* its loader entry says it's a writable format *and* the returned list contains exactly one element. * app/core/gimp.c (gimp_real_initialize): declare all loader entries as writable where we have code to read and write exactly one object per file; all others are not writable. * app/core/gimpbrush.[ch] * app/core/gimpbrushgenerated.[ch] * app/core/gimpbrushpipe.[ch] * app/core/gimpgradient-load.[ch] * app/core/gimppalette.[ch] * app/core/gimppattern.[ch] (all load functions): return a list containing the loaded object instead of the object itself. 2004-07-26 Sven Neumann * libgimpwidgets/Makefile.am * libgimpwidgets/gimpwidgets.def * libgimpwidgets/gimpwidgets.h * libgimpwidgets/gimpwidgetstypes.h * libgimpwidgets/gimpcellrenderercolor.[ch]: added a GimpRGB cell renderer. * libgimpwidgets/gimpcolorarea.[ch]: exported the function that renders the color to a buffer for internal use in libgimpwidgets. * libgimpwidgets/gimpcolorhexentry.c: use the new cell renderer for the completion popup. 2004-07-26 Sven Neumann * libgimpcolor/gimpcolor.def * libgimpwidgets/gimpwidgets.def: added new symbols. 2004-07-26 Sven Neumann * libgimpcolor/gimprgb.[ch]: register GimpRGB as a boxed type. * libgimpcolor/gimpadaptivesupersample.c * libgimpcolor/gimpcolorspace.c * libgimpcolor/gimprgb-parse.c * libgimp/gimp.h: include instead of . 2004-07-26 Shlomi Fish * plug-ins/gimpressionist/: placed all the orientation map-related public functions in orientmap.h. Now we're freeing the PPM's that it is allocating by a call to orientation_map_free_resources(). 2004-07-26 Michael Natterer * app/core/core-types.h: removed unused typedef GimpDataObjectLoaderFunc. 2004-07-26 Sven Neumann * libgimpcolor/gimprgb-parse.c * libgimpcolor/gimprgb.h: added new function gimp_rgb_list_names() that gives access to the list of SVG color keywords. * libgimpwidgets/Makefile.am * libgimpwidgets/gimpwidgets.h * libgimpwidgets/gimpwidgetstypes.h * libgimpwidgets/gimpcolorhexentry.[ch]: added new widget that allows to enter colors in hex notation or by using color names. * libgimpwidgets/gimpcolorscales.c: use a GimpColorHexEntry. 2004-07-26 Michael Natterer * app/tools/gimpeditselectiontool.[ch]: renamed init_edit_selection() to gimp_edit_selection_tool_start(). Removed enum EditType. * app/tools/tools-enums.h: added enum GimpTranslateMode instead. * app/tools/gimpmovetool.c: changed accordingly. * app/tools/gimpselectiontool.[ch]: added protected utility function gimp_selection_tool_start_edit(). * app/tools/gimpfreeselecttool.c * app/tools/gimpfuzzyselecttool.c * app/tools/gimprectselecttool.c: use the new function instead of duplicating the same code three times, don't include "gimpeditselectiontool.h". * app/tools/gimpiscissorstool.c: don't include "gimpeditselectiontool.h". 2004-07-26 Michael Natterer * app/tools/gimpeditselectiontool.c: don't freeze()/thaw() the image's undo to prevent live-movement from ending up on the undo stack. Instead, just stop pushing undo steps after the initial movement. Simplifies edit_select's undo code quite a bit and fixes bug #148458. 2004-07-26 Sven Neumann * libgimpwidgets/gimpcolorscales.c (gimp_color_scales_hex_events): accept SVG color names in the hex entry. Not very intuitive but probably a nice experts feature and it can be improved later. 2004-07-26 Michael Natterer * app/main.c (main): use #ifdef GIMP_UNSTABLE instead of looking at GIMP_MINOR_VERSION. * app/app_procs.c: don't #include "tools/gimp-tools.h". 2004-07-26 Sven Neumann * plug-ins/bmp/bmp.h * plug-ins/bmp/bmpread.c: applied a patch by Brion Vibber that fixes extra data overflow, nonstandard 16bpp field arrangement and unrecognized compression (bug #143682). 2004-07-25 Bill Skaggs * plug-ins/common/decompose.c: clamp results of LAB decomposition so that out-of-gamut conversions do not overflow and get badly distorted. Fixes bug #147603. Note that it would probably be a good idea to do similar things for other conversion types. 2004-07-25 Shlomi Fish * plug-ins/gimpressionist/: converted checks for initialization of ppm's done by checking the "col" buffer, to macro calls. 2004-07-25 Shlomi Fish * plug-ins/gimpressionist/: fixed bug #148088: ("Gimpressioinst crashes if given malicious presets with out of range values, in the radio buttons group numeric values: "placetype", "orienttype", etc. "). This was done by adding clamps to the relevant values in the preset. 2004-07-25 Raphaël Quinet * INSTALL: Minor fixes and improvements. Suggest using a different prefix and setting PKG_CONFIG_LIBDIR if old versions of GTK+ libs are found and cannot be removed without breaking other packages. 2004-07-23 Shlomi Fish * plug-ins/gimpressionist/: created a header "orientation.h" for the Orientation tab specific declarations. 2004-07-23 Sven Neumann * libgimp/gimppixbuf.c (gimp_pixbuf_from_data): added missing code for grayscale previews. 2004-07-23 Sven Neumann * app/core/gimpgradient-load.c (svg_parser_end_element): fixed handling of the last gradient segment and did some code cleanup. 2004-07-23 Sven Neumann * app/core/gimpgradient-load.c (gimp_gradient_load_svg): improved error message. (svg_parser_end_element): don't crash on empty gradient definitions. 2004-07-23 Sven Neumann * libgimpcolor/test-color-parser.c: added more test samples. * libgimpcolor/gimprgb-parse.c: fixed a bug that I found with the new tests. * app/core/gimpgradient-load.c: changed SVG parser to handle gradients that are defined more deeply in the SVG hierarchy. Added a simplistic CSS style parser to deal with gradient definitions that use CSS to define the gradient stop properties (closes bug #148127). 2004-07-23 Sven Neumann * app/core/gimpdatafactory.c: some newlines to improve error messages. * app/core/gimpgradient-load.c (gimp_gradient_load_svg): fixed error handling. 2004-07-23 Sven Neumann * libgimpcolor/Makefile.am * libgimpcolor/test-color-parser.c: added a simple unit test framework for the color parser. * libgimpcolor/gimprgb-parse.c: fixed parsing of rgba() values. * libgimpmath/test-md5.c: minor cleanup. 2004-07-23 Sven Neumann * libgimpcolor/gimprgb-parse.c (gimp_rgba_parse_css): added support for the "transparent" color name. 2004-07-22 Sven Neumann * libgimpcolor/gimprgb-parse.c * libgimpcolor/gimprgb.h: improved the CSS color parser code, added new function gimp_rgba_parse_css(), added support for HSL color values. 2004-07-22 Sven Neumann * libgimpcolor/gimprgb-parse.c * libgimpcolor/gimprgb.h: use a signed integer to pass the string length to the new parser functions. The API explicitely asks for -1 to be passed... * app/core/gimp.c * app/core/gimpgradient-load.[ch] * app/core/gimpgradient.h: added preliminary support for loading simple SVG gradients (see bug #148127). Be careful with this new feature; editing the loaded gradient will cause the SVG file to be overwritten! Work in progress... 2004-07-22 Sven Neumann * app/core/Makefile.am * app/core/gimpgradient-load.[ch] * app/core/gimpgradient-save.[ch] * app/core/gimpgradient.[ch]: moved gradient file handling out of gimpgradient.c to new files. * app/core/gimp.c * app/actions/gradients-commands.c: changed accordingly. * libgimpcolor/gimpcolor.def: added gimp_rgb_parse_name. 2004-07-22 Michael Natterer * data/misc/gimp.desktop.in.in (MimeType): image/g -> image/g3fax. 2004-07-22 Sven Neumann * app/widgets/gimpactionview.c: rephrased the text for the dialog that appears if a new shortcut collides with an existing one. * libgimpcolor/gimprgb.[ch]: added new function gimp_rgb_parse_name() which accepts RGB colors in hexadecimal notation or as SVG color keywords. 2004-07-22 Michael Natterer * app/display/gimpdisplayshell.c (gimp_display_shell_resume): s/pause/resume/ in the API docs. 2004-07-22 Michael Natterer * tools/gimp-remote.c (main): correctly convert relative paths to URIs. Append the resulting URI only if it's not NULL. 2004-07-22 Michael Natterer * app/widgets/gimptoolbox.c (toolbox_create_tools): connect to "accel-changed" of the accel_group using connect_object(), not just connect() so we don't crash when it's emitted after the toolbox is destroyed. 2004-07-21 Ray Strode * gimp/data/misc/gimp.desktop.in.in: Add MimeType line to desktop file for new MIME system. 2004-07-21 Sven Neumann * plug-ins/common/gif.c: declared global const variable as static. Fixes compiler warnings seen with gcc 3.4.1 (don't ask me why). 2004-07-21 Michael Natterer * app/widgets/gimptemplateeditor.c * plug-ins/common/gif.c * plug-ins/common/jpeg.c: set GTK_SHADOW_IN on scrolled windows of text views. Fixes bug #148025. 2004-07-21 Michael Natterer Enabled the various "Clear saved foobar now" buttons in prefs: * app/gui/session.[ch] * app/menus/menus.[ch] * app/widgets/gimpdevices.[ch]: implemented the _clear() functions: unlink() the rc file and set an internal flag that it has been deleted. Added "gboolean always_save" parameter to the _save() functions and don't save anything if it is FALSE and the internal deletion flag has been set. * app/gui/gui.c * app/widgets/gimpdevicestatus.c: changed accordingly. * app/gui/preferences-dialog.c: added callbacks for all "Save now" and "Clear now" buttons and show error messages if clearing fails. Inform the user that she has to restart GIMP to see the effect of the clearing. 2004-07-21 Michael Natterer * app/core/gimpmarshal.list * app/widgets/gimpcellrendereraccel.[ch]: added "gboolean delete" parameter to the GimpCellRendererAccel::accel_edited() signal. * app/widgets/gimpactionview.c: distinguish between deletion of an accelerator and the user entering an invalid accelerator. 2004-07-21 Shlomi Fish * plug-ins/gimpressionist/: normalized the identifiers in placement.c. 2004-07-21 Michael Natterer * app/actions/context-actions.c: changed names of actions which select brushes, patterns etc. from e.g. "context-brush-first" to "context-brush-select-first". * menus/image-menu.xml.in: changed accordingly. 2004-07-21 Michael Natterer * app/gui/preferences-dialog.c: remember the keyboard shortcut dialog and show it only once. * app/widgets/gimpactionview.c * app/widgets/gimpcellrendereraccel.c: minor cleanups. Seems to work pretty well now and thus fixes bug #142922. 2004-07-21 Michael Natterer * app/core/gimpmarshal.list * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpcellrendereraccel.[ch]: new cell renderer which displays an accelerator and allows to edit it (ripped out of libegg and modified). * app/widgets/gimpactionview.c: use the new renderer and connect to its "accel-edited" signal (its callback is one huge mess that needs to be cleaned up). Added ugly hack to work around GTK+ API limitation that seems to prevent implementing a shortcut editor in a sane way. * app/actions/file-actions.c * app/actions/image-actions.c * app/actions/tools-actions.c: added ugly hacks here, too. * app/gui/preferences-dialog.c: relaced Cancel/Ok in the shortcut editor by Close. 2004-07-20 Sven Neumann * configure.in (ALL_LINGUAS): added back "pa" for Punjabi now that the missing po files have been added (tips/pa.po is still missing though). 2004-07-20 Michael Natterer * app/widgets/gimpactionfactory.[ch] * app/widgets/gimpactiongroup.[ch]: added "label" and "stock-id" properties to GtkActionGroup and allow to register them in the GimpActionFactory. * app/actions/actions.c: register user visible labels and icons with all action groups. * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpactionview.[ch]: new widget which shows a treeview of action groups and their actions & shortcuts. * app/widgets/gimpaction.[ch]: added gimp_action_name_compare() utility function. * app/widgets/gimpwidgets-utils.[ch]: added gimp_get_accel_string() utility function. * app/widgets/gimpcontrollers.[ch]: added gimp_controllers_get_ui_manager() which will be used for setting up the controller mapping dialog. * app/gui/preferences-dialog.c: added a "Configure Keyboard Shortcuts" button which pops up a GimpActionView. Work in progress... 2004-07-20 Michael Natterer * app/actions/image-actions.c: make sure that the "image-new" and "image-new-from-image" actions always have the same shortcut. 2004-07-20 Bill Skaggs * plug-ins/Lighting/lighting_main.c * plug-ins/Lighting/lighting_main.h * plug-ins/Lighting/lighting_preview.c * plug-ins/Lighting/lighting_preview.h * plug-ins/Lighting/lighting_shade.c * plug-ins/Lighting/lighting_ui.c: completely reworked UI for lighting page. Now supports up to 6 lights (more is trivial). Added ability to temporarily isolate selected light. Added light intensity controls. Can interactively position each light (does not quite work yet for directional lights). 2004-07-20 Michael Natterer * app/actions/tools-actions.c: added an icon to the "tools-visibility" action. 2004-07-20 Sven Neumann * app/composite/gimp-composite.c (gimp_composite_init): now that the output depends on --verbose, enable it for stable releases also. 2004-07-20 Shlomi Fish * plug-ins/gimpressionist/presets.c: fixed the incorrect strings for input and output of the preset's fields. (a relic of an irresponsible search-and-replace script). * plug-ins/gimpressionist/: normalized the identifiers of orientmap.c. 2004-07-20 Helvetix Victorinox * app/composite/Makefile.am (regenerate): Updated make-installer.py command line to take advantage of the new compile time method of determining which instruction set to compile. * app/composite/gimp-composite.c (gimp_composite_init): Print the list of active instruction sets if the --verbose command line switch is ON (via be_verbose) * app/composite/gimp-composite-x86.h: Factored code from the mmx, and sse implementations. * app/composite/make-installer.py: Raised the number of test iterations from 1 to 10. * app/composite/gimp-composite-3dnow.[ch] * app/composite/gimp-composite-3dnow-test.c * app/composite/gimp-composite-3dnow-installer.c * app/composite/gimp-composite-altivec.[ch] * app/composite/gimp-composite-altivec-test.c * app/composite/gimp-composite-altivec-installer.c * app/composite/gimp-composite-mmx.[ch] * app/composite/gimp-composite-altivec-test.c * app/composite/gimp-composite-altivec-installer.c * app/composite/gimp-composite-sse.[ch] * app/composite/gimp-composite-sse-test.c * app/composite/gimp-composite-sse-installer.c * app/composite/gimp-composite-sse2.[ch] * app/composite/gimp-composite-sse2-test.c * app/composite/gimp-composite-sse2-installer.c * app/composite/gimp-composite-vis.[ch] * app/composite/gimp-composite-vis-test.c: Regenerated sources via make-installer.py 2004-07-20 Sven Neumann * app/app_procs.c * app/base/base.[ch] * app/composite/gimp-composite.[ch]: pass "be_verbose" to the base and composite subsystems. 2004-07-20 Sven Neumann * autogen.sh: added some empty lines to improve readability of the output in case of problems. * configure.in: bumped version number to 2.1.3. 2004-07-19 Helvetix Victorinox * app/composite/gimp-composite-mmx.c (xxxgimp_composite_dodge_rgba8_rgba8_rgba8_mmx) * app/composite/gimp-composite-mmx.c (xxxgimp_composite_divide_rgba8_rgba8_rgba8_mmx) * app/composite/gimp-composite-mmx.c (gimp_composite_difference_rgba8_rgba8_rgba8_mmx) * app/composite/gimp-composite-mmx.c (gimp_composite_darken_rgba8_rgba8_rgba8_mmx): More clobber register corrections. 2004-07-20 Sven Neumann * Made 2.1.2 release. 2004-07-20 Sven Neumann * plug-ins/winicon/icoload.c * plug-ins/winicon/icosave.c: added explicit casts to please the compiler. 2004-07-20 Sven Neumann * plug-ins/gimpressionist/Makefile.am (gimpressionist_sources): added paper.h. * plug-ins/MapObject/Makefile.am (MapObject_SOURCES): added back arcball.h. * plug-ins/MapObject/mapobject_main.c * plug-ins/MapObject/mapobject_preview.c: no need to include arcball.h here. * plug-ins/gfig/Makefile.am (SUBDIRS): added back gfig-examples * plug-ins/gfig/gfig-examples/Makefile.am: cleanup. 2004-07-20 Sven Neumann * plug-ins/Lighting/lighting_ui.c: fixed some GUI issues: left-align labels, use stock buttons, added line-breaks to make the code fit into 80 columns. 2004-07-19 Sven Neumann * plug-ins/Lighting/lighting_ui.c: fixed a couple of issues with the new code: don't include individual glib headers, never ever use sprintf(), mark user-visible strings for translations, use default messages, removed trailing whitespace. 2004-07-19 Bill Skaggs * plug-ins/Lighting/lighting_ui.c: added ability to save and load presets for lights. 2004-07-19 Shlomi Fish * plug-ins/gimpressionist/orientation.c: normalized some variables in the module and fixed some indentation. 2004-07-19 Helvetix Victorinox * app/composite/gimp-composite-mmx.c (gimp_composite_addition_rgba8_rgba8_rgba8_mmx) * app/composite/gimp-composite-mmx.c (gimp_composite_burn_rgba8_rgba8_rgba8_mmx) * app/composite/gimp-composite-x86.h: Correction of clobbered register lists, as additional progress against bug #147013. 2004-07-19 Michael Natterer * app/core/gimpmarshal.list: removed unused VOID:UINT,STRING. 2004-07-19 Michael Natterer * app/gui/file-open-location-dialog.c (file_open_location_dialog_show): added the "web" icon left of label & entry. 2004-07-19 Michael Natterer * app/paint/gimppaintcore.h: removed enum GimpPaintCoreState. * app/paint/paint-enums.h: added enum GimpPaintState (with values that have a name space). * app/paint/gimppaintcore.[ch] * app/paint/gimpairbrush.c * app/paint/gimpbrushcore.c * app/paint/gimpclone.c * app/paint/gimpconvolve.c * app/paint/gimpdodgeburn.c * app/paint/gimperaser.c * app/paint/gimpink.c * app/paint/gimppaintbrush.c * app/paint/gimppaintcore-stroke.c * app/paint/gimpsmudge.c * app/tools/gimppainttool.c: changed accordingly. * app/tools/gimpinktool.c: removed unused #include. 2004-07-19 Sven Neumann * app/core/gimpchannel-combine.c (gimp_channel_combine_ellipse): moved variable declarations to the scope they are being used in, removed trailing whitespace, minor cleanups. 2004-07-19 Bill Skaggs * app/core/gimpchannel-combine.c: put in two lines accidentally omitted in previous change, improve doc comment. 2004-07-19 Michael Natterer * libgimpbase/gimpwin32-io.h: added copyright header, added #defines for access(), F_OK, R_OK and X_OK. * app/core/gimpdata.c: include the above instead of defining the workarounds here. * app/base/tile-swap.c * app/config/gimpconfig-dump.c * libgimpthumb/gimpthumb-utils.c * libgimpthumb/gimpthumbnail.c: for consistency, #include gimpwin32-io.h with "" instead of <>. 2004-07-19 Michael Natterer * app/core/gimpchannel-combine.c (gimp_channel_combine_ellipse): comments not intended for gtk-doc must not start with '/**'. 2004-07-19 Michael Natterer * app/plug-in/plug-in.h (struct _PlugIn): removed obsolete compile-time check for GLIB >= 2.3.5. 2004-07-19 Shlomi Fish * ChangeLog: Fixed a copy-and-paste error with the dates of my commits. * plug-ins/gimpressionist/ppmtool.c: removed a few commented-out asserts, and the function that was used to implement them. 2004-07-19 Michael Natterer * app/widgets/widgets-types.h: reordered and commented to match API docs. 2004-07-19 Sven Neumann * plug-ins/imagemap/imap_browse.[ch]: renamed struct member file_selection to file_chooser. 2004-07-19 Michael Natterer * app/config/config-types.h: removed GimpConfigInterface typedef, added comments to typedefs which don't belong here. * app/config/gimpconfig.h: added GimpConfigInterface typedef. * app/core/core-types.h * app/display/display-types.h: added commented out typedefs for types that live in config-types.h for obscure reasons. * app/core/core-types.h: reordered stuff to match the order in the API docs (makes keeping stuff in sync much easier). 2004-07-19 Shlomi Fish * plug-ins/gimpressionist/repaint.c: replaced a few if's+destructors pairs for ppm_ with just the destructors. 2004-07-19 Shlomi Fish * plug-ins/gimpressionist/repaint.c: normalized some identifiers of repaint.c, and corrected some indentation there. 2004-07-18 Bill Skaggs * app/core/gimpchannel-combine.c: improve anti-aliasing for elliptical selections, as described in bug #147836. 2004-07-18 Sven Neumann * app/composite/gimp-composite-mmx.h: don't start a comment with /** unless it's meant to be parsed by gtk-doc. * app/actions/Makefile.am: * app/actions/file-dialog-commands.[ch]: removed, not used any longer. 2004-07-18 Philip Lafleur * app/paint/gimpink-blob.c (blob_make_convex): Check if the array index is legal before using it, not the other way around. Fixes bug #144856. 2004-07-17 Philip Lafleur * plug-ins/common/polar.c (dialog_update_preview): Fixed a write to unallocated memory that was causing crashes in various spots. 2004-07-17 Philip Lafleur * plug-ins/common/polar.c (polarize_func): moved array initialization out of variable declaration. Fixes bug #147799. 2004-07-17 Michael Natterer * app/widgets/gimphelp-ids.h: added the removed help IDs back. * app/widgets/gimpfileprocview.[ch]: cache all file_procs' help IDs and added gimp_file_proc_view_get_help_id() which returns the selected item's help ID. * app/widgets/gimpfiledialog.c: added a custom help func which shows the help for the selected file_proc if the proc_view has the focus. 2004-07-17 Sven Neumann * app/actions/file-actions.c (file_actions): use GIMP_STOCK_WEB for "file-open-location". * app/widgets/gimpfiledialog.c: create the scrolled window with shadow_type GTK_SHADOW_IN. * app/widgets/gimpfileprocview.c (gimp_file_proc_view_new): skip procedures that register a prefix (the URL loader). * app/widgets/gimphelp-ids.h: removed help IDs that used to be used from the file-open and file-save menus. * plug-ins/common/xwd.c (query): "X window dump" seems to be more appropriate than "X window image". 2004-07-17 Sven Neumann * app/actions/Makefile.am * app/actions/file-dialog-actions.[ch] * app/actions/file-open-actions.[ch] * app/actions/file-save-actions.[ch]: these aren't needed any longer. * app/actions/actions.c: changed accordingly. * app/menus/Makefile.am * app/menus/file-dialog-menu.[ch] * app/menus/file-open-menu.[ch] * app/menus/file-save-menu.[ch]: these aren't needed any longer. * app/menus/menus.c: changed accordingly. * menus/Makefile.am * menus/file-open-menu.xml * menus/file-save-menu.xml: these are also not needed any longer. 2004-07-17 Philip Lafleur * plug-ins/bmp/bmpwrite.c (WriteImage): Applied a patch from Brion Vibber that fixes corruption when saving RLE-encoded BMPs on big endian hosts. Fixes bug #147759. 2004-07-17 Shlomi Fish * plug-ins/gimpressionist/: normalized the identifiers of general.c and general.h. Also, renamed a callback from _store to simply _callback to avoid confusion with the _store methods. Some of the member variables of the pcvals struct were changed as a result. 2004-07-16 Helvetix Victorinox * app/composite/gimp-composite-mmx.[ch] * app/composite/gimp-composite-sse.[ch] * app/composite/gimp-composite-sse2.[ch]: We've had trouble compiling with the Intel compiler which identifies itself as GCC, but doesn't support the same extended assembly features/misfeatures as GCC. With the help of the Intel compiler group, we've determined that the Intel compiler can be identified at compile time by the definition of the preprocessor variable __INTEL_COMPILER. These changes make all of the assembly code currently written to simply avoid the Intel compiler. This is an interim solution to get a build working despite the Intel compiler. A more correct solution has been identified, see the discussion of bug #147013 for more information. 2004-07-17 Sven Neumann * app/xcf/xcf.c (xcf_init): also register the internal XCF handlers according to the new scheme. * plug-ins/common/Makefile.am * plug-ins/common/plugin-defs.pl * plug-ins/common/hrz.c: removed the HRZ file plug-in since it doesn't seem to be very useful. 2004-07-17 Sven Neumann * app/plug-in/plug-ins.c (plug_ins_temp_proc_def_add) (plug_ins_init_file): use g_slist_prepend() instead of g_slist_append(). * plug-ins/common/url.c (query): ported to the new PDB registration scheme. 2004-07-16 Sven Neumann * app/plug-in/plug-ins.c (plug_ins_init): sort the file procedures by their menu labels. * app/widgets/gimpfileprocview.c: removed the sort function here. 2004-07-16 Sven Neumann * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpfileprocview.[ch]: added new widget that offers a treeview on file procedures. * app/widgets/gimpfiledialog.[ch]: replaced the file type option menu with the new GimpFileProcView widget. (gimp_file_dialog_set_image): reset the file type to Automatic (fixes bug #141535). * app/actions/file-commands.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch]: changed accordingly. * plug-ins/common/bz2.c * plug-ins/common/gz.c: don't register "xcf.gz" and "xcf.bz2" extension. It's redundant and breaks the code that sets the extension from the selected file-type. * plug-ins/common/dicom.c: register a shorter menu label. * plug-ins/common/gbr.c * plug-ins/common/gih.c * plug-ins/common/pat.c * plug-ins/common/url.c: register stock icons. 2004-07-16 Bill Skaggs * plug-ins/Lighting/lighting_main.[ch] * plug-ins/Lighting/lighting_preview.[ch] * plug-ins/Lighting/lighting_shade.c * plug-ins/Lighting/lighting_ui.c: Made this plug-in support multiple light sources; implemented three, architecture now supports any number. Changed material properties to more intuitve names; added "metallic" property. Cleaned out some unused, commented-out code. 2004-07-16 Michael Natterer * tools/pdbgen/pdb.pl: include "libgimpbase/gimpbase.h" instead of "libgimpbase/gimpparasite.h" for getting the GimpParasite type. * tools/pdbgen/app.pl * tools/pdbgen/pdb/drawable.pdb * tools/pdbgen/pdb/edit.pdb * tools/pdbgen/pdb/gradients.pdb * tools/pdbgen/pdb/guides.pdb * tools/pdbgen/pdb/image.pdb: removed redundant #includes. * tools/pdbgen/pdb/plug_in.pdb: standardized "success" logic. Consistently fail if there is no currently queried plugin. * app/pdb/*.c: regenerated. 2004-07-16 Michael Natterer * app/display/gimpdisplayshell-transform.c: made gtk-doc even happier; clarified meaning of the "use_offsets" parameter. 2004-07-16 Sven Neumann * app/core/gimpdata.c: * app/display/gimpcanvas.c: * app/display/gimpdisplayshell.c * app/display/gimpdisplayshell-transform.c: corrected API documentation, removed trailing whitespace. Please do always build the documentation if you add or change any gtk-doc comments. 2004-07-15 Bill Skaggs * app/display/gimpcanvas.c: * app/display/gimpdisplayshell-transform.c: added gtk-doc comments for all public functions that lack them. * app/display/gimpdisplayshell.c: added a couple of gtk-doc comments. 2004-07-15 Bill Skaggs * app/core/gimpdata.c: added gtk-doc comments for public functions. 2004-07-15 Shlomi Fish * plug-ins/gimpressionist/: normalized the identifiers of paper.c and paper.h. Made one variable local to the function instead of module static. 2004-07-15 Shlomi Fish * plug-ins/gimpressionist/: normalized the ppmtools.c and ppmtool.h identifiers. Also fixed some (but not all) of the syntax. 2004-07-15 Philip Lafleur * plug-ins/winicon/icoload.c: * plug-ins/winicon/icosave.c: Applied a patch from Brion Vibber that fixes byte-swapping on big endian hosts. Fixes bug #147610. 2004-07-15 Sven Neumann * plug-ins/helpbrowser/dialog.c * plug-ins/helpbrowser/uri.c: don't warn if no help pages are installed and the Home button is clicked. 2004-07-15 Michael Natterer * app/file/file-open.c (file_open_layer): don't crash if no layer or only one layer is visible. Fixes bug #143804. * app/app_procs.c (app_run): fixed log domain registration. 2004-07-15 Michael Natterer * app/core/gimpviewable.[ch]: corrected API docs and fixed function parameter names to silent gtk-doc warnings. 2004-07-15 Michael Natterer * app/app_procs.c (app_run): register a log handler for the "Gimp-Menus" domain. 2004-07-15 Philip Lafleur * plug-ins/common/mng.c: cleanup. 2004-07-15 Bill Skaggs * app/core/gimpviewable.c: added gtk-doc comments for public functions. 2004-07-15 Michael Natterer * app/actions/file-commands.h: reordered to match the .c file. * app/core/gimpitem.c * app/vectors/gimpvectors-import.c: fixed API docs. 2004-07-14 Philip Lafleur * plug-ins/common/png.c: * plug-ins/common/mng.c: Fixed erroneously reported warning message when saving indexed layers with an alpha channel but no transparent pixels. 2004-07-14 Sven Neumann * app/app_procs.c (app_run): register a log handler for the "Gimp-Actions" domain. 2004-07-14 Bill Skaggs * devel-docs/objects.txt: . . . and removed because it is redundant with devel-docs/app/app.hierarchy. 2004-07-14 Bill Skaggs * devel-docs/objects.txt: added file containing a map of Gimp's GObject hierarchy . 2004-07-14 Michael Natterer * app/display/gimpstatusbar.[ch]: massively changed: removed message_ids, the message mem chunk and all signals. Added new function gimp_statusbar_replace() which updates a message without moving it to the top of the stack. Fixes bug #120175. * app/display/gimpdisplayshell-title.[ch]: renamed gimp_display_shell_update_title() to gimp_display_shell_title_update() and switched from pop()/push() to replace() so the title message keeps its place in the stack. Added new function gimp_display_shell_title_init() which push()es the title message to the stack. * app/display/gimpdisplayshell.c (gimp_display_shell_new): call gimp_display_shell_title_init() so the "title" message is at the bottom of the stack. * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell-handlers.c: changed accordingly. 2004-07-14 Sven Neumann * plug-ins/script-fu/script-fu-console.[ch] * plug-ins/script-fu/script-fu.c * plug-ins/script-fu/siod-wrapper.[ch] * plug-ins/script-fu/siod/slib.c: applied a patch from Kevin Cozens that removes an unneeded pipe which was causing problems on long output from the SIOD interpreter (bug #139200). Also shortened the welcome message. 2004-07-14 Sven Neumann * plug-ins/pagecurl/pagecurl.c: GUI polishing. 2004-07-14 Shlomi Fish * plug-ins/gimpressionist/: Added more underscores to identifiers. Fixed some of the style issues (added whitespace before the '(' in function calls). 2004-07-14 Philip Lafleur * plug-ins/common/mng.c: Now writes a global palette chunk, and empty palette chunks for the frames that use it. This saves a bit of diskspace. 2004-07-14 Michael Natterer * app/core/gimpimage.c: added properties "gimp", "id", "width", "height" and "base-type". Moved all code from gimp_image_new() to GObject::constructor(). * app/core/gimpimage-convert.c * app/core/gimpimage-crop.c * app/core/gimpimage-resize.c * app/core/gimpimage-rotate.c * app/core/gimpimage-scale.c * app/core/gimpimage-undo-push.c: set "width", "height" and "base-type" with g_object_set() so "notify" is emitted on the properties. * app/core/gimpimage-undo.c (gimp_image_undo_pop_stack): freeze/thaw property notifications around undoing/redoing so they are not emitted in the middle of the undo operation. 2004-07-14 Michael Natterer * app/core/gimpitem.c: converted tabs to spaces, cleanup, reviewed new API docs. 2004-07-14 Sven Neumann * plug-ins/common/tiff.c: applied a patch done by Brion Vibber and Philip Lafleur that fixes loading of CMYK TIFF images on big-endian hardware (bug #147328). 2004-07-14 Philip Lafleur * plug-ins/common/mng.c (respin_cmap): Properly check the return value of find_unused_ia_color(). The plugin will now save indexed MNGs correctly; fixes bug #139947. Also converted tabs to spaces. 2004-07-14 Michael Natterer Code review & cleanup: * app/config/gimpguiconfig.[ch]: removed transparency-size, transparency-type and snap-distance properties... * app/config/gimpdisplayconfig.[ch]: ...and added them here. * app/display/gimpdisplayshell.c * app/tools/gimpmovetool.c: changed accordingly. * app/core/gimpimage-scale.[ch] (gimp_layer_scale_check): added a "max_memsize" parameter instead of looking it up in GimpGuiConfig. * app/actions/image-commands.c: changed accordingly. * app/core/gimparea.c * app/core/gimpdrawable.c: converted tabs to spaces, cleanup. * app/core/gimpprojection.[ch]: renamed IdleRenderStruct to GimpProjectionIdleRender, reordered functions, cleanup. * app/display/gimpdisplay-handlers.c * app/display/gimpdisplay.c: removed unused #includes. * app/display/gimpdisplayshell.[ch] * app/display/gimpdisplayshell-close.c: renamed shell->warning_dialog to shell->close_dialog, some random cleanups. * app/display/gimpdisplayshell-handlers.c * app/widgets/gimpselectioneditor.c: minor coding style cleanup. 2004-07-13 Bill Skaggs * app/core/gimpitem.c: added documentation comments to some of the functions. 2004-07-14 Michael Natterer * app/display/Makefile.am * app/display/gimpdisplayshell-close.[ch]: new files for gimp_display_shell_close() and its dialog & callback. * app/display/gimpdisplayshell.[ch]: removed from here. * app/actions/view-actions.c (view_close_view_cmd_callback): changed accordingly. 2004-07-14 Sven Neumann * plug-ins/pagecurl/pagecurl.c: code cleanup. Use enums instead of a plethora of booleans. Added some macros for readability. Allow to use a reversed gradient for colorizing the curl. 2004-07-14 Michael Natterer * app/core/Makefile.am * app/core/core-types.h * app/core/gimppickable.[ch]: new interface which has get_image_type(), get_tiles() and get_color_at() methods. * app/core/gimpdrawable.[ch] * app/core/gimpimagemap.[ch] * app/core/gimpprojection.[ch]: implement GimpPickableInterface and removed public get_colot_at() functions. * app/core/gimpimage-pick-color.[ch]: removed typedef GimpImagePickColorFunc and gimp_image_pick_color_by_func(). Use gimp_pickable_pick_color() instead. * app/core/gimpimage-contiguous-region.c * app/core/gimpimage-crop.c * app/gui/info-window.c * app/paint/gimpconvolve.c * app/paint/gimpsmudge.c * app/tools/gimpbycolorselecttool.c * app/tools/gimpimagemaptool.c * app/widgets/gimpselectioneditor.c: use GimpPickable functions instead of the various get_color_at() functions. Simplifies code which has a "sample_merged" boolean. Various cleanups. 2004-07-13 Shlomi Fish * plug-ins/gimpressionist/presets.c: Added underscores between words in function names according to the GIMP's (and common sense) convention. 2004-07-13 Shlomi Fish * plug-ins/gimpressionist/: Moved the global declarations of img_has_alpha and create_colorpage to more specialized headers. 2004-07-13 Shlomi Fish * plug-ins/gimpressionist/: Added the paper.h header for the functions defined in the paper.c module. (thus removing more declarations from gimpressionist.h) 2004-07-13 Bill Skaggs * plug-ins/gfig/gfig-dialog.c * plug-ins/gfig/gfig-preview.[ch} * plug-ins/gfig/gfig.h: Made Cancel work properly. Moved "show grid", "snap to grid", and "show image" checkbuttons back onto main interface. Eliminated GtkPreview and removed undef of GTK_DISABLE_DEPRECATED from gfig-preview.c. Removed some unused code. 2004-07-13 Sven Neumann * plug-ins/gflare/gflare.c (preview_handle_idle): use gtk_widget_queue_draw_area() instead of the deprecated gtk_widget_draw() routine. * plug-ins/gimpressionist/orientmap.c * plug-ins/gimpressionist/paper.c * plug-ins/gimpressionist/sizemap.c: use gtk_widget_queue_draw() instead of the deprecated gtk_widget_draw() routine. 2004-07-13 Shlomi Fish * plug-ins/gimpressionist/preview.c * plug-ins/gimpressionist/sizemap.c: eliminated two compile-time warnings. 2004-07-13 Michael Natterer Added a GimpProjection object which maintains the idle projection logic that was in GimpDisplay and takes care of constructing the projection even without any display open. Makes color picking and other reads from the projection work without display and fixes the major bug that we were constructing the projection n times (!) for n displays. * app/core/Makefile.am * app/core/gimpimage-projection.[ch]: removed. * app/core/core-types.h * app/core/gimpmarshal.list * app/core/gimparea.[ch] * app/core/gimpprojection.[ch] * app/core/gimpprojection-construct.[ch]: new files assembled from the pieces of gimpdisplay.c and gimpimage-projection.c. * app/core/gimpimage.[ch]: create a GimpProjection. Removed explicit projection realloc calls because the projection connects to the relevant GimpImage signals now. Added gimp_image_coords_in_active_drawable(). * app/display/Makefile.am * app/display/gimpdisplay-area.[ch]: removed. * app/display/gimpdisplay.[ch]: stripped away the idle render stuff and just keep a list of update_areas which is painted on flush(). Removed gimp_display_coords_in_active_drawable(). * app/display/gimpdisplay-foreach.[ch]: removed gimp_display_finish_draw(). * app/core/gimpchannel.c * app/core/gimpimage-contiguous-region.c * app/core/gimpimage-convert.c * app/core/gimpimage-crop.c * app/core/gimpimage-merge.c * app/core/gimpimage-pick-color.c * app/core/gimpimage-scale.c * app/core/gimppalette-import.c * app/display/gimpdisplay-handlers.c * app/display/gimpdisplayshell-render.c * app/display/gimpdisplayshell.c * app/gui/info-window.c * app/tools/gimpbucketfilltool.c * app/tools/gimpbycolorselecttool.c * app/tools/gimpclonetool.c * app/tools/gimpcolortool.c * app/tools/gimpeditselectiontool.c * app/tools/gimpfliptool.c * app/tools/gimpimagemaptool.c * app/tools/gimpiscissorstool.c * app/tools/gimppainttool.c * app/tools/gimpselectiontool.c * app/tools/gimptransformtool.c * app/widgets/gimpselectioneditor.c: changed accordingly. 2004-07-13 Sven Neumann * libgimpwidgets/gimppixmap.[ch]: declared GimpPixmap as deprecated. * libgimpwidgets/gimpwidgets.[ch]: ditto for gimp_pixmap_button_new(). * plug-ins/Lighting/ChangeLog: removed outdated and unused ChangeLog. * plug-ins/Lighting/Makefile.am * plug-ins/Lighting/*.xpm: removed XPM files... * configure.in * plug-ins/Lighting/images: ... and added them as PNG images here. These should be redone with antialiased edges. * plug-ins/Lighting/lighting_stock.[ch] * plug-ins/Lighting/lighting_ui.c: register stock icons and use those instead of GimpPixmaps. * plug-ins/MapObject/Makefile.am * plug-ins/MapObject/*.xpm: removed duplicated XPM files. * plug-ins/MapObject/mapobject_stock.[ch]: register stock icons reusing the generated header from the Lighting plug-in. * plug-ins/MapObject/mapobject_ui.c: use them. * plug-ins/pagecurl/pagecurl.c: undef GIMP_DISABLE_DEPRECATED until GimpPixmap has been replaced here as well. 2004-07-13 Shlomi Fish * plug-ins/gimpressionist/presets.c: fixed bug #147483 (gimpressionist will delete global presets if the user running GIMP has priviliges to do so). This was done by creating a function to check if a preset is global, and by making sure the delete button is in-sensitive when this is the case. 2004-07-13 Sven Neumann * libgimpwidgets/gimpcolorbutton.c * libgimpwidgets/gimpcolornotebook.c * libgimpwidgets/gimpcolorscale.c * libgimpwidgets/gimpcolorscales.c * libgimpwidgets/gimpcolorselect.c * libgimpwidgets/gimpcolorselection.c * libgimpwidgets/gimpframe.c * libgimpwidgets/gimppickbutton.c * libgimpwidgets/gimpunitmenu.c: some code review and cosmetics. 2004-07-13 Shlomi Fish * plug-ins/gimpressionist/*.[ch]: normalized some of brush.c's identifiers (= variable names and function name) 2004-07-13 Sven Neumann * app/core/gimp-utils.c (gimp_g_value_get_memsize): handle NULL string values. 2004-07-13 Sven Neumann * plug-ins/common/jpeg.c: override the output_message error handler in order to propagate warnings to the user interface (related to bug #145212). 2004-07-13 Sven Neumann * app/core/gimp-utils.[ch]: added new function gimp_g_value_get_memsize() that attempts to calculate the memory requirements for a GValue. * app/text/gimptextundo.c (gimp_text_undo_get_memsize): use the new function to obtain a better estimate for the size of the text undo. 2004-07-13 Sven Neumann * app/tools/gimptexttool.c (gimp_text_tool_create_layer): plugged a tiny memory leak. 2004-07-13 Sven Neumann * app/core/gimpimage-undo.c: resurrected some bit-rotting debug code. Might become useful one day. 2004-07-13 Sven Neumann * autogen.sh: when automake 1.8 is being used, require at least version 1.8.3. Earlier versions of the automake-1.8 series don't handle gimp-console correctly. 2004-07-13 Michael Natterer * app/config/gimpconfig-dump.c * app/display/gimpdisplayshell-title.c (gimp_display_shell_format_title): applied patch from Dave Neary which adds %B which expands to (modified) if the image is dirty. Also added %A which expands to (clean) because we also have a short indicator for the clean image. Fixes bug #130943. 2004-07-13 Sven Neumann * app/Makefile.am: removed hack for gimp-console compilation. automake seems to handle it correctly all by itself. 2004-07-12 Michael Schumacher * app/app_procs.c: added #ifdef G_OS_WIN32 #include #endif 2004-07-12 Michael Natterer * app/widgets/gimpbufferview.[ch]: added a preview of the global buffer. 2004-07-12 Sven Neumann * app/Makefile.am: make sure that gimp-console is enabled for 'make dist'. Use it to dump the system gimprc and gimprc man-page. 2004-07-12 Michael Natterer * app/text/gimptextundo.[ch]: removed member "guint time"... * app/core/gimpundo.[ch]: ...and added it here. * app/tools/gimptexttool.c (gimp_text_tool_apply): changed accordingly. Reordered undo compression code to look like other pieces of code which do undo compression. 2004-07-12 Michael Natterer * app/core/gimpundo.[ch] * app/core/gimpitemundo.[ch] * app/text/gimptextundo.[ch]: removed all _new() functions and added properties and GObject::constructor() implementations instead. * app/core/gimpimage-undo.[ch] (gimp_image_undo_push): added "GType undo_gtype" parameter and allow to pass name-value pairs as "...". Use the new GParameter utility functions to construct the appropriate undo step with g_object_newv(). (gimp_image_undo_push_item): removed. (gimp_image_undo_push_undo): removed. Merged its code back into gimp_image_undo_push(), where it originally came from. * app/core/gimpimage-undo-push.c * app/core/gimpundostack.c * app/paint/gimppaintcore-undo.c * app/tools/gimptransformtool-undo.c * app/widgets/gimpundoeditor.c: changed accordingly. 2004-07-12 Sven Neumann * plug-ins/gfig/gfig-dialog.c * plug-ins/gfig/gfig-preview.c * plug-ins/gfig/gfig-style.c * plug-ins/gfig/gfig.c: some include cleanups. Use libgimpbase/gimpwin32-io.h instead of defining W_OK explicitely. Don't undef GTK_DISABLE_DEPRECATED except for gfig-preview.c. 2004-07-12 Michael Natterer * plug-ins/script-fu/scripts/round-corners.scm: applied patch from Dave Neary that changes the behavior from undo disable/enable to using an undo group if the script doesn't work on a copy of the image. Fixes bug #146344. 2004-07-12 Michael Natterer * menus/toolbox-menu.xml.in: applied patch from Brion Vibber which adds /Acquire/Paste as new. Fixes bug #147358. 2004-07-12 Michael Natterer * app/core/gimp-modules.c: don't do anything if gimp->no_interface is TRUE. 2004-07-12 Michael Natterer Made the gimp-console binary compile. Finishes core/GUI separation and fixes bug #71514: * configure.in: removed the crazy-hacker warning for --enable-gimp-console. * app/Makefile.am: for gimp-console, copy app_procs.c to app_procs_console.c and compile it instead of app_procs.c with -DGIMP_CONSOLE_COMPILATION * app/app_procs.[ch]: added some #ifndef GIMP_CONSOLE_COMPILATION to skip GUI stuff for the gimp-console case. Renamed app_gui_libs_init() to app_libs_init(), renamed app_gui_abort() to app_abort() and added app_exit() so everything that needs #ifdefs lives here now. * app/main.c: changed accordingly. * app/gui/gui.c (gui_abort): really abort (call exit()). 2004-07-12 Sven Neumann * INSTALL: made the suggestion to use binary packages more prominent, mention --enable-gimp-console. 2004-07-12 Sven Neumann * app/sanity.[ch]: removed the gtk+ sanity check here ... * app/gui/gui.c: ... and do it here from gui_libs_init(). * app/main.c: changed accordingly. 2004-07-12 Sven Neumann * app/app_procs.s: don't use gtk_main() / gtk_main_quit() but run our own main-loop like we already used to do when being run non-interactively. 2004-07-12 Michael Natterer * app/widgets/gimpdialogfactory.c (gimp_dialog_factories_set_busy_foreach) (gimp_dialog_factories_unset_busy_foreach): set/unset the busy cursor on all windows which have widget->window, not only for those which are GTK_WIDGET_VISIBLE. Fixes stale busy cursors when dialogs are hidden while the busy cursor is active and later shown again. 2004-07-12 Michael Natterer * app/display/gimpdisplay.c: added an "id" CONSTRUCT_ONLY property. Some minor cleanup. 2004-07-12 Michael Natterer * app/core/Makefile.am * app/core/gimp-gui.[ch]: new files defining a GimpGui vtable struct and contianing all the vtable wrapper functions. Reordered and renamed some functions for consistency. * app/core/gimp.[ch]: removed all the vtable code. * app/gui/gui-vtable.c: changed accordingly. 2004-07-12 Sven Neumann * app/display/gimpdisplay-foreach.c (gimp_displays_get_dirty_images): remove images from the container when they become clean. Should move to the Gimp object. * app/gui/quit-dialog.c: some cosmetic changes. 2004-07-12 Sven Neumann * plug-ins/common/tiff.c: applied a patch from Brion Vibber that sets the 'Save color values from transparent pixels' insensitive when there's no alpha channel. 2004-07-11 Hans Breuer * **/makefile.msc : updated app/actions/makefile.msc app/menus/makefile.msc : (new files) app/actions/Makefile.msc app/menus/Makefile.am : added to EXTRA_DIST * libgimpbase/gimputils.c libgimpwidgets/gimpmemsizeentry.c app/widgets/gimppropwidgets.c : bumped compiler version check, msvc6 still can't cast from unsigned __int64 to double * app/actions/debug-actions.c : only use debug_*_callback and thus debug_action if ENABLE_DEBUG_MENU * app/core/gimpalette-import.c : added gimpwin32-io.h * plug-ins/common/convmatrix.c : s/snprintf/g_snprintf/ * plug-ins/common/screenshot.c : make it compile with msvc, but still no win32 specific implementation ... 2004-07-11 Bill Skaggs * plug-ins/gfig/gfig-dobject.h: fix commit error that broke build. 2004-07-11 Bill Skaggs * plug-ins/gfig/gfig-dialog.c * plug-ins/gfig/gfig-dobject.[ch] * plug-ins/gfig/gfig.c: added buttons to select an object, and raise or lower the selected object; also a few minor cleanups. 2004-07-11 Philip Lafleur * app/widgets/gimpdevices.c (gimp_devices_check_change): Applied a patch from Robert Ögren, moved here from toolbox_check_device(). Only change devices if the event came from a widget that accepts extension events. Fixes bug #115774. 2004-07-11 Michael Natterer * app/core/gimp-utils.[ch] (gimp_parameters_append) (gimp_parameters_append_valist) (gimp_parameters_free): new utility functions which create and destroy GParameter arrays for g_object_newv(). * app/gui/gui-vtable.c (gui_pdb_dialog_new): use them. 2004-07-10 Michael Natterer Removed any remaining GUI dependency from the PDB wrappers: * app/core/gimp.[ch]: added vtable entries for the display and help stuff. * app/widgets/gimphelp.[ch]: renamed gimp_help() to gimp_help_show(). * app/gui/gui-vtable.c: implement the new display and help vtable entries. * tools/pdbgen/pdb.pl * tools/pdbgen/pdb/display.pdb * tools/pdbgen/pdb/help.pdb: use the new functions of the Gimp object instead of using stuff from display/ and widgets/. * tools/pdbgen/app.pl: removed bad hacks which enabled including stuff from gui/, display/ and widgets/. * app/Makefile.am: link widgets-enums.o, display-enums.o and gimpdisplayoptions.o into the gimp-console binary because they are needed for the config system and don't depend on any GUI stuff. * app/pdb/Makefile.am: s/GTK_CFLAGS/GDK_PIXBUF_CFLAGS/ * app/pdb/display_cmds.c * app/pdb/help_cmds.c: regenerated. 2004-07-10 Sven Neumann * app/gui/quit-dialog.c (quit_dialog_new): let the labels line-wrap. 2004-07-10 Sven Neumann * app/display/gimpdisplay-foreach.[ch]: added new function gimp_displays_get_dirty_images(). * app/gui/quit-dialog.c: show a container treeview of all dirty images in the quit dialog. Still work in progress... 2004-07-09 Bill Skaggs * gimp/plug-ins/gfig/gfig-circle.c * gimp/plug-ins/gfig/gfig-dialog.c * gimp/plug-ins/gfig/gfig-dobject.c * gimp/plug-ins/gfig/gfig-ellipse.c * gimp/plug-ins/gfig/gfig-poly.c * gimp/plug-ins/gfig/gfig-preview.c * gimp/plug-ins/gfig/gfig-star.c * gimp/plug-ins/gfig/gfig-style.c * gimp/plug-ins/gfig/gfig-style.h * gimp/plug-ins/gfig/gfig.c * gimp/plug-ins/gfig/gfig.h: Made FG, BG, and pattern fill work for fillable objects; other miscellaneous cleanups and minor fixes. 2004-07-09 Sven Neumann * app/gui/gui.c: removed the quit dialog code here. * app/gui/Makefile.am * app/gui/quit-dialog.[ch]: added new files that hold the old code for now. 2004-07-09 Michael Natterer * app/pdb/procedural_db.c: #include instead of . 2004-07-09 Michael Natterer * app/gui/Makefile.am * app/gui/brush-select.[ch] * app/gui/font-select.[ch] * app/gui/gradient-select.[ch] * app/gui/palette-select.[ch] * app/gui/pattern-select.[ch]: removed... * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimppdbdialog.[ch] * app/widgets/gimpdataselect.[ch] * app/widgets/gimpbrushselect.[ch] * app/widgets/gimpgradientselect.[ch] * app/widgets/gimppaletteselect.[ch] * app/widgets/gimppatternselect.[ch] * app/widgets/gimpfontselect.[ch]: ...and added here as a hierarchy of widgets. * app/widgets/gimpdatafactoryview.h: removed typdef GimpDataEditFunc, it's in widgets-types.h now. * app/gui/convert-dialog.c: changed accordingly. * app/core/gimp.[ch]: added vtable entries for creating, closing and setting PDB dialogs. * app/gui/gui-vtable.c: implement the vtable entries using the new widgets. * tools/pdbgen/pdb/brush_select.pdb * tools/pdbgen/pdb/font_select.pdb * tools/pdbgen/pdb/gradient_select.pdb * tools/pdbgen/pdb/palette_select.pdb * tools/pdbgen/pdb/pattern_select.pdb: use the new functions of the Gimp object to create / manage the selection dialogs. The generated files don't depend on GUI stuff any longer. * app/pdb/brush_select_cmds.c * app/pdb/font_select_cmds.c * app/pdb/gradient_select_cmds.c * app/pdb/palette_select_cmds.c * app/pdb/pattern_select_cmds.c: regenerated. 2004-07-09 Sven Neumann * app/gui/file-save-dialog.c (file_save_overwrite): improved text of the dialog. 2004-07-09 Sven Neumann * libgimpwidgets/gimpdialog.c (gimp_dialog_class_init): document that "help-func" and "help-id" properties have been added for 2.2. 2004-07-09 Sven Neumann * app/widgets/gimphistogrameditor.c (gimp_histogram_editor_menu_update): reverted my last change. (gimp_histogram_editor_item_visible): fix the problem here instead. 2004-07-08 Michael Natterer * libgimpwidgets/gimpdialog.c: removed "role" property because GtkWindow has an equivalent property now. Added "help-func" and "help-id" construct properties. * app/widgets/gimptexteditor.c * app/widgets/gimptooldialog.c * app/widgets/gimpviewabledialog.c: removed calls to gimp_help_connect() and pass help_func and help_id to g_object_new(). 2004-07-08 Michael Natterer * libgimpwidgets/gimphelpui.c (gimp_context_help): fixed typo in API docs. 2004-07-08 Shlomi Fish * plug-ins/gimpressionist/Presets: converted the newlines in the descriptions to whitespaces, so they'll simply wrap (in accordance with making the description label wrappable). 2004-07-08 Shlomi Fish * plug-ins/gimpressionist: Various Gimpressionist Cleanups. Made most remaining non-static global variables static, and created functions that manipulate them. Created new headers. Renamed some variables and functions to make their names more menanigful. 2004-07-08 Sven Neumann * app/widgets/gimphistogrameditor.c (gimp_histogram_editor_menu_update): set the active item of the combo-box after changing the visibility filter. 2004-07-08 Michael Natterer * app/widgets/gimppropwidgets.c (gimp_prop_boolean_combo_box_notify): same fix as below. 2004-07-08 Sven Neumann * app/widgets/gimppropwidgets.c (gimp_prop_enum_combo_box_notify): block gimp_prop_enum_combo_box_callback() before changing the combo-box. 2004-07-08 Sven Neumann * app/widgets/gimpsessioninfo.c: only write aux-info for properties that have been changed from their default values. * app/widgets/gimphistogrameditor.c: some code cleanup. 2004-07-08 Michael Natterer * app/widgets/gimpselectiondata.[ch]: added a "const gchar *format" parameter to gimp_selection_data_set_pixbuf() which selects the format in which to encode the pixbuf (was defaulting to "png" before). * app/widgets/gimpclipboard.c: when copying, offer all formats which are savable with GdkPixbuf. Added a GimpClipboard struct which is attached to the Gimp and which stores all the persistent data needed by the clipboard. Renamed some private functions. (unfortunately this change breaks pasting to AbiWord: http://bugzilla.abisource.com/show_bug.cgi?id=7068) 2004-07-08 Sven Neumann * app/config/gimpconfig-deserialize.c * app/config/gimpconfig-serialize.c: removed redundant casts. * app/widgets/gimpsessioninfo.[ch]: added convenience functions to get and set aux-info based on object properties. * app/widgets/gimphistogrameditor.c: use the new functions to save a histogram's channel and scale in the sessionrc. 2004-07-07 Sven Neumann * app/widgets/gimpclipboard.c: sort the list of pixbuf formats so that PNG is the preferred format and GIF and JPEG come last. 2004-07-07 Bill Skaggs * plug-ins/gfig/*.[ch]: Use single centralized functions to create, load, and save objects, instead of separate functions for each type of object. A few other miscellaneous fixes. 2004-07-07 Michael Natterer * app/widgets/gimpclipboard.[ch]: changed to allow pasting any GdkPixbuf supported format (makes pasting from OpenOffice work). Cleaned up a bit to perpare pasting of SVG data. 2004-07-07 Sven Neumann * app/core/gimplayer.c (gimp_layer_new_from_tiles): add an alpha channel if the src tile-manager doesn't have one. Warn on unsupported type conversions instead of silently doing the wrong thing. Fixes bug #145482. * app/core/gimpbuffer.c: cosmetics. 2004-07-07 Michael Natterer * app/gui/Makefile.am * app/gui/clipboard.[ch]: removed... * app/widgets/Makefile.am * app/widgets/gimpclipboard.[ch]: ...and added here. * app/actions/edit-commands.c * app/gui/gui.c: changed accordingly. 2004-07-07 Michael Natterer Made the undo system robust against the currently pushed undo being too large according to prefs settings. Fixes bug #145379. * app/core/gimpimage-undo.[ch] (gimp_image_undo_push_undo) (gimp_image_undo_group_end): emit "undo-event" *before* calling gimp_image_undo_free_space() so the undo history doesn't try to remove an item that has never been added. (gimp_image_undo_push_undo): added boolean return value indicating if the undo could be pushed (FALSE means the undo was to large and was discarded right away). (gimp_image_undo_push_item): return NULL if the above returned FALSE. * app/core/gimpimage-undo-push.c (gimp_image_undo_push_text_layer): changed accordingly. 2004-07-07 Manish Singh * plug-ins/common/jpeg.c: Don't try to load EXIF data if any warnings happened, cause that likely means corruption and libexif doesn't handle that very happily. Addresses bug #145212. Perhaps the error and warning messages should be propagated to the user in the GUI somehow, currently they are not. 2004-07-07 Michael Natterer * app/actions/edit-actions.c (edit_actions): added "..." to "Clear undo history" because it has a confirmation dialog. * app/actions/edit-commands.c: cleanup: moved static functions to the end of the file and prototyped them. 2004-07-07 Sven Neumann * app/widgets/gimphistogramview.c (gimp_histogram_view_expose): fixed a drawing bug I introduced earlier today. 2004-07-07 Michael Natterer * app/actions/view-actions.c * app/actions/view-commands.[ch]: added actions and callbacks for scrolling the view. Not used in menus but useful for controllers. 2004-07-07 Sven Neumann * app/tools/gimpeditselectiontool.c (gimp_edit_selection_tool_key_press): adapt the arrow key velocity to the display scale factor. Please test and complain if you dislike this behaviour. * themes/Default/images/Makefile.am * themes/Default/images/stock-color-pick-from-screen-16.png: new icon drawn by Jimmac. * libgimpwidgets/gimpstock.[ch]: register the new icon. * libgimpwidgets/gimppickbutton.c: use it for the screen color picker instead of reusing the color picker tool icon. 2004-07-06 Bill Skaggs * plug-ins/gfig/*.[ch]: a bunch of code clean-up and debugging. Created "classes" for the objects, and attached functions to classes rather than objects. 2004-07-06 Sven Neumann Added an RGB histogram based on a patch by Tor Lillqvist. Fixes bug #145401. * app/base/base-enums.[ch]: added GIMP_HISTOGRAM_RGB, don't export it to the PDB. * app/base/gimphistogram.c: implemented histogram functions for the RGB mode. * app/base/levels.c * app/tools/gimpcurvestool.c * app/tools/gimplevelstool.c * app/widgets/gimpcolorbar.c * app/widgets/gimphistogrameditor.c: handle the new enum value. * app/widgets/gimphistogramview.c: for GIMP_HISTOGRAM_RGB mode, draw a histogram that shows the RGB channels simultaneously 2004-07-06 Sven Neumann * libgimpmodule/gimpmodule.c: comply with C99 aliasing rules. 2004-07-06 Michael Natterer * app/widgets/gimpwidgets-utils.c (gimp_menu_position) (gimp_button_menu_position): call gtk_menu_set_monitor() only for GTK+ < 2.4.4 and added a #warning about it. 2004-07-06 Sven Neumann * plug-ins/gimpressionist: applied patch from Shlomi Fish that fixes confusion of filenames and user-visible object names (bug #132621). Also removed function remove_trailing_whitespace() that used to duplicate functionality from GLib and updated preset_create_filename(). 2004-07-06 Michael Natterer * app/widgets/gimppreviewrenderer.c (gimp_preview_renderer_set_viewable): queue an idle update when setting the viewable to NULL so the view gets cleared correctly. (gimp_preview_renderer_idle_update): call gimp_preview_renderer_update() even if renderer->viewable is NULL so clearing the viewable gets propagated to the GUI. Moved clearing the viewable and removing the idle from GObject::finalize() to GObject::dispose() because calling set_viewable() with a NULL viewable triggers typechecking casts and queuing idle functions, which is not nice in finalize(). 2004-07-06 Sven Neumann * modules/Makefile.am (libcdisplay_proof_la_LIBADD): added back $(LCMS_LIBS) that I had accidentally removed. 2004-07-06 Sven Neumann * app/widgets/gimpvectorstreeview.c (gimp_vectors_tree_view_drag_svg): return the proper type. 2004-07-06 Michael Natterer * app/widgets/gimpcontainertreeview.c: connect to "editing-canceled" of the name cell renderer and restore the original text in the callback. Doesn't work reliably until GTK+ bug #145463 is fixed. 2004-07-05 Sven Neumann * app/plug-in/plug-in-rc.c (plug_in_icon_deserialize): fixed a compiler warning. * plug-ins/common/dog.c: removed some redundant casts and other trivial cleanups. 2004-07-06 Michael Natterer * libgimpwidgets/gimpcontroller.h: removed #define GIMP_CONTROLLER_PARAM_SERIALIZE. * libgimpmodule/gimpmoduletypes.h: added GIMP_MODULE_PARAM_SERIALIZE instead. * modules/controller_linux_input.c * modules/controller_midi.c: changed accordingly. * modules/cdisplay_colorblind.c * modules/cdisplay_gamma.c * modules/cdisplay_highcontrast.c * modules/cdisplay_proof.c: made the new properties serializable. 2004-07-05 Michael Natterer * tools/pdbgen/Makefile.am (enum_headers): don't scan app/paint-funcs/paint-funcs-types.h for enums. * app/paint-funcs/paint-funcs-types.h: removed /*< pdb-skip >*/ * app/core/core-types.h: reordered opaque typedefs to somehow match the categories in the comments. 2004-07-05 Michael Natterer * app/core/core-types.h: removed enum SizeType. * app/text/text-enums.h: added it as enum GimpSizeType and added comment that it's for backward compatibility only. * tools/pdbgen/Makefile.am * tools/pdbgen/pdb/text_tool.pdb: changed accordingly. * libgimp/gimpenums.h * plug-ins/pygimp/gimpenums.py * plug-ins/script-fu/script-fu-constants.c * tools/pdbgen/enums.pl: regenerated (pdbgen insisted on reordering the enums). 2004-07-05 Michael Natterer * app/core/core-types.h: #define MIN and MAX values for GimpCoords.pressure, .tilt and .wheel. * app/display/gimpdisplayshell-callbacks.c (gimp_display_shell_get_event_coords) (gimp_display_shell_get_device_coords): use the #defines instead of hardcoded magic values when CLAMP()ing event or device values. 2004-07-05 Sven Neumann * modules/Makefile.am: link all modules with libgimpmodule. 2004-07-05 Bill Skaggs * plug-ins/common/dog.c: improved defaults. use gimp_invert() instead of rolling own. Use nasty hack to get previews to work with grayscale images. Accept grayscale images. 2004-07-05 Sven Neumann * app/core/gimpdata.[ch] (gimp_data_create_filename): Removed the basename parameter and use the object name instead. Convert it to the filesystem encoding. * app/core/gimpdatafactory.c: changed accordingly. 2004-07-05 Sven Neumann * plug-ins/gimpressionist: applied patch from Shlomi Fish that fixes a number of bugs in the gimpressionst plug-in (bug #145309). Also added some const qualifiers, cleaned up includes and removed degtorad() and radtodeg() functions that used to duplicate functionality from libgimpmath. 2004-07-05 Michael Natterer * app/widgets/gimptemplateview.c (gimp_template_view_tree_name_edited): removed unused local variables. 2004-07-05 Sven Neumann * plug-ins/gfig/gfig-dialog.c: don't g_free() a GdkPixbuf, it's an object. Removed trailing whitespace. * plug-ins/gfig/gfig-preview.c (draw_background): fixed declaration. 2004-07-05 Michael Natterer * app/tools/gimpcolorizetool.c (gimp_colorize_tool_initialize): return TRUE if initialization was successful. Makes the tool->drawable pointer being set correctly by the calling code and fixes bugs where colorize was leaving the drawable in a modified but non-undoable state when cancelling or changing images. 2004-07-05 Sven Neumann * modules/cdisplay_proof.c: use object properties for the configurable values. 2004-07-05 Michael Natterer * app/core/gimpchannel.[ch]: added signal "color-changed" and emit it in gimp_channel_set_color() and gimp_channel_set_opacity(). * app/core/gimpimage-qmask.[ch]: added new functions gimp_image_set,get_qmask_color(). * app/core/gimpimage.[ch]: install a "color-changed" handler on gimage->channels and update gimage->qmask_color when the qmask's color changes. Fixes bug #145361. * app/actions/qmask-commands.c: use the new qmask color API. 2004-07-04 Simon Budig * app/actions/dialogs-commands.c * app/display/gimpdisplayshell-dnd.c * app/gui/preferences-dialog.c * app/tools/gimppainttool.c * app/widgets/gimpdeviceinfo.c * app/widgets/gimpitemtreeview.c * plug-ins/imagemap/imap_selection.c * tools/pdbgen/pdb/gradients.pdb: Small changes to make GIMP CVS compile with gcc 2.95 again. Mostly double semicolons and variable declarations after other stuff. Spotted by Martin Renold. * app/pdb/gradients_cmds.c: regenerated. (there is one issue left, see his patch at http://old.homeip.net/martin/gcc-2.95.diff, I did not copy the #define va_copy __va_copy, since I don't know what happens here.) 2004-07-04 Bill Skaggs * plug-ins/gfig/gfig-dialog.[ch]: * plug-ins/gfig/gfig-style.[ch]: * plug-ins/gfig/notes.txt: New files. * plug-ins/gfig/*.[ch]: Complete reworking of the gfig plug-in. See 'notes.txt' for a summary of what has changed, and how to use it now. Plenty of bugs have been introduced, which will take a while to straighten out. 2004-07-04 Tor Lillqvist * app/core/gimpdrawable-equalize.c (gimp_drawable_equalize): Drop a couple of unused variables. * libgimpmodule/gimpmodule.def: Add gimp_module_register_enum. 2004-07-04 Sven Neumann * libgimpmodule/gimpmodule.[ch]: added gimp_module_register_enum(), a function to register an enum type for a GTypeModule. * modules/cdisplay_colorblind.c: use an object property for the color deficiency enum. 2004-07-04 Sven Neumann * plug-ins/common/channel_mixer.c: don't attempt to store a pointer to the last used filename in the plug-in parameter struct. Fixes bug #145380. 2004-07-04 Sven Neumann * modules/cdisplay_gamma.c * modules/cdisplay_highcontrast.c: added object properties for configurable values. * app/widgets/gimpcolordisplayeditor.c * libgimpwidgets/gimpcolordisplaystack.c * modules/cdisplay_colorblind.c * modules/cdisplay_proof.c: cosmetic changes. 2004-07-03 Michael Natterer * app/core/gimpcontext.[ch]: added context->serialize_props mask which enables specifying exactly which properties will be serialized. Also fixes a bug that prevented undefined properties from being serialized, breaking tool_options and device status serialization. * app/core/gimptoolinfo.c (gimp_tool_info_new): make only the properties in the tool_info->context_props mask serializable, also configure/initialize tool_info->tool_options. * app/tools/gimp-tools.c (gimp_tools_register): removed tool_options initialization that is now done in gimp_tool_info_new(). * app/widgets/gimpdeviceinfo.c: make only the properties in GIMP_DEVICE_INFO_CONTEXT_MASK serializable. * app/widgets/gimpdevicestatus.c: add the device table to its parent container again. Fixes "missing" devices. * app/core/gimptooloptions.c * app/widgets/gimpdevices.c: cleanup / code review. 2004-07-03 Michael Natterer * app/tools/gimppainttool.c (gimp_paint_tool_cursor_update): if the color tool is enabled, skip cursor hiding entirely. 2004-07-03 Sven Neumann * plug-ins/common/dog.c (dog): removed #ifdef'ed code that isn't any longer needed. 2004-07-02 Philip Lafleur * app/tools/gimptransformoptions.[ch]: * app/tools/gimptransformtool.c: * app/tools/tools-enums.[ch]: Replaced "Preview" checkbutton with a combobox with options "Outline", "Grid", "Image", and "Image + Grid". Addresses bug #108172. 2004-07-02 Sven Neumann * app/actions/edit-actions.c: don't let the Paste menu items sensitivity depend on the availability of clipboard data because we aren't notified when the GDK clipboard changes. 2004-07-02 Sven Neumann * app/gui/Makefile.am * app/gui/clipboard.[ch]: new files implementing a clipboard for image data based on GDK_SELECTION_CLIPBOARD (bug #133247). * app/actions/edit-actions.c * app/actions/edit-commands.c: use the new clipboard API. * app/gui/gui.c: initialize and shutdown the clipboard. * app/core/gimpbuffer.c: cosmetics. * app/actions/actions.c * app/menus/menus.c: added sanity checks to exit functions. * app/display/gimpdisplayshell-dnd.[ch]: let gimp_display_shell_drop_svg() take a guchar * buffer. * app/widgets/gimpselectiondata.c (gimp_selection_data_get_pixbuf): fixed the implementation. 2004-07-02 Michael Natterer * plug-ins/gimpressionist/Makefile.am * plug-ins/gimpressionist/*.[ch]: applied patch from Shlomi Fish that massively cleans up gimppressionist (touching all files and addding some new ones) and adds a simple PDB interface for selecting one of the previously created presets. Fixes bugs #145191, #144913 and #144922. 2004-07-01 Sven Neumann * configure.in: bumped version number to 2.1.2. 2004-07-01 Michael Schumacher * plug-ins/common/align_layers.c: there seems to be no reason why this plug-in should not work on INDEXED* images, added it to the registered image types 2004-07-01 Roman Joost * plug-ins/script-fu/scripts/blend-anim.scm * plug-ins/script-fu/scripts/glossy.scm * plug-ins/script-fu/scripts/test-sphere.scm: fixed typos 2004-07-01 Sven Neumann * app/widgets/gimpselectiondata.[ch]: added (yet unused) functions gimp_selection_data_[get|set]_pixbuf(). 2004-07-01 Michael Natterer * app/widgets/gimpfgbgarea.[ch]: implement GtkWidget::drag_motion() and set the FG/BG depending on where the color was dropped. Also set the drag status accordingly so the cursor indicates whether dropping will have an effect or not. Fixes bug #145219. 2004-07-01 Sven Neumann * app/core/gimptemplate.c: do like Liam taught us and use the golden ratio as default for new images. 2004-06-30 Philip Lafleur * app/tools/gimppainttool.c (gimp_paint_tool_cursor_update): Chain up if the color tool is enabled. This fixes the problem of the color picker cursor not appearing when using a paint tool in color picking mode while "Show Paint Tool Cursor" is off. 2004-06-30 Bill Skaggs * libgimp/gimpdrawable.c: moved call to _gimp_tile_cache_flush_drawable() from gimp_drawable_detach() to gimp_drawable_flush(), to resolve problem described in bug #145051. 2004-06-30 Michael Natterer * app/plug-in/plug-ins.[ch] (plug_ins_init): added a GimpContext parameter and use it to start plug-ins. * app/core/gimp.c (gimp_real_restore): pass the user context. Restores script-fu's access to the global FG, FG, brush, ... 2004-06-30 Sven Neumann * app/core/core-enums.c * app/display/display-enums.c * app/paint/paint-enums.c * app/text/text-enums.c * app/widgets/widgets-enums.c: regenerated. 2004-06-30 Bill Skaggs * app/actions/file-commands.c: revert previous change that was intended to fix bug #141971. 2004-06-30 Bill Skaggs * app/*/*-enums.h: did HIG-compliant capitalization in the right place, instead of the auto-generated *-enums.c files. 2004-06-30 Michael Natterer * app/widgets/gimpdnd.[ch] * app/widgets/gimpselectiondata.[ch] * app/widgets/gimpcontainertreeview.[ch]: changed "files" and "uris" to "uri_list" in all function names, parameters and typedefs. * app/widgets/gimpcontainertreeview-dnd.c * app/widgets/gimpdocumentview.c * app/widgets/gimplayertreeview.c * app/widgets/gimptoolbox-dnd.c * app/display/gimpdisplayshell-dnd.[ch] * app/display/gimpdisplayshell.c: changed accordingly. 2004-06-30 Sven Neumann * plug-ins/maze/maze_face.c: made the dialog look a little less clumsy. 2004-06-30 Sven Neumann * tools/pdbgen/pdb/drawable.pdb * libgimp/gimppixbuf.c: raised the maximum size for thumbnails from 256 to 512 pixels. * app/pdb/drawable_cmds.c * libgimp/gimpdrawable_pdb.c: regenerated. * plug-ins/gfig/gfig-preview.c * plug-ins/gfig/gfig.c: redone Bill's fix using gimp_image_get_thumbnail(). A lot simpler, renders the alpha checkerboard and also works for grayscale images. 2004-06-30 Michael Natterer Fixed a 1.2 -> 2.0 regression that was forgotten: * app/widgets/widgets-enums.[ch]: added enum GimpColorPickState which can be one of { NEW, UPDATE }. * app/widgets/gimppaletteeditor.[ch]: changed #if 0'ed function gimp_palette_editor_update_color() to gimp_palette_editor_pick_color() and restored the functionality of creating/updating colors via this API Changed button_press handler to only edit the color on double click if it's really a double click on the same color. Fixes bug #141381. * app/tools/gimpcolorpickeroptions.[ch]: added boolean property "add-to-palette" and a GUI for it. * app/core/gimpmarshal.list * app/tools/gimpcolortool.[ch]: added a GimpColorPickState parameter to the "color_picked" signal. Pass NEW on button_press and UPDATE on motion. * app/tools/gimpcurvestool.c (gimp_curves_tool_color_picked) * app/tools/gimplevelstool.c (gimp_levels_tool_color_picked) * app/tools/gimppainttool.c (gimp_paint_tool_color_picked): changed accordingly * app/tools/gimpcolorpickertool.c (gimp_color_picker_tool_picked): If "add-to-palette" is TRUE, get the palette editor and call gimp_palette_editor_pick_color(). 2004-06-30 Sven Neumann * app/widgets/gimpselectiondata.[ch]: renamed the SVG related functions so that they deal with an anonymous data stream that could as well be a PNG image. * app/widgets/gimpdnd.[ch] * app/widgets/gimpcontainertreeview-dnd.c: changed accordingly. * app/display/gimpdisplayshell-dnd.[ch] * app/vectors/gimpvectors-import.[ch] * app/widgets/gimpcontainertreeview-dnd.c * app/widgets/gimpvectorstreeview.c: use gsize for the length of the buffer. * app/widgets/gimpdnd.[ch] * app/widgets/widgets-enums.[ch]: added GIMP_DND_TYPE_PNG which isn't used yet. 2004-06-30 Michael Natterer * app/core/gimppalette.[ch] (gimp_palette_add_entry): take const GimpRGB* instead of just GimpRGB*. Converted tabs to spaces. 2004-06-30 Michael Natterer * widgets/gimpselectiondata.[ch] (gimp_selection_data_get_svg): changed return value from gchar* to const gchar*. Renamed parameters to be consistent with other SVG functions. * widgets/gimpcontainertreeview-dnd.c * widgets/gimpdnd.c: changed accordingly. 2004-06-30 Simon Budig * app/vectors/gimpstroke.[ch] * tools/pdbgen/pdb/paths.pdb: Applied a modified patch from Geert Jordaens that implements the gimp-path-get-point-at-dist PDB function (fixes bug #138754). * app/pdb/paths_cmds.c: regenerated. 2004-06-30 Michael Natterer * app/widgets/gimptoolbox.c (gimp_toolbox_button_accel_changed): do like GtkAccelLabel does and turn underscores in accels into spaces so e.g. "Page_Up" becomes "Page Up". 2004-06-29 Michael Natterer * app/display/gimpdisplayshell.c: reordered drop destinations so vectors are preferred over SVG. * app/vectors/gimpvectors-import.[ch]: added "gint position" parameter to all import functions so the imported vectors can be added at any position in the vectors stack. * app/actions/vectors-commands.c * app/display/gimpdisplayshell-dnd.c * tools/pdbgen/pdb/paths.pdb: changed accordingly (pass -1 as position). * app/pdb/paths_cmds.c: regenerated. * app/widgets/gimpvectorstreeview.c: implemented SVG DND from and to the paths dialog. 2004-06-29 Michael Natterer * app/widgets/gimpcontainertreeview-dnd.c: don't free the SVG data after dropping, it's owned by GtkSelectionData. 2004-06-29 Michael Natterer * app/widgets/gimpdnd.c: use gtk_target_list_add() instead of gtk_target_list_add_table() because the latter prepends the targets to the internal list which screws the order (== priority) of DND targets. * app/widgets/gimpselectiondata.c: added some more checks for failed drops (selection_data->length < 0). 2004-06-29 Philip Lafleur * plug-ins/common/unsharp.c: The preview's row buffer was accidentally made way too large. 2004-06-29 Michael Natterer * app/widgets/gimpwidgets-utils.[ch]: added new function gimp_get_mod_string() which takes a GdkModifierType and returns correctly formated strings for all shift,control,alt combinations. * app/tools/gimpbucketfilloptions.c * app/tools/gimpcolorpickeroptions.c * app/tools/gimpconvolvetool.c * app/tools/gimpcropoptions.c * app/tools/gimpdodgeburntool.c * app/tools/gimperasertool.c * app/tools/gimpflipoptions.c * app/tools/gimpmagnifyoptions.c * app/tools/gimpmoveoptions.c * app/tools/gimptransformoptions.c * app/tools/gimpvectoroptions.c * app/widgets/gimpchanneltreeview.c * app/widgets/gimpcolormapeditor.c * app/widgets/gimpdocumentview.c * app/widgets/gimperrorconsole.c * app/widgets/gimpgradienteditor.c * app/widgets/gimpitemtreeview.c * app/widgets/gimppaletteeditor.c * app/widgets/gimpselectioneditor.c * app/widgets/gimpthumbbox.c * app/widgets/gimptooloptionseditor.c * app/widgets/gimpvectorstreeview.c: use the new function instead of gimp_get_mod_name_shift(),control(),alt(),separator(). This kindof addresses the issue of configurable modifier keys but is actually indended to ease translation of format strings ("%s" is easier to get right than "%s%s%s"). 2004-06-28 Michael Natterer Allow all sorts of things to be dropped on or in between the items of a GimpContainerTreeView: * app/widgets/gimpcontainertreeview.[ch]: added more parameters to GimpContainerTreeView::drop_possible() to specify where ecactly the drop should take place (between or into items) and to support dropping all sorts of things. Renamed ::drop() to ::drop_viewable() and added ::drop_color(), ::drop_files() and ::drop_svg(), which cover all possible drop types. * app/widgets/gimpcontainertreeview-dnd.[ch]: changed accordingly. Dispatch all kinds of drops to the resp. virtual functions. * app/widgets/gimpitemtreeview.c: changed accordingly. * app/widgets/gimplayertreeview.c: allow to drop URIs, colors and patterns to the layers dialog. Fixes bugs #119506 and #139246. 2004-06-28 Michael Natterer * app/file/file-open.[ch] (file_open_layer): new utility function which opens an image, flattens it if needed and returns the only layer, converted for a passed destination image. * app/display/gimpdisplayshell-dnd.c (gimp_display_shell_drop_files): use the new function. 2004-06-28 Michael Natterer * app/widgets/Makefile.am * app/widgets/gimpselectiondata.[ch]: new files containing the code which encodes/decodes all sorts of stuff to/from its GtkSelectionData representation. Used to live in gimpdnd.c * app/widgets/gimpdnd.c: use the new functions (unclutters the file quite a bit), converted tabs to spaces. 2004-06-28 Michael Natterer * app/widgets/gimpcontainergridview.c: #include "libgimpwidgets/gimpwidgets.h" 2004-06-28 Michael Natterer Fixed bug #141930 while keeping bug #132322 fixed: * app/base/curves.c (curves_lut_func) * app/base/levels.c (levels_lut_func): changed meaning of channel slots for GRAYA images: just as for GRAY images, expect the value channel in slot 0 and the alpha channel in slot 1, so it matches the meaning of slots of GimpHistogram (before this change, only GRAY images had their value in slot 0 and GRAYA images had it in slot 1, whereas the histogram had the value channel in slot 0, which was breaking auto levels for GRAYA images). * app/tools/gimpcurvestool.c * app/tools/gimplevelstool.c * tools/pdbgen/pdb/color.pdb: adjusted channel fiddling for GRAY and GRAYA images accordingly. * app/tools/gimpcurvestool.c (curves_update) * app/tools/gimplevelstool.c (levels_update): call gimp_color_bar_set_buffers() with the right buffers. * app/pdb/color_cmds.c: regenerated. 2004-06-28 Sven Neumann * app/gui/gui.c (gui_initialize_after_callback): select the standard tool. * app/tools/tool_manager.c: cosmetics. 2004-06-28 Michael Natterer * app/tools/gimplevelstool.c: reverted fix for bug #141930. These hacks are there because the enum used in levels doesn't match the enum used by the combo box and the histogram widget. 2004-06-28 Michael Natterer * app/tools/gimpclonetool.c (gimp_clone_tool_button_release): removed again (tools must not draw outside GimpDrawTool::draw()). (gimp_clone_tool_draw): removed check for gimp_draw_tool_is_active() because the draw function would not be called if the draw tool was inactive. Simplified check for whether or not to draw the src location. * app/tools/gimppainttool.c (gimp_paint_tool_button_release): pause/resume the draw tool across all button_release actions so tools (clone) have a chance to draw different things depending on gimp_tool_control_is_active(tool->control). Fixes bug #145022. 2004-06-28 Sven Neumann * app/actions/actions.c (action_select_object): added missing return value. 2004-06-28 Sven Neumann * plug-ins/common/dog.c: applied HIG rules to the GUI and slightly rearranged it to get a more compact layout. Applied GIMP coding style. 2004-06-28 Sven Neumann * libgimp/gimpdrawable.c: removed wrong note about using _gimp_tile_cache_flush_drawable() from the API docs. 2004-06-28 Sven Neumann * plug-ins/common/dog.c (dog): ifdef'ed out calls to _gimp_tile_cache_flush_drawable() since it can't be used from a plug-in. Removed trailing whitespace and redundant includes. * libgimp/gimp.def: removed _gimp_tile_cache_flush_drawable again. 2004-06-28 Simon Budig * app/tools/gimpvectortool.c: fixed drawing code to properly update after deleting nodes via BackSpace/Delete. 2004-06-27 Bill Skaggs * app/tools/gimplevelstool.c: removed two small chunks of code. Fixes bug #141930. Possibly unfixes bug #132322. 2004-06-27 Michael Schumacher * libgimp/gimp.def: added _gimp_tile_cache_flush_drawable because it is used in a plug-in. See bug #145051. 2004-06-26 Philip Lafleur * plug-ins/common/unsharp.c: Preview now works correctly with RGBA and grayscale-alpha images. Fixes bug #144971. 2004-06-26 Bill Skaggs * app/tools/gimpclonetool.c: added button_release callback to fix bug #145022. 2004-06-26 Philip Lafleur * plug-ins/common/unsharp.c: Use GTK_PREVIEW_GRAYSCALE if source is grayscale or grayscale-alpha. Partial fix for bug #144971. 2004-06-25 Bill Skaggs * plug-ins/common/unsharp.c: speed up preview by allocating tile cache before creating dialog. Should fix bug #144972. 2004-06-25 Philip Lafleur * plug-ins/common/zealouscrop.c: Moved Zealous Crop from /Layer/Crop to /Image/Crop because it affects the entire image. 2004-06-25 Bill Skaggs * plug-ins/common/dog.c: added Difference of Gaussians edge detect plug-in. * plug-ins/common/plugin-defs.pl: * plug-ins/common/Makefile.am: added dog and regenerated Makefile. 2004-06-25 Michael Natterer * app/actions/context-actions.c: added GIMP_ACTION_SELECT_SET actions which set a generated brush's properties directly. * app/actions/context-commands.c: adjust the range of possible brush radius and aspect_ratio values to be actually usable. 2004-06-25 Michael Natterer * app/core/gimpbrushgenerated.[ch]: reordered parameters and members to be consistent with other places where generated brushes are used. Check for errors when loading a brush and utf8-validate its name. Cleanup. * app/core/gimpbrush.c * app/core/gimpbrushpipe.c: cleanup. 2004-06-25 Michael Natterer * app/gui/preferences-dialog.c (prefs_dialog_new): work around GTK+ bug #143270 (set the cursor on the selected model path instead of selecting the iter in the selection). Fixes random theme switching when selecting the "Theme" page. 2004-06-25 Michael Natterer * app/core/gimpbrushgenerated.c: added properties for all brush parameters. * app/widgets/gimpbrusheditor.c: listen to property changes of the edited brush and update the scales accordingly. 2004-06-25 Michael Natterer * app/gui/preferences-dialog.c: more work on the controller page, made integer controller properties editable. * modules/controller_midi.c: allow to specify the MIDI channel to generate events from. Default to -1 (all channels). 2004-06-24 Bill Skaggs * plug-ins/gfig/gfig.[ch]: * plug-ins/gfig/gfig-preview.c: Let gfig use a thumbnail of the image as background for its preview, if the image is RGB and "Show image" is checked in the Options tab. (Next best thing to previewing in the image.) 2004-06-25 Michael Natterer * app/widgets/gimpcontrollerinfo.[ch]: added a boolean property "debug-events" and honor it when printing debugging output. Should add an event console window so the user doesn't need to have a terminal to inspect input module output. * app/gui/prefereces-dialog.c: HIGified some forgotten labels. Renamed the "Pointer Movement Feedback" frame to "Mouse Cursors". Replaced some forgotten "Dir" with "Folder". Made more GimpControllerInfo and GimpController properties editable and cleaned up the controller page. 2004-06-25 Michael Natterer * app/widgets/gimppropwidgets.[ch]: added gimp_prop_label_new(). * app/widgets/gimpgrideditor.c: HIGified capitalization. 2004-06-25 Michael Natterer * modules/controller_linux_input.c * modules/controller_midi.c: remember the source ID returned by g_io_add_watch() and remove it when changing the device, so the file descritor gets actually closed. Minor cleanups. 2004-06-24 Michael Natterer * app/widgets/gimpcontrollerwheel.[ch]: renamed function gimp_controller_wheel_scrolled() to gimp_controller_wheel_scroll(). * app/display/gimpdisplayshell-callbacks.c (gimp_display_shell_canvas_tool_events): changed accordingly. 2004-06-24 Michael Natterer * etc/controllerrc: fix typo in wheel controller mapping. 2004-06-24 Michael Natterer * app/tools/gimptool.[ch] * app/tools/tool_manager.[ch]: added boolean return value to GimpTool::key_press() which indicates if the event was handled. * app/tools/gimpcroptool.c * app/tools/gimpeditselectiontool.[ch] * app/tools/gimptransformtool.c * app/tools/gimpvectortool.c: return TRUE if the key event was handled. * app/tools/gimppainttool.c: removed key_press() implementation. * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpcontrollerkeyboard.[ch]: new controller class which takes GdkEventKey and emits controller events for all combinations of modifiers and cursor keys. * app/widgets/gimpcontrollers.[ch]: added new function gimp_controllers_get_keyboard(). * app/display/gimpdisplayshell-callbacks.c: if a key event was not handled by the active tool, dispatch it to the keyboard controller. * etc/controllerrc: add a keyboard controller which is configured to do the same as the removed gimp_paint_tool_key_press(). 2004-06-23 Bill Skaggs * libgimp/gimpdrawable.c: added some documentation for a few important functions with no API docs. 2004-06-24 Sven Neumann * Made 2.1.1 release. 2004-06-23 Bill Skaggs * app/actions/file-commands.c: make "Revert" only ask for confirmation if image is dirty. Fixes bug #141971. 2004-06-23 Bill Skaggs * app/gui/*.c: * app/widgets/*.c: * etc/templaterc: HIGify capitalization. Should finish bug #123699 except for everything I missed or got wrong. 2004-06-24 Sven Neumann * etc/controllerrc: commented out the linux_input controller configuration. 2004-06-23 Bill Skaggs * app/tools/*.c: HIGify capitalization for dialogs. More progress on bug #123699. 2004-06-23 Michael Natterer * modules/controller_midi.c: added utility function midi_event() which assembles a GimpControllerEventValue and emits it. 2004-06-23 Michael Natterer * app/widgets/gimpenumaction.[ch] * app/widgets/gimppluginaction.[ch] * app/widgets/gimpstringaction.[ch]: added parameters to the gimp_*_action_selected() function so the "selected" signal can be emitted with value != action->value. Changed GtkAction::activate() implementations accordingly (pass action->value). * app/widgets/gimpcontrollers.c: call gimp_enum_action_selected() and pass the value of the GimpControllerEventValue instead of temporarily replacing action->value and calling gtk_action_activate(). * app/widgets/gimpcontrollerinfo.c: fixed debugging output. 2004-06-23 Michael Natterer * app/paint/gimpbrushcore.[ch]: added signal "set-brush" which is G_SIGNAL_RUN_LAST so we can connect before and after the default implementation. Moved the brush setting and outline invalidation stuff to its default implementation. Also remember the outline's width and height. Call gimp_brush_core_set_brush() from gimp_brush_core_invalidate_cache() so "set-brush" is emitted whenever a generated brush becomes dirty. * app/tools/gimppainttool.c (gimp_paint_tool_button_press): don't pause/resume but rather stop/start the draw_tool. Fixes straight line preview aretefacts. (gimp_paint_tool_oper_update): set the brush_core's brush before starting the draw_tool. (gimp_paint_tool_draw): never free the brush_core's cached brush outline because the brush_core does that by itself now. (gimp_paint_tool_set_brush) (gimp_paint_tool_set_brush_after): new callbacks which pause and resume the draw_tool. Fixes brush outline artefacts when modifying the current brush e.g. by using the mouse wheel. 2004-06-23 Michael Natterer * app/actions/context-commands.h: removed enum GimpContextSelectType. * app/actions/actions-types.h: added enum GimpActionSelectType. * app/actions/actions.[ch]: added utility functions action_select_value() and action_select_object(). * app/actions/context-actions.c * app/actions/context-commands.c: changed accordingly. * app/actions/layers-actions.c * app/actions/layers-commands.[ch]: merged the layer select callbacks into one using the GimpActionSelectType functions. Added actions and callbacks for modifying the active layer's opacity. * app/menus/menus-types.h: #incude "actions/action-types.h". * app/gui/gui-types.h: #incude "menus/menus-types.h". * app/gui/preferences-dialog.c: allow to enable/disable input controllers. 2004-06-22 Bill Skaggs * app/tools/gimpcurvestool.c: try again to revert. 2004-06-22 Bill Skaggs * app/tools/gimpcurvestool.c: reverted. 2004-06-22 Bill Skaggs * plug-ins/script-fu/scripts: HIG-ified capitalization on all. Finishes this for everything in plug-ins. Bug #123699 is now mostly fixed. 2004-06-22 Sven Neumann * app/composite/gimp-composite-regression.c: define timersub() macro in case it's undefined. Patch by Tim Mooney, fixes 'make check' on Tru64 (bug #144780). 2004-06-22 Bill Skaggs * app/tools/gimpcurvestool.c: added Store/Recall buttons for one-click saving and loading of curves. Should create stock labels for them. Hopefully resolves bug #75558. 2004-06-22 Michael Natterer * app/actions/view-actions.c * app/actions/view-commands.[ch]: added actions & callbacks to configure the canvas padding color. * app/widgets/gimphelp-ids.h * menus/image-menu.xml.in: added the actions' help IDs and menu entries. * app/display/display-enums.h: added /*< skip >*/'ed enum value GIMP_CANVAS_PADDING_MODE_RESET. * app/display/gimpdisplayshell-appearance.c * app/display/gimpdisplayshell-callbacks.[ch] * app/display/gimpdisplayshell-handlers.c * app/display/gimpdisplayshell.[ch]: removed the canvas padding button and its popup menu (fixes bug #142996). Instead, added a toggle button which allows to zoom the image when the window is resized (as known from sodipodi, except it doesn't work as nice yet :-) improvements to the algorithm are welcome). Cleaned up the GimpDisplayShell struct a bit and renamed some of its members. * libgimpwidgets/gimpstock.[ch] * themes/Default/images/Makefile.am * themes/Default/images/stock-zoom-follow-window-12.png: added new icon for the new display toggle button. 2004-06-22 Michael Natterer * app/tools/gimpclonetool.c (gimp_clone_tool_draw): chain up unconditionally now that we draw the brush outline while painting. Fixes brush outline artefacts on button_press and button_release. Spotted by sjburges. 2004-06-22 Sven Neumann * app/widgets/gimpfiledialog.c (gimp_file_dialog_set_image): unset the filename if the image is unnamed. * configure.in * app/sanity.c: depend on gtk+ >= 2.4.1. * app/widgets/gimpthumbbox.[ch]: changed gimp_thumb_box_set_uris() to gimp_thumb_box_take_uris() since the function takes ownership of the list, * app/widgets/gimpfiledialog.c: changed accordingly. Removed code that worked around a problem in gtk+ < 2.4.1. 2004-06-22 Sven Neumann * libgimpwidgets/gimpcolorarea.c (gimp_color_area_set_color): use gimp_rgb_distance() for flat color areas. Fixes bug #144786. 2004-06-22 Sven Neumann * tools/pdbgen/pdb/fileops.pdb: app/pdb/fileops_cmds.c is a generated file, need to do the documentation change here. * app/pdb/fileops_cmds.c * libgimp/gimpfileops_pdb.c: regenerated. 2004-06-21 Bill Skaggs * app/tools/gimptransformoptions.c: use radio buttons for constraint options. Makes all options visible, should resolve bug #68106. 2004-06-21 Bill Skaggs * app/gui/file-save-dialog.c: to reduce clutter, hide overwrite query dialog after user has responded. 2004-06-21 Bill Skaggs * plug-ins/common/noisify.c: changed handling of alpha channel in an attempt to deal with bug #72853. Changed menu entry from "Noisify" to "Scatter RGB". 2004-06-21 Bill Skaggs * app/pdb/fileops_cmds.c: fixed incorrect documentation for gimp_file_load, which was the root cause of bug #118811. 2004-06-21 Bill Skaggs * plug-ins: finish implementing HIG capitalization in dialogs. Scripts remain to be done. More progress on bug #123699. 2004-06-21 Michael Natterer * app/widgets/widgets-enums.[ch] (enum GimpCursorFormat): removed value GIMP_CURSOR_FORMAT_PIXBUF_PREMULTIPLY because it's the job of GDK to do that (it was GDK that was broken, not some of the X servers). * app/widgets/gimpcursor.c (gimp_cursor_new): premultiply the cursor's pixels for GTK+ < 2.4.4. 2004-06-21 Sven Neumann * app/gui/gui.c (gui_exit_callback): improved message in quit dialog just in case that we don't manage to redo this dialog before 2.2. 2004-06-21 Sven Neumann * libgimpwidgets/gimpwidgets.[ch] * libgimpwidgets/gimpwidgets.def: added new utility function gimp_label_set_attributes(). * app/display/gimpdisplayshell.c * app/gui/preferences-dialog.c * app/gui/resolution-calibrate-dialog.c * app/widgets/gimpviewabledialog.c * app/widgets/gimpwidgets-utils.c: use the new function. * app/widgets/gimpcontainergridview.c * app/widgets/gimphistogrameditor.c: display the name in italic. * plug-ins/common/jpeg.c: display the file size in italic. 2004-06-20 Bill Skaggs * plug-ins/common/url.c: if url does not end in a recognized extension, open it as an unnamed image. Fixes bug #118811. 2004-06-20 Sven Neumann * app/widgets/gimphistogrambox.[ch]: removed the label between the spinbuttons, it looks silly. Converted tabs to spaces, removed trailing whitespace. * app/widgets/gimphistogrameditor.c * app/tools/gimpthresholdtool.c: changed accordingly. 2004-06-19 Bill Skaggs * plug-ins: changed dialogs to follow HIG capitalization style wherever they didn't. Scripts remain to be done. Partially fixes bug #123699. 2004-06-19 Bill Skaggs * app/widgets/gimphistogrambox.[ch]: * app/tools/gimpthresholdtool.c: Changed the threshold tool dialog so that it uses a two-triangle-slider scale of the sort used in the levels tool. Almost all of the changes are actually in the histogram-box widget code, which is only used by the threshold tool. Fixes bug #137521. 2004-06-20 Sven Neumann * plug-ins/common/jpeg.c: removed redundant hboxes and other layout cleanups. 2004-06-20 Philip Lafleur * app/display/gimpdisplayshell-scale.[ch]: * app/display/gimpnavigationview.[ch]: * app/actions/view-actions.c: * app/actions/view-commands.[ch]: * app/widgets/gimphelp-ids.h: * menus/image-menu.xml.in: Changed "Zoom to Fit Window" command to "Fit Image in Window" and added another command, "Fit Image to Window", that zooms according to the opposite dimension. Fixes bug #144597. 2004-06-19 Michael Schumacher * libgimpwidgets/gimpwidgets.def: added missing gimp_controller_* entries 2004-06-19 Michael Schumacher * modules/controller_midi.c: #ifdef G_OS_WIN32 for an O_NONBLOCK 2004-06-19 Bill Skaggs * plug-ins/common/jpeg.c: more changes to save dialog. Moved comment field to Advanced area. Don't set restart marker frequency stuff insensitive. Changed range for quality scale from 0-1 to 0-100 to follow the jpeg spec (but left allowable range for pdb at 0-1 to avoid breaking anything). 2004-06-19 Bill Skaggs * app/tools/gimpscaletool.c: fixed my fix for bug # 68106, which worked incorrectly for two of the control points. 2004-06-19 Michael Natterer * modules/controller_midi.c (midi_read_event): simplified swallowing of SysEx messages and unwanted data bytes. Reordered and commented stuff to be more readable. 2004-06-19 Michael Natterer * modules/Makefile.am * modules/controller_midi.c: new controller for MIDI input. Maps all note on and note off events and all MIDI controllers to GimpContollerEvents. Should parse any MIDI stream. Code based on blinkenmedia stuff from Daniel Mack. 2004-06-19 Sven Neumann Applied a patch from Geert Jordaens that implements the GtkStatusbar functionality in GimpStatusbar so that we can redo it in order to fix bug #120175: * app/core/gimpmarshal.list: added VOID: UINT, STRING. * app/display/gimpstatusbar.[ch]: copied GtkStatusbar code. * app/display/gimpdisplayshell.c: changed accordingly. 2004-06-19 Sven Neumann * plug-ins/ifscompose/ifscompose_utils.c (create_brush): use G_SQRT2; some coding style cleanups. 2004-06-19 Sven Neumann * app/vectors/gimpbezierstroke.c (arcto_ellipsesegment): moved array initialization out of variable declaration (bug #144632). 2004-06-19 Sven Neumann * app/vectors/gimpbezierstroke.c (arcto_ellipsesegment): use G_SQRT2 to make circlemagic a constant value so we can initialize the array on declaration. Fixes bug #144632. 2004-06-19 Sven Neumann * devel-docs/parasites.txt: document "exif-data" parasite. 2004-06-18 Manish Singh * plug-ins/common/film.c: Don't use deprecated gimp_text functions, clean up font name string handling a bit, default is now "Monospace" instead of "Courier". 2004-06-19 Michael Natterer * app/widgets/gimpcontrollers.c (gimp_controllers_event_mapped): start supporting GIMP_CONTROLLER_EVENT_VALUE of type gdouble. Assume the double value is in a [0.0..1.0] range and temporarily change the value of the called GimpEnumAction to a range of [0..1000] when invoking it. All still very hackish... 2004-06-19 Michael Natterer * app/widgets/gimpcontrollerinfo.c (gimp_controller_info_event): more debugging output. 2004-06-18 Bill Skaggs * app/tools/gimpscaletool.c: changed algorithm for scaling when aspect ratio is constrained, to fix strange behavior described in bug # 68106. 2004-06-18 Bill Skaggs * plug-ins/common/jpeg.c: redid save dialog along lines suggested in bug # 138929 Only create an exif data parasite on loading file if the file actually contains exif data. Call exif data parasite "exif-data" instead of "jpeg-exif-data", because it should be interchangeable with TIFF exif data. 2004-06-18 Michael Natterer * app/actions/context-actions.c * app/actions/context-commands.[ch]: added tons of new actions to modify the current FG/BG color's RGB components. Added new enum value GIMP_CONTEXT_SELECT_SET which allows to set values, not only increase/decrease them. Changed context_select_value() utility function to interpret GimpEnumAction::value being >= GIMP_CONTEXT_SELECT_SET as settings in a range from 0 to 1000. Yes, that's a hack... 2004-06-18 Philip Lafleur * app/tools/gimptransformtool.c: reverted my fix to bug #144570. 2004-06-18 Philip Lafleur * app/tools/gimpfuzzyselecttool.c: Fix fuzzy select menu label. 2004-06-18 Philip Lafleur * app/tools/gimptransformtool.c (gimp_transform_tool_bounds): If transforming a path, use the path bounds rather than the mask bounds. Fixes bug #144570. 2004-06-17 Michael Natterer * app/core/gimp-utils.[ch]: added gimp_boolean_handled_accum(). * app/core/gimp.c * app/widgets/gimpcontrollerinfo.c: use it. 2004-06-17 Michael Natterer * app/core/gimpcontainer.c (gimp_container_deserialize): add newly created children to the container *after* deserializing them so GimpContainer::add() callbacks get the already deserialized object. * app/widgets/gimpcontrollers.c: connect to "add" and "remove" of the controller list and remember / clear the wheel controller when it appears / disappears. 2004-06-17 Sven Neumann * autogen.sh: check for xsltproc and mention that the intltool version mismatch is harmless. 2004-06-17 Pedro Gimeno * tools/pdbgen/pdb/paths.pdb: Fix typos and improve documentation. Addresses bug #144267. * app/pdb/paths_cmds.c * libgimp/gimppaths_pdb.c: regenerated. 2004-06-17 Michael Natterer * libgimpwidgets/gimpcontroller.[ch]: removed "enabled" property. Removed GIMP_CONTROLLER_PARAM_SERIALIZE from the "name" property because it's the hardware-determined name of this controller instance. * app/widgets/gimpcontrollerwheel.c * modules/controller_linux_input.c: set the name. * libgimpwidgets/gimpwidgets.h: #include gimpcontroller.h. * app/widgets/gimpcontrollerinfo.[ch]: added "enabled" here instead. Don't dispatch events if the controller is disabled. Made everything work (not crash) with info->mapping being NULL. * etc/controllerrc: updated again with the changed format. * app/widgets/gimpcontrollers.[ch]: added gimp_controllers_get_list() which returns the container of controllers. * app/widgets/gimphelp-ids.h * app/gui/preferences-dialog.c: added controller configuration (can't change anything yet, just view the current settings). Resurrected the "Input Devices" page and removed the "Session" page by moving its widgets to other pages. Pack the various "Save now"/"Clear now" buttons vertically, not horizontally. Fixes bug #139069. * themes/Default/images/preferences/Makefile.am * themes/Default/images/preferences/controllers.png * themes/Default/images/preferences/theme.png: new icons for new prefs pages. Someone needs to make them nice... 2004-06-17 Michael Natterer * app/display/gimpdisplayshell.c: GtkUIManager makes the menu bar visible by default, hide it if options->show_menubar is FALSE. Fixes bug #143243. 2004-06-17 Sven Neumann * configure.in: bumped version to 2.1.1. Allow to disable the build of the linux_input controller module. 2004-06-17 Philip Lafleur * app/core/gimpdrawable-transform.c (gimp_drawable_transform_tiles_affine): Make transforms (most notably perspective transforms) conform exactly to specified edges. Includes a patch by David Gowers. Fixes bug #144352. 2004-06-16 Manish Singh * modules/controller_linux_input.c: put BTN_{WHEEL,GEAR_DOWN,GEAR_UP} usage in #ifdefs, since pre-2.6 kernels do not have them. * modules/controller_linux_input.c (linux_input_read_event): n_bytes should be a gsize. 2004-06-16 Michael Natterer * app/actions/context-actions.c * app/actions/context-commands.[ch]: added actions & callback to select the first/last/prev/next tool. 2004-06-16 Simon Budig * modules/controller_linux_input.c: removed BTN_MISC, since it is the same as BTN_0 in the input.h header file. 2004-06-16 Michael Natterer * libgimpwidgets/gimpcontroller.c (gimp_controller_get_event_name) (gimp_controller_get_event_blurb): always return a non-NULL string (return "" as fallback). * modules/controller_linux_input.c: reenabled button event dispatching. * app/widgets/gimpcontrollerinfo.c: fixed debugging output. 2004-06-16 Simon Budig * modules/controller_linux_input.c: break out of the loop after we handled the first matching rel_event. 2004-06-16 Michael Natterer * libgimpwidgets/gimpcontroller.[ch]: added #define GIMP_CONTROLLER_PARAM_SERIALIZE. Made all properties serializable. * modules/controller_linux_input.c: made "device-name" serializable. * app/config/gimpconfig-params.h: added macro GIMP_CONFIG_INSTALL_PROP_POINTER() which needs to be handled by custom (de)serialize_property() implementations. * app/config/gimpconfig-deserialize.c * app/config/gimpconfig-serialize.c: made object (de)serialization work for object properties which are *not* GIMP_PARAM_AGGREGATE. Write/parse the exact type of the object to create to enable this. * app/core/gimpmarshal.list: new marshaller for GimpControllerInfo. * app/widgets/gimpcontrollerinfo.[ch]: implement GimpConfigInterface and add "controller" and "mapping" properties. Add "event-mapped" signal which carries the action_name. * app/widgets/gimpcontrollers.c: removed all deserialization code and simply (de)serialize the controller container. Install a container handler for "event-mapped" and do the action_name -> action mapping in the callback. * etc/controllerrc: regenerated with new syntax. Delete your old one! 2004-06-16 Sven Neumann * app/widgets/gimpcontrollerwheel.c (gimp_controller_wheel_get_event_name): don't use gettext() here. * modules/controller_linux_input.c: added more button events, set the device name, some cleanup. 2004-06-16 Sven Neumann * plug-ins/common/plugin-defs.pl: changed dependencies for blur. * plug-ins/common/Makefile.am: regenerated. * plug-ins/common/blur.c: no need to include libgimpui.h any longer. 2004-06-16 Bill Skaggs * plug-ins/common/blur.c: removed randomize and repeat options; made to run without popping a dialog. (bug #142318) 2004-06-16 Simon Budig * modules/controller_linux_input.c: enable dial-events for e.g. the powermate. Fixed typo. 2004-06-16 Sven Neumann * menus/image-menu.xml.in: added missing menu entries (bug #144449). 2004-06-16 Michael Natterer * libgimpwidgets/gimpcontroller.[ch]: added GimpController::get_event_blurb() which returns the strings that were returned by get_event_name(). The latter returns untranslatable event identifiers now. * app/widgets/gimpcontrollerwheel.c * modules/controller_linux_input.c: changed accordingly. * app/widgets/gimpcontrollerinfo.c * app/widgets/gimpcontrollers.c: changed the event mapping from event-id -> action-name to event-name -> action-name. * etc/controllerrc: changed accordingly (finally readable now). 2004-06-16 Michael Natterer * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpcontrollerinfo.[ch]: made an object out of the GimpControllerInfo struct. * app/widgets/gimpcontrollers.c: changed accordingly. 2004-06-16 Jakub Steiner * etc/controllerrc: fix typo 2004-06-16 Sven Neumann * modules/controller_linux_input.c * etc/controllerrc: preliminary wheel event support. 2004-06-16 Michael Natterer * app/widgets/gimpcontrollers.c: better debugging output. 2004-06-16 Sven Neumann * app/widgets/gimpcontrollers.c: bug fix. * configure.in: check for linux/input.h. * modules/Makefile.am * modules/controller_linux_input.c: added a prototype controller module using the linux input event interface. * etc/controllerrc: added example config for linux input device. 2004-06-16 Michael Natterer * app/widgets/gimpcontrollers.c: load the controller's properties from the controllerrc file. * etc/controllerrc: set the wheel's properties. 2004-06-16 Michael Natterer * etc/controllerrc: use the 10% actions for opacity. 2004-06-16 Michael Natterer * app/widgets/gimpcontrollers.c: ref the actions when putting them in the mapping table. * app/actions/context-actions.c: added actions to change the opacity in 10% steps. 2004-06-16 Michael Natterer * libgimpwidgets/gimpcontroller.[ch]: added a "name" property. Dispatch events only if the controller is enabled. * app/widgets/gimpcontrollerwheel.c: added controller events for all possible modifier combinations. * etc/Makefile.am * etc/controllerrc: default controllerrc which maps all unused wheel+modifier combinations to more-or-less usefull stuff. 2004-06-16 Michael Natterer Started to fix bug #106920 in a more genreral way: * libgimpwidgets/Makefile.am * libgimpwidgets/gimpwidgetstypes.h * libgimpwidgets/gimpwidgetsmarshal.list * libgimpwidgets/gimpcontroller.[ch]: new abstract base class which provides an API for pluggable input controller modules (mouse wheel, usb/midi stuff etc.). * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpcontrollerwheel.[ch]: subclass of the above which maps wheel mouse scroll events to controller events. * app/widgets/gimpcontrollers.[ch]: manager for controllers. reads $(gimpdir)/controllerrc and keeps a mapping of controller events to GtkActions. * app/gui/gui.c: initialize and shut down the controller stuff. * app/display/gimpdisplayshell-callbacks.c (gimp_display_shell_canvas_tool_events): if a wheel controller exists, dispatch GdkEventScroll to it first and return if it was handled. 2004-06-15 Sven Neumann * tools/pdbgen/pdb/text_tool.pdb: deprecate the XLFD-based API gimp_text() and gimp_text_get_extents(). * app/pdb/text_tool_cmds.c * libgimp/gimptexttool_pdb.[ch]: regenerated. 2004-06-15 Manish Singh * tools/pdbgen/pdbgen.pl * tools/pdbgen/lib.pl: some simplistic code to add a $deprecated flag to pdb definitions, which translates into GIMP_DISABLE_DEPRECATED guards in lib headers. 2004-06-15 Michael Natterer * app/actions/Makefile.am * app/actions/context-actions.[ch] * app/actions/context-commands.[ch]: added new action group to modify all GimpContext properties. So far there are actions to cycle through the lists of brushes, patterns etc., to change the opacity, to swap and default colors and to edit generated brushes. * app/actions/actions.c: register the new "context" action group. * app/actions/tools-actions.c * app/actions/tools-commands.[ch]: removed "tools-default-colors" and "tools-swap-colors" actions and callbacks because they are in the "context" action group now. * app/menus/menus.c: add the "context" group to the and UI managers. * menus/image-menu.xml.in: changed accordingly. Added a temporary "Context" menu to test and debug the new actions. 2004-06-15 Philip Lafleur * app/tools/gimpcroptool.c (crop_selection_callback): Force aspect ratio to match selection when 'From Selection' is clicked. Fixes bug #144361. Also converted tabs to spaces. 2004-06-15 Sven Neumann * plug-ins/common/mng.c (respin_cmap): applied the fix for empty colormaps (bug #143009) here as well. 2004-06-15 Philip Lafleur * app/core/gimpdrawable-transform.c (gimp_drawable_transform_tiles_affine): Don't round texture coordinates when not using interpolation. Fixes bug #144352 for the nearest neighbor case only. 2004-06-14 Sven Neumann * app/paint/gimpinkoptions.c: replaced some arbitrary values with larger but still arbitrary values (default and limit for ink size). 2004-06-14 Michael Natterer * app/paint/gimppaintcore.[ch]: removed PRETRACE_PAINT and POSTTRACE_PAINT from the GimpPaintCoreState enum. Removed "gboolean traces_on_window" from GimpPaintCoreClass. * app/paint/gimpclone.[ch] * app/paint/gimpink.c * app/tools/gimpclonetool.c: changed accordingly. * app/tools/gimppainttool.c: ditto. Show the brush outline while painting. Fixes bug #118348. 2004-06-14 Michael Natterer * app/tools/gimptransformtool.c: use gimp_draw_tool_is_active() instead of GIMP_IS_DISPLAY(draw_tool->gdisp). 2004-06-14 Michael Natterer * app/widgets/gimpactiongroup.c (gimp_action_group_add_*_actions): do the workaround for "" accelerators only if the GTK+ version is smaller than 2.4.3. Fixes bug #144342 for GTK+ >= 2.4.3. 2004-06-14 Sven Neumann * app/core/gimpdrawable-transform.c: declared gimp_drawable_transform_cubic() as inline function. Makes sample_cubic() run about 10% faster and causes a 7% speedup on cubic transformations. * app/paint-funcs/paint-funcs.c (border_region): avoid an unnecessary memory allocation. 2004-06-14 Philip Lafleur * app/tools/gimptransformtool.c: Disable preview in corrective mode, and notify preview when switching transform type and direction. 2004-06-14 Michael Natterer * app/paint/gimppaintcore.[ch]: added new virtual function GimpPaintCore::post_paint() and call it after calling GimpPaintCore::paint(). * app/paint/gimpbrushcore.[ch]: renamed brush_core->grr_brush to brush_core->main_brush and reset brush_core->brush to brush_core->main_brush in GimpPaintCore::post_paint(). * app/paint/gimpbrushcore.c * app/paint/gimppaintcore-stroke.c * app/tools/gimppainttool.c: removed all code which restores the brush_core's old brush after painting since post_paint() does this automatically now. * app/paint/gimpclone.[ch]: moved static variables to the GimpClone struct. 2004-06-14 Sven Neumann * app/paint-funcs/paint-funcs-generic.h (color_pixels): some code cleanup I did while attempting to optimize this code further. 2004-06-14 Henrik Brix Andersen * app/plug-in/plug-in-run.c: let extensions run synchronously when called via PDB. Fixes bug #140112. 2004-06-14 Philip Lafleur * app/tools/gimptransformtool.c: Preview is now only used for layer transformations. 2004-06-14 Michael Natterer * app/tools/gimpperspectivetool.c * app/tools/gimprotatetool.c * app/tools/gimpscaletool.c * app/tools/gimpsheartool.c: removed calls to gimp_transform_tool_expose_preview() from all GimpTransformTool::motion() implementations... * app/tools/gimptransformtool.c: ...and call it after calling tr_tool_class->preview(). 2004-06-14 Michael Natterer * app/display/gimpdisplayshell.[ch]: remember the last used GimpCursorFormat so changing the format in prefs applies instantly, and not after the next tool change. * app/display/gimpdisplayshell-cursor.[ch] * app/tools/gimptool.[ch] * app/tools/gimptoolcontrol.[ch] * app/tools/gimpclonetool.c * app/tools/gimpcolortool.c * app/tools/gimpcroptool.c * app/tools/gimpcurvestool.c * app/tools/gimpiscissorstool.c * app/tools/gimpmeasuretool.c * app/tools/gimpmovetool.c * app/tools/gimptransformtool.c: s/GdkCursorType/GimpCursorType/g 2004-06-14 Philip Lafleur * app/tools/gimptransformtool.c (gimp_transform_tool_doit): Preview wasn't being turned off before performing a transformation. Also converted tabs to spaces. 2004-06-14 Philip Lafleur * app/display/gimpdisplayshell-preview.c: Transformation previews now use the selection mask if it is present. 2004-06-13 Manish Singh * configure.in: Make sure PangoFT2 is using a recent enough fontconfig since many people have broken and confused setups. 2004-06-13 Manish Singh * tools/pdbgen/pdb/gradient_edit.pdb: cleans ups so generated output doesn't warn about uninitialize variable use, and whitespace cosmetic cleanups. * app/pdb/gradient_edit_cmds.c: regenerated. 2004-06-13 Manish Singh * app/base/cpu-accel.c: Reorged, to address bug #142907 and bug #143069. Accel implementations #define HAVE_ACCEL, and cpu_accel() keys on that. Both PPC and X86 implementations check for __GNUC__. X86 stuff is only used with USE_MMX is defined. The SSE OS check is now checked in arch_accel(), not cpu_accel(). Finally, the arch x86_64 checks now are EM64T aware (which didn't matter in practice). 2004-06-13 Philip Lafleur * app/display/gimpdisplayshell-preview.c: use drawable_mask_bounds() for texture coordinates instead of the drawable's width and height. 2004-06-13 Sven Neumann * app/paint-funcs/paint-funcs.c (shapeburst_region): don't call tile_ewidth() three times from the inner loop. * app/base/tile-manager.c (tile_manager_get): don't call tile_size() twice on the same tile. * app/base/tile-private.h: added tile_size_inline(), an inline version of the tile_size() function. * app/base/tile-cache.c * app/base/tile-manager.c * app/base/tile-swap.c * app/base/tile.c: use tile_size_inline() from inside the tile subsystem. 2004-06-13 Simon Budig * app/tools/gimpiscissorstool.c: Minor tweaks to two macros. Shouldn't change anything. 2004-06-13 Jakub Steiner * cursors/tool-zoom.png: * cursors/cursor-zoom.png: minor fsckup 2004-06-13 Jakub Steiner * cursors/gimp-tool-cursors.xcf * cursors/tool-burn.png: the burn tool doesn't really have an inverted handle 2004-06-13 Sven Neumann * app/paint-funcs/paint-funcs.[ch] (shapeburst_region): added progress callback. * app/core/gimpdrawable-blend.c: show a progress while calculating the Shapeburst. Not perfect but better than not showing any progress at all. 2004-06-13 Michael Natterer * app/widgets/widgets-enums.[ch]: added enum GimpCursorFormat which can be one of { BITMAP, PIXBUF, PIXBUF-PREMULTIPLY } to work around broken X servers. * app/config/gimpguiconfig.[ch] * app/config/gimprc-blurbs.h: added GimpGuiConfig::cursor-format. * app/gui/preferences-dialog.c: added a GUI for the new option. * app/widgets/gimpcursor.[ch]: added cursor_format parameter to gimp_cursor_new() and _set(). * app/display/gimpdisplayshell-cursor.c * app/tools/gimpcurvestool.c * app/widgets/gimpdialogfactory.c: pass an appropriate cursor_mode. 2004-06-12 Philip Lafleur * app/core/gimpdrawable-blend.c: added missing semicolon. 2004-06-12 Philip Lafleur * app/display/gimpdisplayshell-callbacks.c: Fixed incorrect logic that caused perfect-but-slow pointer tracking to be used in tools that don't request exact mode. * app/display/Makefile.am: * app/display/gimpdisplayshell-appearance.[ch]: * app/display/gimpdisplayshell-callbacks.c: * app/display/gimpdisplayshell.[ch]: * app/display/gimpdisplayshell-preview.[ch]: added * app/tools/gimpperspectivetool.c: * app/tools/gimprotatetool.c: * app/tools/gimpscaletool.c: * app/tools/gimpsheartool.c: * app/tools/gimptransformoptions.[ch]: * app/tools/gimptransformtool.[ch]: Implemented live transformation previews, available through tool options. Fixes bug #108172. 2004-06-13 Sven Neumann * app/core/gimpdrawable-blend.c (gradient_render_pixel): inline the repeat functions. * app/core/gimpgradient.c: inline the curve functions. 2004-06-13 Jakub Steiner * cursors/gimp-tool-cursors.xcf * cursors/tool-zoom.png: make more transparent 2004-06-13 Jakub Steiner * cursors/gimp-tool-cursors.xcf * cursors/tool-blur.png * cursors/tool-bucket-fill.png * cursors/tool-dodge.png * cursors/tool-eraser.png * cursors/tool-hand.png: fix a few problems hidden by low opacity 2004-06-13 Jakub Steiner * cursor/*png: updated the cursors 2004-06-13 Michael Natterer * cursors/gimp-tool-cursors.xcf: added nice new antialiased cursor layers made by Jimmac. 2004-06-13 Sven Neumann * app/core/gimppalette.c (gimp_palette_load): don't use the rather inefficient gimp_palette_add_entry() when loading a palette. 2004-06-13 Michael Natterer * app/core/gimpdata.[ch]: added "gint freeze_count" and gimp_data_freeze()/thaw() functions. Emit "dirty" only if freeze_count either is 0 or drops to 0. * app/core/gimpbrushgenerated.[ch] * app/core/gimpgradient.[ch]: removed freeze/thaw stuff that was duplicated in these two subclasses and use the new GimpData API instead. * app/widgets/gimpbrusheditor.c * app/widgets/gimpgradienteditor.c: changed accordingly. 2004-06-12 Sven Neumann * app/widgets/gimpcolorbar.c (gimp_color_bar_expose): don't copy the first row onto itself. 2004-06-12 Simon Budig * app/tools/gimptransformtool.c: Make Enter/Return apply the transformation, Backspace/Delete resets the transformation. * app/tools/gimpcroptool.c: Simplify the key_press callback. 2004-06-12 Simon Budig * app/tools/gimpcroptool.c: Make the Enter/Return key do the crop action. * app/tools/gimpeditselectiontool.c * app/tools/gimpvectortool.c: Make the _key_press functions safe for non-arrow keys. 2004-06-12 Sven Neumann * app/composite/gimp-composite.[ch]: just some cleanup. 2004-06-12 Michael Natterer * app/display/gimpdisplayshell-callbacks.c (gimp_display_shell_events): ported some forgotten #if 0'ed GtkItemFactory stuff to GtkUIManager. 2004-06-12 Simon Budig * app/tools/gimptool.[ch]: renamed the "arrow_key" member to "key_press", since it is now no longer about just the arrow keys. * app/tools/gimpcroptool.c * app/tools/gimpeditselectiontool.c * app/tools/gimpeditselectiontool.h * app/tools/gimpmovetool.c * app/tools/gimppainttool.c * app/tools/gimpselectiontool.c * app/tools/gimptexttool.c * app/tools/gimpvectortool.c * app/tools/tool_manager.c: Changed accordingly. 2004-06-12 Michael Natterer * app/display/gimpdisplayshell.c (gimp_display_shell_init): add the file DND destination before all others so the DND code will implicitly use its destination properties. Works around Konqueror offering only file MOVE, not COPY and fixes bug #144168. 2004-06-12 Sven Neumann * plug-ins/common/sample_colorize.c: reindented, some minor cleanup. 2004-06-12 Simon Budig * app/tools/tool_manager.[ch]: renamed tool_manager_arrow_key_active to tool_manager_key_press_active. * app/display/gimpdisplayshell-callbacks.c: Also dispatch GDK_Return/KP_Enter/BackSpace/Delete to the tools, the "arrow_key" member of GimpTool probably should be renamed. * app/tools/gimpvectortool.c: Use Enter/Return to convert the current path to a selection, use Backspace/Delete to delete the currently active anchors in a path. Implemented on Jimmacs request - thanks to him and Iva for being a great host :) 2004-06-12 Sven Neumann * app/widgets/gimphistogrameditor.c (gimp_histogram_editor_init): set the initially selected channel on the histogram combobox. Fixes bug #144225. 2004-06-12 Philip Lafleur * app/paint/gimppaintoptions.[ch]: renamed all "pressure-pressure" variables to "pressure-hardness". * app/paint/gimpairbrush.c: * app/tools/gimppaintoptions-gui.c: changed accordingly. 2004-06-10 Michael Natterer * libgimpwidgets/gimpcolorarea.c: replaced destroy() by finalize(), converted tabs to spaces, cleanup. 2004-06-10 Michael Natterer * app/widgets/gimpthumbbox.c (gimp_thumb_box_new): line-wrap the filename label if it's too long instead of cutting it off. 2004-06-10 Michael Natterer * app/widgets/widgets-enums.h (enum GimpCursorModifier): s/GIMP_LAST_CURSOR_MODIFIER_ENTRY/GIMP_CURSOR_MODIFIER_LAST/. * app/widgets/gimpcursor.c: changed accordingly. Renamed struct GimpBitmapCursor to GimpCursor. More cleanup. 2004-06-10 Michael Natterer * app/actions/image-actions.c * app/actions/image-commands.[ch] * app/actions/layers-actions.c * app/actions/layers-commands.[ch]: made the "image-convert-rgb/grayscale/indexed" and the "layers-mask-apply/delete" actions GimpEnumActions and merged their callbacks. 2004-06-10 Philip Lafleur * app/gui/preferences-dialog.c: restored the 'Show Paint Tool Cursor' option that was removed during clean-up. 2004-06-10 Philip Lafleur * app/paint/gimpbrushcore.c (gimp_brush_core_pressurize_mask): avoided some redundant calculations. 2004-06-10 Sven Neumann * app/gui/user-install-dialog.c: removed the monitor calibration from the user installation process. It's not a vital setting and can be done from the Preferences dialog later. * app/gui/resolution-calibrate-dialog.[ch]: simplified the resolution calibration dialog by removing the hacks that were needed for drawing it in the user-installation style. * app/gui/preferences-dialog.c: changed accordingly. Also removed the separator from the Display page. 2004-06-10 Sven Neumann * app/widgets/gimptemplateeditor.[ch]: added an API to expand/collapse the "Advanced Options" frame. * app/gui/preferences-dialog.c * app/widgets/gimphelp-ids.h: applied a patch done by William Skaggs that cleans up and reorganizes the Preferences dialog (bug #144060). 2004-06-09 Simon Budig * app/core/gimpcoords.[ch]: renamed gimp_coords_length2 to gimp_coords_length_squared. * app/vectors/gimpbezierstroke.c: Changed accordingly 2004-06-09 Sven Neumann * app/tools/gimppenciltool.c (gimp_pencil_tool_init): no need to request GIMP_MOTION_MODE_EXACT here since the parent class does that already. * app/tools/gimpinktool.c (gimp_ink_tool_init): ditto. Enable the color picker feature for the ink tool. 2004-06-09 Sven Neumann * menus/image-menu.xml.in: added "Selection Editor" to the Selection menu. Still hoping for the great menu reorganization though... * app/actions/select-actions.c (select_actions_update): "Save to Channel" makes sense without a selection also, so don't set it insensitive. 2004-06-07 Sven Neumann * plug-ins/common/glob.c: the glob(3) function is not available on Win32 and also isn't necessarily UTF-8 safe. Started to add an alternative implementation. Right now there's just some code taken from GTK+ (an UTF-8 save fnmatch() implementation) and the plug-in does nothing useful. I will add some stripped-down glob code based on the code in glibc later. 2004-06-07 Michael Natterer * app/core/gimplayer.c (gimp_layer_set_tiles): don't set layer->mask's offsets. It is wrong because GimpDrawable::set_tiles() is a lowlevel function which is used by stuff like scale and resize which keep the mask in sync explicitely and don't expect it to be moved in the middle of chaining up. Fixes bug #143860. 2004-06-07 Michael Natterer * app/actions/view-actions.c * app/actions/view-commands.[ch]: added separate callback for "view-zoom-other" and connect GtkAction::activate manually so "Other..." can be selected even if it's the active item in the zoom radio group. Fixes bug #143850. 2004-06-07 Sven Neumann * plug-ins/common/tileit.c (tileit_dialog): fixed a typo. 2004-06-07 Sven Neumann * app/menus/plug-in-menus.c (plug_in_menus_setup): sort the menus by the translated menu path stripped from underscores. 2004-06-06 Sven Neumann * plug-ins/common/gauss.c (gauss): fixed a stupid cut'n'paste bug I introduced yesterday. 2004-06-06 Sven Neumann * plug-ins/common/gauss.c (query): register the menu entry the new way and install a mnemonic for Gaussian Blur. 2004-06-05 Sven Neumann * plug-ins/common/curve_bend.c: applied a patch from Henrik Brix Andersen that tells the user that Curve Bend cannot operate on layers with masks instead of silently applying the mask (bug #134748). 2004-06-05 Sven Neumann * plug-ins/common/plugin-defs.pl * plug-ins/common/Makefile.am * plug-ins/common/gauss_iir.c * plug-ins/common/gauss_rle.c: removed the two gaussian blur plug-ins... * plug-ins/common/gauss.c: and added a merged version done by William Skaggs. Fixes bug #134088. 2004-06-05 Sven Neumann * plug-ins/sgi/sgi.c: applied a patch from Philip Lafleur that makes the plug-in handle images with more than 4 channels. At the moment the extra information is discarded (bug #143673). 2004-06-05 Sven Neumann * plug-ins/common/unsharp.c: applied a modified patch from Geert Jordaens that adds a preview to the Unsharp Mask plug-in. Fixes bug #140974. 2004-06-05 Sven Neumann * app/paint/gimppaintcore.c * app/paint-funcs/paint-funcs-generic.h * app/paint-funcs/paint-funcs.[ch]: applied a patch from Philip Lafleur that changes the way that paint is applied during a paint stroke. Fixes bug #124225. 2004-06-05 Sven Neumann * plug-ins/common/Makefile.am * plug-ins/common/plugin-defs.pl * plug-ins/common/glob.c: added a simple glob plug-in based on some old code by George Hartz. This plug-in is very useful when you need to do batch processing, especially from Script-Fu. Fixes bug #143661. 2004-06-05 Sven Neumann * app/widgets/gimpgradienteditor.c: applied a patch from David Gowers that makes the gradient editor display the perceptual intensity of the color under the cursor (bug #135037). 2004-06-05 Sven Neumann * plug-ins/common/snoise.c: applied a modifed patch from Yeti that adds a preview to the Solid Noise plug-in (bug #142587). 2004-06-05 Sven Neumann * plug-ins/common/tiff.c: save the proper value for type of alpha channel. Fixes bug #143522; patch by Philip Lafleur. 2004-06-05 Manish Singh * app/gui/preferences-dialog.c (prefs_dialog_new): update call to prefs_spin_button_add for num-processors too. 2004-06-05 Sven Neumann * plug-ins/script-fu/script-fu-scripts.c (script_fu_interface): left align toggle buttons. 2004-06-05 Sven Neumann * app/text/gimptextlayer-transform.[ch]: updated the (still unused) text transformation code. * app/text/gimptext-bitmap.c: removed a redundant transformation. 2004-06-05 Michael Natterer * cursors/Makefile.am * cursors/cursor-none.png * cursors/xbm/cursor-none.xbm: new empty cursor images. * app/config/gimpdisplayconfig.[ch] * app/config/gimprc-blurbs.h * app/widgets/widgets-enums.h * app/widgets/gimpcursor.c * app/display/gimpdisplayshell-cursor.c * app/tools/gimppainttool.[ch] * app/tools/gimpinktool.c * app/gui/preferences-dialog.c: applied patches from Philip Lafleur which implement hiding the cursor completely for paint tools. Changed the name of the config option from "hide-paint-tool-cursor" to "show-paint-tool-cursor" and default to TRUE because this needs the brush outline being visible while painting to be really usable. Fixes bug #132163. * app/widgets/widgets-enums.h: renamed all GimpCursorType and GimpToolCursorType enum values to GIMP_CURSOR_* and GIMP_TOOL_CURSOR_*. * app/widgets/gimpcursor.c * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell-cursor.c * app/tools/gimp*tool.c; changed accordingly. 2004-06-04 Michael Natterer * app/widgets/gimpcursor.c: changed create_cursor_foo() utility functions to get_cursor_foo() and use them as accessors instead of using cursor->member. Use gdk_pixbuf_copy() instead of compositing the initial image onto an empty pixbuf. 2004-06-04 Sven Neumann * app/widgets/gimptexteditor.c (gimp_text_editor_new): set the focus on the text area. 2004-06-04 Sven Neumann * app/tools/gimptexttool.c (gimp_text_tool_class_init): allow to move a text layer using the cursor keys. 2004-06-04 Michael Natterer * cursors/*.xbm: removed... * cursors/xbm/*.xbm: ...and added here instead. Renamed them all to match the PNG file names. * cursors/Makefile.am: changed accordingly. * app/widget/gimpcursor.c: ditto. Merged the two cursor creating functions again because they duplicated too much code. 2004-06-04 Sven Neumann * app/menus/plug-in-menus.c (plug_in_menus_setup): populate the tree with collation keys and use strcmp() instead of g_utf8_collate() as the tree's sort function. 2004-06-04 Sven Neumann * app/paint/gimppaintoptions.c (DEFAULT_PRESSURE_PRESSURE): applied a patch by Philip Lafleur that changes the default to FALSE. Fixes bug #143626. 2004-06-03 Michael Natterer * app/widgets/gimptoolbox.c (gimp_toolbox_size_allocate): use gtk_widget_size_request() instead of _get_child_requisition() because we need to know the size of the toolbox' areas even if they are invisible. Fixes SIGFPE spotted by Jimmac. 2004-06-03 Michael Natterer * app/widgets/gimpcursor.c: some cleanup. Make the tool_cursor and cursor_modifier components slightly transparent. * cursors/cursor-mouse.png: was the wrong image. 2004-06-03 Michael Natterer * cursors/Makefile.am * cursors/*.png: added PNG version of all cursors. * cursors/gimp-tool-cursors.xcf: reordered and renamed all layers to match the new PNG filenames. * app/widgets/gimpcursor.[ch]: create cursors with alpha and color if the GdkDisplay supports it. Fall back to the old stuff otherwise. 2004-06-03 Sven Neumann * app/core/gimppattern.c (gimp_pattern_load_pixbuf): if a Title is set, use that as the pattern name. 2004-06-03 Sven Neumann * app/core/gimpdatafactory.c (gimp_data_factory_load_data): removed commented-out message. * app/core/gimppattern.[ch]: fixed handling of errors and PNG comments in new pattern loader. Renamed functions for consistency with other data loaders. * app/core/gimp.c: changed accordingly. 2004-06-03 Dave Neary * app/core/gimp.c: * app/core/gimpdatafactory.c: * app/core/gimppattern.[ch]: Add support for GdkPixbuf patterns, so now all of png, jpex, pnm, xbm, bmp, gif, ico, pcx, ras, tga, xpm and tiff can be used for patterns. 2004-06-03 Michael Natterer * app/actions/vectors-actions.c: added alternative actions "vectors-selection-from-vectors" and "vectors-selection-to-vectors-short" with different labels suited for the "Select" menu. * app/actions/select-actions.c: removed "select-from-vectors" and "select-to-vectors" (to vectors was crashing anyway). * app/actions/select-commands.[ch]: removed select_from_vectors_cmd_callback(). Fixes code dupliction. * menus/image-menu.xml.in * menus/selection-editor-menu.xml: changed accordingly. 2004-06-03 Michael Natterer * app/widgets/gimpgradienteditor.c (control_motion): use the newly added GimpGradient API to set the segment's handles instead of setting the values directly. Dirties the gradient correctly and makes the preview update instantly again. Fixes bug #143605. 2004-06-03 Sven Neumann * app/gui/file-open-location-dialog.c (file_open_location_completion): check for NULL pointer before passing it to g_utf8_normalize(). Just a workaround for a problem in GimpContainerView. 2004-06-02 Sven Neumann * INSTALL: more updates. 2004-06-02 Sven Neumann * Made 2.1.0 development release. 2004-06-02 Sven Neumann * app/display/gimpdisplayshell-scale.c * app/gui/info-window.c * app/gui/preferences-dialog.c * app/gui/resize-dialog.c * app/tools/gimpcolorbalancetool.c * app/tools/gimpcurvestool.c * app/tools/gimphuesaturationtool.c * app/tools/gimplevelstool.c * app/tools/gimpthresholdtool.c * app/widgets/gimpdockable.c * app/widgets/gimpfiledialog.c * app/widgets/gimpgradienteditor.c * app/widgets/gimphistogrambox.c * app/widgets/gimplayertreeview.c * app/widgets/gimpstrokeeditor.c: tweaked some spacings for consistency and better HIG compliance. 2004-06-02 Michael Natterer * tools/pdbgen/pdb/gradient_edit.pdb: set_blending_function() and set_coloring_type() work on segment ranges, renamed them accordingly. Spotted by Shlomi Fish. * app/pdb/gradient_edit_cmds.c * libgimp/gimpgradientedit_pdb.[ch]: regenerated. 2004-06-02 Michael Natterer * app/widgets/gimpdnd.[ch]: removed utility funtion gimp_dnd_open_files(). * app/widgets/gimptoolbox-dnd.c: added gimp_toolbox_drop_files() instead. * app/display/gimpdisplayshell-dnd.c (gimp_display_shell_drop_files): show the error message if opening a dropped file fails. 2004-06-02 Sven Neumann * libgimpthumb/gimpthumbnail.c: plugged a small memory leak. 2004-06-02 Michael Natterer * app/widgets/gimpdnd.h: removed enum GimpDndType... * app/widgets/widgets-enums.h: ...and added it here. * app/widgets/gimpdnd.c: added more g_return_if_fail(). Allow all gimp_dnd_foo_dest_add() functions to be called without callback (just add the target if callback is NULL). (gimp_dnd_open_files): removed the checks for validity of the passed filenames/uris... (gimp_dnd_set_file_data): ...and added it here so all callbacks get an already sanitized list of strings. 2004-06-02 Sven Neumann * app/actions/Makefile.am (EXTRA_DIST) * app/menus/Makefile.am (EXTRA_DIST): removed makefile.msc until they have been added. 2004-06-02 Sven Neumann * app/widgets/gimpcontainerview.c: create the hash table when inserting items; removes redundant create/destroy cycles and plugs a memory leak. 2004-06-02 Sven Neumann * INSTALL: updated for gimp-2.1. Suggest to use gimp-print version 4.2.7-pre1 in case of problems (see bug #138273). 2004-06-02 Michael Natterer * app/display/gimpdisplayshell-dnd.c (gimp_display_shell_drop_files): copy the merged layer, not the first one. Preserve the type of the layer to make e.g. dropping an XCF with a single text layer work. 2004-06-02 Sven Neumann * NEWS * README: updated. 2004-06-02 Michael Natterer * app/display/gimpdisplayshell.c (gimp_display_shell_init): accept file/uri drops. * app/display/gimpdisplayshell-dnd.[ch] (gimp_display_shell_drop_files): open any kind of image and turn it into a single layer which is added to the image (suggested by Antenne Springborn). 2004-06-02 Sven Neumann * tools/pdbgen/pdb/gradient_edit.pdb * tools/pdbgen/pdb/gradients.pdb: mark new API as new using $since. * libgimp/gimpgradientedit_pdb.c * libgimp/gimpgradients_pdb.c: regenerated. 2004-06-02 Michael Natterer * tools/pdbgen/pdb/gradient_edit.pdb: forgot two more s/int32/enum/. * app/pdb/gradient_edit_cmds.c * libgimp/gimpgradientedit_pdb.[ch]: regenerated. 2004-06-01 Sven Neumann * tools/pdbgen/pdb/image.pdb * app/pdb/image_cmds.c * app/core/gimpimage.[ch]: reverted changes I did to the image unit earlier. As in 2.0, it will continue to not accept pixels. This makes the PDB API and the XCF format compatible again and fixes bug #142961 (and to some extent bug #137704). * app/core/Makefile.am * app/core/gimpimage-unit.[ch]: removed these files. The convenience accessors defined here aren't commonly used any longer. * app/display/gimpdisplay.[ch] * app/display/gimpdisplayshell.[ch]: added a unit parameter to gimp_display_new(). Made "unit" and "scale" properties of GimpDisplayShell. * app/actions/image-commands.c * app/actions/images-commands.c * app/actions/layers-commands.c * app/actions/select-commands.c * app/actions/view-commands.c * app/core/gimp-edit.c * app/core/gimp.[ch] * app/core/gimptemplate.c * app/display/gimpdisplayshell-handlers.c * app/display/gimpdisplayshell-scale.c * app/display/gimpdisplayshell-title.c * app/display/gimpstatusbar.c * app/file/file-open.c * app/gui/gui-vtable.c * app/gui/info-window.c * app/gui/offset-dialog.c * app/gui/resize-dialog.[ch] * app/pdb/display_cmds.c * app/tools/gimpcroptool.c * app/tools/gimpmeasuretool.c * app/tools/gimppainttool.c * app/tools/gimprectselecttool.c * app/tools/gimprotatetool.c * app/tools/gimpscaletool.c * app/vectors/gimpvectors-export.c * app/widgets/gimptoolbox-dnd.c * tools/pdbgen/pdb/display.pdb: changed accordingly. Use the display unit where the image unit was used before. 2004-06-01 Michael Natterer * tools/pdbgen/pdb/gradient_edit.pdb: use enums instead of integers, cleanup. * app/pdb/gradient_edit_cmds.c * libgimp/gimpgradientedit_pdb.[ch]: regenerated. 2004-06-01 Michael Natterer * app/core/gimpdatafactory.[ch]: added new function gimp_data_factory_data_delete(). * app/actions/data-commands.c (data_delete_callback): use it. * tools/pdbgen/pdb/gradients.pdb: applied (slightly modified) patch from Shlomi Fish which adds PDB wrappers to create, delete, duplicate and rename gradients. Fixes bug #143528. * app/pdb/gradients_cmds.c * app/pdb/internal_procs.c * libgimp/gimpgradients_pdb.[ch]: regenerated. 2004-06-01 Michael Natterer * app/core/core-enums.h: renamed the values of the GimpGradientSegment* enums from GIMP_GRAD_* to GIMP_GRADIENT_SEGMENT_* because they are exported now. * app/core/gimp-gradients.c * app/core/gimpgradient.c * app/actions/gradient-editor-actions.c: changed accordingly. * libgimp/gimpenums.h * plug-ins/pygimp/gimpenums.py * plug-ins/script-fu/script-fu-constants.c * tools/pdbgen/enums.pl: regenerated. 2004-06-01 Sven Neumann * plug-ins/common/tiff.c: don't call gtk_entry_set_text() with a NULL text. 2004-06-01 Michael Natterer * app/widgets/gimpcontainertreeview-dnd.c * app/widgets/gimpitemtreeview.c: some cleanup in the tree view DND code. 2004-06-01 Michael Natterer * app/widgets/gimpsessioninfo.c (gimp_session_info_restore): added a horrible hack that sets the paned's position after the first "size-allocate" after "map". Makes position remembering work for the toolbox and fixes bug #142697. * app/widgets/gimpdockable.[ch]: added new function gimp_dockable_set_tab_style() * app/actions/dockable-commands.c (dockable_tab_style_cmd_callback) * app/widgets/gimpsessioninfo.c (gimp_session_info_restore): use gimp_dockable_set_tab_style(). 2004-06-01 Michael Natterer * app/widgets/gimptoolbox.c (toolbox_area_notify): removed unused variable. 2004-06-01 Sven Neumann * plug-ins/common/autocrop.c (query): register as "Autocrop Image" and "Autocrop Layer". 2004-06-01 Sven Neumann * app/actions/image-commands.c (image_new_cmd_callback): initialize the dialog by calling file_new_dialog_set(). Fixes bug #143477. 2004-05-31 Sven Neumann * app/widgets/gimpcontainerentry.[ch]: export the column enum. * app/gui/file-open-location-dialog.c: use a GimpContainerEntry on the documents list. Use a custom match function that matches without the leading protocol part. 2004-05-31 Michael Natterer * app/widgets/Makefile.am * app/widgets/gimptoolbox-image-area.[ch]: new toolbox area which shows the active image. * app/config/gimpguiconfig.[ch] * app/config/gimprc-blurbs.h: added config options to control the visibility of the toolbox' color, indicator and image areas. * app/widgets/gimptoolbox.[ch]: added the image area and honor the new config options. Put the various areas into their own wrap box. * app/widgets/gimptoolbox-dnd.c: changed accordingly. * app/widgets/gimphelp-ids.h: added a help ID for the image area. * app/widgets/gimptoolbox-indicator-area.c: made the previews a bit larger, cleanup. * app/gui/preferences-dialog.c: added a "Toolbox" page as GUI for the new config options. * themes/Default/images/preferences/Makefile.am * themes/Default/images/preferences/toolbox.png: a (wrong) icon for the "Toolbox" prefs page. Needs to be replaced. 2004-05-31 Sven Neumann * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpcontainerentry.[ch]: added new widget GimpContainerEntry, a GtkEntry with completion that implements the GimpContainerView interface. * app/tools/gimptextoptions.c (gimp_text_options_gui): added a GimpContainerEntry to select the font. 2004-05-31 Sven Neumann * app/Makefile.am * app/actions/file-actions.c * app/actions/file-commands.[ch] * app/gui/Makefile.am * app/gui/file-open-location-dialog.[ch] * app/widgets/gimphelp-ids.h * menus/image-menu.xml.in * menus/toolbox-menu.xml.in: added a rudimentary "Open Location" dialog. 2004-05-31 Sven Neumann * plug-ins/common/mblur.c (mblur_zoom): push pixels outwards not to the center as suggested by Chad Daelhousen (bug #142968). 2004-05-31 Sven Neumann * plug-ins/common/mblur.c: applied patch from William Skaggs that adds the possibility to choose the center of radial and zoom motion blurs (bug #113711). 2004-05-31 Sven Neumann * app/paint/gimpconvolve.c * app/paint-funcs/paint-funcs.[ch] * app/tools/gimpiscissorstool.c: reverted last change and applied new patch instead (bug #72878). 2004-05-31 Sven Neumann * app/paint/gimpconvolve.c * app/paint-funcs/paint-funcs.[ch] * app/tools/gimpiscissorstool.c: applied a patch from Philip Lafleur that fixes RGBA resampling in Convolve tool (bug #72878). 2004-05-31 Sven Neumann * plug-ins/imagemap/imap_cmd_gimp_guides.c * plug-ins/imagemap/imap_edit_area_info.c * plug-ins/imagemap/imap_preferences.c * plug-ins/imagemap/imap_settings.c: need to include gimpwidgets.h. 2004-05-31 Michael Natterer * app/core/core-enums.h * app/core/gimpgradient.[ch] * app/pdb/Makefile.am * app/widgets/gimpgradienteditor.c * tools/pdbgen/Makefile.am * tools/pdbgen/groups.pl * tools/pdbgen/pdb/gradient_edit.pdb: applied a patch from Shlomi Fish that adds lots of gradient edit functions to gimpgradient.[ch] and makes them available through the PDB. Fixes bug #129675 and bug #129678. Did some cleanups / enhancments to the patch: * app/core/gimpgradient.[ch]: changed the naming scheme of the new functions and changed old functions to match the new scheme. Introduce a "freeze_count" and public freeze()/thaw() API which enables subsequent gradient changes without "dirty" being emitted all the time. Added GimpGradient parameters to all functions which modify the gradient. * app/widgets/gimpgradienteditor.c: use the new freeze/thaw stuff to keep the gradient from updating when not in "Instant Update" mode. * app/actions/gradient-editor-commands.c: removed all gradient editing code and call the new core functions. * libgimp/Makefile.am * tools/pdbgen/pdb/gradient_edit.pdb: changed the namespace of all added functions. Generate libgimp wrappers for them.. * app/pdb/gradient_edit_cmds.c * app/pdb/internal_procs.c * libgimp/gimp_pdb.h * libgimp/gimpenums.h * libgimp/gimpgradientedit_pdb.[ch] * plug-ins/pygimp/gimpenums.py * plug-ins/script-fu/script-fu-constants.c * tools/pdbgen/enums.pl: (re)generated. 2004-05-29 Sven Neumann * plug-ins/common/autocrop.c: applied patch from Philip Lafleur that makes Autocrop register a new procedure that autocrops a single layer as requested in bug #142618. * tools/pdbgen/pdb/layer.pdb * app/pdb/layer_cmds.c * libgimp/gimplayer_pdb.c: fixed documentation for gimp_resize_layer. Patch provided by Philip Lafleur (bug #142618). 2004-05-29 Sven Neumann * app/widgets/gimptemplateeditor.c (gimp_template_editor_constructor): add the spinbuttons to the size entry in the correct order. Fixes bug #143347. 2004-05-28 Michael Natterer * app/widgets/gimpdnd.c (gimp_dnd_open_files): if the dropped stuff is a local filename (no file URI), convert it to an URI instead of forwarding it unmodified. 2004-05-28 Michael Natterer * app/widgets/gimppreview.c (gimp_preview_button_press_event): don't invoke the popup preview if there is no viewable. 2004-05-28 Sven Neumann * app/widgets/gimppropwidgets.c: same workaround for tooltips on combo boxes. 2004-05-28 Sven Neumann * plug-ins/Lighting/lighting_ui.c * plug-ins/MapObject/mapobject_ui.c * plug-ins/common/warp.c * plug-ins/gfig/gfig.c: tooltips can't be set on a GtkComboBox so we need to pack it into a GtkEventBox when a tooltip is needed. 2004-05-28 Michael Natterer * app/text/gimpfont.c (gimp_font_get_popup_size) (gimp_font_get_new_preview): take both logical and ink rectangle into account to avoid clipping away parts of the font preview. Fixes bug #142277. 2004-05-28 Michael Natterer * app/widgets/gimpcontainerview.[ch]: added "preview-size" and "preview-border-width" properties. Cleanup. * app/widgets/gimpcontainerbox.c * app/widgets/gimpcontainercombobox.c: implement them. 2004-05-28 Michael Natterer * app/widgets/gimpcontainergridview.[ch] * app/widgets/gimpcontainertreeview.[ch]: removed "reorderable" from gimp_container_foo_view_new(). * app/widgets/gimpcontainereditor.[ch]: removed "reorderable" from gimp_container_editor_construct(). Automatically set the view to reorderable if the viewed container has no sort_func. * app/widgets/gimpbufferview.c * app/widgets/gimpdatafactoryview.c * app/widgets/gimpdocumentview.c * app/widgets/gimpimageview.c * app/widgets/gimptemplateview.c * app/widgets/gimptoolview.c * app/widgets/gimpundoeditor.c: removed reoderable stuff because GimpContainerEditor does this generically now. * app/widgets/gimpcontainerpopup.c * app/widgets/gimpfontview.c: set reorderable to FALSE because they should not be reodered even if they don't have a sort_func. * app/gui/font-select.c: removed reorderable stuff. Some cleanup. * app/gui/brush-select.c * app/gui/gradient-select.c * app/gui/palette-select.c * app/gui/pattern-select.c: same cleanups as in font-select.c 2004-05-28 Michael Natterer * app/paint/gimpbrushcore.c * app/paint/gimpdodgeburn.c * app/paint/gimppaintcore.[ch] * app/tools/gimpairbrushtool.c * app/tools/gimpclonetool.c * app/tools/gimpconvolvetool.c * app/tools/gimpdodgeburntool.c * app/tools/gimpinktool.c * app/tools/gimppaintbrushtool.c * app/tools/gimppenciltool.c * app/tools/gimpsmudgetool.c: code review / cleanup. 2004-05-28 Sven Neumann * plug-ins/common/CML_explorer.c * plug-ins/maze/maze_face.c: added size groups. * plug-ins/common/sinus.c: HIG-ified. 2004-05-28 Sven Neumann * plug-ins/Lighting/lighting_ui.c: tuned dialog layout for consistency. * plug-ins/common/warp.c: added size groups to nicely align the widgets. 2004-05-27 Michael Natterer * app/paint/gimp-paint.c (gimp_paint_init): register ink between airbrush and clone so the stroke dialog's menu of paint functions has the same order as the default toolbox order. 2004-05-27 Michael Natterer * app/paint/gimppaintcore.[ch]: removed enum GimpPaintCoreFlags and member GimpPaintCore::flags. Added "gboolean traces_on_window" to GimpPaintCoreClass (defaults to FALSE). * app/paint/gimpclone.c: set traces_on_window = TRUE. * app/paint/gimpbrushcore.[ch]: added "gboolean handles_changing_brush" to GimpBrushCoreClass (defaults to FALSE). * app/paint/gimpclone.c * app/paint/gimpdodgeburn.c * app/paint/gimperaser.c * app/paint/gimppaintbrush.c * app/paint/gimppaintcore.c: set handles_changing_brush = TRUE. * app/tools/gimppainttool.c: changed accordingly. 2004-05-27 Maurits Rijk * plug-ins/common/ccanalyze.c: code clean-up. Improved speed a lot (500 percent for 1000 x 1000 RGB image) by replacing O(n^2) algorithm with O(n) version. * plug-ins/common/gif.c * plug-ins/common/gih.c * plug-ins/common/glasstile.c * plug-ins/common/gqbist.c * plug-ins/common/gradmap.c * plug-ins/common/gtm.c * plug-ins/common/guillotine.c: Use HIG capitalization style plus minor code clean-up. 2004-05-27 Sven Neumann * plug-ins/common/png.c (respin_cmap): handle an empty colormap. Fixes bug #143009. 2004-05-27 Sven Neumann * libgimpwidgets/gimppickbutton.c: applied patch from Philip Lafleur that fixes color picking for XInput devices (bug #143166). 2004-05-27 Sven Neumann * app/display/gimpdisplayshell-draw.c (gimp_display_shell_draw_grid): fixed handling of grid offsets in the grid drawing routine. 2004-05-27 Michael Natterer * app/widgets/widgets-enums.[ch]: added enum GimpActiveColor which can be one of { FOREGROUND, BACKGROUND }. * app/widgets/Makefile.am * app/widgets/gimpfgbgeditor.[ch]: new widget implementing the FG/BG/Swap/Default color area known from the toolbox. * app/widgets/gimptoolbox-color-area.c: use the new widget. * app/widgets/gimpcoloreditor.[ch]: replaced the FG/BG buttons and the color area by a GimpFgBgEditor. 2004-05-27 Michael Natterer * app/widgets/gimpdocumentview.c (gimp_document_view_new): gimp_editor_add_action_button() takes a va_list, terminate it with NULL. Fixes bug #143258. 2004-05-26 Michael Natterer * app/paint/gimpink.c: restored old time/speed sensitivity behaviour by doing nothing except figuring if we draw a straight line in INIT_PAINT. Instead, do all the Blob creating in MOTION_PAINT and special case the initial (null) "motion" accordingly. 2004-05-26 Maurits Rijk * plug-ins/common/video.c: code clean-up. Twice as fast now. * plug-ins/common/flarefx.c: removed timing stuff. 2004-05-26 Sven Neumann * app/core/core-enums.[ch]: shorter names for the gradient types to reduce the width of the blend tool options. 2004-05-26 Maurits Rijk * plug-ins/common/decompose.c * plug-ins/common/deinterlace.c * plug-ins/common/depthmerge.c * plug-ins/common/despeckle.c * plug-ins/common/destripe.c * plug-ins/common/diffraction.c * plug-ins/common/displace.c * plug-ins/common/edge.c * plug-ins/common/emboss.c * plug-ins/common/engrave.c * plug-ins/common/exchange.c * plug-ins/common/film.c * plug-ins/common/flarefx.c: Use HIG capitalization style. Added GPL license in a few places. Minor code clean-up. 2004-05-26 Sven Neumann * app/widgets/gimpcolordisplayeditor.c * modules/cdisplay_colorblind.c * modules/cdisplay_gamma.c * modules/cdisplay_highcontrast.c * modules/cdisplay_proof.c: HIG-ified color display filters. 2004-05-26 Michael Natterer * app/paint/gimppaintcore.[ch]: added "guint32 time" parameters to GimpPaintCore::paint() and ::interpolate(). * app/paint/gimpairbrush.c * app/paint/gimpbrushcore.c * app/paint/gimpclone.c * app/paint/gimpconvolve.c * app/paint/gimpdodgeburn.c * app/paint/gimperaser.c * app/paint/gimppaintbrush.c * app/paint/gimpsmudge.c: changed accordingly. * app/paint/gimpink.c: ditto and use the passed time instead of hardcoded dummy values. * app/paint/gimppaintcore-stroke.c: pass '0' as time. * app/tools/gimppainttool.c: pass the GdkEvent time. 2004-05-26 Michael Natterer * app/paint/Makefile.am * app/paint/gimpink-blob.[ch] * app/paint/gimpink.[ch] * app/paint/gimpinkoptions.[ch]: new files. Ported the ink tool to be a direct GimpPaintCore subclass without any GUI. * app/paint/gimp-paint.c: register GimpInk with the list of paint cores. * app/tools/Makefile.am * app/tools/gimpinkoptions.[ch] * app/tools/gimpinktool-blob.[ch]: removed these files. * app/tools/gimpinkoptions-gui.[ch]: new files containing only the GUI for GimpInkOptions. * app/tools/gimpinktool.[ch]: reduced to some few lines which implement a simple GimpPaintTool subclass. * app/tools/gimp-tools.c: associate the GimpInk paint_core with the GimpInkTool. 2004-05-26 Michael Natterer * app/paint/gimppaintcore-stroke.c: check if we really have a GimpBrushCore before casting and accessing its members. 2004-05-26 Michael Natterer * app/paint/gimpbrushcore.h * app/paint/gimppaintcore.h: some cleanup. 2004-05-26 Sven Neumann * app/display/gimpdisplayshell-layer-select.c * app/display/gimpprogress.c * app/gui/brush-select.c * app/gui/color-notebook.c * app/gui/convert-dialog.c * app/gui/font-select.c * app/gui/gradient-select.c * app/gui/info-dialog.c * app/gui/offset-dialog.c * app/gui/palette-select.c * app/gui/pattern-select.c * app/gui/stroke-dialog.c * app/gui/tips-dialog.c * app/tools/gimpmeasuretool.c * app/tools/gimptexttool.c * app/widgets/gimpcolordisplayeditor.c * app/widgets/gimpcolorframe.c * app/widgets/gimpdevicestatus.c * app/widgets/gimpviewabledialog.c: adjusted dialog spacings. 2004-05-26 Michael Natterer * app/paint/gimppaintcore.c: don't do special stuff if a virtual function doesn't exist. Instead, added default implementations which do the special stuff and call the virtual functions unconditionally. * app/tools/gimppainttool.c: some stylistic cleanup. 2004-05-26 Michael Natterer * app/paint/gimppaintcore.[ch] (gimp_paint_core_paste) (gimp_paint_core_replace): replaced the "MaskBuf *paint_mask" parameters by "PixelRegion *mask_bufPR", so subclasses can pass in any kind of paint_mask buffer and are not restricted to MaskBufs. Also removes implicit knowledge about the MaskBuf originating from a brush in paint_mask_to_canvas_buf() and _to_canvas_tiles() which don't need to offset the mask by width/2 height/2 any more. Made gimp_paint_core_validate_undo_tiles() and gimp_paint_core_validate_canvas_tiles() protected functions. * app/paint/gimpbrushcore.c (gimp_brush_core_paste_canvas) (gimp_brush_core_replace_canvas): create correctly positioned PixelRegions from the MaskBufs before passing them to the paint_core. 2004-05-26 Michael Natterer * app/paint/gimppaintcore.[ch]: removed "gdouble scale" parameter and added "GimpPaintOptions" in GimpPaintCore::get_paint_area(). Check if virtual functions exist befoe calling them. * app/paint/gimpbrushcore.[ch]: added "gdouble scale" to GimpBrushCore and "gboolean use_scale" to GimpBrushCoreClass (defaults to TRUE). Set scale from paint_options in GimpPaintCore::get_paint_area(). Removed "scale" parameter from gimp_brush_core_paste_canvas() and _replace_canvas(). * app/paint/gimpsmudge.c (gimp_smudge_class_init): set use_scale to FALSE. * app/paint/gimpclone.c * app/paint/gimpconvolve.c * app/paint/gimpdodgeburn.c * app/paint/gimperaser.c * app/paint/gimppaintbrush.c: removed all scale calculations and simply pass paint_options to GimpPaintCore::get_paint_area(). 2004-05-26 Michael Natterer * app/tools/gimppainttool.c (gimp_paint_tool_button_press): check if the GimpPaintCore really is a GimpBrushCore before casting and fiddling with internaly. 2004-05-25 Michael Natterer * app/paint/Makefile.am * app/paint/gimpbrushcore-kernels.h * app/paint/gimpbrushcore.[ch]: new GimpPaintCore subclass containing all the brush painting specific stuff. * app/paint/gimppaintcore-kernels.h: removed this file. * app/paint/gimppaintcore.[ch]: removed all brush stuff. * app/paint/gimpairbrush.c * app/paint/gimpclone.[ch] * app/paint/gimpconvolve.[ch] * app/paint/gimpdodgeburn.[ch] * app/paint/gimperaser.[ch] * app/paint/gimppaintbrush.[ch] * app/paint/gimppencil.c * app/paint/gimpsmudge.[ch]: changed accordingly. Derive all classes which used to derive directly from GimpPaintCore from GimpBrushCore now. Lots of cleanup. * app/paint/paint-types.h * app/paint/gimp-paint.c * app/paint/gimppaintcore-stroke.c * app/tools/gimppainttool.c * tools/kernelgen.c: changed accordingly. 2004-05-25 Maurits Rijk * plug-ins/common/align_layers.c * plug-ins/common/animoptimize.c * plug-ins/common/animationplay.c * plug-ins/common/apply_lens.c * plug-ins/common/autocrop.c * plug-ins/common/autostretch_hsv.c * plug-ins/common/blinds.c * plug-ins/common/blur.c * plug-ins/common/borderaverage.c * plug-ins/common/bz2.c * plug-ins/common/c_astretch.c * plug-ins/common/ccanalyze.c * plug-ins/common/channel_mixer.c * plug-ins/common/color_enhance.c * plug-ins/common/colorify.c * plug-ins/common/colortoalpha.c * plug-ins/common/csource.c * plug-ins/common/cubism.c * plug-ins/common/curve_bend.c: Use HIG capitalization style. Added GPL license in a few places. Minor code clean-up. 2004-05-25 Sven Neumann Sorry, couldn't resist to finish this task... * plug-ins/script-fu/script-fu-console.c * plug-ins/script-fu/script-fu-scripts.c * plug-ins/script-fu/script-fu-server.c: HIG-ified. 2004-05-25 Sven Neumann * plug-ins/gimpressionist/brush.c * plug-ins/gimpressionist/color.c * plug-ins/gimpressionist/general.c * plug-ins/gimpressionist/gimpressionist.[ch] * plug-ins/gimpressionist/orientation.c * plug-ins/gimpressionist/orientmap.c * plug-ins/gimpressionist/paper.c * plug-ins/gimpressionist/placement.c * plug-ins/gimpressionist/presets.c * plug-ins/gimpressionist/preview.c * plug-ins/gimpressionist/size.c * plug-ins/gimpressionist/sizemap.c: HIG-ified. 2004-05-25 Michael Natterer * app/widgets/gimpitemtreeview.h: added GimpContext parameters to GimpActivateItemFunc, GimpNewItemFunc and GimpEditItemFunc. * app/widgets/gimpdrawabletreeview.c * app/widgets/gimpitemtreeview.c: pass the view's context to the functions. * app/actions/actions.c (action_data_get_context): return gimp_get_user_context() if "data" is a Gimp. * app/actions/channels-commands.[ch] * app/actions/layers-commands.[ch] * app/actions/vectors-commands.[ch]: added GimpContext parameters to the resp. activate, new and edit functions and use the passed context instead of gimp_get_user_context(). * app/actions/layers-commands.[ch]: removed the merge and flatten callbacks. * app/actions/image-commands.[ch]: made public layer merge utility function private and cleaned the whole file up a lot. * app/actions/layers-actions.c: use the callbacks from image-commands.c for merge and flatten. * app/actions/edit-commands.c * app/actions/file-commands.c * app/actions/select-commands.c: use action_data_get_context() instead of gimp_get_user_context(). * app/actions/edit-actions.c: some cleanup. 2004-05-25 Sven Neumann * plug-ins/common/plugindetails.c * plug-ins/dbbrowser/dbbrowser_utils.c * plug-ins/pagecurl/pagecurl.c: HIG-ified. 2004-05-25 Sven Neumann * plug-ins/print/gimp_color_window.c * plug-ins/print/gimp_main_window.c: HIG-ified and ported to GtkFileChooser. * plug-ins/ifscompose/ifscompose.c (ifsfile_load_response): ported forgotten callback to GtkFileChooser. * plug-ins/imagemap/imap_browse.c * plug-ins/imagemap/imap_file.c: finished port to GtkFileChooser. 2004-05-25 Michael Natterer * app/actions/file-actions.c * app/actions/file-commands.[ch]: removed action "file-new", added action "file-open-from-image". * app/actions/image-actions.c * app/actions/image-commands.[ch]: added actions "image-new" and "image-new-from-image". * menus/image-menu.xml.in: use the "-from-image" variants of the "new" and "open" actions so the dialogs are preconfigured from the image they were invoked from (regression fix). * menus/toolbox-menu.xml.in: s/file-new/image-new/. 2004-05-24 Sven Neumann * plug-ins/rcm/rcm.h * plug-ins/rcm/rcm_dialog.[ch]: rearranged and HIG-ified dialog. 2004-05-24 Michael Natterer * app/widgets/gimptoolbox.c (toolbox_create_tools): added an evil hack as workaround for the missing gtk_action_get_accel_closure(). Re-enables accelerator display in the tool button tooltips. 2004-05-24 Michael Natterer * app/vectors/Makefile.am * app/vectors/gimpcoordmath.[ch]: removed... * app/core/Makefile.am * app/core/gimpcoords.[ch]: ...and added without the "bezier" namespace. * app/vectors/gimpbezierstroke.c: changed accordingly. * app/Makefile.am: force it to link gimpcoords.o 2004-05-24 Michael Natterer * app/config/gimpconfigwriter.c * app/core/gimpstrokeoptions.c * app/widgets/gimpactiongroup.c * app/widgets/gimpcolorframe.h * app/widgets/gimpcolorpanel.h * app/widgets/gimpcontainerview.[ch] * app/widgets/gimptooldialog.h * app/widgets/gimpuimanager.c * app/widgets/widgets-types.h: fixed various small issues I stumbled across when updating the API reference for app/. 2004-05-24 Sven Neumann * app/display/gimpscalecombobox.c (gimp_scale_combo_box_mru_remove_last): removed debugging output. 2004-05-24 Sven Neumann * app/core/gimptoolinfo.[ch]: derive GimpToolInfo from GimpViewable, it doesn't make sense for it to be a GimpData. * app/widgets/gimptooloptionseditor.c (gimp_tool_options_editor_get_title): do not append " Options" to the tool name. Fixes bug #142280. 2004-05-24 Sven Neumann * plug-ins/common/mblur.c: fixed range check of blur type parameter (bug #142965). 2004-05-24 Sven Neumann * plug-ins/maze/maze_face.c: fixed a compiler warning. 2004-05-24 Sven Neumann Applied a patch from Philip Lafleur (bug #142808): * app/paint/gimppaintcore.h: define PRESSURE_SCALE to 1.5 * app/paint/gimpairbrush.c * app/paint/gimpclone.c * app/paint/gimpconvolve.c * app/paint/gimpdodgeburn.c * app/paint/gimperaser.c * app/paint/gimppaintbrush.c * app/paint/gimpsmudge.c: use the PRESSURE_SCALE constant. 2004-05-24 Michael Natterer Long overdue core container cleanup: * app/core/gimplist.[ch]: added "unique-names" and "sort-func" properties and merged the resp. code from GimpDataList into GimpList. Removed "policy" parameters from gimp_list_new() and added "unique_names". Added new constructor gimp_list_new_weak(). Made public function gimp_list_uniquefy_name() private. * app/core/Makefile.am * app/core/core-types.h * app/core/gimpdatalist.[ch]: removed. Its functionality is entirely in GimpList now. * app/core/gimpdata.[ch]: added gimp_data_name_compare() which used to live in GimpDataList. * app/core/gimp.c * app/core/gimpdatafactory.c * app/core/gimpimage.c * app/core/gimptoolinfo.c * app/core/gimpundostack.c * app/paint/gimp-paint.c * app/tools/gimp-tools.c * app/widgets/gimpdevices.c * app/widgets/gimptemplateeditor.c * app/widgets/gimpundoeditor.c: changed list creation accordingly. Made gimp->templates, gimp->named_buffers, tool_info->presets and the image's lists of layers, channels and vectors automatically ensure unique names. * app/widgets/gimptemplateview.c * app/actions/file-commands.c * app/actions/templates-commands.c * app/actions/tool-options-commands.c: removed calls to gimp_list_uniquefy_name(). * app/core/gimpitem.c: removed major insanity where the items themselves where ensuring their unique names. Bah! * app/core/gimplayer.c (gimp_layer_name_changed): chain up conditionally. * app/core/gimplayermask.c (gimp_layer_mask_name_changed): removed because there is no need any more to keep the parent implementation from being invoked. 2004-05-23 Sven Neumann More fixes for bug #142996: * plug-ins/common/postscript.c * plug-ins/common/sparkle.c * plug-ins/common/sunras.c * plug-ins/common/uniteditor.c * plug-ins/fits/fits.c: fixed typos. 2004-05-23 Sven Neumann Fixes for bug #142996: * app/gui/preferences-dialog.c: added missing gettext call. * app/config/gimprc-blurbs.h * app/core/gimptemplate.c * app/gui/gradient-editor-menu.c: fixed typos. 2004-05-23 Michael Natterer * app/core/gimpdatalist.c: code cleanup, no logic changed. 2004-05-23 Henrik Brix Andersen * app/config/gimprc-blurbs.h * plug-ins/gfig/gfig-spiral.c (spiral_button_press) * plug-ins/gimpressionist/orientation.c (create_orientationpage) * plug-ins/common/diffraction.c (diffraction_dialog) * plug-ins/common/bumpmap.c (bumpmap_dialog) * plug-ins/maze/maze.h * plug-ins/MapObject/mapobject_apply.c (compute_image) * app/tools/gimpmeasuretool.c (gimp_measure_tool_dialog_update) * plug-ins/print/gimp_main_window.c (create_scaling_frame): marked strings for translation, corrected small typos. Fixes part of bug #142996 2004-05-23 Žygimantas Beručka * configure.in: Added "lt" to ALL_LINGUAS. 2004-05-23 Michael Schumacher * libgimp/gimp.def: gimp_register_file_handler_mime added 2004-05-23 Michael Natterer * app/widgets/widgets-types.h: reoedered to somehow reflect the class hierarchy. Some dockable context handling cleanup: * app/widgets/gimpdocked.[ch]: removed "prev_context" parameter from GimpDocked::set_context(). Widgets which need the old context to disconnect from should remember it themselves. * app/widgets/gimpdockable.c (gimp_dockable_set_context): don't pass the old context to gimp_docked_set_context(). Some cleanup. * app/widgets/gimpcontainerbox.c * app/widgets/gimpcontainereditor.c: changed accordingly. * app/display/gimpnavigationview.[ch] * app/widgets/gimpimageeditor.[ch] * app/widgets/gimpitemtreeview.[ch]: added a "context" member which holds the context set by GimpDocked::set_context(). * app/widgets/gimpdrawabletreeview.c: use the view's context instead of gimp_get_user_context(). * app/widgets/gimpcoloreditor.[ch]: removed separate API to set the context because it implements the GimpDockedInterface. * app/widgets/gimpcomponenteditor.c * app/widgets/gimperrorconsole.c: pass "menu-factory", "menu-identifier" and "ui-path" to g_object_new() instead of calling gimp_editor_create_menu() later. Action cleanup partly related to the context stuff above: * app/actions/actions.c (action_data_get_gimp): get the Gimp from context->gimp, not gimage->gimp because gimage may be NULL. (action_data_get_context): changed to use the new context members added above. * app/actions/channels-actions.c (channels_actions_update): cleanup. * app/actions/edit-actions.c (edit_actions_update): fixed sensitivity of "edit-undo-clear". * app/actions/vectors-actions.c (vectors_actions_update): make "vectors-merge-visible" sensitive only if there is more than one GimpVectors in the image. * app/actions/colormap-editor-actions.c * app/actions/gradient-editor-actions.c * app/actions/palette-editor-actions.c: added FG/BG color previews to actions which take colors from them. Changed code to be safe against "context" being NULL. * app/actions/drawable-commands.c: s/active_drawable/drawable/g. Makes the code more readable. * app/actions/select-commands.[ch] * app/actions/vectors-commands.[ch]: removed public stroke utility functions and other stuff which is not needed any more because dialog buttons invoke the correct actions now. Moved the functions' code to the resp. action callbacks. 2004-05-21 Nathan Summers Somehow some of the changes from my commit on 2004-05-18 seem to have gotten lost, including the addition to the ChangeLog. Sorry about that. Recommitted. * NEWS: Clarified end-user visible features. Made sundry small grammar and consistancy fixes. Reorganized list of changes slightly. 2004-05-21 Sven Neumann * app/paint/gimppaintcore.c (gimp_paint_core_interpolate): better fix for bug #123811; patch provided by Philip Lafleur. 2004-05-21 Sven Neumann * app/gui/preferences-dialog.c: added some GtkSizeGroups and changed spacings to improve the dialog layout. * app/gui/file-new-dialog.c * app/widgets/gimpgrideditor.c * app/widgets/gimptemplateeditor.c: minor changes for consistency. 2004-05-21 Sven Neumann * plug-ins/gflare/gflare.c * plug-ins/gfli/gfli.c * plug-ins/ifscompose/ifscompose.c * plug-ins/sel2path/sel2path.c * plug-ins/sel2path/sel2path_adv_dialog.c * plug-ins/sgi/sgi.c * plug-ins/winicon/icodialog.c: HIG-ification. 2004-05-21 Michael Natterer * app/actions/data-commands.c (data_delete_callback): eek, delete the data only if "OK" was pressed. 2004-05-21 Michael Natterer * app/widgets/gimperrorconsole.c (gimp_error_console_save_ext_clicked): use gtk_widget_get_screen(), not window_get_screen() on a button. 2004-05-20 Maurits Rijk * plug-ins/imagemap/imap_*.[ch]: (partly) HIG-ified, replaced deprecated widget GtkCList by GtkTreeModel/View (also fixes #136893), use file choosers instead of file selectors, minor clean-up. 2004-05-20 Sven Neumann * plug-ins/Lighting/lighting_ui.c * plug-ins/MapObject/mapobject_ui.c * plug-ins/bmp/bmpwrite.c * plug-ins/fits/fits.c * plug-ins/flame/flame.c * plug-ins/fp/fp.c * plug-ins/gfig/gfig-preview.c * plug-ins/gfig/gfig.c: HIG-ified. 2004-05-20 Sven Neumann * plug-ins/FractalExplorer/Dialogs.c * plug-ins/FractalExplorer/FractalExplorer.c: HIG-ification and some code cleanup. 2004-05-19 Manish Singh * plug-ins/pygimp/gimpfu.py: Actually return values from the run function. Fixes #141338. 2004-05-20 Sven Neumann * plug-ins/maze/maze_face.c * plug-ins/xjt/xjt.c: HIG-ified. Say goodbye to "Parameter Settings". 2004-05-20 Sven Neumann * plug-ins/common/warp.c * plug-ins/common/whirlpinch.c * plug-ins/common/wmf.c * plug-ins/common/xbm.c * plug-ins/common/xpm.c: HIG-ified. 2004-05-19 Manish Singh * app/actions/file-actions.c: remove unnecessary G_OBJECT() casts. * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/image.pdb * tools/pdbgen/pdb/paths.pdb * tools/pdbgen/pdb/plug_in.pdb: a bit of quoting clean up. * tools/pdbgen/pdb/plug_in.pdb: handle icon_data_length properly. * app/pdb/plug_in_cmds.c: regenerated. 2004-05-20 Sven Neumann * plug-ins/common/tga.c * plug-ins/common/threshold_alpha.c * plug-ins/common/tiff.c * plug-ins/common/tile.c * plug-ins/common/tileit.c * plug-ins/common/uniteditor.c * plug-ins/common/unsharp.c * plug-ins/common/video.c * plug-ins/common/vpropagate.c: HIG-ified. 2004-05-20 Sven Neumann * plug-ins/common/randomize.c * plug-ins/common/ripple.c * plug-ins/common/sample_colorize.c * plug-ins/common/scatter_hsv.c * plug-ins/common/sel_gauss.c * plug-ins/common/sharpen.c * plug-ins/common/shift.c * plug-ins/common/smooth_palette.c * plug-ins/common/snoise.c * plug-ins/common/sobel.c * plug-ins/common/sparkle.c * plug-ins/common/spread.c * plug-ins/common/struc.c * plug-ins/common/sunras.c * plug-ins/common/svg.c: HIG-ified. 2004-05-19 Michael Natterer * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpaction.[ch]: new GtkAction subclass which can show either a color or viewable preview in GtkImageMenuItem proxies. * app/widgets/gimpenumaction.[ch] * app/widgets/gimppluginaction.[ch] * app/widgets/gimpstringaction.[ch]: derive them from GimpAction. * app/widgets/gimpactiongroup.c (gimp_action_group_add_actions): add GimpActions, not GtkActions. (gimp_action_group_set_action_color) (gimp_action_group_set_action_viewable): removed all hacks and simply set the "color" or "viewable" properties of the GimpAction to change. Fixes color/viewable previews in menus. * app/actions/file-actions.c: show previews in the "Open Recent" menu items. Unrelated: * app/widgets/widgets-types.h: removed GimpDockedInterface typedef... * app/widgets/gimpdocked.h: ...and added it here. We don't have class struct typedefs in the types header either. * app/actions/edit-actions.c: added +semicolon as shortcut for "edit-fill-pattern". * app/actions/gradient-editor-actions.c: added some stock IDs. Please comment. 2004-05-19 Sven Neumann * plug-ins/common/papertile.c * plug-ins/common/pat.c * plug-ins/common/pixelize.c * plug-ins/common/png.c * plug-ins/common/postscript.c * plug-ins/common/psp.c: HIG-ified. 2004-05-19 Sven Neumann * plug-ins/common/mapcolor.c * plug-ins/common/mblur.c * plug-ins/common/mng.c * plug-ins/common/mosaic.c * plug-ins/common/newsprint.c * plug-ins/common/oilify.c: HIG-ified. 2004-05-19 Sven Neumann * plug-ins/common/hot.c * plug-ins/common/iwarp.c * plug-ins/common/jpeg.c * plug-ins/common/lic.c * plug-ins/common/mail.c: HIG-ified. 2004-05-19 Sven Neumann * plug-ins/common/gauss_iir.c * plug-ins/common/gauss_rle.c * plug-ins/common/gbr.c * plug-ins/common/gee.c * plug-ins/common/gee_zoom.c * plug-ins/common/gif.c * plug-ins/common/gih.c * plug-ins/common/glasstile.c * plug-ins/common/gtm.c: HIG-ified. 2004-05-19 Sven Neumann * plug-ins/common/exchange.c: fixed minor dialog layout issues. * plug-ins/common/screenshot.c: added the camera icon to the dialog. * plug-ins/common/film.c * plug-ins/common/fractaltrace.c: HIG-ified. 2004-05-19 Sven Neumann * app/paint/gimppaintcore.c (gimp_paint_core_interpolate): make sure that pressure never becomes negative. Fixes bug #123811; thanks to Philip Lafleur for investigating this problem. 2004-05-19 Sven Neumann * plug-ins/common/channel_mixer.c: added some stock icons. * plug-ins/common/edge.c * plug-ins/common/emboss.c * plug-ins/common/engrave.c * plug-ins/common/exchange.c: HIG-ified. * plug-ins/common/sel_gauss.c: tiny changes for a more consistent HIG-ification. 2004-05-19 Michael Natterer * tools/pdbgen/pdb/plug_in.pdb: made plugin_icon_register() an underscore-prefixed function which needs to be wrapped. * libgimp/gimpplugin_pdb.[ch]: regenerated. * libgimp/Makefile.am * libgimp/gimp.h * libgimp/gimpplugin.[ch]: new files containing gimp_plugin_icon_register() which has no "icon_data_length" parameter and determines it from the passed icon data. * libgimp/gimp.def: added gimp_plugin_icon_register. * plug-ins/common/plugindetails.c * plug-ins/common/screenshot.c * plug-ins/common/uniteditor.c * plug-ins/print/print.c: don't pass the icon_data_length. 2004-05-18 Sven Neumann * plug-ins/common/checkerboard.c * plug-ins/common/colorify.c * plug-ins/common/colortoalpha.c * plug-ins/common/compose.c * plug-ins/common/convmatrix.c * plug-ins/common/csource.c * plug-ins/common/cubism.c * plug-ins/common/decompose.c * plug-ins/common/deinterlace.c * plug-ins/common/depthmerge.c * plug-ins/common/despeckle.c * plug-ins/common/destripe.c * plug-ins/common/diffraction.c * plug-ins/common/displace.c: HIG-ified. 2004-05-18 Michael Natterer Allow plug-ins to register menu icons. Fixes bug #120500. * app/core/core-enums.[ch]: added enum GimpIconType which can be one of { STOCK_ID, IMAGE_FILE, INLINE_PIXBUF }. * app/config/gimpconfigwriter.[ch] (gimp_config_writer_data) * app/config/gimpscanner.[ch] (gimp_scanner_parse_data): new functions which write/parse raw binary data. Needed for storing inline pixbufs in pluginrc. * app/config/gimpconfigwriter.[ch] (gimp_config_writer_identifier): new function which writes out an unquoted and unescaped string. * app/plug-in/plug-in-proc.[ch] (struct PlugInProcDef): added new members "icon_type", "icon_data_length" and "icon_data". Reordered members so file_proc specific stuff is at the end. (plug_in_proc_def_get_stock_id) (plug_in_proc_def_get_pixbuf): new functions to access the procedure's icon. * app/plug-in/plug-in-rc.c: save/restore the registered icons. * app/actions/file-dialog-actions.c * app/actions/plug-in-actions.c: set the action's stock ID from the procedure's stock ID. * app/widgets/gimppluginaction.c (gimp_plug_in_action_connect_proxy): if the procedure provides a pixbuf, set it as icon for the menu item. * app/menus/file-dialog-menu.[ch] * app/menus/file-open-menu.c * app/menus/file-save-menu.c * app/xcf/xcf.c: changed accordingly. * tools/pdbgen/pdb/plug_in.pdb (plugin_icon_register): new PDB function which can be called during query(). * tools/pdbgen/enums.pl * app/pdb/internal_procs.c * app/pdb/plug_in_cmds.c * libgimp/gimpenums.h * libgimp/gimpplugin_pdb.c * libgimp/gimpplugin_pdb.h * plug-ins/pygimp/gimpenums.py * plug-ins/script-fu/script-fu-constants.c: regenerated. * plug-ins/common/plugindetails.c * plug-ins/common/uniteditor.c * plug-ins/print/print.c: register stock_id icons. * plug-ins/common/screenshot.c: register an inline_pixbuf icon for testing purposes (used emblem-camera.png from gnome-icon-theme). * app/actions/dialogs-actions.c * app/actions/file-actions.c: unrelated: added some more icons to menu items. 2004-05-18 Maurits Rijk * plug-ins/common/sel_gauss.c: HIGified, fixed indendation, speed improvement (around 70 %). 2004-05-18 Sven Neumann * plug-ins/common/blur.c * plug-ins/common/borderaverage.c * plug-ins/common/bumpmap.c * plug-ins/common/ccanalyze.c: HIG-ified. 2004-05-18 Sven Neumann * libgimpwidgets/gimpsizeentry.[ch] (gimp_size_entry_attach_label): return the created label widget so that it can for example be put into a GtkSizeGroup. * plug-ins/libgimpoldpreview/gimpoldpreview.[ch]: removed the optional "Preview" frame. Always put the preview into a sunken frame. * plug-ins/common/AlienMap2.c * plug-ins/common/blinds.c * plug-ins/common/flarefx.c * plug-ins/common/glasstile.c * plug-ins/common/grid.c * plug-ins/common/illusion.c * plug-ins/common/jigsaw.c * plug-ins/common/max_rgb.c * plug-ins/common/nlfilt.c * plug-ins/common/noisify.c * plug-ins/common/nova.c * plug-ins/common/plasma.c * plug-ins/common/polar.c * plug-ins/common/waves.c * plug-ins/common/wind.c: changed accordingly, HIG-ified. 2004-05-18 Sven Neumann * plug-ins/common/aa.c * plug-ins/common/align_layers.c * plug-ins/common/animationplay.c * plug-ins/common/apply_lens.c: HIG-ified. 2004-05-18 Michael Natterer * app/core/gimptoolinfo.c: made the "visible" property serializable. * app/tools/gimp-tools.c: store the tools' order and visibility in a new config file called "toolrc". 2004-05-18 Sven Neumann * plug-ins/gimpressionist/brush.c: ported to GtkFileChooser. * plug-ins/gimpressionist/gimpressionist.h * plug-ins/gimpressionist/ppmtool.[ch]: sprinkled some const qualifiers. 2004-05-18 Sven Neumann * plug-ins/common/curve_bend.c * plug-ins/ifscompose/ifscompose.c: ported to GtkFileChooser and HIG-ified. 2004-05-18 Sven Neumann * plug-ins/common/channel_mixer.c * plug-ins/common/gqbist.c: ported to GtkFileChooser and HIG-ified. * plug-ins/common/spheredesigner.c: ditto, but needs more love. 2004-05-18 Michael Natterer * app/plug-in/plug-in-proc.[ch] (plug_in_proc_def_get_label): new function which returns a newly allocated string which is the menu item's name stripped of mnemonics an ellipses. * app/actions/plug-in-actions.c (plug_in_actions_update) * app/plug-in/plug-in.c (plug_in_get_undo_desc): use the function instead of implementing the same twice slightly different. 2004-05-17 Sven Neumann * plug-ins/common/CEL.c * plug-ins/common/CML_explorer.c: ported to GtkFileChooser and HIG-ified. 2004-05-17 Sven Neumann * plug-ins/common/AlienMap2.c: HIG-ified (more or less). 2004-05-17 Michael Natterer * menus/menus.xsl: put the image popup menu into a dummy menubar to work around the silly GtkUIManager restriction that popup menus can't have tearoff items. * app/menus/menus.c * app/menus/image-menu.c * app/display/gimpdisplayshell-callbacks.c * app/gui/gui-vtable.c * app/menus/plug-in-menus.c: changed accordingly. * app/gui/gui.c (gui_restore_after_callback): connect to "notify::tearoff-menus" of GimpGuiConfig and reconfigure the global image UI manager accordingly. * app/config/gimpguiconfig.c: removed GIMP_PARAM_RESTART from the "tearoff-menus" property because GtkUIManager can change this on the fly. * app/display/gimpdisplayshell.[ch]: added the menubar to the GimpDisplayShell struct. Some cleanup in gimp_display_shell_new(). * app/display/gimpdisplayshell-appearance.c (gimp_display_shell_set_show_menubar): use shell->menubar instead of asking the UI manager. * app/widgets/gimpuimanager.[ch]: changed gimp_ui_manager_ui_get() to transparently load the XML files even if a sub-widget was requested. Reordered parameters of gimp_ui_manager_ui_popup(). Lots of internal cleanups. * app/widgets/gimpdockable.c * app/widgets/gimptooloptionseditor.c: simplified accordingly. * app/widgets/gimpeditor.[ch]: added new function gimp_editor_popup_menu() which takes a GimpMenuPositionFunc and updates/shows the editor's menu. * app/widgets/gimpcolormapeditor.c * app/widgets/gimpcomponenteditor.c * app/widgets/gimpcontainereditor.c * app/widgets/gimpcontainergridview.c * app/widgets/gimpcontainertreeview.c * app/widgets/gimperrorconsole.c * app/widgets/gimpgradienteditor.c * app/widgets/gimpitemtreeview.c * app/widgets/gimppaletteeditor.c: use gimp_editor_popup_menu(). * app/widgets/gimptoolbox.c: moved all code from gimp_toolbox_new() to GObject::constructor(). 2004-05-17 Michael Natterer * app/actions/tool-options-actions.c: added icons to the Save, Load, Rename and Delete submenus. 2004-05-17 Michael Natterer * app/actions/edit-actions.c (edit_actions_update): don't forget to set the sensitivity of "edit-named-copy". 2004-05-17 Sven Neumann * app/core/gimpimage.c (gimp_image_init): initialize the image unit to GIMP_UNIT_PIXEL. * app/pdb/image_cmds.c * tools/pdbgen/pdb/image.pdb: allow GIMP_UNIT_PIXEL to be used in the gimp_image_set_unit() PDB call. 2004-05-16 Sven Neumann * plug-ins/script-fu/scripts/old-photo.scm: fixed wrong use of layer ID; bug #142326. 2004-05-15 Sven Neumann * app/tools/gimpcurvestool.c: fixed position of vertical line indicating the picked color. Patch from William Skaggs and Søren Wedel Nielsen; fixes bug #142506. 2004-05-15 Michael Natterer * app/plug-in/plug-in-params.c (plug_in_proc_args_check): changed warnings to include the invalid menu path. Added check that makes sure menu paths are either "" or "/foo" but *not* "foo". * app/actions/plug-in-actions.c: added function plug_in_actions_check_translation() which validates both the original and translated menu paths and spits detailed error messages if any of them is broken. Made action creation simpler (?) and more robust. * app/menus/plug-in-menus.c: argh, the translated menu path must be a sorting criteria *only*. Fixed the whole stuff to always use the original menu path because translation is done entirely by plug-in-actions.c. Fixes bad crashes for all locales. Added boolean return value to plug_in_menus_build_path() and don't try to create the menu item in an invalid location if creating the submenus failed. 2004-05-14 Sven Neumann * app/menus/file-dialog-menu.c: check if the file procedure registered a menu path at all. The menu should probably be created from the registered menu path, not from gimp->[load|save]_procs. * app/plug-in/plug-in-proc.[ch] * app/plug-in/plug-ins.c: removed broken code that used to sort the file procedures. * plug-ins/common/CEL.c * plug-ins/common/bz2.c * plug-ins/common/gz.c * plug-ins/common/pcx.c * plug-ins/common/pix.c * plug-ins/common/sunras.c * plug-ins/sgi/sgi.c * plug-ins/xjt/xjt.c: register a mimetype, set a translatable action name (mostly taken from shared-mime-info) and register to the and menus using gimp_plugin_menu_register(). 2004-05-14 Michael Natterer * app/pdb/fileops_cmds.c * libgimp/gimpfileops_pdb.c: regenerated. 2004-05-14 Michael Natterer * app/actions/select-actions.c (select_actions_update): don't make "select-invert" insensitive if there is no selection. 2004-05-14 Sven Neumann * plug-ins/common/aa.c * plug-ins/common/gbr.c * plug-ins/common/gih.c * plug-ins/common/gtm.c * plug-ins/common/header.c * plug-ins/common/pat.c * plug-ins/common/pnm.c * plug-ins/common/psp.c * plug-ins/fits/fits.c * plug-ins/gfli/gfli.c: register a mimetype, set a translatable action name (mostly taken from shared-mime-info) and register to the and menus using gimp_plugin_menu_register(). 2004-05-14 Sven Neumann * tools/pdbgen/pdb/fileops.pdb: added new PDB function gimp_register_file_handler_mime() that allows to associate a MIME type with a file procecdurre. * app/pdb/fileops_cmds.c * app/pdb/internal_procs.c * libgimp/gimpfileops_pdb.[ch]: regenerated. * app/plug-in/plug-in-proc.[ch] * app/plug-in/plug-in-rc.c * app/plug-in/plug-ins.[ch]: store a mimetype with file procedures. * app/actions/file-commands.c * app/core/gimpdocumentlist.[ch] * app/core/gimpimagefile.[ch] * app/file/file-open.[ch] * app/file/file-save.c: set the thumbnail's mimetype from the file procedure used to load/save the image. * app/xcf/xcf.c * plug-ins/bmp/bmp.c * plug-ins/common/csource.c * plug-ins/common/dicom.c * plug-ins/common/gif.c * plug-ins/common/gifload.c * plug-ins/common/jpeg.c * plug-ins/common/mng.c * plug-ins/common/png.c * plug-ins/common/postscript.c * plug-ins/common/psd.c * plug-ins/common/psd_save.c * plug-ins/common/sunras.c * plug-ins/common/svg.c * plug-ins/common/tga.c * plug-ins/common/tiff.c * plug-ins/common/wmf.c * plug-ins/common/xbm.c * plug-ins/common/xpm.c * plug-ins/common/xwd.c * plug-ins/faxg3/faxg3.c * plug-ins/winicon/main.c: register a mimetype, set a translatable action name (taken from shared-mime-info) and register to the and menus using gimp_plugin_menu_register(). 2004-05-13 Sven Neumann * tools/pdbgen/lib.pl * tools/pdbgen/pdbgen.pl: added new procedure variable 'since' that allows to specify when a new function was added. Use that info to generate an appropriate gtk-doc comment. * tools/pdbgen/pdb/plug_in.pdb: set since = '2.2' for the new function gimp_plugin_menu_register(). * libgimp/gimpplugin_pdb.c: regenerated. 2004-05-13 Michael Natterer * menus/tool-options-menu.xml: added "name" attributes to all submenus. * app/menus/tool-options-menu.c: use the menu names instead of the overly long action names. * app/actions/colormap-editor-commands.c * app/actions/tool-options-commands.c: added some callback implementations. * app/widgets/gimpcolormapeditor.c * app/widgets/gimptooloptionseditor.c: removed the callbacks here and use action buttons. * app/actions/actions.c * app/actions/colormap-editor-actions.c * app/actions/edit-actions.c: code review / cleanup. 2004-05-13 Michael Natterer * app/core/gimpcontainer.c (gimp_container_add_handler): don't try to lookup detailed "notify::foo" signal specs. 2004-05-13 Michael Natterer * app/widgets/gimptoolview.[ch]: if in list mode, add an "eye" column which toggles tool visibility. 2004-05-13 Michael Natterer * app/actions/tools-actions.c (tools_actions_update): don't use action_data_get_context() to update the "tools" action group because it may return NULL. Use gimp_get_user_context() instead because the active tool is global regardless of the action group's context. Fixes accidential tool hiding when closing the last display. 2004-05-13 Sven Neumann * libgimpthumb/gimpthumbnail.c (gimp_thumbnail_save_thumb): oops. 2004-05-13 Michael Natterer Added GimpViewable infrastructure which enables migrating from TempBuf to GdkPixbuf for both providing and getting previews: * app/core/gimpviewable.[ch]: added new virtual functions GimpViewable::get_pixbuf() and GimpViewable::get_new_pixbuf() which are implemented exactly as get_preview() and get_new_preview() except that get_new_pixbuf() has a default implementation which creates the pixbuf from a TempBuf. Renamed public functions _get_preview_pixbuf() and _get_new_preview_pixbuf() to _get_pixbuf() and _get_new_pixbuf(). Added gimp_viewable_get_dummy_pixbuf() and use it from gimp_viewable_get_dummy_preview(). * app/core/gimpimagefile.c (gimp_imagefile_save_thumb) * app/display/gimpdisplayshell.c (gimp_display_shell_update_icon) * app/gui/resize-dialog.c (resize_dialog_new): changed accordingly. 2004-05-13 Sven Neumann * libgimpthumb/gimpthumbnail.[ch]: added mime-type support. 2004-05-13 Michael Natterer * app/menus/Makefile.am: added file-menu.[ch] and file-dialog-menu.[ch] * app/menus/menus.[ch]: removed menus_open_recent_add()... * app/menus/file-menu.[ch]: ...and added it here as file_menu_setup(). * app/menus/image-menu.c * app/menus/toolbox-menu.c: changed accordingly. * app/menus/file-dialog-menu.[ch]: added factored out code from the file-open and file-save menus as file_dialog_menu_setup(). * app/menus/file-open-menu.c * app/menus/file-save-menu.c: call file_dialog_menu_setup(). 2004-05-12 Michael Natterer * app/actions/documents-actions.c * app/actions/documents-commands.c * app/actions/edit-actions.c * app/actions/edit-commands.[ch] * app/actions/layers-actions.c * app/actions/layers-commands.c * app/actions/select-actions.c * app/actions/select-commands.[ch] * app/actions/vectors-actions.c * app/actions/vectors-commands.[ch]: added tooltips for actions which are now used for dialog buttons, added callback implementations which formerly lived in various widgets, moved some actions around and did some general cleanups. * menus/image-menu.xml.in: s/edit-stroke/select-stroke/ * menus/Makefile.am * menus/selection-editor-menu.xml: new popup menu. * app/menus/menus.c: register and UI managers. * app/widgets/gimpeditor.[ch]: added construct properties "menu-factory", "menu-identifier", "ui-path" and "popup-data". Implement GObject::constructor() and create the UI manager if all needed properties were set. Enables creating action buttons at widget construction time because they need a UI manager. (gimp_editor_add_action_button): extended to take a va_list of "extended" actions which are invoked if the resp. button emits "extended_clicked". Store the actions and their modifier masks in a list attached to the button. * app/widgets/gimpcontainerview.c (gimp_container_view_item_selected): if the view has container *and* context, simply change the context and return. (gimp_container_view_context_changed): don't emit "select_item" manually but simply call gimp_container_view_select_item(). (gimp_container_view_viewable_dropped): use gimp_container_view_item_selected() instead of changing the context directly. * app/widgets/gimpcontainereditor.c (gimp_container_editor_select_item): update the UI manager. * app/widgets/gimpdockable.c: don't try to fiddle with the dialog's menu if it doesn't have a ui_path (happens if the UI manager is just a collection of actions for the dialog buttons and has no menu registered). * app/widgets/gimpimageeditor.c: connect to the image's "flush" signal and update the UI manager in the callback. * app/widgets/gimpitemtreeview.c: use GimpEditor's construct properties to create the UI manager so GimpItemTreeView subclasses can have action buttons. Update the UI manager in gimp_item_tree_view_select_item(). * app/widgets/gimpbufferview.c * app/widgets/gimpcolormapeditor.c * app/widgets/gimpcontainergridview.c * app/widgets/gimpdatafactoryview.c * app/widgets/gimpfontview.c * app/widgets/gimpimageview.c * app/widgets/gimptemplateview.c * app/widgets/gimptoolview.c: changed calls to gimp_editor_add_action_button() accordingly and removed some unneeded select_item() implementations. * app/widgets/gimpchanneltreeview.c * app/widgets/gimpvectorstreeview.[ch] * app/widgets/gimpdocumentview.[ch] * app/widgets/gimplayertreeview.c * app/widgets/gimpselectioneditor.[ch] * app/widgets/gimpundoeditor.[ch]: use action buttons and removed lots of callbacks which went to the resp. action callbacks. * app/widgets/widgets-types.h: removed some now unneeded function prototypes. * app/gui/dialogs-constructors.c: changed (simplified) many dialog constructors accordingly. 2004-05-12 Sven Neumann * libgimpwidgets/gimpwidgets.c (gimp_scale_entry_new_internal) * app/widgets/gimpwidgets-utils.c (gimp_table_attach_stock): left-align the label. * app/actions/channels-commands.c * app/actions/layers-commands.c * app/actions/qmask-commands.c * app/actions/vectors-commands.c * app/display/gimpdisplayshell-scale.c * app/gui/brush-select.c * app/gui/file-new-dialog.c * app/gui/info-dialog.c * app/gui/info-window.c * app/gui/module-browser.c * app/gui/offset-dialog.c * app/gui/palette-import-dialog.c * app/gui/preferences-dialog.c * app/gui/resize-dialog.c * app/tools/gimpblendoptions.c * app/tools/gimpcroptool.c * app/tools/gimpmeasuretool.c * app/tools/gimppaintoptions-gui.c * app/tools/gimpscaletool.c * app/tools/gimpselectionoptions.c * app/tools/gimpsheartool.c * app/tools/gimptextoptions.c * app/widgets/gimpcolormapeditor.c * app/widgets/gimpgrideditor.c * app/widgets/gimphistogrameditor.c * app/widgets/gimplayertreeview.c * app/widgets/gimpstrokeeditor.c * app/widgets/gimpwidgets-utils.c: left-align labels as suggested by the HIG. 2004-05-12 Michael Natterer * app/config/gimpconfig-deserialize.c * app/config/gimpscanner.c * app/core/gimp-edit.c * app/core/gimpchannel-combine.c * app/core/gimpcontainer.c * app/core/gimpdrawable-bucket-fill.c * app/core/gimpdrawable-combine.c * app/core/gimpdrawable.c * app/core/gimpgradient.c * app/core/gimpimage-flip.c * app/core/gimpimage-merge.c * app/core/gimpimage-projection.c * app/core/gimpimage.c * app/display/gimpdisplay-handlers.c * app/display/gimpdisplayshell-callbacks.c * app/display/gimpprogress.c * app/gui/info-dialog.c * app/gui/module-browser.c * app/gui/offset-dialog.c * app/plug-in/plug-in.c * app/tools/gimpdrawtool.c * app/tools/tool_manager.c * app/widgets/gimpactiongroup.c * app/widgets/gimpdialogfactory.c * app/widgets/gimpgradienteditor.c * app/widgets/gimpitemfactory.c * app/widgets/gimppropwidgets.c * app/widgets/gimpwidgets-utils.c * app/xcf/xcf-save.c * libgimp/gimpexport.c * libgimpwidgets/gimphelpui.c * libgimpwidgets/gimppixmap.c * libgimpwidgets/gimpunitmenu.c: replaced G_GNUC_FUNCTION, G_GNUC_PRETTY_FUNCTION, G_STRLOC and hardcoded function names in g_warning()s by G_STRFUNC. 2004-05-12 Michael Natterer * app/actions/gradients-actions.c * app/actions/palettes-actions.c * app/actions/patterns-actions.c: added/fixed tooltips. 2004-05-11 Michael Natterer * configure.in: define G*_DISABLE_DEPRECATED for all G* modules except GTK+. Don't do so if compiling against GLib, GTK+ >= 2.5.0 and Pango >= 1.5.0 * libgimpwidgets/gimpoffsetarea.c: s/gdk_gc_unref/g_object_unref/ * app/config/gimpconfig-deserialize.c * app/widgets/gimpdeviceinfo.c: s/g_value_set_foo_take_ownership/g_value_take_foo/ * app/text/gimptext-vectors.c * app/text/gimptext-bitmap.c: s/pango_ft2_font_get_face/pango_fc_font_lock,unlock_face/ 2004-05-11 Michael Natterer * app/actions/images-commands.c: added missing #includes. 2004-05-11 Michael Natterer * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpcontainermenu.[ch] * app/widgets/gimpcontainermenuimpl.[ch] * app/widgets/gimpmenuitem.[ch]: removed. Obsoleted by GimpContainerViewInterface implemented by GimpContainerComboBox. 2004-05-11 Michael Natterer * app/actions/actions.[ch]: added action_data_get_context() and macro return_if_no_context(). * app/actions/brushes-actions.c * app/actions/buffers-actions.c * app/actions/buffers-commands.c * app/actions/data-commands.c * app/actions/fonts-actions.c * app/actions/fonts-commands.c * app/actions/gradients-actions.c * app/actions/images-actions.c * app/actions/images-commands.c * app/actions/palettes-actions.c * app/actions/patterns-actions.c * app/actions/templates-actions.c * app/actions/templates-commands.[ch] * app/actions/tools-actions.c * app/actions/tools-commands.c: moved lots of code from widgets/ to the resp. action callbacks. * app/widgets/gimpeditor.[ch]: added gimp_editor_add_action_button() which creates a GtkButton connected to the resp. action. * app/widgets/gimpdatafactoryview.[ch]: added "action_group" parameters so we can distinguish brushes, patterns etc. actions. * app/widgets/gimpimageview.[ch] * app/widgets/gimpbrushfactoryview.c * app/widgets/gimpbufferview.c * app/widgets/gimpfontview.c * app/widgets/gimpgradienteditor.c * app/widgets/gimppatternfactoryview.c * app/widgets/gimptemplateview.[ch] * app/widgets/gimptoolview.c: removed tons of GtkButton::clicked() callbacks and use gimp_editor_add_action_button() instead of simply _add_button(). * app/gui/dialogs-constructors.c * app/gui/gradient-select.c * app/gui/palette-select.c * app/gui/pattern-select.c: changed accordingly. 2004-05-11 Michael Natterer * app/widgets/gimpcontainercombobox.c: correctly get the default GimpContainerViewInterface implementation and chain up to it for clear_items(). Update the preview renderers on "update", enable deselecting everything. * app/widgets/gimpimagedock.[ch] * app/gui/file-new-dialog.c * app/gui/palette-import-dialog.c * app/gui/preferences-dialog.c * app/gui/stroke-dialog.c: use GimpContainerComboBox instead of GimpContainerMenuImpl. * app/gui/palette-import-dialog.c: cleanup. 2004-05-11 Sven Neumann * docs/gimptool.1.in: fixed spelling. 2004-05-11 Sven Neumann * app/widgets/gimpcontainertreeview.c: minor cleanup. 2004-05-11 Michael Schumacher * libgimp/gimp.def * libgimpbase/gimpbase.def: updated 2004-05-11 Sven Neumann * app/gui/user-install-dialog.c: removed the "Aborting Installation" page. We added it as a nice little gimmick but obviously people don't understand it's purpose. Fixes bug #142281. 2004-05-11 Sven Neumann * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpcontainercombobox.[ch]: added new widget, almost finished. * app/widgets/gimpcontainerview.[ch]: added convenience functions to get and set the GimpContainerView properties. * app/widgets/gimpcontainerbox.c: use the convenience functions. * app/gui/file-new-dialog.c: use the new GimpContainerComboBox. * etc/templaterc: use "pixels" as the unit for pixel sized templates. 2004-05-11 Michael Natterer * app/widgets/gimpchanneltreeview.c * app/widgets/gimpcontainerbox.[ch] * app/widgets/gimpcontainereditor.c * app/widgets/gimpcontainergridview.[ch] * app/widgets/gimpcontainerpopup.c * app/widgets/gimpcontainertreeview.[ch] * app/widgets/gimpdatafactoryview.c * app/widgets/gimpdocumentview.c * app/widgets/gimpfontview.c * app/widgets/gimpimageview.c * app/widgets/gimpitemtreeview.c * app/widgets/gimplayertreeview.c * app/widgets/gimppatternfactoryview.c * app/widgets/gimptemplateview.c * app/widgets/gimpvectorstreeview.c: code review / cleanup. 2004-05-11 Michael Natterer * app/widgets/widgets-types.h * app/widgets/gimpcontainerview.[ch]: made GimpContainerView an interface. Added accessors for all members in the private struct and made it really private. * app/widgets/gimpcontainerbox.[ch]: derive it from GimpEditor and implement GimpContainerViewInterface and its properties. * app/widgets/gimpchanneltreeview.c * app/widgets/gimpcontainergridview.c * app/widgets/gimpcontainertreeview.c * app/widgets/gimpcontainertreeview-dnd.c * app/widgets/gimpdrawabletreeview.c * app/widgets/gimpitemtreeview.c * app/widgets/gimplayertreeview.c * app/widgets/gimpvectorstreeview.c: implement GimpContainerViewInterface and use the new accessor functions. * app/widgets/gimpcontainerpopup.c * app/widgets/gimpdocumentview.c: changed accordingly. * app/widgets/gimptemplateview.c * app/widgets/gimpcontainereditor.c * app/widgets/gimpundoeditor.c * app/actions/palettes-commands.c: #include "gimpcontainerview.h" 2004-05-11 Sven Neumann * libgimp/gimp.def * libgimp/gimpui.def * libgimpbase/gimpbase.def * libgimpwidgets/gimpwidgets.def: updated. 2004-05-10 Sven Neumann * libgimpwidgets/gimpframe.c (gimp_frame_style_set): removed a redundant call to gtk_widget_queue_resize(). 2004-05-10 Sven Neumann * app/xcf/xcf-save.c (xcf_save_prop): fixed size of colormap property. Patch by Daniel Kobras, fixes bug #142149. 2004-05-10 Henrik Brix Andersen * plug-ins/common/screenshot.c (shoot_dialog): fixed the spacing of the dialog, thanks to Sven for pointing out my mistake. 2004-05-10 Sven Neumann * app/widgets/gimptexteditor.c (gimp_text_editor_set_direction): don't call gtk_widget_set_direction() on a non-existant widget. Fixes bug #141792. 2004-05-10 Sven Neumann * app/gui/tips-dialog.c: added missing newline in error message. 2004-05-10 Michael Natterer More GimpContainerView chopping: * app/widgets/gimpcontainerview.[ch]: added GimpContainerViewPrivate struct (which is currently public :-) and removed all members from the GimpContainerView struct. Added accessors for "context", "container" and "preview_size / preview_border_width". Added macro to get the private struct (*not* via G_TYPE_INSTANCE_GET_PRIVATE because that's unavailable for interfaces). * app/widgets/gimpbrushfactoryview.c * app/widgets/gimpbufferview.c * app/widgets/gimpchanneltreeview.c * app/widgets/gimpcontainerbox.c * app/widgets/gimpcontainereditor.c * app/widgets/gimpcontainergridview.c * app/widgets/gimpcontainerpopup.c * app/widgets/gimpcontainertreeview-dnd.c * app/widgets/gimpcontainertreeview.c * app/widgets/gimpdatafactoryview.c * app/widgets/gimpdocumentview.c * app/widgets/gimpfontview.c * app/widgets/gimpimageview.c * app/widgets/gimpitemtreeview.c * app/widgets/gimplayertreeview.c * app/widgets/gimpsessioninfo.c * app/widgets/gimptemplateview.c * app/widgets/gimptoolview.c * app/actions/brushes-actions.c * app/actions/buffers-actions.c * app/actions/dockable-actions.c * app/actions/dockable-commands.c * app/actions/documents-actions.c * app/actions/fonts-actions.c * app/actions/gradients-actions.c * app/actions/gradients-commands.c * app/actions/images-actions.c * app/actions/palettes-actions.c * app/actions/palettes-commands.c * app/actions/patterns-actions.c * app/actions/templates-actions.c * app/actions/tools-actions.c * app/actions/tools-commands.c: changed accordingly. 2004-05-10 Sven Neumann * app/tools/gimpmagnifyoptions.[ch] * app/tools/gimpmagnifytool.c: applied a patch from William Skaggs that changes a misleading option label. Fixes bug #137508. 2004-05-10 Sven Neumann * app/config/gimpdisplayconfig.c (DEFAULT_IMAGE_TITLE_FORMAT): removed the display scale from the default image title because it's now displayed in the statusbar. Show the image pixel size instead. * app/gui/preferences-dialog.c: include a preset for the title format string that shows the image size (bug #141720). 2004-05-10 Michael Natterer Prepare for making an interface out of GimpContainerView: * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpcontainerbox.[ch]: new GimpContainerView subclass which implements GimpDocked interface and contains the vbox-with-scrolled-window stuff common to GimpContainerGridView and GimpContainerTreeView. * app/widgets/gimpcontainerview.[ch]: removed that functionality here. * app/widgets/gimpcontainergridview.[ch] * app/widgets/gimpcontainertreeview.[ch]: derive them from GimpContainerBox. * app/gui/brush-select.c * app/gui/font-select.c * app/gui/gradient-select.c * app/gui/palette-select.c * app/gui/pattern-select.c * app/widgets/gimpcontainerpopup.c: changed accordingly. 2004-05-10 Sven Neumann * app/actions/view-actions.c: added a stock icon for "view-zoom-1-1". * app/widgets/gimpunitcombobox.[ch]: added functions to get and set the active unit. * app/widgets/gimpunitstore.c (gimp_unit_store_tree_model_get_value): need to special case GIMP_UNIT_PIXEL. * app/display/Makefile.am * app/display/display-types.h * app/display/gimpscalecombobox.[ch]: new widget to be used in the display's statusbar. * app/display/gimpdisplayshell-cursor.[ch]: always display the cursor position, not only if the cursor is inside the image. Added new function gimp_display_shell_clear_cursor() to clear the cursor label. * app/display/gimpdisplayshell-callbacks.c: changed accordingly. * app/display/gimpstatusbar.[ch] * app/display/gimpdisplayshell.c * app/display/gimpdisplayshell-handlers.c * app/display/gimpdisplayshell-scale.c: do not explicitely resize the statusbar cursor label, connect to GimpDisplayShell::scaled instead. Added a GimpScaleComboBox to the status bar. 2004-05-10 Michael Natterer Started making the toolbox configurable. Addresses bug #105764. Not finished yet. * app/core/gimptoolinfo.[ch]: renamed "in_toolbox" to "visible" and made it a GObject property. * app/tools/gimp-tools.[ch]: added new function gimp_tools_get_default_order() which returns a GList of tool identifiers. * app/actions/tools-actions.c * app/actions/tools-commands.[ch]: added actions & callbacks for toggling the "visible" boolean and for resetting all tools. * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimptoolview.[ch]: new widget which allows to toggle a tool's visibility and to reorder the tools. * app/widgets/gimptoolbox.[ch]: removed member "GtkWidget *trash" and pack all tool buttons into the same wrap box. Connect to "reoder" of the tool container and to "notify::visible" of all tool infos and update the toolbox accordingly. * app/gui/dialogs-constructors.c: create a GimpToolView for the tools list/grid. * app/menus/menus.c: register a menu for the dialog above. * menus/Makefile.am * menus/tools-menu.xml: added the menu. 2004-05-10 Michael Natterer * app/widgets/gimpuimanager.c: re-added help for menu items. Still incomplete because there is no fallback help ID yet when pressing F1 over a menu item which has a submenu. Added evil workaround and version check for signal brokenness of GtkUIManager in GTK+ 2.4.1. 2004-05-09 Hans Breuer Merge from stable branch : * plug-ins/common/winclipboard.c : support gray images; fixes bug #141382 * plug-ins/common/winprint.c : dito; fixes bug #141145 2004-05-09 Maurits Rijk * plug-ins/common/aa.c * plug-ins/common/apply_lens.c * plug-ins/common/autocrop.c * plug-ins/common/autostretch_hsv.c: HIGified, GPL license added in some plug-ins, minor code clean-up. 2004-05-08 Maurits Rijk * plug-ins/common/spread.c: HIGified, simplified and fixes #141733 2004-05-08 Henrik Brix Andersen * plug-ins/common/screenshot.c (shoot_dialog): HIGify the screenshot plug-in. Fixes part of bug #141772. 2004-05-08 Sven Neumann * app/display/gimpstatusbar.c (gimp_statusbar_resize_cursor): added 1 pixel horizontal padding around the label. 2004-05-08 Sven Neumann * app/display/gimpstatusbar.[ch]: renamed struct member combo to unit_combo. Place the combobox into the cursor frame. 2004-05-08 Sven Neumann * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpunitcombobox.[ch] * app/widgets/gimpunitstore.[ch]: added a prototype of a unit menu based on GtkComboBox. Will move this to libgimpwidgets later... * app/display/gimpstatusbar.[ch]: use the new GimpUnitComboBox and GimpUnitStore. * themes/Default/gtkrc * themes/Small/gtkrc: hardcode the appearance of the GimpUnitComboBox. It uses a hack that doesn't work in list mode. 2004-05-07 Sven Neumann * app/core/gimpimage-colormap.[ch]: added a const qualifier. Changed how the image unit and dot-for-dot mode is handled. Might break things and certainly needs more changes (mainly in tools): * app/core/gimptemplate.c: allow GIMP_UNIT_PIXEL as image unit. * app/display/gimpdisplayshell-handlers.c * app/display/gimpdisplayshell-scale.c * app/display/gimpdisplayshell-title.c * app/display/gimpstatusbar.c: always use the image unit for the rulers and to display lengths. * app/widgets/gimptemplateeditor.c: redone GimpTemplateEditor based on a dialog mockup from Jimmac and Tigert. * app/core/core-enums.[ch]: changed some descriptions used by the template editor. 2004-05-07 Michael Natterer * plug-ins/common/AlienMap2.c * plug-ins/common/CML_explorer.c * plug-ins/common/animationplay.c * plug-ins/common/despeckle.c * plug-ins/fp/fp.c * plug-ins/gfig/gfig.c * plug-ins/gflare/gflare.c * plug-ins/script-fu/script-fu.c * plug-ins/twain/twain.c: forgot some gimp_plugin_menu_register(). 2004-05-07 Michael Natterer * plug-ins/FractalExplorer/FractalExplorer.c * plug-ins/Lighting/lighting_main.c * plug-ins/MapObject/mapobject_main.c * plug-ins/dbbrowser/dbbrowser.c * plug-ins/flame/flame.c * plug-ins/gimpressionist/gimp.c * plug-ins/ifscompose/ifscompose.c * plug-ins/imagemap/imap_main.c * plug-ins/maze/maze.c * plug-ins/pagecurl/pagecurl.c * plug-ins/print/print.c * plug-ins/rcm/rcm.c * plug-ins/winsnap/winsnap.c * plug-ins/common/[g-z]*.c: use gimp_plugin_menu_register(). Some formatting cleanups in some query() functions. 2004-05-07 Michael Natterer * app/plug-in/plug-in-proc.[ch]: removed member "accelerator". It was never set and this is the conceptually wrong place to store it anyway. * app/actions/file-dialog-actions.c * app/actions/plug-in-actions.c * app/plug-in/plug-in-message.c * app/xcf/xcf.c: changed accordingly. * tools/pdbgen/pdb/plug_in.pdb (plugins_query): always return NULL as accelerator. Cleaned up the function a bit and made it aware of proc_def->menu_label added below. * app/pdb/plug_in_cmds.c: regenerated. 2004-05-07 Michael Natterer Changed plug-in menu registration again to allow passing just the menu item's label (not the full path) in gimp_install_procedure() and only the path (excluding the item's label) in gimp_plugin_menu_register(). Matches the internal action system better and makes translating the menu paths much easier. (Of yourse it's still possible to use the old syntax for backward compatibility). * app/plug-in/plug-in-proc.[ch]: added "gchar *menu_label". * app/plug-in/plug-in-params.[ch]: added new functions plug_in_param_defs_check() and plug_in_proc_args_check() which check if a procedure's parameters match its menu location (e.g. needs RUN-MODE, IMAGE, DRAWABLE). * app/plug-in/plug-in-message.c (plug_in_handle_proc_install): if registering an old-style (full) menu_path, use plug_in_param_defs_check(), set proc_def->menu_label otherwise. * tools/pdbgen/pdb/plug_in.pdb (plugin_menu_register): use plug_in_proc_args_check() on the passed menu_path and make sure old and new style menu registration are not mixed. * app/pdb/plug_in_cmds.c: regenerated. * app/plug-in/plug-in-rc.c: save/restore "menu_label". * app/actions/file-dialog-actions.c * app/actions/plug-in-actions.c * app/menus/plug-in-menus.c: changed action/menu creation accordingly. Some hacks needed to allow both old and new style menu_label/menu_paths. * app/plug-in/plug-in.c * app/widgets/gimpfiledialog.c * app/xcf/xcf.c: changed accordingly. * plug-ins/common/align_layers.c * plug-ins/common/animationplay.c * plug-ins/common/animoptimize.c * plug-ins/common/apply_lens.c * plug-ins/common/autocrop.c * plug-ins/common/autostretch_hsv.c * plug-ins/common/blinds.c * plug-ins/common/blur.c * plug-ins/common/borderaverage.c * plug-ins/common/bumpmap.c * plug-ins/common/c_astretch.c * plug-ins/common/ccanalyze.c * plug-ins/common/channel_mixer.c * plug-ins/common/checkerboard.c * plug-ins/common/color_enhance.c * plug-ins/common/colorify.c * plug-ins/common/colortoalpha.c * plug-ins/common/compose.c * plug-ins/common/convmatrix.c * plug-ins/common/cubism.c * plug-ins/common/curve_bend.c * plug-ins/common/decompose.c * plug-ins/common/deinterlace.c * plug-ins/common/depthmerge.c * plug-ins/common/destripe.c * plug-ins/common/diffraction.c * plug-ins/common/displace.c * plug-ins/common/edge.c * plug-ins/common/emboss.c * plug-ins/common/engrave.c * plug-ins/common/exchange.c * plug-ins/common/film.c * plug-ins/common/flarefx.c * plug-ins/common/fractaltrace.c * plug-ins/common/screenshot.c: ported the first few plug-ins to the new registration scheme. 2004-05-06 Manish Singh * tools/pdbgen/pdb/app.pl: make libgimp* headers always included before any app headers. * tools/pdbgen/pdb/paint_tools.pdb: Fix silly "Dodgebure" typo. * app/pdb/*_cmds.c: regenerated. 2004-05-06 Sven Neumann * app/core/gimpdrawable-preview.c * app/core/gimpimage-projection.c: added sanity so we don't just plain crash when an indexed image doesn't have a colormap. * plug-ins/common/png.c: keep at least one entry in the colormap. Fixes bug #142029. 2004-05-06 Maurits Rijk * plug-ins/common/sobel.c: replaced RMS macro by smarter one, resulting in a doubling in speed for this plug-in. * plug-ins/fp/fp.c: include stdlib for free, malloc and abs. 2004-05-06 Maurits Rijk * plug-ins/fp/fp_gdk.c * plug-ins/fp/fp_gtk.c * plug-ins/fp/fp_misc.c * plug-ins/fp/fp.h: removed * plug-ins/fp/Makefile.am: changed accordingly * plug-ins/fp/fp.c: merged into one single file to get rid of all global variables and functions. Major clean-up. Still more to come. 2004-05-06 Sven Neumann * app/gui/about-dialog.c: center the about dialog on the monitor, not on the screen. Fixes window position on xinerama setups. 2004-05-06 Michael Natterer * tools/pdbgen/pdb/plug_in.pdb: renamed gimp_plugin_menu_add() to gimp_plugin_menu_register() for consistency with other gimp_plugin_foo_register() functions which can be called during query(). * app/pdb/plug_in_cmds.c * libgimp/gimpplugin_pdb.[ch]: regenerated. * plug-ins/common/ccanalyze.c * plug-ins/common/colortoalpha.c * plug-ins/common/screenshot.c * plug-ins/winsnap/winsnap.c: changed accordingly. 2004-05-06 Michael Natterer Enabled multiple menu entries per plug-in procedure: * app/plug-in/plug-in-proc.[ch]: changed "gchar *menu_path" to "GList *menu_paths". * app/plug-in/plug-in-message.c * app/plug-in/plug-in-rc.c * app/plug-in/plug-in.c * app/plug-in/plug-ins.c * app/menus/menus.c * app/widgets/gimpfiledialog.c * app/xcf/xcf.c: changed accordingly. * app/actions/file-dialog-actions.c * app/actions/plug-in-actions.c: create an action for the first element of proc_def->menu_paths. * app/gui/gui-vtable.c * app/menus/plug-in-menus.[ch]: create proxy widgets for each element of proc_def->menu_paths. * tools/pdbgen/pdb/plug_in.pdb: added new function gimp_plugin_menu_add() which can be called during query() and adds a menu path to a procedure registered by the calling plugin. * app/pdb/internal_procs.c * app/pdb/plug_in_cmds.c * libgimp/gimpplugin_pdb.[ch]: regenerated. * menus/image-menu.xml.in * menus/toolbox-menu.xml.in: added lots of s for logical groups (like Image/Resize, Image/Scale, Image/Crop etc.). Added empty placeholder File/Send for stuff like print and mail. Added an "Acquire" menu under /File * plug-ins/common/mail.c * plug-ins/print/print.c * plug-ins/common/winprint.c: register under File/Send. * plug-ins/common/screenshot.c * plug-ins/winsnap/winsnap.c: also register under /File/Acquire. * plug-ins/common/autocrop.c * plug-ins/common/ccanalyze.c * plug-ins/common/colortoalpha.c * plug-ins/common/threshold_alpha.c * plug-ins/common/zealouscrop.c: register additional menu entries under placeholders in the "Image" and "Layer" menus. This is not meant to be final but just a hint to keep in mind when reorganizing the plug-in menus. 2004-05-06 Sven Neumann * app/gui/resize-dialog.[ch]: cleaned up variable names and external API. Still quite a mess. * app/Makefile.am * app/actions/image-commands.c * app/actions/layers-commands.c: changed accordingly. 2004-05-06 Sven Neumann * app/menus/menus.c: no need for including gimp-intl.h. 2004-05-06 Michael Natterer * configure.in * app/Makefile.am * app/menus/.cvsignore * app/menus/Makefile.am * app/menus/menus-types.h * app/menus/menus.[ch] * app/menus/file-open-menu.[ch] * app/menus/file-save-menu.[ch] * app/menus/image-menu.[ch] * app/menus/plug-in-menus.[ch] * app/menus/tool-options-menu.[ch] * app/menus/toolbox-menu.[ch]: moved all menus files to their own directory. * app/gui/Makefile.am * app/gui/menus.[ch] * app/gui/file-open-menu.[ch] * app/gui/file-save-menu.[ch] * app/gui/image-menu.[ch] * app/gui/plug-in-menus.[ch] * app/gui/tool-options-menu.[ch] * app/gui/toolbox-menu.[ch]: removed them here. * app/actions/debug-commands.c * app/actions/file-commands.c * app/gui/brush-select.c * app/gui/dialogs.c * app/gui/font-select.c * app/gui/gradient-select.c * app/gui/gui-vtable.c * app/gui/gui.c * app/gui/palette-select.c * app/gui/pattern-select.c * app/gui/preferences-dialog.c: changed #includes accordingly. 2004-05-05 Sven Neumann * app/gui/file-new-dialog.c: use a normal GimpDialog instead of a GimpViewableDialog that never has a viewable set. 2004-05-05 Michael Natterer * app/gui/brush-select.[ch] (brush_select_new): reordered parameters so the first four are the same for all foo_select_new() functions. * tools/pdbgen/pdb/brush_select.pdb: changed accordingly. * app/pdb/brush_select_cmds.c: regenerated. * app/gui/font-select.c (font_select_new): set the vbox' border width to 6 to match the other foo_select dialogs. 2004-05-05 Michael Natterer * app/actions/debug-actions.c * app/actions/debug-commands.[ch] * menus/toolbox-menu.xml.in: added action & callback which XML-dump all UI managers. 2004-05-05 Michael Natterer * app/actions/plug-in-actions.c (plug_in_actions_add_proc): fixed bug which would have leaked broken menu translations. * app/gui/plug-in-menus.c: removed useless #includes. 2004-05-05 Michael Natterer * app/actions/file-actions.c * app/actions/file-commands.[ch]: remove "file-close" action and callback... * app/actions/view-actions.c * app/actions/view-commands.[ch]: ...and added it here as "view-close" because that's what it does. * app/actions/qmask-actions.c * app/actions/qmask-commands.c: s/QMask/QuickMask/g * app/gui/menus.c: add the "channels" action group to the and UI managers, renamed UI manager to . * app/widgets/gimpdockbook.c: s///. * menus/image-menu.xml.in: s/file-close/view-close/, added separators at the end of most menus, moved the bottom group of the "View" menu after the zoom group. 2004-05-05 Michael Natterer * app/actions/select-actions.c: removed action "select-by-color". * app/tools/gimpbycolorselecttool.c: add the shortcut here. * app/actions/tools-actions.c: added alternative tool actions for "by-color-select" and "rotate" which are identical to the ones generated from the GimpToolInfo except for their label. Make sure they have the same accelerators as the generated ones. * menus/image-menu.xml.in: use the alternative actions for "/Select/By Color" and "/Transform/Arbitrary Rotation...". 2004-05-05 Sven Neumann * libgimpwidgets/gimphelpui.c: documentation. 2004-05-05 Michael Natterer Finally enable global accelerators in all docks: * app/widgets/gimpimagedock.c (gimp_image_dock_constructor): iterate all of the UI manager's actions and enable their accelerators manually. Fixes bug #119878. 2004-05-05 Sven Neumann * app/widgets/gimpviewabledialog.c: added construct properties to make it possible to derive from GimpViewableDialog. * app/widgets/gimptooldialog.[ch]: make GimpToolDialog a real object, not just a convenience constructor. * themes/Default/gtkrc * themes/Small/gtkrc: set a smaller border_width of 6 pixels for the action area of tool dialogs. * app/tools/gimpcolorpickertool.c * app/tools/gimpimagemaptool.c: set a smaller border_width of 6 pixels on tool dialogs to make them more compact. 2004-05-05 Michael Natterer * libgimpwidgets/gimpoffsetarea.[ch]: added new function gimp_offset_area_set_pixbuf(). Started to clean up the code a bit. * app/gui/resize-dialog.c (resize_widget_new): use the new feature and set a preview of the image. Fixes bug #78733. 2004-05-05 Sven Neumann * app/gui/info-dialog.c * app/tools/gimpcolorbalancetool.c * app/tools/gimpcolorizetool.c * app/tools/gimpcurvestool.c * app/tools/gimphuesaturationtool.c * app/tools/gimpimagemaptool.c * app/tools/gimplevelstool.c: use GimpFrame widgets, changed spacings. * app/widgets/gimptexteditor.c: tweaked. 2004-05-05 Jakub Steiner * data/images/gimp_splash.png: ustable splash 2004-05-04 Michael Natterer * app/gui/menus.c: register a UI manager which has all action groups has except "view". * app/widgets/gimpimagedock.[ch]: re-enabled the global shortcuts, using UI manager instead of item factory. Unfortunately actions without proxy widgets can't be activated so this change is pretty useless. Oh well, will find a hack to work around this later... 2004-05-04 Sven Neumann * app/tools/gimpblendoptions.c * app/tools/gimpbucketfilloptions.c * app/tools/gimpcoloroptions.c * app/tools/gimpinkoptions.c * app/tools/gimppaintoptions-gui.c * app/tools/gimpselectionoptions.c * app/tools/gimptooloptions-gui.c * app/tools/gimptransformoptions.c: use GimpFrames where GtkFrame was used. Put "Pressure Sensitivity" frame into a GtkExpander. 2004-05-04 Sven Neumann * libgimpwidgets/gimpframe.c: added a style property to control boldening of the frame title. * themes/Default/gtkrc * themes/Small/gtkrc: suppress the bold title for GimpFrames in GimpDockables, 2004-05-04 Sven Neumann * libgimpwidgets/gimpframe.c (gimp_frame_size_allocate): allocate the full width for the label widget, looks better and is more convenient to use with activatable widgets such as toggle buttons. 2004-05-04 Michael Natterer * app/widgets/gimpfiledialog.c: removed debugging output, added #warning about runtime version check that can be removed as soon as we depend on GTK+ 2.4.1. 2004-05-04 Michael Natterer * app/actions/file-dialog-actions.c (file_dialog_actions_setup): don't forget to set the action's accelerator. 2004-05-04 Sven Neumann * app/actions/channels-commands.c * app/actions/gradient-editor-commands.c * app/actions/image-commands.c * app/actions/layers-commands.c * app/actions/qmask-commands.c * app/actions/templates-commands.c * app/actions/vectors-commands.c * app/display/gimpdisplayshell-filter-dialog.c * app/gui/convert-dialog.c * app/gui/module-browser.c * app/gui/offset-dialog.c * app/gui/palette-import-dialog.c * app/gui/resize-dialog.c * app/gui/resolution-calibrate-dialog.c * app/gui/tips-dialog.c * app/gui/user-install-dialog.c * app/widgets/gimpwidgets-utils.c * libgimpwidgets/gimpquerybox.c: set dialog border spacing to 12. 2004-05-04 Sven Neumann * app/gui/preferences-dialog.c * app/widgets/widgets-enums.[ch] * app/widgets/gimpwidgets-utils.c (gimp_window_set_hint): added new window hint "keep-above" to force toolbox and/or dock windows to be kept above (if the WM supports this hint). Fixes bug #131672. 2004-05-04 Michael Natterer Fix bug #141719: * app/tools/gimpmovetool.c (gimp_move_tool_motion): use RINT() instead of ROUND() to round double coords to guide positions. * app/display/gimpdisplayshell-callbacks.c (gimp_display_shell_canvas_tool_events): pass RINT()-rounded coords to gimp_display_shell_update_cursor() instead of implicitly truncating by casting to int. 2004-05-04 Michael Natterer * app/widgets/gimpundoeditor.c: removed code duplication by adding utility function gimp_undo_editor_update_buttons(), some general cleanups. 2004-05-04 Michael Natterer * app/core/gimpimage.c (gimp_image_undo_freeze,thaw): emit the "undo-freeze" and "undo-thaw" signals only on the first freeze and last thaw, not on any of them. * app/widgets/gimphelp-ids.h: added GIMP_HELP_EDIT_UNDO_CLEAR. * app/widgets/gimpundoeditor.[ch]: added a "Clear Undo History" button. Fixes bug #136300. Also don't attach to the image's undo stack if the image's undo is disabled and set the buttons' sensitivity accordingly. Should fix all kinds of unpredictable undo history brokenness. 2004-05-04 Michael Natterer Treat FG/BG just like all other context properties: * app/paint/gimppaintoptions.h: added GIMP_CONTEXT_FOREGROUND_MASK and _BACKGROUND_MASK to GIMP_PAINT_OPTIONS_CONTEXT_MASK to specify that they are used by GimpPaintOptions (automatically affects all paint tools). * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpinktool.c: set FOREGROUND_MASK and BACKGROUND_MASK manually here. * app/tools/tool_manager.c (tool_manager_tool_changed): decide about the globality of FG and BG at the same place where we decide about the brush's, pattern's etc. globality, but hardcode them to global = TRUE instead of looking at GimpConfig. Fixes bug #141786. 2004-05-04 Sven Neumann * plug-ins/common/sobel.c (sobel_dialog): removed frame, adjusted spacing, fixes bug #141773. 2004-05-04 Sven Neumann * app/gui/stroke-dialog.c: * app/widgets/gimpstrokeeditor.c: moved line style options into a GtkExpander. Changed dialog spacings. 2004-05-03 Manish Singh * app/actions/qmask-actions.c: initialize is_active for qmask-toggle. * app/actions/tools-actions.c: set entry help_id from tool_info, since gimp_action_group_add_string_actions expects it to be there now. 2004-05-03 Sven Neumann * libgimpwidgets/gimpframe.c (gimp_frame_new): added a hack that allows to get the label_spacing but no label. Useful when the frame is packed into a GtkExpander. * app/widgets/gimptemplateeditor.c: pack the "Image Comment" frame into a GtkExpander to reduce clutter and dialog size. 2004-05-03 Michael Natterer * libgimpwidgets/gimphelpui.[ch]: added gimp_help_id_quark() which is G_GNUC_CONST and a new macro GIMP_HELP_ID as shortcut. * app/widgets/gimpactiongroup.c (gimp_action_group_add_*_actions): attach the help ID to the action using the new quark key. Call gtk_action_group_add_action() instead of the _with_accel() variant if the accel is the empty string (== if we explicitely want no accel even if the stock item specifies one). Fixes warning flood with GTK+ 2.4.1. 2004-05-03 Sven Neumann * libgimpwidgets/gimpframe.c: if the label_widget is a button, set the button label as bold. Cache the indentation instead of calculating it over and over again. * themes/Default/gtkrc: set HIG-compliant spacing for the action_area. * app/widgets/gimppropwidgets.[ch]: added gimp_prop_enum_radio_box_new() for a radio group that is no embedded in a frame. * app/widgets/gimpstrokeeditor.c: use a frame-less radio box for the Stroke style. * app/gui/file-new-dialog.c * app/gui/grid-dialog.c * app/gui/stroke-dialog.c: HIG-compliant spacings. 2004-05-03 Michael Natterer * app/widgets/gimpdock.c (gimp_dock_key_press_event): new function which overrides GtkWindow's default handler in order to give the focus widget precedence over accelerators for keys without any modifier or with modifier. Enables e.g. having a +s accelerator while still being able to enter 'S' in an entry. Thanks to Tim Janik for the code. 2004-05-03 Michael Natterer * app/actions/actions.h. added the various return_if_no_foo() macros here. * app/actions/channels-commands.c * app/actions/dialogs-commands.c * app/actions/drawable-commands.c * app/actions/edit-commands.c * app/actions/file-commands.c * app/actions/image-commands.c * app/actions/layers-commands.c * app/actions/qmask-commands.c * app/actions/select-commands.c * app/actions/vectors-commands.c * app/actions/view-commands.c: removed them here. Some cleanup. 2004-05-03 Michael Natterer * app/actions/actions.[ch]: added some utility functions to get a Gimp, GimpImage, GimpDisplay and GtkWidget from the "data" pointer passed to action callbacks. * app/actions/channels-actions.c * app/actions/channels-commands.c * app/actions/drawable-actions.c * app/actions/drawable-commands.c * app/actions/edit-actions.c * app/actions/edit-commands.c * app/actions/file-actions.c * app/actions/file-commands.c * app/actions/help-commands.c * app/actions/image-actions.c * app/actions/image-commands.c * app/actions/layers-actions.c * app/actions/layers-commands.c * app/actions/plug-in-actions.c * app/actions/plug-in-commands.c * app/actions/qmask-actions.c * app/actions/qmask-commands.c * app/actions/select-actions.c * app/actions/select-commands.c * app/actions/tools-commands.c * app/actions/vectors-actions.c * app/actions/vectors-commands.c * app/actions/view-commands.c: use the new functions instead of duplicating insane macros and if() constructs over and over again. 2004-05-03 Sven Neumann * libgimpwidgets/gimpwidgets.c: use a GimpFrame for gimp_radio_group_new() and friends. * themes/Default/gtkrc * themes/Small/gtkrc: set a smaller label_spacing for GimpFrame widgets in GimpDockables. Lame hack to keep the tool options compact. * app/actions/image-commands.c: changed spacing. * app/gui/offset-dialog.c: merged check and radio buttons into a single radio button group; changed spacing. 2004-05-03 Sven Neumann * libgimpwidgets/gimpframe.c (gimp_frame_size_allocate): respect the frame's border width. * app/widgets/gimpcolorframe.[ch]: derive from GimpFrame. * app/gui/convert-dialog.c * app/gui/info-window.c * app/gui/palette-import-dialog.c * app/gui/resize-dialog.c: use GimpFrames, changed some spacings. 2004-05-03 Michael Natterer * app/actions/dockable-commands.c (dockable_add_tab_cmd_callback): truncate the passed dialog identifier at the first '|'. Fixes creating brushes, paterns etc. dialogs from the dockables' "Add Tab" menu. 2004-05-02 Sven Neumann * libgimpwidgets/gimpframe.c (gimp_frame_size_request): take the left margin into account. * app/widgets/gimpgrideditor.c * app/widgets/gimptemplateeditor.c: removed container borders that aren't needed any longer. 2004-05-02 Sven Neumann * app/widgets/gimpenumwidgets.c * app/widgets/gimpgrideditor.c * app/widgets/gimptemplateeditor.c: use the GimpFrame widget, changed some spacings to better comply with the HIG. 2004-05-02 Sven Neumann * libgimpwidgets/Makefile.am * libgimpwidgets/gimpwidgets.h * libgimpwidgets/gimpwidgetstypes.h * libgimpwidgets/gimpframe.[ch]: added new widget GimpFrame, a HIG compliant variant of GtkFrame. * app/gui/preferences-dialog.c: enable the HIG compliant mode by default and use the new GimpFrame widget for it. * themes/Small/gtkrc: set a smaller spacing between the GimpFrame title label and the frame content. 2004-05-02 Michael Natterer * app/actions/qmask-actions.c: renamed action "qmask-toggle" to "qmask-active" and added new action "qmask-toggle" with a label and shortcut suited for the "Select" menu. * app/actions/select-actions.c: removed "select-toggle-qmask". * app/actions/select-commands.[ch]: removed callback select_toggle_quickmask_cmd_callback(). * app/actions/channels-actions.c (channels_actions_update) * app/actions/vectors-actions.c (vectors_actions_update): handle "data" being both GimpDisplay and GimpDisplayShell so the actions can be used in the image menu. * menus/image-menu.xml.in: s/select-toggle-qmask/qmask-toggle/. * menus/qmask-menu.xml: s/qmask-toggle/qmask-active/. 2004-05-02 Sven Neumann * menus/image-menu.xml.in * menus/tool-options-menu.xml * menus/toolbox-menu.xml.in: use empty elements for empty menus. Makes the XML somewhat easier to read. 2004-05-02 Sven Neumann * menus/Makefile.am * menus/dialogs-menuitems.xml: new file that holds menuitems that appear in several places. * menus/dockable-menu.xml.in: new file used to generate dockable-menu.xml. * menus/toolbox-menu.xml.in: new file used to generate toolbox-menu.xml. * menus/image-menu.xml.in: include dialogs-menuitems.xml. * menus/menus.xsl: allow inclusion of menuitems using XInclude. 2004-05-02 Michael Natterer * app/actions/Makefile.am * app/actions/file-dialog-actions.[ch]: new files containing factored out code to set up the and actions. Use GimpPlugInActions instead of just GtkActions. * app/actions/file-dialog-commands.[ch]: new files containing file_dialog_type_cmd_callback() which is a GimpPlugInAction::selected() callback now. * app/actions/file-commands.[ch]: removed the callback here. * app/actions/file-open-actions.c * app/actions/file-save-actions.c: removed code duplication and use file_dialog_actions_setup() instead. 2004-05-02 Michael Natterer * app/actions/*-actions.c: added help IDs to all actions representing the toplevel popups and menus (as fallbacks for the still-to-be-written help system intrgration of GimpUIManager). * app/display/gimpdisplayshell.c (gimp_display_shell_new): removed call to gtk_ui_manager_ensure_update() because that's done by gimp_ui_manager_ui_get() now. * app/widgets/gimpmenufactory.[ch]: removed API to register and create item factories. * app/gui/menus.c: changed accordingly. * app/gui/dialogs.c * app/actions/plug-in-commands.c * app/gui/file-dialog-utils.c * app/gui/file-save-dialog.c * app/widgets/gimpdataeditor.c * app/widgets/gimpdockable.c * app/widgets/gimpdockbook.[ch] * app/widgets/gimpimagedock.c * app/widgets/gimpitemtreeview.c: removed leftover item factory cruft. * app/widgets/widgets-types.h: removed item factory typedefs... * app/widgets/gimpitemfactory.h: ...and added them here. * app/widgets/gimpactiongroup.[ch]: added new function gimp_action_group_add_plug_in_actions(). * app/actions/plug-in-actions.c: use it here instead of adding the actions manually. * app/widgets/gimptoolbox.c: ported the code which dynamically updates the tool button tooltips on accelerator changes to GtkAction. Disabled the whole stuff because GTK+ lacks gtk_action_get_accel_closure(). 2004-05-02 Sven Neumann * menus/Makefile.am: added a rule to generate gtkuimanager XML files using an XSL transformation. * menus/menus.xsl: a simple XSLT to generate a menubar and a popup menu with identical content. * menus/image-menu.xml: removed this file from CVS ... * menus/image-menu.xml.in: ... and added this instead. * HACKING: xsltproc is now needed to build from CVS. 2004-05-01 Sven Neumann * configure.in: check for xmllint and xsltproc but don't require these tools. * menus/Makefile.am * tips/Makefile.am: simplified "validate" targets. 2004-04-30 Pedro Gimeno * app/tools/gimprectselecttool.c: Cleanups. (gimp_rect_select_tool_coords_to_integer): Undo my bogus fix for bug #138103, which led to bug #140649. * app/pdb/procedural_db.c (procedural_db_init_procs): Add missing compat procs: gimp_channel_ops_duplicate, gimp_channel_ops_offset. 2004-04-30 Sven Neumann * app/gui/tool-options-menu.c: added casts to please the compiler. 2004-04-30 Michael Natterer * app/widgets/gimpuimanager.[ch]: added signal "update" which is G_SIGNAL_RUN_LAST, so handlers can hook in before and after the default implementation. Update the action groups in the default implementations. (gimp_ui_manager_ui_get): make sure we always return a widget by calling gtk_ui_manager_ensure_update(). * app/widgets/gimpdockable.c (gimp_dockable_show_menu): make sure the dockable menu is loaded before trying to access its widgets/actions. Resurrected the dynamic tool options menus: * app/actions/tool-options-actions.c: dynamically destroy/create actions for the tool options' presets. * app/actions/tool-options-commands.[ch]: all callbacks are GimpEnumAction::selected() callbacks now. * app/gui/tool-options-menu.[ch]: connect and connect_after to GimpUIManager::update(). Remove the old preset menu items in the former callback, create the new ones in the latter. Removed the last item factory entries. * app/gui/menus.c * app/widgets/gimptooloptionseditor.c: changed accordingly. 2004-04-29 Simon Budig * app/main.c: when glibc is used, call mallopt, so that memory chunks >= 4k (= 64*64 pixels, 1bpp - the smallest full tile) get allocated via mmap. This ensures that after closing an image the memory allocated for image data gets returned to the system. Thanks to Phil Blundell for bringing mallopt to my attention. Please watch closely for performance problems. 2004-04-29 Michael Natterer * app/actions/Makefile.am * app/actions/file-open-actions.[ch] * app/actions/file-save-actions.[ch]: actions for the and menus... * menus/Makefile.am * menus/file-open-menu.xml * menus/file-save-menu.xml: ...and the menus. * app/gui/file-open-menu.[ch] * app/gui/file-save-menu.[ch]: ported to UI Manager. * app/widgets/gimpfiledialog.[ch]: ditto. * app/actions/actions.c * app/gui/menus.c * app/gui/file-open-dialog.c * app/gui/file-save-dialog.c: changed accordingly. * app/widgets/gimpuimanager.c: removed debugging code which automatically loaded all registered menus. They are now loaded on demand only. 2004-04-29 Michael Natterer * libgimpbase/gimputils.[ch] (gimp_escape_uline): new function which does the opposite of gimp_strip_uline(). * app/actions/file-actions.c (file_actions_last_opened_update): escape ulines in filenames so they don't end up as mnemonics. Spotted by Pedro Gimeno. 2004-04-29 Manish Singh * plug-ins/pygimp/plug-ins/py-slice.py: Quick fix to make uppercase tags work properly. 2004-04-29 Michael Natterer * app/tools/gimp*tool.c (gimp_*_tool_register): stripped the menu paths from the "menu_path". Will be renamed to "action_name" or something soon... * plug-ins/dbbrowser/dbbrowser.c * plug-ins/common/plugindetails.c * plug-ins/common/uniteditor.c: register under the new "Extensions" placeholder. 2004-04-29 Michael Natterer Switch from GtkItemFactory to GtkUIManager. The migration is almost complete, still stuff missing/incomplete, definitely added a bunch of new bugs... * app/actions/*-commands.[ch]: converted all callback from GtkItemFactory callbacks to GtkAction callbacks. * app/actions/debug-actions.c * app/actions/gradient-editor-actions.c * app/actions/help-actions.c * app/actions/plug-in-actions.c * app/actions/qmask-actions.c * app/actions/tool-options-actions.c: various fixes. * app/display/gimpdisplay.[ch] * app/display/gimpdisplayshell-appearance.[ch] * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell.[ch]: move everything from GtkItemFactory to GtkUIManager. * app/gui/dialogs.[ch]: added new function dialogs_get_toolbox(). Needed because the action callbacks don't have a widget parameter and sometimes we need a parent window for showing dialogs. * app/gui/Makefile.am * app/gui/brushes-menu.[ch] * app/gui/buffers-menu.[ch] * app/gui/channels-menu.[ch] * app/gui/colormap-editor-menu.[ch] * app/gui/dialogs-menu.[ch] * app/gui/documents-menu.[ch] * app/gui/error-console-menu.[ch] * app/gui/fonts-menu.[ch] * app/gui/gradient-editor-menu.[ch] * app/gui/gradients-menu.[ch] * app/gui/images-menu.[ch] * app/gui/layers-menu.[ch] * app/gui/palette-editor-menu.[ch] * app/gui/palettes-menu.[ch] * app/gui/patterns-menu.[ch] * app/gui/qmask-menu.[ch] * app/gui/templates-menu.[ch] * app/gui/vectors-menu.[ch]: removed these files. * app/gui/gui.c: create a global UI manager for the image popup menu and the toolbox menubar. * app/gui/menus.[ch]: removed all GtkItemFactory code. * app/gui/image-menu.[ch] * app/gui/toolbox-menu.[ch]: removed everything except the trivial setup_funcs. * app/gui/file-open-menu.c * app/gui/file-save-menu.c * app/gui/tool-options-menu.c: don't use the macros from menus.h any more, they are gone. * app/gui/gui-vtable.c * app/gui/plug-in-menus.[ch]: create/destroy the dynamic plug-in menu entries. * app/tools/gimpimagemaptool.c: s/gimp_item_factory_update/ gimp_ui_manager_update/g * app/widgets/gimpuimanager.[ch]: added API to get an action group by name. * app/widgets/gimpmenufactory.c: don't choke on the item_factory entries being NULL. * app/widgets/gimpactiongroup.c: make sure booleans set using g_object_set() only have TRUE or FALSE values. * app/widgets/gimpcolormapeditor.c * app/widgets/gimpcomponenteditor.c * app/widgets/gimpcontainereditor.[ch] * app/widgets/gimpcontainergridview.c * app/widgets/gimpcontainertreeview.c * app/widgets/gimpdockable.[ch] * app/widgets/gimpdocked.[ch] * app/widgets/gimpeditor.[ch] * app/widgets/gimperrorconsole.c * app/widgets/gimpgradienteditor.c * app/widgets/gimpitemtreeview.c * app/widgets/gimppaletteeditor.c * app/widgets/gimptoolbox.c * app/widgets/gimptooloptionseditor.c: removed all GtkItemFactory code and enable the #if 0'ed UI manager stuff. * menus/gradient-editor-menu.xml: fixed typos. * menus/image-menu.xml: duplicate everything so we have both an image menubar and an image popup menu. Badly cries for an XSL processor. * menus/toolbox-menu.xml: added an "Extensions" placeholder. 2004-04-27 Michael Natterer * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimppluginaction.[ch]: new GtkAction subclass which remembers the PlugInProcDef. * app/widgets/gimpactiongroup.[ch]: added "gpointer user_data" to the GimpActionGroup struct and to gimp_action_group_new(). Removed the user_data parameter from gimp_action_group_add_*_actions(). * app/widgets/gimpactionfactory.[ch]: changed accordingly. * app/actions/*-actions.[ch]: removed user_data from all setup_funcs. * app/actions/plug-in-actions.c: use a GimpPlugInAction and finally use the right user_data for the callback so plug-in callbacks have a proper context. * app/gui/plug-in-menus.[ch]: renamed plug_in_menus_create2() to plug_in_menus_setup(). * app/gui/image-menu.c * app/gui/toolbox-menu.c: changed accordingly. 2004-04-27 Michael Natterer * app/widgets/gimpactiongroup.[ch]: removed "translation-domain" property and simply use gettext(). Plug-In domains are handled by plug-in-actions.c The following change finally starts breaking the old menu system while the new one is not fully in place yet. Have fun: * menus/image-menu.xml: added several s for plug-ins to register their menu entries in the middle of already existing menus. * app/gui/menus.c * plug-ins/common/mail.c * plug-ins/print/print.c * plug-ins/script-fu/scripts/copy-visible.scm: use the new placeholders to register menu entries. 2004-04-27 Michael Natterer Correctly translated & sorted plug-in actions & menu entries: * app/widgets/gimpuimanager.[ch]: added a "gchar *name" property and a hash table which keeps all created UI managers (similar to GimpActionGroup's hash table). Added function gimp_ui_managers_from_name() which returns a list of all managers with the given name. * app/widgets/gimpmenufactory.c: register a name per UI manager and pass the name to gimp_ui_manager_new(). * app/actions/plug-in-actions.c: added code which correctly translates the created plug-in actions and also creates translated menu actions for the plug-in's menu_path elements. * app/gui/plug-in-menus.[ch]: sort the plug-ins' menu entries using a GTree. For each entry, recursivlely create submenus from the dynamic menu actions created above before creating the plug-in's menu entry itself. * app/gui/image-menu.c (image_menu_setup2) * app/gui/toolbox-menu.c (toolbox_menu_setup2): call plug_in_menus_create2(). * app/gui/gui-vtable.c (gui_menus_create_entry) (gui_menus_delete_entry): added some uglyness which maps old menu identifiers to new-style UI manager plus ui_path tuples and call plug_in_menus_add,remove_proc() accordingly. * menus/image-menu.xml * menus/toolbox-menu.xml: added name="Foo" attributes to all menus so plug-in entries find their place. 2004-04-27 Michael Natterer * app/gui/gui.c (gui_restore_callback): call actions_init() (gui_exit_after_callback): call actions_exit(). * app/gui/menus.c (menus_init) (menu_exit): don't call them here. 2004-04-26 Michael Natterer * app/widgets/widgets-types.h: added GimpUIManagerSetupFunc typedef. * app/widgets/gimpuimanager.[ch]: added the setup_func to the GimpUIManagerUIEntry struct and to gimp_ui_manager_ui_register(). Call the setup_func after creating the UI. Replaced the term "identifier" by "ui_path". * app/widgets/gimpmenufactory.c: ditto. * app/gui/menus.c (menus_init): register the new setup_funcs below. * app/gui/menus.[ch] (menus_open_recent_add) * app/gui/image-menu.[ch] (image_menu_setup2) * app/gui/toolbox-menu.[ch] (toolbox_menu_setup2): new setup_funcs which add the "Open Recent" menu items. * app/actions/file-actions.c: removed "file-open-recent-empty" action because it's not needed. * menus/image-menu.xml * menus/toolbox-menu.xml: removed "file-open-recent-empty" menu items and added s for the "Open Recent" menu items. 2004-04-26 Michael Natterer * app/core/gimp.[ch]: removed "locale_domain" and "help_domain" parameters from GimpMenusCreateFunc. * app/plug-in/plug-ins.c (plug_ins_temp_proc_def_add) * app/actions/plug-in-actions.[ch] (plug_in_actions_add_proc_def): changed accordingly. * app/widgets/gimpactiongroup.[ch]: remember all created action groups is a hash table in GimpActionGroupClass. Added gimp_action_groups_from_name() which returns a GList of all groups with the given name. * app/actions/plug-in-actions.[ch] (plug_in_actions_setup): removed the tree sorting code. Actions don't need to be ordered alphabetically. (plug_in_actions_update): copied & ported plug_in_menus_update(). * app/gui/gui-vtable.c (gui_menus_create,delete_entry): dynamically add/remove plug-in actions in all "plug-in" action groups. 2004-04-25 Michael Natterer * app/core/gimp.[ch]: changed GimpMenusDeleteFunc to take a PlugInProcDef* instead of a const gchar*. * app/plug-in/plug-ins.c * app/gui/gui-vtable.c * app/gui/plug-in-menus.[ch]: changed accordingly. 2004-04-25 Sven Neumann * plug-ins/common/AlienMap2.c: some UI improvements based on a patch by William Skaggs (bug #140079). 2004-04-22 Sven Neumann * app/gui/dialogs-constructors.c * app/gui/preferences-dialog.c: silent the compiler. * plug-ins/winicon/icodialog.c: simplified by using a GimpIntComboBox. 2004-04-22 Michael Natterer * app/widgets/gimpuimanager.[ch]: remember and ref the created widgets. Added gimp_ui_manager_ui_popup() which pops up a GtkMenu with a custom GimpMenuPositionFunc and a GtkDestroyNotify which is called on popdown. * app/widgets/gimpmenufactory.c (gimp_menu_factory_finalize): don't forget to free the list of managed UIs. * app/widgets/gimpdockable.[ch] * app/widgets/gimpdockbook.[ch] * app/widgets/gimpdocked.[ch] * app/widgets/gimpeditor.[ch]: added GimpUIManager stuff parallel to the to-be-removed GtkItemFactory stuff. * app/widgets/gimpcolormapeditor.c * app/widgets/gimpcomponenteditor.c * app/widgets/gimpcontainereditor.c * app/widgets/gimpcontainergridview.c * app/widgets/gimpcontainertreeview.c * app/widgets/gimperrorconsole.c * app/widgets/gimpgradienteditor.c * app/widgets/gimpitemtreeview.c * app/widgets/gimppaletteeditor.c * app/widgets/gimptooloptionseditor.c: changed accordingly and added #if 0'ed code which actually uses all the UI managers. * app/display/gimpdisplay.c * app/display/gimpdisplayshell.c * app/gui/gui-vtable.c: disabled some gimp_ui_manager_update() calls because they were invoking toggle and radio callbacks which still have the wrong signature. 2004-04-22 Sven Neumann * plug-ins/gflare/gflare.c: ported the last plug-in from GtkOptionMenu to GimpIntComboBox. * plug-ins/common/newsprint.c: changed a comment that was still talking about option menus. 2004-04-22 Michael Natterer * app/gui/menus.c (menus_init): fixed some typos in the UI Manager registration code. 2004-04-22 Michael Natterer * app/widgets/gimpactiongroup.[ch]: implemented gimp_action_group_set_action_color() and gimp_action_group_set_action_viewable(). * app/actions/*-actions.c: added stock IDs to all actions which represent toplevel popup menus. Fixed typos. * menus/brushes-menu.xml * menus/colormap-editor-menu.xml * menus/dockable-menu.xml * menus/gradients-menu.xml * menus/patterns-menu.xml * menus/toolbox-menu.xml: fixed typos. 2004-04-22 Sven Neumann * plug-ins/rcm/rcm_callback.[ch] * plug-ins/rcm/rcm_dialog.c: ported from GtkOptionMenu to GimpIntComboBox. 2004-04-22 Sven Neumann * libgimpwidgets/gimpintstore.[ch]: automatically add an "(Empty)" item if the store is empty and remove it as soon as other items are being added. * libgimp/gimpdrawablecombobox.c * libgimp/gimpimagecombobox.c: removed handling of the empty list; the store does this for us now. 2004-04-22 Sven Neumann * libgimpwidgets/gimpintcombobox.c (gimp_int_combo_box_new): removed the check for first_label != NULL. Passing a NULL label makes a perfect empty combo_box. * plug-ins/common/newsprint.c * plug-ins/common/spheredesigner.c: ported from GtkOptioMenu to GimpIntComboBox. 2004-04-22 Sven Neumann * plug-ins/flame/flame.c * plug-ins/gimpressionist/brush.c: ported the last two users of gimpmenu.h to GimpDrawableComboBox. * libgimp/gimpmenu.[ch]: declared the functions found here as deprecated. * plug-ins/common/plugindetails.c * plug-ins/ifscompose/ifscompose.c: silent the compiler. 2004-04-21 Sven Neumann * libgimp/gimpdrawablecombobox.c * libgimp/gimpimagecombobox.c * libgimp/gimpmenu.c: changed the label for the empty menu from "None" to "Empty" since that's what GTK+ uses. * libgimpwidgets/gimpintcombobox.[ch]: added convenience function gimp_int_combo_box_connect(). * plug-ins/common/bumpmap.c * plug-ins/common/compose.c * plug-ins/common/depthmerge.c * plug-ins/common/displace.c * plug-ins/common/lic.c * plug-ins/common/warp.c: ported to GimpDrawableComboBox. * plug-ins/Lighting/lighting_ui.c * plug-ins/MapObject/mapobject_ui.c * plug-ins/common/sample_colorize.c: use gimp_int_combo_box_connect(). This restores the correct behaviour of setting the drawable_ID to the first drawable from the list if it's invalid. 2004-04-21 Michael Natterer * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpuimanager.[ch]: new GtkUIManager subclass. Adds API to update all action groups and knows which UIs it can create from which XML files. * app/widgets/gimpmenufactory.[ch]: register the XML file basenames along with path of their toplevel menus. Create GimpUIManagers instead of GtkUIManagers and register the XML files and menu paths with them. * app/gui/menus.c: register all XML files and their toplevel menu paths. * app/widgets/gimpeditor.[ch]: also create a GimpUIManager when creating the GtkItemFactory. Added "const gchar *ui_identifier" parameter to gimp_editor_create_menu(). * app/widgets/gimpcontainereditor.[ch] * app/widgets/gimpdataeditor.[ch] * app/widgets/gimpdatafactoryview.[ch] * app/widgets/gimpitemtreeview.[ch]: added "ui_identifier" parameters to all constructors. * app/widgets/gimpbrusheditor.c * app/widgets/gimpbrushfactoryview.c * app/widgets/gimpbufferview.c * app/widgets/gimpcolormapeditor.c * app/widgets/gimpcomponenteditor.c * app/widgets/gimpcontainerpopup.c * app/widgets/gimpdocumentview.c * app/widgets/gimperrorconsole.c * app/widgets/gimpfontview.c * app/widgets/gimpgradienteditor.c * app/widgets/gimpimageview.c * app/widgets/gimppaletteeditor.c * app/widgets/gimppatternfactoryview.c * app/widgets/gimptemplateview.c * app/widgets/gimptooloptionseditor.c * app/gui/dialogs-constructors.c * app/gui/gradient-select.c * app/gui/palette-select.c * app/gui/pattern-select.c: pass UI identifiers to the changed functions above. * app/display/gimpdisplayshell.[ch]: added a GimpUIManager for the menubar (menubar creating code still commented out). * app/display/gimpdisplay.c * app/gui/gui-vtable.c: update the ui manager. 2004-04-21 Michael Natterer * app/actions/actions.c: forgot to register the "patterns" actions. * app/actions/*-actions.c: added actions representing the toplevel menus (popups and menubars). Fixed some typos. * menus/*-menu.xml: added action="foo" attributes to all toplevel menus. Fixed typos here too. * menus/gtkuimanager.dtd: fixed possible attributes. 2004-04-21 Sven Neumann * libgimp/gimpmenu.c (gimp_menu_add_none): use the same label as in the new combo_box widgets. * libgimpwidgets/gimpintcombobox.[ch] * libgimpwidgets/gimpintstore.[ch]: use LibGIMP copyright headers. 2004-04-21 Sven Neumann * libgimp/gimpdrawablecombobox.c * libgimp/gimpimagecombobox.c * libgimp/gimppixbuf.c * libgimpwidgets/gimpintcombobox.c * libgimpwidgets/gimpintstore.c: API documentation. 2004-04-21 Sven Neumann * libgimpwidgets/gimpintcombobox.[ch]: added new functions gimp_int_combo_box_[prepend|append]. * plug-ins/common/sample_colorize.c: ported to GimpDrawableComboBox. 2004-04-21 Michael Natterer * app/actions/qmask-actions.c * app/actions/qmask-commands.c: prepared qmask_actions_update() and the qmask callbacks to be merged into the image ui manager. * app/actions/dialogs-actions.c * app/actions/edit-actions.c * app/actions/file-actions.c * app/actions/image-actions.c * app/actions/layers-actions.c * app/actions/plug-in-actions.c * app/actions/tools-actions.c * app/actions/view-actions.c: fixed lots of typos and buglets spotted in my first test run. * app/gui/menus.c: register the needed action groups with the menu. * app/tools/gimp-tools.c * app/tools/gimpdodgeburntool.[ch] * app/tools/gimppaintoptions-gui.c: s/dodgeburn/dodge_burn/g. * app/widgets/gimpactionfactory.c * app/widgets/gimpmenufactory.[ch]: s/G_GNUC_FUNCTION/G_STRFUNC/g, updated copyright header. * menus/image-menu.xml: fixed typos and added the "Filters" submenus. 2004-04-21 Michael Natterer More unused action stuff: * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpactionfactory.[ch]: added a simple factory which produces GimpActionGroups. * app/widgets/gimpactiongroup.[ch]: added an "update_func" member to the GimpActionGroup struct. Added it as parameter to gimp_action_group_new(). Added function gimp_action_group_update(). * app/widgets/gimpmenufactory.[ch]: added an "action_factory" member and constructor parameter. Added code to create GtkUIManagers from registered action group identifiers. * app/actions/Makefile.am * app/actions/actions.[ch]: new files: create a "global_action_factory" and register all action groups with it. * app/actions/edit-actions.c: s/edit_action_update/edit_actions_update/ * app/actions/plug-in-actions.[ch]: added API to add/remove plug-in procedure actions dynamically (unfinished). * app/gui/menus.c (menus_init): call actions_init(). (menus_exit): call actions_exit(). 2004-04-21 Sven Neumann * plug-ins/Lighting/lighting_ui.c * plug-ins/MapObject/mapobject_ui.c: ported to the new API. 2004-04-21 Sven Neumann * libgimp/Makefile.am * libgimp/gimpui.h * libgimp/gimppixbuf.[ch]: new file that holds pixbuf accessors to gimp data (drawable and image thumbnails for now). * libgimp/gimpdrawablecombobox.[ch] * libgimp/gimpimagecombobox.[ch]: new files with GimpIntComboBox constructors for image, drawable, channel and layer menus. * plug-ins/script-fu/script-fu-scripts.c: use the new functions instead of the gimpmenu API that is about to be deprecated. 2004-04-20 Sven Neumann * tools/pdbgen/pdb/fileops.pdb (file_load_thumbnail): removed color cast. Merged from stable branch. * app/pdb/fileops_cmds.c: regenerated. 2004-04-20 Sven Neumann * libgimpwidgets/Makefile.am * libgimpwidgets/gimpwidgets.h * libgimpwidgets/gimpwidgetstypes.h * libgimpwidgets/gimpintstore.[ch]: added a GimpIntStore, derived from GtkListStore, to be used by GimpIntComboBox and also by the image and drawable menus. * libgimpwidgets/gimpintcombobox.c: use the new GimpIntStore. * app/widgets/gimpenumstore.[ch]: derive from GimpIntStore, removed API that is provided by the parent class. * app/widgets/gimpenumcombobox.[ch]: derive from GimpIntComboBox, removed API that is provided by the parent class. * app/gui/resize-dialog.c * app/tools/gimpcurvestool.c * app/tools/gimplevelstool.c * app/widgets/gimpcolorframe.c * app/widgets/gimphistogrameditor.c * app/widgets/gimppropwidgets.c * app/widgets/gimpstrokeeditor.c: changed accordingly. 2004-04-20 Sven Neumann * app/widgets/gimpenumstore.[ch] * app/widgets/gimpenumcombobox.c: let the pixbuf renderer take care of rendering the pixbuf from the stock_id. 2004-04-20 Sven Neumann * libgimpwidgets/gimpmemsizeentry.c * modules/cdisplay_colorblind.c * modules/cdisplay_proof.c: ported to GimpIntComboBox. * libgimpwidgets/gimpwidgets.[ch]: declared the gimp option_menu API as deprecated and removed the code here. * libgimpwidgets/Makefile.am * libgimpwidgets/gimpoldwidgets.[ch]: new files with deprecated code, guarded with #ifndef GIMP_DISABLE_DEPRECATED ... #endif. * libgimpwidgets/gimpintcombobox.h: added G_BEGIN_DECLS, G_END_DECLS. * configure.in (CPP_FLAGS): added -DGIMP_DISABLE_DEPRECATED. * app/widgets/gimpwidgets-constructors.c: added a #warning and #undef GIMP_DISABLE_DEPRECATED. The paint mode menu is the last remaining user of gimp_int_option_menu_new(). 2004-04-20 Michael Natterer * app/gui/convert-dialog.[ch]: renamed convert_to_indexed() to convert_dialog_new() and return the dialog. Removed convert_to_rgb() and convert_to_grayscale(). * app/gui/offset-dialog.[ch]: renamed offset_dialog_create() to offset_dialog_new() and return the dialog. * app/Makefile.am * app/actions/drawable-commands.c * app/actions/image-commands.c: changed accordingly. 2004-04-20 Michael Natterer * app/gui/*-commands.[ch]: removed... * app/actions/*-commands.[ch]: ...and added here. * app/gui/Makefile.am * app/gui/*-menu.c * app/gui/dialogs-constructors.c * app/gui/gui.c * app/gui/menus.c * app/actions/Makefile.am * app/actions/*-actions.c: changed accordingly. * app/actions/plug-in-actions.[ch] * app/actions/tools-actions.[ch]: new files. * app/Makefile.am: had to add more -u evilness because gui/ and actions/ have cyclic dependencies. * menus/image-menu.xml: added some more items. 2004-04-20 Sven Neumann * app/widgets/gimpwidgets-constructors.[ch]: added new function gimp_paint_mode_menu_set_history(). * app/gui/brush-select.c * app/widgets/gimplayertreeview.c * app/widgets/gimppropwidgets.c: use the new function instead of the deprecated gimp_int_option_menu API. 2004-04-20 Sven Neumann * plug-ins/common/align_layers.c * plug-ins/common/borderaverage.c * plug-ins/common/channel_mixer.c * plug-ins/common/gif.c * plug-ins/common/mng.c * plug-ins/flame/flame.c * plug-ins/gfig/gfig.c: ported remaining plug-ins to GimpIntComboBox. 2004-04-20 Sven Neumann * plug-ins/common/iwarp.c (iwarp_get_pixel): check tile != NULL before unrefing it. Fixes bug #140554; merged from stable branch. 2004-04-20 Sven Neumann * app/widgets/gimpenumcombobox.c: added more sanity checks. * libgimpwidgets/gimpintcombobox.[ch]: added another GimpIntComboBox constructor: gimp_int_combo_box_new_array(). * plug-ins/Lighting/lighting_ui.c * plug-ins/MapObject/mapobject_ui.c * plug-ins/common/CML_explorer.c: ported to GimpIntComboBox. 2004-04-20 Sven Neumann * libgimpwidgets/Makefile.am * libgimpwidgets/gimpwidgets.h * libgimpwidgets/gimpwidgetstypes.h * libgimpwidgets/gimpintcombobox.[ch]: added new widget GimpIntComboBox, a GtkComboBox with a simple list store to hold a label and an associated integer value. This is going to replace gimp_int_option_menu. * plug-ins/common/jpeg.c * plug-ins/print/gimp_main_window.c: ported these two plug-ins to the newly added widget. 2004-04-20 Sven Neumann * plug-ins/gfig/gfig.c: removed unused return locations for menu item pointers. 2004-04-19 Sven Neumann * configure.in: set gimp_plugin_version, gimp_sysconf_version and gimp_data_version to 2.1 so that the development version is clearly separated from stable gimp 2.0. 2004-04-19 Michael Natterer * menus/Makefile.am * menus/image-menu.xml * menus/tool-options-menu.xml: more menus. 2004-04-19 Sven Neumann * app/widgets/gimpactiongroup.c * app/widgets/gimpenumcombobox.c * app/widgets/gimpenumstore.c: fixed inline docs. * app/widgets/gimpenumaction.c: fixed property declaration. 2004-04-19 Michael Natterer * app/gui/colormap-editor-commands.[ch] * app/gui/debug-commands.[ch] * app/gui/dockable-commands.[ch] * app/gui/error-console-commands.[ch] * app/gui/file-commands.[ch] * app/gui/gradient-editor-commands.[ch] * app/gui/help-commands.[ch] * app/gui/qmask-commands.[ch] * app/gui/tool-options-commands.[ch]: removed "guint action" parameter from all callbacks which don't need it. 2004-04-19 Sven Neumann * menus/Makefile.am * menus/gtkuimanager.dtd: added a DTD (basically copied from the GTK+ API docs). Added a "validate" rule that allows to easily validate the XML files. * menus/*.xml: added a DOCTYPE declaration that refers to the newly added DTD. * app/widgets/gimpenumstore.[ch]: * app/widgets/gimpenumcombobox.c: documented the new API. 2004-04-19 Michael Natterer * app/actions/Makefile.am * app/actions/actions-types.h: oops, forgot to commit this one. 2004-04-19 Michael Natterer * menus/Makefile.am * menus/toolbox-menu.xml: added the toolbox menu. 2004-04-19 Michael Natterer More GtkAction stuff (still unused): * configure.in: added new directories menus/ and app/actions/ * Makefile.am: build menus/ * menus/.cvsignore * menus/Makefile.am * menus/*-menu.xml: new files: XML menu descriptions for each menu which is now defined in gui/*-menu.c. * app/widgets/widgets-types.h: some typedefs for GimpActionGroup. * app/widgets/gimpactiongroup.[ch]: added a "Gimp" construct-only property. Added APIs to set actions visible/sensitive/active and an unimplemented stub for setting the action's color. * app/Makefile.am: build actions/ and link libappactions.a * app/actions/.cvsignore * app/actions/Makefile.am * app/actions/*-actions.[ch]: new files: GtkActions for each *-commands.c file in gui/. Ported all "update" functions from the *-menu.c files. (everything completely unused, untested and partly #if 0'ed) * app/core/gimpimage.[ch]: for reasons of (action-) symmetry, added API to raise/lower channels/vectors to top/bottom. * app/gui/channels-commands.[ch] * app/gui/vectors-commands.[ch]: added callbacks for the new to top/bottom functions. * app/gui/Makefile.am * app/gui/dockable-commands.[ch]: new files split out of dialogs-commands.[ch]. * app/gui/dialogs-commands.[ch] * app/gui/dialogs-menu.c: changed accordingly. * app/gui/edit-commands.[ch]: added edit_paste_into_cmd_callback() and remove usage of "guint action". * app/gui/image-menu.c: changed accordingly. * app/gui/palette-editor-commands.[ch]: split +palette_editor_new_color_cmd_callback() into separate callbacks for adding from FG and BG. * app/gui/palette-editor-menu.c: changed accordingly. 2004-04-19 Henrik Brix Andersen * plug-ins/script-fu/scripts/gimp-headers.scm * plug-ins/script-fu/scripts/gimp-labels.scm: applied a patch from William Skaggs which changes the sub menu title for the gimp web theme to classic.gimp.org. Fixes bug #137036. 2004-04-19 Sven Neumann * app/widgets/gimpdrawabletreeview.c: removed unused includes. 2004-04-19 Sven Neumann * app/widgets/gimppropwidgets.[ch] * app/gui/preferences-dialog.c: replaced gimp_prop_boolean_option_menu_new() with gimp_prop_boolean_combo_box_new(). 2004-04-19 Sven Neumann * app/widgets/gimpenumstore.[ch]: avoid unnecessary casts. * app/widgets/gimpenumcombobox.[ch]: added an API that inserts a GtkTreeModelFilter to make items invisible. This is a kludge to workaround bug #135875. * app/tools/gimpcurvestool.c * app/tools/gimplevelstool.c * app/widgets/gimphistogrameditor.c: use the new function to hide channels that are not available. 2004-04-18 Henrik Brix Andersen * app/widgets/gimptemplateeditor.c (gimp_template_editor_constructor): use g_signal_connect_object() instead of g_signal_connect(). Fixes bug #140315. 2004-04-18 Pedro Gimeno * plug-ins/common/gauss_rle.c (gauss_rle): Oops, fixed my fix. 2004-04-18 Pedro Gimeno * plug-ins/common/gauss_iir.c: Change tabs to spaces all over the file, in preparation for other changes. Minor cleanup. * plug-ins/common/gauss_rle.c (gauss_rle): Plug a leak with the returned value from make_curve(). * plug-ins/common/tga.c (load_image): Fix a condition which was preventing GRAYA images from loading. 2004-04-18 Sven Neumann * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpenummenu.[ch]: removed GimpEnumMenu. * app/widgets/gimpenumwidgets.[ch]: moved widget constructors that don't use GimpEnumMenu from gimpenummenu.[ch] to these new files. * app/widgets/gimpenumcombobox.[ch]: added a GtkComboBox widget using GimpEnumStore; replaces GimpEnumMenu. * app/widgets/gimpenumstore.[ch]: added new function gimp_enum_store_lookup_by_value(). * app/widgets/gimppropwidgets.[ch]: replaced gimp_prop_enum_option_menu_new() with gimp_prop_enum_combo_box_new(). * app/gui/brush-select.[ch] * app/gui/convert-dialog.c * app/gui/layers-commands.c * app/gui/preferences-dialog.c * app/gui/resize-dialog.c * app/tools/gimpblendoptions.c * app/tools/gimpcolorbalancetool.c * app/tools/gimpcroptool.c * app/tools/gimpcurvestool.c * app/tools/gimplevelstool.c * app/tools/gimpmagnifytool.c * app/tools/gimppaintoptions-gui.c * app/tools/gimpselectionoptions.c * app/tools/gimptransformoptions.c * app/widgets/gimpcolorframe.c * app/widgets/gimpeditor.c * app/widgets/gimpgrideditor.c * app/widgets/gimphistogrameditor.c * app/widgets/gimpstrokeeditor.c * app/widgets/gimptemplateeditor.c * app/widgets/gimptexteditor.c: ported to GimpEnumComboBox. 2004-04-18 Sven Neumann * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpenumstore.[ch]: added (yet unused) GimpEnumStore, a GtkListStore for enum values. 2004-04-18 Sven Neumann * plug-ins/print/gimp_main_window.c: replaced wrong use of gimp_option_menu with gimp_int_option_menu. 2004-04-18 Sven Neumann * plug-ins/script-fu/script-fu-scripts.c: use a GtkComboBox for SF-OPTION. 2004-04-18 Sven Neumann * plug-ins/winicon/icodialog.c * plug-ins/winicon/icosave.c: ported GtkOptionMenu to GtkComboBox. 2004-04-17 Sven Neumann * app/widgets/gimpwidgets-constructors.[ch]: s/GtkSignalFunc/GCallback/ 2004-04-17 Henrik Brix Andersen * app/tools/gimphuesaturationtool.c (gimp_hue_saturation_tool_dialog): resolved conflicting mnemonic. Fixes bug #139868. 2004-04-17 Henrik Brix Andersen * plug-ins/common/jpeg.c (save_dialog): live preview doesn't modify the undo history of the image anymore, label changed accordingly. Fixes bug #140296. 2004-04-16 Pedro Gimeno * plug-ins/common/tile.c (tile): changed a call to gimp_image_undo_enable to _undo_disable which was obviously the intention of the author. Added a call to gimp_drawable_update to get the previews refreshed. 2004-04-16 Sven Neumann * app/tools/gimpcolorpickertool.c * app/tools/gimpmeasuretool.c: don't use gtk_window_present() to raise the tool dialog since it also moves the focus away from the image window. Fixes the problem described in bug #139349. 2004-04-16 Sven Neumann * app/tools/gimpcroptool.c: some code cleanup that I forgot to do when applying the patch. 2004-04-16 Sven Neumann * plug-ins/helpbrowser/dialog.c (browser_dialog_load): present the help browser window. 2004-04-16 Sven Neumann * plug-ins/helpbrowser/dialog.c: use a GtkComboBox instead of GtkCombo and keep the history in a GtkListStore. 2004-04-16 Michael Natterer * app/core/gimpmarshal.list: new marshaller VOID:STRING * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpactiongroup.[ch] * app/widgets/gimpenumaction.[ch] * app/widgets/gimpstringaction.[ch]: added some completely unused GtkAction infrastructure. 2004-04-15 Manish Singh * tools/Makefile.am * app/Makefile.am * configure.in: app, tools, and user dir bumped to version 2.1 names. * app/text/gimpfontlist.c: since we now depend on pango 1.4, we can use pango_fc_font_description_from_pattern() instead of our cut-n-paste function, gimp_font_list_font_desc_from_pattern(). 2004-04-15 Tor Lillqvist * app/plug-in/plug-in-message.c (plug_in_handle_proc_install) * app/plug-in/plug-in-proc.h (struct _PlugInProcDef) * app/plug-in/plug-in-rc.c (plug_in_rc_write) * app/plug-in/plug-ins.c (plug_ins_init): Make PDB procedures (including their menu entries) installed during a plug-ins init() phase show up. Add a flag to PlugInProcDef that tells whether the proc was installed during the init() phase. Such procs aren't saved to the pluginrc. Move the code that initializes plug-ins that need initialization earlier, before the procs are added to the PDB and menus are built. Fixes bug #139969. 2004-04-16 Sven Neumann * plug-ins/common/Makefile.am * plug-ins/common/plugin-defs.pl * plug-ins/common/AlienMap.c: removed the AlienMap plug-in since AlienMap2 duplicates its functionality. * plug-ins/common/AlienMap2.c: applied patch from William Skaggs with a couple of user interface improvements (bug #140079). 2004-04-15 Tor Lillqvist * libgimpthumb/Makefile.am: For Win32, install gimpthumb.def, like the .def files of the other libgimp* libs. * app/Makefile.am (INCLUDES): Add PANGOFT2_CFLAGS. * gimp-zip.in: Put also libgimpthumb in the developer package. 2004-04-15 Sven Neumann * plug-ins/winicon/icodialog.c: fixed gtk+ includes, added a warning that deprecated widgets are being used. 2004-04-15 Sven Neumann * configure.in * plug-ins/Makefile.am * plug-ins/winicon/Makefile.am * plug-ins/winicon/icodialog.[ch] * plug-ins/winicon/icoload.[ch] * plug-ins/winicon/icosave.[ch] * plug-ins/winicon/main.[ch]: added plug-in to load and save Windows icon files. Plug-in written by Christian Kreibich, port to GIMP-2.0 API by Gregor Riepl, massive code cleanup by me. Fixes bug #139160. 2004-04-15 Michael Natterer * app/widgets/gimpdnd.c (gimp_dnd_data_source_add) (gimp_dnd_data_source_remove): use the new dynamic GtkTargetList based API for changing the widget's drag source types. * app/widgets/gimpdocumentview.c (gimp_document_view_new): simply call gimp_dnd_file_source_add() instead of duplicating the whole GtkTargetEntry array insanity just for adding one source type. 2004-04-15 Michael Natterer * plug-ins/FractalExplorer/Dialogs.c * plug-ins/flame/flame.c * plug-ins/gfig/gfig.c: first plug-ins ported to GtkFileChooser. 2004-04-15 Michael Natterer * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell.c * app/widgets/gimpcontainertreeview.c: removed runtime version checks and workarounds for bugs which are fixed in GTK+ 2.4. * app/widgets/gimpfiledialog.c (gimp_file_dialog_selection_changed): added runtime check for GTK+ 2.4.1 and work around GtkFileChooser's missing "update_preview" functionality for multiple selections if the dependency is not met. * app/widgets/gimpwidgets-utils.c (gimp_menu_position) (gimp_menu_button_position): call gtk_menu_set_monitor() until bug #139187 is fixed. 2004-04-15 Michael Natterer * app/widgets/gimpfiledialog.[ch]: derive it from GtkFileChooser instead of GtkFileSelection. * app/gui/file-dialog-utils.c * app/gui/file-open-dialog.c * app/gui/file-save-dialog.c * app/widgets/gimpthumbbox.c: changed accordingly. * app/gui/gradients-commands.c * app/gui/vectors-commands.c * app/tools/gimpimagemaptool.c * app/widgets/gimperrorconsole.c * app/widgets/gimptexteditor.c * libgimpwidgets/gimpfileentry.c: use file choosers instead of file selectors. 2004-04-15 Michael Natterer * configure.in: depend on glib 2.4.0, gtk+ 2.4.0, pangoft2 1.4.0 * app/sanity.c: changed accordingly. 2004-04-15 Sven Neumann * app/tools/gimpcropoptions.[ch] * app/tools/gimpcroptool.[ch]: applied a patch from Jordi Gay that allows to keep the aspect ratio fixed. 2004-04-15 Michael Natterer * app/core/gimplayermask.c (gimp_layer_mask_class_init): set translate_desc to "Move Layer Mask". * app/tools/gimpeditselectiontool.c: take the undo desc from the moved item's class instead of duplicating all strings here. 2004-04-15 Sven Neumann * app/core/gimppalette-import.[ch] * app/gui/palette-import-dialog.c: added palette import from RIFF palette files based on a patch from ÉRDI Gergõ (bug #129788). 2004-04-15 Michael Natterer * app/xcf/xcf.c (xcf_save_invoker) (xcf_load_invoker): forgot to add context parameters to this non-generated PDB invokers. Fixes XCF loading/saving. 2004-04-15 Michael Natterer * app/core/gimpitem.[ch]: added "const gchar *stroke_desc" to the GimpItemClass struct and always push an undo group around GimpItem::stroke(). * app/core/gimpchannel.c * app/core/gimpselection.c * app/vectors/gimpvectors.c: set the stroke_desc accordingly and don't push undo groups. * app/text/gimptextlayer.c (gimp_text_layer_class_init): set all of GimpItemClass' undo_descs. * app/text/gimptextlayer-transform.c: don't push undo groups here. 2004-04-15 Sven Neumann * libgimpcolor/gimpcolorspace.c (gimp_rgb_to_hsv): applied patch from Marco Munari that removes a redundant "if" (bug #133540). 2004-04-15 Sven Neumann * plug-ins/ifscompose/ifscompose.c: applied patch from Yeti that adds spinbuttons instead of simple text entries (bug #138132). 2004-04-15 Sven Neumann * plug-ins/common/Makefile.am * plug-ins/common/plugin-defs.pl * plug-ins/common/gicon.c: removed the GIcon plug-in (addresses one aspect of bug #139160). 2004-04-15 Michael Natterer Context cleanup continued: * app/core/gimpitem.[ch]: added context parameter to GimpItem::stroke(). * app/core/gimpchannel.c (gimp_channel_stroke) * app/vectors/gimpvectors.c (gimp_vectors_stroke): use it to get default values from instead of gimp_get_user_context(). * app/core/gimpselection.c * app/gui/stroke-dialog.c * tools/pdbgen/pdb/edit.pdb * tools/pdbgen/pdb/paths.pdb: changed accordingly. * app/pdb/edit_cmds.c * app/pdb/paths_cmds.c: regenerated. * app/plug-in/plug-in.[ch]: added GimpContext member to the PlugIn struct. Added context parameter to plug_in_new(), plug_in_call_query() and plug_in_call_init(). * app/plug-in/plug-in-run.[ch]: added context parameters to plug_in_run() and plug_in_repeat(). * app/gui/plug-in-commands.c * app/gui/vectors-commands.c * app/pdb/procedural_db.c * app/widgets/gimphelp.c: pass a context to plug_in_run() and plug_in_repeat(). * app/plug-in/plug-in-message.c (plug_in_handle_proc_run): call procedures with the plug-in's context. * app/plug-in/plug-ins.c: use a temporary context for running the plug-ins' query() and init() functions. Use the same context for running automatic extensions. This temporarily separates the main Script-Fu extension from the user context (i.e. scripts have no way of setting/getting the global FG, BG, brush etc.). 2004-04-15 Sven Neumann * NEWS * README: mention that this is the development branch. 2004-04-15 Sven Neumann * app/paint-funcs/paint-funcs.[ch]: * app/paint-funcs/paint-funcs-generic.h: header cleanup, added some const qualifiers, converted tabs to spaces. Fixes bug #140115 for the HEAD branch. 2004-04-15 Michael Natterer Get rid of the "current_context" which was in fact just a bunch of global variables. Instead, pass the needed context all the way from the GUI and the PDB to the core. This is a prerequisite for macro recording and generally helps separating the various subsystems from each other. Work in progress... * app/core/gimp.[ch]: removed member "current_context" and gimp_[get|set]_current_context(). * app/core/gimp-edit.[ch] * app/core/gimpdrawable-blend.[ch] * app/core/gimpdrawable-bucket-fill.[ch] * app/core/gimpdrawable-offset.[ch] * app/core/gimpdrawable-transform.[ch] * app/core/gimpimage-crop.[ch] * app/core/gimpimage-flip.[ch] * app/core/gimpimage-merge.[ch] * app/core/gimpimage-resize.[ch] * app/core/gimpimage-rotate.[ch] * app/core/gimpimage.[ch] * app/core/gimpimagefile.[ch] * app/core/gimpitem-linked.[ch] * app/core/gimpitem.[ch] * app/core/gimplayer.[ch] * app/core/gimpselection.[ch] * app/core/gimptemplate.[ch] * app/file/file-open.[ch] * app/file/file-save.[ch] * app/pdb/procedural_db.[ch] * app/text/gimptext-compat.[ch] * app/text/gimptextlayer-transform.[ch] * app/gui/brush-select.[ch] * app/gui/font-select.[ch] * app/gui/gradient-select.[ch] * app/gui/palette-select.[ch] * app/gui/pattern-select.[ch]: added tons of "GimpContext *context" parameters and use the passed context instead of gimp_get_current_context(). * app/app_procs.c * app/batch.c * app/core/gimpchannel.c * app/core/gimpdrawable.c * app/paint/gimperaser.c * app/paint/gimppaintbrush.c * app/plug-in/plug-in-message.c * app/plug-in/plug-ins.c * app/text/gimptextlayer.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpcroptool.c * app/tools/gimpeditselectiontool.c * app/tools/gimpfliptool.c * app/tools/gimpinktool.c * app/tools/gimptransformtool.c * app/vectors/gimpvectors.c * app/gui/convert-dialog.c * app/gui/drawable-commands.c * app/gui/edit-commands.c * app/gui/file-commands.c * app/gui/file-new-dialog.c * app/gui/file-open-dialog.c * app/gui/file-save-dialog.c * app/gui/image-commands.c * app/gui/layers-commands.c * app/gui/offset-dialog.c * app/gui/select-commands.c * app/gui/vectors-commands.c * app/widgets/gimpdnd.c * app/widgets/gimpdocumentview.c * app/widgets/gimphelp.c * app/widgets/gimpthumbbox.c: pass gimp_get_user_context() or GIMP_CONTEXT(tool_options) or whatever is the right context to the changed core functions. * tools/pdbgen/app.pl: pass "GimpContext *context" to all generated PDB invokers. * tools/pdbgen/pdb/brush_select.pdb * tools/pdbgen/pdb/brushes.pdb * tools/pdbgen/pdb/drawable.pdb * tools/pdbgen/pdb/edit.pdb * tools/pdbgen/pdb/font_select.pdb * tools/pdbgen/pdb/gradient_select.pdb * tools/pdbgen/pdb/gradients.pdb * tools/pdbgen/pdb/image.pdb * tools/pdbgen/pdb/layer.pdb * tools/pdbgen/pdb/paint_tools.pdb * tools/pdbgen/pdb/palette.pdb * tools/pdbgen/pdb/palette_select.pdb * tools/pdbgen/pdb/palettes.pdb * tools/pdbgen/pdb/paths.pdb * tools/pdbgen/pdb/pattern_select.pdb * tools/pdbgen/pdb/patterns.pdb * tools/pdbgen/pdb/selection.pdb * tools/pdbgen/pdb/text_tool.pdb * tools/pdbgen/pdb/transform_tools.pdb: pass the new context parameter to the changed core functions. * app/pdb/*_cmds.c: regenerated. 2004-04-14 Raphaël Quinet * plug-ins/script-fu/scripts/copy-visible.scm: New version of the script that works on a temporary copy of the image instead of copying the visible layers. Fixes bug #139989. 2004-04-14 Sven Neumann * plug-ins/common/film.c: fixed typo (bug #140039). 2004-04-14 Sven Neumann * configure.in: bumped version to 2.1.0, interface age 0, binary age 0. Changed library versioning to include gimp_minor_version similar to how gtk+ does it. 2004-04-14 Sven Neumann * Made 2.0.1 release. 2004-04-13 Raphaël Quinet * plug-ins/common/mng.c (query, run): Workaround for bug #139947: do not register the plug-in for INDEXED* modes and do not declare that it can handle INDEXED images in gimp_export_image(). This forces a conversion to RGB instead of generating broken indexed images. The generation of correct indexed MNG files is likely to require a newer release of libmng. (mng_data): Set default compression level to 9 instead of 6. 2004-04-13 Sven Neumann * plug-ins/imagemap/imap_cern_parse.c * plug-ins/imagemap/imap_csim_parse.c * plug-ins/imagemap/imap_ncsa_parse.c: regenerated using GNU Bison version 1.875a. Fixes bug #139894. 2004-04-13 Sven Neumann * tools/gimp-remote.c: reverted last change and go back to the solution using fork(). Hopefully fixes bug #139158 this time. 2004-04-13 Sven Neumann * app/core/gimp-utils.[ch] (gimp_get_default_language): added a category parameter to make this function more flexible. * app/text/gimptext.c: changed accordingly. * app/widgets/gimphelp.c (gimp_help): localize the help pages according to the value of LC_MESSAGES. Fixes bug #139917. 2004-04-13 Michael Natterer Moved the calls to floating_sel_relax()/rigor() from various places to two single spots in the core where they are actually needed. Fixes bug #138356 (which was caused by the projection being triggered in the middle of changing the floating selection's size or the size of the drawable it is attached to). This commit effectively removes floating selection fiddling from the core's public API. * app/core/gimpdrawable.[ch] (gimp_drawable_has_floating_sel): new function which returns TRUE if there is a floating selection attached to the drawable. * app/core/gimpdrawable.c (gimp_drawable_translate) (gimp_drawable_set_tiles_full): if the drawable *has* a floating selection, relax/rigor it before/after modifying the drawable. * app/core/gimplayer.c (gimp_layer_translate) (gimp_layer_set_tiles): if the layer *is* the floating selection, relax/rigor it before/after modifying it. * app/core/gimpdrawable-transform.c * app/core/gimpimage-convert.c * app/core/gimpimage-crop.c * app/core/gimpimage-flip.c * app/core/gimpimage-resize.c * app/core/gimpimage-rotate.c * app/core/gimpimage-scale.c * app/gui/layers-commands.c * app/tools/gimpeditselectiontool.c * tools/pdbgen/pdb/layer.pdb: removed calls to floating_sel_rigor()/relax() all over the place. Also removed lots of undo groups which are obsolete now. * app/pdb/layer_cmds.c: regenerated. 2004-04-13 Sven Neumann * plug-ins/imagemap/imap_file.c (do_file_error_dialog): convert the filename to UTF-8 before displaying it. 2004-04-13 Michael Natterer GimpItem undo group cleanup in preparation of fixing bug #138356: * app/core/core-enums.[ch]: renamed LAYER_SCALE and LAYER_RESIZE undo groups to ITEM_SCALE and ITEM_RESIZE. * app/core/gimpitem.[ch]: always push undo groups around GimpItem::translate(), scale(), resize(), flip(), rotate() and transform(). Added the resp. undo_desc strings to GimpItemClass. * app/core/gimpchannel.[ch] * app/core/gimpdrawable.[ch] * app/core/gimplayer.c: removed all undo groups from implementations of the above methods. Removed the undo_desc strings which were moved to GimpItemClass. * app/core/gimpimage-crop.c * app/core/gimpselection.c * app/gui/layers-commands.c * app/vectors/gimpvectors.c * tools/pdbgen/pdb/layer.pdb: changed accordingly. * app/pdb/layer_cmds.c: regenerated. 2004-04-12 Sven Neumann * configure.in: cleaned up the check for Xmu. Include when testing for Xmu.h. Fixes bug #139803. 2004-04-12 Sven Neumann * libgimpmath/Makefile.am: remove test-md5 on make clean. 2004-04-11 Manish Singh * plug-ins/pygimp/plug-ins/py-slice.py: When using a separate dir for images, actually prepend the dir to the img srcs in the html. Allow only horizontal or vertical guides in an image, do not require both. A bit smarter path handling. Addresses most of bug #138714. 2004-04-11 Hans Breuer * app/makefile.msc : build sanity.obj app/text/makefile.msc : gimptextundo.obj app/widgets/makefile.msc : gimppatternfactoryview.obj * plug-ins/common/winclipboard.c : don't call gimp_image_undo_enable() when it's not switched off. Otherwise the undo history would be destroyed with Gimp-Core-CRITICAL **: file gimpimage.c: line 1579: assertion `gimage->undo_freeze_count > 0' failed 2004-04-10 Sven Neumann * app/tools/gimptexttool.c (gimp_text_tool_apply): push an undo group only when it's needed. This resurrects text undo compression that broke when bug #137767 got fixed. 2004-04-10 Sven Neumann * docs/gimp-remote.1.in: updated example URL. 2004-04-10 Pedro Gimeno * app/core/gimpdrawable-transform.c (gimp_drawable_transform_tiles_affine): Applied patch from William Skaggs that addresses bug #120490. * app/sanity.c (sanity_check): Modified the message that reports an old version of Fontconfig in an attempt to make it more informative. 2004-04-10 Sven Neumann * tools/gimp-remote.c (start_new_gimp): reverted the last change and did a different fix that involves closing the X display before starting gimp (bug #139158). 2004-04-09 Manish Singh * plug-ins/common/jpeg.c: Uglier workaround for bug #138357, since the previous one did break error handling. Fixes bug #139571. 2004-04-09 Henrik Brix Andersen * README.i18n: s/14/20/ plus whitespace clean-up. 2004-04-08 Sven Neumann * plug-ins/script-fu/siod-wrapper.c: applied a patch from Kevin Cozens that makes the Script-Fu PDB marshaller handle NULL strings. Some minor code cleanup. Fixes bug #139386. 2004-04-08 Sven Neumann * tools/gimp-remote.c (start_new_gimp): applied a patch from Michael Matz that calls fork() before starting gimp. This is to avoid X server authentification problems (bug #139158). 2004-04-07 Henrik Brix Andersen * configure.in (ALL_LINGUAS): revert addition of "is" until all .po files are there. 2004-04-07 Samúel Jón Gunnarsson * configure.in: Added "is" to ALL_LINGUAS 2004-04-06 Iñaki Larrañaga * configure.in: Added "eu" (Basque) to ALL_LINGUAS. 2004-04-05 Pedro Gimeno * plug-ins/script-fu/scripts/copy-visible.scm: Use gimp-image-get-active-layer/channel instead of the passed drawable for later restoring the initially active layer/channel. Addresses bug #138662. * plug-ins/script-fu/scripts/drop-shadow.scm: Add a call to gimp-image-set-active-layer in order for it to fail early instead of failing with the undo group open in case the drawable is not suitable for applying the effect. 2004-04-05 Michael Natterer * app/core/gimpimage.c (gimp_image_real_mode_changed): update the whole image. * app/display/gimpdisplay-handlers.c: removed obsolete "mode_changed" and "colormap_changed" handlers because GimpImage's default handlers already update the whole image. 2004-04-05 Pedro Gimeno Sanitize rectangle and ellipse selection handling (bug #138237 and bug #138103): * app/tools/gimprectselecttool.h * app/tools/gimprectselecttool.c (GimpRectSelectTool): new member "moved" indicating whether the cursor was moved after the click. (gimp_rect_select_tool_coords_to_integer): New function for consistent conversion of the rectangle FP coords to pixels. (gimp_rect_select_tool_button_press, gimp_rect_select_tool_button_release, gimp_rect_select_tool_motion, gimp_rect_select_tool_draw): use it instead of fiddling with the FP coordinates. Update "moved" and use it to detect whether the selection needs to be cleared. * app/tools/gimpellipseselecttool.c (gimp_ellipse_select_tool_draw): use the new coords_to_integer function. 2004-04-05 Sven Neumann * plug-ins/Lighting/lighting_ui.c: applied the second patch attached to bug #138788 by William Skaggs. Removes some user interface elements that have no corresponding implementation and fixes preview updates. 2004-04-04 Sven Neumann * Makefile.am * NEWS.pre-2-0: moved old NEWS to this new file. * NEWS: list bugs fixed since 2.0.0. 2004-04-04 Sven Neumann * Makefile.am * docs/Makefile.am: don't install gimptool symlinks to gimptool-2.0 and its manpage. gimp.m4 as installed with gimp-1.2 looks for gimptool (bug #139024). 2004-04-04 Sven Neumann * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell-draw.[ch] pass the bounding box of the exposed area to gimp_display_shell_draw_grid() and draw only the relevant part of the grid. Fixes bug #138081. 2004-04-04 Sven Neumann Cache the GC for drawing the grid as suggested in bug #138081: * app/display/gimpdisplayshell.[ch]: added a grid_gc member to GimpDisplayShell. * app/display/gimpdisplayshell-handlers.c (gimp_display_shell_grid_notify_handler) (gimp_display_shell_disconnect): invalidate the grid GC. * app/display/gimpdisplayshell-draw.c (gimp_display_shell_draw_grid): use the cached grid_gc. Also applied the fix that Pedro Gimeno did for bug #138606. 2004-04-04 Sven Neumann * app/core/gimpundo.c (gimp_undo_type_to_name): added a missing call to gettext(). Fixes bug #139000. 2004-04-03 Manish Singh * gimptool-2.0.in: Create any directories in the install path that do not already exist. Fixes bug #138980. * docs/gimptool.1.in: s/dont/don't/g 2004-04-04 Sven Neumann * app/core/gimpimagemap.c (gimp_image_map_apply): do nothing if the selection is empty. Fixes bug #138973. 2004-04-03 Sven Neumann * app/text/gimptextlayer.c (gimp_text_layer_new): create the initial text layer with a size of 1 x 1 since tile_manager_new() does not any longer accept 0 x 0. * app/core/gimpdrawable.c (gimp_drawable_configure): check that width and height are > 0. 2004-04-03 Sven Neumann * plug-ins/Lighting/lighting_main.c * plug-ins/Lighting/lighting_shade.c: applied the first of two patches attached to bug #138788 by William Skaggs. 2004-04-02 Simon Budig * plug-ins/common/whirlpinch.c: set a proper pixelfetcher edge mode for bigger radii. Avoids getting garbage at the image borders. 2004-04-02 Dave Neary * plug-ins/common/jpeg.c: Added .jpe to the list of extensions that the jpeg plug-in recognises. Fixes bug #138776. 2004-04-01 Sven Neumann * app/gui/user-install-dialog.c: unset the bg_pixmap and tweak style colors for all states. Sort of ugly but makes the dialog work better with more obscure themes (bug #138379). 2004-04-01 Sven Neumann * tools/kernelgen.c: updated a comment. 2004-04-01 Michael Natterer * app/core/core-enums.[ch] (enum GimpUndoType): added undo type GIMP_UNDO_TEXT_LAYER_MODIFIED and undo group types GIMP_UNDO_GROUP_DRAWABLE and GIMP_UNDO_GROUP_DRAWABLE_MOD. * app/core/gimpimage-undo-push.[ch]: added new new function gimp_image_undo_push_text_layer_modified() which makes modifications of the text_layer's "modified" boolean undoable. * app/core/gimpdrawable.[ch]: added new virtual function GimpDrawable::push_undo() and moved the actual undo pushing into the default implementation gimp_drawable_real_push_undo(). * app/text/gimptextlayer.c (gimp_text_layer_push_undo): new function. Pushes the text_layer's modified state to the undo stack after upchaining and sets modified to TRUE. (gimp_text_layer_set_tiles): ditto. (gimp_lext_layer_apply_region) (gimp_text_layer_replace_region): removed because their default implementations already call gimp_drawable_push_undo(). (gimp_text_layer_swap_pixels): removed because swap_pixels() is used by undo only and doesn't need to care about the text_layer's modified state. (gimp_text_layer_render): don't set modified to FALSE here because we can't push an undo step here. (gimp_text_layer_set): push the modified state to the undo stack and set it to FALSE here. Also push the layer's tiles if the layer was modified. * app/tools/gimptexttool.c (gimp_text_tool_apply): push "modified" to the undo stack and set it to FALSE here, too. Fixes bug #137767. 2004-03-31 Simon Budig * app/tools/gimptransformtool.c: One really should use braces when mixing additions and multiplication and the operator precedence is not the desired one... I feel stupid... :-) 2004-03-31 Michael Natterer * app/core/gimp-transform-utils.c (gimp_transform_matrix_perspective): make sure 0.0/0.0 results in 1.0, not NaN. * app/core/gimpdrawable-transform.c (gimp_drawable_transform_tiles_affine): instead of returning NULL if the transformation shrinks the tiles completely away, return at least the pixel (or the row or column of pixels) which best covers the sub-pixel area of the transform result: - Changed rounding of the transformed coordinates from RINT() to floor()/ceil() so we don't cut off sub-pixel portions of the transform result. - Force the minimal size if the changed rounding didn't help. Fixes bug #138117. Also added paranoia code which falls back to clip_result if the passed matrix produces NaN coordinates (copied the FINITE() macro from image_cmds.c). 2004-03-30 Sven Neumann * plug-ins/script-fu/scripts/grid-system.scm: define "map" here, the script used to take the definition from alien-glow-arrow.scm or beveled-pattern-arrow.scm. Also added an undo group around all operations. Fixes bug #138524. 2004-03-30 Michael Natterer * app/Makefile.am * app/sanity.[ch]: new files implementing sanity_check() for run-time checking library versions. Added a check for FreeType but disabled it until we figured if and how freetype causes some of the DLL hell bugs. * app/main.c (main): call it and abort if it fails. * app/app_procs.[ch]: added app_gui_abort() so main.c doesn't need to #include "gui/gui.h" * app/gui/gui.[ch] (gui_libs_init): removed library sanity checking. (gui_abort): new function which shows the abort message. 2004-03-30 Michael Natterer * configure.in (ALL_LINGUAS): revert addition of "pa" until all .po files are there. 2004-03-20 Guntupalli Karunakar * configure.in: Added "pa" for Punjabi to ALL_LINGUAS. 2004-03-29 Manish Singh * plug-ins/common/jpeg.c (struct my_error_mgr): Move setjump_buffer to the beginning of the structure, to make sure it is aligned on a 16-byte boundary for ia64, even with icc. Fixes #138357. 2004-03-29 Sven Neumann * app/config/gimpguiconfig.c: changed the default for "help-locales" from NULL to an empty string. Fixes the generated gimprc man-page. * app/config/gimprc-blurbs.h (HELP_LOCALES_BLURB): added missing whitespace. * app/widgets/gimphelp.c: use the user's locale if "help-locales" is NULL or the empty string. * docs/gimprc.5.in * etc/gimprc: regenerated. 2004-03-29 Michael Natterer * app/core/core-enums.[ch] (enum GimpUndoType): added new group GIMP_UNDO_GROUP_FS_REMOVE. * app/core/gimplayer-floating-sel.c (floating_sel_remove): push an undo group. Fixes undo corruption spotted by Pedro Gimeno. 2004-03-29 Michael Natterer * plug-ins/common/guillotine.c (guillotine): Don't just skip guides at the image edges but any guide which is at a position we already remembered. Should catch all instances of bug #138312 this time. 2004-03-28 Sven Neumann * plug-ins/ifscompose/ifscompose.c: applied patch from David Necas that updates the sensitivity of the Delete button and menu entry. Fixes bug #138212. 2004-03-28 Sven Neumann * plug-ins/MapObject/mapobject_main.c: fixed non-interactive call. * plug-ins/script-fu/scripts/spinning-globe.scm: pass -1 as drawable ID for unused drawables. Fixes bug #138253. 2004-03-28 Sven Neumann * app/text/gimpfontlist.c (gimp_font_list_add_font): validate the font name. This should work around the crashes that Windows users were experiencing on startup (bug #132366). The real problem needs to be fixed elsewhere though. 2004-03-28 Michael Natterer * app/core/gimpimage-undo-push.c (undo_pop_layer): when re-adding a layer with mask, don't forget to set layer->mask->removed to FALSE. 2004-03-28 Michael Natterer * app/core/gimpitem.[ch]: added "gboolean removed" to the GimpItem struct. Defaults to FALSE. Set it to TRUE in gimp_item_removed(). Added public function gimp_item_is_removed(). * app/core/gimpimage-undo-push.c (undo_pop_layer) (undo_pop_layer_mask) (undo_pop_channel) (undo_pop_vectors): set it to FALSE manually when re-adding something from the undo stack. * tools/pdbgen/app.pl * tools/pdbgen/pdb.pl: don't allow any operation on items which are removed from the image (and exist on the undo stack only). Fixes bug #138311. * app/pdb/channel_cmds.c * app/pdb/color_cmds.c * app/pdb/drawable_cmds.c * app/pdb/edit_cmds.c * app/pdb/floating_sel_cmds.c * app/pdb/image_cmds.c * app/pdb/layer_cmds.c * app/pdb/paint_tools_cmds.c * app/pdb/parasite_cmds.c * app/pdb/selection_cmds.c * app/pdb/selection_tools_cmds.c * app/pdb/transform_tools_cmds.c: regenerated. 2004-03-28 Sven Neumann * plug-ins/script-fu/scripts/slide.scm: applied a (modified) patch from Nils Philippsen that fixes bug #138310. 2004-03-28 Michael Natterer * plug-ins/common/guillotine.c (guillotine): applied a (modified) patch from Joao S. O. Bueno which removes any guides from the cropped images. Fixes bug #138314. Skip guides which are at the image's edges because the algorithm already assumes that there are always guides at these positions. Fixes bug #138312. 2004-03-27 Tor Lillqvist * plug-ins/help/Makefile.am (AM_LDFLAGS): Use -mwindows on Windows to avoid a console window popping up. 2004-03-26 Manish Singh * tools/pdbgen/app.pl: don't generate code with tabs. * tools/pdbgen/pdb/procedural_db.pdb: convert tabs to spaces in helper function declaration. * app/pdb/procedural_db.c: convert tabs to spaces. * app/pdb/*.c: regenerated, no code changes, only tabs->spaces. 2004-03-26 Manish Singh * tools/pdbgen/app.pl: kill whitespace in blank lines. * app/pdb/*.c: regenerated, no code changes, only whitespace. 2004-03-26 Michael Natterer * app/core/gimpdrawable-transform.c (gimp_drawable_transform_tiles_affine): return NULL tiles if the matrix would transform the drawable into nothing. Fixes the core-crashing part of bug #138117 and makes the script fail with an execution error. 2004-03-25 Sven Neumann * README: mention the gimp-perl pre-release and provide a link. 2004-03-25 Michael Natterer * app/base/tile-manager.c (tile_manager_new): g_return_if_fail() on width, height or bpp <= 0. Doesn't fix anything but badly warns (and helps debugging) on bug #138117. 2004-03-25 Michael Natterer * app/tools/gimpvectortool.c (gimp_vector_tool_button_release): fixed condition which triggers the path tool's undo hack. Fixes bug #138086. Also g_object_unref() the undo step. Removed trailing whitespace. 2004-03-25 Manish Singh * libgimp/gimp.c * app/plug-in/plug-in-shm.c: close the shm_open fd in the POSIX shm case. We were leaking an fd here. * app/tools/gimptexttool.c (gimp_text_tool_connect): remove unnecessary G_OBJECT() cast in g_object_set() call. 2004-03-23 Michael Natterer * autogen.sh: be verbose about AUTOGEN_CONFIGURE_ARGS in the message that is printed if no arguments were passed. 2004-03-23 Sven Neumann Michael Natterer * Made 2.0.0 release.