2006-11-14 Sven Neumann <sven@gimp.org>
* app/dialogs/file-open-location-dialog.c: don't use
gimp_dialog_set_sensitive(); just make the entry not editable and
the dialog's OK button insensitive.
* app/widgets/gimpfiledialog.c
* app/widgets/gimpwidgets-utils.[ch]: moved gimp_dialog_set_sensitive()
implementation into gimp_file_dialog_set_sensitive().
2006-11-07 Sven Neumann <sven@gimp.org>
* app/dialogs/file-save-dialog.c: undef DEBUG_SPEW again.
* app/tools/gimprectangletool.c (gimp_rectangle_tool_draw):
don't draw the handles while the rectangle is being moved.
2006-11-05 Sven Neumann <sven@gimp.org>
* app/dialogs/file-save-dialog.c (file_save_dialog_check_uri):
use
file_utils_uri_display_basename() instead of
g_path_get_basename()
to get an uri's basename.
2006-11-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.[ch]: added gimp_image_add_layers() which
takes a list of layers and vierport coordinates to center the
layers in.
* app/dialogs/file-open-dialog.c
* app/display/gimpdisplayshell-dnd.c
* app/widgets/gimplayertreeview.c: use it instead of having the
same code three times.
2006-11-03 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch] (enum GimpUndoType): added value
GIMP_UNDO_GROUP_LAYER_ADD.
* app/file/file-open.[ch]: changed file_open_layer() to
file_open_layers(), added parameter "gboolean merge_visible",
return a GList of layers.
* app/dialogs/file-open-dialog.c
* app/display/gimpdisplayshell-dnd.c
* app/widgets/gimplayertreeview.c: pass merge_visible = FALSE and
add all returned layers to the image. Fixes bug #358082.
(contains lots of duplicated code, will factor that out later).
* tools/pdbgen/pdb/fileops.pdb (load_layer): pass merge_visible = TRUE
(load_layers): new wrapper which returns all the image's layers.
* app/pdb/fileops_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpfileops_pdb.[ch]: regenerated.
* libgimp/gimp.def: changed accordingly.
2006-11-03 Sven Neumann <sven@gimp.org>
* app/dialogs/image-properties-dialog.c (image_comment_update)
* app/text/gimptext-parasite.c (gimp_text_from_gdyntext_parasite):
use gimp_any_to_utf8() to deal with invalid UTF-8 strings.
2006-11-03 Sven Neumann <sven@gimp.org>
* app/widgets/gimpimageparasiteview.[ch]: made non-abstract.
* app/dialogs/image-properties-dialog.c: show a "Comment" tab if
the image contains a "gimp-comment" parasite.
2006-11-01 Sven Neumann <sven@gimp.org>
* app/file/file-open.c: always deal with embedded color profiles.
* app/dialogs/preferences-dialog.c: reordered items in Color
Management section, added some spacing.
* app/config/gimprc-blurbs.h
* libgimpconfig/gimpcolorconfig.c
* plug-ins/common/lcms.c: string changes for consistency.
2006-11-01 Sven Neumann <sven@gimp.org>
* app/core/core-enums.[ch]: string change.
* app/dialogs/preferences-dialog.c: added a combo box for the
color-profile-policy.
2006-10-25 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.[ch]: added signals "parasite-attached" and
"parasite-detached".
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpimageprofileview.[ch]: draft of a new widget
that
displays color profile information.
* app/widgets/gimpimagepropview.c: minor cleanup and bug fix.
* app/dialogs/image-properties-dialog.c: added Color Profile
information.
* plug-ins/common/lcms.c: bug fixes.
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".
2006-10-15 Michael Natterer <mitch@gimp.org>
* app/file/file-utils.c (file_utils_filename_to_uri): if the
passed filename starts with a valid, but unhandled uri scheme,
fail with an error saying "URI scheme 'foo:' is not supported"
instead of treating it as relative file path. Fixes bug #358203.
* app/dialogs/file-open-location-dialog.c
(file_open_location_response): don't close the dialog on errors
that are related to the entered URI because these errors are
failed user input validation, not failed open.
2006-10-14 Michael Natterer <mitch@gimp.org>
Remember the settings in the scale and resize dialogs for images
and layers. Fixes bug #164995, bug #316392, and bug #357424.
* app/dialogs/scale-dialog.h: removed GimpScaleCallback typedef.
* app/dialogs/dialogs-types.h: added it here.
* app/dialogs/image-scale-dialog.[ch]: made the ImageScaleDialog
struct private, return a GtkWidget* from image_scale_dialog_new()
and use a GimpScaleCallback in the public API.
* app/actions/actions-types.h: #include "dialogs/dialogs-types.h"
* app/actions/image-commands.c: changed according to image scale
dialog changes. Remember the scale dialog's unit (if it is
"percent") and interpolation type across dialog invocations. Also
remember the resize dialog's unit (if it is "percent").
* app/actions/layers-commands.c: remember scale and resize dialog
stuff as in image-commands.c
2006-10-09 Michael Natterer <mitch@gimp.org>
Added message severities and make sure all messages are routed
through a central function, so redirecting to the error console or
stderr work again:
* app/core/core-enums.[ch]: added enum GimpMessageSeverity { INFO,
WARNING, ERROR }.
* app/core/gimp.[ch] (gimp_message)
(gimp_message_valist): added severity parameter. Changed
"GimpProgress *progress" parameter to "GObject *handler", where
"handler" can be either a GimpProgress, a GtkWidget or NULL.
* app/core/gimp-gui.[ch] (gimp_show_message): ditto. Honor
--console-messages again. Always dispatch to the GUI message
handler first if it exists.
* app/gui/gui-message.[ch]: pass severity parameters around.
(gui_message_error_dialog): if "handler" is a progress, dispatch
the message to it first. If it is a widget (and *not* a progress),
use a GtkMessageDialog on top of that widget's toplevel. Fall
back to the usual GimpErrorDialog otherwise.
* app/core/gimpprogress.[ch] (gimp_progress_message): added
severity parameter. Also added boolean return value to the virtual
function so it can decide to fail if it can't handle the message.
* app/display/gimpdisplay.c: implement GimpProgress::message() and
redirect the message to GimpDisplayShell.
* app/display/gimpdisplayshell-progress.c: implement
GimpProgress::message() and redirect the message to GimpStatusbar
if it is not an error and if the status bar is visible.
* app/display/gimpstatusbar.[ch]: implement GimpProgress::message(),
but fail on messages that contain a newline. Show the right icons
for the message severities (work in progress).
* app/display/gimpdisplayshell.[ch]: removed
gimp_display_shell_message() and its _valist() variant.
* app/widgets/gimperrorconsole.[ch]: show the right icons for the
message severities.
* app/widgets/gimpthumbbox.c (gimp_thumb_box_progress_message):
return TRUE to swallow all messages.
* app/widgets/gimpwidgets-utils.[ch]: removed
gimp_show_message_dialog(). Added gimp_get_message_stock_id().
* app/errors.c
* app/actions/edit-commands.c
* app/actions/error-console-commands.c
* app/actions/file-commands.c
* app/actions/select-commands.c
* app/actions/text-editor-commands.c
* app/actions/vectors-commands.c
* app/core/gimpimage-convert.c
* app/core/gimpimagefile.c
* app/dialogs/convert-dialog.c
* app/dialogs/file-open-dialog.c
* app/dialogs/file-open-location-dialog.c
* app/dialogs/file-save-dialog.c
* app/dialogs/palette-import-dialog.c
* app/dialogs/stroke-dialog.c
* app/display/gimpdisplayshell-dnd.c
* app/pdb/gimppdb.c
* app/plug-in/gimpplugin.c
* app/tools/gimpimagemaptool.c
* app/tools/gimptool.c
* app/tools/gimpvectortool.c
* app/widgets/gimpactionview.c
* app/widgets/gimpcontrollerlist.c
* app/widgets/gimppdbdialog.c
* app/widgets/gimpvectorstreeview.c
* app/xcf/xcf-load.c
* app/xcf/xcf-save.c
* app/xcf/xcf.c
* tools/pdbgen/pdb/brush.pdb
* tools/pdbgen/pdb/gradient.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/message.pdb
* tools/pdbgen/pdb/palette.pdb: added severity parameter to
gimp_message() calls. Convert all calls to
gimp_show_message_dialog() and gimp_display_shell_message() to
gimp_message(). Also converted some more g_message() calls.
* app/pdb/brush_cmds.c
* app/pdb/gradient_cmds.c
* app/pdb/image_cmds.c
* app/pdb/message_cmds.c
* app/pdb/palette_cmds.c: regenerated.
* app/dialogs/offset-dialog.c: apply patch from David
Gowers, with minor cleanups, to use item dimensions rather
than image dimensions; fixes bug #358322.
2006-10-02 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptoolbox.[ch] (gimp_toolbox_new): changed Gimp
parameter to GimpContext and use it instead of getting the user
context from the Gimp.
(toolbox_tool_button_toggled): set the tool on the dock's
context instead of the user context.
* app/dialogs/dialogs-constructors.c (dialogs_toolbox_get): pass
the context to gimp_toolbox_new() instead of context->gimp.
2006-10-01 Michael Natterer <mitch@gimp.org>
Get rid of one more user context hack:
* app/dialogs/stroke-dialog.c: attach the saved-stroke-desc to the
gimp object instead of to the passed context in one function, and
to the user context in the other (coincidentially these contexts
were the same).
* app/actions/select-commands.c
* app/actions/vectors-commands.c: changed accordingly. Pass the
callback's context instead of the user context to
stroke_dialog_new().
2006-09-26 Sven Neumann <sven@gimp.org>
* modules/Makefile.am
* modules/colorsel_cmyk_lcms.c: new CMYK color-selector that
uses
littleCMS for the RGB <-> CMYK conversion. This is built instead
of the standard CMYK color-selector if lcms is available.
* libgimpwidgets/gimpcolornotebook.c
* libgimpwidgets/gimpcolorselection.[ch]
* libgimpwidgets/gimpcolorselector.[ch]
* libgimpwidgets/gimpwidgets.def: added API to set the color
management configuration on color selectors.
* libgimpwidgets/gimpwidgetstypes.h: include
libgimpconfig/gimpconfigtypes.h.
* app/dialogs/grid-dialog.c
* app/dialogs/preferences-dialog.c
* app/widgets/gimpcolordialog.c
* app/widgets/gimpcoloreditor.c
* app/widgets/gimpcolorpanel.c
* app/widgets/gimpgrideditor.[ch]
* app/widgets/gimppropwidgets.c
* app/widgets/gimptoolbox-color-area.c: set the color management
configuration on (hopefully) all color selectors.
* modules/cdisplay_lcms.c: use a GimpHintBox widget.
2006-09-24 Michael Natterer <mitch@gimp.org>
Some more proper typing instead of using pointers:
* libgimpconfig/gimpconfig-params.h: added macro
GIMP_CONFIG_INSTALL_PROP_BOXED().
* app/core/gimpcontainer.c: made "children-type" a GParamSpecGType.
* app/widgets/gimpcontrollerinfo.c: made "mapping" a
GParamSpecBoxed and use g_hash_table_unref() instead of destroy().
* app/widgets/gimppdbdialog.c: made "select-type" a GParamSpecGType.
* app/dialogs/module-dialog.c
* app/widgets/gimpcolordisplayeditor.c
* app/widgets/gimpcontrollerlist.c
* app/widgets/gimpfileprocview.c
* app/widgets/gimppluginaction.c: use proper object types, boxed
types and G_TYPE_GTYPE instead of G_TYPE_POINTER for various list
stores and signal signatues.
2006-09-11 Sven Neumann <sven@gimp.org>
* app/core/core-enums.[ch]: use "Solid color" as description for
GIMP_STROKE_STYLE_SOLID.
* app/widgets/gimpstrokeeditor.c: moved "style" control further up
to make it less ambiguous (bug #309740).
* app/dialogs/stroke-dialog.c (stroke_dialog_new): pass the context
to gimp_container_combo_box_new().
2006-09-10 Michael Natterer <mitch@gimp.org>
* app/dialogs/file-save-dialog.c (file_save_dialog_check_uri):
after appending an extension, invoke "response" on the dialog and
bail out, so the file chooser re-runs the overwrite-confirm check.
2006-09-05 Sven Neumann <sven@gimp.org>
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgets.h
* libgimpwidgets/gimphintbox.[ch]: added simple widget to
display
a user hint. Having this as a widget will allow us to change the
look, perhaps even using style properties.
* libgimpwidgets/gimpwidgets.def: added the new symbols.
* app/dialogs/keyboard-shortcuts-dialog.c
* plug-ins/common/colormap-remap.c
* plug-ins/common/redeye.c: use the new widget instead of
duplicating the code.
2006-09-03 Michael Natterer <mitch@gimp.org>
* app/dialogs/palette-import-dialog.[ch]: removed
palette_inport_dialog_show() and palette_import_dialog_destroy()
and don't remember the created dialog internally. Instead, made
palette_import_dialog_new() public.
* app/dialogs/dialogs.c
* app/dialogs/dialogs-constructors.[ch]: register it with the
toplevel dialog factory as singleton toplevel.
* app/actions/palettes-commands.c (palettes_import_cmd_callback):
use the dialog factory to create the palette import dialog.
2006-09-02 Michael Natterer <mitch@gimp.org>
* app/dialogs/quit-dialog.c (quit_close_all_dialog_new): create a
temporary context for the container view so its renderers have one.
2006-09-01 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainercombobox.c: implement set_context() and
set the view renderers' contexts.
(gimp_container_combo_box_insert_item): unselect after inserting
the first item, GimpContainerView doesn't select items by itself.
* app/dialogs/image-new-dialog.c: create a local context for the
combo box, connect to the context's "template-changed" signal
instead of the combo boxed's "select-item", fix some stuff and
don't leak the local GimpTemplate.
2006-08-29 Michael Natterer <mitch@gimp.org>
Changed GimpViewable preview rendering to have a context to get
FG/BG/whatever from. Use the context to enable dynamic FG/BG
colors in gradients. Fixes bug #127676 and bug #352214. Addresses
bug #128367 (doesn't fix it because there's no loading/saving and
no GUI yet).
* app/core/core-enums.[ch]: added enum GimpGradientColor to enable
specifying gradient colors in terms of foreground and background.
* app/core/gimpgradient.[ch]: added color_type members to the
GimpGradientSegment struct and honor them in
gimp_gradient_get_color_at(). Added GimpContext parameters to all
functions which finally call get_color_at().
* app/core/gimp-gradients.c: use the new method to implement the
builtin gradients.
* app/core/gimpviewable.[ch]: added GimpContext parameters to all
get_preview() and get_pixbuf() functions.
* app/core/gimpbrush.c
* app/core/gimpbuffer.c
* app/core/gimpdrawable-preview.[ch]
* app/core/gimpgradient.c
* app/core/gimpimage-preview.[ch]
* app/core/gimpimagefile.c
* app/core/gimppalette.c
* app/core/gimppattern.c
* app/core/gimpundo.[ch]
* app/text/gimpfont.c
* app/vectors/gimpvectors-preview.[ch]: changed ::get_preview()
and ::get_pixbuf() implementations accordingly.
* app/core/gimpdrawable-blend.c
* app/core/gimppalette-import.[ch]
* app/dialogs/dialogs-constructors.c
* app/dialogs/palette-import-dialog.c
* app/dialogs/resize-dialog.c
* app/display/gimpdisplayshell-layer-select.c
* app/display/gimpdisplayshell.c
* app/display/gimpnavigationeditor.c
* app/paint/gimppaintoptions.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimptexttool.c
* app/actions/gradient-editor-commands.c
* app/widgets/gimpaction.c
* app/widgets/gimpbrusheditor.[ch]
* app/widgets/gimpbufferview.c
* app/widgets/gimpcellrendererviewable.c
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpclipboard.c
* app/widgets/gimpcoloreditor.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainerbox.c
* app/widgets/gimpcontainercombobox.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpcontainerentry.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.[ch]
* app/widgets/gimpdataeditor.[ch]
* app/widgets/gimpdevicestatus.c
* app/widgets/gimpdnd.[ch]
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimpgradienteditor.[ch]
* app/widgets/gimpgradientselect.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimppaletteeditor.[ch]
* app/widgets/gimppropwidgets.[ch]
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpthumbbox.[ch]
* app/widgets/gimptoolbox-image-area.c
* app/widgets/gimptoolbox-indicator-area.c
* app/widgets/gimptooloptionseditor.c
* app/widgets/gimpundoeditor.c
* app/widgets/gimpvectorstreeview.c
* app/widgets/gimpview-popup.[ch]
* app/widgets/gimpview.[ch]
* app/widgets/gimpviewablebutton.c
* app/widgets/gimpviewabledialog.c
* app/widgets/gimpviewrenderer.[ch]
* app/widgets/gimpviewrenderer-frame.c
* app/widgets/gimpviewrendererbrush.c
* app/widgets/gimpviewrendererbuffer.c
* app/widgets/gimpviewrendererdrawable.c
* app/widgets/gimpviewrenderergradient.c
* app/widgets/gimpviewrendererimage.c
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/gradient.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/image.pdb: added tons of GimpContext members
and parameters, implement GimpDocked::set_context() in many
widgets. Pass these locally remembered contexts to GimpViewable
functions. Did some minor cleanups on the way. There are still
some minor FIXMEs around where the code uses a NULL context (which
is allowed by the APIs)
* app/pdb/drawable_cmds.c
* app/pdb/gradient_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/image_cmds.c: regenerated.
2006-08-15 Sven Neumann <sven@gimp.org>
* app/dialogs/preferences-dialog.c: do not add a toggle for
"transient-docks" in stable releases (bug #322577).
2006-08-11 Sven Neumann <sven@gimp.org>
* app/widgets/gimpwidgets-utils.[ch]: introduced a simple message
dialog to use when there's no progress but a parent widget.
* app/dialogs/convert-dialog.c
* app/dialogs/palette-import-dialog.c
* app/dialogs/preferences-dialog.c
* app/dialogs/stroke-dialog.c
* app/tools/gimpimagemaptool.c
* app/widgets/gimpactionview.c
* app/widgets/gimpcontrollerlist.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimppdbdialog.c
* app/widgets/gimpvectorstreeview.c: use the new utility function
instead of g_message().