2005-09-09 Michael Natterer <mitch@gimp.org>
Added parent window API to the GimpProgress interface and to
the libgimp progress stuff. Might look strange, but does
the right thing in almost all cases (image window, file dialog,
script-fu dialog etc). Fixes bug #62988.
* app/core/gimpprogress.[ch]: added GimpProgress::get_window()
which should return a toplevel window ID if the progress is in a
window that wants to be the transient parent of plug-in dialogs.
* app/widgets/gimpwidgets-utils.[ch] (gimp_window_get_native): new
function which returns the window handle of a GtkWindow's GdkWindow.
* app/widgets/gimpfiledialog.c: implement ::get_window().
* app/display/gimpdisplay.[ch]: ditto. Removed window handle API.
* app/gui/gui-vtable.c: changed accordingly.
* libgimpbase/gimpbaseenums.[ch] (enum GimpProgressCommand):
added GIMP_PROGRESS_COMMAND_GET_WINDOW.
* app/plug-in/plug-in-progress.[ch] (plug_in_progress_get_window):
new function. Also renamed some functions to match the
GimpProgress interface, and not the legacy PDB procedure names.
* tools/pdbgen/pdb/progress.pdb
* app/core/gimppdbprogress.c: implement get_window() on both
sides of the wire, keeping backward compatibility (hopefully).
* libgimp/gimpprogress.[ch]: deprecated gimp_progress_install()
and added gimp_progress_install_vtable() which takes a vtable with
padding to be extensible. Added get_window() vtable entry and
dispatch it accordingly. Also added pulse() which was implemented
in a hackish way before. Everything is of course backward
compatible.
* libgimp/gimpprogressbar.c: inmplement the get_window() stuff
so a plug-in dialog containing a progress can be the transient
parent of another dialog in another plug-in.
* libgimp/gimpui.[ch] (gimp_ui_get_progress_window): new function
which returns a foreign GdkWindow of this plug-ins progress
window.
Renamed gimp_window_set_transient_for_default_display() to
gimp_window_set_transient() and make it use the progress' window
handle instead of the display's (which is the right thing to do in
almost all cases).
* libgimp/gimp.def
* libgimp/gimpui.def: add the new functions.
* tools/pdbgen/enums.pl
* app/pdb/internal_procs.c
* app/pdb/progress_cmds.c
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* libgimp/gimpexport.c
* plug-ins/*/*.c: follow API change.
2005-09-05 Sven Neumann <sven@gimp.org>
* plug-ins: Call gimp_window_set_transient_for_default_display()
for most plug-in dialogs. Not yet done are load and save dialogs
and dialogs created from language bindings.
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...
* plug-ins/common/cartoon.c
* plug-ins/common/cubism.c
* plug-ins/common/displace.c
* plug-ins/common/dog.c
* plug-ins/common/emboss.c
* plug-ins/common/engrave.c
* plug-ins/common/gauss.c
* plug-ins/common/glasstile.c
* plug-ins/common/neon.c
* plug-ins/common/noisify.c
* plug-ins/common/oilify.c
* plug-ins/common/photocopy.c
* plug-ins/common/ripple.c
* plug-ins/common/sharpen.c
* plug-ins/common/shift.c
* plug-ins/common/sobel.c
* plug-ins/common/softglow.c
* plug-ins/common/spread.c
* plug-ins/common/tileit.c
* plug-ins/common/whirlpinch.c: make sure tile cache is allocated
before preview is shown -- significant speedup in some cases,
minimal in others.
* plug-ins/common/sel_gauss.c: give it a tile cache (didn't
have one). Still very slow but a little better.
2004-11-25 Manish Singh <yosh@gimp.org>
* plug-ins/common/dog.c: Add the temporary layers to the image, so
things work. Fixes bug #158895.
* plug-ins/common/iwarp.c: Fix same naughtiness as above. There's
other naughtiness still though.
* plug-ins/common/sunras.c: use gboolean for byte2bit invert argument.
2004-10-12 Michael Natterer <mitch@gimp.org>
* plug-ins/*/*.c: all plug-ins except script-fu: removed the
translation marks from the menu paths passed to
gimp_plugin_menu_register(). All default menu branches used by
included plug-ins are created and translated by the core now.
* libgimpwidgets/gimppreview.c
* libgimpwidgets/gimppreview.h: split this widget into itself (more
abstract now) and ...
* libgimpwidgets/gimpscrolledpreview.c
* libgimpwidgets/gimpscrolledpreview.h: this widget which also have
some scrollbars and a nagivation preview.
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgetstypes.h: changed accordingly.
* libgimp/gimpaspectpreview.c
* libgimp/gimpaspectpreview.h: Added this widget, derived from
GimpPreview, which has always the same ratio has the given drawable.
This widget has almost the same api as GimpDrawablePreview, and is
useful for plug-ins that show the whole (scaled) drawable in their
preview.
* libgimp/gimpdrawablepreview.c
* libgimp/gimpdrawablepreview.h: GimpDrawablePreview is now derived
from GimpScrolledPreview.
* libgimp/Makefile.am
* libgimp/gimpui.h
* libgimp/gimpuitypes.h: changed accordingly.
* plug-ins/common/plasma.c: use a GimpAspectPreview.
* plug-ins/common/bumpmap.c
* plug-ins/common/cartoon.c
* plug-ins/common/deinterlace.c
* plug-ins/common/despeckle.c
* plug-ins/common/dog.c
* plug-ins/common/edge.c
* plug-ins/common/engrave.c
* plug-ins/common/exchange.c
* plug-ins/common/gauss.c
* plug-ins/common/grid.c
* plug-ins/common/mblur.c
* plug-ins/common/neon.c
* plug-ins/common/noisify.c
* plug-ins/common/oilify.c
* plug-ins/common/photocopy.c
* plug-ins/common/sel_gauss.c
* plug-ins/common/sharpen.c
* plug-ins/common/shift.c
* plug-ins/common/sobel.c
* plug-ins/common/softglow.c
* plug-ins/common/spread.c
* plug-ins/common/struc.c
* plug-ins/common/unsharp.c
* plug-ins/common/wind.c: use gimp_scrolled_preview_get_position
instead of gimp_preview_get_position.
* plug-ins/common/dog.c: made the preview behave like in all other plug-ins
by using a GimpDrawablePreview. This allowed to remove a bunch of
complicated code.
2004-07-05 Sven Neumann <sven@gimp.org>
* app/plug-in/plug-in-rc.c (plug_in_icon_deserialize): fixed a
compiler warning.
* plug-ins/common/dog.c: removed some redundant casts and other
trivial cleanups.
* plug-ins/common/dog.c: improved defaults. use gimp_invert()
instead of rolling own. Use nasty hack to get previews to
work with grayscale images. Accept grayscale images.
2004-06-28 Sven Neumann <sven@gimp.org>
* plug-ins/common/dog.c: applied HIG rules to the GUI and slightly
rearranged it to get a more compact layout. Applied GIMP coding style.
2004-06-28 Sven Neumann <sven@gimp.org>
* plug-ins/common/dog.c (dog): ifdef'ed out calls to
_gimp_tile_cache_flush_drawable() since it can't be used from a
plug-in. Removed trailing whitespace and redundant includes.
* libgimp/gimp.def: removed _gimp_tile_cache_flush_drawable again.