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.