2006-12-22 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-title.c
(gimp_display_shell_format_title): reverted previous change. The
viewable description can have multiple lines, it's not suited for
the window title and statusbar.
2006-12-15 Sven Neumann <sven@gimp.org>
* app/widgets/gimpuimanager.[ch]: added new function
gimp_ui_manager_activate_action() as a shortcut for looking up the
action and activating it.
* app/actions/dialogs-actions.c
* app/display/gimpdisplayshell-close.c
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimppaletteeditor.c
* app/widgets/gimptoolbox.c
* app/widgets/gimptooloptionseditor.c: use the new function.
* app/actions/file-commands.c
* app/dialogs/file-save-dialog.c: minor code cleanup.
2006-12-12 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c: removed button reliefs to
reduce
visual clutter. Added tooltips to the menu and navigation
buttons.
2006-12-12 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_new):
slightly increased size of the quick-mask and zoom-mode buttons.
Also changed the style to not displace the icon when the buttons
are pressed.
* app/display/gimpdisplayshell.[ch]
* app/display/gimpdisplayshell-appearance.c: changed "origin_button"
to "origin". Don't draw it as a button but use an event box just
like we do for the navigation icon in the lower right corner.
* app/display/gimpdisplayshell-title.c
(gimp_display_shell_format_title): use the viewable description
for the drawable's name. We don't want to see "Qmask" in the
statusbar.
* app/widgets/gimpwidgets-utils.c (gimp_button_menu_position): fix
for the case where button is not really a GtkButton but has it's
own window.
* app/widgets/gimphelp-ids.h: changed help ID, removed unused one.
* libgimpwidgets/gimpstock.c
* themes/Default/images/Makefile.am
* themes/Default/images/stock-quick-mask-off-12.png
* themes/Default/images/stock-quick-mask-off-16.png
* themes/Default/images/stock-quick-mask-on-12.png
* themes/Default/images/stock-quick-mask-on-16.png: cropped empty
space from the quick-mask icon.
2006-12-12 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c: only show the Cancel button while
we are displaying a cancelable progress. Also removed obsolete
workaround for a resize problem that doesn't show up any longer.
2006-12-11 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-progress.c
(gimp_display_shell_progress_message): info messages go to the
statusbar, no matter if it's visible or not. We don't want a
dialog to pop up.
2006-12-11 Sven Neumann <sven@gimp.org>
* app/actions/file-commands.c: don't message "Image saved" from
here.
* app/core/gimpimage.[ch]: introduced new signal "saved".
* app/file/file-save.c (file_save): call gimp_image_saved() from
here.
* app/display/gimpdisplay-handlers.c: connect to
GimpImage::saved
and show the "Image saved" message. Makes it show up on all
displays
and regardless of how the file was saved.
* app/display/gimpdisplay.c: fixed typo in comment.
2006-12-11 Sven Neumann <sven@gimp.org>
* app/actions/file-actions.c
* app/actions/file-commands.[ch]
* app/display/gimpdisplayshell-close.c: introduced new action
'file-save-and-close' and moved display deletion there.
2006-11-23 Simon Budig <simon@gimp.org>
* app/display/gimpcanvas.c: Change the color for XOR drawing. This
guarantees that there is always a contrast between the original
image pixels and the stuff drawn on top of it.
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-10-19 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-draw.c (gimp_display_shell_draw_area):
fixed calculation of display area in preparation of fixing bug #362915.
* plug-ins/common/whirlpinch.c: removed unused define.
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.
2006-09-28 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.[ch]: added
gimp_display_shell_message() and a valist variant and decide here
where the message is shown.
* app/actions/edit-commands.c (edit_paste)
* app/tools/gimptool.c (gimp_tool_message): use the new message API.
2006-09-28 Michael Natterer <mitch@gimp.org>
* app/display/gimpstatusbar.[ch]: added _valist() variants
of all printf-style functions.
* app/tools/gimptool.[ch] (gimp_tool_push_status)
(gimp_tool_replace_status)
(gimp_tool_message): take printf-style ... arguments and use the
new valist() variants of the statusbar API to avoid additional
strdups. Revert previous commit from Sven, he will add back that
feature differently right away :)
* app/tools/gimpmeasuretool.c
* app/tools/gimppainttool.c: use the new printf-style status API
where possible.
* app/tools/gimptransformtool.c: accidentially removed
"core/gimp.h", added it back.
2006-09-22 Michael Natterer <mitch@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_progress_style_set):
terminate the spaces string correctly. Spotted by bill.
2006-09-22 Michael Natterer <mitch@gimp.org>
* app/display/gimpstatusbar.[ch]: changed all message setting
functions to use printf-style argument lists. Added new API to
show a temporary message that stays on top regardless of any other
message activity and disappears after 3 seconds.
* app/actions/edit-commands.c: show a statusbar message when
pasting fails because the clipboard contains no image data. Pop a
dialog when "Paste as New" fails. Addresses bug #357059 for
internal functions.
* app/display/gimpdisplayshell-title.c
* app/gui/gui.c
* app/tools/gimptool.c: changed accordingly.
2006-09-22 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_space_released): also look at
shell->space_release_pending when deciding whether to return early.
* app/display/gimpcanvas.[ch]
* app/tools/gimpdrawtool.[ch]: remove recently added code relating
to stippled xor drawing -- not handled well by some display
drivers.
* app/tools/gimprectangletool.c: improve drawing of handles.
Trying to implement some usability recommendations from
Peter Sikking: bigger handles, more feedback to user.
* app/display/gimpcanvas.[ch]: add
GIMP_CANVAS_STYLE_XOR_STIPPLED to set of styles.
* app/tools/gimpdrawtool.[ch]
(gimp_draw_tool_draw_rectangle_stippled): new function.
Needs a better stipple pattern, though.
* app/tools/gimprectangletool.c: bigger handles in corners,
and highlight thing that user is currently moving.
2006-09-12 Michael Natterer <mitch@gimp.org>
Added new tool API for modifier key events while the tool
is active and implement it in the rect select and crop tools.
Fixes bug #316156 and bug #355302.
* app/tools/gimptool.[ch]: added GimpTool::active_modifier_key()
and public function gimp_tool_set_active_motifier_state(). Remember
the active_state at button_press and reset it on button_release.
Ignore releases of modifiers that were pressed at button_press (but
only ignore them once).
* app/tools/tool_manager.[ch]: added wrapper
tool_manager_active_modifier_state_active().
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_events): return FALSE for all modifiers even
when mouse button 1 is pressed.
(gimp_display_shell_canvas_tool_events): when bouse button 1 is
pressed *and* the tool is active, dispatch the new active_modifier
events to tools.
* app/tools/gimpcroptool.c
* app/tools/gimprectangleselecttool.c
* app/tools/gimprectangletool.[ch]: implement active_modifier_key()
instead of modifier_key().
2006-09-12 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-selection.c (selection_undraw):
need
to restart the selection here. Should fix bug #355395 and bug
#355456.
2006-09-12 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
* app/tools/gimpforegroundselecttool.c
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.c
* app/tools/gimprectangletool.c
* app/tools/gimpselectiontool.c
* app/tools/gimpsourcetool.c
* app/tools/gimpvectortool.c: back out change committed on
2006-08-21 which passed modifier events to tools even while mouse1
was down. This generated way too much unexpected events that would
have to be special cased in all tools. Will implement an anternate
solution soon.
2006-09-11 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_ruler_button_press): don't just
unconditionally use the active tool for sample point moving if it
is a GimpColorTool, use it only if it is a GimpColorTool but *not*
a GimpPaintTool with color picking disabled. Fixed bug #355237.
2006-09-08 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c: use coordinates from
the current device when starting to scroll. Grab the keyboard
and
pointer when panning with the space bar.
2006-09-08 Sven Neumann <sven@gimp.org>
* app/config/gimpdisplayconfig.[ch]
* app/config/gimprc-blurbs.h
* app/display/display-enums.[ch]: added new gimprc option
"space-bar-action" and default to "pan". Will add a GUI for this later.
* app/display/gimpdisplayshell-callbacks.c: respect the new option
and either pan the display or push the move tool. Fixes bug #349903.
2006-09-08 Sven Neumann <sven@gimp.org>
* app/core/gimp.[ch]: added function gimp_get_tool_info().
* app/actions/tools-commands.c
* app/actions/vectors-commands.c
* app/tools/gimppainttool.c
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimptoolbox.c: use the new function instead of poking
into gimp->tool_info_list.
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.[ch]: moved code that deals with
the space key into separate functions. Added space_shaded_tool
to GimpDisplayShell instead of using a static variable for it.
* app/tools/tool_manager.c: removed unused include.
2006-09-05 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-selection.c: switch from a short
timeout to an idle handler for starting the animation.
2006-09-04 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c
* app/display/gimpdisplayshell-selection.c: more code cleanup.
Monitor the shell's window visibility and don't run the timeout
if
the shell is fully obscured.
2006-09-04 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-selection.c: more code cleanup.
Monitor the shell's window state and don't run the timeout if
the
shell is withdrawn or iconified.
2006-09-04 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-selection.c: code cleanup. Only
use
a timeout if there is actually a selection and if it is not
hidden.
2006-09-04 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-selection.[ch]: some cleanup.
Made
the Selection struct private and removed unused state member.
Removed redundant parameter from
gimp_display_shell_selection_start().
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.c: changed accordingly.
2006-09-01 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c: use a hash table instead of object
data to maintain context ids. Saves lots of pointless string copies.
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-29 Sven Neumann <sven@gimp.org>
* libgimpbase/Makefile.am
* libgimpbase/gimpbase.h
* libgimpbase/gimprectangle.[ch]: added new files that hold
gimp_rectangle_intersect(), factored out of the core.
* libgimpbase/gimpbase.def: updated.
* app/core/gimp-edit.c
* app/core/gimp-utils.c
* app/core/gimp-utils.h
* app/core/gimpchannel-combine.c
* app/core/gimpdrawable-foreground-extract.c
* app/core/gimpdrawable-transform.c
* app/core/gimpdrawable.c
* app/core/gimpimage-preview.c
* app/core/gimplayer.c
* app/core/gimpscanconvert.c
* app/display/gimpdisplayshell-draw.c: changed includes accordingly.
* libgimp/gimpdrawablepreview.c: don't duplicate
gimp_rectangle_intersect() here, use the function in libgimpbase.
* app/base/siox.c: use gimp_rectangle_intersect() to reduce the
working area to the region of interest. Fixes bug #340422.
2006-08-24 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-preview.c
(gimp_display_shell_draw_tri): just return if gdk_drawable_get_size()
returns 0 for width or height (bug #340056).
* app/display/gimpdisplayshell-callbacks.c: allow modifier key events
for Shift and Control to be propagated even if button1 is down.
* app/tools/gimpclonetool.c
* app/tools/gimpcroptool.c
* app/tools/gimpforegroundselecttool.c
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.c
* app/tools/gimpvectortool.c: change modifier_key method
to prevent any bad consequences.
* app/tools/gimprectangletool.[ch]: add modifier_key handler, and use it
to toggle "make-square" if Shift is pressed while button1 is down, and
"fixed-center" if Control is pressed while button1 is down.
* app/tools/gimprectangleselecttool.c (gimp_rectangle_tool_modifier_key):
call rectangle tool modifer_key method after chaining up.
2006-08-15 Hans Breuer <hans@breuer.org>
* **/makefile.msc app/gimpcore.def : updated
* app/xcf/xcf-save.c(1464) : error C2036: 'void *' : unknown size
pointer arithmetics on void a pointer looks like a GCC extension
* app/tools/gimpbrightnesscontrasttool.c
app/tools/gimpcolorbalancetool.c
app/tools/gimphuesaturationtool.c
app/tools/gimpcolorizetool.c : #include "core/gimp.h" for gimp_message
* app/tools/gimpiscissorstool.c : use RINT() rather than rint()
* app/widgets/gimpcontrollerlist.c : #include "gimpwidgets-utils.h"
for gimp_show_message_dialog
* app/core/gimpprogress.c(229) : 'gimp_progress_message' must
return a value
2006-08-09 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-transform.[ch]: added new function
gimp_display_shell_transform_segments().
* app/display/gimpdisplayshell-selection.c (selection_transform_segs)
* app/tools/gimpregionselecttool.c
(gimp_region_select_tool_calculate): use the new function instead
of looping over the segments.
2006-08-09 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-draw.c (gimp_display_shell_draw_pen)
(gimp_display_shell_draw_vector): use the new transform functions.
* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_lines)
(gimp_draw_tool_draw_strokes): bail out early if num_points == 0.
2006-08-09 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-transform.[ch]: renamed
transform_coords() to transform_coordinate(); same for the
untransform variant. Added new functions transform_points() and
transform_coords() that work on arrays.
* app/display/gimpdisplayshell-autoscroll.c
* app/display/gimpdisplayshell-callbacks.c: changed accordingly.
* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_lines)
(gimp_draw_tool_draw_strokes): use the new transform functions.
2006-08-05 Michael Natterer <mitch@gimp.org>
Applied (modified and enhanced) patch from Chris Moller which allows
tools to distinguish similar colors not only by composite, but also
by R, G, B, H, S and V. Fixes bug #348291.
* app/core/core-enums.[ch]: added new enum GimpSelectCriterion
which can be one of { COMPOSITE, R, G, B, H, S, V }.
* app/core/gimpimage-contiguous-region.[ch]: added
select_criterion params and create the region based on difference
by the selected criterion.
* app/core/gimpchannel-select.[ch]
* app/core/gimpdrawable-bucket-fill.[ch]: take criterion params and
pass them through to the contiguous region functions.
* app/tools/gimpbucketfilloptions.[ch]
* app/tools/gimpselectionoptions.[ch]: added criterion properties
and GUI to select it.
* app/tools/gimpbucketfilltool.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpfuzzyselecttool.c: pass the selected criterion to
the resp. core functions.
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimpselectioneditor.c
* app/display/gimpdisplayshell-dnd.c
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/selection_tools.pdb: changed accordingly
(simply pass GIMP_SELECT_CRITERION_COMPOSITE in most cases).
* app/pdb/edit_cmds.c
* app/pdb/selection_tools_cmds.c: regenerated.
2006-07-13 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_set_cursor): set the
sensitivity of the cursor label before converting the coordinates
to the display unit (bug #347339).
2006-06-29 Sven Neumann <sven@gimp.org>
* app/display/Makefile.am
* app/display/gimpdisplayshell-progress.[ch]: new files,
implementing the GimpProgress interface by delegation to
GimpStatusbar.
* app/display/gimpdisplayshell.c (G_DEFINE_TYPE): call
gimp_display_shell_progress_iface_init().
* app/display/gimpdisplay.c: delegate progress calls to
GimpDisplayShell instead of shell->statusbar.
2006-06-18 Michael Natterer <mitch@gimp.org>
* app/tools/gimptool.[ch]: added virtual functions
GimpTool::has_display(), which returns whether any tool subclass
keeps a pointer to the passed display; and GimpTool::has_image()
which returns a display based on a passed image, or NULL if no
display matches. Added default implementation of
GimpTool::control() which sets tool->display to NULL on HALT.
* app/tools/gimpclonetool.c
* app/tools/gimpdrawtool.c: implement both functions.
* app/tools/gimpclonetool.c: removed weak pointer hacks that are
no longer needed now (and were incomplete anyway).
* app/tools/tool_manager.c (tool_manager_select_tool)
(tool_manager_control_active)
(tool_manager_image_clean_dirty): use the new functions instead of
peeking around in tool subclasses (and forgetting tools that may
have display pointers, like the clone tool)
* app/display/gimpdisplay.c (gimp_display_delete): removed
fiddling with tool internals here too, control(HALT) on the tool
is now sufficient to remove any reference to the closed display.
2006-06-07 Michael Natterer <mitch@gimp.org>
* app/actions/context-commands.c: cosmetic cleanup.
* app/core/core-types.h: move the GimpGuide typedef to the
"misc objects" section.
* app/tools/gimpforegroundselecttool.c: cosmetic cleanup.
* app/tools/gimpmeasuretool.c (gimp_measure_tool_cursor_update):
use the new corner and side cursors instead of using X cursors.
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_tool_events): renamed local variable
"update_cursor" to "update_sw_cursor", it has confused me too
often...
* app/core/gimpguide.c
* app/core/gimpguide.h: new files, implementing GuideGimp as a GimpObject
* app/core/Makefile.am: add new files as sources
* app/core/gimpimage-guides.h
* app/core/gimpimage-guides.c: use the new object instead of defining
GimpGuide here as a struct.
* app/core/gimpimage-crop.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-flip.c
* app/core/gimpimage-resize.c
* app/core/gimpimage-rotate.c
* app/core/gimpimage-scale.c
* app/core/gimpimage-snap.c
* app/core/gimpimage-undo-push.c
* app/core/gimpimage.c
* app/display/gimpdisplayshell-draw.c
* app/display/gimpdisplayshell.c
* app/pdb/guides_cmds.c
* app/tools/gimpmovetool.c
* app/xcf/xcf-save.c
* tools/pdbgen/pdb/guides.pdb: include "core/gimpguide.h", and use
g_object_ref/unref instead of gimp_image_guide_ref/unref.
2006-06-02 Michael Natterer <mitch@gimp.org>
* cursors/Makefile.am
* cursors/cursor-corner-bottom-left.png
* cursors/cursor-corner-bottom-right.png
* cursors/cursor-corner-top-left.png
* cursors/cursor-corner-top-right.png
* cursors/cursor-side-bottom.png
* cursors/cursor-side-left.png
* cursors/cursor-side-right.png
* cursors/cursor-side-top.png
* cursors/xbm/cursor-corner-bottom-left-mask.xbm
* cursors/xbm/cursor-corner-bottom-left.xbm
* cursors/xbm/cursor-corner-bottom-right-mask.xbm
* cursors/xbm/cursor-corner-bottom-right.xbm
* cursors/xbm/cursor-corner-top-left-mask.xbm
* cursors/xbm/cursor-corner-top-left.xbm
* cursors/xbm/cursor-corner-top-right-mask.xbm
* cursors/xbm/cursor-corner-top-right.xbm
* cursors/xbm/cursor-side-bottom-mask.xbm
* cursors/xbm/cursor-side-bottom.xbm
* cursors/xbm/cursor-side-left-mask.xbm
* cursors/xbm/cursor-side-left.xbm
* cursors/xbm/cursor-side-right-mask.xbm
* cursors/xbm/cursor-side-right.xbm
* cursors/xbm/cursor-side-top-mask.xbm
* cursors/xbm/cursor-side-top.xbm: new cursors for edge and corner
resizing. They perfectly align with the small crosshair and can be
used together with tool cursors and cursor modifiers.
* cursors/gimp-tool-cursors.xcf: add them here too.
* app/widgets/widgets-enums.h: add them to the GimpCursorType enum.
* app/widgets/gimpcursor.c: add them here too.
* app/display/gimpdisplayshell-cursor.c: treat them like the small
crosshair (don't replace them by the small crosshair but use them
as-is). Also allow the bad modifier with the large crosshair.
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_cursor_update): use the new cursors. Don't
call gimp_tool_set_cursor() here.
(gimp_rectangle_tool_response): reset "function" to RECT_CREATING
when resetting the tool.
* app/tools/gimpselectiontool.[ch] (struct GimpSelectionTool):
added boolean member "allow_move" which defalts to TRUE.
(gimp_selection_tool_oper_update): don't move masks, floating
selections or anything when "allow_move" is FALSE. Changed
behavior of click inside a selection to simply create a new
selection, need to press alt+shift now to drag-float the
selection. Please test this, it's apretty fundamental change!
(gimp_selection_tool_cursor_update): use the tool's configured
cursor instead of always GIMP_CURSOR_MOUSE, so this function can
be called after gimp_rectangle_tool_cursor_update() to add the
plus, minus etc. modifiers.
* app/tools/gimpnewrectselecttool.c: implement
GimpTool::cursor_update() and call
gimp_rectangle_tool_cursor_update() from there. Chain up to get
the plus, minus etc. modifiers added.
Re-enble selection moving:
(gimp_new_rect_select_tool_oper_update): set GimpSelectionTool's
"allow_move" to FALSE unless the rectangle tool is in an idle
state.
(gimp_new_rect_select_tool_button_press): allow a selection moving
to be started if the rectangle tool is idle. Fall back to starting
a rect select if gimp_selection_tool_start_edit() returned FALSE.
2006-06-01 Michael Natterer <mitch@gimp.org>
* cursors/Makefile.am
* cursors/modifier-bad.png
* cursors/xbm/modifier-bad-mask.xbm
* cursors/xbm/modifier-bad.xbm: new "bad" cursor
modifier. Replaces the "bad" cursor.
* cursors/gimp-tool-cursors.xcf: added it here too.
* app/widgets/widgets-enums.h: added GIMP_CURSOR_MODIFIER_BAD.
* app/widgets/gimpcursor.c: add the bad modifier. Leave the bad
cursor there for now.
* app/display/gimpdisplayshell-callbacks.c
* app/tools/gimpaligntool.c
* app/tools/gimpblendtool.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpclonetool.c
* app/tools/gimpcolortool.c
* app/tools/gimpfliptool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimpmovetool.c
* app/tools/gimptransformtool.c
* app/tools/gimpvectortool.c: use the modifier instead of the
cursor. Fixes hotspot jumping when switching between normal and
bad cursors. The changed cursor_update() functions even make more
sense IMHO. Fixes bug #158407.
2006-05-09 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.c (gimp_image_new)
* app/core/gimpitem.c (gimp_item_configure)
* app/display/gimpdisplay.c (gimp_display_new): make sure IDs wrap
correctly at G_MAXINT and skip IDs which are currently in use.
It makes no sense to treat gimp->image_table and gimp->images
differently, since they keep the same set of images. And it makes
no sense to treat gimp->displays and gimp->images differently.
Moved all container adding into the objects' constructors:
* app/core/gimp.c (gimp_create_image): don't add the new image
to gimp->images here...
* app/core/gimpimage.c (gimp_image_constructor): ...but here.
* app/core/gimp-gui.c (gimp_create_display): don't add the new
display to gimp->displays here...
* app/display/gimpdisplay.c (gimp_display_new): ...but here.
2006-05-07 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-scale.c (gimp_display_shell_scale):
return early if the shell is already at the requested zoom level.
(paranoia addition for bug #165032, which was already fixed by the
fix for bug #164281):
2006-04-27 Sven Neumann <sven@gimp.org>
* libgimpcolor/gimprgb.[ch]: added "has_alpha" to GimpParamSpecRGB.
Made the GimpParamSpecRGB struct public. When validating a color,
only look at the alpha channel if has_alpha is set.
* libgimpconfig/gimpconfig-params.h: added "has_alpha" to
GIMP_CONFIG_INSTALL_PROP_RGB macro definition.
* libgimpconfig/gimpconfig-serialize.c: serialize color values as
"(rgb r g b)" if the param-spec indicates that the alpha channel
is meaningless.
* app/config/gimpconfig-dump.c: take "has_alpha" into account when
documenting color properties.
* app/core/gimpcontext.c
* app/core/gimpgrid.c
* app/display/gimpdisplayoptions.c
* app/text/gimptext.c
* app/widgets/gimpaction.c
* app/widgets/gimpcolorbar.c
* libgimpwidgets/gimpcolorarea.c
* libgimpwidgets/gimpcolorbutton.c: specify whether color properties
have an alpha channel.
* tools/pdbgen/app.pl: handle "has_alpha" for color paramaters.
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/context.pdb
* tools/pdbgen/pdb/grid.pdb
* tools/pdbgen/pdb/image.pdb: set the "has_alpha" flag where
appropriate.
* app/pdb/gimp-pdb-compat.c (gimp_pdb_compat_param_spec): set
"has_alpha" to TRUE for GIMP_PDB_COLOR.
* app/pdb/channel_cmds.c
* app/pdb/context_cmds.c
* app/pdb/gradient_cmds.c
* app/pdb/grid_cmds.c
* app/pdb/image_cmds.c
* app/pdb/palette_cmds.c
* app/pdb/palettes_cmds.c
* app/pdb/selection_tools_cmds.c: regenerated.
* app/config/gimpdisplayconfig.c (gimp_display_config_class_init):
removed unused code.
2006-04-07 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable.[ch]: renamed gimp_drawable_cmap() to
gimp_drawable_get_colormap() and let it return a const array.
* app/core/gimpdrawable-convert.c
* app/core/gimpimage-convert.c
* app/core/gimpselection.c
* app/display/gimpdisplayshell-preview.c: changed accordingly.
2006-04-07 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable.[ch]: renamed gimp_drawable_data() to
gimp_drawable_get_tiles().
[lots of files]: changed accordingly.
2006-03-23 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayoptions.c: avoid code duplication by
using a #define.
* app/config/gimpdisplayconfig.c: for fullscreen mode, default to
the same settings as we do for normal editing mode.
2006-03-17 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-render.c
* app/display/gimpdisplayshell.[ch]
* app/tools/gimpforegroundselectoptions.[ch]
* app/tools/gimpforegroundselecttool.c: allow to use red, green or
blue for the selection preview used by the foreground selection tool.
2006-03-09 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpuimanager.[ch]: added "show-tooltip" and
"hide-tooltip" signals. Connect to each menu item's
enter-notify-event and leave-notify-event. On enter, emit
show-tooltip, on leave emit hide-tooltip.
* app/display/gimpdisplayshell.c: connect to the menubar ui
manager's show-tooltip and hide-tooltip signals and show the tip
in the display's status bar.
2006-03-06 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplay.c (gimp_display_reconnect): keep a
reference on the old image until the display is connected to the
new one. Fixes bug #333568.
* app/display/gimpdisplay-handlers.c: fixed typo in comment.
* app/actions/file-commands.c: cosmetics.
2006-01-18 Michael Natterer <mitch@gimp.org>
* app/config/config-types.c: define GIMP_PARAM_STATIC_STRINGS
which is G_PARAM_STATIC_NAME|NICK|BLURB. Also define
GIMP_PARAM_READABLE, _WRITABLE and _READWRITE which include
GIMP_PARAM_STATIC_STRINGS.
* app/*/*.c: use them for all object properties so their
strings are not copied.
2005-12-29 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_new):
commented out gravity setting. While it's nice with
"resize-windows-on-zoom", it doesn't yield satisfying behaviour in
most cases.
2005-12-29 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdialogfactory.c (gimp_dialog_factories_show_foreach):
fiddle with the "focus-on-map" window hint to prevent the dialogs
from grabbing the focus away from the image window. Fixes bug #167762
for window managers supporting this hint.
* app/display/gimpdisplayshell-callbacks.c: removed redundant call
to gdk_window_focus() that wasn't having the desired effect anyway.
2005-12-29 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdialogfactory.[ch]: split
gimp_dialog_factories_toggle() into two functions. Turned the
tri-state into a simple boolean state. Dialogs are now either
shown or not, without treating the toolbox any special.
* app/actions/dialogs-commands.c
* app/display/gimpdisplayshell-callbacks.c: changed accordingly.
2005-12-10 Michael Natterer <mitch@gimp.org>
* app/config/*.c
* app/core/*.c
* app/display/*.c
* app/text/*.c
* app/vectors/*.c: port to G_DEFINE_TYPE() and friends. Some related
core reordering and cleanup.
2005-11-26 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_unrealize):
new function which destroys the GCs kept by the shell and
unrealizes the navigation popup.
2005-11-14 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_mask_bounds):
return TRUE only if the selection intersects with the viewport, as
expected by gimp_display_shell_selection_invis(), which is the
only caller of this function. Fixes bug #319029.
2005-10-30 Michael Natterer <mitch@gimp.org>
Fixed bug #316395:
* app/actions/dialogs-actions.c (dialogs_dockable_actions)
* app/actions/quick-mask-actions.c (quick_mask_toggle_actions):
added tooltips to action entries.
* app/display/gimpdisplayshell.c (gimp_display_shell_new): use
gimp_widget_set_accel_help() to set the tooltip so it contains
the accelerator.
* app/dialogs/dialogs-constructors.c (dialogs_dockable_constructor):
attach the dialog's identifier to the dockable widget (hack).
* app/widgets/gimpdockbook.c (gimp_dockbook_get_tab_widget): use
the attached identifier to find the action for this dockable in
the dock's UI manager (HACK HACK). Use the found action to set
a tooltip with accelerator.
* app/widgets/gimpwidgets-utils.c (gimp_widget_set_accel_help):
fixed bug in fallback code what should never be used.
2005-09-26 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_new): applied
patch from Robert Ögren that works around problem creating guides
with a tablet on Windows by enabling extension events for the
rulers. Fixes the first problem described in bug #168516.
* configure.in: bumped version to 2.3.5.
2005-09-25 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpwidgets.def
* libgimpwidgets/gimpzoommodel.[ch]: added gimp_zoom_model_zoom()
and changed gimp_zoom_model_get_fraction() to take a model instead
of the zoom factor.
* app/display/gimpdisplayshell.[ch]: use a GimpZoomModel for the
display scale factor.
* app/actions/image-commands.c
* app/actions/view-actions.c
* app/actions/view-commands.c
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpdisplayshell-title.c
* app/display/gimpnavigationeditor.c
* app/display/gimpstatusbar.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpmagnifytool.c: changed accordingly.
2005-09-25 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_tool_events): reordered checks for
the modifiers pressed on <Tab> so NumLock and friends don't
interfere. Fixes bug #317118.
2005-09-25 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpwidgetsenums.h: added more values to the
GimpZoomType enum.
* libgimpwidgets/gimpzoommodel.c (gimp_zoom_model_zoom_step):
handle the new enum values.
* app/actions/view-commands.c (view_zoom_cmd_callback) use the new
values.
* app/display/gimpdisplayshell.c (gimp_display_shell_new): cosmetics.
2005-09-24 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_dialog): set "activates-default" on all
spinbuttons.
* app/widgets/widgets-enums.h: Moved the GimpZoomType enum from here...
* libgimpwidgets/gimpwidgetsenums.h: ...to here.
* app/widgets/widgets-enums.c
* libgimpwidgets/gimpwidgetsenums.c: regenerated.
* app/display/gimpdisplayshell-scale.[ch]: removed
gimp_display_shell_scale_zoom_step and
gimp_display_shell_scale_get_fraction from here...
* libgimpwidgets/gimpzoommodel.[ch]: ... to here so we can use these
utility functions in plug-ins and in the core.
Also removed the step-size property since the zoom-model now use
gimp_zoom_model_zoom_step.
* app/actions/view-commands.c
* app/display/gimpdisplayshell-title.c
* app/display/gimpdisplayshell.c
* app/tools/gimpmagnifytool.c: modified accordingly.
* libgimp/gimpzoompreview.c: don't pass any argument to the
gimp_zoom_model_new function.
* libgimpwidgets/gimpwidgets.def: added gimp_zoom_model_zoom_step
(gimp_zoom_model_get_fraction was already there)
* devel-docs/app/app-sections.txt: removed
gimp_display_shell_scale_zoom_step and
gimp_display_shell_scale_get_fraction.
2005-09-09 Michael Natterer <mitch@gimp.org>
Added parent window API to the GimpProgress interface and to
the libgimp progress stuff. Might look strange, but does
the right thing in almost all cases (image window, file dialog,
script-fu dialog etc). Fixes bug #62988.
* app/core/gimpprogress.[ch]: added GimpProgress::get_window()
which should return a toplevel window ID if the progress is in a
window that wants to be the transient parent of plug-in dialogs.
* app/widgets/gimpwidgets-utils.[ch] (gimp_window_get_native): new
function which returns the window handle of a GtkWindow's GdkWindow.
* app/widgets/gimpfiledialog.c: implement ::get_window().
* app/display/gimpdisplay.[ch]: ditto. Removed window handle API.
* app/gui/gui-vtable.c: changed accordingly.
* libgimpbase/gimpbaseenums.[ch] (enum GimpProgressCommand):
added GIMP_PROGRESS_COMMAND_GET_WINDOW.
* app/plug-in/plug-in-progress.[ch] (plug_in_progress_get_window):
new function. Also renamed some functions to match the
GimpProgress interface, and not the legacy PDB procedure names.
* tools/pdbgen/pdb/progress.pdb
* app/core/gimppdbprogress.c: implement get_window() on both
sides of the wire, keeping backward compatibility (hopefully).
* libgimp/gimpprogress.[ch]: deprecated gimp_progress_install()
and added gimp_progress_install_vtable() which takes a vtable with
padding to be extensible. Added get_window() vtable entry and
dispatch it accordingly. Also added pulse() which was implemented
in a hackish way before. Everything is of course backward
compatible.
* libgimp/gimpprogressbar.c: inmplement the get_window() stuff
so a plug-in dialog containing a progress can be the transient
parent of another dialog in another plug-in.
* libgimp/gimpui.[ch] (gimp_ui_get_progress_window): new function
which returns a foreign GdkWindow of this plug-ins progress
window.
Renamed gimp_window_set_transient_for_default_display() to
gimp_window_set_transient() and make it use the progress' window
handle instead of the display's (which is the right thing to do in
almost all cases).
* libgimp/gimp.def
* libgimp/gimpui.def: add the new functions.
* tools/pdbgen/enums.pl
* app/pdb/internal_procs.c
* app/pdb/progress_cmds.c
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* libgimp/gimpexport.c
* plug-ins/*/*.c: follow API change.
2005-09-05 Sven Neumann <sven@gimp.org>
Address bug #307971:
* app/core/gimp-gui.[ch]
* app/display/gimpdisplay.[ch]
* app/gui/gui-vtable.c
* tools/pdbgen/pdb/display.pdb: added PDB function to obtain a
window handle on an image display.
* app/pdb/display_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpdisplay_pdb.[ch]: regenerated.
* libgimp/gimpui.[ch]: added functions to set a GtkWindow transient
to an image display.
* plug-ins/common/gauss.c: use the new function exemplarily.
* libgimp/gimp.def
* libgimp/gimpui.def: updated.
2005-08-08 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-draw.c (gimp_display_shell_get_pen_gc)
* app/tools/gimpforegroundselecttool.c: use round joins for the
brush strokes.
2005-08-06 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-draw.c (gimp_display_shell_draw_pen):
* app/tools/gimpforegroundselecttool.c: ccorrectly handle a stroke
consisting of just a single point.
2005-08-06 Sven Neumann <sven@gimp.org>
* app/display/gimpcanvas.c (gimp_canvas_set_custom_gc) do not
drop the reference if the same custom GC is being set again.
* app/display/gimpdisplayshell-draw.[ch]
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell.[ch]: added GC and methods to draw
on the canvas with a solid pen.
* app/tools/gimpforegroundselectoptions.[ch]
* app/tools/gimpforegroundselecttool.c: draw using the new pen
functions. Scale the stroke width with the display scale.
2005-07-31 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-render.c
* app/display/gimpdisplayshell.[ch]: removed the overlay again.
This needs to be done differently.
* app/tools/gimpforegroundselecttool.c: changed accordingly.
2005-07-30 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-render.c
* app/display/gimpdisplayshell.[ch]: renamed overlay to mask and
added a different overlay implementation that will be needed to
finish the new foreground-select tool.
* app/tools/gimpforegroundselecttool.c: changed accordingly.
2005-07-30 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-render.c
* app/display/gimpdisplayshell.[ch]: added
gimp_display_shell_set_overlay(); allows to overlay a mask over the
display to visualize a selection.
* app/tools/gimpforegroundselecttool.[ch]: use the new functionality
to display the selection. Escape cancels the tool, Enter applies the
selection.
2005-06-24 Tor Lillqvist <tml@novell.com>
* app/display/gimpcanvas.h: Add new GimpCanvasStyle value,
GIMP_CANVAS_STYLE_XOR_DOTTED.
* app/display/gimpcanvas.c (gimp_canvas_gc_new): Implement it like
GIMP_CANVAS_STYLE_XOR_DASHED, except that we set the dash pattern
to a single-pixel on-off one.
* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_boundary): Sort
the boundary so that we can draw each connected group of segments
using gimp_canvas_draw_lines(). (Even if we would still use
gimp_canvas_draw_segments(), the boundary would have to be sorted
so that the XOR drawing and GDK_CAP_NOT_LAST cooperate properly.)
Use GIMP_CANVAS_STYLE_XOR_DOTTED so the outline doesn't look too
heavy.
Remove the dubious code snippet that offset some segments by one
pixel. It didn't do what the comment claimed, and why one would
need to do what the comment said, or what it actually did, is
unclear.
Now brush outlines shouldn't have gaps any longer. (#308710)
2005-06-20 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_new): set the
gravity of the image window to CENTER. Gives much better behaviour
for "resize-windows-on-zoom".
2005-05-31 Michael Natterer <mitch@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_init): enable
ellipsation on the progressbar. Fixes initial display width
calculation for long statusbar strings.
2005-05-18 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-appearance.c
* app/display/gimpdisplayshell.c: removed the 2px border and
replaced it with a 1px spacing in the main vbox. Makes the screen
edges active when working in fullscreen mode (bug #165774).
2005-05-18 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.c: hack around with gtk+ widget
styles to get rid of the menubar padding in fullscreen mode.
2005-05-11 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplay.c: added a read-only property to access
the display-shell w/o having to include gimpdisplay.h.
2005-05-11 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-scale.c (gimp_display_shell_scale):
also zoom on mouse position if the event originates from the canvas
(see bug #79384).
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_tool_events): replaced a g_warning()
with g_return_if_fail().
2005-05-11 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_shrink_wrap):
return silently instead of warning if the window hasn't been
realized. This happens as part of the setup process if
"resize-windows-on-zoom" is selected in the prefs.
2005-05-09 Sven Neumann <sven@gimp.org>
* app/base/tile-manager.c: inline tile_manager_get_tile_num().
* app/display/gimpdisplayshell-render.c (render_image_tile_fault):
reverted one of the changes I did here earlier.
2005-05-06 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_by_values): abort early if the values are
all setup already. Fixes bug #164281.
2005-04-27 Sven Neumann <sven@gimp.org>
* app/base/tile-manager.c (tile_manager_get_tile): removed
redundant check.
* app/display/gimpdisplayshell-render.c: don't access the next
tile if we are at the end of the render loop anyway.
2005-04-27 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-colormap.[ch]: declared the return value of
gimp_image_get_colormap() as const.
* app/display/gimpdisplayshell-render.c: added some const qualifiers.