2005-02-14 Sven Neumann <sven@gimp.org>
* app/base/pixel-processor.[ch]: define the maximum number of
threads in the header file.
* app/config/gimpbaseconfig.c: use the #define.
2005-02-13 Sven Neumann <sven@gimp.org>
* configure.in
* app/base/tile-cache.c
* app/base/tile-private.h
* app/base/tile-swap.c
* app/base/tile.c: in an attempt to safe this code from bit-rot,
ported the experimental threaded tile-swapper to gthread.
plug-ins/common/psd_save.c :
* Rewrote all the code that deals with pixels to be stingy with
* memory and opperate on tile-size chunks. Create a flattened
* copy of the image when necessary. Fixes file corruption bug
* #167139 and memory bug #121871
2005-02-13 Sven Neumann <sven@gimp.org>
* app/base/pixel-processor.c: some more cleanup; introduced a
#define to control the number of tiles per thread.
2005-02-13 Sven Neumann <sven@gimp.org>
* app/base/base.c: fixed typo.
* app/config/gimpbaseconfig.c: reverted last change,
"num-processor" doesn't need a confirmation.
2005-02-13 Michael Natterer <mitch@gimp.org>
* app/file/file-save.[ch]: removed file_save() and renamed
file_save_as() to file_save() which always requires "uri" and
"file_proc" to be passed. This functions does no more file_proc by
extension finding and stuff.
* app/actions/file-commands.c (file_save_cmd_callback): only call
file_save() if the image has both uri and save_proc, fall back to
file_save_as_cmd_callback() otherwise.
* app/dialogs/file-save-dialog.c: completely chopped and
reconstructed. Added tons of checks for extension vs. save_proc
consistency and ask the user if she really wants to save weird
stuff. Added masive debugging output because I'm far from certain
that everything is correct.
2005-02-13 Sven Neumann <sven@gimp.org>
* app/base/base.c
* app/base/tile-swap.[ch]: moved some code from base_init() into
tile_swap_init().
* app/base/pixel-processor.[ch]: prepared for porting to GThreadPool.
* app/config/gimpbaseconfig.c: changed "num-processors" option to
require a confirmation before being changed.
2005-02-13 Sven Neumann <sven@gimp.org>
* plug-ins/jpeg/jpeg-exif.c: use context specific labels for the
action buttons in the rotate confirmation dialog.
2005-02-13 Sven Neumann <sven@gimp.org>
* app/core/gimpprogress.c (gimp_progress_start): accept an empty
string.
* app/plug-in/plug-in-progress.c: if NULL is passed as message to
plug_in_progress_start(), set an empty string on the progress.
* tools/pdbgen/pdb/progress.pdb:
* libgimp/gimpprogress.[ch]: wrap the new gimp_progress_set_text()
PDP function with a function that accepts printf-like arguments.
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* lots of plug-ins, most of them file plug-ins:
use gimp_progress_init(NULL) followed by gimp_progress_set_text()
to initialize the progress using the new API instead of constructing
a temporary string.
2005-02-12 Michael Natterer <mitch@gimp.org>
* app/dialogs/file-save-dialog.c (file_save_dialog_response): use
gtk_file_chooser_set_uri() to check if a file exists. Seems to
work reliably even for remote files and fixes the issue i
mentioned below.
2005-02-12 Sven Neumann <sven@gimp.org>
Changes suggested in bug #167200:
* plug-ins/common/unsharp.c: increased maximum value for Amount.
* app/tools/gimplevelstool.c: changed increments for gamma
spinbutton.
* app/tools/gimpcoloroptions.c: increased maximum radius for color
picking to 300 pixels and made the slider logarithmic.
2005-02-12 Sven Neumann <sven@gimp.org>
* app/tools/gimpcoloroptions.c: increased maximum radius for color
picking to 300 pixels and made the slider logarithmic.
2005-02-12 Sven Neumann <sven@gimp.org>
* app/plug-in/plug-in-progress.c (plug_in_progress_start): only
set progress value to 0.0 if it isn't 0.0 already. Allows to use
gimp_progress_init() to change the progress message w/o causing
gtk_progress_bar_set_fraction() to be called.
* plug-ins/uri/uri-backend-gnomevfs.c: use gimp_progress_pulse()
if the filesize is unknown. Also limit frequency of progress
updates.
2005-02-12 Michael Natterer <mitch@gimp.org>
* app/dialogs/file-open-dialog.c (file_open_dialog_response)
* app/dialogs/file-save-dialog.c (file_save_dialog_response):
don't bail out if filename_from_uri() returns NULL. Perform
checks for G_FILE_TEST_IS_REGULAR and G_FILE_TEST_EXISTS
only on local files.
(This brings up the problem that we will overwrite existing remote
files without warning. Need to fix that before enabling remote
files in GimpFileDialog).
2005-02-12 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimpbaseenums.h (enum GimpProgressCommand):
added GIMP_PROGRESS_COMMAND_PULSE.
* libgimpbase/gimpbaseenums.c
* plug-ins/pygimp/gimpenums.py
* tools/pdbgen/enums.pl: regenerated.
* app/core/gimppdbprogress.c: implement GimpProgress::pulse()
and send a PULSE command to the callback.
* libgimp/gimpprogress.c: handle PULSE by calling the set_value()
callback with a value of -1 and document that hack in the API docs.
* libgimp/gimpprogressbar.c: interpret -1 as request to pulse.
2005-02-12 Sven Neumann <sven@gimp.org>
* app/core/gimpprogress.[ch]: added GimpProgress::pulse.
* app/display/gimpdisplay.c
* app/display/gimpstatusbar.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimpprogressbox.c
* app/widgets/gimpprogressdialog.c
* app/widgets/gimpthumbbox.c: implement it in the classes that
implement the GimpProgress interface.
* app/plug-in/plug-in-progress.[ch]: allow plug-ins to pulse their
progress.
* tools/pdbgen/pdb/progress.pdb: added a procedure for the new
functionality.
* app/pdb/internal_procs.c
* app/pdb/progress_cmds.c
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* libgimp/gimp.def: updated.
2005-02-11 Sven Neumann <sven@gimp.org>
* configure.in: enable support for multiple processors by default.
Hyperthreading and multicore CPUs are becoming common and we
should try to give this as much testing as possible.
* app/config/gimpbaseconfig.c: use two processors by default. Also
increased default tile-cache-size to 256MB.
2005-02-11 Sven Neumann <sven@gimp.org>
* app/widgets/gimptoolbox.c (toolbox_paste_received): drop
everything after the first newline and strip leading and trailing
whitespace from the pasted text.
2005-02-11 Sven Neumann <sven@gimp.org>
* app/actions/layers-actions.c
* app/actions/view-actions.c: added shortcuts for New
Layer (Shift-Ctrl-N, used to be the Navigation Dialog) and
Duplicate Layer (Shift-Ctrl-D).
2005-02-10 Michael Natterer <mitch@gimp.org>
* plug-ins/uri/uri-backend-gnomevfs.c: use gimp_memsize_to_string()
instead of always showing bytes with a translatable %llu format
string. Increased BUFSIZE to 4096.
* plug-ins/uri/uri-backend-wget.c (uri_backend_load_image): don't
leak the memsize string. Use sizeof(buf) instead of BUFSIZE.
2005-02-10 Michael Natterer <mitch@gimp.org>
* app/tools/gimpcroptool.c
* app/tools/gimptransformtool.c: alternative button order for
the info dialogs (bug #166678).
2005-02-10 Sven Neumann <sven@gimp.org>
* plug-ins/common/displace.c: applied a modified patch from Joao
S. O. Bueno Calligaris that adds a polar mode to the Displace
plug-in (bug #161131).
2005-02-10 Sven Neumann <sven@gimp.org>
* app/file/file-save.c (file_save_as): applied a (slightly
modified) patch from Shlomi Fish that automatically adds the .xcf
extension if none is given (bug #165684).
2005-02-09 Manish Singh <yosh@gimp.org>
* app/text/gimpfont-utils.[ch]: new function to workaround pango
bug #166540, by tacking on a ',' to font names that end in numbers,
so pango_font_description_from_string doesn't interpret it as a size.
* app/text/Makefile.am: add above files.
* app/text/gimpfontlist.c
* app/text/gimptext-compat.c: use new function.
* app/text/gimptext-xlfd.c: also make sure font names pulled out
from XLFD don't end in numbers.
* app/text/gimpfont.c
* app/text/gimptextlayout.c: remove some redundant checks.
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_tool_events): For testing, apply
patch switching display-wide grab to app-wide grab while
handling button-release event, see bug #162823.
2005-02-09 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpsizeentry.[ch]
* libgimpwidgets/gimpwidgets.def: added new function
gimp_size_entry_set_activates_default().
* app/dialogs/image-new-dialog.c: set the initial focus on the
Width entry and set the activates_default flag for the size entry.
Fixes bug #165748.
2005-02-09 Sven Neumann <sven@gimp.org>
* app/display/gimpscalecombobox.[ch]
* app/display/gimpstatusbar.c: pass an action label to
gimp_scale_combo_box_add_action().
2005-02-09 Sven Neumann <sven@gimp.org>
* app/display/gimpscalecombobox.[ch]
* app/display/gimpstatusbar.c: add an "Other..." item to the scale
menu in the image window. Somewhat hackish but fixes bug #143747.
2005-02-09 Michael Natterer <mitch@gimp.org>
* app/core/gimpimagefile.c
* app/widgets/gimpthumbbox.c: enable explicit (not automatic while
browsing the list of files) thumbnailing of remote files
2005-02-08 Sven Neumann <sven@gimp.org>
* app/app_procs.[ch]
* app/gui/gui.[ch]
* app/main.c: simplified initialization by passing GOptionContext
to app_libs_init() and gui_libs_init().
2005-02-08 Michael Natterer <mitch@gimp.org>
* app/main.c: removed SIGCHLD handler which used to call
waitpid(-1,...) because this breaks all waitpid(pid,...) calls
in a non-deterministic way. Apparently it is possible to use both
SIG_DFL *and* SA_RESTART (SA_RESTART being the original reason
why the call to sigaction() was introduced).
* app/plug-in/plug-in.c (plug_in_close): don't have a million
subsequent if(plug_in->pid) blocks. Put everything into one big
if(plug_in->pid) block instead. Call g_spawn_close_pid() on all
platforms instead of using the Win32 CloseHandle().
2005-02-08 Michael Natterer <mitch@gimp.org>
* app/actions/actions.c (action_data_get_widget): return the
active display's shell instead of the toolbox when called from the
<Image> popup. Fall back to the toolbox if there is no active
display. Fixes bug #166012.
2005-02-08 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpuimanager.[ch]: removed gimp_ui_manager_ui_get()
and implement the new virtual functions GtkUIManager::get_widget()
and ::get_action() instead. Menu loading happens transparently now.
* app/display/gimpdisplayshell.c
* app/widgets/gimpdockable.c
* app/widgets/gimptexteditor.c
* app/widgets/gimptoolbox.c
* app/widgets/gimptooloptionseditor.c: use
gtk_ui_manager_get_widget() instead of the removed
gimp_ui_manager_ui_get().
2005-02-08 Sven Neumann <sven@gimp.org>
Applied a patch from Patrice Tremblay that makes (almost) all
dialogs obey the "gtk-alternative-button-order" setting
(bug #166678). Changes too many files to list them all...
2005-02-08 Sven Neumann <sven@gimp.org>
* app/widgets/gimpgradienteditor.c (gimp_gradient_editor_init):
use "single-line-mode" for the hint labels. Should fix bug #157570.
2005-02-08 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpwidgets-constructors.[ch]: undeprecated the
paint mode menu (ported to GimpEnumComboBox with separators).
The separator code is quite hackish and therefore still
implemented privately here.
* app/widgets/gimpbrushselect.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimppropwidgets.c: changed accordingly.
2005-02-08 Michael Natterer <mitch@gimp.org>
* app/gui/gui.c (gui_display_changed): if display became NULL
(e.g. by closing a view) and we decide to activate another view
of the same image, stop the emission of the original
"display-changed" signal so it doesn't affect the toolbox'
UI manager. Fixes bug #159304.
2005-02-08 Sven Neumann <sven@gimp.org>
* plug-ins/winicon/icosave.c (ico_image_get_reduced_buf): fixed
bug in save routine for 256-slot palette (bug #162742).
2005-02-08 Sven Neumann <sven@gimp.org>
* libgimpconfig/gimpcolorconfig-enums.[ch]: gimp-mkenums doesn't
seem to like newlines in enum definitions.
* libgimpconfig/gimpcolorconfig.[ch]: removed the "profile-path"
property for now. It doesn't work too well with GimpFileEntry.
We can add it back later if it turns out that we really need it.
* app/dialogs/preferences-dialog.c
* app/widgets/gimphelp-ids.h: added a color management page to the
preferences dialog.
2005-02-07 Michael Natterer <mitch@gimp.org>
* plug-ins/uri/uri-backend.h: added backend methods for saving to
URIs.
* plug-ins/uri/uri.c: register a save procecure if the save method
is available, using some code from compressor.c
* plug-ins/uri/uri-backend-gnomevfs.c: implement saving.
* plug-ins/uri/uri-backend-wget.c: added saving stubs which always
fail.
2005-02-07 Sven Neumann <sven@gimp.org>
* app/widgets/gimpfiledialog.c (gimp_file_dialog_add_filters): add
an "All Images" filter and select it by default.
2005-02-07 Michael Natterer <mitch@gimp.org>
* app/dialogs/file-open-location-dialog.c
(file_open_location_dialog_new): set "activates-default" on the
URI entry.
2005-02-07 Sven Neumann <sven@gimp.org>
* plug-ins/help/domain.c
* plug-ins/helpbrowser/dialog.c: same trick here; should allow to
work with help files installed in an UNC path.
2005-02-07 Sven Neumann <sven@gimp.org>
* app/dialogs/file-open-dialog.c
* app/dialogs/file-save-dialog.c
* app/widgets/gimpthumbbox.c: use file_utils_filename_from_uri()
in some more places.
* app/dialogs/file-open-location-dialog.c
* app/widgets/gimpselectiondata.c: deal with hostname in URIs.
2005-02-07 Sven Neumann <sven@gimp.org>
* app/core/gimpimagefile.c (gimp_imagefile_get_desc_string):
changed "Remote Image" to "Remote File". The state of the
thumbnail doesn't tell us if this is an image file at all.
* app/widgets/gimpthumbbox.c: don't auto-thumbnail remote files.
* libgimpthumb/gimpthumb-utils.[ch]
* libgimpthumb/gimpthumbnail.c: do the same workaround for UNC
paths as in file_utils_filename_from_uri().
2005-02-07 Michael Natterer <mitch@gimp.org>
* plug-ins/uri/uri-backend.h: added backend methods
uri_backend_init() and uri_backend_shutdown().
* plug-ins/uri/uri.c: call them around using other backend
functions (both in query() and run()).
* plug-ins/uri/uri-backend-gnomevfs.c: moved init()/shutdown() of
GnomeVFS into the new backend methods. Create the list of
supported protocols dynamically. Get rid of one translatable
string.
* plug-ins/uri/uri-backend-wget.c: implement the new methods as
empty stubs which always succeed.
2005-02-07 Sven Neumann <sven@gimp.org>
* libgimpconfig/Makefile.am
* libgimpconfig/gimpconfig.def
* libgimpconfig/gimpconfig.h
* libgimpconfig/gimpconfigtypes.h: install the GimpColorConfig
header and include it.
* libgimpconfig/gimpcolorconfig.[ch]: commented out some options
that will only be needed later and that will most likely undergo
some changes.
* app/config/gimpcoreconfig.[ch]
* app/config/gimprc-blurbs.h: added GimpColorConfig to GimpRc.
2005-02-07 Michael Natterer <mitch@gimp.org>
* plug-ins/uri/uri-backend-gnomevfs.c: fixed wrong use of
GnomeVFSFileInfo (it wants to be allocated and unrefed). Extended
the list of supported prefixes (still conceptually broken).
2005-02-07 Sven Neumann <sven@gimp.org>
* HACKING
* autogen.sh: dropped support for automake 1.6, automake >= 1.7 is
now required.
* configure.in: removed cruft that was there only for automake 1.6.
2005-02-07 Michael Natterer <mitch@gimp.org>
* configure.in: check for gnome-vfs-2.0
* plug-ins/uri/Makefile.am
* plug-ins/uri/uri-backend-gnomevfs.c: new file which is built
instead of the wget backend if GnomeVFS is available.
2005-02-07 Sven Neumann <sven@gimp.org>
* themes/Default/images/preferences/Makefile.am
* themes/Default/images/preferences/color-management.png: added
icon for the yet to be added color management preferences page.
Icon kindly provided by Alastair M. Robinson (bug #78265).
2005-02-07 Sven Neumann <sven@gimp.org>
* app/widgets/gimptooldialog.c (gimp_tool_dialog_new): unset the
"focus-on-map" property for tool dialogs. Fixes bug #154651 (on
window managers supporting this hint).
2005-02-06 Sven Neumann <sven@gimp.org>
* libgimpconfig/Makefile.am
* libgimpconfig/gimpcolorconfig-enums.[ch]
* libgimpconfig/gimpcolorconfig.[ch]: added a first draft of a
color management configuration object. Not yet installed nor used
by anything. This is based on an older patch by Stefan Döhla.
2005-02-06 Michael Natterer <mitch@gimp.org>
* plug-ins/common/url.c: removed.
* plug-ins/common/plugin-defs.pl: changed accordingly.
* plug-ins/common/.cvsignore
* plug-ins/common/Makefile.am: regenerated.
* configure.in
* plug-ins/Makefile.am: added the "uri" subdir.
* plug-ins/uri/.cvsignore
* plug-ins/uri/Makefile.am
* plug-ins/uri/uri-backend-wget.c
* plug-ins/uri/uri-backend.h
* plug-ins/uri/uri.c: new files: split uri plug-in into common and
backend-specific code that will soon optionally use gnomre-vfs.
Also treat everything after the basename's first dot as extension,
not after the last dot, so opening "foo.ext.gz" doesn't trigger
warnings from the compressor plug-in.
2005-02-06 Sven Neumann <sven@gimp.org>
* app/main.c: moved call to sanity_check() after the
initialization of gtk+ so that the error message can be displayed.
2005-02-05 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontrollers.c (gimp_controllers_init): removed
some eeeky code that used to fiddle with the GimpController type.
* libgimpwidgets/gimpcontroller.c (gimp_controller_get_type): add
the GimpConfig interface here, where it belongs.
2005-02-05 Sven Neumann <sven@gimp.org>
* modules/cdisplay_colorblind.c
* modules/cdisplay_gamma.c
* modules/cdisplay_highcontrast.c
* modules/cdisplay_proof.c: there's no longer a need to keep a
pointer to the widget returned by GimpColorDisplay::configure.
2005-02-05 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpcolordisplay.[ch]: deprecate the
implementation of the class methods clone, load_state, save_state
and configure_reset and implement them in the base class using the
GimpConfigInterface.
* modules/cdisplay_colorblind.c
* modules/cdisplay_gamma.c
* modules/cdisplay_highcontrast.c
* modules/cdisplay_proof.c: removed deprecated implementations here.
2005-02-05 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_tool_events): switched meaning of Ctrl
and Shift modifiers used with the mouse scroll wheel. The HIG
suggests to use Ctrl for zooming and it makes GIMP more consistent
with other apps (for example Inkscape).
2005-02-05 Sven Neumann <sven@gimp.org>
* modules/Makefile.am: link ColorDisplay modules with libgimpconfig.
* modules/cdisplay_colorblind.c: added the GimpConfig interface
and use it.
2005-02-03 Michael Natterer <mitch@gimp.org>
* app/dialogs/print-size-dialog.c
* app/dialogs/resize-dialog.c
* app/dialogs/scale-dialog.c: moved "Reset" buttons left of "Cancel".
2005-02-03 Sven Neumann <sven@gimp.org>
* tools/Makefile.am
* tools/gimp-remote.c: allow to localize gimp-remote.
* app/main.c: changed a string so it can be shared with gimp-remote.
2005-02-03 Michael Natterer <mitch@gimp.org>
* app/actions/help-commands.c (help_context_help_cmd_callback):
for consistency, use return_if_no_widget() instead of
action_data_get_widget()
2005-02-03 Michael Natterer <mitch@gimp.org>
* app/dialogs/image-scale-dialog.c (image_scale_dialog_new): use
the passed parent widget instead of display->shell.
2005-02-03 Sven Neumann <sven@gimp.org>
* app/core/gimpimagemap.c (gimp_image_map_do): fixed handling of
pixel region that broke with my latest change. Fixes bug #166126.
2005-02-03 Sven Neumann <sven@gimp.org>
* app/app_procs.[ch]
* app/main.c: let the GLib command-line parser deal with the
remaining arguments and pass a string array to app_run().
2005-02-02 Michael Natterer <mitch@gimp.org>
* app/core/gimp-utils.[ch] (gimp_check_glib_version): removed this
function.
* app/sanity.c (sanity_check_glib): use glib_check_version()
instead and set required version to 2.6.0.
2005-02-02 Sven Neumann <sven@gimp.org>
* configure.in: depend on glib >= 2.6.0.
* app/main.c: use the new GLib commandline option parser. Still
work in progress.
2005-02-02 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-convert.c (gimp_image_convert): relax/rigor
the floating selection around the convert operations so color
analysis for indexed conversion works on the floating selection's
drawable original pixels, and not on the composited one.
Fixes bug #165342.
2005-02-02 Sven Neumann <sven@gimp.org>
* data/misc/gimp.desktop.in.in (_Name): experimentally expand the
GIMP acronym. Not sure if this is a good idea at all...
2005-02-01 Sven Neumann <sven@gimp.org>
* app/core/gimpimagemap.c (gimp_image_map_do): tiny optimization
based on a patch by Bill Skaggs. Process up to 16 tiles in one go
before updating the display.
2005-01-31 Sven Neumann <sven@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/tools/stock-tool-new-rect-select-16.png
* themes/Default/images/tools/stock-tool-new-rect-select-22.png
* libgimpwidgets/gimpstock.[ch]: removed the new icon again;
there's no point in adding a stock icon temporarily.
* app/tools/gimpnewrectselecttool.c: changed accordingly.
2005-01-31 Michael Natterer <mitch@gimp.org>
Some cleanup to make plug-in menu creation less hackish and
finally enable registering plug-in menu entries in much more UI
managers (not only in the image and toolbox menus):
* app/menus/menus.c: added a <Toolbox> UI manager instead of
creating the toolbox menu from the <Image> UI manager.
* app/widgets/gimpimagedock.[ch]: removed the ui_manager and the
signal connections to update it...
* app/widgets/gimpdock.[ch]: ...and added them here so all docks
have their own UI manager. Determine which manager to create from
looking at GimpDockClass::ui_manager_name (defaults to <Dock>).
* app/widgets/gimptoolbox.c: set ui_manager_name to <Toolbox> and
use the UI manager created by our parent class instead of using
the <Image> one.
(toolbox_create_tools): use gimp_action_get_accel_closure()
instead of doing evil hacks.
* app/gui/gui-vtable.c
* app/menus/plug-in-menus.c: removed lots of special casing of the
<Image> UI manager. The code is almost ready for allowing plug-in
menus under <Layers>, <Channels>, <Brushes> etc.
2005-01-28 Michael Natterer <mitch@gimp.org>
* app/actions/Makefile.am
* app/actions/window-actions.[ch]: new files holding utility
functions to create actions to move windows to other screens.
* app/actions/dock-actions.c
* app/actions/dock-commands.[ch]
* app/actions/view-actions.c
* app/actions/view-commands.[ch]: use the new actions instead of
the change screen dialog.
* app/menus/Makefile.am
* app/menus/window-menu.[ch]: new files which create menu items
for above actions.
* app/menus/dockable-menu.[ch]: new files using above window-menu
utility functions.
* app/menus/image-menu.c: use them here too.
* app/menus/menus.c: set a setup_func for the "<Dockable>"
UI manager.
* menus/dockable-menu.xml.in
* menus/image-menu.xml.in: changed accordingly.
2005-01-26 Michael Natterer <mitch@gimp.org>
* app/actions/dockable-actions.c
* app/actions/dockable-commands.[ch]: removed dock-related
actions (show-image-menu, auto-follow-active and move-to-screen).
* app/actions/dock-actions.c
* app/actions/dock-commands.[ch]: and added them here.
* app/menus/menus.c: add the "dock" action group to the
"<Dockable>" UI Manager.
* app/widgets/gimphelp-ids.h: reordered to match the new grouping.
* menus/dockable-menu.xml.in: changed accordingly.
2005-01-26 Raphael Quinet <raphael@gimp.org>
* app/composite/gimp-composite-generic.c: minor doc fix for
formula used by gimp_composite_multiply_any_any_any_generic().
2005-01-26 Sven Neumann <sven@gimp.org>
* libgimpconfig/gimpconfig-path.h: added declarations for the
gimp_config_build_path functions.
* app/config/Makefile.am
* app/config/gimprc-utils.[ch]: removed these two files again;
they used to duplicate functionality from libgimpconfig.
* app/config/gimpcoreconfig.c
* app/config/gimpguiconfig.c
* app/config/gimppluginconfig.c: changed accordingly.
2005-01-25 Michael Natterer <mitch@gimp.org>
* libgimpconfig/gimpconfigtypes.h: new file holding the opaque
typedefs for libgimpconfig. Includes "libgimpbase/gimpbasetypes.h"
* libgimpconfig/Makefile.am: added the new file. Removed stuff
that is not needed.
* libgimpconfig/gimpconfigwriter.h
* libgimpconfig/gimpconfig-iface.h: removed typedefs here.
* libgimpconfig/gimpconfig-deserialize.c
* libgimpconfig/gimpconfig-iface.c
* libgimpconfig/gimpconfig-serialize.c
* libgimpconfig/gimpconfig-utils.c
* libgimpconfig/gimpconfig.h
* libgimpconfig/gimpconfigwriter.c: include it before including
any other libgimpconfig stuff.
* app/config/config-types.h: #include "libgimpbase/gimpbasetypes.h"
* app/config/gimpconfig-utils.h: changed include guards to
__APP_GIMP_CONFIG_UTILS_H__.
* app/dialogs/tips-parser.c: include <glib-object.h> instead of
just <glib.h>.
* app/tools/gimphistogramoptions.c
* app/tools/gimptextoptions.c: include "config/gimpconfig-utils.h"
* app/widgets/gimpdialogfactory.h
* app/widgets/gimpsessioninfo.h: removed inclusion of
"libgimpbase/gimpbasetypes.h".
2005-01-24 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-deserialize.[ch]
* app/config/gimpconfig-serialize.[ch]
* app/config/gimpconfig.[ch]: factored out some rather obscure
GimpConfig features that were added solely for gimprc.
* app/config/Makefile.am
* app/config/gimprc-deserialize.[ch]
* app/config/gimprc-serialize.[ch]
* app/config/gimprc-unknown.[ch]: moved gimprc-specific code to
these new files.
* app/config/gimprc.c
* app/config/test-config.c: changed accordingly.
2005-01-24 Michael Natterer <mitch@gimp.org>
Enabled closing docks with Ctrl-W:
* app/actions/Makefile.am
* app/actions/dock-actions.[ch]
* app/actions/dock-commands.[ch]: added new action group which
holds a single action, "dock-close".
* app/actions/actions.c: register the "dock" group.
* app/menus/menus.c: add it to the "<Dock>" UI manager.
* app/widgets/gimphelp-ids.h: added GIMP_HELP_DOCK_CLOSE.
2005-01-23 Sven Neumann <sven@gimp.org>
* plug-ins/MapObject/Makefile.am (MapObject_SOURCES): added
arcball.c; it isn't used but it doesn't hurt to have it in the
tarball in case someone wants to resurrect this functionality.
2005-01-23 Sven Neumann <sven@gimp.org>
* libgimpbase/Makefile.am
* libgimpbase/gimpbaseparams.[ch]: removed this file again.
* libgimpbase/gimpmemsize.[ch]
* libgimpbase/gimppath.[ch]
* libgimpbase/gimpunit.[ch]: moved the paramspec definitions to
the types they belong to.
* libgimpbase/gimpbase.h: changed accordingly.
* libgimpwidgets/Makefile.am (libgimpwidgetsinclude_HEADERS):
install the new header files.
2005-01-23 Sven Neumann <sven@gimp.org>
* app/actions/dialogs-actions.c (dialogs_actions): set Ctrl-B as
default shortcut to raise the Toolbox (as suggested in bug #163368).
2005-01-23 Sven Neumann <sven@gimp.org>
* app/paint/paint-enums.h
* libgimpbase/gimpbaseenums.h: moved enums to libgimpbase (from
app/paint and libgimp). The remaining enums in
app/paint/paint-enums.h need special treatment.
* app/paint/paint-enums.c:
* libgimp/gimpenums.h
* libgimpbase/gimpbaseenums.c
* tools/pdbgen/enums.pl: regenerated.
* libgimpbase/gimpbase.def
* libgimp/gimp.def: updated.
2005-01-23 Sven Neumann <sven@gimp.org>
* app/plug-in/Makefile.am
* app/plug-in/plug-in-enums.h: new file with enums moved from ...
* app/plug-in/plug-in-types.h: ... here.
* tools/pdbgen/Makefile.am (enum_headers): changed accordingly.
2005-01-23 Sven Neumann <sven@gimp.org>
* app/core/core-enums.h
* libgimpbase/gimpbaseenums.h: moved enums to libgimpbase (from
app/core and libgimp). The remaining enums in app/core/core-enums.h
need special treatment.
* app/core/core-enums.c:
* libgimp/gimpenums.h
* libgimpbase/gimpbaseenums.c
* tools/pdbgen/enums.pl: regenerated.
* libgimpbase/gimpbase.def
* libgimp/gimp.def: updated.
2005-01-23 Sven Neumann <sven@gimp.org>
* app/base/base-enums.h
* libgimpbase/gimpbaseenums.h: moved GimpInterpolationType and
GimpTransferMode to libgimpbase (from core and libgimp). The
remaining enums in app/base/base-enums.h need special treatment.
* app/base/base-enums.c
* libgimp/gimpenums.h
* libgimpbase/gimpbaseenums.[ch]
* tools/pdbgen/enums.pl: regenerated.
* libgimpbase/gimpbase.def
* libgimp/gimp.def: updated.
2005-01-22 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-enums.h
* plug-ins/script-fu/script-fu-interface.c
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/script-fu-types.h
* plug-ins/script-fu/siod-wrapper.c: added new script-fu
parameter SF-ENUM that allows to easily create a combo-box to
choose values from registered enums. For this to work correctly,
another change is needed that I will commit separately.
* plug-ins/script-fu/scripts/perspective-shadow.scm
* plug-ins/script-fu/scripts/test-sphere.scm: use the new SF-ENUM
parameter.
2005-01-22 Sven Neumann <sven@gimp.org>
* app/widgets/gimppropwidgets.[ch]: added gimp_prop_expander_new().
* app/paint/gimppaintoptions.[ch]: added a property to track the
state of the "Pressure sensitivity" expander.
* app/tools/gimppaintoptions-gui.c: use gimp_prop_expander_new()
to create the "Pressure sensitivity" expander.
2005-01-22 Maurits Rijk <m.rijk@chello.nl>
* plug-ins/imagemap/imap_file.c
* plug-ins/imagemap/imap_main.c
* plug-ins/imagemap/imap_menu.c
* plug-ins/imagemap/imap_menu_funcs.[ch]
* plug-ins/imagemap/imap_misc.[ch]
* plug-ins/imagemap/imap_object.[ch]
* plug-ins/imagemap/imap_selection.c: cleaning up code, mostly
replacing homebrewn stuff that is now in either GTK or one of the
GIMP libs. More to come.
2005-01-22 Sven Neumann <sven@gimp.org>
* plug-ins/jpeg/jpeg-save.c (save_dialog): update the preview (and
thus the filesize) if the EXIF or thumbnail toggles are being used.
Fixes bug #164914.
2005-01-22 Sven Neumann <sven@gimp.org>
* plug-ins/imagemap/imap_file.c (do_file_save_as_dialog): use
GTK_STOCK_SAVE for the save dialog (bug #164864).
2005-01-22 Sven Neumann <sven@gimp.org>
* libgimpbase/gimputils.c (gimp_enum_value_get_desc): no point in
crashing if gimp_enum_get_desc() returns NULL.
* modules/cdisplay_colorblind.c
* modules/cdisplay_proof.c: register enum descriptions, use
GimpEnumComboBox.
2005-01-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpwidgets-utils.[ch] (gimp_action_get_accel_closure):
new function as workaround for missing GTK+ API (see bug #141750).
* app/widgets/gimpactionview.[ch]: use the function instead of
having this ugly hack here. Store the accel_closure instead of the
hackish menu_item in the tree store. Removed cruft and cleaned up
a bit.
2005-01-21 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-transform.c: applied a patch from Geert
Jordaens that seems to fix drawable transformation using the new
Lanczos interpolation routine :)
2005-01-20 Sven Neumann <sven@gimp.org>
* HACKING
* Makefile.am
* acinclude.m4
* autogen.sh: applied (modified) patch from Raphaël Quinet that
allows to build GIMP from CVS without having gtk-doc installed.
If you need to do this, pass --disable-gtk-doc to autogen.sh.
* configure.in: removed --disable-devel-docs option since it has
become obsolete now.
* devel-docs/Makefile.am: require gtk-doc when running 'make dist'.
2005-01-20 Sven Neumann <sven@gimp.org>
* app/paint-funcs/scale-funcs.[ch]: applied patch from Geert
Jordaens that improves results of the Lanczos interpolation
routine.
2005-01-20 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcomponenteditor.c
(gimp_component_editor_button_press): call gimp_image_flush() after
setting the active component since this might unselect the active
channel. Fixes bug #164195.
2005-01-19 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-transform.c: applied a patch from Geert
Jordaens that fixes the crash in the drawable transformations
using the Lanczos interpolation type. The result is somewhat wrong
though :(
2005-01-18 Manish Singh <yosh@gimp.org>
* plug-ins/jpeg/jpeg-save.[ch]: Adapted the code from the stable
branch (based on a patch from Nils Philippsen) that makes sure that
the EXIF thumbnail doesn't cause the EXIF data block to grow beyond
its maximum size. Fixes bug #164087.
2005-01-19 Sven Neumann <sven@gimp.org>
* app/display/gimpscalecombobox.c (gimp_scale_combo_box_set_scale):
don't use == to compare floating point values.
2005-01-18 Michael Natterer <mitch@gimp.org>
* app/core/gimpparasitelist.c (parasite_serialize): use
gimp_config_writer_data() to write the parasite data because
it's binary and can contain '\0'.
(gimp_parasite_list_deserialize): use gimp_scanner_parse_data() to
read it. Still accepts the old file format for backward
compatibility. Fixes bug #163131.
* gimp/plug-ins/jpeg/gimpexif.c
* gimp/plug-ins/jpeg/gimpexif.h: new files with prototype
interface code for metadata system.
* gimp/plug-ins/jpeg/Makefile.am
* gimp/plug-ins/jpeg/jpeg-exif.c
* gimp/plug-ins/jpeg/jpeg.c: adapted to metadata interface
as described on gimp-dev mailing list.
* libgimpwidgets/gimpwidgets.c (gimp_coordinates_callback):
Make sure last_x and last_y are set to values that match
those returned by gimp_size_entry_get_refval(),
fixes bug #163951.
2005-01-18 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdockable.[ch]: added new function
gimp_dockable_blink() which lets the dockable's title_area blink.
* app/widgets/gimpdialogfactory.c
(gimp_dialog_factory_dialog_new_internal): let wilber blink at the
user :) Fixes bug #164156.
2005-01-17 Michael Natterer <mitch@gimp.org>
Allow to drop stuff onto empty layers, channels and paths dialogs
to create new items:
* app/widgets/gimpcontainertreeview.h (struct GimpContainerTreeView):
added "gboolean dnd_drop_to_empty".
* app/widgets/gimpcontainertreeview-dnd.c: if "dnd_drop_to_empty"
is TRUE, dispatch drops to empty views and to the empty area below
all items.
* app/widgets/gimpitemtreeview.c (gimp_item_tree_view_init): set
"dnd_drop_to_empty" to TRUE.
* app/widgets/gimpitemtreeview.c
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimpvectorstreeview.c: made all drop functions work
with "dest_viewable" being NULL and changed drop_possible()
implementations accordingly. Cleaned up the whole DND code a bit.
* app/widgets/gimplayertreeview.c: removed color and pattern
drop code...
* app/widgets/gimpdrawabletreeview.c: and added it here so colors
and patterns can be dropped to the channels dialog too.
2005-01-16 Sven Neumann <sven@gimp.org>
* app/tools/gimppaintoptions-gui.c (pressure_options_gui): added a
toggle to control whether pressure affects opacity of the Airbrush
tool (bug #164237).
2005-01-16 Sven Neumann <sven@gimp.org>
* app/config/gimpdisplayconfig.[ch]
* app/dialogs/preferences-dialog.c: also list the default image
title and statusbar formats.
2005-01-16 Sven Neumann <sven@gimp.org>
* app/dialogs/preferences-dialog.c: renamed default image title
and statusbar format as suggested in bug #150679.
2005-01-16 Sven Neumann <sven@gimp.org>
* plug-ins/common/curve_bend.c: applied patch from Jan Heller that
fixes broken expose event handling (bug #164207).
2005-01-15 Michael Natterer <mitch@gimp.org>
* app/core/gimpchannel.c: implement GimpItem::convert(). Handles
any drawable, including conversion to GRAY, flattening and
resizing.
* app/widgets/gimpchanneltreeview.c: implement dropping of all
kinds of drawables as new channels. Fixes bug #158133.
Simplified component dropping by removing stuff which is done by
gimp_item_convert() now.
2005-01-15 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-transform.c
* app/paint-funcs/scale-funcs.c: minor cleanups to the new Lanczos
interpolation routines. Drawable transformations do still crash :(
2005-01-15 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-dnd.[ch]: added new function
gimp_display_shell_dnd_init() which connects all DND callbacks.
Made all DND callbacks static.
* app/display/gimpdisplayshell.c (gimp_display_shell_init): call
above function instead of connecting all DND callbacks here. Removed
lots of now unused #includes.
2005-01-15 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.c
* app/core/gimpdrawable.c
* app/vectors/gimpvectors.c: made GimpItem::scale() and ::resize()
work on unattached items.
* app/widgets/gimplayertreeview.c
(gimp_layer_tree_view_drop_component): fix drop index.
* app/widgets/gimpchanneltreeview.c: implement dropping of
components as new channels. Fixes bug #158483.
2005-01-15 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainertreeview.[ch]: added virtual function
GimpContainerTreeView::drop_component(). Added EEKy "dnd_gimp"
needed for gimp_selection_data_get_component().
* app/widgets/gimpitemtreeview.c (gimp_item_tree_view_set_context):
set the "dnd_gimp" pointer if it is NULL.
* app/widgets/gimpcontainertreeview-dnd.c: handle component drops
and dispatch ::drop_component() accordingly.
* app/widgets/gimplayertreeview.c: implement dropping of
components as new layers. Addresses bugs #158483 and #158133.
2005-01-15 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c
* app/display/gimpdisplayshell-dnd.[ch]
* app/widgets/gimptoolbox-dnd.c: enabled dropping of components
to the display and the toolbox. Addresses bug #158483.
2005-01-15 Michael Natterer <mitch@gimp.org>
* app/core/gimpchannel.c (gimp_channel_new*): don't require a
non-NULL color parameter (just leave the default color untouched
if NULL is passed).
* app/actions/channels-commands.c
* app/core/gimpchannel-select.c: pass NULL as color for temporary
channels or channels where we used to pass black.
2005-01-15 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdnd.c: added gimp_dnd_get_component_icon().
* app/widgets/gimpcomponenteditor.c: allow to drag
components. They can't be dropped anywhere yet.
2005-01-15 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpitemtreeview.c
(gimp_item_tree_view_drop_viewable): handle drops of items of all
types from all images and convert them if needed.
* app/widgets/gimplayertreeview.c: enable dropping of all kinds of
drawables. Addresses bug #158133.
2005-01-15 Michael Natterer <mitch@gimp.org>
* app/widgets/widgets-enums.h (enum GimpDndType): reordered so
COMPONENT is after IMAGE.
* app/widgets/gimpdnd.[ch]
* app/widgets/gimpselectiondata.[ch]: added API for passing
components around via DND. Speaks in terms of a
(GimpImage,GimpChannelType) tuple.
2005-01-14 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch] (enum GimpUndoType): added GIMP_UNDO_INK.
* app/paint/gimppaintcore.[ch]: added virtual function
GimpPaintCore::push_undo() and call it.
* app/paint/gimppaintcore-undo.[ch]: made it the default
implementation.
* app/paint/gimpink-blob.[ch]: added blob_duplicate().
* app/paint/gimpink.[ch]: added a "start_blob" (just like
GimpPaintCore::start_coords) which gets set whenever we start a
new stroke or line. Removed ink->lastx and ink->lasty because
they are the same as paint_core->last_coords.
* app/paint/Makefile.am
* app/paint/gimpink-undo.[ch]: new files implementing an
undo step for ink which restores the last blob used along
with the whole ink state. Fixes bug #163670.
2005-01-13 Michael Natterer <mitch@gimp.org>
Allow to easily open brushes and patterns as images.
Fixes bug #163059.
* app/actions/brushes-actions.c
* app/actions/patterns-actions.c: added "brushes-open-as-image"
and "patterns-open-as-image" actions.
* app/actions/data-commands.[ch]: added
data_open_as_image_cmd_callback() which tries to load
data->filename as image.
* app/widgets/gimphelp-ids.h: added help IDs for the new actions.
* app/widgets/gimpdatafactoryview.c: added buttons.
* menus/brushes-menu.xml
* menus/patterns-menu.xml: added them to the menus.
2005-01-13 Michael Natterer <mitch@gimp.org>
Splitting GimpItem::convert() into two virtual functions was
apparently buggy over-engineering. Reverted that stuff and
implement item conversion much simpler:
* app/core/gimpitem.[ch]: have a single virtual function,
GimpItem::convert(), which takes a newly duplicated item and the
destination image.
(gimp_item_convert): simply call GimpItem::convert() on the result
of gimp_item_duplicate().
(gimp_item_real_convert): set the item's new image.
* app/core/gimplayer.c (gimp_layer_convert)
* app/vectors/gimpvectors.c (gimp_vectors_convert): changed
accordingly and chain up after, not before doing our own stuff
so the old image is still available as item->image for stuff
like colormap conversion. Fixes bug #163879.
2005-01-13 Michael Natterer <mitch@gimp.org>
Made the file open and save dialogs use the last used folder
instead of defaulting to current directory. Fixes bug #162385.
* app/widgets/gimpfiledialog.[ch] (gimp_file_dialog_set_uri):
removed this function because it had no functionality except
creating usability problems.
* app/actions/file-commands.c: use gtk_file_chooser_set_uri()
instead but *only* if we already have an uri from an alread open
image or the document hinstory.
* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_image): set
the file chooser's uri only if we have an uri from the image
itself. Leave the current folder untouched otherwise and just set
the current name (e.g. "Untitled").
* app/dialogs/file-save-dialog.c (file_save_dialog_save_image): on
successful save, remember the used uri by attaching it to the
"gimp" instance.
(file_save_dialog_new): set the last saved uri's folder on the
newly created file save dialog.
2005-01-13 Sven Neumann <sven@gimp.org>
* app/units.c
* app/core/gimp-units.c
* app/core/gimp.c
* app/core/gimpunit.[ch]: added a utility function that frees the
memory allocated for user units. Minor cleanups.
2005-01-11 Sven Neumann <neumann@jpk.com>
* app/base/base-enums.[ch]
* app/core/gimpdrawable-transform.c
* app/core/gimpdrawable.c
* app/paint-funcs/Makefile.am
* app/paint-funcs/paint-funcs.[ch]
* app/paint-funcs/scale-funcs.[ch]: applied patch by Geert Jordaens
(after a good deal of reformatting for coding style compliance).
This factors the scale routines into their own file and adds a
sinc-based (Lanczos) interpolation routine (bug #162250).
2005-01-10 Manish Singh <yosh@gimp.org>
* modules/controller_midi.c: #include <time.h> to make sure all
the types are there for the alsa headers. Should address bug
#163593.