2008-06-02 Sven Neumann <sven@gimp.org>
* app/actions/tools-actions.c: added a few more actions to set
tool values to default values. Added "backslash" as the default
shortcut for "tools-value-2-set-to-default", which is
effectively
"Reset Brush Scale" (bug #493030).
svn path=/trunk/; revision=25881
2008-05-31 Martin Nordholts <martinn@svn.gnome.org>
Add keyboard shortcut support for reseting to default value of
e.g. brush scale. Fixes bug #493030.
* app/actions/actions.[ch]: Make action_select_value() take a
default-parameter and add support for it. Also use default_value
from gint and gdouble param specs.
* app/actions/actions-types.h: Added
GIMP_ACTION_SELECT_SET_TO_DEFAULT.
* app/actions/tools-actions.c: Add _SET_TO_DEFAULT actions.
* app/actions/view-commands.c:
* app/actions/layers-commands.c:
* app/actions/context-commands.c: Pass defaults to
action_select_property().
svn path=/trunk/; revision=25874
2008-05-31 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprotatetool.c (gimp_rotate_tool_key_press):
Implemented this function to support rotating with arrow keys. See
bug #387779.
svn path=/trunk/; revision=25873
2008-05-30 Martin Nordholts <martinn@svn.gnome.org>
Made moving the selection mask in the varoius ways automatically
commit any pending rectangle/ellipse selection. Fixes bug #349340.
* app/tools/gimprectangleselecttool.c
(gimp_rectangle_select_tool_oper_update): Don't disable support
for moving the selection mask.
(gimp_rectangle_select_tool_button_press): Handle delegation to
the selection tool.
(gimp_rectangle_select_tool_delegate_button_press): New helper
function.
(gimp_rectangle_select_tool_execute): Guard against NULL
tool->display:s.
svn path=/trunk/; revision=25872
2008-05-30 Sven Neumann <sven@gimp.org>
* app/dialogs/module-dialog.c: tell the user that a restart is
needed for the changes to take effect.
svn path=/trunk/; revision=25871
2008-05-30 Sven Neumann <sven@gimp.org>
* app/dialogs/module-dialog.c: cleaned up the UI a bit. Removed
some information and a button that was not really useful. Only
show the error state when there is actually an error.
* app/actions/dialogs-actions.c: changed menu item to "Module
Manager".
svn path=/trunk/; revision=25867
2008-05-29 Sven Neumann <sven@gimp.org>
* app/display/gimpscalecombobox.c (gimp_scale_combo_box_init):
unset the entry's frame instead of reducing the inner border.
svn path=/trunk/; revision=25858
2008-05-29 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c (gimp_rectangle_tool_motion): Also
show the plain aspect ratio in the status bar along with the
rectangle size information.
svn path=/trunk/; revision=25847
2008-05-28 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_setup): set the display unit on the ruler.
* libgimpwidgets/gimphruler.c (gimp_hruler_draw_ticks)
* libgimpwidgets/gimpvruler.c (gimp_vruler_draw_ticks): hack around
to get nicer subdivisions for rulers showing pixels.
svn path=/trunk/; revision=25839
2008-05-27 Michael Natterer <mitch@gimp.org>
* app/tools/gimppaintoptions-gui.c: don't add the gradient box for
the blend tool. Clean up the code by moving the checks for the
tool type out of the utility functions into the main
gimp_paint_options_gui() function.
* app/tools/gimpblendoptions.c: add the gradient box here.
svn path=/trunk/; revision=25826
2008-05-27 Sven Neumann <sven@gimp.org>
* app/widgets/gimpscalebutton.c (gimp_scale_button_image_expose):
rotated the button graphics and fixed it for 'right-to-left'
rendering.
svn path=/trunk/; revision=25825
2008-05-27 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-coords.c: revert velocity limit to
1.0, this part of the patch shouldn't have been applied.
svn path=/trunk/; revision=25824
2008-05-27 Sven Neumann <sven@gimp.org>
* app/paint/gimpconvolve.c: make Convolve work with very thin
brushes, then convolving only in one direction (bug #533791).
svn path=/trunk/; revision=25823
2008-05-26 Sven Neumann <sven@gimp.org>
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgets.h
* libgimpwidgets/gimpwidgetstypes.h
* libgimpwidgets/gimpruler.[ch]
* libgimpwidgets/gimphruler.[ch]
* libgimpwidgets/gimpvruler.[ch]: added ruler widgets. These are
mostly copied from GTK+ and work as a drop-in replacement for
GtkRuler and friends.
* libgimpwidgets/gimpwidgets.def: updated.
* app/display/gimpdisplayshell.c
* app/display/gimpdisplayshell-scale.c
* app/dialogs/resolution-calibrate-dialog.c
* plug-ins/imagemap/imap_preview.c
* plug-ins/gfig/gfig-preview.c: use the GimpRuler widgets.
svn path=/trunk/; revision=25820
2008-05-26 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpscalebutton.c (gimp_scale_button_new): use
GTK_ICON_SIZE_MENU for the scale button.
svn path=/trunk/; revision=25817
2008-05-26 Michael Natterer <mitch@gimp.org>
Applied modified patch from Alexia Death. Addresses bug #534770:
* app/paint/gimppaintoptions.[ch]: add properties for scaling
the effects of pressure, velocity and hardness and honor them
in the various get_dynamic_foo() functions.
(gimp_paint_options_get_dynamic_size): look at
pressure_options->size again, that code got lost in one of the
earlier patches.
* app/tools/gimppaintoptions-gui.c: add GimpScaleButtons to the
table for the new properties.
* app/display/gimpdisplayshell-coords.c: don't let "velocity"
reach 1.0, use 0.9999 instead.
svn path=/trunk/; revision=25816
2008-05-26 Michael Natterer <mitch@gimp.org>
* app/paint/gimppaintoptions.[ch]: replace the identical
GimpPressureOptions, GimpVelocityOptions and GimpRandomOptions
struct by a single GimpDynamicOptions struct.
* app/tools/gimppaintoptions-gui.c: don't pass the various
sub-structs to the _options_gui() function because they are not
needed.
svn path=/trunk/; revision=25814
2008-05-26 Sven Neumann <sven@gimp.org>
* app/widgets/gimppropwidgets.c
* app/widgets/gimpscalebutton.[ch]: some fiddling to get the step
and page sizes right.
svn path=/trunk/; revision=25810
2008-05-25 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpfreeselecttool.c
(gimp_free_select_tool_prepare_for_move)
(gimp_free_select_tool_revert_to_saved_state)
(gimp_free_select_tool_move_segment_vertex_to): Handle the special
case when there is only one point, so that moving segment vertices
works even if there only is one.
svn path=/trunk/; revision=25798
2008-05-25 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpfreeselecttool.c: For completeness, comment on
some uncommented instance-private variables.
svn path=/trunk/; revision=25797
2008-05-25 Martin Nordholts <martinn@svn.gnome.org>
Added support for supressing handles by holding Shift in the Free
Select Tool so that new segments can be created where handles
would otherwise obstruct.
* app/tools/gimpfreeselecttool.c
(gimp_free_select_tool_handle_segment_selection): Renamed, and
only select segment vertices if handles are not supressed.
(gimp_free_select_tool_modifier_key): Make Shift toggle supressing
handles.
(gimp_free_select_tool_draw): Don't draw the handles if they are
supressed.
(gimp_free_select_tool_should_close): Only accept distance from
start point as a reason to close the polygon if the handles are
not supressed.
svn path=/trunk/; revision=25795
2008-05-25 Martin Nordholts <martinn@svn.gnome.org>
Added support for double-clicking in the Free Select Tool. A
double-click will commit the selection.
* app/tools/gimpfreeselecttool.c
(gimp_free_select_tool_get_double_click_info): Helper function to
retrive GTK+ double-click settings.
(gimp_free_select_tool_should_close): Take double-clicking into
account.
(gimp_free_select_tool_revert_to_saved_state): Bail out if needed.
(gimp_free_select_tool_button_release): Pass on time when
clicking.
(gimp_free_select_tool_handle_click): Pass time to this function,
and modify it to handle double-clicks.
svn path=/trunk/; revision=25794
2008-05-25 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpfreeselecttool.c
(gimp_free_select_tool_handle_click): A click might have slightly
adjusted the points, so revert before doing the selection.
(gimp_free_select_tool_revert_to_saved_state): Move definition up
a bit.
svn path=/trunk/; revision=25792
2008-05-25 Martin Nordholts <martinn@svn.gnome.org>
Make moving selection mask/pixels within the selection work for
the Free Select Tool, as well as interaction with any resulting
floating selection.
* app/tools/gimpfreeselecttool.c
(gimp_free_select_tool_handle_click): Handle floating selections.
(gimp_free_select_tool_status_update): Show the inital
instructions until there are 3 or more segment vertices, rather
than 3 or more points.
(gimp_free_select_tool_oper_update): When there is no active tool,
show selection tool status bar help messages instead of the tool
specific ones.
(gimp_free_select_tool_delegate_button_press): New helper function
to decide wether to delgate operation to the selection tool.
(gimp_free_select_tool_button_press): Handle delegation to the
selection tool.
svn path=/trunk/; revision=25791
2008-05-24 Michael Natterer <mitch@gimp.org>
* app/tools/gimppaintoptions-gui.c: fix dynamics grid label
positions for RTL mode by attaching the fixed to the table *after*
the toggle buttons (eek). See comment in the code.
svn path=/trunk/; revision=25790
2008-05-24 Martin Nordholts <martinn@svn.gnome.org>
Kill the Polygon Select Tool. The Free Select Tool now provides a
superset of the old Polygon Select Tool functionality. We still
keep the tool icons etc around though, they might come in useful
in the future.
* app/tools/gimppolygonselecttool.[ch]: Removed.
* app/tools/Makefile.am: Removed gimppolygonselecttool.[ch].
* app/tools/gimp-tools.c (gimp_tools_init): Don't register the
Polygon Select Tool.
* app/widgets/gimphelp-ids.h: Remove
GIMP_HELP_TOOL_POLYGON_SELECT.
svn path=/trunk/; revision=25783
2008-05-23 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpfreeselecttool.c
(gimp_free_select_tool_draw): Draw handles within HANDLE_SIZE * 7
distance from cursor instead of only showing the hovered handle.
(gimp_free_select_tool_oper_update): Remember last coordinates
given here, so we can do above calculations.
svn path=/trunk/; revision=25782
2008-05-23 Michael Natterer <mitch@gimp.org>
* app/tools/gimppaintoptions-gui.c: left-align the labels in the
new dynamics matrix. Add some code for RTL layout that doesn't
work properly yet.
svn path=/trunk/; revision=25772
2008-05-22 Michael Natterer <mitch@gimp.org>
* app/paint/gimpbrushcore.c (gimp_brush_core_interpolate): move
generating the random axis to the right place.
svn path=/trunk/; revision=25766
2008-05-22 Michael Natterer <mitch@gimp.org>
* app/paint/gimppaintoptions.[ch]: replace the pressure-expanded,
velocity-expanded and random-expanded properties by a single
dynamics-expanded property.
* app/tools/gimppaintoptions-gui.c: pack the toggle matrix into an
expander, some cleanup.
svn path=/trunk/; revision=25765
2008-05-22 Michael Natterer <mitch@gimp.org>
* app/tools/gimppaintoptions-gui.c: revert accidential change of
all occurences of "hardness" to "pressure" in strings and function
names.
svn path=/trunk/; revision=25764
2008-05-22 Michael Natterer <mitch@gimp.org>
* app/tools/gimppaintoptions-gui.c: factor out a utility function
that creates a dynamics check button.
svn path=/trunk/; revision=25763
2008-05-22 Michael Natterer <mitch@gimp.org>
* app/tools/gimppaintoptions-gui.c: first version of a matrix of
toggles for the dynamics parameters instead of three expanders.
svn path=/trunk/; revision=25762
2008-05-22 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpfreeselecttool.c: Base a start of a new segment on
the pending point, and enable 15 degree constraints on the pending
point when Ctrl is being held down.
svn path=/trunk/; revision=25761
2008-05-22 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpfreeselecttool.[ch]
* app/tools/gimpforegroundselecttool.c: Fix that some
gimp_free_select_tool_-functions had the wrong name.
svn path=/trunk/; revision=25759
2008-05-22 Michael Natterer <mitch@gimp.org>
Applied slightly modified and fixed patch from Alexia Death which
adds a "random" axis to the paint dynamics and fixes some issues
in the previous paint dynamics commits. Fixes bug #529431.
* app/core/core-types.h: add a "random" axis to GimpCoords.
* app/display/gimpdisplayshell-coords.c: set it to a random value.
* app/display/gimpdisplayshell-callbacks.c: on button_press,
use the dynamics from the last motion event to avoid blotches
at the beginning of paint strokes.
* app/paint/gimppaintoptions.[ch]: add random properties the same
way we do pressure and velocity. Add get_dynamic_size(),
get_dynamic_color() and get_dynamic_hardness() functions which
look at all dynamic parameters of the passed coords.
* app/tools/gimppaintoptions-gui.c: add gui for the random options.
* app/paint/gimpbrushcore.[ch]: remove calc_brush_scale() and use
gimp_paint_options_get_dynamic_size_instead().
Add "dynamic_hardness" parameters to paste_canvas(),
replace_canvas() and get_brush_mask().
* app/paint/gimpairbrushoptions.c
* app/paint/gimpclone.c
* app/paint/gimpconvolve.c
* app/paint/gimpdodgeburn.c
* app/paint/gimperaser.c
* app/paint/gimpheal.c
* app/paint/gimppaintbrush.c
* app/paint/gimpsmudge.c: calculate the dynamic hardness and pass
it to above brush core functions. Use the get_dynamic_color() to
calculate the gradient color.
svn path=/trunk/; revision=25758
2008-05-22 Sven Neumann <sven@gimp.org>
* app/tools/gimpposterizetool.c (gimp_posterize_tool_dialog):
use a logarithmic slider.
svn path=/trunk/; revision=25757
2008-05-22 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpfreeselecttool.c: Remember the selection operation
in use when the tool was started, and use that when doing the
selection. Improvements are still to be made with regards to
synchronizing the tool options with the selection operation
actually used.
svn path=/trunk/; revision=25756
2008-05-22 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.c: check if the tool class has
the "settings_name" string set to decide whether to add
the settings GUI.
* app/tools/gimpdesaturatetool.c
* app/tools/gimpposterizetool.c: don't set any settings
strings. Presets make no sense for tools with just one parameter.
svn path=/trunk/; revision=25755
2008-05-22 Sven Neumann <sven@gimp.org>
* app/tools/gimp-tools.c (gimp_tools_init): added a call to
gimp_tool_options_create_folder().
* app/core/gimp-user-install.c (gimp_user_install_items): no need
to create the tool-options folder here if we are doing that on
each startup.
svn path=/trunk/; revision=25749
2008-05-22 Sven Neumann <sven@gimp.org>
* app/tools/gimpcurvestool.c (gimp_curves_tool_dialog): use a
combo-box for the curve type.
svn path=/trunk/; revision=25748
2008-05-22 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpfreeselecttool.c
(gimp_free_select_tool_cursor_update): Don't return in the middle
of the function.
svn path=/trunk/; revision=25746
2008-05-21 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpforegroundselecttool.c
(gimp_foreground_select_tool_oper_update): "Draw a rough circle
around the object to extract" -> "Rougly outline the object to
extract".
svn path=/trunk/; revision=25743
2008-05-21 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpfreeselecttool.[ch]: Don't expose implementation
details.
* app/tools/gimpforegroundselecttool.c
(gimp_foreground_select_tool_select): Use new
gimp_free_select_get_points() functions since we don't know
anything about how the Free Select Tool is implemented any longer.
svn path=/trunk/; revision=25742
2008-05-21 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.[ch]
* app/tools/gimpimagemaptool-settings.c: turn the ugly row of
favorites options buttons into a menu that's attached to an arrow
button right of the favorites combo.
svn path=/trunk/; revision=25741
2008-05-21 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable-process.c (gimp_drawable_process): add
missing include and missing call to gimp_drawable_mask_intersect().
svn path=/trunk/; revision=25736
2008-05-21 Martin Nordholts <martinn@svn.gnome.org>
Made the Foreground Select Tool work again.
* app/tools/gimpforegroundselecttool.c
(gimp_foreground_select_tool_control): Set tool->display =
NULL when halting the tool.
(gimp_foreground_select_tool_button_press): Only activate the
tool control if it is not active (it might be actived already
by the Free Select Tool).
* app/tools/gimpfreeselecttool.c
(gimp_free_select_tool_commit): Don't _halt explicitly
here. If a tool implementation wants to halt in this
situation, let them do that in their
GimpFreeSelectTool::select() instead.
svn path=/trunk/; revision=25735
2008-05-21 Sven Neumann <sven@gimp.org>
* app/core/Makefile.am
* app/core/gimpdrawable-process.[ch]: new file holding code to
apply a PixelProcessor to the full drawable.
* app/core/gimpdrawable-desaturate.c
* app/core/gimpdrawable-invert.c: use the new helper function.
* app/core/gimpdrawable-desaturate.[ch]
(gimp_drawable_desaturate):
take a GimpProgress parameter.
* tools/pdbgen/pdb/color.pdb: changed accordingly.
* app/pdb/color-cmds.c: regenerated.
svn path=/trunk/; revision=25734
2008-05-21 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpfreeselecttool.c
(gimp_free_select_tool_status_update): Slightly improve one of the
status bar messages.
svn path=/trunk/; revision=25733
2008-05-21 Sven Neumann <sven@gimp.org>
* app/base/desaturate.[ch]: changed to take a pointer as first
argument as all PixelProcessor functions.
* app/core/gimpdrawable-desaturate.c: changed accordingly.
* app/tools/gimpdesaturatetool.[ch]: added legacy code path.
svn path=/trunk/; revision=25730
2008-05-21 Sven Neumann <sven@gimp.org>
* app/base/Makefile.am
* app/base/desaturate.[ch]: moved legacy desaturate code here.
* app/core/gimpdrawable-desaturate.c: use the code in app/base.
svn path=/trunk/; revision=25728
2008-05-21 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpoperationdesaturate.c
(gimp_operation_desaturate_process): bail out if there is no
config object.
svn path=/trunk/; revision=25727
2008-05-21 Sven Neumann <sven@gimp.org>
Add Desaturate as an image-map tool with live preview (bug #533808):
* app/gegl/Makefile.am
* app/gegl/gegl-types.h
* app/gegl/gimpdesaturateconfig.[ch]: added config object for the
desaturate point filter.
* app/gegl/gimpoperationdesaturate.[ch]: derive from
GimpOperationPointFilter. Unrolled the inner loop.
* app/core/gimpdrawable-desaturate.c: changed accordingly.
* app/tools/Makefile.am
* app/tools/gimpdesaturatetool.[ch]: added desaturate as an
imagemap tool. So far only the GEGL code path is implemented.
* app/tools/gimp-tools.c: register the new tool.
* app/dialogs/dialogs.c: register the new tool dialog.
* app/dialogs/Makefile.am
* app/dialogs/desaturate-dialog.[ch]: removed the desaturate dialog.
* app/actions/drawable-actions.c
* app/actions/drawable-commands.[ch]: removed action
"drawable-desaturate".
* app/widgets/gimphelp-ids.h: changed help IDs accordingly.
* menus/image-menu.xml.in: replaced "drawable-desaturate" with
"tools-desaturate".
* libgimpwidgets/gimpstock.h: added a define for
GIMP_STOCK_TOOL_DESATURATE.
svn path=/trunk/; revision=25726
2008-05-20 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpimagemapconfig.[ch]: new GimpViewable subclass
which has a "time" property. Sets the object's name to a date
string if a time != 0 gets set. Has a compare function which first
sorts the objects with a timestamp in MRU order and then the
objects without timestamp by name.
* app/gegl/gimpbrightnesscontrastconfig.[ch]
* app/gegl/gimpcolorbalanceconfig.[ch]
* app/gegl/gimpcolorizeconfig.[ch]
* app/gegl/gimpcurvesconfig.[ch]
* app/gegl/gimphuesaturationconfig.[ch]
* app/gegl/gimplevelsconfig.[ch]
* app/gegl/gimpposterizeconfig.[ch]
* app/gegl/gimpthresholdconfig.[ch]: derive from GimpImageMapConfig.
* app/tools/gimpimagemaptool.c: sort the settings container with
above compare function.
* app/tools/gimpimagemaptool-settings.c: add utility functions
for loading and saving the settings container. In the settings
combo, add a separator between MRU items and favorites.
* app/Makefile.am: make the thing link.
svn path=/trunk/; revision=25724
2008-05-20 Michael Natterer <mitch@gimp.org>
* app/core/gimplist.c (gimp_list_uniquefy_name): don't crash if an
object has a NULL name. Move variables to local scopes. Remove
redundant casts.
svn path=/trunk/; revision=25723
2008-05-20 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpfreeselecttool.c: Increase handle size to 12
pixels (the same size as for the Paths Tool).
svn path=/trunk/; revision=25722
2008-05-20 Martin Nordholts <martinn@svn.gnome.org>
Added statusbar help-messages for the Free Select Tool.
* app/tools/gimpfreeselecttool.c
(gimp_free_select_tool_oper_update): Don't bail out if
tool->display is NULL, instead modify the underlying logic to deal
with this.
svn path=/trunk/; revision=25721
2008-05-20 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.c (gimp_image_map_tool_add_recent):
unref the new settings object after adding it to the recent
container.
* app/tools/gimpimagemaptool-settings.c: add a "Save to Favorites"
button which pops a string entry dialog and saves the current
settings to the recent container.
svn path=/trunk/; revision=25719
2008-05-20 Michael Natterer <mitch@gimp.org>
* app/tools/Makefile.am
* app/tools/gimpimagemaptool-settings.[ch]: new files containing
all the recent settings and settings load/save GUI and code. Got
rid of shortcut loading/saving using shift+click. Added default
implementations of ::settings_load() and ::settings_save().
The GUI is currently horrible, work in progress!
* app/tools/gimpimagemaptool.c: removed the settings code here.
* app/tools/gimpcurvestool.c * app/tools/gimplevelstool.c: don't
pack the load and save buttons, this is done generically for all
tools now.
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcolorizetool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c: set the load/save related members
of GimpImageMapToolClass.
svn path=/trunk/; revision=25718
2008-05-20 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/gimptoggleaction.[ch]
* app/widgets/gimpradioaction.[ch]: added new action types derived
from GtkToggleAction and GtkRadioAction. These types override the
"connect_proxy" method to enable tooltips in menus.
* app/widgets/gimpactiongroup.c: use the new action types.
* app/actions/dockable-actions.c: added a tooltip for the
"dockable-lock-tab" action.
svn path=/trunk/; revision=25717
2008-05-19 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdockable.[ch]
* app/widgets/gimpdockbook.[ch]: added a "locked" propery to
GimpDockable. A locked dockable cannot be moved by drag-n-drop.
Allows users to protect their dockables from accidental changes,
mainly when working with a tablet.
* app/widgets/gimpsessioninfo-dockable.[ch]: store the "locked"
property in the session info.
* app/actions/dockable-actions.c
* app/actions/dockable-commands.[ch]: added an action for
toggling
the "locked" state.
* app/widgets/gimphelp-ids.h: new help-id "gimp-dock-tab-lock".
* menus/dockable-menu.xml.in: show the new menu item.
* app/actions/plug-in-actions.c: formatting.
svn path=/trunk/; revision=25715
2008-05-19 Michael Natterer <mitch@gimp.org>
Unabstract image map tool settings load/save a bit before it's
turned into generic load/save for all image map tools:
* app/gegl/gimpcurvesconfig.[ch]
* app/gegl/gimplevelsconfig.[ch]: add GError** to save_cruft()
functions.
* app/tools/gimpimagemaptool.[ch]: add GError to
::settings_save(), changed "file" parameter of ::settings_load()
and ::settings_save() to "filename", removed
gimp_image_map_tool_load_save() utility function and moved the
code to the settings_load() and settings_save() utility functions.
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c: changed accordingly. Open and close
the settings files here.
svn path=/trunk/; revision=25714
2008-05-19 Michael Natterer <mitch@gimp.org>
* app/core/gimpcurve.c
(gimp_curve_set_n_points)
(gimp_curve_set_n_samples): set "identity" to TRUE if appropriate.
(gimp_curve_calculate): don't set it to TRUE when there are no
control points.
svn path=/trunk/; revision=25708
2008-05-19 Sven Neumann <sven@gimp.org>
* app/core/gimpcurve-map.c (gimp_curve_map_pixels): fixed the call
to memcpy() in the CURVE_NONE case.
svn path=/trunk/; revision=25707
2008-05-18 Michael Natterer <mitch@gimp.org>
* app/core/gimpcurve.c: implement (de)serializing of the points
and samples arrays using GValueArray. Set "identity" to FALSE
after deserializing.
svn path=/trunk/; revision=25704
2008-05-18 Michael Natterer <mitch@gimp.org>
* libgimpconfig/gimpconfig-serialize.[ch]
* libgimpconfig/gimpconfig.def: add
gimp_config_serialize_property_by_name().
* app/gegl/gimpcolorbalanceconfig.c
* app/gegl/gimpcurvesconfig.c
* app/gegl/gimphuesaturationconfig.c
* app/gegl/gimplevelsconfig.c: implement serialize() and
deserialize() and make sure the properties which change when the
channel/range property changes are handled correctly. Not too
ugly but it's still a hack...
svn path=/trunk/; revision=25703
2008-05-18 Michael Natterer <mitch@gimp.org>
* app/tools/gimpimagemaptool.c: made the lists of recent settings
persistent. Note that the settings of tools that modify multiple
channels or ranges are saved incompletely because their settings
still lack custom serialize() implementations. Work in progress.
svn path=/trunk/; revision=25702
2008-05-18 Michael Natterer <mitch@gimp.org>
* app/core/gimptoolinfo.[ch]: add
gimp_tool_info_build_options_filename() which creates a filename
under $GIMPDIR/tool-options/ with an optional suffix.
* app/core/gimptooloptions.c
* app/core/gimptoolpresets.c: use it and remove own build_filename()
functions.
svn path=/trunk/; revision=25701
2008-05-18 Michael Natterer <mitch@gimp.org>
* app/core/gimpstrokeoptions.[ch]: renamed public function
set_dash_pattern() to take_dash_pattern() to clarify memory
management of the passed GArray.
* app/widgets/gimpdasheditor.c
* app/widgets/gimpstrokeeditor.c: changed accordingly.
svn path=/trunk/; revision=25700
2008-05-18 Michael Natterer <mitch@gimp.org>
* app/core/gimpcurve.c: implement the GimpConfig interface and add
the code for equal(), reset() and copy() from GimpCurvesConfig.
* app/gegl/gimpcurvesconfig.c: remove the copied code and use
GimpConfig methods to compare, reset and copy curve objects.
svn path=/trunk/; revision=25699
2008-05-18 Martin Nordholts <martinn@svn.gnome.org>
Applied patch from Alexia Death that makes velocity dynamics
controlled scale properly recalculate the brush mask when
necessary (bug #533618).
* app/paint/gimpbrushcore.[ch] (gimp_brush_core_scale_mask): A
change in scale requires a recalculation of the cached brush mask.
svn path=/trunk/; revision=25696
2008-05-18 Martin Nordholts <martinn@svn.gnome.org>
Merged the Polygon Select Tool capabilities with the Free Select
Tool. Among the things still to do is improved help texts, more
suitable graphics, and cursor mangement, but the core
functionality is in place. Thanks to Alexia Death for initial
testing. It will also be neccesary to do some work to adapt the
Foreground Select Tool to the new Free Select Tool implementation.
Quick instructions on how the tool works:
o A click adds a polygonal segment, a drag adds a free-hand
segment
o Return-key commits, Escape-key cancels, Backspace-key removes
last segment
o You can grab and move segment vertices
o You can cancel both a move, and the creation of a segment
* app/tools/gimpfreeselecttool.[ch]: More or less
reimplemented. We keep a sequential array of all the points in the
polygon (including the free segments), and we have another array
with point indices that we use to represent the segments. On top
of this we have a few helper functions that tries to abstract away
the pretty raw nature of the implementation.
* app/tools/gimpforegroundselecttool.[ch]: Keep track on its own
last_coord, and adjust to the new implementation of the Free
Select Tool. Still needs some work, for example handling that the
Free Select Tool now resets GimpTool::display.
(gimp_foreground_select_tool_key_press): Pass on key event to
parent class when appropriate. (Bails out too early though...)
svn path=/trunk/; revision=25693
* app/core/gimpdrawable-operation.c:
* app/core/gimpimagemap.c: Make the created GEGL graphs have the
"dont-cache" property set to avoid unneeded caches.
svn path=/trunk/; revision=25689
2008-05-17 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpwidgets-constructors.[ch]: add new function
gimp_stock_button_new() which creates a button with icon and label
which is *not* the stock_id's label.
* app/dialogs/preferences-dialog.c (prefs_button_add)
* app/tools/gimplevelstool.c (gimp_levels_tool_dialog): use it.
svn path=/trunk/; revision=25688
2008-05-17 Michael Natterer <mitch@gimp.org>
* app/widgets/gimphelp-ids.h: add help IDs for the stuff in the
Windows menu.
* app/actions/windows-actions.c: use them.
svn path=/trunk/; revision=25687
2008-05-17 Michael Natterer <mitch@gimp.org>
* app/dialogs/file-save-dialog.c (file_save_dialog_response): fix
crash (don't dereference dialog after it has been destroyed). Also
put back code that sets the dialog back to sensitive if it still
exists.
svn path=/trunk/; revision=25686
2008-05-17 Michael Natterer <mitch@gimp.org>
* app/actions/windows-actions.c: add tooltips to the menu items of
open and recently closed docks.
* app/widgets/gimpaction.c: connect to "notify::tooltip" and make
sure gimp_help_set_help_data() gets called when the action's
tooltip changes.
svn path=/trunk/; revision=25684
2008-05-16 Sven Neumann <sven@gimp.org>
* app/core/gimpimagemap.c: added some basic benchmarking code.
Will become optional but for now it is enabled by default.
svn path=/trunk/; revision=25679
2008-05-16 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayoptions.c: disable rulers by default as
suggested by Peter. Please give feedback.
svn path=/trunk/; revision=25675
2008-05-16 Michael Natterer <mitch@gimp.org>
* app/dialogs/dialogs.c (dialogs_load_recent_docks): reverse the
list after loading so it keeps its order.
* app/menus/windows-menu.c (windows_menu_setup)
(windows_menu_recent_add): keep the recent docks menu in MRU
order.
svn path=/trunk/; revision=25672
2008-05-16 Michael Natterer <mitch@gimp.org>
Implement the presistent menu of recently closed docks, still
somewhat hackish but fully functional. Fixes bug #132744.
* app/actions/dialogs-actions.c
* app/actions/dialogs-commands.[ch]
* menus/image-menu.xml.in: remove the menu items that were
creating the hardcoded preconfigured docks.
* app/dialogs/dialogs.[ch]: add GimpContainer of recently closed
docks and API to load and save it.
* app/gui/session.c: call the recent dock load and save functions.
* app/widgets/gimpsessioninfo.[ch]: implement the GimpConfig interface
and (de)serialize via proper interface methods.
* app/gui/session.c
* app/widgets/gimpdialogfactory.c: use the GimpConfig API
to (de)serialize session infos and added the code that was
formerly in the info's (de)serialize functions but didn't belong
there.
* app/widgets/gimpaction.[ch]: add "max-width-chars" property and
set it on proxy menu item labels.
* app/actions/windows-actions.[ch]
* app/actions/windows-commands.[ch]
* app/menus/windows-menu.c: add actions and menu of recently
closed docks and code to restore the dock when the menu items are
selected. Use above new action property to ensure a minimum
width of the menu.
* app/widgets/gimpmenudock.c: use '-' instead of '|' for
separating notebooks in the window title. Menu items don't like '|'.
* app/widgets/gimpdock.c: removed the confirmation dialog when
closing docks and simply add them to the recent docks container.
This code is totally misplaced and will move to another file soon.
svn path=/trunk/; revision=25671
2008-05-14 Sven Neumann <sven@gimp.org>
* app/core/gimpcurve.c (gimp_curve_plot): don't write over the end
of the samples array. Someone should review this code. It looks
as if the loop could be rewritten in a safer and cleaner way.
svn path=/trunk/; revision=25670
2008-05-14 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcurveview.c (gimp_curve_view_motion_notify):
fixed use of uninitialized value.
svn path=/trunk/; revision=25668
2008-05-14 Michael Natterer <mitch@gimp.org>
* app/menus/windows-menu.c
* app/actions/windows-actions.c
* menus/image-menu.xml.in: move the list of dockable dialogs and
the list of recent docks to submenus and keep the list of open
image windows and docks at the "Windows" menu toplevel. The list
of recent docks doesn't exist yet, its contents are fake.
svn path=/trunk/; revision=25666
2008-05-14 Sven Neumann <sven@gimp.org>
* app/core/gimpbrushclipboard.c
(gimp_brush_clipboard_buffer_changed): for an opaque buffer,
initialize the brush mask with 255 instead of 0. Fixes bug
#532886.
svn path=/trunk/; revision=25661
2008-05-14 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpsessioninfo-book.[ch]: remove widget member from
struct GimpSessionInfoBook. Return the created GimpDockbook from
restore().
* app/widgets/gimpsessioninfo-dock.c (restore): use the returned
book instead of the struct member.
svn path=/trunk/; revision=25658
2008-05-14 Michael Natterer <mitch@gimp.org>
Made session info serialization independent from widgets so it can
be used on stored dock layouts which are not open:
* app/widgets/gimpsessioninfo-book.[ch]
* app/widgets/gimpsessioninfo-dock.[ch]
* app/widgets/gimpsessioninfo-dockable.[ch]: add from_widget()
functions which return newly allocated session info structs.
Changed serialize() functions to take these structs instead of
widgets. Changed deserialize() functions to return the structs
instead of appending them to lists in their parent structs. Don't
free anything in restore().
* app/widgets/gimpsessioninfo-aux.[ch]
(gimp_session_info_aux_serialize): take a GList of aux_info
instead of a widget.
* app/widgets/gimpsessioninfo.[ch]: add new functions get_info()
which collects above session info details from dialogs and
clear_info() which clears that info. Call clear_info() from
finalize(). Don't free anything in restore().
* app/widgets/gimpdialogfactory.c
(gimp_dialog_factories_save_foreach): collect the session info
detials from the dialogs before serializing because serialize()
doesn't know about the widget any longer. Clear the infos after
serializing.
(gimp_dialog_factories_restore_foreach): clear the session info
details after creating the dialogs because restore() doesn't clear
the info by itself any longer.
svn path=/trunk/; revision=25657
2008-05-13 Michael Natterer <mitch@gimp.org>
First prototype of a button in the levels tool dialog that will
jump the the curves tool with the same settings:
* app/gegl/gimplevelsconfig.[ch]: add new function
gimp_levels_config_to_curves_config() which converts a
GimpLevelsConfig to a GimpCurvesConfig. Still lacks support
for gamma.
* app/tools/gimplevelstool.c: add "Edit this Settings as Curves"
button and jump to curves when clicked. Still ugly.
svn path=/trunk/; revision=25654
2008-05-13 Sven Neumann <sven@gimp.org>
* app/core/gimpcurve-map.c (gimp_curve_map_pixels): use memcpy()
for the CURVE_NONE case.
svn path=/trunk/; revision=25653
2008-05-13 Sven Neumann <sven@gimp.org>
* app/core/gimpcurve-map.[ch] (gimp_curve_map_pixels): introduced
an enum to clean up the code. Optimize another not so uncommon case.
svn path=/trunk/; revision=25650
2008-05-13 Sven Neumann <sven@gimp.org>
* app/core/gimpcurve-map.c (gimp_curve_map_pixels): create a
bitmask that represents the curves that need to be applied and
optimize the most common cases.
svn path=/trunk/; revision=25649
2008-05-13 Sven Neumann <sven@gimp.org>
* app/core/gimpcurve-map.c (gimp_curve_map_value): simplified
the
general case.
svn path=/trunk/; revision=25647
2008-05-11 Sven Neumann <sven@gimp.org>
* app/core/gimpcurve.[ch]: keep a boolean flag to identify an
identity mapping. Set it to TRUE when the curve is reset.
* app/core/gimpcurve-map.c (gimp_curve_map_value): optimize for
the case where the curve is an identity mapping.
svn path=/trunk/; revision=25646
2008-05-12 Simon Budig <simon@gimp.org>
* app/vectors/gimpvectors.[ch]
* app/vectors/gimpstroke.[ch]
* app/vectors/gimpbezierstroke.c: Implement functionality to
get a bezier description a la moveto/curveto/closepath.
* app/vectors/vectors-types.h: implement an evil hack to avoid
the inclusion of cairo.h in most C files...
* app/vectors/Makefile.am: link against cairo
* app/widgets/gimpviewrenderervectors.c: use the new functionality
for preview rendering.
svn path=/trunk/; revision=25645
2008-05-11 Sven Neumann <sven@gimp.org>
* app/core/gimpcurve.[ch]: renamed gimp_curve_map() to
gimp_curve_map_value(). Added new function
gimp_curve_map_pixels()
which will allow for better optimization.
* app/gegl/gimpoperationcurves.c
(gimp_operation_curves_process):
use gimp_curve_map_pixels().
* app/tools/gimpcurvestool.c
* app/widgets/gimpcurveview.c: follow API change.
svn path=/trunk/; revision=25641
2008-05-11 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpcroptool.[ch]: No need to expose definitions of
GimpCropTool or GimpCropToolClass.
svn path=/trunk/; revision=25640
2008-05-11 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c: Fix emission of
rectangle-change-complete signals.
* app/tools/gimpcroptool.c
* app/tools/gimprectangleselecttool.c:
Use the rectangle-change-complete signal to update the default
aspect ratio. Fixes bug #530519.
* app/tools/gimpcroptool.c
(gimp_crop_tool_button_release)
(gimp_crop_tool_options_notify)
* app/tools/gimprectangleselecttool.c
(gimp_rectangle_select_tool_button_release): No need to explicitly
update option defaults since it is handled through the
rectangle-change-complete signal now.
svn path=/trunk/; revision=25639
2008-05-11 Sven Neumann <sven@gimp.org>
* app/gegl/gimpoperationlevels.c (gimp_operation_levels_map):
optimized for the case where gamma is 1.0.
svn path=/trunk/; revision=25636
2008-05-11 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpaction.[ch]: add an "ellipsize" property that is
applied to all proxy menu items' labels.
* app/actions/windows-actions.c: set the dock actions to
PANGO_ELLIPSIZE_END because their labels can be insanely long.
svn path=/trunk/; revision=25635
2008-05-11 Michael Natterer <mitch@gimp.org>
* app/actions/windows-commands.[ch]
* app/actions/windows-actions.c
* app/menus/windows-menu.c: add dynamic actions and menu items for
all open docks. Present the dock when the menu item is selected.
svn path=/trunk/; revision=25633
2008-05-10 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_button_press): Active the tool control
earlier.
(gimp_rectangle_tool_synthesize_motion): Bail out if the tool
control is active, we don't want to synthesize a motion in this
case as it emits unwanted rectangle-changed signals.
svn path=/trunk/; revision=25630
2008-05-10 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdialogfactory.[ch]: add signals "dock-added" and
"dock-removed".
(gimp_dialog_factory_add_dialog)
(gimp_dialog_factory_remove_dialog): emit them when docks get
added and removed.
svn path=/trunk/; revision=25629
2008-05-10 Michael Natterer <mitch@gimp.org>
* app/actions/windows-actions.c: renamed the "Create New Dock"
submenu to simply "Docks". Its contents are about ti change soon.
* menus/image-menu.xml.in: changed accordingly. Added a "Docks"
placeholder inside and add the "show toolbox" menu item there.
svn path=/trunk/; revision=25628
2008-05-10 Michael Natterer <mitch@gimp.org>
* app/core/gimplist.[ch]: add boolean "append" property which
makes gimp_container_add() append to the list instead of the
default prepend.
* app/core/gimp.c: create the display list with append = TRUE so
the images menu is in a proper order.
svn path=/trunk/; revision=25627
2008-05-10 Michael Natterer <mitch@gimp.org>
* app/actions/windows-actions.c: don't hide the empty images menu,
use gimp_image_get_uri() instead of the object's name.
svn path=/trunk/; revision=25626
2008-05-10 Michael Natterer <mitch@gimp.org>
Start changing the "Dialogs" menu to "Windows", still incomplete.
Addresses bug #309707.
* app/actions/Makefile.am
* app/actions/windows-actions.[ch]
* app/actions/windows-commands.[ch]: new files which currently
hold the "show toolbox" action and callback and new code which
maintains automatically generated actions for accessing (raising)
all open images.
* app/actions/actions.c: register the new "windows" action group.
* app/actions/dialogs-actions.c
* app/actions/dialogs-commands.[ch]: remove "show toolbox"
action and callback and also the action for the "Disalogs" menu.
* app/menus/Makefile.am
* app/menus/windows-menu.[ch]: new files which create and destroy
the menu items for the image window actions.
* app/menus/menus.c: register the "windows" action group with
all UI managers that have the "dialogs" action group.
* app/menus/image-menu.c (image_menu_setup): call
windows_menu_setup().
* app/gui/gui.c: s/dialogs_show_toolbox/windows_show_toolbox/g
* menus/image-menu.xml.in: some minor s/dialogs/windows/
and add the "Images" submenu.
svn path=/trunk/; revision=25623
2008-05-10 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangleselecttool.c
(gimp_rectangle_select_tool_cancel): Don't forget updating the
default apsect ratio when cancelling a rectangle select.
svn path=/trunk/; revision=25619
2008-05-10 Sven Neumann <sven@gimp.org>
* app/tools/gimptexttool.c (gimp_text_tool_confirm_response):
rerender the text layer as suggested in bug #532078.
(gimp_text_tool_confirm_dialog): minor dialog improvements.
svn path=/trunk/; revision=25618
2008-05-10 Sven Neumann <sven@gimp.org>
* app/widgets/gimpviewrenderer.c (gimp_view_renderer_real_draw):
reset the translation on the cairo context. Resurrects brush
emblems which were drawn in the wrong position.
* app/widgets/gimpviewrendererbrush.c
(gimp_view_renderer_brush_draw):
formatting.
svn path=/trunk/; revision=25614
2008-05-10 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_button_release): Don't forget updating the
integer representation when reverting the rectangle after
cancelling a rubber-banding.
svn path=/trunk/; revision=25610
2008-05-10 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_button_release): Update the tool options
after a release; the rectangle might change if a rubber-banding is
cancelled.
svn path=/trunk/; revision=25608
2008-05-10 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_events)
(gimp_display_shell_canvas_tool_events):
don't reserve Delete for use by tools. Fixes bug #532116.
* app/tools/gimpimagemaptool.c
* app/tools/gimptransformtool.c: don't use Delete (you can still
use the Backspace key to achieve the same).
svn path=/trunk/; revision=25607
2008-05-10 Michael Natterer <mitch@gimp.org>
Applied modified patch from Alexia Death which adds velocity
support to paint tools in the spirit of the pressure support we
already have. Fixes bug #529431.
* app/display/gimpdisplayshell-coords.c
(gimp_display_shell_eval_event): tweak velocity calculation to
work in screen coordinates.
* app/paint/gimppaintoptions.[ch]: add velocity options in the
same way as there are pressure options. Add utility functions
which return dynamic opatity and dynamic rate according to the the
option's settings and some GimpCoords' pressure and velocity.
* app/tools/gimppaintoptions-gui.c: add GUI for the velocity
options.
* app/paint/gimpbrushcore.h: remove PRESSURE_SCALE define, it's
now in gimppaintoptions.h.
* app/paint/gimpbrushcore.c (gimp_brush_core_interpolate):
inerpolate velocity too.
(gimp_brush_core_calc_brush_scale): take velocity into account.
(gimp_brush_core_get_brush_mask): always pressurize the mask in
the GIMP_BRUSH_PRESSURE because there always is velocity (unlike
pressure which is only there on tablets).
* app/paint/gimpairbrush.c
* app/paint/gimpclone.c
* app/paint/gimpconvolve.c
* app/paint/gimpdodgeburn.c
* app/paint/gimperaser.c
* app/paint/gimpheal.c
* app/paint/gimppaintbrush.c
* app/paint/gimpsmudge.c: get opacity and rate from the new paint
options utility functions which take both pressure and velocity
into account.
* app/paint/gimppaintbrush.c: take velocity into account when
calculating the gradient color offset.
* app/paint/gimpairbrush.c: do some additional fiddling with
velocity in the asynchronous airbrush timeout.
* app/paint/gimpairbrushoptions.c: override the velocity-size
property and have it default to FALSE.
svn path=/trunk/; revision=25604
2008-05-10 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpcroptool.c: Add a GimpRectangleTool::cancel()
implementation that updates default aspect ratio when cancelling a
crop.
svn path=/trunk/; revision=25601
2008-05-09 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpcroptool.[ch]: Keep track of the current image and
manage a subscription to "size-changed" so that default aspect
ratio is properly updated.
(gimp_crop_tool_execute): No need to explicitly call
gimp_crop_tool_update_option_defaults() any longer.
svn path=/trunk/; revision=25598
2008-05-09 Simon Budig <simon@gimp.org>
* app/core/gimpscanconvert.[ch]: expose the internal most
flexible rendering function. Make use of the miter limit
again.
svn path=/trunk/; revision=25597
2008-05-09 Simon Budig <simon@gimp.org>
* app/core/gimpscanconvert.[ch]: kind of resurrect the
blending modes, although now implemented as compositing
on top of the existing content of a mask.
* app/tools/gimpforegroundselecttool.c: changed accordingly
svn path=/trunk/; revision=25595
2008-05-09 Sven Neumann <sven@gimp.org>
* configure.in: check for a minimum required cairo version
(1.4.14).
* app/core/gimpscanconvert.c: copied some code from cairo until
we depend on cairo 1.6.
svn path=/trunk/; revision=25593
2008-05-09 Simon Budig <simon@gimp.org>
* app/core/gimpscanconvert.[ch]: removed Libart usage,
replaced with Cairo. Dashed strokes do not yet work again, will
happen tomorrow. Also the blending modes need a second look at.
Also removed deprecated API which made it unnecessarily complicated.
* app/tools/gimpiscissorstool.c: use the current API.
* app/core/Makefile.am
* app/Makefile.am
* configure.in: removed libart dependency, added cairo dependency
where necessary.
svn path=/trunk/; revision=25591
2008-05-08 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_events): don't call gtk_widget_grab_focus() here.
(gimp_display_shell_canvas_tool_events): call it here instead and
add comments about how BUTTON_PRESS and FOCUS_IN interact.
Also return TRUE from BUTTON_PRESS, BUTTON_RELEASE and
MOTION_NOTIFY.
svn path=/trunk/; revision=25590
2008-05-08 Sven Neumann <sven@gimp.org>
* app/display/gimpscalecombobox.c (gimp_scale_combo_box_init):
removed the entry's inner border to save some precious space in
the status-bar.
svn path=/trunk/; revision=25588
2008-05-08 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_events): move the focus to the canvas on
button-press events.
* app/widgets/gimpwindow.c (gimp_window_key_press_event):
removed
a use of G_UNLIKELY() that is somewhat bogus here.
svn path=/trunk/; revision=25587
2008-05-08 Sven Neumann <sven@gimp.org>
* app/widgets/gimpfiledialog.[ch]: added infrastructure to
access
and set some state information of the GtkFileChooser.
* app/dialogs/file-open-dialog.c
* app/dialogs/file-save-dialog.c: don't keep the file-chooser
dialogs around. Instead keep the state attached to the Gimp
object
(one state for load, one for save dialogs). Closes bug #528811.
svn path=/trunk/; revision=25586
2008-05-07 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpcroptool.c (gimp_crop_tool_image_changed): Make it
feel like a class member function by G_CONNECT_SWAPPED-izing it.
svn path=/trunk/; revision=25582
2008-05-06 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimpplugin-message.c: split
gimp_plug_in_handle_tile_request() into two functions:
gimp_plug_in_handle_tile_put() and gimp_plug_in_handle_tile_get().
svn path=/trunk/; revision=25578
2008-05-06 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimpplugin-message.c
(gimp_plug_in_handle_proc_install): show an error message instead
of crashing when a plug-in registers a prodecure with a NULL
argument or return value name. Also introduce two macros which
make the utf-8 validation of all strings much more readable.
svn path=/trunk/; revision=25577
2008-05-05 Michael Natterer <mitch@gimp.org>
* app/actions/drawable-commands.c
(drawable_levels_stretch_cmd_callback): the second parameter of
gimp_drawable_levels_stretch() is now a GimpProgress.
svn path=/trunk/; revision=25570
2008-05-05 Sven Neumann <sven@gimp.org>
* app/tools/gimppainttool.c
* app/display/gimpdisplayshell-coords.c: applied patch from
Alexia
Death which changes the maximum smoothing for paint tools to
more
conservative default and adds velocity dependent smooth
suppression.
svn path=/trunk/; revision=25564
2008-05-02 Martin Nordholts <martinn@svn.gnome.org>
* gimptexttool.c
* gimptexttool.h:
* gimprectangletool.c
* gimprectangletool.h
* gimprectangleselecttool.c: Renamed the "rectangle-changed"
signal to "rectangle-change-complete" which is much better name
since the signal is not emited when the rectangle is changed, but
when the change is complete.
svn path=/trunk/; revision=25557
2008-04-30 Sven Neumann <sven@gimp.org>
* app/display/gimpscalecombobox.c
(gimp_scale_combo_box_entry_key_press): also handle the Tab keys
and call the "activate" handler when Tab is pressed.
svn path=/trunk/; revision=25553
2008-04-30 Sven Neumann <sven@gimp.org>
* app/display/gimpscalecombobox.c: install a "key-press-event"
handler and reset the entry when the Escape key is pressed.
svn path=/trunk/; revision=25552
2008-04-29 Sven Neumann <sven@gimp.org>
* app/display/gimpscalecombobox.[ch]: added signal
"entry-activated".
* app/display/gimpstatusbar.c (gimp_statusbar_new): connect to
the
new signal and move the focus to the canvas.
* app/display/gimpdisplayshell.c (gimp_display_shell_new):
comment.
svn path=/trunk/; revision=25549
2008-04-28 Sven Neumann <sven@gimp.org>
* app/display/gimpscalecombobox.c: keep the current scale value,
beep and reset the entry when the user input cannot be parsed.
Also changed the input parser to interpret a single number as a
percentage.
svn path=/trunk/; revision=25547
2008-04-28 Sven Neumann <sven@gimp.org>
* app/display/gimpscalecombobox.[ch]: derive from
GtkComboBoxEntry.
Needs some more work with respect to input validation and focus
handling...
svn path=/trunk/; revision=25542