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
2008-08-03 Martin Nordholts <martinn@svn.gnome.org>
Further work for completing bug #362915 that makes changes to the
image size (e.g when cropping) be much more nicely handled by
display shell.
* app/core/gimpimage.[ch]: Add new signal
GimpImage::size-changed-detailed that is emited whenever
GimpViewable::size-changed is. The new signal provides additional
information, namely the previous origin relative to the current
origin. Cliens choose what specific signal to listen to depending
on how much info they need.
* app/display/gimpdisplayshell-handlers.c: Connect to
GimpImage::size-changed-detailed instead of
GimpViewable::size-changed since the shell wants information about
the previous image origin.
(gimp_display_shell_resolution_changed_handler): Use
gimp_display_shell_scale_resize() instead to avoid display
garbage.
* app/display/gimpdisplayshell-scale.[ch]: Add new utility
function gimp_display_shell_center_image_on_next_size_allocate().
* app/display/gimpdisplayshell-scroll.[ch]
(gimp_display_shell_handle_size_changed_detailed): New function
that replaces logic in gimp_display_shell_handle_size_changed and
that takes previous-origin of the image into account and adjusts
the offset so that the image content that remains doesn't move. If
the window is resized on image resize, just center the image
afterwards.
* app/core/gimpimage-undo-push.[ch]
(gimp_image_undo_push_image_size): Add previous-origin paremeters.
* app/core/gimpimageundo.[ch]: Add and manage previous-origin
properties so that the display shell offset can be appropriately
adjusted also when undoing.
* app/core/gimpundo.h
* app/core/gimpimage-undo.c: Add previous_origin members to the
undo accumulator and emit that information when the size of the
image changes due to the undo.
* app/core/gimpimage-crop.c (gimp_image_crop)
* app/core/gimpimage-scale.c (gimp_image_scale)
* app/core/gimpimage-rotate.c (gimp_image_rotate)
* app/core/gimpimage-resize.c (gimp_image_resize_with_layers):
Supply information about the previous-origin of the image to the
size-changed signals and the undo system.
svn path=/trunk/; revision=26354
2008-07-30 Sven Neumann <sven@gimp.org>
* app/dialogs/file-open-dialog.c (file_open_dialog_response):
attach the URI of the last opened image to the Gimp object.
* app/actions/file-commands.c (file_open_dialog_show): use the
last opened URI as a fallback for initializing the dialog.
svn path=/trunk/; revision=26339
2008-07-29 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/vectors.pdb: added the real name of the
author
of the new PDB function.
* app/pdb/vectors-cmds.c: regenerated.
svn path=/trunk/; revision=26333
2008-07-27 Sven Neumann <sven@gimp.org>
* app/text/gimptext-compat.c (text_get_extents): applied the
same
workaround for a memory leak in PangoFT2 (bug #143542) as was
applied long ago in gimptextlayout.c.
svn path=/trunk/; revision=26324
2008-07-27 Sven Neumann <sven@gimp.org>
* app/text/gimptext-compat.c (text_get_extents)
* app/text/gimptextlayout-render.c (gimp_text_layout_render):
use the readonly variant of pango_layout_iter_get_line().
svn path=/trunk/; revision=26323
2008-07-27 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_synthesize_motion): Bail out if there is no
pending rectangle to synthesize a motion on. Fixes bug #544181.
svn path=/trunk/; revision=26322
2008-07-23 Sven Neumann <sven@gimp.org>
* app/paint/gimppaintcore-stroke.[ch]: also implement brush
dynamics emulation for stroking selections.
* app/core/gimpchannel.c: pass the 'emulate-dynamics' parameter
to
gimp_paint_core_stroke_boundary().
svn path=/trunk/; revision=26293
2008-07-23 Sven Neumann <sven@gimp.org>
* app/widgets/gimpsessioninfo.c
(gimp_session_info_get_geometry):
don't report negative offsets, they would be interpreted
wrongly.
svn path=/trunk/; revision=26292
2008-07-23 Sven Neumann <sven@gimp.org>
Based on a patch from Alexia Death (bug #543706):
* app/paint/gimppaintcore-stroke.[ch]
(gimp_paint_core_stroke_vectors): added code to emulate brush
dynamics by modifying pressure and velocity along the stroke.
* app/vectors/gimpvectors.c (gimp_vectors_stroke): pass the
'emulate-dynamics' parameter to
gimp_paint_core_stroke_vectors().
svn path=/trunk/; revision=26291
2008-07-22 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcellrendererviewable.c: no need to cast the
return value of g_value_dup_object().
svn path=/trunk/; revision=26279
2008-07-22 Michael Natterer <mitch@gimp.org>
* app/tools/gimpcolortool.c: set scroll_lock to TRUE while moving
or creating sample points so the image doesn't scroll while a new
sample point is dragged from the rulers and sample points can be
deleted by dragging them out of image without scrolling at the
same time.
svn path=/trunk/; revision=26276
2008-07-22 Sven Neumann <sven@gimp.org>
* app/tools/gimpvectortool.c: only use the position from the
event
coordinates when creating or modifying strokes. Initialize all
other GimpCoords fields with default values.
svn path=/trunk/; revision=26275
2008-07-22 Sven Neumann <sven@gimp.org>
* app/widgets/gimpsessioninfo-aux.c
(gimp_session_info_aux_new_from_props): plugged memory leak.
2008-07-22 Sven Neumann <sven@gimp.org>
* app/widgets/gimphistogramview.c
(gimp_histogram_view_set_background): fixed refcounting issue.
This plugs the memory leak I tried to fix in
GimpHistogramEditor.
svn path=/trunk/; revision=26271
2008-07-22 Sven Neumann <sven@gimp.org>
* app/base/gimphistogram.[ch]: added new method
gimp_histogram_duplicate().
* app/widgets/gimphistogrameditor.c
(gimp_histogram_editor_frozen_update): instead of recalculating
the histogram, use a duplicate for the background histogram.
svn path=/trunk/; revision=26270
2008-07-22 Sven Neumann <sven@gimp.org>
* app/widgets/gimphistogrameditor.c
(gimp_histogram_editor_set_image):
reverted last change, it did not plug the leak.
svn path=/trunk/; revision=26269
2008-07-21 Sven Neumann <sven@gimp.org>
* app/widgets/gimphistogrameditor.c
(gimp_histogram_editor_set_image): always unset and ref the
histograms. Plugs a memory leak reported by valgrind.
svn path=/trunk/; revision=26263
2008-07-21 Sven Neumann <sven@gimp.org>
* app/tools/gimpdrawtool.c (gimp_draw_tool_on_vectors_handle):
plugged a not so small memory leak.
svn path=/trunk/; revision=26260
2008-07-21 Sven Neumann <sven@gimp.org>
* app/actions/windows-actions.c (windows_actions_dock_notify):
plugged another small memory leak.
svn path=/trunk/; revision=26259
2008-07-21 Sven Neumann <sven@gimp.org>
* app/menus/file-menu.c (file_menu_open_recent_query_tooltip):
plugged a small memory leak.
svn path=/trunk/; revision=26258
2008-07-21 Sven Neumann <sven@gimp.org>
* app/core/gimpstrokedesc.[ch]: added boolean property
'emulate-brush-dynamics', in preparation for bug #543706.
* app/dialogs/stroke-dialog.c: added a toggle for the new
parameter.
svn path=/trunk/; revision=26255
2008-07-21 Michael Natterer <mitch@gimp.org>
* app/gui/splash.c
* plug-ins/common/*.c: don't use gtk_box_pack_start_defaults(),
it got deprecated in GTK+ trunk.
svn path=/trunk/; revision=26252
2008-07-19 Martin Nordholts <martinn@svn.gnome.org>
* app/widgets/gimpnavigationview.[ch]: Don't expose implementation
details and extend the interface with trivial new functions.
* app/display/gimpnavigationeditor.c
(gimp_navigation_editor_popup): Use the new interface instead of
directly accessing the members of the navigation view.
svn path=/trunk/; revision=26236
2008-07-18 Sven Neumann <sven@gimp.org>
* app/core/core-types.h: removed delta_time, delta_x, delta_y,
distance and random from the GimpCoords struct. These don't need
to be kept here and they can't be properly interpolated.
* app/core/gimpcoords.c: changed accordingly.
* app/xcf/xcf-load.c (xcf_load_vector): the size of the
GimpCoords
struct changed.
* app/display/gimpdisplayshell.[ch] (struct _GimpDisplayShell):
added some members to store values from the last event that are
needed in gimp_display_shell_eval_event() and which are not any
longer part of GimpCoords.
* app/display/gimpdisplayshell-coords.c
(gimp_display_shell_eval_event): changed accordingly.
* app/paint/gimppaintoptions.c: calculate a random number when
one
is needed.
* app/paint/gimpbrushcore.c (gimp_brush_core_interpolate):
GimpCoords doesn't have a "random" field any longer.
svn path=/trunk/; revision=26232
2008-07-18 Sven Neumann <sven@gimp.org>
* app/core/core-types.h (GIMP_COORDS_DEFAULT_VALUES): initialize
all members of the GimpCoords struct.
svn path=/trunk/; revision=26231
2008-07-17 Sven Neumann <sven@gimp.org>
* app/core/gimpcoords.c (gimp_coords_mix): also mix in the new
members of the GimpCoords struct.
svn path=/trunk/; revision=26230
2008-07-17 Tor Lillqvist <tml@novell.com>
* app/Makefile.am (win32_ldflags): Use -Wl,--large-address-aware
on Windows so that we can use more that 2 GB user data space (if
available; i.e. if running on a 64-bit OS, or a 32-bit OS booted
with /3GB). See discussion in bug #522073.
svn path=/trunk/; revision=26220
2008-07-14 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/palette.pdb: added new PDB function
gimp-palette-get-colors that retrieves all colors from a palette
in a single call. Based on patches from bug #332206.
* app/pdb/palette-cmds.c
* app/pdb/internal-procs.c
* libgimp/gimppalette_pdb.[ch]: regenerated.
* libgimp/gimp.def: updated.
svn path=/trunk/; revision=26192
2008-07-14 Sven Neumann <sven@gimp.org>
Add new PDB data type PDB_COLORARRAY for using arrays of GimpRGB
colors as argument or return value.
* libgimpbase/gimpbaseenums.[ch] (enum GimpPDBArgType): replaced
the unused GIMP_PDB_BOUNDARY with GIMP_PDB_COLORARRAY.
* libgimpbase/gimpprotocol.h: increased GIMP_PROTOCOL_VERSION.
(struct _GPParam): added d_colorarray entry to the union.
* libgimpbase/gimpprotocol.c
* libgimp/gimp.[ch]
* app/pdb/gimp-pdb-compat.c
* app/plug-in/plug-in-params.c
* app/plug-in/gimpplugin-message.c
* tools/pdbgen/pdb.pl: deal with the new data type.
* tools/pdbgen/enums.pl: regenerated.
* plug-ins/pygimp/pygimp-pdb.c
* plug-ins/script-fu/scheme-wrapper.c: handle the new data type.
svn path=/trunk/; revision=26189
2008-07-14 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontrollerkeyboard.c: changed cursor key event
prefix from "key-" to "cursor-".
* etc/controllerrc: changed accordingly. Also removed default
bindings for cursor keys without modifiers as many tools use the
cursor keys already.
svn path=/trunk/; revision=26188
2008-07-14 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_setup): added some line breaks to
improve readability.
svn path=/trunk/; revision=26187
2008-07-13 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.[ch]
(gimp_display_shell_center_image): Allow to choose what axes to
center on.
(gimp_display_shell_scale_fill)
(gimp_display_shell_scale_fit_in): Explicitly center on both axes.
* app/display/gimpdisplayshell.c (gimp_display_shell_fill): Center
the image in the filled display shell. Rather hackish, but seems
to work fine.
svn path=/trunk/; revision=26185
2008-07-13 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/gimpdbusservice.[ch]
* app/widgets/dbus-service.xml: removed here ...
* app/gui/Makefile.am
* app/gui/gimpdbusservice.[ch]
* app/gui/dbus-service.xml: ... and moved here.
(gimp_dbus_service_activate): raise the first display instead of
the toolbox.
* app/gui/gui-unique.c (gui_unique_win32_idle_open): same change
here, raise the display instead of the toolbox.
* app/unique.c: changed accordingly.
svn path=/trunk/; revision=26184
2008-07-13 Sven Neumann <sven@gimp.org>
* app/unique.c
* app/gui/gui-unique.c: on Win32, if the gimp binary is started
without filenames, raise the toolbox, just as we do in the DBus
code path.
svn path=/trunk/; revision=26183
2008-07-13 Aurimas Juška <aurisj@svn.gnome.org>
* app/unique.c (gimp_unique_win32_open): check for NULL pointer to
prevent crash when there are no filenames provided.
svn path=/trunk/; revision=26179
2008-07-13 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_center_image): New function.
(gimp_display_shell_scale_fill)
(gimp_display_shell_scale_fit_in): Center the image at the end.
svn path=/trunk/; revision=26176
2008-07-13 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.c
(gimp_display_shell_setup_hscrollbar_with_value)
(gimp_display_shell_setup_vscrollbar_with_value): Use
gimp_display_shell_get_scaled_image_size() instead of inaccurately
calculate that information locally.
svn path=/trunk/; revision=26175
2008-07-13 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpnavigationeditor.c
(gimp_navigation_editor_popup): BORDER_PEN_WIDTH is a normal
constant, no need for voodoo.
svn path=/trunk/; revision=26170
2008-07-13 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.[ch]
(gimp_display_shell_get_scaled_image_size): New function that
contains logic previously kept in gimp_display_shell_draw_area().
* app/display/gimpdisplayshell-draw.c
(gimp_display_shell_draw_area): Use the new function.
svn path=/trunk/; revision=26168
2008-07-13 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_fill): Don't
ask gimp_display_shell_set_initial_scale() for display size, we
don't care anyway.
svn path=/trunk/; revision=26167
2008-07-12 Martin Nordholts <martinn@svn.gnome.org>
The following change is conceptually based on a patch by
Alexia Death and implements the core functionality for
bug #362915.
* app/display/gimpdisplayshell-scroll.[ch]
(gimp_display_shell_scroll_clamp_offsets): Clamp the offsets in
such a way that allows to scroll beyond the image border.
(gimp_display_shell_setup_hscrollbar_with_value)
(gimp_display_shell_setup_vscrollbar_with_value): Put common
scrollbar range setup code here.
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_setup): Use above helper functions for
setting up scrollbar range.
* app/display/gimpdisplayshell-callbacks.c: Handle adjustment of
the scrollbar range when they are about to change value.
* app/display/gimpdisplayshell.c: Always keep the scrollbar
steppers sensitive to user input.
svn path=/trunk/; revision=26166
2008-07-12 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.c:
Replace gimp_display_shell_scroll() with
gimp_display_shell_center_around_image_coordinate() since that is
easier to map to something sensible when we allow to scroll beyond
image border.
* app/display/gimpnavigationeditor.c
(gimp_navigation_editor_marker_changed): Adapt to the new
interface.
svn path=/trunk/; revision=26162
2008-07-12 Martin Nordholts <martinn@svn.gnome.org>
* app/core/gimpmarshal.list: Added
VOID__DOUBLE_DOUBLE_DOUBLE_DOUBLE marshaller.
* app/widgets/gimpnavigationview.c: Make the "marker-changed"
signal also pass the marker width and height as parameters.
* app/display/gimpnavigationeditor.c: Updated accordingly.
svn path=/trunk/; revision=26160
2008-07-12 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_setup): The scrollbars should be setup
using the new offset, not the old counterpart.
svn path=/trunk/; revision=26154
2008-07-12 Sven Neumann <sven@gimp.org>
* app/core/gimpparamspecs.[ch]: added GIMP_TYPE_COLOR_ARRAY and
GIMP_TYPE_PARAM_COLOR_ARRAY in preparation for fixing bug
#332206.
svn path=/trunk/; revision=26150
2008-07-12 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_setup): Renamed the variables sx and sy
to sw and sh.
svn path=/trunk/; revision=26148
2008-07-12 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell.c: Kill disp_[xy]offset! We now
keep store that information by using negative values in
offset_[xy].
* app/display/gimpdisplayshell-scroll.[ch]
(gimp_display_shell_scroll_clamp_offsets)
(gimp_display_shell_get_scaled_image_viewport_offset): Adjust
accordingly to preserve current behaviour.
(gimp_display_shell_get_disp_offset): New function to get the old
disp_[xy]offset based on the new offset_[xy].
(gimp_display_shell_get_render_start_offset): New function to get
th old offset_[xy] based on the new offset_[xy].
* app/display/gimpdisplayshell-draw.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpdisplayshell-render.c: Get rid of
disp_[xy]offset and use
gimp_display_shell_get_render_start_offset() and
gimp_display_shell_get_disp_offset() instead.
svn path=/trunk/; revision=26146
2008-07-11 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_setup): Restructure the way the rulers
are setup, partly by making use of the new nifty
gimp_display_shell_get_scaled_image_viewport_offset().
svn path=/trunk/; revision=26143
2008-07-11 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-transform.c
(gimp_display_shell_transform_xy_f)
(gimp_display_shell_untransform_xy_f): We can use
gimp_display_shell_get_scaled_image_viewport_offset() here
* app/display/gimpdisplayshell-scroll.c
(gimp_display_shell_get_scaled_viewport): and here.
svn path=/trunk/; revision=26141
2008-07-11 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.c
(gimp_display_shell_get_scaled_image_viewport_offset): New
function to replace any occurance of
shell->disp_[xy]offset - shell->offset_[xy]
that is just an implementation specific way of saying the same
thing.
* app/display/gimpdisplayshell-draw.c
* app/display/gimpdisplayshell-transform.c: Make the code less
implementation dependant by using the new function.
svn path=/trunk/; revision=26137
2008-07-11 Tor Lillqvist <tml@novell.com>
* app/gui/gui-unique.c: Include <windows.h> on Windows.
(gui_unique_win32_init): Drop unused variable.
svn path=/trunk/; revision=26125
2008-07-11 Sven Neumann <sven@gimp.org>
* app/unique.c
* app/gui/gui-unique.[ch]: merged code from bug #410439 to
provide
builtin gimp-win-remote functionality for Win32. This is
untested
and most probably doesn't even compile.
svn path=/trunk/; revision=26120
2008-07-11 Sven Neumann <sven@gimp.org>
* app/gui/Makefile.am
* app/gui/gui-unique.[ch]: new files providing functionality to
ensure a unique GUI instance of GIMP. Code split out of gui.c.
* app/gui/gui.c: changed accordingly.
svn path=/trunk/; revision=26119
2008-07-11 Sven Neumann <sven@gimp.org>
* app/Makefile.am
* app/unique.[ch]: new files containing functionality to check
for
an already running instance of GIMP of notifying it about files
to
open. Code split out of main.c.
* app/main.c: changed accordingly.
svn path=/trunk/; revision=26117
2008-07-11 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.[ch]
(gimp_display_shell_get_viewport): Extend the interface with this
function.
* app/display/gimpnavigationeditor.c
(gimp_navigation_editor_update_marker): Use it here.
svn path=/trunk/; revision=26114
2008-07-10 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.c
(gimp_display_shell_get_scaled_viewport): Extend the interface
with this function
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_update_handle_sizes): Forget anything we knew
about how to interpret the icky GimpDisplayShell offset variables
svn path=/trunk/; revision=26111
2008-07-10 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.[ch]: Make
gimp_display_shell_scroll() a sane public interface for scrolling
and call the old version gimp_display_shell_scroll_private()
* app/display/gimpnavigationeditor.c: Adapt to the saner version
of gimp_display_shell_scroll()
* app/display/gimpdisplayshell-callbacks.c:
* app/display/gimpdisplayshell-autoscroll.c: Use the private
version of gimp_display_shell_scroll()
* app/display/Makefile.am: Added gimpdisplayshell-private.h
svn path=/trunk/; revision=26110
2008-07-10 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.[ch]: The return value of
gimp_display_shell_scroll() is not used anywhere, make it void.
svn path=/trunk/; revision=26109
2008-07-10 Sven Neumann <sven@gimp.org>
* app/widgets/gimphelp.c: some changes to the dialog that is
shown
if the help browser is missing.
svn path=/trunk/; revision=26104
2008-07-10 Sven Neumann <sven@sven-sun.berlin.jpk.com>
* app/display/gimpdisplayshell-progress.c
(gimp_display_shell_progress_message): swallow informational
messages if there aren't handled by the statusbar.
svn path=/trunk/; revision=26101
2008-07-10 Sven Neumann <sven@sven-sun.berlin.jpk.com>
* app/core/gimpdata.[ch]: renamed gimp_data_name_compare() to
gimp_data_compare() and changed it to keep the data in three
groups: internal, writable and system resource files. Inside the
groups the sorting order is alphabetical.
* app/core/gimpdatafactory.c (gimp_data_factory_new): changed
accordingly.
svn path=/trunk/; revision=26100
2008-07-09 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-close.c (gimp_display_shell_close):
if a save dialog is active for this image, then don't allow to
close it. Fixes bug #511965.
svn path=/trunk/; revision=26095
2008-07-09 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_progress_message):
don't accept a progress message if the status bar is already
showing a temporary message.
svn path=/trunk/; revision=26094
2008-07-09 Sven Neumann <sven@gimp.org>
* app/tools/gimppainttool.c (gimp_paint_tool_motion): don't
paint
while the Shift key is pressed for line drawing (bug #529434).
svn path=/trunk/; revision=26090
2008-07-07 Sven Neumann <sven@gimp.org>
* app/paint/gimppaintoptions.c
(gimp_paint_options_get_dynamic_hardness) : applied patch from
Alexia Death fixing a cut'n'paste error.
svn path=/trunk/; revision=26084
2008-07-07 Sven Neumann <sven@gimp.org>
* app/tools/gimppaintoptions-gui.c (tool_has_size_dynamics):
check
for tools derived from GimpPaintBrushTool just as we do in
tool_has_opacity_dynamics().
(tool_has_hardness_dynamics): enable hardness dynamics for the
eraser tool (bug #541691).
svn path=/trunk/; revision=26083
2008-07-07 Sven Neumann <sven@gimp.org>
* app/widgets/gimphelp.c (gimp_help_query_user_manual_online):
command button labels should be capitalized in header style.
svn path=/trunk/; revision=26080
2008-07-06 Sven Neumann <sven@gimp.org>
* app/widgets/gimphelp.c: if the user asks for help and the user
manual is not locally installed, show a dialog that allows to
change the preferences so that the online version is used.
svn path=/trunk/; revision=26074
2008-07-05 Martin Nordholts <martinn@svn.gnome.org>
* app/display/gimpdisplayshell-scroll.c
(gimp_display_shell_scroll_clamp_offsets): Renamed the variales sx
and sy to sw and sh.
svn path=/trunk/; revision=26070
2008-07-05 Sven Neumann <sven@gimp.org>
* app/dialogs/preferences-dialog.c
* app/widgets/gimphelp.[ch]: improved test for user manual
installation and moved the code out of the prefs dialog.
svn path=/trunk/; revision=26067
2008-07-05 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c:
* app/tools/gimpeditselectiontool.c: Mark the center of
rectangles/bounding rectangles so that it is easier to predict and
see where snapping occurs. Completes the fix for bug #527659.
svn path=/trunk/; revision=26065
2008-07-04 Sven Neumann <sven@gimp.org>
* app/widgets/gimphelp.[ch]: added a function to get the
location
where the user manual is expected if it is installed locally.
* app/dialogs/preferences-dialog.c: inform the user about the
presence or absence of the user manual.
svn path=/trunk/; revision=26058
2008-07-03 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_events): don't use Escape to quit full-screen
mode, it collides with tools using the Escape key (bug #539949).
svn path=/trunk/; revision=26049
2008-07-03 Sven Neumann <sven@gimp.org>
* app/widgets/gimpsettingsbox.c (gimp_settings_box_constructor)
* app/widgets/gimpsettingseditor.c (gimp_settings_editor_constructor):
removed trailing period from tooltip texts.
* app/config/gimprc-blurbs.h: don't mark USER_MANUAL_ONLINE_BLURB
for translation, it is not used in the user interface.
svn path=/trunk/; revision=26042
2008-06-30 Michael Natterer <mitch@gimp.org>
* app/dialogs/file-open-dialog.c (file_open_dialog_response):
restore code that sets the dialog back to sensitive when opening
fails because it stays open. Fixes bug #540801.
svn path=/trunk/; revision=26022
2008-06-29 Michael Natterer <mitch@gimp.org>
* app/tools/gimpgegltool.c (gimp_gegl_tool_dialog): remove size
group code because the size group doesn't exist if there is no
settings box.
svn path=/trunk/; revision=26020