2007-03-11 Michael Schumacher <schumaml@cvs.gnome.org>
Made brushes scalable (both up and down) by using existing
scaling routines, and also refactored some brush-code. Patch by
Martin Nordholts. Fixes bug #65030.
* app/paint/gimpbrushcore.c:
(gimp_brush_core_calc_brush_length_scale) Refactored 'get brush
size' code to where it belongs, in GimpBrush-classes, and renamed
gimp_brush_core_calc_brush_size to
gimp_brush_core_calc_brush_length_scale.
* app/paint/gimppaintoptions.c (gimp_paint_options_class_init):
Changed Scale scale to [0.0, 100.0].
* app/base/temp-buf.[ch] (mask_buf_new): Change signature to also
take a bpp parameter.
* app/base/brush-scale.[ch]: Changed brush_scale_(mask|pixmap) to
the new brush_scale_buf, which uses existing scaling routines
(scale_region) instead of dedicated down-scaling only routines.
* app/tools/gimppaintoptions-gui.c (gimp_paint_options_gui): Made
the brush Scale-slider logarithmic.
* app/core/gimpbrushgenerated.c: Implemented the new
get_scaled_size method inherited from GimpBrush, and modified
gimp_brush_generated_calc to use this helper function.
* app/core/gimpbrush.[ch]: Added public virtual method
get_scaled_size to GimpBrush, overridden by GimpBrushGenerated,
which calculates the buffer sizes for a given brush scaled with a
given scale. Also changed calls to brush_scale_(mask|pixmap) to
the new brush_scale_buf.
svn path=/trunk/; revision=22099
2007-03-10 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_update): while the
statusbar is being used as a progress bar, only show progress
messages.
svn path=/trunk/; revision=22096
2007-03-10 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginprocedure.[ch]: cache the result of
gimp_plug_in_procedure_get_label() and made the return value
const.
* app/actions/plug-in-actions.c
* app/plug-in/gimpplugin-cleanup.c
* app/plug-in/gimppluginmanager.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimpfileprocview.c
* app/widgets/gimpimagepropview.c: changed accordingly.
* app/file/file-open.c
* app/file/file-save.c: include the plug-in name (or actually
the
label) in the error messages.
svn path=/trunk/; revision=22095
2007-03-10 Michael Natterer <mitch@gimp.org>
* app/core/core-types.h: don't include libgimpmath/gimpmathtypes.h
* app/base/base-types.h: include it here. Also include
libgimpcolor/gimpcolortypes.h
svn path=/trunk/; revision=22094
2007-03-10 Michael Natterer <mitch@gimp.org>
* app/tools/tools-enums.[ch] (enum GimpButtonReleaseType): added
value GIMP_BUTTON_RELEASE_NO_MOTION.
* app/tools/gimptool.[ch]: when click events are requested and the
click was too long for a "click" event, send a NO_MOTION event if
the pointer didn't move at all.
* app/tools/gimpbucketfilltool.c: treat NO_MOTION as tool
confirmation too.
* app/tools/gimpfreeselecttool.c: request click events and treat
both CLICK and NO_MOTION as tool confirmation.
* app/tools/gimprectangletool.c: ignore NO_MOTION.
svn path=/trunk/; revision=22091
2007-03-09 Michael Natterer <mitch@gimp.org>
* app/core/core-types.h: include "libgimpmath/gimpmathtypes.h"
instead of "libgimpmath/gimpmath.h".
* app/core/gimpbrush.h
* app/paint/gimppaintcore.h
* app/paint/gimpperspectiveclone.h
* app/text/gimptext.h
* app/tools/gimptransformtool.h: include gimpvector.h and
gimpmatrix.h explicitely where they are needed in public structs.
* app/*/*.c
* tools/pdbgen/pdb/paths.pdb: include "libgimpmath/gimpmath.h"
where needed.
* app/pdb/paths_cmds.c: regenerated.
svn path=/trunk/; revision=22084
2007-03-09 Raphael Quinet <raphael@gimp.org>
* app/tools/gimpblendtool.c (gimp_blend_tool_push_status): make
the new feature visible in the status bar (alas, this implies a
new translatable string).
svn path=/trunk/; revision=22078
2007-03-08 Michael Natterer <mitch@gimp.org>
* app/tools/gimpblendtool.h (struct GimpBlendTool): renamed
members and added last_x and last_y to remember the last mouse
coords.
* app/tools/gimpblendtool.c: changed accordingly. Take drawable
offset into account in button_release() and remove offset
calculations from all other places. Enabled using ALT for moving
the entire line.
svn path=/trunk/; revision=22077
2007-03-08 Sven Neumann <sven@gimp.org>
* app/base/pixel-surround.c (pixel_surround_get_data): do one less
call to tile_manager_get_tile().
svn path=/trunk/; revision=22076
2007-03-08 Michael Natterer <mitch@gimp.org>
* app/tools/gimpbucketfilltool.[ch]: request click events, removed
target_x,y struct members and button_press() implementation and
use the coords passed in button_release(). Also make sure that
a click has no effect in areas where we show the bad corsor.
svn path=/trunk/; revision=22075
2007-03-08 Sven Neumann <sven@gimp.org>
* app/tools/gimpperspectivetool.c
* app/tools/gimpscaletool.c
* app/tools/gimprotatetool.c
* app/tools/gimpfliptool.c
* app/tools/gimpsheartool.c
* app/tools/gimptransformtool.[ch]: removed shell_desc member
from
GimpTransformToolClass and just use the tool blurb instead.
svn path=/trunk/; revision=22067
2007-03-07 Sven Neumann <sven@gimp.org>
* app/tools/gimpvectoroptions.c (gimp_vector_options_gui):
describe
usage of modifiers as suggested in bug #415796.
svn path=/trunk/; revision=22065
2007-03-07 Sven Neumann <sven@gimp.org>
* app/base/pixel-surround.c (pixel_surround_lock): reduced number
of calls to tile_manager_get_tile().
svn path=/trunk/; revision=22064
2007-03-07 Michael Natterer <mitch@gimp.org>
Clean up fix for bug #328001:
* app/tools/gimpeditselectiontool.[ch] (process_event_queue_keys):
made private again.
(gimp_edit_selection_tool_translate): new function which has an
additional GimpTransformType parameter to determine what transform
to perform. Do all the work here, ignoring the key event's
modifier state.
(gimp_edit_selection_tool_key_press): just determine the transform
type from the key event's modifier state and call
gimp_edit_selection_tool_translate().
* app/tools/gimpmovetool.c (gimp_move_tool_key_press): removed all
code and call gimp_edit_selection_tool_translate() with
options->move_type. Moved the function to its proper place in the
file.
svn path=/trunk/; revision=22063
2007-03-07 Sven Neumann <sven@gimp.org>
* app/base/pixel-surround.c: keep an internal buffer filled with
the background color and use it for out of bounds requests.
Speed
up filling the internal buffer by copying data row-by-row.
svn path=/trunk/; revision=22062
2007-03-06 Sven Neumann <sven@gimp.org>
Patch by Martin Nordholts. Fixes bug #328001.
* app/tools/gimpeditselectiontool.[ch]
(process_event_queue_keys):
Made process_event_queue_keys public for use of gimpmovetool.c.
Still needs to be renamed and moved to another place.
* app/tools/gimpmovetool.c (gimp_move_tool_key_press): Created
gimp_move_tool_key_press() which takes care of events that
gimp_edit_selection_tool_key_press() is not is able to
handle. Otherwise just pass key events on to that method.
svn path=/trunk/; revision=22058
2007-03-05 Michael Natterer <mitch@gimp.org>
* app/tools/gimprectangleselecttool.c
(gimp_rect_select_tool_execute): if the user clicks inside an
existing selection, initialize the rectangle tool to the entire
selection, not just to the part of it that is within the active
drawable. Also removed some dead code.
svn path=/trunk/; revision=22049
2007-03-05 Michael Natterer <mitch@gimp.org>
Makes default Select -> Border behaviour consistent, and makes
'sticky image edges' optional by adding a checkbox in the Border
Selection dialog. Patch by Martin Nordholts. Fixes bug #350009.
* app/actions/select-commands.c (select_border_cmd_callback)
(select_border_callback): Added edge-lock checkbox to dialog and
modified calls accordingly.
* app/paint-funcs/paint-funcs.c (border_region)
(compute_transition): Fixed algorithm. (compute_transition is a
helper function to the algorithm). Also clarified many parts of
the algorithm with comments.
* app/paint-funcs/paint-funcs.h
* app/core/gimpchannel.[ch]
* app/core/gimpselection.c: Added gboolean edge_lock to function
calls/signatures.
* app/pdb/selection_cmds.c: Regenerated.
svn path=/trunk/; revision=22047
2007-03-05 Michael Natterer <mitch@gimp.org>
* app/core/core-types.h: added typdef GimpMemsizeFunc.
* app/core/gimp-utils.[ch]: added _foreach() variants of
GHashTable, GList and GSList functions which take GimpMemsizeFunc
callbacks. Added gimp_parasite_get_memsize(). Added "data_size"
parameter to gimp_g_hash_table_get_memsize().
* app/core/gimp.c
* app/core/gimppalette.c
* app/core/gimpparasitelist.c
* app/pdb/gimppdb.c
* app/plug-in/gimppluginmanager.c: use the new functions instead
of itering manually or ignoring the containers' elements. Changed
callers of gimp_g_hash_table_get_memsize().
svn path=/trunk/; revision=22046
2007-03-04 Michael Natterer <mitch@gimp.org>
* app/core/gimpobject.c (gimp_object_get_memsize): don't pass
random strings to g_print() without running them through %s.
Fixes crash/warning when the string contains '%'.
svn path=/trunk/; revision=22042
2007-03-04 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.[ch]
* app/display/gimpdisplayshell-scale.c: only change the
remembered
last scale value if the last change occured more than a second
ago.
* app/tools/gimprectangletool.c: fixed compiler warnings.
svn path=/trunk/; revision=22040
2007-03-01 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable-blend.c (gimp_drawable_blend): use
gimp_drawable_bytes_with_alpha() instead of manually adding
alpha to the value returned by gimp_drawable_bytes()
svn path=/trunk/; revision=22037
2007-02-29 Raphael Quinet <raphael@gimp.org>
* app/tools/gimpmeasuretool.c (gimp_measure_tool_cursor_update):
don't suggest Shift when a new point cannot be added to point 0.
svn path=/trunk/; revision=22031
2007-02-28 Raphael Quinet <raphael@gimp.org>
* app/tools/gimpmeasuretool.[ch]: added status bar help messages
explaining the usage of the modifiers.
* app/tools/gimpvectortool.c (gimp_vector_tool_status_update):
suggest Ctrl for edit mode, to close the path or move handles.
* app/tools/gimpcroptool.c (gimp_crop_tool_button_release):
"press enter" should be "press Enter", as in the other tools.
svn path=/trunk/; revision=22030
2007-02-28 Sven Neumann <sven@gimp.org>
* app/tools/gimptool.c (gimp_tool_check_click_distance):
simplified callers and moved calculations out of the SQR() macro.
svn path=/trunk/; revision=22027
2007-02-28 Sven Neumann <sven@gimp.org>
* app/tools/gimprectangleselecttool.c
(gimp_rect_select_tool_rectangle_changed): don't change the
selection while the tool is active. Fixes bug #398185. Thanks to
Martin Nordholts for investigating this problem.
* app/tools/gimprectangletool.c: minor cleanup.
svn path=/trunk/; revision=22025
2007-02-28 Michael Natterer <mitch@gimp.org>
* app/tools/gimptool.c (gimp_tool_check_click_distance): need to
check the distance in screen coords, not image coords.
* app/tools/gimpmovetool.c (gimp_move_tool_button_release): forgot
two manual checks for GDK_BUTTON3_MASK.
svn path=/trunk/; revision=22024
2007-02-27 Michael Natterer <mitch@gimp.org>
* app/tools/gimptool.[ch]: clean up last commit a bit. Pass the
recorded button_press_coords to GimpTool::button_release() when a
click was detected.
svn path=/trunk/; revision=22019
2007-02-27 Sven Neumann <sven@gimp.org>
* app/config/gimpcoreconfig.c: increased default value for
"undo-size" to 64 MB.
* app/config/gimpguiconfig.c: increased default value for
'max-new-image-size' to 128 MB.
svn path=/trunk/; revision=22017
2007-02-27 Michael Natterer <mitch@gimp.org>
* app/tools/gimptoolcontrol.[ch]: added "gboolean wants_click"
member and getters/setters.
* app/tools/gimptool.[ch] (struct GimpTool): added members
in_click_distance, press_coords and press_time.
(gimp_tool_button_press): if the tool wants click events, record
press_coords and press_time.
(gimp_tool_motion): check if we are still in click distance.
(gimp_tool_button_release): ditto. If we are still in click
distance, synthesize a motion event back to the recorded
press_coords and send the tool release_type = CLICK.
(gimp_tool_check_click_distance): utility function which checks
the current coords and time against the recorded ones, using
gtk-double-click-time and gtk-double-click-distance as thresholds.
* app/tools/gimpcroptool.c
* app/tools/gimprectangleselecttool.c: request click events
and handle them.
* app/tools/gimprectangletool.[ch]: handle click events. Removed
gimp_rectangle_tool_no_movement().
svn path=/trunk/; revision=22016
2007-02-27 Michael Natterer <mitch@gimp.org>
Step one towards enabling tool cancellation by other means than
mouse button 3 and towards proper "clicked" semantics.
* app/tools/tools-enums.[ch]: added enum GimpButtonReleaseType
which can be one of { NORMAL, CANCEL, CLICK } (click is curently
unused).
* app/tools/gimptool.[ch] (GimpTool::button_release): added
"release_type" parameter.
(gimp_tool_button_release): if the state contains
GDK_BUTTON3_MASK, call the tool's button_release() with CANCEL,
use NORMAL otherwise.
* app/tools/gimpaligntool.c
* app/tools/gimpblendtool.c
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpbucketfilltool.c
* app/tools/gimpcolortool.c
* app/tools/gimpcroptool.c
* app/tools/gimpcurvestool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpforegroundselecttool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.c
* app/tools/gimprectangleselecttool.c
* app/tools/gimprectangletool.[ch]
* app/tools/gimpregionselecttool.c
* app/tools/gimptransformtool.c
* app/tools/gimpvectortool.c (button_release): added
"release_type" parameters and get rid of own checks for
GDK_BUTTON3_MASK.
svn path=/trunk/; revision=22015
2007-02-27 Michael Natterer <mitch@gimp.org>
* app/tools/gimpblendoptions.c (gimp_blend_options_gui): set the
gradient-type and gradient-repeat combo boxes to ELLIPSIZE_END so
the blend options can be one tool icon size smaller without
scrolling horizontally.
svn path=/trunk/; revision=22014
2007-02-27 Sven Neumann <sven@gimp.org>
* app/core/gimpsubprogress.[ch]: allow the parent progress to be NULL.
Documented the API.
* app/core/gimpimage-scale.c: use the sub-progress unconditionally.
svn path=/trunk/; revision=22010
2007-02-27 Sven Neumann <sven@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpsubprogress.[ch]: added GimpSubProgress, an
object
that implements the GimpProgress interface and maps progress
information to a sub-range of the parent progress.
* app/core/gimpimage-scale.c (gimp_image_scale): use the new
object.
svn path=/trunk/; revision=22009
2007-02-26 Sven Neumann <sven@gimp.org>
* app/core/gimp-transform-region.c (normalize_coords): removed a
redundant condition and marked another one as unlikely.
svn path=/trunk/; revision=22008
2007-02-26 Sven Neumann <sven@gimp.org>
* app/tools/gimptransformtool.c (gimp_transform_tool_doit): queue
a redraw of the display shell instead of exposing the transform
preview. Removes annoying flicker when the tool is finished.
svn path=/trunk/; revision=22004
2007-02-26 Sven Neumann <sven@gimp.org>
* app/core/gimp-transform-region.c: moved common code to an
inlined function. gimp_transform_region_lanczos() now also does
supersampling. Removed boundary checks and clamping as
PixelSurround and read_pixel_data_1() already deal with this for
us. Gives another small speedup.
svn path=/trunk/; revision=21999
2007-02-26 Sven Neumann <sven@gimp.org>
* app/core/gimp-transform-region.c (gimp_transform_region_lanczos):
use PixelSurround instead of read_pixel_data_1(). This yields a
dramatic speedup.
svn path=/trunk/; revision=21998
2007-02-26 Sven Neumann <sven@gimp.org>
* app/core/gimp-transform-region.c (gimp_transform_region_lanczos):
iterate over tiles instead of rows in the destination buffer.
svn path=/trunk/; revision=21997
2007-02-24 Sven Neumann <sven@gimp.org>
* app/core/gimp-transform-region.c (gimp_transform_region): moved
linear and cubic code to their own functions and let them iterate
over tiles instead of rows in the destination buffer.
svn path=/trunk/; revision=21996
2007-02-24 Sven Neumann <sven@gimp.org>
* app/core/gimp-transform-region.c
(gimp_transform_region_nearest):
operate on tiles instead of iterating row by row.
svn path=/trunk/; revision=21988
2007-02-24 Sven Neumann <sven@gimp.org>
* app/core/gimp-transform-region.c (gimp_transform_region):
moved nearest-neighbor code to it's own function to improve
performance and readability.
svn path=/trunk/; revision=21987
2007-02-23 Sven Neumann <sven@gimp.org>
* app/core/gimp-transform-region.c (gimp_transform_region):
moved
lanczos code into it's own function to improve readability.
svn path=/trunk/; revision=21986
2007-02-23 Sven Neumann <sven@gimp.org>
* app/base/pixel-surround.[ch]: do less tile lock and release
operations by reusing the last locked tile if possible. Allow to
call pixel_surround_lock() several times without unlocking.
* app/core/gimp-transform-region.c: don't unlock the PixelSurround
so that the locked tile can be reused. Yields about 30% speedup
for transformations.
svn path=/trunk/; revision=21984
2007-02-22 Sven Neumann <sven@gimp.org>
* app/base/pixel-surround.c: allocate the PixelSurround struct and
its buffer in one chunk.
svn path=/trunk/; revision=21980
2007-02-22 Sven Neumann <sven@gimp.org>
* app/base/base-types.h
* app/base/pixel-surround.[ch]: hide PixelSurround struct and
cleaned up the PixelSurround API.
* app/core/gimp-transform-region.c: changed accordingly. Also
sprinkled some const qualifiers.
svn path=/trunk/; revision=21978
2007-02-22 Sven Neumann <sven@gimp.org>
* app/base/tile.[ch]: made tile_ref_count a static variable and
added a function to access it. Declared other (unused) global
counters as static variables and moved them into #ifdefs.
* app/base/tile-swap.c: use the function instead of declaring
tile_ref_count as extern.
* app/base/tile-manager.c
* app/base/pixel-surround.c: cosmetics.
svn path=/trunk/; revision=21975
2007-02-20 Tor Lillqvist <tml@novell.com>
* app/widgets/gimpcontrollereditor.c
(gimp_controller_editor_sel_changed): Guard against event being
NULL.
svn path=/trunk/; revision=21963
2007-02-20 Sven Neumann <sven@gimp.org>
* app/dialogs/authors.xsl: changed XPath expression to only match
on contributors that have been active in the 2.4 development cycle.
svn path=/trunk/; revision=21959
2007-02-20 Sven Neumann <sven@gimp.org>
* app/dialogs/Makefile.am: let authors.h depend on authors.xsl.
* app/dialogs/authors.h: removed from repository, it's
generated.
* app/dialogs/authors.xsl: only include contributors that have
contributed to GIMP 2.x. We might want to limit this even
further.
svn path=/trunk/; revision=21956
2007-02-18 Michael Natterer <mitch@gimp.org>
* app/text/gimptext-parasite.c
* plug-ins/flame/libifs.c: use g_strtod() instead of atof()
because these files have to parse strings that never had a clearly
specified format.
* plug-ins/script-fu/tinyscheme/scheme.c
* plug-ins/imagemap/imap_cern.l
* plug-ins/imagemap/imap_csim.l
* plug-ins/imagemap/imap_csim.y
* plug-ins/imagemap/imap_ncsa.l: use g_ascii_strtod() instead of
atof() because scheme code and imagemap files with wrong decimal
separators are clearly broken and should be rejected.
* plug-ins/imagemap/imap_cern_lex.c
* plug-ins/imagemap/imap_csim_lex.c
* plug-ins/imagemap/imap_csim_parse.c
* plug-ins/imagemap/imap_ncsa_lex.c: regenerated.
* plug-ins/common/sample_colorize.c: round numbers using sane code
instead of sprintf() and atod().
* plug-ins/Lighting/lighting_ui.c: removed some dead code.
svn path=/trunk/; revision=21942
2007-02-18 Sven Neumann <sven@gimp.org>
* app/actions/edit-commands.c (edit_copy_cmd_callback): show an
informational message in the statusbar. There is otherwise no
indication that something has happened.
svn path=/trunk/; revision=21940
2007-02-18 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimppluginprocedure.[ch]: add "locale_domain" and
"help_domain" members and APIs to get/set them. Removed locale and
help domain parameters from all other functions.
* app/plug-in/gimpplugin.c (gimp_plug_in_add_temp_proc)
* app/plug-in/plug-in-def.c (plug_in_def_add_procedure)
(plug_in_def_set_locale_domain_name)
(plug_in_def_set_help_domain_name): make sure all plug-in procedures
have locale and help domains.
* app/plug-in/gimppluginmanager.[ch]: removed function
gimp_plug_in_manager_get_label().
* app/plug-in/gimppluginmanager.c
* app/plug-in/gimpplugin-cleanup.c
* app/actions/plug-in-actions.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimpfileprocview.c
* app/widgets/gimpimagepropview.c: changed (simplified) accordingly.
svn path=/trunk/; revision=21937
2007-02-18 Sven Neumann <sven@gimp.org>
* app/widgets/gimppixbuf.c (gimp_pixbuf_targets_add): skip
Windows
ICO as writable format. It's not well suited as a general image
exchange format and the GdkPixbuf save routine seems to be
buggy.
svn path=/trunk/; revision=21936
2007-02-17 Michael Natterer <mitch@gimp.org>
* app/core/gimp-utils.[ch]
* app/core/gimp.c
* app/widgets/gimpcontrollerinfo.c
* libgimpwidgets/gimpcontroller.c: removed various boolean_handled
signal accumulators and use g_signal_accumulator_true_handled().
svn path=/trunk/; revision=21933
2007-02-16 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-close.c: use GTK_STOCK_SAVE as icon
for the message dialog.
* app/actions/data-commands.c (data_delete_cmd_callback): improved
delete dialog.
svn path=/trunk/; revision=21928
2007-02-14 Sven Neumann <sven@gimp.org>
* app/actions/plug-in-actions.c
* app/plug-in/gimppluginprocedure.[ch]: added utility function to
retrieve the translated blurb of a plug-in procedure. Make sure
that gettext isn't called with the empty string.
svn path=/trunk/; revision=21917
2007-02-14 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c: when multi-line strings end up
being passed to the statusbar, only show the first line.
svn path=/trunk/; revision=21916
2007-02-13 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontrollerlist.c
(gimp_controller_list_edit_clicked):
don't use button as parent widget, it might be NULL.
svn path=/trunk/; revision=21907
2007-02-12 Sven Neumann <sven@gimp.org>
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgetstypes.h
* libgimpwidgets/gimpwidgets.h
* libgimpwidgets/gimpstringcombobox.[ch]: added GimpStringComboBox.
* libgimpwidgets/gimppropwidgets.[ch]: added a prop widget
constructor that uses the new widget.
* libgimpwidgets/gimpwidgets.def: updated.
* app/widgets/gimpcontrollereditor.c: use a GimpStringComboBox if
the module specifies a tree model with string values.
* modules/gimpinputdevicestore.c: minor cleanup.
* modules/controller_linux_input.c: keep a pointer to the input
device store and unref it in the finalizer.
svn path=/trunk/; revision=21900
2007-02-12 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontrollerlist.c (gimp_controller_list_edit_clicked):
use a GimpDialog instead of a GimpViewableDialog.
svn path=/trunk/; revision=21899
2007-02-12 Sven Neumann <sven@gimp.org>
* app/widgets/gimppropwidgets.c
* libgimpwidgets/gimppropwidgets.c: most property widgets rely on
a writable property. Check for that or make the widget non-editable
if the G_PARAM_WRITABLE flag is unset.
svn path=/trunk/; revision=21898
2007-02-12 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontrollereditor.c: minor refactoring.
* libgimpwidgets/gimppropwidgets.c (gimp_prop_label_new): allow
this function to be used with properties that are transformable
to
string values, not only with string properties.
svn path=/trunk/; revision=21896
2007-02-11 Michael Natterer <mitch@gimp.org>
* app/core/gimpcontainer.c (gimp_container_deserialize): plug leak
introduced with last commit: simply always use the deserialized
name, also on ojects already existing in the container.
svn path=/trunk/; revision=21890
2007-02-10 Michael Natterer <mitch@gimp.org>
Made templates say "ppi" instead of "dpi". Fixes bug #376990:
* app/core/gimp-templates.c
(gimp_templates_migrate_get_child_by_name): find the child also
if the name differs only in the substrings "dpi" and "ppi".
* app/core/gimpcontainer.c (gimp_container_deserialize): if we
found a child, give it the deserialized name if it isn't the same
as its old name.
* etc/templaterc: applied patch from Michael Schumacher that
replaces "dpi" by "ppi".
svn path=/trunk/; revision=21888
2007-02-09 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimpenvirontable.c: renamed newly added functions to
gimp_environ_table_str_hash() and gimp_environ_table_str_equal()
and always use them. Move the #ifdef G_OS_WIN32 inside the
functions.
svn path=/trunk/; revision=21884
2007-02-09 Tor Lillqvist <tml@novell.com>
* app/plug-in/gimpenvirontable.c
(gimp_environ_table_case_insensitive_hash)
(gimp_environ_table_case_insensitive_equal): Win32-only case-
insensitive hash and equality functions.
(gimp_environ_table_load): On Win32, use the above functions for
the vars hash table. This fixes the problem that occurs when the
actual PATH environment variable is spelled Path (as it seems to
often be), but the default.env file as set up by the installer
provides PATH. They didn't match so both would be passed to the
plug-in child process, and apparently which one then was used to
look for DLLs was more or less random. If it was the original
Path, it didn't contain the directories the installer put in PATH
in default.env, and plug-ins didn't find the DLLs.
svn path=/trunk/; revision=21883
2007-02-09 Michael Natterer <mitch@gimp.org>
* app/dialogs/module-dialog.c (dialog_info_init): ellipsize the
module info labels so they don't make the dialog grow when
browsing the module list.
svn path=/trunk/; revision=21879
2007-02-09 Sven Neumann <sven@gimp.org>
* app/tools/gimprectangletool.c: moved duplicated code to
utility function gimp_rectangle_tool_set_highlight().
svn path=/trunk/; revision=21878
2007-02-08 Michael Natterer <mitch@gimp.org>
* app/paint/paint-types.h
* app/paint/*.h: move opaque typedefs of object instances to
paint-types.h, don't typedef empty class stuctures as their parent
class (gtk-doc gets confused), cleanups.
svn path=/trunk/; revision=21877
2007-02-08 Sven Neumann <sven@gimp.org>
* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui):
code cleanup. Pack the widgets the way we usually do this.
svn path=/trunk/; revision=21875
2007-02-08 Sven Neumann <sven@gimp.org>
* app/tools/gimprectangleoptions.c
* app/widgets/gimppropwidgets.[ch]: cleaned out some cruft. Still
work in progress.
svn path=/trunk/; revision=21872
2007-02-08 Michael Natterer <mitch@gimp.org>
Unbreak rectangle select tool undo handling a bit:
* app/tools/gimprectangleselecttool.c (gimp_rect_select_tool_select):
add boolean return value indicating if something was actually selected.
(gimp_rect_select_tool_rectangle_changed): peek the newly pushed
undo only if we selected something.
svn path=/trunk/; revision=21866
2007-02-07 Michael Natterer <mitch@gimp.org>
* app/tools/tools-enums.[ch]: remove enum GimpColorPickMode...
* app/widgets/widgets-enums.[ch]: ...and add it here.
* app/widgets/gimpgradienteditor.c: merge separate functions for
picking FG and BG colors and update the new color area from the
merged function.
svn path=/trunk/; revision=21863
2007-02-07 Sven Neumann <sven@gimp.org>
* app/dialogs/preferences-dialog.c
* app/widgets/gimpgrideditor.c: slightly increased the height of
color buttons.
svn path=/trunk/; revision=21862
2007-02-07 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpgradienteditor.[ch]: applied patch from Joao
S. O. Bueno Calligaris which adds a preview for the color the
cursor is currently hovering and reduces excess precision when
displaying color components and gradient positions (bug #400907).
svn path=/trunk/; revision=21858
2007-02-07 Sven Neumann <sven@gimp.org>
* app/gui/gui.c: #define DBUS_API_SUBJECT_TO_CHANGE to fix
compilation with outdated versions of D-Bus.
svn path=/trunk/; revision=21856
2007-02-06 Sven Neumann <sven@gimp.org>
* app/core/gimpundo.[ch]: made time a property and added utility
functions to work the undo's age.
* app/tools/gimptexttool.c: use the utility functions.
svn path=/trunk/; revision=21854
2007-02-05 Sven Neumann <sven@gimp.org>
* app/dialogs/file-save-dialog.c (file_save_dialog_save_image):
let the return value indicate whether the file has been saved.
(file_save_dialog_response): only hide the dialog after the
image
has been saved.
svn path=/trunk/; revision=21852
2007-02-03 Michael Natterer <mitch@gimp.org>
Remove support for the old undo pop and free cruft:
* app/core/core-types.h: remove typedefs GimpUndoPopFunc and
GimpUndoFreeFunc.
* app/core/gimpundo.[ch]: remove members and properties size,
data, pop_func and free_func.
* app/core/gimpimage-undo.[ch] (gimp_image_undo_push): remove
parameters size, struct_size, pop_func and free_func.
* app/core/gimpimage-undo-push.c
* app/tools/gimptransformtool.c
* app/paint/gimpink.c
* app/paint/gimppaintcore.c: change calls to above function
accordingly.
svn path=/trunk/; revision=21845
2007-02-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpfloatingselundo.[ch]: implement GIMP_UNDO_FS_TO_LAYER.
* app/core/gimpimage-undo-push.c: use it. Also changed
gimp_image_undo_push_cantundo() to not pass a pop function to
gimp_image_undo_push().
svn path=/trunk/; revision=21844
2007-02-02 Sven Neumann <sven@gimp.org>
* app/widgets/gimpitemtreeview.c (gimp_item_tree_view_toggle_clicked):
changed function signature according to changes in internal undo API.
svn path=/trunk/; revision=21836
2007-02-02 Michael Natterer <mitch@gimp.org>
* app/core/gimpimageundo.[ch]
* app/core/gimpitempropundo.[ch]: implement image and item
parasite attach and remove undos. They are image/item properties
after all.
* app/core/gimpimage-undo-push.[ch]: use them here and move the
undo functions to the resp. image and item property sections.
svn path=/trunk/; revision=21835
2007-02-01 Sven Neumann <sven@gimp.org>
* app/config/gimpdisplayconfig.c
* app/widgets/gimpwidgets-utils.c (gimp_get_screen_resolution):
changed the default monitor resolution to 96 dpi and also use that
as a fallback value.
svn path=/trunk/; revision=21830
2007-01-31 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.c (gimp_item_parasite_detach): require "name"
being non-NULL.
* app/core/gimpimage-undo-push.c (undo_pop_parasite): removed dead
code which handled parasites of the Gimp itself, don't include
"gimp-parasites.h".
Require "parasite" and "name" being non-NULL in all public
parasite undo functions.
svn path=/trunk/; revision=21829
2007-01-31 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-undo-push.[ch]
(gimp_image_undo_push_fs_to_layer): removed "drawable" parameter
because it's always the drawable the floating selection is
attached to.
* app/core/gimplayer-floating-sel.c (floating_sel_to_layer):
changed accordingly.
svn path=/trunk/; revision=21827
2007-01-31 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpfloatingselundo.[ch]: new undo class for
GIMP_UNDO_FS_RIGOR and GIMP_UNDO_FS_RELAX.
* app/core/gimpimage-undo-push.c: use it here.
* app/core/gimpimageundo.c
* app/core/gimpdrawableundo.c: implement GimpObject::get_memsize()
instead of fiddling with undo->size.
svn path=/trunk/; revision=21826
2007-01-31 Michael Natterer <mitch@gimp.org>
* app/vectors/Makefile.am
* app/vectors/vectors-types.h
* app/vectors/gimpvectorsmodundo.[ch]: new undo class for
GIMP_UNDO_VECTORS_MOD.
* app/core/gimpimage-undo-push.c: use it here.
* app/core/gimpdrawablemodundo.h: fix typo in include guard.
svn path=/trunk/; revision=21825
2007-01-31 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpdrawablemodundo.[ch]: new undo class for
GIMP_UNDO_DRAWABLE_MOD.
* app/core/gimpimage-undo-push.c: use it here.
svn path=/trunk/; revision=21824
2007-01-31 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimplayermaskpropundo.[ch]: new undo class for
GIMP_UNDO_LAYER_MASK_APPLY and GIMP_UNDO_LAYER_MASK_SHOW.
* app/core/gimpimage-undo-push.c: use it here.
svn path=/trunk/; revision=21823
2007-01-30 Michael Natterer <mitch@gimp.org>
* app/vectors/Makefile.am
* app/vectors/vectors-types.h
* app/vectors/gimpvectorspropundo.[ch]: new undo class which
implements GIMP_UNDO_VECTORS_REPOSITION.
* app/core/gimpimage-undo-push.c: use it here.
* app/Makefile.am: another lame linker hack to make it build with
the new file that is not used in app/vectors/ itself.
svn path=/trunk/; revision=21818
2007-01-30 Michael Natterer <mitch@gimp.org>
* app/core/gimpguideundo.c
* app/core/gimpimageundo.c
* app/core/gimplayerpropundo.c
* app/core/gimpsamplepointundo.c
* app/core/gimpdrawableundo.c
* app/core/gimpitempropundo.c
* app/core/gimpchannelpropundo.c
* app/core/gimpchannelundo.c
* app/core/gimpitemundo.c: chain up last in GimpUndo::free(), use
switch() in place of if/else when there is more than one undo type
implemented in one file, g_assert_not_reached() in default:, some
minor cleanups.
svn path=/trunk/; revision=21817
2007-01-30 Michael Natterer <mitch@gimp.org>
* app/text/gimptextundo.[ch]: add support for
GIMP_UNDO_TEXT_LAYER_MODIFIED.
* app/core/gimpimage-undo-push.c: use it here.
svn path=/trunk/; revision=21816
2007-01-30 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpguideundo.[ch]
* app/core/gimpsamplepointundo.[ch]: new classes implementing
guide and sample point undos.
* app/core/gimpimage-undo-push.c: use them and remove all guide
and sample point code.
svn path=/trunk/; revision=21815
2007-01-29 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch]
* app/core/gimpimage-undo-push.[ch]: reordered IMAGE_GRID and
IMAGE_COLORMAP to be before IMAGE_GUIDE and IMAGE_SAMPLE_POINT.
svn path=/trunk/; revision=21802
2007-01-28 Michael Natterer <mitch@gimp.org>
* app/core/gimpimageundo.[ch]: add support for IMAGE_GRID and
IMAGE_COLORMAP undos.
* app/core/gimpimage-undo-push.c: use GimpImageUndo for grid and
colormap undos.
svn path=/trunk/; revision=21801
2007-01-29 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-undo-push.[ch]: return a GimpUndo* instead
of gboolean from all undo_push functions. Simplifies the new
properly done functions quite a bit.
svn path=/trunk/; revision=21800
2007-01-29 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpchannelpropundo.[ch]: new undo class which handles
CHANNEL_REPOSITION and CHANNEL_COLOR.
* app/core/gimpimage-undo-push.c: use the new undo class and
remove the resp. code here.
svn path=/trunk/; revision=21799
2007-01-28 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimplayerpropundo.[ch]: new undo class which handles
LAYER_REPOSITION, LAYER_MODE, LAYER_OPACITY and LAYER_LOCK_ALPHA.
* app/core/gimpimage-undo-push.c: use the new undo class and
remove the resp. code here.
svn path=/trunk/; revision=21791