2008-05-17 Michael Natterer <mitch@gimp.org>
* app/dialogs/file-save-dialog.c (file_save_dialog_response): fix
crash (don't dereference dialog after it has been destroyed). Also
put back code that sets the dialog back to sensitive if it still
exists.
svn path=/trunk/; revision=25686
2008-05-17 Michael Natterer <mitch@gimp.org>
* app/actions/windows-actions.c: add tooltips to the menu items of
open and recently closed docks.
* app/widgets/gimpaction.c: connect to "notify::tooltip" and make
sure gimp_help_set_help_data() gets called when the action's
tooltip changes.
svn path=/trunk/; revision=25684
2008-05-17 Michael Natterer <mitch@gimp.org>
* plug-ins/twain/Makefile.am: add -framework options to
twain_LDFLAGS instead of AM_LDFLAGS to make whatever layer/version
of autofoo happy on all macs.
svn path=/trunk/; revision=25682
2008-05-16 Sven Neumann <sven@gimp.org>
* app/core/gimpimagemap.c: added some basic benchmarking code.
Will become optional but for now it is enabled by default.
svn path=/trunk/; revision=25679
2008-05-16 Kevin Cozens <kcozens@cvs.gnome.org>
* plug-ins/script-fu/tinyscheme/scheme.c: Added extra checks to stop
bad syntax in LET from causing a segmentation fault in Linux.
See bug #508020.
svn path=/trunk/; revision=25677
2008-05-16 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayoptions.c: disable rulers by default as
suggested by Peter. Please give feedback.
svn path=/trunk/; revision=25675
2008-05-16 Sven Neumann <sven@gimp.org>
* plug-ins/help/Makefile.am
* plug-ins/help/gimphelpprogress.[ch]
* plug-ins/help/gimphelpprogress-private.h: new files providing a
simple framework for progress indication and cancellation.
* plug-ins/help/gimphelp.[ch]
* plug-ins/help/gimphelpdomain.[ch]
* plug-ins/help/gimphelpitem.[ch]
* plug-ins/help/gimphelplocale.[ch]
* plug-ins/help/gimphelptypes.h
* plug-ins/help/help.c
* plug-ins/help/locales.[ch]: changed accordingly (passing NULL
as progress for now). Also updated copyright headers.
* plug-ins/help-browser/help-browser.c: same here.
* plug-ins/help/gimp-help-lookup.c: use the new API and show some
progress indication when the --verbose command-line option is used.
svn path=/trunk/; revision=25674
2008-05-16 Michael Natterer <mitch@gimp.org>
* app/dialogs/dialogs.c (dialogs_load_recent_docks): reverse the
list after loading so it keeps its order.
* app/menus/windows-menu.c (windows_menu_setup)
(windows_menu_recent_add): keep the recent docks menu in MRU
order.
svn path=/trunk/; revision=25672
2008-05-16 Michael Natterer <mitch@gimp.org>
Implement the presistent menu of recently closed docks, still
somewhat hackish but fully functional. Fixes bug #132744.
* app/actions/dialogs-actions.c
* app/actions/dialogs-commands.[ch]
* menus/image-menu.xml.in: remove the menu items that were
creating the hardcoded preconfigured docks.
* app/dialogs/dialogs.[ch]: add GimpContainer of recently closed
docks and API to load and save it.
* app/gui/session.c: call the recent dock load and save functions.
* app/widgets/gimpsessioninfo.[ch]: implement the GimpConfig interface
and (de)serialize via proper interface methods.
* app/gui/session.c
* app/widgets/gimpdialogfactory.c: use the GimpConfig API
to (de)serialize session infos and added the code that was
formerly in the info's (de)serialize functions but didn't belong
there.
* app/widgets/gimpaction.[ch]: add "max-width-chars" property and
set it on proxy menu item labels.
* app/actions/windows-actions.[ch]
* app/actions/windows-commands.[ch]
* app/menus/windows-menu.c: add actions and menu of recently
closed docks and code to restore the dock when the menu items are
selected. Use above new action property to ensure a minimum
width of the menu.
* app/widgets/gimpmenudock.c: use '-' instead of '|' for
separating notebooks in the window title. Menu items don't like '|'.
* app/widgets/gimpdock.c: removed the confirmation dialog when
closing docks and simply add them to the recent docks container.
This code is totally misplaced and will move to another file soon.
svn path=/trunk/; revision=25671
2008-05-14 Sven Neumann <sven@gimp.org>
* app/core/gimpcurve.c (gimp_curve_plot): don't write over the end
of the samples array. Someone should review this code. It looks
as if the loop could be rewritten in a safer and cleaner way.
svn path=/trunk/; revision=25670
2008-05-14 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcurveview.c (gimp_curve_view_motion_notify):
fixed use of uninitialized value.
svn path=/trunk/; revision=25668
2008-05-14 Michael Natterer <mitch@gimp.org>
* app/menus/windows-menu.c
* app/actions/windows-actions.c
* menus/image-menu.xml.in: move the list of dockable dialogs and
the list of recent docks to submenus and keep the list of open
image windows and docks at the "Windows" menu toplevel. The list
of recent docks doesn't exist yet, its contents are fake.
svn path=/trunk/; revision=25666
2008-05-14 Sven Neumann <sven@gimp.org>
* app/core/gimpbrushclipboard.c
(gimp_brush_clipboard_buffer_changed): for an opaque buffer,
initialize the brush mask with 255 instead of 0. Fixes bug
#532886.
svn path=/trunk/; revision=25661
2008-05-14 Sven Neumann <sven@gimp.org>
* plug-ins/gradient-flare/gradient-flare.c
(calc_sample_one_gradient): use G_STRUCT_OFFSET() instead of a
hand-made macro which caused a compiler warning (spotted by
gymp,
bug #532853).
svn path=/trunk/; revision=25659
2008-05-14 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpsessioninfo-book.[ch]: remove widget member from
struct GimpSessionInfoBook. Return the created GimpDockbook from
restore().
* app/widgets/gimpsessioninfo-dock.c (restore): use the returned
book instead of the struct member.
svn path=/trunk/; revision=25658
2008-05-14 Michael Natterer <mitch@gimp.org>
Made session info serialization independent from widgets so it can
be used on stored dock layouts which are not open:
* app/widgets/gimpsessioninfo-book.[ch]
* app/widgets/gimpsessioninfo-dock.[ch]
* app/widgets/gimpsessioninfo-dockable.[ch]: add from_widget()
functions which return newly allocated session info structs.
Changed serialize() functions to take these structs instead of
widgets. Changed deserialize() functions to return the structs
instead of appending them to lists in their parent structs. Don't
free anything in restore().
* app/widgets/gimpsessioninfo-aux.[ch]
(gimp_session_info_aux_serialize): take a GList of aux_info
instead of a widget.
* app/widgets/gimpsessioninfo.[ch]: add new functions get_info()
which collects above session info details from dialogs and
clear_info() which clears that info. Call clear_info() from
finalize(). Don't free anything in restore().
* app/widgets/gimpdialogfactory.c
(gimp_dialog_factories_save_foreach): collect the session info
detials from the dialogs before serializing because serialize()
doesn't know about the widget any longer. Clear the infos after
serializing.
(gimp_dialog_factories_restore_foreach): clear the session info
details after creating the dialogs because restore() doesn't clear
the info by itself any longer.
svn path=/trunk/; revision=25657
2008-05-13 Michael Natterer <mitch@gimp.org>
First prototype of a button in the levels tool dialog that will
jump the the curves tool with the same settings:
* app/gegl/gimplevelsconfig.[ch]: add new function
gimp_levels_config_to_curves_config() which converts a
GimpLevelsConfig to a GimpCurvesConfig. Still lacks support
for gamma.
* app/tools/gimplevelstool.c: add "Edit this Settings as Curves"
button and jump to curves when clicked. Still ugly.
svn path=/trunk/; revision=25654
2008-05-13 Sven Neumann <sven@gimp.org>
* app/core/gimpcurve-map.c (gimp_curve_map_pixels): use memcpy()
for the CURVE_NONE case.
svn path=/trunk/; revision=25653
2008-05-13 Sven Neumann <sven@gimp.org>
* app/core/gimpcurve-map.[ch] (gimp_curve_map_pixels): introduced
an enum to clean up the code. Optimize another not so uncommon case.
svn path=/trunk/; revision=25650
2008-05-13 Sven Neumann <sven@gimp.org>
* app/core/gimpcurve-map.c (gimp_curve_map_pixels): create a
bitmask that represents the curves that need to be applied and
optimize the most common cases.
svn path=/trunk/; revision=25649
2008-05-13 Sven Neumann <sven@gimp.org>
* app/core/gimpcurve-map.c (gimp_curve_map_value): simplified
the
general case.
svn path=/trunk/; revision=25647
2008-05-11 Sven Neumann <sven@gimp.org>
* app/core/gimpcurve.[ch]: keep a boolean flag to identify an
identity mapping. Set it to TRUE when the curve is reset.
* app/core/gimpcurve-map.c (gimp_curve_map_value): optimize for
the case where the curve is an identity mapping.
svn path=/trunk/; revision=25646
2008-05-12 Simon Budig <simon@gimp.org>
* app/vectors/gimpvectors.[ch]
* app/vectors/gimpstroke.[ch]
* app/vectors/gimpbezierstroke.c: Implement functionality to
get a bezier description a la moveto/curveto/closepath.
* app/vectors/vectors-types.h: implement an evil hack to avoid
the inclusion of cairo.h in most C files...
* app/vectors/Makefile.am: link against cairo
* app/widgets/gimpviewrenderervectors.c: use the new functionality
for preview rendering.
svn path=/trunk/; revision=25645
2008-05-11 Sven Neumann <sven@gimp.org>
* app/core/gimpcurve.[ch]: renamed gimp_curve_map() to
gimp_curve_map_value(). Added new function
gimp_curve_map_pixels()
which will allow for better optimization.
* app/gegl/gimpoperationcurves.c
(gimp_operation_curves_process):
use gimp_curve_map_pixels().
* app/tools/gimpcurvestool.c
* app/widgets/gimpcurveview.c: follow API change.
svn path=/trunk/; revision=25641
2008-05-11 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimpcroptool.[ch]: No need to expose definitions of
GimpCropTool or GimpCropToolClass.
svn path=/trunk/; revision=25640
2008-05-11 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c: Fix emission of
rectangle-change-complete signals.
* app/tools/gimpcroptool.c
* app/tools/gimprectangleselecttool.c:
Use the rectangle-change-complete signal to update the default
aspect ratio. Fixes bug #530519.
* app/tools/gimpcroptool.c
(gimp_crop_tool_button_release)
(gimp_crop_tool_options_notify)
* app/tools/gimprectangleselecttool.c
(gimp_rectangle_select_tool_button_release): No need to explicitly
update option defaults since it is handled through the
rectangle-change-complete signal now.
svn path=/trunk/; revision=25639
2008-05-11 Sven Neumann <sven@gimp.org>
* app/gegl/gimpoperationlevels.c (gimp_operation_levels_map):
optimized for the case where gamma is 1.0.
svn path=/trunk/; revision=25636
2008-05-11 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpaction.[ch]: add an "ellipsize" property that is
applied to all proxy menu items' labels.
* app/actions/windows-actions.c: set the dock actions to
PANGO_ELLIPSIZE_END because their labels can be insanely long.
svn path=/trunk/; revision=25635
2008-05-11 Michael Natterer <mitch@gimp.org>
* app/actions/windows-commands.[ch]
* app/actions/windows-actions.c
* app/menus/windows-menu.c: add dynamic actions and menu items for
all open docks. Present the dock when the menu item is selected.
svn path=/trunk/; revision=25633
2008-05-10 Martin Nordholts <martinn@svn.gnome.org>
* app/tools/gimprectangletool.c
(gimp_rectangle_tool_button_press): Active the tool control
earlier.
(gimp_rectangle_tool_synthesize_motion): Bail out if the tool
control is active, we don't want to synthesize a motion in this
case as it emits unwanted rectangle-changed signals.
svn path=/trunk/; revision=25630