Fri Oct 1 12:46:12 1999 Austin Donnelly <austin@gimp.org>
* gimprc.in: comment typo fix, plus add %D* to default
image-title-format string, so people get a '*' in the titlebar
if their image is dirty.
* app/fileops.c: initialise filename before using it.
* app/gdisplay.c: empty parameter list () is K&R - should be
stronger (void) in ANSI C.
* app/gimpdrawable.c: gimp_drawable_{dirty,clean} functions
removed - no one uses them anyway. Parasite undo type is
proper parasite undo type, not MISC_UNDO.
* app/gimpdrawableP.h: drawable dirty bit removed.
* app/gimpimage.c: don't change the resolution if there's no
difference from the old one. Call gdisplay_shrink_wrap() to
re-calculate scale factors and refresh the display on
resolution change. Layer undo doesn't have sub-types
anymore, uses main UndoType instead.
* app/layer.h: Remove LayerUndoType
* app/qmask.c: fix qmask undo so it actually works.
* app/undo.h: new types for undo_push_layer{,_mask} and
undo_push_qmask.
* app/undo.c: change way group boundaries are represented:
each Undo has a group_boundary boolean set to TRUE if this is
the start or the end of a group, and the type of the Undo is
the group's type. Within a group, each Undo keeps its own
type. This allows pop funcs and free funcs to do
type-specific things (eg needed by layer and channel stuff).
Don't maintain per-drawable dirty flags anymore. Floating
sel to layer and layer rename now uses meaningful undo types.
* app/undo_types.h: more specific undo types:
LAYER_{ADD,REMOVE}_UNDO, LAYER_MASK_{ADD,REMOVE}_UNDO,
LAYER_RENAME_UNDO, and PARASITE_{ATTACH,DETACH}_UNDO.
* app/undo_history.c: oops - undo stack was being placed into gtk
list in wrong order.
* app/edit_selection.c: push more descriptive LAYER_DISPLACE_UNDO
rather than MISC_UNDO.
* app/layers_dialog.c: better tagging of undo types
Thu Sep 30 23:06:47 BST 1999 Andy Thomas <alt@gimp.org>
* app/paintbrush.c
Fixed problem with stroking with the paintbrush tool.
Stroking paths with fade/gradients now works again.
1999-09-30 Tor Lillqvist <tml@iki.fi>
* plug-ins/common/wmf.c (load_image): Better workaround for GDK
bug (gdk_image_get() sets the bpp field to bits-per-pixel instead
of bytes-per-pixel).
Wed Sep 29 21:56:52 BST 1999 Andy Thomas <alt@gimp.org>
* app/colourmap_dialog.i.c
* app/gdisplay_ops.c
* app/palette.c
1) Index palette dialog now registered so it gets hidden/shown when
the "TAB key" is pressed in the canvas window.
2) When the index palette is modified the changes are now shown
immediately in all views.
3) DND now works in the index palette.
4) OK button when modifying a colour in the index palette
dismisses the dialog correctly.
5) DND in the colour palette viewer does not crash when no colours
are selected.
6) Corrected a problem with "New View". If your canvas is zoomed in
and the image is offset in the display and a new view is requested
the Canvas in the new view is corrupted. This bug is also in
gimp 1.0.x
1999-09-29 Tor Lillqvist <tml@iki.fi>
* plug-ins/common/iwarp.c: Back out my change of 1999-09-14. It
changed the semantics of the code, the deform_area_vectors array,
and the two sequential loops in iwarp_deform() are really needed.
Sorry. Thanks to Garry R. Osgood for analysing this.
* app/main.c: revert that last set_locale change, it was bogus
* app/gdisplay.c: don't update menu sensitivities when flushing
immediately, so that painting isn't slowed by it
-Yosh
1999-09-27 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/gimphelp.[ch]
* app/gimpui.[ch]: new files
* app/interface.[ch]
* app/preferences_dialog.[ch]
The GIMP Help System part 1: Press "F1" in any dialog to pop up
the help page for this dialog.
Moved the widget constructors from preferences_dialog.[ch] and the
query boxes from interface.[ch] to gimpui.[ch].
The dialog constructors take a help_func and a help_data
parameter and install the "F1" accelerator which emits the new
"help" signal.
The "help" signal callback calls help_func(help_data) which finally
has to call gimp_help() which in turn invokes the help browser.
Still have to find a proper way to (1) prevent "F1" being assigned
to some menu item and (2) to catch "F1" while browsing the menu
trees in order to pop up the help for the selected item.
* app/menus.c: a <Toolbox>/File/Help... menu item.
* app/commands.[ch]: a command callback for the "Help..." menu item.
* app/gimprc.[ch]: new boolean gimprc variable "use_help".
* app/info_dialog.[ch]: pass a help function and data to the info
dialog constructor.
* app/tools.[ch]: store the tools help page names in the tool info
structure. Export a special tools_help_func() which shows the help
page for the active tool.
* app/[all files calling a dialog constructor]: pass the dialog's
help page to the constructor.
Most dialogs are now created by gimp_dialog_new() which also sets
up the action_area and the WM delete event callback, so I removed
the resp. code from these files.
Fixed some minor bugs and did some other stuff but didn't change
any logic except dialog creation.
* plug-ins/helpbrowser/helpbrowser.c: don't try to call a running
help browser and don't install any menu path (all done in
app/gimphelp.[ch] now).
Shame on the one who decided it would be good idea to load pixmap brushes
as pipes, it destroys the whole purpose of the GIMP_IS_BRUSH_PIPE macro!!
--Sven & Jtl
* app/main.c: moved the gtk_set_locale call to after it's
been inited
* app/paint_core.h: set skip for ToolFlags
* app/procedural_db.h: don't skip PDB_TEMPORARY in PDBProcType
* libgimp/Makefile.am: don't install stdplugins-intl.h, that's
only for disted plugins
* libgimp/gimpenums.h: is now autogenned
* libgimp/gimpfeatures.h.in: #define for new enums
* libgimp/gimpintl.h: #include <locale.h>
* libgimp/stdplugins-intl.h: add include guards
* plug-ins/AlienMap2/Makefile.am: add INTLLIBS
* plug-ins/gflare/Makefile.am: removed unused libgimpui
* plug-ins/script-fu/script-fu-console.c
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/script-fu-server.c: use stdplugins-intl.h
* plug-ins/sel2path/Makefile.am: removed unused libgck.la
* tools/pdbgen/Makefile.am: removed script-fu.pl, added enumcode.pl
* tools/pdbgen/lib.pl
* tools/pdbgen/enumcode.pl: enumcode.pl now autogenned gimpenums.h
as well as the script-fu stuff
-Yosh
Fri Sep 24 23:54:26 BST 1999 Andy Thomas <alt@gimp.org>
* app/paths_dialog.c
Applied patch from Garry R. Osgood. Fixes bug #2253.
Thansk for the patch!
* app/channel.h
* app/gimpimage.h
* app/gimpimageP.h
* app/layer.h
* app/undo.[ch]
* app/undo_types.h: use proper naming convention for undo enums,
and hide them from the pdbgen stuff
* app/procedural_db.h: don't skip PDB_END
* app/undo_history.c: remove gccism from undo_history_append_special
* libgimp/gimpintl.h: INIT_LOCALE should be defined in all cases
* plug-ins/script-fu/Makefile.am: add script-fu-constants.[ch]
* plug-ins/script-fu/script-fu.c: use init_generated_constants
* plug-ins/script-fu/siod.h: #include <stdio.h> for FILE *
* tools/pdbgen/script-fu.pl: new file
* tools/pdbgen/Makefile.am: add rule for constant script-fu gen
* tools/pdbgen/enumgen.pl: add enum skip feature
* tools/pdbgen/lib.pl: use nicks for gimpenums.h
* tools/pdbgen/pdb/procedural_db.pdb: ignore PDB_END
-Yosh
* data/brushes/Makefile.am (install-data-local): added an
install-data-local target to forcibly remove the round1.vbr from
the installed brushes directory if it's still there for some silly
reason...
--klm
* app/color_cmds.c:
Reverted the patch I applied to fix the SOTA-Chrome bug. Yosh
says he will add a new GUINT8ARRAY type to the PDB to fix this the
right way.
-- Zach
Mon Sep 20 12:51:30 EDT 1999 Austin Donnelly <austin@gimp.org>
Honest, guv, it's not a feature - it's a tightly integrated
package of undo system cleanups and fixes.
NEW FILES:
* app/undo_history.c: window showing recent undo (and redo) steps
available.
* app/undo_types.h: broken out of undo.h to fix circular includes.
MODIFIED FILES:
* app/Makefile.am: compile undo_history.c
* app/channel.h: use enum for channel undo type, not just magic
numbers.
* app/layer.h: same for layer undos.
* app/commands.c: edit_show_undo_history_cmd_callback() function to
pull up undo history window.
* app/commands.h: prototype for above.
* app/gdisplay.c: make undo / redo menu items sensitive according
to whether they would do anything. Would be easy to change
the text to say what would be undone/redone, but I don't know
the GTK.
* app/gimpimage.c: new signal emitted by gimage:
UNDO_EVENT. gimp_image_undo_event() function to emit it.
* app/gimpimage.h: prototype for above.
* app/gimpimageP.h: pushing_undo_group member is now an undo_type,
not an int. Keep undo history widget here too (if created).
* app/menus.c: add "Edit/Undo history..." to image menu.
* app/undo.c: new types: enums undo_type and undo_state rather than
ints and magic numbers. All undo_pop_* and undo_free_*
functions made static. New static function
undo_type_to_name(). Issue undo event signals on various
important events (eg undo pushed, undo popped etc).
undo_push() now takes a "dirties_image" arg to say whether
image should be dirtied. Layer moves now dirty the image. A
couple of g_return_if_fails () on undo_pop and undo_redo to
assert we're not in the middle of an undo group.
undo_get_{undo,redo}_name() to peek at names of top items on
undo and redo stacks resp. undo_map_over_{undo,redo}_stack()
to run a function for each item or group on stack. Layer and
channel undos use symbolic names rather than 0 or 1. Array
mapping undo types to names.
* app/undo.h: split out undo types to undo_types.h. Prototypes
for functions described above. undo_event_t enum.
undo_history_new() prototype lives here too.
Random other fixes:
* app/gimpdrawable.c
* app/image_render.c: default labels in switches to keep egcs happy.
* app/nav_window.c: some fixes to (sort of) cope with image res !=
screen res. Still needs work to handle non-square pixels
properly.
* app/paths_dialog.c: bad idea to call gimp_image_dirty()
directly. Even though it's currently commented out.
1999-09-14 Tor Lillqvist <tml@iki.fi>
* app/brush_select.c: Include config.h, guard inclusion of
<unistd.h>.
* app/gimpcontextpreview.c: Include config.h, <string.h> and
appenv.h.
* app/xinput_airbrush.c: Include config.h, <stdio.h>, appenv.h and
libgimp/gimpmath.h. Use G_PI.
* app/makefile.{cygwin,msc}: Updates.
* plug-ins/makefile.{cygwin,msc}: Add the unofficial sel_gauss
plug-in. Add new object files for FractalExplorer and
gimpressionist.
* plug-ins/common/iwarp.c (iwarp_deform): Combine two loops over
the same xi, yi area into one. Remove the then actually unused
deform_area_vectors array. Only one element of the array was used
for each x,yi loop.
* plug-ins/common/sparkle.c: Don't include <math.h>,
libgimp/gimpmath.h includes it. Use G_PI.
* plug-ins/sel2path/global.h
* plug-ins/sel2path/math.c
* plug-ins/sel2path/vector.c: s/acosd/my_acosd/ since some platforms
seem to have this function in the native libm
* plug-ins/script-fu/scripts/xach-effect.scm: remove stale debugging
line
* app/guides_cmds.c
* app/tools_cmds.c: changes from below
-Yosh
Sat Sep 11 22:45:12 BST 1999 Andy Thomas <alt@gimp.org>
* app/nav_window.c
* app/floating_sel.c
Hopefully fix for nav_popup when using tablets.
Also applied the patch supplied by Garry R. Osgood. Thanks.
Fri Sep 10 18:36:34 EDT 1999 Austin Donnelly <austin@gimp.org>
* plug-ins/common/png.c: cheesy fix for INDEXEDA core dump: popup
a window saying we can't handle it. We should really handle
it though.
1999-09-06 James Henstridge <james@daa.com.au>
* plug-ins/Makefile.am: conditionally compile pygimp.
* configure.in: added in macros for pygimp. You must pass
--enable-python to configure for it to even consider checking for
python at the moment.
* acinclude.m4: added python detection macros.
1999-09-05 James Henstridge <james@daa.com.au>
* plug-ins/pygimp/*: added pygimp to tree, as organised with Marc
Lehmann. I have not hooked it into the main makefile yet. That
should not be difficult though.
Sat Sep 4 23:21:10 BST 1999 Andy Thomas <alt@gimp.org>
* app/gdisplay.c
* app/gdisplay.h
* app/gimprc.h
* app/gimprc.c
* app/nav_window.c
* app/nav_window.h
* app/preferences_dialog.c
The nav preview size can now be configured. The size applies
to both the "popup" and dialog window.
* configure.in: add plug-ins/AlienMap2/Makefile to AC_OUTPUT
* libgimp/gimp.c: setlocale (LC_NUMERIC, "C") in gimp_main
so floats are sane over the wire
* libgimp/stdplugins-intl.h: same for INIT_I18N_UI()
* plug-ins/common/color_enhance.c: no literal newlines in string for
portability
* plug-ins/sel2path/sel2path.c: i18n patch from SHIRASAKI Yasuhiro
-Yosh
Fri Sep 3 22:52:26 BST 1999 Andy Thomas <alt@gimp.org>
* app/curves.c
* app/curves.h
Added indicators (x,y of mouse & x for the line) to the curves
dialog.
* app/gtkvwrapbox.[ch]: new vwrapbox stuff
* app/Makefile.am: added new files
* app/interface.c: place the indicator areas in a vwrapbox. Still
kinda screwy tho.
-Yosh
1999-09-02 Tor Lillqvist <tml@iki.fi>
* plug-ins/script-fu/interp_sliba.c (lreadstring): Accept what
g_strescape throws at us (specifically, octal sequences that start
with any octal digit, and are at most three octal digits long).
* app/makefile.{cygwin,msc}: Update.
* app/gtkhwrapbox.[ch]
* app/gtkwrapbox.[ch]: sync from gle
* app/inteface.c: set allow_shrink on the toolbox window, use
gtk_hwrap_box_new
* app/blend.c: use shift to constrain to 45 deg: XachCode (tm)
-Yosh
* app/app_procs.c: free the brush dialog before freeing the brushes.
* app/blend.c, app/bucket_fill.c: don't include brush_select.h
* app/brush_select.[ch]: add the ability to delete generated brushes.
* app/gimpbrushgenerated.c: save the brush parameters on seperate lines.
* app/gimpbrushlist.c: make sure we don't overwrite other brush
files when saving newly created brushes.
* libgimp/Makefile.am: add gimpmath.h
* app/gtkwrapbox.[ch]
* app/gtkhwrapbox.[ch]: wrapbox widget from gle
* app/Makefile.am: added those files
* app/interface.c: use an hwrapbox for the toolbar. Still not perfect
yet, working on it.
* app/gimpdrawable.c
* app/about_dialog.c
* app/airbrush.c
* app/blend.c: some minor code cleanup
-Yosh
1999-09-02 Tor Lillqvist <tml@iki.fi>
* app/paintbrush.c (paintbrush_non_gui_default,
paintbrush_non_gui): Make also the non-gui paintbrush (called when
stroking a path) handle changing brushes, i.e. pixmap brush pipes.
1999-09-02 Tor Lillqvist <tml@iki.fi>
* libgimp/parasiteio.[ch]: New files. Types and functions related
to "standard" parasite types. Used for the
gimp-brush-pipe-parameters parasite that the gpb and psp plug-ins
handle, and the value of which is stored in gih files, from
which gimpbrushpipe.c parses it.
* libgimp/{Makefile.am,makefile.{cygwin,msc}}: Add new files.
* libgimp/gimp.def: Add its entry points.
* libgimp/gimp.h: Fix cosmetic argument name error.
* app/gimpbrushpipe.c: Remove code that previously
was copied here, use functions from parasiteio.c.
* plug-ins/common/gpb.c: Ditto. Add brush cell width and height
fields to the gih save dialog. Add cleverness to update rows and
columns as cell size is changes. (Still too easy for the user to
get confused, though.) Display corresponding guide grid on the
image. Unfortunately updating the guidelines doesn't seem to work.
* plug-ins/common/psp.c: Use functions from parasiteio.c.