2004-01-31 Michael Natterer <mitch@gimp.org>
Use the global <Image> accel_group in all docks except the
toolbox (the latter needs GTK+ 2.4's new menu features).
Addresses bug #119878:
* app/gui/buffers-commands.c
* app/gui/channels-commands.c
* app/gui/data-commands.c
* app/gui/documents-commands.c
* app/gui/drawable-commands.c
* app/gui/edit-commands.c
* app/gui/file-commands.c
* app/gui/gradients-commands.c
* app/gui/image-commands.c
* app/gui/layers-commands.c
* app/gui/plug-in-commands.c
* app/gui/select-commands.c
* app/gui/tool-options-commands.c
* app/gui/tools-commands.c
* app/gui/vectors-commands.c
* app/gui/view-commands.c: changed the various return_if_no_foo()
macros to also accept a GimpDock as user_data.
* app/gui/image-menu.c (image_menu_update): don't update the
display related menu items if they don't exist (see below).
* app/gui/gui.c (gui_display_changed): simplified.
* app/widgets/gimpimagedock.[ch]: create an "<Image>" item_factory
and attach its accel_group to the dock. Destroy all display
related menu items. Destroy the layer stack navigation items
because their default shortcuts interfere with tree and grid view
keybindings. Connect to "image_changed" of the dock's private
context and to "flush" of the image container to update the
item_factory's state.
2004-01-29 Simon Budig <simon@gimp.org>
* app/display/gimpdisplayshell.[ch]: Store the zoom factor as
float, not as a ratio.
* app/display/gimpdisplayshell-scale.[ch]: change the API to
expose the Float instead a weirdly encoded integer. Implement
functions to get a ratio from the scale factor. Implement a set
as presets as discussed on the mailinglist. Changed Zoom->Other
dialog to enable entering a float.
* app/display/gimpdisplayshell-title.c
* app/display/gimpnavigationview.c
* app/gui/image-menu.c
* app/gui/info-window.c
* app/tools/gimpmagnifytool.c: changed accordingly.
* app/core/gimp.[ch]
* app/display/gimpdisplay.[ch]
* app/gui/gui-vtable.c
* app/widgets/widgets-enums.h: Made the various display-creating
functions accept a float for the scale. Introduce a new
GimpZoomType: GIMP_ZOOM_TO. Generally adjust the API to use
floats instead of weird integers.
* app/core/gimp-edit.c
* app/core/gimptemplate.c
* app/display/gimpdisplayshell-callbacks.c
* app/file/file-open.c
* app/gui/image-commands.c
* app/gui/view-commands.[ch]
* tools/pdbgen/pdb/display.pdb
* app/widgets/gimpimageview.c
* app/widgets/gimptoolbox-dnd.c: changed accordingly
* app/pdb/display_cmds.c: regenerated
2003-12-09 Michael Natterer <mitch@gimp.org>
* app/base/tile-manager.c (tile_manager_get_memsize): return a
more exact result.
* app/core/gimpimage-scale.[ch] (gimp_image_scale_check): estimate
the new memsize by separating parts of the image that are constant
from parts that will scale. Also take undo logic into account.
Return the estimated new memsize since it's not trivial to
calculate.
* app/gui/image-commands.c (image_scale_callback): use the memsize
returned by gimp_image_scale_check() for the warning message. Free
allocated strings.
2003-12-09 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.h: changed GimpImageScaleCheckType enum
values to GIMP_IMAGE_SCALE_*.
* app/core/gimpimage-scale.c (gimp_image_scale_check): return
GIMP_IMAGE_SCALE_TOO_BIG only if we are scaling up.
* app/gui/image-commands.c: changed accordingly. Whitespace and
indentation cleanup.
2003-12-08 Dave Neary <bolsh@gimp.org>
* app/core/core-enums.h:
* app/core/gimpimage-scale.[ch]: Added the GimpImageScaleCheckType
enum and used it in gimp_image_scale_check() which used to be
gimp_image_check_scaling().
* app/gui/image_commands.c: Used the above when checking
scaling parameters to display a message if the image is too big
or too small after scaling. Closes bug #21028.
2003-11-14 Manish Singh <yosh@gimp.org>
* libgimpwidgets/gimpwidgets.[ch]: implementedgimp_int_option_menu_new
and gimp_int_radio_group_new, which are the same as
gimp_option_menu_new2 and gimp_radio_group_new2, but they take
integers as values to map instead of gpointers, which avoids casts
in pretty much all uses of it in the tree.
* app/gui/image-commands.c
* app/gui/offset-dialog.c
* app/widgets/gimppropwidgets.c
* app/widgets/gimpwidgets-constructors.c
* libgimpwidgets/gimpmemsizeentry.c
* modules/cdisplay_colorblind.c
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/Lighting/lighting_ui.c
* plug-ins/MapObject/mapobject_ui.c
* plug-ins/common/AlienMap.c
* plug-ins/common/AlienMap2.c
* plug-ins/common/CML_explorer.c
* plug-ins/common/align_layers.c
* plug-ins/common/blinds.c
* plug-ins/common/borderaverage.c
* plug-ins/common/bumpmap.c
* plug-ins/common/curve_bend.c
* plug-ins/common/deinterlace.c
* plug-ins/common/edge.c
* plug-ins/common/emboss.c
* plug-ins/common/fractaltrace.c
* plug-ins/common/gif.c
* plug-ins/common/hot.c
* plug-ins/common/iwarp.c
* plug-ins/common/jigsaw.c
* plug-ins/common/jpeg.c
* plug-ins/common/lic.c
* plug-ins/common/mail.c
* plug-ins/common/max_rgb.c
* plug-ins/common/mblur.c
* plug-ins/common/mng.c
* plug-ins/common/mosaic.c
* plug-ins/common/nlfilt.c
* plug-ins/common/papertile.c
* plug-ins/common/pnm.c
* plug-ins/common/ps.c
* plug-ins/common/psp.c
* plug-ins/common/ripple.c
* plug-ins/common/shift.c
* plug-ins/common/sinus.c
* plug-ins/common/sparkle.c
* plug-ins/common/struc.c
* plug-ins/common/sunras.c
* plug-ins/common/tiff.c
* plug-ins/common/waves.c
* plug-ins/common/wind.c
* plug-ins/fits/fits.c
* plug-ins/flame/flame.c
* plug-ins/gfig/gfig.c
* plug-ins/gimpressionist/color.c
* plug-ins/gimpressionist/orientmap.c
* plug-ins/gimpressionist/placement.c
* plug-ins/maze/maze_face.c
* plug-ins/sgi/sgi.c: Use gimp_int_option_menu_new and
gimp_int_radio_group_new.
* plug-ins/common/CML_explorer.c: make function_graph_new take a
gpointer *data instead of a gpointer data, and properly pass an
int through it.
* plug-ins/common/mng.c: mark menu strings for translation.
* plug-ins/rcm/rcm.c: remove initialization for Success member
in RcmParams, since it's gone now.
2003-11-08 Michael Natterer <mitch@gimp.org>
To be multihead safe, each new window or menu needs to be
associated with a GdkScreen or it will pop up on the default
screen.
* libgimpwidgets/gimpquerybox.[ch]
* app/display/gimpdisplayshell-layer-select.[ch]
* app/widgets/widgets-types.h
* app/widgets/gimpitemfactory.[ch]
* app/widgets/gimpitemtreeview.[ch]
* app/widgets/gimptemplateview.[ch]
* app/widgets/gimptooldialog.[ch]
* app/widgets/gimpviewabledialog.[ch]
* app/gui/channels-commands.[ch]
* app/gui/color-notebook.[ch]
* app/gui/convert-dialog.[ch]
* app/gui/edit-commands.[ch]
* app/gui/grid-dialog.[ch]
* app/gui/image-commands.[ch]
* app/gui/info-dialog.[ch]
* app/gui/layers-commands.[ch]
* app/gui/offset-dialog.[ch]
* app/gui/resize-dialog.[ch]
* app/gui/stroke-dialog.[ch]
* app/gui/templates-commands.[ch]
* app/gui/vectors-commands.[ch]: added "GtkWidget *parent"
paramaters to all functions which create menus, popups or windows
and pass "parent" to gimp_dialog_new() or one of the various
wrappers around it. As a side effect, this fixes bug #61092.
* app/widgets/gimpdialogfactory.[ch]: added "GdkScreen *screen"
instead of "parent" here since there are no possible parent
windows on startup.
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_origin_button_press): added a quick hack to
send a display to another screen: click the origin button with the
middle mouse button.
* app/display/gimpdisplayshell.c
(gimp_display_shell_screen_changed): don't chain up
undonditionally (don't crash).
* libgimpwidgets/gimpdialog.c (gimp_dialog_new_valist): set the
dialog's screen from a non-GtkWidget parent widget. The rest of
non-window parent widget handling is still unimplemented.
* libgimpwidgets/gimpcolorbutton.c
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcolorpanel.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainerpopup.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimpdatafactoryview.c
* app/widgets/gimpdevicestatus.c
* app/widgets/gimpdockable.c
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimperrorconsole.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimphelp.c
* app/widgets/gimppaletteeditor.c
* app/widgets/gimppreview-popup.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpsessioninfo.c
* app/widgets/gimptoolbox-color-area.c
* app/widgets/gimptoolbox-indicator-area.c
* app/widgets/gimptoolbox.c
* app/widgets/gimptooloptionseditor.c
* app/widgets/gimpvectorstreeview.c
* app/widgets/gimpwidgets-utils.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpnavigationview.c
* app/gui/module-browser.c
* app/gui/dialogs-commands.c
* app/gui/dialogs-constructors.c
* app/gui/drawable-commands.c
* app/gui/file-commands.c
* app/gui/file-new-dialog.c
* app/gui/file-save-dialog.c
* app/gui/gradient-editor-commands.c
* app/gui/gui-vtable.c
* app/gui/gui.c
* app/gui/info-window.c
* app/gui/palette-import-dialog.c
* app/gui/palettes-commands.c
* app/gui/qmask-commands.c
* app/gui/select-commands.c
* app/gui/tool-options-commands.c
* app/gui/view-commands.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpcroptool.c
* app/tools/gimpimagemaptool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimptransformtool.c
* plug-ins/FractalExplorer/FractalExplorer.c
* plug-ins/gfig/gfig.c
* plug-ins/gflare/gflare.c: changed addordingly. Changed all
menu_position funcs to place the menu on the right screen.
2003-11-07 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimpprotocol.[ch]: added "wm_name", "wm_class",
"display_name" and "monitor_number" to the GPConfig message.
Increased protocol version number.
* libgimp/gimp.[ch] (gimp_config): read them from the GPConfig
message and remember them.
Added public accessors for the new config values.
* libgimp/gimpui.c (gimp_ui_init): pass wm_name and wm_class to
gtk_init() and export the display/screen to use to the
environment.
* app/core/gimp.[ch]: added vtable entries to get the values
from the GUI.
* app/gui/gui-vtable.c: implement the vtable entries.
* app/plug-in/plug-in-run.c: fill in the GPConfig values using
the new Gimp vtable functions.
* app/display/gimpdisplayshell-layer-select.c
* app/display/gimpdisplayshell.c
* app/gui/about-dialog.c
* app/gui/channels-commands.c
* app/gui/color-notebook.c
* app/gui/convert-dialog.c
* app/gui/file-dialog-utils.[ch]
* app/gui/file-new-dialog.c
* app/gui/file-open-dialog.c
* app/gui/file-save-dialog.c
* app/gui/gradient-editor-commands.c
* app/gui/gradients-commands.c
* app/gui/grid-dialog.c
* app/gui/image-commands.c
* app/gui/info-dialog.[ch]
* app/gui/info-window.c
* app/gui/layers-commands.c
* app/gui/module-browser.c
* app/gui/offset-dialog.c
* app/gui/palette-import-dialog.c
* app/gui/qmask-commands.c
* app/gui/resize-dialog.c
* app/gui/splash.c
* app/gui/stroke-dialog.c
* app/gui/templates-commands.c
* app/gui/tips-dialog.c
* app/gui/vectors-commands.c
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/widgets/gimpdock.c
* app/widgets/gimperrorconsole.c
* app/widgets/gimptexteditor.c
* app/widgets/gimptoolbox.c
* app/widgets/gimpviewabledialog.[ch]
* libgimpwidgets/gimpfileselection.c
* libgimpwidgets/gimpquerybox.c
* libgimpwidgets/gimpunitmenu.c
* plug-ins/helpbrowser/dialog.c
* plug-ins/ifscompose/ifscompose.c: replaced all calls to
gtk_window_set_wmclass() by gtk_window_set_role() and all
"const gchar *wmclass_name" parameters by "const gchar *role".
Cleaned up the window role strings.
2003-10-10 Henrik Brix Andersen <brix@gimp.org>
* app/core/gimpimage-grid.[ch]: removed the grid parasite related
functions from here ...
* app/core/gimpgrid.[ch]: ... and added them here. While I was at
it I also changed PROP_TYPE to PROP_STYLE and added blurbs to the
properties
* app/xcf/xcf-load.c
* app/display/gimpdisplayshell.c: changed accordingly
* app/widgets/Makefile.am
* po/POTFILES.in
* app/widgets/widgets-types.h
* app/widgets/gimpgrideditor.[ch]: added a new GimpGridEditor
widget - with a work-around for the fact that
gimp_prop_coordinated_new() doesn't accept boundaries
* app/gui/grid-dialog.h
* app/gui/grid-dialog.c (grid_dialog_new): use the new
GimpGridEditor widget, take a GimpImage as function parameter,
assume GimpImages always have a GimpGrid. This simplifies the grid
dialog.
* app/gui/image-commands.c
(image_configure_grid_cmd_callback): changed accordingly
* app/core/core-types.h: moved typedef GimpGrid from here ...
* app/config/config-types.h: ... to here to be able to use it in
GimpCoreConfig
* app/config/gimprc-blurbs.h
* app/config/gimpcoreconfig.[ch]: added default_grid member
* app/widgets/gimphelp-ids.h
* themes/Default/images/preferences/Makefile.am
* themes/Default/images/default-grid.png
* app/gui/preferences-dialog.c: added UI for specifying default
image grid
* app/core/gimpimage.c (gimp_image_new): create a GimpGrid from
core_config->default_grid
* app/gui/image-menu.c (image_menu_update): the grid/guide entries
in <Image>/View/ should always be sensitive ...
* app/display/gimpdisplayshell.c (gimp_display_shell_init):
... but the grid entries should be disabled by default
2003-07-27 Henrik Brix Andersen <brix@gimp.org>
* app/gui/image-menu.c (image_menu_entries): moved Configure Grid
entry to the <Image>/Image branch
* app/gui/view-commands.[ch] (view_configure_grid_cmd_callback):
removed function
* app/gui/image-commands.[ch] (image_configure_grid_cmd_callback):
added function here
* app/gui/grid-dialog.c: removed snap and show options from the
dialog
2003-06-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-rotate.c (gimp_image_rotate_item_offset):
fixed offset calculation for 90 and 270 degree rotations.
* app/core/gimpimage-flip.c
* app/core/gimpimage-rotate.c
* app/core/gimpimage-scale.c: increase the progress also when
transforming the selection. Makes the progress appear more
continuous. Also clened up and simplified the progress code
in all files.
* app/core/gimpimage-resize.[ch]: added a progress like in the
files above.
* app/gui/image-commands.c (image_resize_callback): changed
accordingly.
(image_scale_implement): clened up and simplified a lot.
* tools/pdbgen/pdb/image.pdb: changed accordingly.
* app/pdb/image_cmds.c: regenerated.
2003-05-20 Sven Neumann <sven@gimp.org>
* app/core/core-enums.[ch]: added new enum GimpRotationType.
* app/core/Makefile.am
* app/core/gimpimage-rotate.[ch]: new files.
* app/core/gimpchannel.c
* app/core/gimpdrawable-transform.[ch]
* app/core/gimpdrawable.c
* app/core/gimpitem.[ch]
* app/core/gimplayer.c
* app/vectors/gimpvectors.c: added GimpItem::rotate. Still work in
progress.
* plug-ins/common/rotate.c: don't install any menu entries. The
plug-in is only kept around to provide plug_in_rotate for backward
compatibility.
* app/gui/drawable-commands.[ch]
* app/gui/image-commands.[ch]
* app/gui/image-menu.c: use the new rotate implementation and use
stock icons for the menu entries. Fixes bug #57797.
2003-05-18 Michael Natterer <mitch@gimp.org>
Implemented "Flip Image". Fixes bug #23179:
* app/core/core-enums.[ch]: added GIMP_UNDO_GROUP_IMAGE_FLIP.
* app/core/Makefile.am
* app/core/gimpimage-flip.[ch]: new files implementing
gimp_image_flip().
* app/gui/image-menu.c
* app/gui/image-commands.[ch]: added it to the "Image" menu.
* themes/Default/images/Makefile.am
* themes/Default/images/stock-flip-horizontal-16.png
* themes/Default/images/stock-flip-vertical-16.png
* libgimpwidgets/gimpstock.[ch]: added icons for the new
menu items.
Bugs found while hacking the stuff above:
* app/core/gimpdrawable-transform.c (gimp_drawable_transform_paste):
only call gimp_layer_add_alpha() if the pasted tiles have alpha.
* app/core/gimpimage-undo-push.c (undo_pop_channel_mod): fixed to
do the right thing if the channel is the selection mask.
2003-03-25 Sven Neumann <sven@gimp.org>
* Makefile.am
* gimpintl.h: removed this header file.
* gimpmiscui.c: include libgimp-intl.h.
* gimp.c (gimp_main): call setlocale() and bind to the libgimp
textdomain so that plug-ins don't need to do that explicitely.
* libgimp/stdplugins-intl.h: added the functionality that used to
live in gimpintl.h and removed the libgimp related stuff. Got rid
of the INIT_I18N_UI() macro.
* plug-ins/*/*.c: removed all occurances of INIT_I18N_UI().
Plug-ins simply call INIT_I18N() once in their run() function.
* plug-ins/script-fu/script-fu-intl.h: added the functionality
that used to live in gimpintl.h and removed the libgimp related
stuff.
* app/Makefile.am
* app/gimp-intl.h: new file that defines the gettext macros for
the GIMP core.
* app/*/*.c: include gimp-intl.h instead of libgimp/gimpintl.h.
* plug-ins/script-fu/scripts/test-sphere.scm: fixed typos.
2003-01-10 Michael Natterer <mitch@gimp.org>
Move away from creating all item_factories statically in
menus_init() but create a new one for each place where one is
needed:
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpmenufactory.[ch]: new factory which creates and
configures the GimpItemFactories it knows about on-the-fly.
* app/widgets/gimpitemfactory.[ch]: added
gimp_item_factory_update() which calls the "update_func". Added
"gboolean update_on_popup" so item_factories can be configured to
require manual updates (used for the <Image> factory).
* app/gui/menus.[ch]: create a "global_menu_factory" and register
all menus we have with it. Added various setup functions which
do stuff like adding the "Open Recent" menu or reorder plug-in
menu entries. Removed the debugging stuff...
* app/gui/Makefile.am
* app/gui/debug-commands.[ch]: ...and added it here.
* app/gui/gui.c: create the <Toolbox>, the popup-<Image> and the
<Paths> factories here because they are still global.
* app/gui/plug-in-menus.[ch]: changed the "image_factory"
parameters to "item_factory" and create/update the entries for the
passed item_factory only. Makes the whole stuff much more
straightforward.
* app/plug-in/plug-ins.c: don't call plug_in_make_menu().
* app/display/gimpdisplay.[ch]
* app/display/gimpdisplayshell.[ch]: added "menu_factory" and
"popup_factory" parameters to gimp_display_new() and
gimp_display_shell_new(). Create the menubar_factory and the
qmask_factory dynamically. Pass the shell, not a Gimp to the QMask
callbacks. Changed gimp_display_shell_set_menu_sensitivity() to
gimp_display_shell_menu_update() and don't call it directly (it's
a GimpItemFactory update_func now). Call gimp_item_factory_update()
on the resp. factories instead.
* app/gui/qmask-commands.c
* app/display/gimpdisplayshell-callbacks.c
* app/tools/gimpimagemaptool.c: changed accordingly.
* app/widgets/gimpbrusheditor.c
* app/widgets/gimpbrushfactoryview.[ch]
* app/widgets/gimpbufferview.[ch]
* app/widgets/gimpcolormapeditor.[ch]
* app/widgets/gimpcontainereditor.[ch]
* app/widgets/gimpdataeditor.[ch]
* app/widgets/gimpdatafactoryview.[ch]
* app/widgets/gimpdialogfactory.[ch]
* app/widgets/gimpdock.c
* app/widgets/gimpdockbook.[ch]
* app/widgets/gimpdocumentview.[ch]
* app/widgets/gimpgradienteditor.[ch]
* app/widgets/gimpimageview.[ch]
* app/widgets/gimpitemlistview.[ch]
* app/widgets/gimppaletteeditor.[ch]: pass around lots of
GimpMenuFactory pointers and menu_identifiers so all views can
create their item_factories themselves. Unref the factories when
they are no longer needed because they belong to the views now.
* app/gui/dialogs-commands.c
* app/gui/dialogs-constructors.c
* app/gui/dialogs.c
* app/gui/brush-select.c
* app/gui/gradient-select.c
* app/gui/palette-select.c
* app/gui/pattern-select.c: changed accordingly.
* app/gui/file-dialog-utils.[ch] (file_dialog_new): require
menu_factory and menu_identifier parameters.
* app/gui/file-open-dialog.[ch]
* app/gui/file-save-dialog.[ch]: removed file_*_dialog_menu_init()
(they went to menus.c as setup_funcs). Added file_*_dialog_set_type()
and moved the <Load> and <Save> factory callbacks to file-commands.c
* app/gui/file-commands.[ch]: changed accordingly.
* app/gui/view-commands.c: changed the statusbar, menubar, rulers
and guides callbacks to do their job only if the setting has
actually changed. Don't update whole item factories afterwards.
Instead, just change the state of the items that actually need
update.
Unrelated:
* app/core/gimpchannel.c (gimp_channel_init): set "bounds_known"
and friends to FALSE since we don't know that the new channel will
be empty (fixes QMask and probably other stuff).
* app/gui/image-commands.c
* app/gui/vectors-commands.c: cleanup.
2003-01-05 Manish Singh <yosh@gimp.org>
* many files in app, modules and libgimp*: cleanup, removed unecessary
G_OBJECT() casts. Should do the same for plug-ins, when more of them
get undeprecated.
2002-12-10 Michael Natterer <mitch@gimp.org>
The unbelievable happened: a menu bar per display (optionally)
* app/widgets/gimpitemfactory.[ch]: Added the possibility to have
more than one item factory per <Prefix>. Added
gimp_item_factories_set_foobar() variants of all functions which
set menu item properties (label, sensitive, ...). Removed
the #ifndef ENABLE_NLS code since that's no longer possible.
* app/widgets/gimptoolbox.c: made it robust againt the <Image>
factory not existing at the time of toolbox creation.
* app/config/gimpconfig-blurbs.h
* app/config/gimpdisplayconfig.[ch]: added boolean
"menu_bar_per_display" property.
* app/gui/preferences-dialog.c: added a toggle for the new option.
* app/gui/menus.[ch]: added menus_get_new_image_factory() as
temporary solution. Will add a GimpMenuFactory which creates the
item factories soon.
* app/display/gimpdisplayshell.c: add the menu bar if requested.
Changed widget packing slightly for the menu bar case.
* app/display/gimpdisplayshell-callbacks.c: changed accordingly.
Currently there is no right-click popup menu when we have a menu
bar. This will change soon.
* app/gui/file-dialog-utils.c
* app/gui/gui.c: use gimp_item_factories_set_foo().
* app/gui/channels-commands.c
* app/gui/dialogs-commands.c
* app/gui/dialogs-constructors.c
* app/gui/drawable-commands.c
* app/gui/edit-commands.c
* app/gui/file-commands.c
* app/gui/image-commands.c
* app/gui/layers-commands.c
* app/gui/plug-in-commands.c
* app/gui/select-commands.c
* app/gui/tools-commands.c
* app/gui/vectors-commands.c
* app/gui/view-commands.c: per-display item factories pass the
GimpDisplay as user_data to callbacks, not a Gimp. Changed all
return_if_no_foo() macros to handle both cases.
Cleaned up the plug-in menu stuff:
* app/plug-in/plug-in-types.h: removed PlugInMenuEntry type.
* app/plug-in/plug-ins.[ch]: added plug_ins_proc_def_add() as
counterpart to plug_ins_proc_def_remove(). Added
plug_ins_locale_domain() as counterpart to plug_ins_help_path().
Remember the locale domains just as the help paths. Changed
plug-in initialization so that their menus can be created multiple
times.
* app/plug-in/plug-in.[ch]: use plug_ins_proc_def_add() instead of
doing it manually.
* app/gui/plug-in-menus.[ch]: added plug_in_menus_init() which
just registers the locale domains. Changed plug_in_make_menu() to
take a list of proc_defs, not plug_ins_defs so it can be used
after plug-in query.
2002-09-08 Michael Natterer <mitch@gimp.org>
* app/widgets/gimplayerlistview.c
* app/gui/channels-commands.c: some more auto-sizing spinbuttons.
* app/gui/offset-dialog.c: added mnemonics for "X" and "Y".
Dialog auto-hide cleanup:
* app/widgets/gimpviewabledialog.c: close the dialog when the
GimpViewable goes away (special cased GimpItems which become
invisible on "removed"). Close the dialog by syntesizing a
"delete_event" instead of simply hiding or destroying it so the
closing method of the dialog's user gets invoked.
* app/gui/resize-dialog.[ch]: don't do the same here. Simplifies
the API even more as we don't have to pass the object to watch any
more.
* app/gui/image-commands.c
* app/gui/layers-commands.c: changed accordingly.
* app/undo_history.c
* app/gui/convert-dialog.c
* app/gui/qmask-commands.c
* app/gui/vectors-commands.c: removed all dialog auto-hiding which
is now done by GimpViewableDialog. Also connect more close
callbacks to gtk_widget_destroy() and handle shell destruction
accordingly, so these pseudo widgets behave more like real ones.
Tool-dialog auto-hide fix:
* app/tools/tool_manager.c: never call a tool's initialize()
method with a NULL gdisp (I can't follow why we did this before
because it's conceptually broken and makes the semantics of
initialize() more than unclear).
To be sure, added g_return_if_fail(GIMP_IS_DISPLAY(gdisp)) to
tool_manager_initialize_active().
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcurvestool.c
* app/tools/gimphistogramtool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimpimagemaptool.c
* app/tools/gimplevelstool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c: removed the recently added code
for handling NULL displays in initialize().
2002-09-07 Michael Natterer <mitch@gimp.org>
* app/gui/file-new-dialog.c
* app/gui/offset-dialog.c
* app/gui/preferences-dialog.c
* app/gui/resolution-calibrate-dialog.c
* app/gui/user-install-dialog.c: replaced some more pixel sizes by
char sizes. Tweaked table spacings. Mnemonics.
* app/gui/info-dialog.[ch]: internal cleanup.
* app/gui/resize-dialog.[ch]: same here. Removed the "cancel_cb"
from the API and simply destroy the dialog on "Cancel". Makes the
dialog construction less weird.
* app/gui/image-commands.c
* app/gui/layers-commands.c: changed accordingly. Same cleanups
as above.
2002-09-01 Michael Natterer <mitch@gimp.org>
GimpViewableDialogs everywhere, cleanup:
* libgimpwidgets/gimpstock.c: added texts for the RESIZE, SCALE
and CROP stock items.
* app/widgets/gimpviewabledialog.c: update the title when the
viewable's name changes.
* app/gui/color-notebook.[ch]: added color_notebook_viewable_new()
which creates a GimpViewableDialog.
* app/widgets/gimpgradienteditor.[ch]
* app/gui/colormap-editor-commands.c
* app/gui/file-new-dialog.c
* app/gui/gradient-editor-commands.c
* app/gui/palette-editor-commands.c
* app/undo_history.c: use GimpViewableDialogs and the new
color_notebook constructor.
* app/gui/convert-dialog.c: #include "widgets/gimpviewabledialog.h"
* app/gui/image-commands.c
* app/gui/info-dialog.c
* app/gui/resize-dialog.c: minor cleanups.
* app/gui/info-window.c: cleaned up the whole thing, esp. the
"Extended" page. Added HSV color display to the color picker
frame. Set the icons as frame titles, stuff...
* app/tools/gimpimagemaptool.[ch]: removed "shell_title",
"shell_name" and "stock_id" from the GimpImageMapTool struct
because they can be obtained from the tool's GimpToolInfo object.
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcurvestool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimplevelstool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c: changed accordingly.
* app/tools/gimphistogramtool.c: same here: take values from
tool->tool_info instead of hardcoding them.
* app/tools/gimpcroptool.[ch]: removed the static crop dialog
variables and added them to the GimpCropTool struct. Feels safer
and makes the callback code much simpler. Use stock items for the
dialog's "Resize" and "Crop" buttons.
* app/tools/gimpmeasuretool.c
* app/tools/gimprotatetool.c: for consistency don't name the tools
"Blah Tool", also the dialog titles need to match the menu
entries.
Unrelated:
* libgimpwidgets/gimpwidgets.c: the recently changed, gtk-doc
comment was correct, as gtk-doc takes the parameter names from
the header, not the .c file.
* app/tools/gimptransformtool.c: set the transform tool's state to
TRANSFORM_CREATING after changing displays, so the initial matrix
components are saved correctly for the "Reset" function.
2002-08-30 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpviewabledialog.[ch]: new dialog widget featuring
a title bar containing a stock icon, a description, the viewable's
name and a preview. Will be used for all viewable related dialogs
and serves as a common place to control their look & feel.
* app/tools/gimpimagemaptool.[ch]: removed the code which did
almost the same and use GimpViewableDialog.
* app/gui/info-dialog.[ch]: extended the API so it has enough
information to create a GimpViewableDialog.
* app/gui/channels-commands.c
* app/gui/convert-dialog.c
* app/gui/gradient-editor-commands.c
* app/gui/image-commands.c
* app/gui/info-window.c
* app/gui/layers-commands.c
* app/gui/offset-dialog.c
* app/gui/qmask-commands.c
* app/gui/resize-dialog.c
* app/gui/vectors-commands.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpcroptool.c
* app/tools/gimphistogramtool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpperspectivetool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c
* app/tools/gimpsheartool.c: use GimpViewableDialogs
* themes/Default/gtkrc: apply the dialog style to "*Gimp*Dialog*",
not only "*GimpDialog*" so it covers GimpViewableDialog.
2002-06-27 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplay.[ch]: removed gdisp->scale,
gdisp->dot_for_dot, the scaling marcos and the
gdisplay_[un]transform[_f]() functions.
* app/display/gimpdisplayshell.[ch]: added them here. Named the
transform functions gimp_display_shell_[un]transform_xy[_f]().
Made the gimp_display_shell_[un]transform_coords() functions copy
all values of the GimpCoords struct, not just x and y.
* app/display/gimpstatusbar.[ch]: keep a pointer to
GimpDisplayShell, not GimpDisplay.
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-render.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpdisplayshell-scroll.c
* app/display/gimpdisplayshell-selection.c
* app/display/gimpnavigationview.c
* app/gui/image-commands.c
* app/gui/info-window.c
* app/gui/select-commands.c
* app/gui/view-commands.c
* app/tools/gimpbezierselecttool.c
* app/tools/gimpcroptool.c
* app/tools/gimpdrawtool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.c
* app/tools/gimppathtool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c
* app/tools/gimpvectortool.c: changed accordingly.
* app/gui/layers-commands.c: if(gimage->selection_mask) is always
TRUE, use if(!gimp_image_mask_is_empty(gimage)) instead.
* app/tools/gimpfuzzyselecttool.[ch]: moved global variables
to the object struct.
2002-05-08 Michael Natterer <mitch@gimp.org>
Started to get rid of the gdisplays_foo() functions in
app/display/gimpdisplay-foreach.[ch]. Work in progress...
* app/core/gimp.[ch]: added the display list to the Gimp object
(as a GimpList of GimpObjects). This way we get more independent
from whether there is GUI or not, as gimp->displays will simply
be an empty list for the --no-interface case.
* app/display/gimpdisplay.[ch]: Removed the global "display_list"
and "display_num" variables. Use gimp->displays instead.
* app/display/gimpdisplay-foreach.[ch]: renamed most functions
from gdisplays_foo() to gimp_displays_foo() and pass them a Gimp
pointer.
* app/core/gimpimage.[ch]: added a "flush" signal.
* app/display/gimpdisplay-handlers.c: connect to "flush" and call
gimp_display_flush() in the callback.
* tools/pdbgen/pdb/display.pdb: use gimp_displays_flush(gimp)
here and only here.
* app/pdb/display_cmds.c: regenerated.
* app/app_procs.c
* app/gui/gui.c
* app/gui/preferences-dialog.c:
s/gdislays_foo()/gimp_displays_foo(gimp)/
* app/image_map.c
* app/undo_history.c
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-dnd.c
* app/display/gimpdisplayshell-layer-select.c
* app/display/gimpdisplayshell-scale.c
* app/gui/channels-commands.c
* app/gui/colormap-editor-commands.c
* app/gui/convert-dialog.c
* app/gui/drawable-commands.c
* app/gui/edit-commands.c
* app/gui/file-commands.c
* app/gui/image-commands.c
* app/gui/layers-commands.c
* app/gui/offset-dialog.c
* app/gui/qmask-commands.c
* app/gui/select-commands.c
* app/gui/vectors-commands.c
* app/paint/gimpairbrush.c
* app/tools/gimpbezierselecttool.c
* app/tools/gimpblendtool.c
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpbucketfilltool.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcurvestool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimpinktool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimplevelstool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.c
* app/tools/gimpposterizetool.c
* app/tools/gimprectselecttool.c
* app/tools/gimptexttool.c
* app/tools/gimpthresholdtool.c
* app/tools/gimptransformtool.c
* app/tools/gimpvectortool.c
* app/widgets/gimpbufferview.c
* app/widgets/gimpchannellistview.c
* app/widgets/gimpcomponentlistitem.c
* app/widgets/gimpdocumentview.c
* app/widgets/gimpdrawablelistitem.c
* app/widgets/gimpdrawablelistview.c
* app/widgets/gimpimageview.c
* app/widgets/gimpitemlistitem.c
* app/widgets/gimpitemlistview.c
* app/widgets/gimplayerlistitem.c
* app/widgets/gimplayerlistview.c
* app/widgets/gimpvectorslistview.c: replaced gdisplays_flush()
with calls to gimp_image_flush(gimage). Removed inclusion of
"display/gimpdisplay-foreach.h" from most files.
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-02-23 Michael Natterer <mitch@gimp.org>
General undo cleanup:
* app/undo.[ch]: made all undo structs private. Changed all
undo_push_foo() functions to take useful parameters instead of
"gpointer foo_ptr" and create the undo structs internally.
Renamed lots of functions so they are more self-explanatory
(like undo_push_gimage_mod -> undo_push_image_size). Added some
undo functions (channel reordering is undoable now). Never pass
in a UndoType, as they are reseved for groups now (see below).
Lots of cleanup and stuff...
* app/undo_types.h: is a private header now which defines "enum
UndoImplType" which is reserved for actual undo operations.
All enum values are named "FOO_UNDO".
* app/core/core-types.h: added the "UndoType" enum here and don't
include "undo_types.h" any more. The UndoType values are all
named "FOO_UNDO_GROUP" and are reserved for undo groups.
The ID space of actual undo operations and undo groups
is now strictly disjunct.
* app/core/gimpchannel.h
* app/core/gimpimage.h
* app/core/gimplayer.h
* app/core/gimplayermask.h
* app/paint/gimppaintcore.h
* app/tools/gimptransformtool.h: removed undo stuct definitions.
* app/undo_history.c
* app/path_transform.h
* app/core/gimpchannel.c
* app/core/gimpdrawable-transform.c
* app/core/gimpedit.c
* app/core/gimpimage-convert.c
* app/core/gimpimage-crop.c
* app/core/gimpimage-mask.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-qmask.c
* app/core/gimpimage-resize.c
* app/core/gimpimage-scale.c
* app/core/gimpimage.c
* app/core/gimplayer-floating-sel.c
* app/core/gimplayer.c
* app/display/gimpdisplayshell-dnd.c
* app/gui/channels-commands.c
* app/gui/image-commands.c
* app/gui/layers-commands.c
* app/gui/paths-dialog.c
* app/paint/gimppaintcore.c
* app/tools/gimpbezierselecttool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/tools/gimptexttool.c
* app/tools/gimptransformtool.c
* tools/pdbgen/pdb/guides.pdb
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/undo.pdb: changed accordingly.
* app/pdb/guides_cmds.c
* app/pdb/layer_cmds.c
* app/pdb/undo_cmds.c: regenerated.
* app/core/gimpimage.[ch]: added infrastructure for holding a
GimpList of GimpVectors objects. The API is the same as for layers
and channels. Not used yet.
2002-02-13 Michael Natterer <mitch@gimp.org>
* app/gui/menus.c: moved "Merge Layers" and "Flatten Image" from
"Layer/" to "Image/", removed them from the "<Layers>" menu
entirely, moved "Merge Down" after "Anchor Layer" in both menus.
* app/gui/image-commands.[ch]: moved callbacks from here...
* app/gui/layers-commands.[ch]: ...to here.
* app/gui/layers-commands.[ch]
* app/display/gimpdisplayshell.c: changed menu_update functions
accordingly.
2002-01-09 Sven Neumann <sven@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/gimp-dialog-error.png
* themes/Default/images/gimp-dialog-info.png
* themes/Default/images/gimp-dialog-question.png
* themes/Default/images/gimp-dialog-warning.png: new stock icons to
override the standard gtk-dialog icons.
* themes/Default/images/gimp-dialog-icons.xcf.gz: XCF version of the
new dialog icons.
* themes/Default/gtkrc: override the standard gtk-dialog icons with
our versions.
* libgimpwidgets/gimpquerybox.[ch]: allow to pass a stock_id instead
of the boolean eek.
* app/widgets/gimpwidgets-utils.c: added an icon to the gimp_message
dialog. We need to add an API to declare the severity of the message
or allow to pass a stock_id. For now all messages habe the Info icon.
* app/gui/file-commands.c
* app/gui/file-new-dialog.c
* app/gui/file-save-dialog.c
* app/gui/gui.c
* app/gui/image-commands.c
* plug-ins/FractalExplorer/FractalExplorer.c
* plug-ins/gfig/gfig.c
* plug-ins/gflare/gflare.c: pass a suitable(?) stock_id to
gimp_query_boolean_box().
2001-12-03 Michael Natterer <mitch@gimp.org>
* app/devices.c: use the passed Gimp pointer instead of
using "the_gimp".
* app/base/temp-buf.c: indentation.
* app/gui/preferences-dialog.c: prefs_toggle_callback(): fixed
segfault when trying to find the prefs_dlg widget from a menu
item callback (Fixes#65757).
* app/gui/offset-dialog.[ch]: fixed public prototype, include
the header in the .c file.
* app/gui/menus.c: some menu cleanup: moved all functions which
operate on the active layer/drawable to <Image>/Layer. Renamed
"Layers" to "Layer".
* app/display/gimpdisplayshell.c: changed menu update function
accordingly.
* app/gui/image-commands.[ch]
* app/gui/layers-commands.[ch]: moved stuff from image-commands.*
to layers-commads.*-
* app/tools/gimpblendtool.c
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcurvestool.c
* app/tools/gimphistogramtool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimplevelstool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c
* app/tools/paint_options.c
* app/tools/transform_options.c
* plug-ins/common/align_layers.c
* plug-ins/common/autocrop.c
* plug-ins/common/autostretch_hsv.c
* plug-ins/common/c_astretch.c
* plug-ins/common/color_enhance.c
* plug-ins/common/guillotine.c
* plug-ins/common/normalize.c
* plug-ins/common/rotate.c
* plug-ins/common/threshold_alpha.c
* plug-ins/common/zealouscrop.c
* plug-ins/rcm/rcm.c
* plug-ins/fp/fp.c: register under <Image>/Layer, some cosmetic
fixes.
2001-11-28 Michael Natterer <mitch@gimp.org>
* app/base/base-types.h: include the new
"paint-funcs/paint-funcs-types.h".
* app/paint-funcs/Makefile.am
* app/paint-funcs/paint-funcs-types.h: new file. Includes
"base/base-types.h".
* app/paint-funcs/paint-funcs.[ch]: removed the enums here,
include "paint-funcs-types.h".
* app/widgets/widgets-types.h: include "display/display-types.h"
* app/display/display-types.h: include "widgets/widgets-types.h".
* app/tools/tools-types.h: include "display/display-types.h"
* app/gui/gui-types.h: include "tools/tools-types.h".
The order of namespaces/dependencies should be (but is not):
(base, paint-funcs) -> (core, file, xcf, pdb) ->
(widgets, display) -> tools -> gui
* app/path.c: include "tools/tools-types.h".
* app/core/Makefile.am
* app/core/gimpimage-guides.[ch]
* app/core/gimpimage-merge.[ch]
* app/core/gimpimage-resize.[ch]
* app/core/gimpimage-scale.[ch]: new files.
* app/core/gimpimage.[ch]: removed the stuff which is in the new
files. Reordered all functions in both the .h and .c files,
commented the groups of functions.
* app/core/gimpcontainer.c: create the handler_id using a counter,
not the address of a pointer, because the address *may* be the
same twice, added debugging output.
* app/core/gimpviewable.[ch]: added primitive support for getting
a preview GdkPixbuf.
* app/nav_window.c
* app/undo.c
* app/undo_history.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-mask.[ch]
* app/display/gimpdisplay.c
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-dnd.c
* app/display/gimpdisplayshell-render.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpdisplayshell-scroll.c
* app/gui/image-commands.c
* app/gui/info-window.c
* app/gui/layers-commands.c
* app/gui/palette-import-dialog.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/widgets/gimpcontainerview-utils.c
* app/xcf/xcf-load.c: changed accordingly, some cleanup.
* tools/pdbgen/pdb/guides.pdb
* tools/pdbgen/pdb/image.pdb: changed accordingly, reordered functions.
* app/plug_in.c: set the labels of the "Repeat" and "Re-Show" menu
items to the name of the last plug-in (Fixes#50986).
* app/display/gimpdisplayshell.[ch]: set the labels of "Undo" and
"Redo" to the resp. undo names. Much simplified the WM icon stuff
by removing most code and using gimp_viewable_get_new_preview_pixbuf().
* app/widgets/gimpbrushfactoryview.c: forgot to assign the GQuark
returned by gimp_container_add_handler().
* app/pdb/guides_cmds.c
* app/pdb/image_cmds.c
* libgimp/gimpimage_pdb.[ch]: regenerated.
2001-11-16 Michael Natterer <mitch@gimp.org>
Wishlist item #57812:
* app/core/gimpimage.[ch]: added a progress_callback to
gimp_image_scale().
* app/gui/gui.c
* app/gui/image-commands.c
* app/gui/resize-dialog.h
* tools/pdbgen/pdb/image.pdb: changed accordingly.
* app/core/gimp.[ch]: found that gimp->busy needs to be a counter,
not a boolean, so nested calls work.
* app/pdb/image_cmds.c: regenerated.
2001-11-10 Michael Natterer <mitch@gimp.org>
* app/qmask.c: fixed qmask callbacks to check if the toggle is
active before performing any action.
* app/core/core-types.h: added the GimpCoords type here because it
will be used by core functions as soon as the painting stuff is
separated from the painting tools.
* app/core/gimpdrawable-bucket-fill.c: fixed g_return_if_fail()s
to not disable any useful operation :-) Still didn't figure out
how I broke display color and pattern dropping :-(
* app/display/gimpdisplayshell.[ch]: added
gimp_display_shell_[un]transform_coords() which work on two
GimpCoords pointers.
* app/display/gimpdisplayshell-callbacks.c: use the new functions
instead of the gdisplay_* ones.
* app/gui/image-commands.c: GimpImage emits "disconnect", not
"destroy".
* app/tools/tools-types.h
* app/tools/gimptool.h: removed GimpCoords here.
* app/tools/gimpconvolvetool.c: fixed modifier_key() implementation.
* app/tools/gimpcroptool.c: cleanup.
* app/tools/paint_options.c: don't need a separator in the ink
tool options.
* app/tools/gimprectselecttool.c
* app/tools/selection_options.[ch]: implemented wish #50352:
Added "Auto Shrink Selection" and "Sample Merged" toggles to
the rect_select and ellipse_select tools. Put the "Fixed size"
widgets in a frame. Removed the separators after the common
selection tool options because I didn't like them any more
(feel free to comment ;)
2001-10-29 Michael Natterer <mitch@gimp.org>
Cleanup weekend...
* app/app_procs.c: pass "no_interface" to gimp_new().
* app/core/gimp.[ch]: added "gboolean no_interface" and the
load_procs and save_procs GSLists.
* app/core/gimptoolinfo.[ch]: added a "Gimp" pointer to the
GimpToolInfo object so more functions find their context without
accessing the global "the_gimp" variable.
* app/display/display-types.h: removed the GDisplay -> GimpDisplay
typedef.
* app/display/gimpdisplay.c: look at gimp->no_interface, don't
include "appenv.h".
* app/file/file-open.[ch]
* app/file/file-save.[ch]: don't use "the_gimp" any more. Instead,
pass around lots of "Gimp" pointers. Removed the global load_procs
and save_procs variables here. Use access() to find out whether a
file is readable/writable, removed the manual voodoo and it's
Win32 wrappers. Added an optional (can be NULL) "PlunInProcDef"
parameter to file_save(), removed file_save_with_proc().
* app/gui/menus.c: Use the unused "gpointer data" parameter of the
GtkItemFactory callbacks to pass a "Gimp" pointer to all of them.
This reduces the usage of the global "the_gimp" hack to zero
in app/gui/... yeah.
* app/gui/channels-commands.c
* app/gui/edit-commands.c
* app/gui/file-commands.c
* app/gui/image-commands.c
* app/gui/layers-commands.c
* app/gui/palettes-commands.c
* app/gui/select-commands.c
* app/gui/test-commands.c
* app/gui/tools-commands.c
* app/gui/view-commands.c: use the passed "Gimp" pointer.
* app/gui/color-area.[ch]
* app/gui/convert-dialog.c
* app/gui/dialogs-constructors.c
* app/gui/file-new-dialog.[ch]
* app/gui/file-open-dialog.[ch]
* app/gui/file-save-dialog.[ch]
* app/gui/gui.c
* app/gui/info-window.[ch]
* app/gui/module-browser.[ch]
* app/gui/palette-editor.c
* app/gui/palette-import-dialog.[ch]
* app/gui/paths-dialog.c
* app/gui/preferences-dialog.[ch]
* app/gui/resize-dialog.[ch]
* app/gui/tool-options-dialog.[ch]
* app/gui/toolbox.c: pass around lots more "Gimp" and
"GimpContext" pointers and don't use "the_gimp" any more.
* app/tools/gimptool.h: added a pointer to the corresponding
GimpToolInfo object (which in turn has a pointer to a Gimp).
* app/tools/tool_manager.[ch]: set the pointer after creating the
tool object. Removed tool_manager_get_info_by_tool() as there is a
tool->tool_info pointer now.
* app/tools/gimpbezierselecttool.c
* app/tools/gimpblendtool.c
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpclonetool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpcroptool.c
* app/tools/gimpcurvestool.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimpdrawtool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpellipseselecttool.c
* app/tools/gimperasertool.c
* app/tools/gimpfliptool.c
* app/tools/gimphistogramtool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimpinktool.c
* app/tools/gimplevelstool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.c
* app/tools/gimppathtool.c
* app/tools/gimpperspectivetool.c
* app/tools/gimpposterizetool.c
* app/tools/gimprectselecttool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c
* app/tools/gimpsheartool.c
* app/tools/gimptexttool.c
* app/tools/gimpthresholdtool.c
* app/tools/path_tool.c
* app/tools/xinput_airbrush.c: s/GDisplay/GimpDisplay/g.
Use tool->tool_info and tool_info->gimp in some places to get
rid of using "the_gimp".
Removing the remaining ones involves changing the tool options
system and is scheduled next...
* app/widgets/gimpdnd.c
* app/widgets/gimpdocumentview.c: pass a "Gimp" pointer to all
file_open_*() functions.
* app/gdisplay_color.[ch]
* app/gdisplay_color_ui.[ch]
* app/image_map.[ch]
* app/nav_window.[ch]
* app/path.c
* app/path_bezier.c
* app/path_transform.h
* app/qmask.[ch]: s/GDisplay/GimpDisplay/g
* tools/pdbgen/pdb/fileops.pdb: load_procs and save_procs are
members of the "Gimp" object now.
* tools/pdbgen/pdb/plug_in.pdb: use gimp->no_interface, don't
include "appenv.h".
* app/pdb/fileops_cmds.c
* app/pdb/plug_in_cmds.c: regenerated.
2001-10-16 Michael Natterer <mitch@gimp.org>
* app/gimpprogress.[ch]
* app/undo.c: s/GDisplay/GimpDisplay/
* app/plug_in.[ch]: removed unused boolean "destroy" field of
the PlugIn struct.
* app/core/gimpedit.c: don't include "app_procs.h"
* app/display/gimpdisplay-callbacks.c: moved the "grab_abd_scroll"
stuff from gimpdisplay-scroll.* here (less complicated and easier
to cleanup...)
* app/display/gimpdisplay-scroll.[ch]: removed here.
* app/display/gimpdisplay-render.[ch]
* app/display/gimpdisplay-selection.[ch]
* app/display/gimpdisplayshell.c: s/GDisplay/GimpDisplay/g
* app/display/gimpdisplay.[ch]: ditto, removed gdisplay_active()
which was just a wrapper around
"gimp_context_get_display (gimp_get_user_context (the_gimp))"
(which is more to type but makes the use of the global
"the_gimp" variable more obvious).
* app/gui/color-area.h
* app/gui/edit-commands.c
* app/gui/file-commands.c
* app/gui/file-dialog-utils.c
* app/gui/image-commands.c
* app/gui/info-window.h
* app/gui/paths-dialog.h
* app/gui/select-commands.c
* app/gui/tool-options-dialog.c
* app/gui/tools-commands.c
* app/gui/view-commands.c: s/GDisplay/GimpDisplay/, gdisplay_active()
removal, include "app_procs.h" for "the_gimp".
* app/tools/gimpbezierselecttool.h
* app/tools/gimpbrightnesscontrasttool.[ch]
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpcolorbalancetool.[ch]
* app/tools/gimpcurvestool.[ch]
* app/tools/gimpeditselectiontool.h
* app/tools/gimphistogramtool.[ch]
* app/tools/gimphuesaturationtool.[ch]
* app/tools/gimplevelstool.[ch]
* app/tools/gimpmovetool.h
* app/tools/gimpperspectivetool.h
* app/tools/gimpposterizetool.[ch]
* app/tools/gimprotatetool.h
* app/tools/gimpscaletool.h
* app/tools/gimpsheartool.h
* app/tools/gimptexttool.h
* app/tools/gimpthresholdtool.[ch]
* app/tools/gimptool.[ch]
* app/tools/gimptransformtool.h
* app/tools/tool_manager.[ch]: lots of s/GDisplay/GimpDisplay/, made
all *_dialog_hide() functions private, cleanup.
* app/widgets/*: removed GtkType and gtk_type_* stuff entirely and
use GObject functions, removed lots of empty "destroy" methods and
use more type checking class cast macros instead of casting
directly.
* app/widgets/gimpcontainermenu.c: fixed item insert order.
* app/widgets/gimphistogramview.[ch]: cleaned up and renamed all
functions.
* app/widgets/gimpwidgets-utils.[ch]: removed gimp_dialog_hide() as
Gtk+ does the right thing (TM) now.
* tools/pdbgen/pdb/color.pdb: implemented "histogram" without
digging into tools/ and widgets/ (needs to be done for all
color PDB functions).
* tools/pdbgen/pdb/gimprc.pdb: no need to use "the_gimp" in a PDB
function as a "Gimp" pointer is passed to them all.
* tools/pdbgen/pdb/image.pdb: don't include "app_procs.h"
* app/pdb/color_cmds.c
* app/pdb/gimprc_cmds.c
* app/pdb/image_cmds.c: regenerated.
* app/pdb/procedural_db.c: don't include "app_procs.h"
2001-08-14 Michael Natterer <mitch@gimp.org>
* app/gdisplay.h: an evil temp_hack which lets GimpContext managing
the active display withoug including "gdisplay.h". Will go away as
soon ad context properties are registered dynamically.
* app/module_db.c: cleaned up the object code in preparation of
moving it to core/.
* app/path.c: connect to GimpImage's
* app/core/gimpobject.[ch]: derive it from GObject, not from
GtkObject any more (yeah :-)
* app/core/*.c: #include <glib-object.h> instead of <gtk/gtk.h>,
removed some remaining GtkObject-isms.
(left in a few #include <gtk/gtk.h> where bigger changes are needed
to get rid of the UI dependency).
* app/core/core-types.h: #include <gdk-pixbuf/gdk-pixbuf.h> here
temporarily.
* app/core/gimp.c (gimp_create_display): unref the image after
creating it's first display.
* app/core/gimpbrush.[ch]: disabled the parts of the code which
depend on GimpPaintTool.
* app/core/gimpbrushgenerated.c
* app/core/gimpbrushpipe.c: changed accordingly.
* app/core/gimpcontext.[ch]: evil hack (see above) to manage the
active display without including "gdisplay.h"
* app/core/gimpimage-mask.[ch]: pass a context to
gimage_mask_stroke() and get the current tool's PDB string from
there.
* app/core/gimpedit.c: changed accordingly.
* app/core/gimpimage.c: use gimp_image_update() instead of
gdisplays_update_full().
* app/gui/color-area.c
* app/gui/colormap-dialog.c
* app/gui/dialogs-constructors.c
* app/gui/edit-commands.c
* app/gui/image-commands.c
* app/gui/toolbox.c: changed accordingly (don't use Gtk methods on
GObjects).
* app/gui/menus.c: fix some const warnings by explicit casting.
* app/tools/*.[ch]: ported all tools to GObject, some minor
cleanup while i was on it.
* app/widgets/gimpdialogfactory.[ch]: ported to GObject.
* app/widgets/gimplayerlistview.h: added FOO_GET_CLASS() macro.
* tools/pdbgen/app.pl: added a "widgets_eek" hack like "tools_eek"
which inserts #include "widgets/widgets-types.h" before ordinary
includes.
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/edit.pdb
* app/pdb/brush_select_cmds.c
* app/pdb/edit_cmds.c: changed according to the stuff above.
2001-07-30 Michael Natterer <mitch@gimp.org>
* gtkrc: set the width of the scrollbar slider to the same value
as our default font size so the sliders are nicely aligned with
their descriptive labels.
* libgimpwidgets/gimpdialog.[ch]
* libgimpwidgets/gimpquerybox.[ch]: use GLib-isms and create the
dialogs' action_area buttons with gtk_dialog_add_button() so we
can use the GTK_STOCK_FOO buttons and plug in our own icon factory
later.
* app/qmask.[ch]: fixed the qmask buttons by applying proper
GdkEvent callback conventions.
* libgimpwidgets/gimpcolorbutton.c: NULLify all pointers in
"destroy".
* app/gdisplay_ops.c
* app/gimphelp.c
* app/interface.c
* app/gui/brush-editor.c
* app/gui/color-notebook.c
* app/gui/convert-dialog.c
* app/gui/dialogs-constructors.c
* app/gui/file-commands.c
* app/gui/file-new-dialog.c
* app/gui/file-save-dialog.c
* app/gui/gradient-editor.c
* app/gui/gui.c
* app/gui/image-commands.c
* app/gui/layers-commands.c
* app/gui/offset-dialog.c
* app/gui/palette-editor.c
* app/gui/palette-import-dialog.c
* app/gui/preferences-dialog.c
* app/gui/resize-dialog.c
* app/gui/resolution-calibrate-dialog.c
* app/gui/tool-options-dialog.c
* app/widgets/gimpwidgets-utils.c
* libgimpwidgets/gimpunitmenu.c: g_signal_* and GObject stuff,
use lots of GTK_STOCK_OK and friends instead of _("OK") etc.,
misc minor cleanups.
2001-07-24 Michael Natterer <mitch@gimp.org>
Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning)
* configure.in: require glib/gtk+ >= 1.3.7, commented out the
gtkxmhtml stuff.
From now on, you will need glib, pango, atk and gtk+ HEAD from CVS
to hack or use GIMP HEAD.
Beware, it crashes randomly :)
* app/core/Makefile.am
* app/core/gimpmarshal.list: new file plus rules to generate
gimpmarshal.[ch] from it.
* app/core/*
* app/tools/*
* app/widgets/*
* libgimpwidgets/*: started to use the glib object system. All
core/ objects are still gtk objects however. All signals are
created using g_signal_new(). There are many gtk+ artefacts left.
Finally, we will _not_ use the gtk_signal_foo() wrappers and
friends any more.
* app/colormaps.c
* app/devices.[ch]
* app/disp_callbacks.c
* app/errorconsole.c
* app/file-save.[ch]
* app/interface.c
* app/module_db.c
* app/nav_window.c
* app/ops_buttons.c
* app/scroll.c
* app/user_install.c
* app/gui/about-dialog.c
* app/gui/brush-editor.c
* app/gui/brushes-commands.c
* app/gui/color-notebook.c
* app/gui/colormap-dialog.c
* app/gui/dialogs-commands.c
* app/gui/dialogs-constructors.c
* app/gui/file-commands.c
* app/gui/file-dialog-utils.c
* app/gui/file-new-dialog.c
* app/gui/file-open-dialog.[ch]
* app/gui/file-save-dialog.c
* app/gui/gradient-editor.c
* app/gui/gradients-commands.c
* app/gui/image-commands.c
* app/gui/info-dialog.[ch]
* app/gui/layer-select.c
* app/gui/layers-commands.c
* app/gui/menus.c
* app/gui/offset-dialog.c
* app/gui/palette-editor.c
* app/gui/palettes-commands.c
* app/gui/patterns-commands.c
* app/gui/preferences-dialog.c
* app/gui/resize-dialog.[ch]
* app/gui/splash.c
* app/gui/tips-dialog.c
* app/gui/tool-options-dialog.c
* app/gui/toolbox.c
* app/gui/tools-commands.c
* libgimp/gimpbrushmenu.c
* libgimp/gimpmenu.c
* libgimp/gimppatternmenu.c
* libgimp/gimpui.c
* libgimpbase/gimpenv.c: tons and tons of changes like "const
gchar*", switch from GdkDeviceInfo to GdkDevice (very incomplete
and currently disables), lots of s/gtk_signal/g_signal/,
removal/replacement of deprecated stuff,
s/GtkSignalFunc/GCallback/ and lots of small changes and fixes
while I was on it, zillions of warnings left...
* modules/Makefile.am: disabled the water color selector
temporarily (XInput issues).
* plug-ins/Makefile.am
* plug-ins/common/.cvsignore
* plug-ins/common/Makefile.am
* plug-ins/common/plugin-defs.pl: simply excluded all plug-ins
which did not build (including Script-Fu). They are trivial to
fix.
2001-07-04 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimp.[ch]: added an "application object" called Gimp.
Currently, it contains the image list, the clipboard, the data
factories, the procedural hashtable and the tool info list. It's
the toplevel object of the core object system. Finally, creating a
Gimp object will return a standalone gimp core engine instance
with no other global states/variables involved.
* app/app_procs.[ch]: allocate a "Gimp" instance called "the_gimp" :)
Removed stuff which is now done by the "Gimp" object. Merged
gimp_init() into app_init() because gimp_init() is taken now.
* app/context_manager.[ch]: removed stuff done by "Gimp".
* app/batch.[ch]
* app/gimage.[ch]
* app/xcf/xcf-load.[ch]
* app/xcf/xcf.[ch]
* app/core/gimpedit.[ch]
* app/tools/tool_manager.[ch]: pass around an additional "Gimp"
argument.
* app/pdb/procedural_db.[ch]: pass a "Gimp" pointer as first
parameter to all internal procedures and to all procedural_db_*
functions.
* app/core/gimpcontext.[ch]
* app/core/gimpimage.[ch]: added a "Gimp" pointer to the structs.
* app/devices.c
* app/errors.c
* app/file-open.c
* app/file-save.c
* app/gimphelp.c
* app/gimpunit.c
* app/image_new.c
* app/main.c
* app/nav_window.c
* app/plug_in.c
* app/base/base.c
* app/core/gimpdatafactory.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-mask.c
* app/core/gimptoolinfo.[ch]
* app/gui/brush-select.c
* app/gui/convert-dialog.c
* app/gui/dialogs-constructors.c
* app/gui/edit-commands.c
* app/gui/file-open-dialog.c
* app/gui/file-save-dialog.c
* app/gui/gradient-editor.c
* app/gui/gradient-select.c
* app/gui/gui.c
* app/gui/image-commands.c
* app/gui/info-window.c
* app/gui/menus.c
* app/gui/palette-editor.c
* app/gui/palette-import-dialog.c
* app/gui/palette-select.c
* app/gui/paths-dialog.c
* app/gui/pattern-select.c
* app/gui/preferences-dialog.c
* app/gui/test-commands.c
* app/gui/toolbox.c
* app/gui/tools-commands.c
* app/tools/gimpbezierselecttool.c
* app/tools/gimpbucketfilltool.c
* app/tools/gimppainttool.h
* app/tools/gimptexttool.c
* app/tools/gimptransformtool.h
* app/widgets/gimpbufferview.c
* app/widgets/gimpcontainerview-utils.c
* app/widgets/gimpcursor.c
* app/widgets/gimpdnd.c
* app/widgets/gimpimagedock.c: changed accordingly. Cleaned up
lots of includes. Many files still access the global "the_gimp"
variable exported by app_procs.h.
* tools/pdbgen/app.pl
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/fileops.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/palette.pdb
* tools/pdbgen/pdb/pattern_select.pdb
* tools/pdbgen/pdb/patterns.pdb
* tools/pdbgen/pdb/procedural_db.pdb: changed accordingly. Don't
use "the_gimp" here because all procedures get passed a "Gimp"
pointer now.
* app/pdb/*: regenerated.
2001-06-26 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/color_transfer.[ch]: removed.
* app/tools/Makefile.am
* app/tools/gimpcolorbalancetool-transfer.[ch]: added.
* app/tools/gimpcolorbalancetool.c: changed accordingly.
* app/base/Makefile.am
* app/base/tile-manager-crop.[ch]: formerly known as crop_buffer().
* app/tools/gimptexttool.c: changed accordingly.
* app/context_manager.[ch]: added the global clipboard and the
named buffer list here.
* app/app_procs.c: don't call color_transfer_init() and don't free
the buffer stuff (done by the context manager now).
* app/errorconsole.c: don't #include "gui/commands.h"
* app/global_edit.[ch]: removed lots of stuff which is now done by
gui/edit-commands.* or the new GimpBuffer object. The "paste
named" dialog will go away and this file will be moved to core/
soon.
* app/image_new.c: no need to declare the global_buffer extern any
more.
* app/qmask.c: don't #include "global_edit.h"
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpbuffer.[ch]: new object (aka named buffer)
* app/core/gimpcontext.[ch]: added a GimpBuffer attribute.
* app/core/gimpimage.[ch]: one s/int/gboolean/.
* app/core/gimppattern.c: hmm...
* app/gui/commands.[ch]: split up in small files:
* app/gui/Makefile.am
* app/gui/edit-commands.[ch]
* app/gui/file-commands.[ch]
* app/gui/image-commands.[ch]
* app/gui/select-commands.[ch]
* app/gui/view-commands.[ch]: new files.
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c: added the named buffer list & grid.
* app/gui/file-new-dialog.[ch]
* app/gui/menus.c
* app/gui/palette-editor.c
* app/gui/test-commands.c: changed accordingly.
* app/pdb/edit_cmds.c
* tools/pdbgen/pdb/edit.pdb: changed for the global_edit stuff.
* app/widgets/Makefile.am
* app/widgets/gimpbufferpreview.[ch]
* app/widgets/gimpbufferview.[ch]
* app/widgets/gimpcontainereditor.[ch]: new widgets.
* app/widgets/gimpcontainerview-utils.c
* app/widgets/gimpdatafactoryview.[ch]
* app/widgets/gimpdnd.[ch]
* app/widgets/gimpdrawablepreview.c
* app/widgets/gimplayerlistview.c
* app/widgets/gimppreview.c
* app/widgets/widgets-types.h: changed accordingly for the new
GimpBuffer object and it's views, misc. cleanups.
* pixmaps/Makefile.am
* pixmaps/paste-as-new.xpm
* pixmaps/paste-into.xpm
* pixmaps/paste.xpm: new pixmaps (they all look the same... Tigert? ;-)
* po/POTFILES.in: added the new files.