2008-09-29 Michael Natterer <mitch@gimp.org>
* app/core/gimpcurve.c (gimp_curve_copy): no need to memcpy() the
arrays, they are properly copied by gimp_config_sync() now. Add
call to gimp_data_dirty() so GimpCurvesConfig gets notified.
* app/gegl/gimpcurvesconfig.c (gimp_curves_config_set_property):
use gimp_config_copy() instead of copying the curve menually.
svn path=/trunk/; revision=27076
2008-09-29 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdialogfactory.c
(gimp_dialog_factories_show_foreach)
(gimp_dialog_factories_hide_foreach): remove some casts that were
always useless and are even more useless now after the recent
readability improvement.
svn path=/trunk/; revision=27075
2008-09-29 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_new):
reduced
default window height to give a window aspect ratio of roughly
3:1
as requested by Peter.
svn path=/trunk/; revision=27072
2008-09-25 Michael Natterer <mitch@gimp.org>
* app/base/colorize.c (colorize_calculate): fix calculation of
final lookup table to not darken the image.
svn path=/trunk/; revision=27062
2008-09-25 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-dnd.c
(gimp_display_shell_drop_pixbuf): use the new helper function here
too.
svn path=/trunk/; revision=27060
2008-09-25 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-dnd.c
(gimp_display_shell_drop_component)
(gimp_display_shell_drop_drawable): moved duplicate code to a
helper function.
svn path=/trunk/; revision=27058
2008-09-25 Sven Neumann <sven@gimp.org>
* app/core/gimp.[ch]: added a 'restored' flag to the Gimp object
and set it in gimp_real_restore(). Added method
gimp_is_restored().
* app/gui/gui.c: call gui_unique_init() in gui_init() instead of
that later in gui_restore_after_callback(). By doing so we start
our DBus service (or message proxy window on Win32) much earlier
in the start process, thus reducing the time frame where two
instances of gimp can be launched.
* app/gui/gui-unique.c
* app/gui/gimpdbusservice.c: wait handling the queued file-open
requests until gimp is fully restored.
* app/gui/splash.c (splash_update): only run one iteration of
the
main loop. Doing it in a while loop can cause us to get stuck if
the gimp-unique service already added an idle handler.
svn path=/trunk/; revision=27049
deselects selection
* app/tools/gimprectangleselecttool.c
(gimp_rectangle_select_tool_execute): Be more intuitive when
clicking outside the current selection for the selection modes Add
and Subtract. More specifically, don't alter the selection mask at
all.
svn path=/trunk/; revision=27048
* app/tools/gimprectangleselecttool.c: Added new utility function
gimp_rectangle_select_tool_get_operation(), and started using it.
svn path=/trunk/; revision=27047
2008-09-24 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontrollereditor.c
(gimp_controller_editor_edit_response): call
gimp_controller_editor_sel_changed() with the right
GtkTreeSelection object (the editor's, not the action
list's). Fixes crash upon selecting an action for a controller
event. Spotted by Alexander Rabtchevich.
svn path=/trunk/; revision=27041
* tools/pdbgen/pdb/selection.pdb (selection_layer_alpha): Update
documentation, the layer does not need to have an alpha channel. A
layer without an alpha channel is considered opaque.
* app/pdb/selection-cmds.c
* libgimp/gimpselection_pdb.c: Regenerated.
svn path=/trunk/; revision=27040
2008-09-24 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/image.pdb: added new scale procedures that
allow to specify the interpolation explicitly. Fixes bug
#486977.
Also pass the progress parameter to the scale and rotate
functions.
* app/pdb/image-cmds.c
* app/pdb/internal-procs.c
* app/pdb/layer-cmds.c
* libgimp/gimpimage_pdb.[ch]
* libgimp/gimplayer_pdb.[ch]: regenerated.
* libgimp/gimp.def: updated.
svn path=/trunk/; revision=27039
2008-09-24 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/image.pdb: fixed error and some typos in the
PDB documentation.
* app/pdb/image-cmds.c
* libgimp/gimpimage_pdb.c: regenerated.
svn path=/trunk/; revision=27038
2008-09-23 Sven Neumann <sven@gimp.org>
Move the "Use GEGL" check-box to the Colors menu (bug #548760):
* app/actions/Makefile.am
* app/actions/config-actions.[ch]
* app/actions/config-commands.[ch]: new files holding the
"config"
action group that includes the "use-gegl" toggle action.
* app/actions/debug-actions.c
* app/actions/debug-commands.[ch]: removed the "use-gegl"
action
here.
* app/menus/menus.c
* app/actions/actions.c: added the new action group.
* app/widgets/gimphelp-ids.h: added a help ID for the
"use-gegl"
action.
* menus/image-menu.xml.in: moved the "Use GEGL" check-box to
the
Colors menu.
svn path=/trunk/; revision=27035
2008-09-21 Sven Neumann <sven@gimp.org>
* app/actions/windows-actions.c: don't set a help ID on the
display menu items.
* app/widgets/gimphelp-ids.h: removed now unused help ID.
* app/menus/windows-menu.c: show a larger image preview in the
tooltip.
svn path=/trunk/; revision=27028
2008-09-20 Sven Neumann <sven@gimp.org>
* app/dialogs/about-dialog.c: put translator comment on a single
line, looks better in the .po file.
svn path=/trunk/; revision=27025
2008-09-20 Simon Budig <simon@gimp.org>
* app/core/gimpcurve.c: whitespace fix
* app/gegl/gimplevelsconfig.c: make sure that the points set by
default gets unset before calculating the levels->curves
transition. We don't want stray points in the corners.
svn path=/trunk/; revision=27018
2008-09-19 Sven Neumann <sven@gimp.org>
* app/actions/plug-in-actions.c
(plug_in_actions_history_changed):
try to use the menu label with ellipsis instead of the result of
gimp_plug_in_procedure_get_label() which has ellipsis and
mnemonics stripped.
svn path=/trunk/; revision=27005
2008-09-19 Sven Neumann <sven@gimp.org>
* app/gegl/gimplevelsconfig.c
(gimp_levels_config_to_curves_config):
need to set the point at the index corresponding to the x value.
svn path=/trunk/; revision=27003
2008-09-18 Simon Budig <simon@gimp.org>
* app/core/gimpcurve.c: comment fix
* app/gegl/gimplevelsconfig.c: improve the levels->curves
transition. Not perfect, the result does not match a "real"
gamma correction, especially in the dark areas, where the
curves are too dark compared to the levels.
svn path=/trunk/; revision=27001
2008-09-18 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdock.c (gimp_dock_style_set): reset the RC
styles of the dock's children after parsing the RC file snippet
for them. Fixes font size for detached dockables.
svn path=/trunk/; revision=26992
2008-09-18 Tor Lillqvist <tml@novell.com>
* app/plug-in/gimppluginshm.c: Use INVALID_HANDLE_VALUE instead of
INVALID_FILE_HANDLE which was an misunderstanding.
svn path=/trunk/; revision=26989
2008-09-18 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdock.c: made the font scale factor for the
docks
configurable in gtkrc.
* themes/Default/gtkrc
* themes/Small/gtkrc: for documentation purposes, added the
default value for GimpDock::font-scale here. Changed all style
property names to use the canonical names.
svn path=/trunk/; revision=26988
2008-09-18 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-shadow.c
(gimp_drawable_get_shadow_tiles):
no need to check if the drawable is attached as shadow tiles are
per drawable now.
svn path=/trunk/; revision=26986
2008-09-18 Simon Budig <simon@gimp.org>
* app/gegl/gimpbrightnesscontrastconfig.c: fix the
brightness/contrast --> levels step by doing proper math (TM).
svn path=/trunk/; revision=26984
2008-09-18 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/drawable.pdb: gimp_drawable_mask_intersect()
and gimp_drawable_mask_bounds() may only be used on attached
drawables. Added missing checks.
* app/pdb/drawable-cmds.c: regenerated.
svn path=/trunk/; revision=26983
2008-09-16 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.[ch]: added GError parameter to
gimp_image_{raise,lower}_{channel,layer,vectors} functions and
removed calls to g_message().
* app/actions/channels-commands.c
* app/actions/layers-commands.c
* app/actions/vectors-commands.c: pass NULL for the GError
parameter as these actions are insensitive if they would fail.
* tools/pdbgen/pdb/image.pdb: changed accordingly. Corrected the
documentation.
* app/pdb/image-cmds.c
* libgimp/gimpimage_pdb.c: regenerated.
svn path=/trunk/; revision=26953
2008-09-16 Michael Natterer <mitch@gimp.org>
* app/actions/actions.c: use the "tool options" icon for the
"context" action group since that's what its actions mostly
control.
* app/actions/dialogs-actions.c: use the "brush", "gradient" and
"palette" icons also for their resp. editors since that's also the
icons they use in their dockable tabs.
svn path=/trunk/; revision=26949
2008-09-15 Michael Natterer <mitch@gimp.org>
* app/core/gimplayer.[ch] (gimp_layer_add_mask): add GError
parameter and replace g_message() by g_set_error().
* app/core/gimplayermaskundo.c
* app/xcf/xcf-load.c
* app/actions/layers-commands.c: pass NULL errors since these
places know what they are doing. Ha ha...
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/image.pdb: pass the error so we get more real
error messages for failed PDB calls.
* app/pdb/image-cmds.c
* app/pdb/layer-cmds.c: regenerated.
svn path=/trunk/; revision=26948
2008-09-15 Michael Natterer <mitch@gimp.org>
Bug 552413 – Script triggers Gimp-Core-CRITICAL
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/layer.pdb: add some more checks that produce
proper PDB error messages when adding and removing layer masks
instead of having the code run into assertions in the called core
functions. Also add some more checks when removing layers,
channels or vectors.
* app/pdb/image-cmds.c
* app/pdb/layer-cmds.c: regenerated.
svn path=/trunk/; revision=26947
2008-09-11 Michael Natterer <mitch@gimp.org>
* app/core/gimp-modules.c (gimp_modules_unload): make a string
pointer const.
svn path=/trunk/; revision=26927
2008-09-10 Tor Lillqvist <tml@novell.com>
* app/gui/gui-unique.c (gui_unique_win32_exit): Destroy the proxy
window here so that gimp_unique_win32_open() in app/unique.c won't
find it. This is important especially in a developer version where
the debug output window might be left open and the proxy window
still existing for a long time after the GTK+ main loop of the
GIMP GUI has finished. Thanks to Michael Schumacher for pointing
this out.
There is still a small race window here after GIMP has begun
closing down its GUI in gui_exit_callback() and before the proxy
window has gone away. If another GIMP starts during that interval,
it will find the proxy window and send it a message, which will
then either be ignored, or the proxy window will have been
destroyed before it gets the message. Let's ignore that. There is
a much wider time window during which multiple GIMP instances may
be started during GIMP startup anyway.
svn path=/trunk/; revision=26917
2008-09-10 Tor Lillqvist <tml@novell.com>
* app/gui/gui-unique.c: gui_unique_win32_message_handler() can be
static. Include file/file-open.h for file_open_from_command_line()
declaration. Fix copy/paste glitch in gui_unique_exit().
svn path=/trunk/; revision=26916
2008-09-10 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpactionview.c: factor out function that selects a
path and scrolls to that path. Keep the selected path visible if
it is still there after filtering.
svn path=/trunk/; revision=26914
2008-09-10 Michael Natterer <mitch@gimp.org>
* app/actions/context-actions.c: made action labels more
consistent, use '°' instead of 'degrees'.
* app/actions/context-commands.c: cosmetic change in macro
parameters.
svn path=/trunk/; revision=26913
2008-09-08 Sven Neumann <sven@gimp.org>
* app/paint/gimpbrushcore.c: based on a patch from David Gowers
clamp the brush scale so that the brush never becomes smaller
than
0.5 pixels. Fixes bug #548631.
svn path=/trunk/; revision=26900
2008-09-08 Michael Natterer <mitch@gimp.org>
Bug 551306 – Color picker for text tool does not show selected
palette
* app/tools/gimptexttool.c (gimp_text_tool_register): add
GIMP_CONTEXT_PALETTE_MASK to the tool option's context mask so the
color popup's palette follows the globally selected palette.
svn path=/trunk/; revision=26899
2008-09-08 Sven Neumann <sven@gimp.org>
* authors.xml: restored alphabetic order. Use real name instead
of
a nick.
* AUTHORS: regenerated.
* app/dialogs/authors.xsl: changed rule to only include
contributors from the 2.6 development cycle in the About dialog.
svn path=/trunk/; revision=26898
2008-09-07 Sven Neumann <sven@gimp.org>
Applied 'gimp-decimate.diff' as announced on the mailing-list:
* app/gimp-log.[ch]: added log domain "scale".
* app/paint-funcs/scale-region.c: replaced decimation routines
with box filters. Only use the decimation routines to pre-scale
the image, always apply the interpolation for the final step.
svn path=/trunk/; revision=26896
* app/widgets/gimpnavigationview.c
(gimp_navigation_view_set_marker): Invalidating the view renderer
is just plain wrong, revert to redrawing the view. We will need to
solve the flicker in some other way.
svn path=/trunk/; revision=26894
* app/core/gimpchannel.c (gimp_channel_real_all): We don't want to
clear the region, we want to fill it with OPAQUE_OPACITY.
svn path=/trunk/; revision=26891
2008-09-06 Michael Natterer <mitch@gimp.org>
* app/gegl/gimpoperationhuesaturation.c
(gimp_operation_hue_saturation_process): don't use // for comments.
svn path=/trunk/; revision=26885
* app/gegl/gimpoperationhuesaturation.c
(gimp_operation_hue_saturation_process): Properly map the
secondary hue. Based on patch by Michael Deal.
svn path=/trunk/; revision=26883
2008-09-05 Sven Neumann <sven@gimp.org>
* app/tools/gimpgegltool.c: blacklist "color-convert" and all
GIMP
operations.
svn path=/trunk/; revision=26879
2008-09-05 Sven Neumann <sven@gimp.org>
* app/tools/gimpgegltool.c: added a blacklist of operations that
should not be shown. We may want to add more operations here.
svn path=/trunk/; revision=26878
2008-09-05 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimpplugindebug.[ch] (gimp_plug_in_debug_argv): made
the "args" parameter const.
* app/plug-in/gimpplugin.c (gimp_plug_in_open): made some strings
const.
svn path=/trunk/; revision=26877
2008-09-05 Michael Natterer <mitch@gimp.org>
Bug 545325 – Scrollbars do not disappear automatically
* app/widgets/gimpcontainertreeview.c: autosize the columns after
each operation that can reduce the treeview's width.
svn path=/trunk/; revision=26875
2008-09-05 Michael Natterer <mitch@gimp.org>
Bug 550983 – The size displayed in the status bar isn't correct
* app/tools/gimprectangletool.c: use the right precision when
pushing the rectangle's size as coordinates to the statusbar.
svn path=/trunk/; revision=26872
2008-09-05 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpactioneditor.[ch]: new simple widget which
contains a GimpActionView plus the search entry.
* app/dialogs/keyboard-shortcuts-dialog.c: use the new widget
instead of implementing the search entry here.
* app/widgets/gimpcontrollereditor.c: use a GimpActionEditor
instead of GimpActionView so the actions become searchable here
too.
svn path=/trunk/; revision=26870
2008-09-04 Sven Neumann <sven@gimp.org>
* app/tools/gimptransformtool.c
(gimp_transform_tool_initialize):
expose the preview when the tool is initialized. Fixes missing
redraws when the tool is selected from the menus (bug #550911).
(gimp_transform_tool_motion): expose the preview after
recalculating the transformation matrix.
svn path=/trunk/; revision=26868
2008-09-04 Tor Lillqvist <tml@novell.com>
* app/base/base-utils.h
* app/base/base-utils.c: The return type of get_pid() should be
gint, not GPid. This matches also the C library on Windows, in
which the return type of getpid() is int, not a pointer or
intptr_t. The use for GPid in the GLib API is as a "handle" to a
descendant processes, returned by the g_spawn_*() functions, and
passed to the g_child_watch_*() functions, not as a "process
identifier".
svn path=/trunk/; revision=26866
2008-09-04 Sven Neumann <sven@gimp.org>
* app/dialogs/keyboard-shortcuts-dialog.c: tweaked spacing
between
entry and button and resolved a mnemnic conflict.
svn path=/trunk/; revision=26862
2008-09-04 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpactionview.[ch]: add a column for the casefold
label of the action and filter on that.
* app/dialogs/keyboard-shortcuts-dialog.c: add a button to clear
the filter entry. Changed the label to "Search:".
svn path=/trunk/; revision=26861
2008-09-04 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpactionview.[ch]: add an GtkTreeModelFilter
between the GtkTreeView and the actual GtkTreeStore. Add API to
set the filter which is simply a string that's matched with
strstr(). Quite some things improvable here...
* app/dialogs/keyboard-shortcuts-dialog.c: add a "Filter" entry
and set the filter on the action view.
svn path=/trunk/; revision=26859
2008-09-03 Michael Natterer <mitch@gimp.org>
* app/pdb/gimpprocedure.[ch] (gimp_procedure_set_static_strings):
made the string parameters const.
svn path=/trunk/; revision=26846
2008-09-03 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpnavigationview.c
(gimp_navigation_view_motion_notify): remove the call to
gdk_window_get_pointer() again.
(gimp_navigation_view_grab_pointer): instead, grab the pointer
properly with owner_events=FALSE so all events are reported with
respect to the widget's window.
svn path=/trunk/; revision=26844
2008-09-03 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
* libgimpwidgets/gimpcolorselect.c
* modules/color-selector-water.c
* plug-ins/ifs-compose/ifs-compose.c: instead of using
gdk_window_get_pointer() if GdkEventMotion::is_hint is TRUE,
simply always use the coords from the event and call
gdk_event_request_motions() to ask for more motion events. This is
the recommended way and also works for events from devices other
than the core pointer.
* plug-ins/ifs-compose/ifs-compose.c (design_area_motion): some
code cleanup while i was at it.
svn path=/trunk/; revision=26843
2008-09-02 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginshm.c: if INVALID_FILE_HANDLE is
undefined,
define it as the constant that we used to use here.
svn path=/trunk/; revision=26839
2008-09-02 Michael Natterer <mitch@gimp.org>
* app/display/gimpstatusbar.c: use gtk_widget_get_style() instead
of widget->style.
svn path=/trunk/; revision=26837
2008-09-02 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpselectiondata.c: no need to set strlen(sting)+1
bytes on the GtkSelectionData because gtk_selection_data_set()
zero-terminates all data anyway.
svn path=/trunk/; revision=26835
2008-09-02 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpselectiondata.c (gimp_selection_data_get_name):
return a const string, no need to strdup it since it's only used
temporarily in this file.
(gimp_selection_data_get_image)
(gimp_selection_data_get_component)
(gimp_selection_data_get_item)
(gimp_selection_data_get_object): changed accordingly. Move
variables to local scopes and simplify.
svn path=/trunk/; revision=26834
2008-09-01 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginshm.c (gimp_plug_in_shm_new): use the
constant INVALID_FILE_HANDLE instead of 0xFFFFFFFF. Fixes shared
memory tile transport on 64bit Windows systems.
svn path=/trunk/; revision=26827
2008-09-01 Sven Neumann <sven@gimp.org>
* app/paint-funcs/paint-funcs.[ch]: added clear_region().
* app/base/tile-manager-crop.c
* app/core/gimpchannel.c
* app/core/gimpimage-merge.c
* app/core/gimpmaskundo.c
* app/core/gimpprojection-construct.c: use it instead of calling
color_region() with a zero color.
svn path=/trunk/; revision=26826
2008-09-01 Sven Neumann <sven@gimp.org>
* app/core/gimpprojection-construct.c
(gimp_projection_initialize):
also need to initialize the projection if the layer mask could
introduce transparency. Fixes bug #550024.
svn path=/trunk/; revision=26824
2008-08-31 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_set_initial_scale): We need to set the scale
before using it. Fixes at least gimp_display_shell_fill() and
Image -> Duplicate giving weird initial scales.
svn path=/trunk/; revision=26823
2008-08-28 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_to): Canonically calculate scale to use
for zoom-focus calculations so that it also works when not in Dot
by dot-mode.
svn path=/trunk/; revision=26805
2008-08-28 Martin Nordholts <martinn@svn.gnome.org>
* app/core/gimpimage.[ch]: Make the size-changed-detailed signal
also contain previous image size.
* app/display/gimpdisplayshell-handlers.c
(gimp_display_shell_size_changed_detailed_handler): Take the
previous image size into account and center the image if it starts
to fit (axis indepentently) in the viewport due to the resize.
* app/core/gimpundo.h
* app/core/gimpimage-undo.c
* app/core/gimpimageundo.[ch]
* app/core/gimpimage-undo-push.[ch]: Manage the
previous-size-information.
* app/core/gimpimage-crop.c
* app/core/gimpimage-scale.c
* app/core/gimpimage-rotate.c
* app/core/gimpimage-resize.c: Propagate previous size to the
size-changed-detailed signal emission and the undo-system.
svn path=/trunk/; revision=26804
2008-08-28 Sven Neumann <sven@gimp.org>
* app/config/gimpguiconfig.[ch]: allow to disable the Wilber
image
shown at the top of the toolbox.
* app/widgets/gimptoolbox.c: honor the new gimprc option.
* app/config/gimprc-blurbs.h: document the old and new toolbox
preferences.
svn path=/trunk/; revision=26800
2008-08-27 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpuimanager.c (gimp_ui_manager_item_key_press):
try the find_widget_under_pointer() hack only if the menu item's
parent is really a GtkMenu (not a GtkMenuBar). Fixes crash spotted
by rubikcube.
svn path=/trunk/; revision=26796
2008-08-27 Sven Neumann <sven@gimp.org>
* app/tools/gimptransformtool.c: moved hiding the dialog from
gimp_transform_tool_real_transform() to
gimp_transform_tool_doit().
Delay undrawing the preview in doit() until the transformation
is
done. This removes the annoying flicker at the end.
svn path=/trunk/; revision=26789
2008-08-27 Sven Neumann <sven@gimp.org>
* app/tools/gimptransformtool.c
(gimp_transform_tool_real_transform):
hide the tool dialog before starting to perform the
transformation.
svn path=/trunk/; revision=26787
2008-08-27 Sven Neumann <sven@gimp.org>
* app/core/gimp-transform-region.c: also use PixelSurround for
the
linear interpolation. Sprinkled some const qualifiers.
svn path=/trunk/; revision=26786
2008-08-26 Sven Neumann <sven@gimp.org>
* app/paint-funcs/scale-region.c: further simplified the code
path
that is executed when a brush is scaled up. We don't need to
scale
in several steps here.
svn path=/trunk/; revision=26780
2008-08-26 Sven Neumann <sven@gimp.org>
* app/paint-funcs/scale-region.c: removed some unused parameters
from the code that is used for brush scaling. Added sanity
checks.
svn path=/trunk/; revision=26779
2008-08-26 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.c
(gimp_display_shell_scroll_unoverscrollify): New function.
* app/display/gimpdisplayshell-autoscroll.c
(gimp_display_shell_autoscroll_timeout): Make sure the autoscroll
does not result in overscroll. This more or less finalizes the
implementation of the enhancement request in bug #362915.
svn path=/trunk/; revision=26775
2008-08-26 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.c
(gimp_display_shell_scroll): If no scroll should be applied we can
return early.
svn path=/trunk/; revision=26774
2008-08-26 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-autoscroll.c
(gimp_display_shell_autoscroll_timeout): Pass the scroll amount in
variables that we can modify as we please before they actually
reach gimp_display_shell_scroll().
svn path=/trunk/; revision=26773
2008-08-26 Michael Natterer <mitch@gimp.org>
* app/tools/gimppaintoptions-gui.c (gimp_paint_options_gui): don't
hardcode the attach coords for the fixed containing the dynamics
labels but use the table's real width instead. Fixes broken table
layout in the airbrush options.
svn path=/trunk/; revision=26771
2008-08-25 Sven Neumann <sven@gimp.org>
* app/paint-funcs/scale-region.c: use PixelSurround to access
the
source pixels in a more efficient way.
svn path=/trunk/; revision=26768
2008-08-25 Sven Neumann <sven@gimp.org>
* app/base/tile-manager.c (read_pixel_data_1): changed to
silently
return in case of out-of-bounds access. There's code that relies
on this.
* app/base/pixel-surround.[ch]: added SMEAR as another edge
strategy for the PixelSurround helper.
* core/gimp-transform-region.c: changed accordingly.
svn path=/trunk/; revision=26767
2008-08-25 Sven Neumann <sven@gimp.org>
* app/paint-funcs/scale-region.c: don't scale in several steps
if
interpolation is GIMP_INTERPOLATION_NONE.
svn path=/trunk/; revision=26760
2008-08-25 Sven Neumann <sven@gimp.org>
* app/base/tile-private.h: provide a macro version of
tile_data_pointer().
* app/base/tile.c (tile_data_pointer): turned into a wrapper
around the TILE_DATA_POINTER() macro.
* app/base/tile-manager.c (read_pixel_data) (read_pixel_data_1)
(write_pixel_data) (write_pixel_data_1): access tile struct
members directly and use the new macro to access the tile data.
svn path=/trunk/; revision=26757
2008-08-25 Sven Neumann <sven@gimp.org>
* app/base/tile-manager.c (read_pixel_data_1): removed redundant
check that is already performed by tile_manager_get_tile_num().
Warn if an out-of-bounds read is requested, instead of silently
doing nothing.
svn path=/trunk/; revision=26755
2008-08-25 Sven Neumann <sven@gimp.org>
* app/dialogs/image-scale-dialog.c: hide the Scale dialog before
starting to perform the scale operation.
svn path=/trunk/; revision=26753
2008-08-24 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimplevelstool.c (gimp_levels_tool_dialog): Set
page_size for the Ouput/Input Levels lower/upper adjustments to 0
to adapt to new and more correct value clamping in GTK+.
svn path=/trunk/; revision=26743
2008-08-24 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpnavigationeditor.c
(gimp_navigation_editor_popup): Prevent the popup from being
positioned far away from the click position. This is further work
on bug #362915.
svn path=/trunk/; revision=26741
2008-08-24 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpnavigationeditor.c
(gimp_navigation_editor_popup): Further clarify and simplify.
svn path=/trunk/; revision=26740
2008-08-24 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpnavigationeditor.c
(gimp_navigation_editor_popup): Correct the positioning
calculation (while still retaining current overall behaviour).
svn path=/trunk/; revision=26739
2008-08-24 Martin Nordholts <martinn@svn.gnome.org>
* app/widgets/gimpnavigationview.c
(gimp_navigation_view_draw_marker): Use a define for border width.
svn path=/trunk/; revision=26738
2008-08-24 Martin Nordholts <martinn@svn.gnome.org>
* app/widgets/gimpnavigationview.c
(gimp_navigation_view_set_marker): Don't redraw the view, only
invalidate it. This causes the redraw to occur in an idle-handler
intead of each time this function is called, which reduces flicker
when opening new images. Stil some flicker left though...
svn path=/trunk/; revision=26737
2008-08-24 Sven Neumann <sven@gimp.org>
* app/paint-funcs/scale-region.c (scale) (scale_pr): use a
constant to decide if we should decimate or interpolate.
svn path=/trunk/; revision=26736
2008-08-24 Sven Neumann <sven@gimp.org>
* app/paint-funcs/scale-region.c: instead of iterating over
tiles
manually and using write_pixel_data_1() to write the data, use
pixel_region_process() to iterate over the destination.
svn path=/trunk/; revision=26735
2008-08-24 Sven Neumann <sven@gimp.org>
* app/paint-funcs/scale-region.c (scale): sprinkled with const
qualifiers. Moved calculations out of the loops.
svn path=/trunk/; revision=26733
2008-08-24 Sven Neumann <sven@gimp.org>
* app/paint-funcs/scale-region.c (scale): removed optimization
of
the case where the source and dest regions are the same size.
This
should not happen any longer.
svn path=/trunk/; revision=26732
2008-08-24 Sven Neumann <sven@gimp.org>
* app/paint-funcs/scale-region.c (determine_scale): avoid
unnecessary scaling when scaling factor is 2^n.
(pixel_average): replaced with optimized pixel averager from
tile-pyramid.c (from the gimp-2-4 branch with some minor
corrections).
svn path=/trunk/; revision=26731
2008-08-23 Sven Neumann <sven@gimp.org>
* app/paint-funcs/scale-region.c (scale): replaced code that
copies pixels from one tile-manager to another by a call to
copy_region().
svn path=/trunk/; revision=26730
2008-08-23 Lars-Peter Clausen <lars@metafoo.de>
* tools/pdbgen/pdb/gradient.pdb
(gimp_gradient_segment_range_blend_(colors|opacity)): Don't crash
if the index of the last segment is out of range.
* app/pdb/gradient-cmds.c: regenerated.
svn path=/trunk/; revision=26723
2008-08-23 Sven Neumann <sven@gimp.org>
* app/core/gimpimagemap.c (gimp_image_map_init): only create and
use a timer if GIMP_UNSTABLE is defined.
svn path=/trunk/; revision=26720
2008-08-22 Sven Neumann <sven@gimp.org>
* app/widgets/gimpnavigationview.c
* libgimpwidgets/gimpscrolledpreview.c: hardcode the colors to
black and white. Using theme colors doesn't make sense here.
svn path=/trunk/; revision=26719
2008-08-22 Sven Neumann <sven@gimp.org>
* app/widgets/gimpnavigationview.c: indicate the viewport by
shading the outside region using Cairo.
svn path=/trunk/; revision=26716
2008-08-22 Martin Nordholts <martinn@svn.gnome.org>
* app/widgets/gimpnavigationview.c
(gimp_navigation_view_grab_pointer): Don't confine the cursor to
the navigation view window because that limitation only feels in
the way with overscroll.
svn path=/trunk/; revision=26714
2008-08-22 Michael Natterer <mitch@gimp.org>
* app/display/gimpcanvas.[ch]: add gimp_canvas_scroll() which
scrolls the canvas and makes the result visible immediately.
* app/display/gimpdisplayshell-scroll.c
(gimp_display_shell_scroll): use the new function.
svn path=/trunk/; revision=26712
2008-08-22 Sven Neumann <sven@gimp.org>
* app/widgets/gimptoolbox.c: removed the "Use GEGL" check-box
from the toolbox.
* app/config/gimpcoreconfig.c: changed the default for
"use-gegl"
to FALSE (in preparation of the 2.6 release).
* app/actions/debug-commands.[ch]
* app/actions/debug-actions.c
* menus/image-menu.xml.in: added a "Use GEGL" check-box to the
Debug menu. Temporary solution until a final decision is made.
svn path=/trunk/; revision=26711
2008-08-22 Sven Neumann <sven@gimp.org>
* app/widgets/gimpaction.c
* app/widgets/gimpdockable.c
* app/widgets/gimpradioaction.c
* app/widgets/gimpstringaction.c
* app/widgets/gimptoggleaction.c: added basic support for icon
names for actions and dockables. Uses the stock-id as icon name
if the icon theme provides an icon under this name.
* app/dialogs/dialogs.c
* app/actions/documents-actions.c
* app/actions/dialogs-actions.c: use the "document-open-recent"
icon for the document history.
svn path=/trunk/; revision=26710
2008-08-22 Martin Nordholts <martinn@svn.gnome.org>
* app/widgets/gimpnavigationview.c: Adapted to play nicely with
the overscroll feature. Basically remove limitations of the
marker, but also draw the marker frame with an inner and outer
border so it is possible to see on what side the viewport is when
zoomed out and overscrolled to the max. This is further work on
bug #362915.
svn path=/trunk/; revision=26709
2008-08-21 Michael Natterer <mitch@gimp.org>
* app/display/gimpcanvas.[ch]: turn into a GtkContainer subclass
mainly to reduce the diff to a local hack I'm at. Also swallow
some code that used to be called on the canvas widget externally.
* app/display/gimpdisplayshell.c (gimp_display_shell_new): remove
the swallowed code.
* app/display/gimpdisplayshell-callbacks.h: remove canvas event
mask define.
svn path=/trunk/; revision=26708
2008-08-21 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginprocedure.[ch]
* app/plug-in/gimptemporaryprocedure.c: moved error handling for
asynchronous procedure calls to a central place. Use the plug-in
label instead of the procedure name for the error message.
svn path=/trunk/; revision=26703
2008-08-21 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginprocedure.c
* app/plug-in/gimptemporaryprocedure.c: don't just free the
return
values when running procedures asynchronously. Instead examine
them and display the error message if there's one.
* app/plug-in/gimppluginmanager-call.c
(gimp_plug_in_manager_call_run_temp): return NULL if
procedure->plug_in is not set.
* app/plug-in/gimpplugin-message.c: comment.
svn path=/trunk/; revision=26700
2008-08-21 Michael Natterer <mitch@gimp.org>
* app/tools/gimpforegroundselecttool.c
(gimp_foreground_select_tool_init): set precision back to
PIXEL_CENTER because it's set to SUBPIXEL by the parent class.
svn path=/trunk/; revision=26687
2008-08-20 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.c: Use a constant for the
minimum step amount for scrollbars.
svn path=/trunk/; revision=26685
2008-08-20 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpuimanager.c: reindent prototypes.
Steal find_widget_under_pointer() from gtktooltip.c
(gimp_ui_manager_item_key_press): use the function to invoke help
for the widget under the pointer if there is no selected menu
item. Makes F1 work on insensitive menu items.
svn path=/trunk/; revision=26684
2008-08-20 Michael Natterer <mitch@gimp.org>
* app/text/gimptextlayout-render.c (gimp_text_layout_render): add
PANGO_ALIGN_LEFT to the switch to fix warning about unhandled value.
svn path=/trunk/; revision=26682
2008-08-20 Michael Natterer <mitch@gimp.org>
Bug 496772 – Position shown in the statusbar needs more
precision (for some tools)
* app/display/display-enums.[ch]: add enum GimpCursorPrecision
which can be one of { PIXEL_CENTER, PIXEL_BORDER, SUBPIXEL }.
* app/display/gimpdisplayshell-cursor.[ch]: add "precision"
parameter to gimp_display_shell_update_cursor() and pass it
on to the statusbar.
* app/display/gimpstatusbar.[ch]: add "precision" parameters to
the cursor coordinates APIs, offset the passed coords accordingly
and display them with one decimal point if SUBPIXEL is requested
and the display's unit is PIXEL. Keep a second floating-point
format string around at any time.
* app/tools/gimptoolcontrol.[ch]: add a "precision" member and API
so tools can configure the precision they need. Defalt to
PIXEL_CENTER since that's right for almost all tools.
* app/display/gimpdisplayshell-callbacks.c: pass the tool's
precision to gimp_display_shell_update_cursor().
* app/tools/gimptool.[ch]: add "precision" parameter to
gimp_tool_push_status_coords() and pass it on to the statusbar.
* app/tools/gimpaligntool.c
* app/tools/gimpblendtool.c
* app/tools/gimpcolortool.c
* app/tools/gimpcroptool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpfliptool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.c
* app/tools/gimpperspectiveclonetool.c
* app/tools/gimprectangleselecttool.c
* app/tools/gimprectangletool.c
* app/tools/gimptransformtool.c
* app/tools/gimpvectortool.c: set precision in init() where
needed. Adjust the precision in the fly when needed, e.g. while
moving guides or when toggling hard-edge on paint tools. Also pass
an appropriate precision to gimp_tool_push_status_coords(), which
is not always the tool's precision as used for cursor display.
svn path=/trunk/; revision=26681
2008-08-20 Michael Natterer <mitch@gimp.org>
* app/paint/gimpperspectiveclone.[ch]: make
gimp_perspective_clone_get_matrix() static and add
gimp_perspective_clone_set_transform().
* app/tools/gimpperspectiveclonetool.c
(gimp_perspective_clone_tool_mode_notify): use above set_transform()
API instead of poking into the object.
(gimp_perspective_clone_tool_constructor): call
gimp_perspective_clone_tool_mode_notify() to set up things instead
of duplicating code.
svn path=/trunk/; revision=26673
2008-08-20 Sven Neumann <sven@gimp.org>
* app/file/file-save.c (file_save): flush the image when done to
cause the actions to be updated (in particular File->Revert).
svn path=/trunk/; revision=26669
2008-08-19 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-guides.c (gimp_image_find_guide): find
guides
outside the image as well. This complements the change that we
also draw guides outside the image now.
svn path=/trunk/; revision=26665
2008-08-19 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimpplugin.[ch] (struct GimpPlugIn)
* app/plug-in/gimppluginprocframe.[ch] (struct GimpPlugInProcFrame):
move the error_handler from the plug-in to the proc-frame.
* app/plug-in/gimppluginprocframe.c
* app/plug-in/gimpplugin-message.c: changed accordingly.
svn path=/trunk/; revision=26661
2008-08-19 Sven Neumann <sven@gimp.org>
Complements the fix for bug #344818:
* libgimpbase/gimpbaseenums.[ch]: added new enum
GimpPDBErrorHandler.
* tools/pdbgen/enums.pl: regenerated.
* app/plug-in/gimpplugin.[ch]: added error_handler to
GimpPlugIn.
* app/plug-in/gimpplugin-message.c
(gimp_plug_in_handle_proc_run):
only display an error message for a failed procedure call if the
plug-in's error-handler is set to
GIMP_PDB_ERROR_HANDLER_INTERNAL.
* tools/pdbgen/pdb/plug_in.pdb: added PDB getter and setter for
the plug-in's error-handler.
* app/pdb/plug-in-cmds.c
* app/pdb/internal-procs.c
* libgimp/gimpenums.c.tail
* libgimp/gimpplugin_pdb.[ch]: regenerated.
* plug-ins/common/file-compressor.c
* plug-ins/file-uri/uri.c: set the error-handler to
GIMP_PDB_ERROR_HANDLER_PLUGIN as these plug-ins are forwarding
the
error with their return values.
svn path=/trunk/; revision=26656
2008-08-17 Sven Neumann <sven@gimp.org>
Next step towards fixing bug #344818:
* app/pdb/gimpprocedure.c (gimp_procedure_execute): if the error
has not already been set, construct one from the error message
that is optionally passed with the return values.
* plug-ins/common/file-png.c: changed to pass an error message
with the return values instead of calling g_message() in case of
an error.
svn path=/trunk/; revision=26620
2008-08-17 Sven Neumann <sven@gimp.org>
* app/plug-in/gimpplugin-progress.c
(gimp_plug_in_progress_cancel_callback): introduced a utility
function to reduce code duplication.
* app/pdb/gimppdb.c (gimp_pdb_execute_procedure_by_name):
changed
to use g_error_new_literal().
svn path=/trunk/; revision=26616
2008-08-17 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_size_allocate): If the image ends up
below or to the right of the viewport top and left edges, and the
image is not centered on a given axis, align the top left image
edge with the top left viewport edge. This is basically the best
we can do without an API for start and end of a window resize
cycle using the mouse.
svn path=/trunk/; revision=26613
2008-08-17 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell.[ch]
(gimp_display_shell_configure_event): When applying the centering
logic we need to know the size of the new canvas, so instead of
having it here, only make sure that this logic is run on the next
canvas size-allocate.
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_size_allocate): If the size-allocate
comes from a top level window resize, apply centering logic.
svn path=/trunk/; revision=26611
2008-08-16 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.c
(gimp_display_shell_scroll_center_image_on_next_size_allocate):
Explain that this function needs to be used with care since it is
risky.
* app/display/gimpdisplayshell.c
(gimp_display_shell_new)
(gimp_display_shell_fill): Clarify that it is safe to use the
risky function.
(gimp_display_shell_configure_event): Make proper comparisions (<=
not =) and explain that usage of the risky function is safe.
(gimp_display_shell_shrink_wrap): Always call
gimp_display_shell_scroll_center_image() and let size-requests be
handled by GimpDisplayShell::configure_event().
* app/actions/view-commands.c (view_shrink_wrap_cmd_callback): No
need to center anything explicitly any longer.
svn path=/trunk/; revision=26607
2008-08-16 Sven Neumann <sven@gimp.org>
* app/plug-in/gimpplugin-message.c
(gimp_plug_in_handle_proc_run):
removed the term 'PDB' from the user-visible error messages.
svn path=/trunk/; revision=26601
2008-08-16 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_size_allocate): Remove the centering
logic because we do not always want to run it when the canvas size
changes. For example, the canvas size changes if rulers are
toggled on/off.
* app/display/gimpdisplayshell.c
(gimp_display_shell_configure_event): Implement
GtkWidget::configure_event() for the display shell and put the
image centering logic here instead, since this class function is
run when the top level window size changes. Run it only if the
size (not position) of the window changes.
svn path=/trunk/; revision=26599
2008-08-16 Sven Neumann <sven@gimp.org>
* app/pdb/gimppdb.c (gimp_pdb_execute_procedure_by_name):
changed
error message to be similar to the message thrown from
gimp_procedure_validate_args().
svn path=/trunk/; revision=26594
2008-08-16 Sven Neumann <sven@gimp.org>
If a procedure call fails, pass a string describing the error as
the second return value. First step towars fixing bug #344818.
* app/pdb/gimpprocedure.[ch] (gimp_procedure_get_return_values):
added a GError parameter. If it is set, pass the error message
to
the return values.
* app/pdb/gimppdberror.h: added some more error codes.
* app/pdb/gimppdb.c
* app/xcf/xcf.c: pass errors to
gimp_procedure_get_return_values().
* app/plug-in/gimpplugin-message.c
(gimp_plug_in_handle_proc_run):
show a different error message for execution vs. calling errors.
* app/plug-in/gimpplugin-progress.c
(gimp_plug_in_progress_cancel_callback): pass the error
GIMP_PDB_CANCELLED to gimp_procedure_get_return_values().
* app/plug-in/gimppluginmanager-call.[ch]
(gimp_plug_in_manager_call_run): removed the
'destroy_return_vals'
parameter.
* app/plug-in/gimppluginprocedure.c: destroy the return values
here.
* app/plug-in/gimppluginprocframe.c: pass an error to
gimp_procedure_get_return_values().
* tools/pdbgen/app.pl
* tools/pdbgen/pdb/fileops.pdb: generate code that passes the
error to gimp_procedure_get_return_values().
* app/pdb/*-cmds.c: regenerated.
* plug-ins/pygimp/pygimp-pdb.c: extract the error message from
the
return values and pass it to the exception that is thrown.
svn path=/trunk/; revision=26593
2008-08-16 Martin Nordholts <martinn@svn.gnome.org>
* app/actions/view-commands.c (view_shrink_wrap_cmd_callback):
Also handle the case when only the offset is wrong. Not pretty but
simple.
svn path=/trunk/; revision=26592
2008-08-16 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_viewport_coord_almost_centered): New
function.
(gimp_display_shell_scale): Center the image on zoom also if it is
almost centered. This makes the image centered all the way when
zooming out far away.
svn path=/trunk/; revision=26589
2008-08-15 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c (gimp_display_shell_scale):
More elegantly deal with the 'Resize window on zoom'-case.
svn path=/trunk/; revision=26581
2008-08-15 Daniel Eddeland <danedde@svn.gnome.org>
* app/text/gimptextlayout-render.c: make text align correctly if
text-box is FIXED.
svn path=/trunk/; revision=26580
2008-08-15 Michael Natterer <mitch@gimp.org>
* app/paint/gimppaintcore-stroke.c
(gimp_paint_core_stroke_boundary)
(gimp_paint_core_stroke_vectors): when stroking multiple segments,
set paint_core->cur_coords to the start of each segment. It
normally gets assigned by gimp_paint_core_start(), but that's not
called for subsequent segments. Fixes stroking multiple segments
with the ink tool. The other tools were not affected since they
plot individual brushes rather than a shape from the last to the
current coordinates. Spotted by Alexia.
svn path=/trunk/; revision=26578
2008-08-15 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.[ch]: added some logic to avoid that
an info message replaces a warning. Allow info messages to
replaced other info messages.
* app/display/gimpdisplay-handlers.c: changed accordingly.
svn path=/trunk/; revision=26572
2008-08-15 Sven Neumann <sven@gimp.org>
* app/actions/file-commands.c (file_save_cmd_callback): save new
images, even if they are not marked dirty.
svn path=/trunk/; revision=26571
2008-08-14 Sven Neumann <sven@gimp.org>
* app/plug-in/gimpplugin-message.c
(gimp_plug_in_handle_proc_run):
use G_STRFUNC in another error message that I missed earlier.
svn path=/trunk/; revision=26570
2008-08-14 Sven Neumann <sven@gimp.org>
* app/actions/file-commands.c (file_save_cmd_callback): when we
trust the dirty flag and don't save because there are no
changes,
display a message in the status-bar telling the user so.
* app/config/gimpguiconfig.c: changed the default value for
"trust-dirty-flag" to TRUE.
svn path=/trunk/; revision=26565
2008-08-14 Sven Neumann <sven@gimp.org>
* app/plug-in/gimpplugin-message.c
(gimp_plug_in_handle_tile_get):
use G_STRFUNC to get the proper function name in the error
message.
svn path=/trunk/; revision=26564
2008-08-14 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_image_stops_to_fit): New function.
(gimp_display_shell_scale_get_zoom_focus): If the image stops
to fit the viewport, we can already now use the mouse cursor
as the zoom focus point.
svn path=/trunk/; revision=26563
2008-08-14 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-draw.[ch]
(gimp_display_shell_draw_get_scaled_image_size_for_scale): New
function.
* app/display/gimpdisplayshell-scale.[ch]
(gimp_display_shell_scale): When zooming out and the image
starts to fit the viewport on a given axis, center on that
axis.
(gimp_display_shell_scale_image_starts_to_fit): New function.
(gimp_display_shell_calculate_scale_x_and_y): New function.
* app/display/gimpdisplayshell.c
(gimp_display_shell_scale_changed): Use
gimp_display_shell_calculate_scale_x_and_y().
* app/display/gimpdisplayshell-scroll.c
(gimp_display_shell_scroll_center_image): Bail out if neither
vertical nor horizontal centering is requested.
svn path=/trunk/; revision=26562
2008-08-14 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_get_zoom_focus): When the image is
within the viewport, also use the center of the image as the zoom
focus point when zooming it. It feels way too weird not to do it
this way.
svn path=/trunk/; revision=26561
2008-08-14 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_get_zoom_focus): If the image is within
the viewport and we are zooming out, make the focus point be the
center of the image.
svn path=/trunk/; revision=26560
2008-08-14 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_to): Move calculation of the actual new
scale to use from here
(gimp_display_shell_scale): to here, because we need this
information in order to determine what point to focus on while
zooming.
svn path=/trunk/; revision=26559
2008-08-14 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell.c
(gimp_display_shell_set_unit): No need to update scrollbars, only
rulers.
(gimp_display_shell_reconnect): A
gimp_display_shell_scroll_clamp_and_update() makes more sense
here.
svn path=/trunk/; revision=26558
2008-08-14 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-handlers.c
(gimp_display_shell_monitor_res_notify_handler): When the screen
resolution changes and we are not in Dot by dot, we also need to
clamp the display shell offsets.
svn path=/trunk/; revision=26557
2008-08-14 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-handlers.c
(gimp_display_shell_resolution_changed_handler): If we are in
dot-by-dot, we only need to update the rulers, and only if the
unit is not pixels.
svn path=/trunk/; revision=26556
2008-08-14 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_update_scrollbars_and_rulers): Split this up
in gimp_display_shell_scale_update_scrollbars() and
gimp_display_shell_scale_update_rulers().
svn path=/trunk/; revision=26555
2008-08-13 Sven Neumann <sven@gimp.org>
* app/paint-funcs/scale-region.c: applied patch from Geert
Jordaens to fix scaling artifacts in top row (bug #464466).
svn path=/trunk/; revision=26534
2008-08-13 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_get_zoom_focus): New function
responsible for deciding what viewport coordinate to focus on when
zooming in and out.
svn path=/trunk/; revision=26532
2008-08-13 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.[ch]
(gimp_display_shell_scale_to): Make this a private function
because we want to be in full control over what pixel to focus on
when zooming in and out.
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_tool_events): Use
gimp_display_shell_scale() here instead of
gimp_display_shell_scale_to(). We figure out (and can override if
we wish) the coordinates that were previously passed explicitly.
svn path=/trunk/; revision=26531
2008-08-13 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_image_is_within_viewport): New function.
* app/display/gimpdisplayshell.c (gimp_display_shell_new): When
the zoom button is toggled, implicitly do a View -> Fit Image in
Window if the (scaled) image is within the viewport.
svn path=/trunk/; revision=26529
2008-08-13 Martin Nordholts <martinn@svn.gnome.org>
* app/paint/gimppaintcore.c: Include gimpprojection.h for
gimp_projection_get_tiles().
svn path=/trunk/; revision=26528
2008-08-12 Sven Neumann <sven@gimp.org>
* app/paint-funcs/paint-funcs.c (replace_inten_pixels): applied
a
slightly modified version of the patch from Luidnel Maignan as
attached to bug #105568. Fixes incorrect alpha treatment in
plug-in selection masking.
svn path=/trunk/; revision=26524
2008-08-12 Sven Neumann <sven@gimp.org>
* app/widgets/gimphistogrameditor.c
(gimp_histogram_editor_frozen_update): don't do the background
histogram unless the histogram view is actually visible.
svn path=/trunk/; revision=26523
2008-08-12 Sven Neumann <sven@gimp.org>
* app/paint/gimppaintcore.c (gimp_paint_core_start): use
gimp_projection_get_tiles() instead of doing the same through
the
GimpPickable interface.
svn path=/trunk/; revision=26522
2008-08-12 Sven Neumann <sven@gimp.org>
* app/core/gimpprojection.c (gimp_projection_paint_area): moved
function calls out of CLAMP macros.
svn path=/trunk/; revision=26520
2008-08-12 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_empty):
removed calls to scale the image and to update the scrollbars
and
rulers. Doesn't seem to make sense in an empty display and it
causes a crash.
svn path=/trunk/; revision=26518
2008-08-10 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_size_allocate): If the image fits
within the display shell canvas on a given axis, center the image
on that axis. This behaviour will certainly require a few tweaks
but let's see how this feels. Feedback welcome.
svn path=/trunk/; revision=26489
2008-08-10 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_fill): Recent
refactorings seems to have made the centering hack obsolete so use
gimp_display_shell_scroll_center_image_on_next_size_allocate()
instead.
svn path=/trunk/; revision=26488
2008-08-10 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_shrink_wrap):
Always center the image after a wrap. I can't think of a case when
that shouldn't happen.
* app/display/gimpdisplayshell-handlers.c
(gimp_display_shell_size_changed_detailed_handler): Centering
occurs implicitly after wrapping now, no need to do it explicitly.
* app/display/gimpdisplayshell-scroll.c
(gimp_display_shell_scroll_center_image): Handle the no-image
case.
svn path=/trunk/; revision=26487
2008-08-10 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.[ch]
(gimp_display_shell_scroll_set_offset): New low level function for
setting display shell offset.
(gimp_display_shell_scroll_center_image)
* app/display/gimpdisplayshell-handlers.c
(gimp_display_shell_size_changed_detailed_handler): Use it instead
of gimp_display_shell_scale_by_values().
svn path=/trunk/; revision=26486
2008-08-10 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_handle_zoom_revert): Move the
zoom-revert updating logic into this new helper function so that
we can update zoom-revert from other places.
svn path=/trunk/; revision=26485
2008-08-10 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.[ch]:
Rename gimp_display_shell_scale_setup() to
gimp_display_shell_update_scrollbars_and_rulers(), because that's
exactly what that function does.
* app/display/gimpdisplayshell.c
* app/display/gimpdisplayshell-scroll.c
* app/display/gimpdisplayshell-handlers.c
* app/display/gimpdisplayshell-callbacks.c: Adapt to new name.
svn path=/trunk/; revision=26484
2008-08-10 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.[ch]: It makes more sense
for gimp_display_shell_get_scaled_image_size() to be moved from
here to
* app/display/gimpdisplayshell-draw.[ch]: here, and rename it to
gimp_display_shell_draw_get_scaled_image_size().
* app/display/gimpdisplayshell.c: Adapt to name change.
svn path=/trunk/; revision=26479
2008-08-10 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-draw.[ch]
* app/display/gimpdisplayshell-render.[ch]
* app/display/gimpdisplayshell-transform.[ch]
* app/display/gimpdisplayshell-appearance.[ch]: Sprinkle as many
const qualifiers we can without any implementation changes.
svn path=/trunk/; revision=26477
2008-08-10 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.[ch]: gimp_display_shell_ ->
gimp_display_shell_scroll_ for functions that are scroll
related. Also did some other minor renamings.
* app/display/gimpnavigationeditor.c
* app/display/gimpdisplayshell-draw.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpdisplayshell-render.c
* app/display/gimpdisplayshell-transform.c
* app/display/gimpdisplayshell-callbacks.c: Adapt to the name
changes.
svn path=/trunk/; revision=26476
2008-08-10 Martin Nordholts <martinn@svn.gnome.org>
* app/actions/view-commands.c (view_shrink_wrap_cmd_callback): We
need to center the image after a Shrink Wrap.
svn path=/trunk/; revision=26472
2008-08-10 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.c
(gimp_display_shell_scroll_center_image): There is no need for
special casing depending on image size relative to viewport size.
svn path=/trunk/; revision=26471
2008-08-10 Martin Nordholts <martinn@svn.gnome.org>
Put functions to center the image in the display shell where they
belong, and give them proper names.
* app/display/gimpdisplayshell-scale.[ch]: Get rid of functions
and use the new names.
* app/display/gimpdisplayshell-scroll.[ch]: Put the functions here
and call them gimp_display_shell_scroll_center_image() and
gimp_display_shell_scroll_center_image_on_next_size_allocate().
* app/display/gimpdisplayshell.c:
* app/display/gimpdisplayshell-handlers.c: Use the new names.
svn path=/trunk/; revision=26470
2008-08-08 Sven Neumann <sven@gimp.org>
* app/base/tile-manager.c: implement
tile_manager_get_tile_coordinates() by calling
tile_manager_get_tile_col_row() instead of the other way around.
Saves two multiplications and divisions for each call of
tile_manager_get_tile_col_row().
svn path=/trunk/; revision=26446
2008-08-08 Sven Neumann <sven@gimp.org>
* app/core/gimplayer.c (gimp_layer_new_from_tiles)
(gimp_layer_new_from_pixbuf) (gimp_layer_new_from_region): allow
to pass NULL for the 'name' parameter. This will be handled just
like in gimp_layer_new().
svn path=/trunk/; revision=26434
2008-08-07 Sven Neumann <sven@gimp.org>
* app/actions/layers-actions.c (layers_actions): added mnemonic
to
the new action.
* de.po: Updated German translation.
svn path=/trunk/; revision=26432
2008-08-07 Tor Lillqvist <tml@novell.com>
* app/config/gimpbaseconfig.c (gimp_base_config_class_init): Use
G_MAXSIZE instead of G_MAXULONG to limit the max tile cache size,
as long is still 32 bits on Win64 but size_t is 64 bits.
svn path=/trunk/; revision=26423
2008-08-07 Sven Neumann <sven@gimp.org>
* app/actions/layers-actions.c
* app/actions/layers-commands.[ch]: added new action
"layers-new-from-visible".
* app/widgets/gimphelp-ids.h: added new help-id.
* menus/layers-menu.xml
* menus/image-menu.xml.in: added the new action.
* app/actions/edit-actions.c: improved the blurb for
"edit-copy-visible".
svn path=/trunk/; revision=26421
2008-08-07 Tor Lillqvist <tml@novell.com>
* app/main.c: Code built by the still unstable mingw-w64 toolchain
gets bogus argc and argv when built as subsystem:windows, so use
__argc and __argv instead, which seem to be OK.
* libgimp/gimp.h: Similar change here.
svn path=/trunk/; revision=26420
2008-08-07 Sven Neumann <sven@gimp.org>
* app/base/tile-manager.c (tile_manager_invalidate_tile): fixed
broken copy-on-write code. The old code did not insert the new
tile in the tile-manager's tile pointer array.
(tile_manager_map): changed in a similar way as
tile_manager_invalidate_tile(). This code was not broken, but it
is easier to read now.
* app/base/tile-private.h: moved a comment.
* app/core/gimpselection.c (gimp_selection_extract): removed
workaround for above bug.
svn path=/trunk/; revision=26419
2008-08-07 Sven Neumann <sven@gimp.org>
* app/core/gimpselection.c (gimp_selection_extract): aded a
comment explaining why copy_region_nocow() is being used here.
svn path=/trunk/; revision=26418
2008-08-07 Tor Lillqvist <tml@novell.com>
* configure.in: Define WIN32_LARGE_ADDRESS_AWARE as
-Wl,--large-address-aware on 32-bit Windows, empty
otherwise. AC_SUBST() it.
* app/Makefile.am (win32_ldflags): Use WIN32_LARGE_ADDRESS_AWARE
instead of hardcoding the switch, as it isn't valid, and would be
pointless, when building a 64-bit GIMP.
svn path=/trunk/; revision=26411
2008-08-06 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_center_image): The operation of centering the
image in the display shell has by itself nothing to do with
resizing the display shell window.
svn path=/trunk/; revision=26404
2008-08-05 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c (gimp_display_shell_scale):
Only center on the mouse pointer when zooming if it is within the
canvas.
svn path=/trunk/; revision=26396
2008-08-05 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-scroll.[ch]
* app/display/gimpdisplayshell-draw.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpdisplayshell-transform.c: get rid of the "image"
part in all instances of "scaled_image_viewport_offset", we call
it simply "viewport" in all other places and it makes the code
more readable.
svn path=/trunk/; revision=26395
2008-08-05 Sven Neumann <sven@gimp.org>
* app/gui/gimpdbusservice.[ch]: changed refcounting and fixed a
bug that I had introduced with the latest changes.
svn path=/trunk/; revision=26391
2008-08-05 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_setup): Don't setup scrollbar step
increment here.
* app/display/gimpdisplayshell-scroll.c
(gimp_display_shell_setup_hscrollbar_with_value)
(gimp_display_shell_setup_vscrollbar_with_value): Setup scrollbar
step increment here and make sure that a step always scrolls at
least a display shell pixel.
svn path=/trunk/; revision=26390
2008-08-05 Martin Nordholts <martinn@svn.gnome.org>
* app/core/gimpimage.c (gimp_image_real_size_changed_detailed):
Clarify the design with a comment.
svn path=/trunk/; revision=26388
2008-08-05 Sven Neumann <sven@gimp.org>
* app/gui/gimpdbusservice.[ch]: keep a queue of D-Bus requests
and
work on them one after another instead of handling them all in
parallel. Complements the fix for bug #546426.
svn path=/trunk/; revision=26386
2008-08-05 Sven Neumann <sven@gimp.org>
* app/base/tile-manager.h
* app/base/tile-pyramid.h: moved a misplaced comment to the
right
place.
svn path=/trunk/; revision=26382
2008-08-05 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c: move update_range
callbacks where they belong and make them static.
svn path=/trunk/; revision=26379
2008-08-05 Sven Neumann <sven@gimp.org>
* app/dialogs/tips-dialog.c (tips_dialog_create): added a
translator comment for the "Learn more" button.
2008-08-05 Sven Neumann <sven@gimp.org>
* de.po: Updated German translation.
svn path=/trunk/; revision=26377
2008-08-05 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-draw.c
(gimp_display_shell_draw_guide):
draw the guide all across the canvas, not limiting it to the
image.
* app/tools/gimpdrawtool.[ch]: added new function
gimp_draw_tool_draw_guide_line().
* app/tools/gimpmovetool.c (gimp_move_tool_draw): use it.
svn path=/trunk/; revision=26375
2008-08-05 Sven Neumann <sven@gimp.org>
* app/gui/gimpdbusservice.c: open the files from an idle
handler.
Opening a file may take a while (in particular if it involves
asking the user for input) and we need to respond to the D-Bus
call before it times out.
svn path=/trunk/; revision=26370
2008-08-04 Sven Neumann <sven@gimp.org>
* app/paint-funcs/scale-region.c: applied patch from Geert
Jordaens as attached to bug #464466. Improves quality of
scaling,
in particular down-scaling.
svn path=/trunk/; revision=26368
2008-08-04 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.[ch] (GimpImage::size-changed-detailed):
change double to int in signal parameters.
Remove gimp_image_emit_size_changed_signals() and call
gimp_viewable_size_changed() in size-changed-detailed's default
handler.
* app/core/gimpimageundo.[ch]
* app/core/gimpimage-undo-push.[ch]: change double to int in
previous-origin related code.
* app/core/gimpimage-undo.c
* app/core/gimpimage-scale.c
* app/core/gimpimage-crop.c
* app/core/gimpimage-rotate.c
* app/core/gimpimage-resize.c: call gimp_image_size_changed_detailed()
instead of the removed gimp_image_emit_size_changed_signals()
* app/display/gimpdisplayshell-scroll.[ch]: remove
gimp_display_shell_handle_size_changed_detailed() because it
handles both scrolling and scaling and doesn't belong here.
* app/display/gimpdisplayshell-handlers.c: moved its code back to
gimp_display_shell_size_changed_detailed_handler() and follow the
double -> int change above.
svn path=/trunk/; revision=26367
2008-08-04 Martin Nordholts <martinn@svn.gnome.org>
* app/core/gimpimage.c (gimp_image_emit_size_changed_signals): The
parameters should be named previous_origin_[xy].
svn path=/trunk/; revision=26365
2008-08-04 Sven Neumann <sven@gimp.org>
Applied a slightly modified patch from Róman Joost as attached
to
bug #545963. This add links to the user manual to the tips
dialog:
* data/tips/gimp-tips.dtd
* data/tips/gimp-tips.xml.in: add optional help IDs to the tips.
* app/dialogs/tips-dialog.c
* app/dialogs/tips-parser.[ch]: parse the help IDs from the tips
file and show a "Learn more" link in the tips dialog.
svn path=/trunk/; revision=26361
2008-08-03 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_new): Center
the image after connecting to it. This is required if the image we
connect to is smaller than the initial canvas size.
svn path=/trunk/; revision=26356