mirror of https://github.com/GNOME/gimp.git
12 Commits
Author | SHA1 | Message | Date |
---|---|---|---|
Sven Neumann | 41237259c9 |
In all files, changed the standard copyright notice to say "GIMP - The GNU
2006-12-09 Sven Neumann <sven@gimp.org> * In all files, changed the standard copyright notice to say "GIMP - The GNU Image Manipulation Program". |
|
Michael Natterer | e634d4d718 |
Added "Edit -> Fade" which allows to modify the paint mode and opacity of
2006-10-21 Michael Natterer <mitch@gimp.org> Added "Edit -> Fade" which allows to modify the paint mode and opacity of the last drawable operation (fill, plugins etc.). Started from a patch by Bill Skaggs. Fixes bug #170707. * app/base/base-enums.[ch] (enum GimpLayerModeEffects): register the values REPLACE_MODE, ERASE_MODE and ANTI_ERASE_MODE with the type system. * app/widgets/gimppropwidgets.[ch] * app/widgets/gimpwidgets-constructors.[ch]: added "gboolean with_replace_modes" to the paint mode menu constructors. * app/tools/gimppaintoptions-gui.c * app/widgets/gimpbrushselect.c * app/widgets/gimplayertreeview.c: pass with_replace_modes = FALSE. * app/core/gimpdrawableundo.[ch]: added members which keep tiles, paint mode and opacity of the pasted pixels. * app/core/gimpimage-undo.[ch] (gimp_image_undo_get_fadeable): returns a GimpUndo suitable for a fade operation, or NULL. * app/core/gimp-edit.[ch] (gimp_edit_fade): implements the actual fade by undoing the last operation and then re-applying the pixels with different paint mode and opacity. * app/core/gimpdrawable-combine.c: store the pasted pixels in the GimpDrawableUndo. * app/actions/edit-actions.c * app/actions/edit-commands.[ch]: action and callback for fade. * app/dialogs/Makefile.am * app/dialogs/fade-dialog.[ch]: the fade dialog. * app/widgets/gimphelp-ids.h: the fade help ID. * menus/image-menu.xml.in: added a menu entry in "Edit". |
|
William Skaggs | 701b7b31d7 |
Bill Skaggs <weskaggs@primate.ucdavis.edu>
Finally implemented the suggestion in bug #144854, of "strong" undo/redo commands that continue undoing so long as they only encounter visibility changes. * app/actions/edit-actions.c * app/actions/edit-commands.c * app/actions/edit-commands.h: added "strong undo" and "strong redo" commands/actions. * app/core/gimpimage-undo.[ch]: added functions gimp_image_strong_undo() and gimp_image_strong_redo(). * app/core/gimpundo.[ch]: added utility function gimp_undo_is_weak(). * app/widgets/gimphelp-ids.h:added id's. * menus/image-menu.xml.in: added to edit menu, bound to C-S-z and C-S-y. This will no doubt need tweaking, but I will consider it to fix bug #144854. |
|
Michael Natterer | a56d72c17e |
app/actions/edit-actions.c app/actions/edit-commands.[ch] applied modified
2005-09-05 Michael Natterer <mitch@gimp.org> * app/actions/edit-actions.c * app/actions/edit-commands.[ch] * menus/image-menu.xml.in: applied modified patch from David Gowers which adds an "edit-named-copy-visible" actions and its menu item. Addresses bug #315130. |
|
Michael Natterer | 53c3ff1821 |
added new function copy_region_nocow() as a workaround for the fact that
2004-12-12 Michael Natterer <mitch@gimp.org> * app/paint-funcs/paint-funcs.[ch]: added new function copy_region_nocow() as a workaround for the fact that sharing tiles with the projection is heavily broken. * app/base/tile-manager.c (tile_invalidate): added a warning when entering the code path that breaks badly. * app/core/gimp-edit.[ch]: added gimp_edit_copy_visible(), using the non-COW copying function above. * app/widgets/gimphelp-ids.h: added GIMP_HELP_COPY_VISIBLE. * app/actions/edit-actions.c * app/actions/edit-commands.[ch]: added action & callback for "edit-copy-visible". * menus/image-menu.xml.in: added "edit-copy-visible" to the image menu. * tools/pdbgen/pdb/edit.pdb: added gimp_edit_copy_visible() PDB wrapper. * app/pdb/edit_cmds.c * app/pdb/internal_procs.c * libgimp/gimpedit_pdb.[ch]: regenerated. * plug-ins/script-fu/scripts/copy-visible.scm: removed all code and made it a backward compat wrapper around gimp-edit-copy-visible. Fixes bug #138662. |
|
Michael Natterer | 2632cd8f64 |
app/actions/documents-actions.c app/actions/documents-commands.c
2004-05-12 Michael Natterer <mitch@gimp.org> * app/actions/documents-actions.c * app/actions/documents-commands.c * app/actions/edit-actions.c * app/actions/edit-commands.[ch] * app/actions/layers-actions.c * app/actions/layers-commands.c * app/actions/select-actions.c * app/actions/select-commands.[ch] * app/actions/vectors-actions.c * app/actions/vectors-commands.[ch]: added tooltips for actions which are now used for dialog buttons, added callback implementations which formerly lived in various widgets, moved some actions around and did some general cleanups. * menus/image-menu.xml.in: s/edit-stroke/select-stroke/ * menus/Makefile.am * menus/selection-editor-menu.xml: new popup menu. * app/menus/menus.c: register <SelectionEditor> and <UndoEditor> UI managers. * app/widgets/gimpeditor.[ch]: added construct properties "menu-factory", "menu-identifier", "ui-path" and "popup-data". Implement GObject::constructor() and create the UI manager if all needed properties were set. Enables creating action buttons at widget construction time because they need a UI manager. (gimp_editor_add_action_button): changed to take a va_list of "extended" actions which are invoked if the resp. button emits "extended_clicked". Store the actions and their modifier masks in a list attached to the button. * app/widgets/gimpcontainerview.c (gimp_container_view_item_selected): if the view has container *and* context, simply change the context and return. (gimp_container_view_context_changed): don't emit "select_item" manually but simply call gimp_container_view_select_item(). (gimp_container_view_viewable_dropped): use gimp_container_view_item_selected() instead of changing the context directly. * app/widgets/gimpcontainereditor.c (gimp_container_editor_select_item): update the UI manager. * app/widgets/gimpdockable.c: don't try to fiddle with the dialog's menu if it doesn't have a ui_path (happens if the UI manager is just a collection of actions for the dialog buttons and has no menu registered). * app/widgets/gimpimageeditor.c: connect to the image's "flush" signal and update the UI manager in the callback. * app/widgets/gimpitemtreeview.c: use GimpEditor's construct properties to create the UI manager so GimpItemTreeView subclasses can have action buttons. Update the UI manager in gimp_item_tree_view_select_item(). * app/widgets/gimpbufferview.c * app/widgets/gimpcolormapeditor.c * app/widgets/gimpcontainergridview.c * app/widgets/gimpdatafactoryview.c * app/widgets/gimpfontview.c * app/widgets/gimpimageview.c * app/widgets/gimptemplateview.c * app/widgets/gimptoolview.c: changed calls to gimp_editor_add_action_button() accordingly and removed some unneeded select_item() implementations. * app/widgets/gimpchanneltreeview.c * app/widgets/gimpvectorstreeview.[ch] * app/widgets/gimpdocumentview.[ch] * app/widgets/gimplayertreeview.c * app/widgets/gimpselectioneditor.[ch] * app/widgets/gimpundoeditor.[ch]: use action buttons and removed lots of callbacks which went to the resp. action callbacks. * app/widgets/widgets-types.h: removed some now unneeded function prototypes. * app/gui/dialogs-constructors.c: changed (simplified) many dialog constructors accordingly. |
|
Michael Natterer | 4654280114 |
Switch from GtkItemFactory to GtkUIManager. The migration is almost
2004-04-29 Michael Natterer <mitch@gimp.org> 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. |
|
Michael Natterer | 8848558f95 |
More GtkAction stuff (still unused):
2004-04-19 Michael Natterer <mitch@gimp.org> 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. |
|
Michael Natterer | b6683376af |
converted tabs to spaces.
2004-01-16 Michael Natterer <mitch@gimp.org> * app/gui/edit-commands.[ch]: converted tabs to spaces. (cut,copy_named_buffer_callback): unref the buffer after adding it to gimp->named_buffers. Seems we leaked all named buffers... Removed code duplication I have just introduced: * app/gui/edit-commands.[ch] removed edit_paste_into_cmd_callback(). Instead, pass the "paste_into" boolean as "guint action" to gimp_edit_paste_cmd_callback(). * app/gui/image-menu.c: changed accordingly. * app/widgets/gimpbufferview.c: added utility function gimp_buffer_view_paste() and call it from the paste and paste_into callbacks. |
|
Michael Natterer | bcd9794a99 |
To be multihead safe, each new window or menu needs to be associated with
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. |
|
Michael Natterer | d0e1c1c661 |
cleanup.
2003-09-30 Michael Natterer <mitch@gimp.org> * app/paint/gimppaintcore-stroke.c: cleanup. (gimp_paint_core_stroke_boundary): don't push a separate undo for each part of the boundary. * app/core/gimpdrawable-stroke.[ch]: added empty stub gimp_drawable_stroke_boundary(). Changed gimp_drawable_stroke_vectors() to take the GimpStrokeOptions as second parameter. * app/core/gimpchannel.c (gimp_channel_stroke): use it. No need to push an undo group around gimp_paint_core_stroke_boundary(). * app/vectors/gimpvectors.c: changed accordingly. * app/widgets/gimpselectioneditor.[ch]: added a GimpStrokeItemFunc pointer and use it for stroking. * app/gui/edit-commands.[ch] (edit_stroke_selection): a GimpStrokeItemFunc which strokes the selection using the stroke-dialog. * app/gui/dialogs-constructors.c: use it for the selection editor. |
|
Michael Natterer | d26c26686e |
app/Makefile.am removed.
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. |