2005-05-25 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptoolbox-dnd.c: implemented dropping of pixbufs.
Bail out early from all callbacks if gimp->busy is TRUE.
2005-05-23 Sven Neumann <neumann@jpk.com>
* app/widgets/gimpcellrendererdashes.[ch]: we don't actually need to
keep a pointer to the dashes array.
(gimp_cell_renderer_dashes_render): respect horizontal padding.
* app/widgets/gimpstrokeeditor.c: added 2 pixels horizontal
padding for the dashes cell-renderer.
2005-05-22 Sven Neumann <sven@gimp.org>
* tools/gimp-mkenums (parse_trigraph): use quotewords() from
Text::ParseWords to split the trigraph. This function correctly
deals with commas inside quotes.
* app/core/core-enums.[ch]: tweaked descriptions in the
GimpDashPreset enum.
2005-05-22 Sven Neumann <sven@gimp.org>
* app/core/gimpdashpattern.c: minor cleanup.
* app/widgets/gimpcellrendererdashes.c: don't draw a background,
draw the dash pattern twice, use the correct widget state.
2005-05-21 Sven Neumann <sven@gimp.org>
* app/core/gimpdashpattern.[ch]: added utility functions to copy
and to free a dash pattern.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcellrendererdashes.[ch]: added a simple cell
renderer to visualize a dash pattern.
* app/widgets/gimpstrokeeditor.c: show previews of the dash
presets in the combo-box.
2005-05-21 Sven Neumann <sven@gimp.org>
Allow to paste a new image using Ctrl-V (bug 169477):
* menus/toolbox-menu.xml.in: added an accelerator for "edit-paste".
* app/actions/edit-actions.c: keep "edit-paste" always enabled,
even if no image is present.
* app/actions/edit-commands.c (edit_paste_cmd_callback): forward
to "edit-paste-as-new" if we are being called from the toolbox.
2005-05-20 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcoloreditor.c: moved the color picker button out
of the row of notebook switching buttons next to the hex entry.
2005-05-19 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpcolorscales.c: removed the hex entry from the
GimpColorScales widget.
* libgimpwidgets/gimpcolorselection.c: added it here instead.
* app/widgets/gimpcoloreditor.[ch]: and here, next to the FG/BG
editor.
2005-05-19 Sven Neumann <sven@gimp.org>
* app/core/gimpstrokeoptions.[ch]: renamed property "miter" to
"miter-limit" and added a description to be used as a tooltip in
the stroke editor.
* app/core/gimpdrawable-stroke.c
* app/widgets/gimpstrokeeditor.c: changed accordingly.
2005-05-19 Sven Neumann <sven@gimp.org>
* app/core/gimpstrokeoptions.[ch]
* app/widgets/gimpdasheditor.c
* app/widgets/gimpstrokeeditor.c: small change to the internal API
to reduce code and conversion between GArray and GValueArray.
2005-05-19 Sven Neumann <sven@gimp.org>
* app/core/gimpdashpattern.[ch]
* app/widgets/gimpdasheditor.c: moved more code out of
GimpDashEditor to gimpdashpattern.c. Fixed bug in last commit.
2005-05-19 Sven Neumann <sven@gimp.org>
* app/core/gimpdashpattern.[ch]
* app/widgets/gimpdasheditor.c: moved code out of GimpDashEditor
to gimpdashpattern.c.
2005-05-19 Sven Neumann <sven@gimp.org>
* app/core/Makefile.am
* app/core/gimpdashpattern.[ch]: new files with coode split out of
gimpstrokeoptions.c.
* app/core/gimpstrokeoptions.c: use gimp_dash_pattern_from_preset().
2005-05-18 Sven Neumann <sven@gimp.org>
* app/actions/file-commands.c (file_open_dialog_show): set the
file dialogs transient for the parent window (display or toolbox).
2005-05-18 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-appearance.c
* app/display/gimpdisplayshell.c: removed the 2px border and
replaced it with a 1px spacing in the main vbox. Makes the screen
edges active when working in fullscreen mode (bug #165774).
2005-05-18 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.c: hack around with gtk+ widget
styles to get rid of the menubar padding in fullscreen mode.
* app/composite/gimp-composite-sse2.c:
Trying to be more flexible in register use so the compiler can do
reloads without running out of registers when using optimisation
modes other than 2.
Avoid the message "error: can't find a register in class
`GENERAL_REGS' while reloading `asm'"
* app/composite/gimp-composite-x86.h
Use more newlines in asm() macros to ensure that gcc gets the
instruction count correct. This is partially complete as of this
commit.
2005-05-17 Simon Budig <simon@gimp.org>
* tools/pdbgen/pdb/vectors.pdb: Make gimp_vectors_get_strokes()
work, add gimp_vectors_stroke_translate() (I am not sure if this
stays in the API, I am currently testing undo and freeze/thaw
issues...)
* app/pdb/internal_procs.c
* app/pdb/vectors_cmds.c
* libgimp/gimpvectors_pdb.[ch]: regenerated.
2005-05-17 Simon Budig <simon@gimp.org>
* app/vectors/gimpvectors.[ch]: added gimp_vectors_get_n_strokes ();
* tools/pdbgen/pdb/vectors.pdb: Attempt to fill an array with IDs,
does not yet work.
* app/pdb/vectors_cmds.c
* libgimp/gimpvectors_pdb.c: regenerated.
2005-05-16 Sven Neumann <sven@gimp.org>
* app/config/gimpxmlparser.c (gimp_xml_parser_parse_buffer): check
encoding being not NULL before accessing it; added gtk-doc comment.
2005-05-16 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpclipboard.[ch]: added gimp_clipboard_has_svg()
and gimp_clipboard_get_svg().
* app/actions/edit-commands.c (edit_paste_cmd_callback): enabled
pasting of SVG data using gimp_vectors_import_buffer().
* app/composite/gimp-composite-altivec-installer.c
* app/composite/gimp-composite-altivec-test.c: reverted to working
versions. Currently, if you regenerate the installers and
testers, only those that work on your current machine will be
generated properly.
2005-05-15 Michael Natterer <mitch@gimp.org>
* app/pdb/Makefile.am
* app/pdb/procedural-db-query.[ch]: new files containing all the
evil string matching and DB dump code.
* tools/pdbgen/pdb/procedural_db.pdb: removed the evilness here
and use the new functions.
* app/pdb/procedural_db_cmds.c: regenerated.
* app/composite/gimp-composite-generic.c:
Fixed signedness problems is calls to gimp_rgb_to_hsv_int() and the like.
* app/composite/gimp-composite-mmx.[ch]:
Small fixes to register clobber lists.
Added gimp_composite_subtract_va8_va8_va8_mmx.
Regenerated
2005-05-14 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimpbaseenums.[ch]: register descriptions for the
GimpPDBProcType enum.
* plug-ins/dbbrowser/gimpprocview.c
* tools/pdbgen/pdb/procedural_db.pdb: get rid of all selfmade
enum->string mapping. Get the strings from the GType system instead.
* app/pdb/procedural_db_cmds.c
* libgimp/gimpproceduraldb_pdb.c: regenerated.
2005-05-14 Michael Natterer <mitch@gimp.org>
* app/pdb/procedural_db.h
* tools/pdbgen/pdb/procedural_db.pdb: removed pdb_type_name()
uglyness.
* app/pdb/procedural_db.c: add private function
procedural_db_type_name() instead which uses gimp_enum_get_value()
and always returns a newly allocated string. Use it for the error
messages.
* app/pdb/procedural_db_cmds.c: regenerated.
2005-05-13 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontrollerlist.c
(gimp_controller_list_remove_clicked): implement removing of
controllers, confirmed by a dialog.
* app/widgets/gimpcontrollereditor.c
(gimp_controller_editor_edit_clicked): set an alternative button
order for the event mapping dialog.
2005-05-12 Simon Budig <simon@gimp.org>
* app/tools/gimpvectortool.c: reset the vector tool to Design
mode whenever a new vectors object gets connected to the tool.
This time also when you pick a path in Edit mode (Oops).
2005-05-12 Sven Neumann <sven@gimp.org>
* app/widgets/gimpimagedock.c: request notification about changes
to the "transient-docks" preference and drop the transient
relationship if it is disabled.
plus some other changes / fixes to my previous commit
2005-05-12 Sven Neumann <sven@gimp.org>
* app/config/gimpguiconfig.[ch]
* app/config/gimprc-blurbs.h: added new gimprc option
"transient-docks".
* app/widgets/gimpimagedock.c (gimp_image_dock_display_changed):
as an experiment
, obey the "transient-docks" preference and set
the dock window transient to the active display shell. Please
comment on the behaviour you observe.
* app/dialogs/preferences-dialog.c (prefs_dialog_new): added a
view on the new gimprc property.
* app/config/gimpguiconfig.[ch]: set the IGNORE flag on the
"info-window-per-display" property; it isn't used any longer.
* app/config/gimpconfig-dump.c (dump_gimprc_system): don't dump
properties that have the GIMP_CONFIG_PARAM_IGNORE flag set.
2005-05-11 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpuimanager.c (gimp_ui_manager_find_action): allow
to pass a NULL group_name and iterate all action groups to find
the action in that case.
* app/widgets/gimpcontrollereditor.c: show the action's stock icon
in the "Action" column, using above function.
2005-05-11 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplay.c: added a read-only property to access
the display-shell w/o having to include gimpdisplay.h.
2005-05-11 Michael Natterer <mitch@gimp.org>
Some dock refactoring which separates the docking logic from
active image and UI manager stuff:
* app/widgets/gimpmenudock.[ch]: new widget renamed from
GimpImageDock, zero changes except the name change.
* app/widgets/gimpimagedock.[ch]: new widget derived from
GimpDock. Keeps the UI manager.
* app/widgets/gimpdock.[ch]: removed the UI manager. GimpDock only
contains the basic docking logic again.
* app/widgets/gimpmenudock.[ch]
* app/widgets/gimptoolbox.[ch]: derive them from GimpImageDock.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/actions/dialogs-commands.c
* app/actions/dock-actions.c
* app/actions/dock-commands.c
* app/actions/dockable-commands.c
* app/dialogs/dialogs-constructors.c: changed accordingly.
2005-05-11 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-scale.c (gimp_display_shell_scale):
also zoom on mouse position if the event originates from the canvas
(see bug #79384).
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_tool_events): replaced a g_warning()
with g_return_if_fail().
2005-05-11 Simon Budig <simon@gimp.org>
* app/tools/gimpvectortool.c: reset the vector tool to Design
mode whenever a new vectors object gets connected to the tool.
Attempt to fix#300663, please report there if you like / dislike
the new behaviour.
2005-05-11 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_shrink_wrap):
return silently instead of warning if the window hasn't been
realized. This happens as part of the setup process if
"resize-windows-on-zoom" is selected in the prefs.
2005-05-11 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontrollerinfo.[ch]: added API to set an event
snooper which, if set, receives any controller event first, even
if event dispatching is disabled for the controller.
* app/widgets/gimpcontrollereditor.[ch]: use the new API to
implement a "Grab Event" button, which takes the next event from
the controller and selects it in the event mapping tree view.
2005-05-10 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontrollerlist.[ch]: some more stuff: up/down
buttons, remember the dialogs' size and positions, misc stuff.
* app/widgets/gimpcontrollereditor.c
(gimp_controller_editor_edit_clicked): use a GimpViewableDialog
now that GimpControllerInfo is a GimpViewable.
* app/dialogs/dialogs.c: added a foreign entry for the controller
editor dialog. Allow the controller editors and its event mapping
dialogs to exist multiple times.
* app/dialogs/preferences-dialog.c (prefs_notebook_append_page):
create the pages' event boxes with input-only windows.
* app/composite/gimp-composite-sse2.c: Repaired a latent bug in
gimp_composite_lighten_rgba8_rgba8_rgba8_sse2 where setting up
the alpha masks were not done correctly. A redundant (better?)
fix to bug #164061
Use movntq instructions to avoid processor cache pollution.
Some adjustments to register allocation specifications.
2005-05-09 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcontrollerlist.[ch]: new widget which allows
adding/removing controllers using two lists of available/active
controllers. Work in progress...
* app/widgets/gimpcontrollerinfo.[ch]: derive it from GimpVieable
so it can have an icon (unfinished). Added convenience constructor
gimp_controller_info_new().
* app/dialogs/preferences-dialog.c: use a GimpControllerList
instead of a notebook of GimpControllerEditors.
2005-05-09 Sven Neumann <sven@gimp.org>
* app/base/tile-manager.c: inline tile_manager_get_tile_num().
* app/display/gimpdisplayshell-render.c (render_image_tile_fault):
reverted one of the changes I did here earlier.
2005-05-08 Sven Neumann <sven@gimp.org>
* app/dialogs/layer-options-dialog.c (layer_options_dialog_new):
always set "activates-default" on the name entry.
2005-05-08 Sven Neumann <sven@gimp.org>
* app/config/gimpbaseconfig.c: limit the tile-cache-size to
G_MAXULONG or GIMP_MAX_MEMSIZE, whatever is smaller. Fixes
bug #303371.
2005-05-07 Sven Neumann <sven@gimp.org>
* app/actions/edit-commands.c (edit_undo_clear_cmd_callback): tell
the user how much memory will be freed by clearing the undo history.
2005-05-07 Sven Neumann <sven@gimp.org>
* app/tools/gimpmagnifyoptions.c (gimp_magnify_options_gui):
removed the GUI for the Threshold option; it is more confusing
than useful.
2005-05-07 Sven Neumann <sven@gimp.org>
* app/config/gimpguiconfig.c: changed the default value for
"save-tool-options" to FALSE. This is a major source of confusion;
let's try if disabling it is an improvement.
2005-05-06 Sven Neumann <sven@gimp.org>
* app/actions/layers-actions.c
* app/core/gimpimage.c (gimp_image_position_layer)
* app/widgets/gimplayertreeview.c (gimp_layer_tree_view_drop_possible):
drop the limitation that layers not at the bottom of the stack
have to have an alpha channel. Allow the user to move the
background layer up in the stack or reposition it using DND.
* tips/gimp-tips.xml.in: changed the relevant tip and some more.
2005-05-06 Michael Natterer <mitch@gimp.org>
* app/actions/gradient-editor-commands.h: added enum for the
"load_color" actions.
* app/actions/gradient-editor-actions.c
* app/actions/gradient-editor-commands.c: use the new enum instead
of magic values, cleanup.
* app/actions/palette-editor-commands.c: cleanup.
* app/widgets/gimpbrusheditor.c
* app/widgets/gimpdataeditor.c: cleanup.
* app/widgets/gimpgradienteditor.c: added GtkObject::destroy() and
GtkWidget::unmap() implementations which destroy the color dialog.
Destroy color dialogs by cancelling them via gtk_dialog_response(),
so temporarily changed colors are restored correctly. Refactored
my last commit below a bit. Various cleanups.
* app/widgets/gimppaletteeditor.[ch]: no need to remember the
buttons in the GimpPaletteEditor struct.
2005-05-06 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-scale.c
(gimp_display_shell_scale_by_values): abort early if the values are
all setup already. Fixes bug #164281.
2005-05-06 Sven Neumann <sven@gimp.org>
* app/composite/gimp-composite-sse2.c
(gimp_composite_lighten_rgba8_rgba8_rgba8_sse2): applied a patch
from Joao S. O. Bueno Calligaris that changes the SSE2 code to
load the proper register. Fixes bug #164061.
2005-05-05 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpgradienteditor.c (control_draw)
(control_draw_normal_handle)
(control_draw_middle_handle): changed handle colors to be always
black and white. Fixes bug #303118. Also changed the handle bar's
background and the handles' outlines to theme colors which should
make the handles distinguishable from the background for all
themes.
Various unrelated cleanups.
2005-05-04 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-proc-def.[ch] (plug_in_proc_def_find): new
function which finds a proc_def in a GSList by its procedure name.
* app/plug-in/plug-in-message.c
* app/plug-in/plug-ins.c
* tools/pdbgen/pdb/plug_in.pdb: use it instead of iterating and
comparing manually.
* app/pdb/plug_in_cmds.c: regenerated.
* app/plug-in/plug-in-def.c: minor cleanups.
2005-05-04 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-proc-def.[ch] (plug_in_proc_def_set_icon):
new function.
* tools/pdbgen/pdb/plug_in.pdb: removed the same code here and use
the new function.
* app/pdb/plug_in_cmds.c: regenerated.
2005-05-03 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcolordisplayeditor.h: include the parent class,
not gimpeditor.h
* app/widgets/gimpcolordisplayeditor.c: include gimpeditor.h here
2005-04-29 Sven Neumann <sven@gimp.org>
* app/core/gimpprojection-construct.c (gimp_projection_construct):
use copy_region() instead of using tile_manager_map_over_tile()
directly.
2005-04-29 Sven Neumann <sven@gimp.org>
* app/core/gimpprojection-construct.c: save COW projection code from
bit-rotting. It can now be enabled again (but is definitely broken).
2005-04-27 Sven Neumann <sven@gimp.org>
* app/base/tile-manager.c (tile_manager_get_tile): removed
redundant check.
* app/display/gimpdisplayshell-render.c: don't access the next
tile if we are at the end of the render loop anyway.
2005-04-27 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-colormap.[ch]: declared the return value of
gimp_image_get_colormap() as const.
* app/display/gimpdisplayshell-render.c: added some const qualifiers.
2005-04-27 Sven Neumann <sven@gimp.org>
* app/widgets/gimpunitstore.c: don't call va_arg() too often.
* libgimpconfig/gimpcolorconfig.c (gimp_color_config_finalize):
free the string allocated for the display module.
2005-04-27 Sven Neumann <sven@gimp.org>
* app/actions/context-actions.c
* app/actions/context-commands.[ch]: applied a patch from Aron
Stansvik that adds actions to control hue, saturation and value
of the foreground and background colors.
2005-04-27 Sven Neumann <sven@gimp.org>
* app/dialogs/preferences-dialog.c: use the same terms for the
checkerboard parameters as used in the GimpPreviewArea popup menu
(bug #302141).
2005-04-25 Michael Natterer <mitch@gimp.org>
* app/app_procs.c (app_libs_init): call g_thread_init() only if
the GThread system is not already initialized.
2005-04-25 Sven Neumann <sven@gimp.org>
* app/file/gimprecentlist.c (gimp_recent_list_add_item): close the
file descriptor if we fail to obtain the lock (bug #151767).
2005-04-25 Sven Neumann <sven@gimp.org>
* app/plug-in/plug-in-proc-def.h: added a boolean flag to the
ProcDef struct to identify file procedures.
* app/xcf/xcf.c: changed accordingly.
* app/plug-in/plug-ins.c: look at the new flag instead of checking
extensions, prefixes and magics being non-NULL. A file plug-in
doesn't necessarily have any of these fields set.
* app/plug-in/plug-in-rc.c: changed pluginrc format to contain an
extra section for file procedures. Moved all file related info there.
2005-04-24 Sven Neumann <sven@gimp.org>
* app/base/temp-buf.c (generate_unique_tmp_filename): removed the
local pid_t variable and the msvc definition for it.
2005-04-24 Hans Breuer <hans@breuer.org>
* menus/makefile.msc : build menus with nmake, too
menus/Makefile.am : added to EXTRA_DIST
* **/makefile.msc app/gimpcore.def : updated
* app/base/tmp-buf.c : there is no pid_t with msvc so typedef one
2005-04-20 Michael Natterer <mitch@gimp.org>
* app/xcf/xcf-load.c (xcf_load_layer): initialize text_layer_flags
with 0 so it doesn't contain random garbage if the text layer
flags in the XCF have default values (are not saved at all). Fixes
bug #301028. Initialize other stuff too for the sake of sanity.
2005-04-19 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-snap.c: bail out early if the coords are
out-of-image plus a border of the snapping epsilon, and not just
out-of-image. Fixes bug #169892.
2005-04-18 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpsamplepointeditor.[ch]: Connect to the
GimpImage::update-sample-point and GimpProjection::update signals
and idle-pick colors at the sample points' coordinates.
Addresses bug #137776.
2005-04-17 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpsizeentry.c: use gimp_spin_button_new() which
calls gtk_spin_button_set_numeric() for us. Part of a fix for bug
#300935.
* libgimpwidgets/gimpwidgets.c: improved the API docs for
gimp_spin_button_new().
* app/tools/gimpcolorbalancetool.c
* app/tools/gimplevelstool.c
* plug-ins/common/screenshot.c
* plug-ins/ifscompose/ifscompose.c
* plug-ins/rcm/rcm_dialog.c
* plug-ins/script-fu/script-fu-interface.c
* plug-ins/winsnap/winsnap.c: use gimp_spin_button_new().
2005-04-16 Michael Natterer <mitch@gimp.org>
* app/core/gimpcontext.c (gimp_context_real_set_brush)
(gimp_context_real_set_pattern): no need to get base_config twice
in the same function.
* app/widgets/gimpblobeditor.h: include the parent class.
* app/widgets/gimpdataeditor.c (gimp_data_editor_init): set the
name entry insensitive.
2005-04-16 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdataeditor.[ch]: implement
GimpDocked::get_title() and add "(read only)" to the dialog's
title if the data is not editable. Fixes bug #164003.
(gimp_data_editor_real_set_data): call gimp_docked_title_changed()
when the editable state changes.
(struct GimpDataEditorClass): added "const gchar *title" member.
* app/widgets/gimpbrusheditor.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimppaletteeditor.c (class_init): set titles.
2005-04-16 Sven Neumann <sven@gimp.org>
* app/dialogs/preferences-dialog.c: use a GimpFileEntry to
configure the web-browser setting. GtkFileChooserButton just
doesn't work for it.
2005-04-16 Sven Neumann <sven@gimp.org>
* app/dialogs/desaturate-dialog.c: added an icon to the action
button.
* app/vectors/gimpvectors-import.c: reduce the number of string
comparisons by using switches on the first character.
2005-04-16 Sven Neumann <sven@gimp.org>
Applied a patch (with minor modifications) from Karine Delvare
that makes it possible to choose between various ways to remove
color from a drawable (bug #155507):
* libgimpbase/gimpbaseenums.h: added new enum GimpDesaturateMode.
* libgimpbase/gimpbaseenums.c
* libgimp/gimpenums.c.tail
* plug-ins/pygimp/gimpenums.py
* tools/pdbgen/enums.pl: regenerated.
* app/core/gimpdrawable-desaturate.[ch]: implement other formulas
to remove colors from a drawable.
* tools/pdbgen/pdb/color.pdb: let gimp_desaturate() call
gimp_drawable_desaturate() with GIMP_DESATURATE_LIGHTNESS so that
it behaves like it always did.
* app/pdb/color_cmds.c: regenerated.
* app/dialogs/Makefile.am
* app/dialogs/desaturate-dialog.[ch]: new files that define a simple
dialog to choose a mode for desaturation.
* app/actions/drawable-actions.[ch]: use the new dialog.
2005-04-16 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/vectors.pdb: let pdbgen create the code to
initialize the variables.
* app/pdb/vectors_cmds.c: regenerated.
2005-04-15 Michael Natterer <mitch@gimp.org>
Added loading of Photoshop brushes. Fixes bug #163047:
* app/core/Makefile.am
* app/core/gimpbrush-load.[ch]: new files holding all brush
loading code. Added .abr loader based on a patch by Adrian
Likins. Didn't add a new brush subclass as in the original patch,
but only a loading function which loads the brushes into standard
GimpBrush objects. Did misc fixes to the code, needs further
cleanup.
* app/core/gimpbrush.[ch]: removed brush loading code here.
* app/core/gimpbrushpipe.c: changed #includes accordingly.
* app/core/gimp.c (gimp_real_initialize): register the new load
functions and their extensions with the brush factory.
2005-04-15 Simon Budig <simon@gimp.org>
* app/tools/gimpnewrectselecttool.c: NULLified the Keyboard
Shortcut for the new rect select tool (clash with the Crop tool).
2005-04-14 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_set_property):
don't call gimp_display_shell_scale() if the display isn't
completely setup yet.
* app/display/gimpdisplayshell-scale.c (gimp_display_shell_scale):
hack around to find out whether we should pass the pointer location
or the center of the display to gimp_display_shell_scale_to().
2005-04-14 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-scale.c (gimp_display_shell_scale):
changed to use the location of the pointer instead of the display
center. This is the behaviour requested in bug #79384.
2005-04-14 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-scale.c (gimp_display_shell_scale_to):
changed to keep the point under the mouse at the same location,
rather than to center it. Also added API docs.
2005-04-14 Simon Budig <simon@gimp.org>
Started a PDB api for vectors/strokes. Not yet functional, this
commit is to get the infrastructure up and running.
* app/vectors/gimpstroke.[ch]
* app/vectors/gimpvectors.[ch]: Added IDs to the strokes
* tools/pdbgen/pdb.pl: corrected "vectors" type, deleted "path" type.
* tools/pdbgen/pdb/image.pdb: added gimp_image_get_vectors()
* tools/pdbgen/pdb/vectors.pdb: New file for the vectors API
(just a stub for now)
* tools/pdbgen/Makefile.am: Added vectors.pdb
* tools/pdbgen/groups.pl: regenerated.
* plug-ins/script-fu/siod-wrapper.c: Enable the Path/Vectors type.
* libgimp/gimpvectors_pdb.[ch]
* app/pdb/vectors_cmds.c: new autogenerated files.
* libgimp/Makefile.am
* app/pdb/Makefile.am: Added new autogenerated file.
* libgimp/gimp_pdb.h
* libgimp/gimpimage_pdb.[ch]
* app/pdb/image_cmds.c
* app/pdb/internal_procs.c: regenerated.
2005-04-13 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-scale.[ch]: when using Ctrl-wheel
to zoom in/out, center on the mouse position (bug #79384).
2005-04-13 Sven Neumann <sven@gimp.org>
* app/config/gimpcoreconfig.c: set GIMP_CONFIG_PARAM_CONFIRM on
the "font-path" property. Set GIMP_CONFIG_PARAM_IGNORE for
"font-path-writable".
* app/dialogs/preferences-dialog.c: don't use "font-path-writable".
* app/core/gimp.c (gimp_restore)
* app/text/gimp-fonts.c: handle --no-fonts similar to --no-data
and allow to load the fonts later by pressing "Refresh" in the
fonts dialog.
2005-04-13 Sven Neumann <sven@gimp.org>
* app/app_procs.c: register handler for the "GimpPaint" log domain.
* app/core/gimpdatafactory.c (gimp_data_factory_init): don't load
any data if TRUE is passed for no_data.
* app/tools/gimppainttool.c (gimp_paint_tool_draw): handle a NULL
brush gracefully.
2005-04-13 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpimagedock.c (gimp_image_dock_image_changed):
don't use the image container as display container.
2005-04-11 Michael Natterer <mitch@gimp.org>
Let the user decide whether tool options are persistant or not as
suggested in bug #165078:
* app/config/gimprc-blurbs.h
* app/config/gimpguiconfig.[ch]: added "gboolean save_tool_options".
* app/tools/gimp-tools.[ch]: implement the same logic as for
devicerc and essionrc: added gimp_tools_clear() which deletes the
stored tool options and added "save_tool_options" and
"always_save" parameters to gimp_tools_save(). Everything affects
just the primary tool options, *not* the separately saved presets
for each tool.
* app/gui/gui.c (gui_exit_callback): changed accordingly.
* app/dialogs/preferences-dialog.c: added GUI for the stuff above
in the style of the devicerc and seccionrc prefs GUIs.
2005-04-09 Michael Natterer <mitch@gimp.org>
Implement dragging and dropping in any GdkPixbuf supported
format. Fixes bug #172794 and bug #172795.
* app/core/gimplayer.[ch] (gimp_layer_new_from_region): new
function which contains all stuff that was in
gimp_layer_new_from_tiles().
(gimp_layer_new_from_tiles): use above function.
(gimp_layer_new_from_pixbuf): new function.
* app/widgets/Makefile.am
* app/widgets/gimppixbuf.[ch]: new files containing GdkPixbuf
utility functions for clipboard and DnD.
* app/widgets/gimpselectiondata.[ch]: removed
gimp_selection_data_set,get_pixbuf(), GTK+ provides the same API.
Also removed GdkAtom parameters all over the place because it's
always the same as selection_data->target.
* app/widgets/gimpclipboard.c: use the new pixbuf utility
functions and gtk_selection_data_set,get_pixbuf().
* app/widgets/widgets-enums.h
* app/widgets/gimpdnd.[ch]: removed never-implemented
GIMP_DND_TYPE_PNG and added a generic GIMP_DND_TYPE_PIXBUF
instead. Added API to drag and drop GdkPixbufs which transparently
converts from/to and GdkPixbuf-supported image format. Removed
passing around of GdkAtoms, since they were always the same
as selection_data->target.
* app/widgets/gimpdnd-xds.[ch]: follow GdkAtom parameter removal.
* app/widgets/gimpcontainertreeview.[ch]: added virtual function
GimpContainerTreeView::drop_pixbuf().
* app/widgets/gimpcontainertreeview-dnd.c: dispatch drop_pixbuf().
* app/widgets/gimplayertreeview.c: implement drop_pixbuf().
* app/widgets/gimpdrawabletreeview.c: allow to drag all drawables
as pixbufs.
* app/display/gimpdisplayshell-dnd.c: allow dropping of pixbufs.
2005-04-07 Sven Neumann <sven@gimp.org>
* app/config/gimpcoreconfig.c
* app/config/gimpguiconfig.c
* app/config/gimppluginconfig.c: need to free the return value of
gimp_config_build_foo_path() now that gimp_param_spec_path() is
sane and doesn't take ownership of the passed string any longer.
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/gfig/gfig-dialog.c
* plug-ins/gflare/gflare.c
* plug-ins/gimpressionist/utils.c: use gimp_config_build_data_path().
* plug-ins/Lighting/lighting_ui.c
* plug-ins/common/CML_explorer.c
* plug-ins/common/channel_mixer.c
* plug-ins/common/curve_bend.c
* plug-ins/common/gqbist.c
* plug-ins/common/spheredesigner.c
* plug-ins/flame/flame.c
* plug-ins/gimpressionist/brush.c
* plug-ins/ifscompose/ifscompose.c
* plug-ins/imagemap/imap_browse.c
* plug-ins/imagemap/imap_file.c
* plug-ins/print/gimp_main_window.c: set alternative button order
on file-chooser dialogs (as well as default response where missing).
2005-04-07 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcolorframe.c (gimp_color_frame_set_color): only
update the view if there's actually a change.
2005-04-07 Sven Neumann <sven@gimp.org>
* app/widgets/gimpmessagebox.c: plugged a small memleak.
* libgimpwidgets/gimpcontroller.c: added a finalizer and free the
allocated strings.
2005-04-06 Sven Neumann <sven@gimp.org>
* libgimpconfig/gimpconfig-utils.[ch]: added new function to reset
a single property to its default value.
* libgimpconfig/gimpconfig.def: updated.
* app/config/gimpbaseconfig.[ch]: reverted last change.
* app/base/base.c: use gimp_config_reset_property() instead.
2005-04-06 Sven Neumann <sven@gimp.org>
* libgimpconfig/gimpconfig-path.[ch] (gimp_param_spec_config_path):
declare default_value as const and allocate a copy.
* app/config/gimpbaseconfig.[ch]: gives access to the default values
for temp and swap path.
* app/base/base.c (base_init): create the temp directory if it
doesn't exist (bug #172682).
* plug-ins/uri/uri-backend-gnomevfs.c: fixed path in error message.
2005-04-05 Michael Natterer <mitch@gimp.org>
* app/plug-in/Makefile.am
* app/plug-in/plug-ins-query.[ch]: new files containing
plug_ins_query().
* tools/pdbgen/pdb/plug_in.pdb (plugins_query): remove all code
and use above function.
* app/pdb/plug_in_cmds.c: regenerated.
2005-04-05 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/plug_in.pdb (plugins_query): strip the menu
strings from underlines before matching. Fixed function to not
match all procedures twice.
* app/pdb/plug_in_cmds.c: regenerated.
2005-04-05 Michael Natterer <mitch@gimp.org>
* app/dialogs/Makefile.am
* app/dialogs/info-window.[ch]: removed.
* app/actions/view-actions.c
* app/actions/view-commands.[ch]
* menus/image-menu.xml.in: removed its action and menu stuff.
* app/display/gimpdisplayshell-cursor.c
* app/display/gimpdisplayshell-title.c
* app/display/gimpdisplayshell.[ch]: removed info window stuff.
This was the last display -> dialogs dependency.
* app/dialogs/dialogs.c: added ugly hack that references
info_dialog. Otherwise the still existing tools -> dialogs
dependency breaks the build.
2005-04-05 Sven Neumann <sven@gimp.org>
* app/core/core-enums.[ch]
* app/core/gimpimage.c
(gimp_image_remove_layer, gimp_image_remove_channel): handle a
floating selection attached to the layer or channel that is being
removed. Fixes bug #168582 but doesn't handle floating selections
attached to layer masks.
2005-04-05 Michael Natterer <mitch@gimp.org>
More unfinished replacement for the info window:
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpimagepropview.[ch]: new widget showing an image's
size, resolution, mode, memsize etc.
* app/dialogs/Makefile.am
* app/dialogs/image-properties-dialog.[ch]: a dialog keeping the
widget.
* app/widgets/gimphelp-ids.h: a help ID for the dialog.
* app/actions/image-actions.c
* app/actions/image-commands.[ch]
* menus/image-menu.xml.in: action and menu entry for the dialog.
2005-04-04 Sven Neumann <sven@gimp.org>
* app/core/gimpdata.c (gimp_data_create_filename): return early if
called for an internal data object. Fixes bug #172581.
2005-04-04 Tor Lillqvist <tml@novell.com>
* app/widgets/gimpclipboard.c (gimp_clipboard_format_compare): On
Win32, move the "bmp" format to the front. Means less conversion
in most cases, as other apps on Win32 typically provide/want the
BMP format on the Clipboard. (Actually CF_DIB, but that's the
same, just without the BMP file header.) See also bug #168173.
2005-04-03 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcursorview.[ch]: fixed spacings and update them
in GtkWidget::style_set(). Removed lots of cruft from the widget
this files were copied from, including the GimpContext param
to gimp_cursor_view_new(). Remember the state of the two color
frames as aux-info in sessionrc.
* app/dialogs/dialogs-constructors.c: changed accordingly.
2005-04-03 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcolorframe.c (gimp_color_frame_init): switch
from a table to a vbox containing hboxes, so the widget's width is
not determined by the longest label *plus* the longest value.
2005-04-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.[ch]: added new signals "sample-point-added"
and "sample-point-removed" and public functions to emit them.
* app/core/gimpimage-sample-points.c (gimp_image_add_sample_point)
(gimp_image_remove_sample_point): emit them accordingly.
* app/core/gimpimage-undo-push.c (undo_pop_image_sample_point):
ditto.
(undo_pop_image_guide)
(undo_pop_image_sample_point): added comments why we add/remove
stuff manually instead of using the GimpImage APIs.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcursorview.[ch]
* app/widgets/gimpsamplepointeditor.[ch]: new widgets.
GimpCursorView is a replacement for the info window's "Cursor"
page, GimpSamplePointEditor is a view on an image's sample points.
The sample point editor does nothing yet except keeping a 2x2 grid
of GimpColorFrames. Addresses bug #137776.
* app/dialogs/dialogs.c
* app/dialogs/dialogs-constructors.[ch]: register the new widgets
as dockable dialogs.
* app/actions/dialogs-actions.c (dialogs_dockable_actions)
* menus/dialogs-menuitems.xml: added actions and menu items for
the new dialogs.
* app/display/gimpdisplayshell-cursor.c
(gimp_display_shell_update_cursor)
(gimp_display_shell_clear_cursor): update the new cursor view.
* app/widgets/gimphelp-ids.h: help IDs for the new dialogs.
* app/widgets/widgets-enums.[ch] (enum GimpColorFrameMode):
changed description "Pixel values" to "Pixel" because the former
was too long.
2005-04-01 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_push): do nothing if
this message is at the top of the stack already.
2005-03-31 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/gimpfgbgview.[ch]
* app/widgets/widgets-types.h: added new widget GimpFgBgView;
somewhat similar to GimpFgBgEditor but a lot simpler.
* app/widgets/gimpcoloreditor.c: use GimpFgBgView as preview widget.
Closes bug #168592.
* app/widgets/gimpfgbgeditor.c: gracefully handle a very small
size allocation.
2005-03-31 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-close.c
(gimp_display_shell_close_dialog): use GTK_STOCK_DELETE for the
"Don't Save" button.
2005-03-30 Sven Neumann <sven@gimp.org>
* app/tools/gimpvectortool.c (gimp_vector_tool_status_update):
set a different help message in polygonal mode. Fixes bug #172051.
2005-03-26 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-close.c
(gimp_display_shell_close_dialog): added an icon to the "Don't Save"
button.
2005-03-26 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdnd.c: don't add the same target multiple times.
This used to happen when gimp_dnd_foo_source_add() is called
after calling gimp_dnd_drag_source_set_by_type().
2005-03-25 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdockable.c (gimp_dockable_add): initialize the
tab style to a supported one. Fixes bug #171562.
2005-03-25 Sven Neumann <sven@gimp.org>
* app/dialogs/file-save-dialog.c
* app/widgets/gimpfiledialog.[ch]: moved overwrite confirmation
dialog to app/widgets.
* app/widgets/gimpdnd-xds.c: set "Untitled.xcf" as default name
for untitled images; ask for confirmation before overwriting a
local file.
2005-03-25 Sven Neumann <sven@gimp.org>
* app/core/gimpmarshal.list: added VOID: OBJECT, OBJECT.
* app/widgets/gimpview.[ch]: pass old and new viewable in the
"set-viewable" signal.
* app/widgets/gimptoolbox-image-area.c: don't add the XDS drag source
more than once.
2005-03-25 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdnd-xds.c (gimp_dnd_xds_save_image): in case of
an error, answer with E (error) instead of F (failure).
2005-03-25 Sven Neumann <sven@gimp.org>
* app/widgets/gimpview.[ch]: virtualized GimpView::set_viewable.
* app/widgets/gimptoolbox-image-area.c: hook into "set_viewable"
and add an XDS drag source.
* app/widgets/gimpdnd-xds.c
* app/widgets/gimpdnd.c: unset the XdndDirectSave0 property when
the drag ends, minor cleanups.
2005-03-25 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/gimpdnd-xds.[ch]: new files.
* app/widgets/gimpdnd.[ch]
* app/widgets/widgets-enums.h: added a basic XDS (Direct Save
Protocol) implementation.
* app/widgets/gimpimageview.c: allow to save images by dragging
them from the Images dialog to an XDS capable file manager.
2005-03-25 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimppropwidgets.[ch]: added
gimp_prop_file_chooser_button_new(), a convenience constructor for
GtkFileChooserButton.
* libgimpwidgets/gimpwidgets.def: updated.
* app/dialogs/preferences-dialog.c: use the new prop widget on the
color management page.
2005-03-24 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch]
* app/core/gimpimage-undo-push.[ch]
* app/core/gimplayermask.[ch]: eek, my fault... removed
GIMP_UNDO_LAYER_MASK_EDIT stuff again because that just determines
the active drawable, which must not affect undo.
* app/pdb/pdb_glue.h
* app/actions/layers-commands.c (layers_mask_edit_cmd_callback):
changed accordingly.
(layers_mask_disable_cmd_callback): reverted last change. the old
code was correct.
2005-03-24 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch] (enum GimpUndoType) : reordered values
so layer and layer mask undos are grouped together.
* app/core/gimpimage-undo-push.[ch]: same here. Changed the new
layer mask undos to have 3 simple push functions for the 3
properties, just as the layer property undos. Also made the code
look like the layer properties undo stuff.
* app/core/gimplayermask.c (gimp_layer_mask_set_apply,edit,show):
changed accordingly.
2005-03-24 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.c (gimp_statusbar_push_coords)
(gimp_statusbar_set_cursor): use RINT() instead or ROUND() to get
proper rounding of negative values. Fixes bug #171497.
* app/core/core-enums.[ch]
* app/core/gimpimage-undo-push.[ch]
* app/core/gimplayermask.[ch]:
* app/pdb/pdb_glue.h
* app/actions/layers-commands.c: try again from clean tree;
hopefully will work this time. (bug #148852)
2005-03-24 Michael Natterer <mitch@gimp.org>
Added API to explicitly register dynamic menu items hierarchies.
Fixes bug #170623.
* app/core/gimp.h: added "GSList *plug_in_menu_branches".
* app/plug-in/plug-in-types.h
* app/plug-in/plug-ins.[ch]: added API to register plug-in menu
branches, just as for locale and help domans. Cleaned up handling
of locale and help domains.
(plug_ins_exit): free the registered menu branches.
* app/actions/plug-in-actions.[ch] (plug_in_actions_add_branch):
new function to explicitly add a menu branch action.
(plug_in_actions_setup): add the registered menu branches to each
new action group.
(plug_in_actions_build_path): always strip the untranslated menu
path from underlines before using it as hash table key or action
name.
* app/menus/plug-in-menus.c (plug_in_menus_add_proc): changed
accordingly: strip underlines from untranslated menu paths before
passing them to plug_in_menus_build_path().
* app/core/gimp-gui.[ch]: added gimp_menus_create_branch() plus
vtable entry to access the new stuff from the core. Renamed the
functions desling with items from gimp_foo_entry() to
gimp_foo_item().
* app/gui/gui-vtable.c: implement create_branch() and add the
branch action to all existing "plug-in" action groups. Note that
we don't need to create any menus because that happens implicitly
when adding menu items.
* tools/pdbgen/pdb/plug_in.pdb (plugin_menu_branch_register): new
PDB wrapper to access branch registering from plug-ins.
* app/pdb/internal_procs.c
* app/pdb/plug_in_cmds.c
* libgimp/gimpplugin_pdb.[ch]: regenerated.
* libgimp/gimp.def: changed accordingly.
* plug-ins/script-fu/script-fu-scripts.c (script_fu_find_scripts):
register the menu branches for all included scripts.