2002-03-20 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in.[ch]: badly chopped into the new files below.
Pass around much more "PlugIn" and "Gimp" pointers instead of
using "current_plug_in" and "the_gimp". Needs much more hacking
though... :(
* app/plug-in/Makefile.am
* app/plug-in/plug-in-def.[ch]
* app/plug-in/plug-in-params.[ch]
* app/plug-in/plug-in-progress.[ch]
* app/plug-in/plug-ins.[ch]: new files.
* app/gui/Makefile.am
* app/gui/plug-in-commands.[ch]
* app/gui/plug-in-menus.[ch]: ditto.
* app/plug-in/plug-in-rc.c
* app/plug-in/plug-in-types.h: changed accordingly.
* app/pdb/procedural_db.c: changed procedural_db_destroy_args()
so it can be used from plug_in_args_destroy(). Fixed a parasite
memory leak (or introduced a new SEGV, we'll see...).
* app/display/Makefile.am: another "truly ugly hack" until the
plug-in menu stuff is chopped even more...
* app/gui/commands.[ch]: removed filters_repeat_cmd_callback() here,
it is now in plug-in-commands.[ch].
* app/widgets/gimpitemfactory.[ch]: removed all gimp_menu_item_*()
hacks. We have a GimpItemFactory available in most cases we used
to call this functions, and can use gimp_item_factors_from_path()
in all other cases. The item factory stuff needs more work
anyway...
* app/app_procs.c
* app/gimphelp.c
* app/display/gimpdisplayshell.c
* app/gui/file-dialog-utils.c
* app/gui/file-open-dialog.[ch]
* app/gui/file-save-dialog.[ch]
* app/gui/gui.c
* app/gui/menus.c
* app/gui/paths-dialog.c
* app/xcf/xcf.c
* tools/pdbgen/pdb/fileops.pdb
* tools/pdbgen/pdb/help.pdb
* tools/pdbgen/pdb/plug_in.pdb: changed accordingly (includes,
renamed functions and gimp_menu_item_*() removal).
* app/pdb/fileops_cmds.c
* app/pdb/help_cmds.c
* app/pdb/plug_in_cmds.c: regenerated.
2002-03-20 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.[ch]: pass an additional "Gimp"
pointer to gimp_display_shell_set_menu_sensitivity() so we can
correctly set the state of some items even without a display.
Set the sensitivity of much more items. Never set submenus
insensitive so the user can always browse the whole menu
(according to the GNOME HIG).
* app/image_map.c
* app/display/gimpdisplay.c
* app/gui/gui.c: changed accordingly.
* app/gui/view-commands.[ch]: added a callback for the display
filters dialog because display releted dialogs are going to
be handled different soon.
* app/gui/menus.c: use the new callback.
2002-03-20 Sven Neumann <sven@gimp.org>
* app/core/core-enums.[ch]: registered GimpConvertDitherType.
* app/gui/convert-dialog.c: simplified a lot by using enums.
* app/tools/paint_options.c: include gimpenummenu.h.
2002-03-20 Michael Natterer <mitch@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/stock-menu-selection-to-channel.png: one
more icon from Jimmac.
* libgimpwidgets/gimpstock.[ch]
* themes/Default/imagerc: add it.
* app/gui/menus.c: use it.
2002-03-20 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdockbook.c: fixed a bug i introduced when making
the tab_height configurable: need to connect the signals of the
new tab_widget created in style_set(), otherwise we get the
functionality of a plain GtkNotebook...
* app/widgets/gimpfontselection.c: make the minimal width of the
entry even smaller so users can choose to put it in a small dock.
* app/widgets/gimppaletteeditor.c: fixed "Zoom All" zoom ratio
calculation.
2002-03-19 Sven Neumann <sven@gimp.org>
* app/base/Makefile.am
* app/base/base-enums.c
* app/core/Makefile.am
* app/core/core-enums.c
* app/widgets/Makefile.am
* app/widgets/widgets-enums.c: purely cosmetic change.
* app/paint/Makefile.am
* app/paint/paint-enums.[ch]: generate paint-enums.c with registered
enums. Skip GIMP_BRUSH_PRESSURE and GIMP_CUSTOM_CONVOLVE so they
don't get exported to libgimp and are not registered as enum values.
* tools/pdbgen/pdb/paint_tools.pdb: removed special casing of
GimpBrushApplicationMode and GimpConvolveType since the forbidden
values are now skipped anyway.
* libgimp/gimpcompat.h: removed compat defines for the forbidden
enum values. They shouldn't have been used.
* app/tools/Makefile.am
* app/tools/tools-enums.[ch]: generate tools-enums.c with registered
enums.
* libgimp/gimpenums.h
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: regenerated.
* app/paint/gimpclone.[ch]
* app/paint/gimpconvolve.h
* app/paint/gimpdodgeburn.h
* app/tools/gimpclonetool.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpcroptool.[ch]
* app/tools/gimpdodgeburntool.c
* app/tools/paint_options.c: changed accordingly. Added more enum
radio frames and enum option menus.
2002-03-19 Michael Natterer <mitch@gimp.org>
* app/gui/menus.c: Oops, GimpContainer's "removed" signal has more
parameters than "add" and "remove", which is quite relevant now
that we use the data pointer passed to the callback :)
Pointed out by Dave Neary on #gimp.
2002-03-19 Michael Natterer <mitch@gimp.org>
* app/tools/tools-types.h: added enum GimpMotionMode which can be
one of { EXACT, HINT, COMPRESS }.
* app/tools/gimptool.[ch]: removed tool->perfectmouse and added
tool->motion_mode. Default to GIMP_MOTION_MODE_HINT.
* app/tools/gimpinktool.c
* app/tools/gimppainttool.c: set GIMP_MOTION_MODE_EXACT.
* app/tools/gimpfuzzyselecttool.c: set GIMP_MOTION_MODE_COMPRESS.
* app/tools/gimpeditselectiontool.[ch]: ditto. Removed
gtkutil_compress_motion().
* app/display/gimpdisplayshell-callbacks.c: look at
active_tool->motion_mode and perform pointer grabbing and motion
compression accordingly. Also, don't request motion hints from
XInput devices because the wacom driver sends crap (fixes#6901).
This change also brings hints and ordinary motions back in sync
albeit compression, so IMHO it also fixes#68542 and #22375, but
this needs further investigation.
2002-03-18 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-enums.[ch]: use gimp_mkenums to create
widgets-enums.c, added it to CVS since it contains translatable
messages now.
* app/widgets/gimpenummenu.[ch]: added new functions
gimp_enum_radio_box_new() and gimp_enum_radio_frame_new() that create
groups of radio buttons out of enum types.
* app/core/core-enums.[ch]: registered more enums.
* app/paint/gimpdodgeburn.h
* app/tools/gimpbucketfilltool.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimpmagnifytool.c
* app/tools/transform_options.[ch]: use gimp_enum_radio_frame_new()
for some tool options.
2002-03-18 Michael Natterer <mitch@gimp.org>
* app/paint/gimppaintoptions.h
* app/tools/paint_options.c: put the "Fade Out" and "Gradient" stuff
into separate frames with togglebutton titles.
* app/widgets/gimpchannellistview.c: use
gimp_image_mask_select_channel() instead of reinventing the wheel.
* app/widgets/gimpvectorslistview.c: removed unneeded inclusion
of "core/gimpimage-mask.h".
* app/widgets/gimpcolormapeditor.c: set the hex entry to 7 digits,
some cleanup.
* app/widgets/gimppaletteeditor.c: set the vertical scrollbar
to GTK_POLICY_AUTOMATIC.
Added support for configuring some more GUI dimensions using
widget class style properties:
* app/widgets/gimpdock.c: made "separator_height" work correctly.
* app/widgets/gimpdockbook.c: added "tab_height".
* app/widgets/gimpeditor.c: added "button_icon_size".
* app/widgets/gimpimagedock.c: added "minimal_width".
* app/widgets/gimptoolbox.c: added "tool_icon_size".
* themes/Default/gtkrc: set the properties to their default values
for documentation.
* etc/gtkrc_user: added a (commented out) example style which makes
lots of things a smaller.
2002-03-17 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpwidgets.[ch]: new function to set the sensitivity
of an option_menu.
* app/base/base-enums.[ch]: register and describe GimpHistogramChannel.
* app/core/Makefile.am
* app/core/core-enums.[ch]: build with gimp-mkenums, added core-enums.c
to CVS, added descriptions for GimpPreviewSize.
* app/display/Makefile.am
* app/display/display-enums.[ch]: build with gimp-mkenums, added
display-enums.c to CVS, added descriptions for GimpCursorMode.
* app/gui/preferences-dialog.c: more GimpEnumMenus.
* app/tools/gimpcurvestool.c
* app/tools/gimphistogramtool.c
* app/tools/gimplevelstool.c: use a GimpEnumMenu for the Channel menu.
Allow alpha channel in HistogramView. These tools needs more work...
2002-03-17 Sven Neumann <sven@gimp.org>
* tools/gimp-mkenums: allowing NULL for names was a bad idea...
* app/base/base-enums.[ch]: added more descriptions.
2002-03-17 Sven Neumann <sven@gimp.org>
* configure.in: define GIMP_MKENUMS for use in Makefile.am.
* tools/Makefile.am
* tools/gimp-mkenums: a modified version of glib-mkenums that parses
literal descriptions for enum values out of the header file.
* app/base/Makefile.am
* app/base/base-enums.h: added descriptions for the InterpolationType.
* app/base/base-enums.c: added to CVS although it is generated since
translatable messages are extracted from this file and translators
shouldn't need to build stuff.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpenummenu.[ch]: new widget to create a GtkMenu or a
GtkOptionMenu directly from a registered enum.
* app/gui/preferences-dialog.c
* app/gui/resize-dialog.c
* app/tools/transform_options.c: use gimp_enum_option_menu_new() for
the Interpolation menus.
2002-03-17 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcolormapeditor.[ch]: namespaceified and cleaned
up a lot. Removed the menu code.
* app/gui/menus.c: added a "<ColormapEditor>" item factory...
* app/gui/Makefile.am
* app/gui/colormap-editor-commands.[ch]: ...and callbacks for the
new factory.
* app/gui/menus.c: Cleaned up a lot. Removed most static variables.
Enabled the menu debugging code again. Moved all debug and test
entries to <Toolbox>/File/Debug. Added an "Open Recent" submenu
to <Image>/File because it was a one-liner after the cleanup...
* app/widgets/gimpeditor.c: create the icons in GTK_ICON_SIZE_MENU.
Need to make this configurable using a style property...
2002-03-16 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-filter-dialog.c: treeviewized
and undeprecated.
* app/widgets/Makefile.am
* app/widgets/gimpconstrainedhwrapbox.[ch]: removed this hack.
* app/widgets/gimpcontainergridview.[ch]: added "rows" and
"columns" fields, connect to the viewport's "size_allocate" signal
and set the size_request of the wrap_box in the callback.
2002-03-15 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.[ch]: renamed shell->cd_list to
shell->filters and shell->cd_ui to shell->filters_dialog.
* app/display/gimpdisplayshell-filter-dialog.c
* app/display/gimpdisplayshell-filter.c
* app/display/gimpdisplayshell-render.c
* app/gui/dialogs-constructors.c: changed accordingly.
* app/display/gimpdisplayshell-filter-dialog.c: cleaned up the GUI.
Still deprecated GtkCLists around...
* app/widgets/gimpeditor.[ch]: added gimp_editor_new().
* app/gui/image-commands.[ch]
* app/gui/menus.c: added "<Image>/Image/Crop Image" because i was
sick of clicking 20 times just to crop to the current selection.
* themes/Default/gtkrc: removed "gimp-dock-style" and changed
"gimp-gtk-icons" to "gimp-default-style". Set our widget class
style property defaults there.
2002-03-15 Sven Neumann <sven@gimp.org>
* plug-ins/common/colorify.c: applied a patch from Maurits Rijk
<lpeek.mrijk@consunet.nl> that gives a nice speedup (#74563).
2002-03-14 Manish Singh <yosh@gimp.org>
* app/tools/gimpfuzzyselecttool.c: add missing support for
anchoring a selection (bugfix ported from stable branch)
2002-03-14 Michael Natterer <mitch@gimp.org>
Re-enabled the display filters. They work exactly the same way
as before except for the color_area pseudo-display. More stuff
to come...
* app/display/Makefile.am: build them again.
* app/display/gimpdisplayshell-filter-dialog.[ch]
* app/display/gimpdisplayshell-filter.[ch]: changed to the new
namespace, work on GimpDisplayShell instead of GimpDisplay.
* app/display/gimpdisplayshell-render.c
* app/display/gimpdisplayshell.[ch]: changed accordingly.
* app/gui/dialogs-constructors.c: enabled the dialog constructor.
* app/gui/gui.c: call the init() function.
* app/gui/menus.c: enabled the menu entry, but moved it to
<Image>/View. Moved "Undo History..." to <Image>/Image.
* modules/Makefile.am: build and install the modules.
* modules/cdisplay_gamma.c
* modules/cdisplay_highcontrast.c: made them compile with minimal
changes.
Unrelated:
* app/undo_history.c: connect to the image's "disconnect", not
"destroy" signal.
* app/tools/gimpselectiontool.c: mask out the irrelevant parts of
the "state" passed to the modifier_key() func, so tool_options
button toggling works with other modifiers (e.g. num_lock)
pressed.
2002-03-14 Michael Natterer <mitch@gimp.org>
* app/core/gimptoolinfo.c: g_strdup() the stock_id passed to
gimp_tool_info_new() because the caller's memory may disappear
after registering the tool (tool modules).
Made a GimpDock out of the toolbox:
* app/gui/Makefile.am
* app/gui/color-area.[ch]
* app/gui/indicator-area.[ch]
* app/gui/toolbox.[ch]: removed...
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimptoolbox-color-area.[ch]
* app/widgets/gimptoolbox-indicator-area.[ch]
* app/widgets/gimptoolbox.[ch]: ...and added here.
* app/widgets/gimpdock.[ch]: don't set a minimal width. Added a
"destroy_if_empty" boolean so we can prevent destruction of the
toolbox if it's last dockable is removed. Added gimp_dock_construct()
which is called from GimpImageDock and GimpToolbox.
* app/widgets/gimpimagedock.[ch]: Default to not showing the image
menu, set a minimal width here, misc. minor cleanup.
* app/widgets/gimpdockbook.c: some more GIMP_IS_IMAGE_DOCK()
checks, fixed dnd widget creation.
* app/widgets/gimpdialogfactory.[ch]: changed
gimp_dialog_factories_toggle() to take just the toolbox_factory as
parameter. When restoring the session use the created dock's
dialog factory to create dockables, not the the factory we
created the dock from (for the toolbox).
* app/display/gimpdisplayshell-callbacks.c: changed accordingly.
* app/gui/dialogs.[ch]: create an own dialog factory for the toolbox
and set dialogs_toolbox_new() as it's new_dock_func.
* app/gui/dialogs-constructors.[ch]: changed dialogs_toolbox_get()
accordingly.
* app/gui/dialogs-commands.[ch]: added dialogs_show_toolbox(), ckeck
if a dock is really a GimpImageDock before casting.
* app/gui/gui.c
* app/gui/menus.c
* app/widgets/gimppaletteeditor.c: changed accordingly.
* app/gui/color-notebook.c
* app/gui/color-select.c
* app/gui/colormap-dialog.c
* app/gui/palette-editor-commands.c: removed useless inclusion of
"gui/color-area.h".
* themes/Default/gtkrc: set "gimp-dock-style" for GimpToolbox widgets.
2002-03-13 Manish Singh <yosh@gimp.org>
* tools/pdbgen/lib.pl: autogenerated libgimp/gimp_pdb.h
* tools/pdbgen/app.pl: fix a bug in the file open error message
* libgimp/gimp_pdb.h: now generated