Tue Jul 6 22:16:07 BST 1999 Andy Thomas <alt@gimp.org>
* ./app/layer.c.orig
* ./app/lc_dialog.c.orig
* ./app/paths_dialog.c.orig
* ./app/pathsP.h.orig
* ./libgimp/gimpmenu.c.orig
* ./tools/pdbgen/pdb/paths.pdb.orig
* ./app/paths_cmds.c
* ./app/internal_procs.c
Fixed small LCP menu preview problems. Now works for all
image types and updated correctly when alpha channel added.
Additional PDB functions for paths. Fixed some PDB functions
(gimp_paths_set_points). Now works as advertised.
1999-07-06 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/airbrush.c
* app/blend.c
* app/bucket_fill.c
* app/clone.c
* app/convolve.c
* app/dodgeburn.c
* app/eraser.c
* app/ink.c
* app/paintbrush.c
* app/pencil.c
* app/smudge.c: get opacity/paint mode from the current context
(currently always the user context).
* app/gimage_mask.c: the "stroke" command uses the paintbrush's
settings if the current context is the user context and we are in
per-tool paint options mode.
* app/context_manager.[ch]
* app/paint_options.h
* app/preferences_dialog.c
* app/tool_options.c
* app/tools.c: moved the global/per-tool paint options switching
to the context manager. The tool options themselves only contain
the widgets for them now. This should fix the segfaults happening
in per-tool mode.
Removed the disclaimer from the prefs. dlg. as it seems to work
now. The impl. in the context manager however is still a hack.
* app/brush_select.c
* app/brushes_cmds.c
* tools/pdbgen/pdb/brushes.pdb: same as above.
* app/lc_dialog.c: minimal code reduction. No functionality changed.
Fri Jun 25 22:09:04 BST 1999 Andy Thomas <alt@gimp.org>
* lc_dialog.c
Fixed problem when preview sizes are changed in L&C&P
dialog and then the busy cursors stuff tried to change
the cursor on a dialog that has been removed. (ie
the LCP dialog should be unregistered when it is destroyed)
Small previews in LCP dialog image menu do not get created when no preview preference is set.
Thu Jun 24 22:49:41 BST 1999 Andy Thomas <alt@gimp.org>
* layers_dialog.c
* lc_dialog.c
* lc_dialogP.h
L&C&P previews are now updated on undo and layer movement
operations.
Wed Jun 23 23:52:54 BST 1999 Andy Thomas <alt@gimp.org>
* gimp/app/gimppreviewcache.c
* gimp/app/gimppreviewcache.h
* gimp/app/drawable_cmds.c
* gimp/app/gdisplay.c
* gimp/app/gimpdrawableP.h
* gimp/app/gimage_cmds.c
* gimp/app/Makefile.am
* gimp/app/layers_dialog.c
* gimp/app/channel.c
* gimp/app/lc_dialog.c
* gimp/app/lc_dialog.h
* gimp/app/lc_dialogP.h
* gimp/app/layer.c
* gimp/app/gimpdrawable.c
* gimp/app/internal_procs.c
* gimp/libgimp/gimp.h
* gimp/libgimp/gimpimage.c
* gimp/libgimp/gimpdrawable.c
* gimp/libgimp/gimpmenu.c
* gimp/tools/pdbgen/pdb/drawable.pdb
* gimp/tools/pdbgen/pdb/gimage.pdb
Added thumbnail image preview functions.
Previews are visible on the L&C&P dialogs as well as in the
drawables/channels/ menus generated for plugins
(see the bumpmap & Mapobject plugins).
PDB interface exists to simply extract a thumbnail preview
of a given size. This is much quicker & more efficient
than getting the image data tile-by-tile if you only need a small
image since a "preview cache" has been implemented. This cache also
reduces the number of times the tiles cached is scanned since smaller
previews are always generated from large ones if they exists and
are valid.
Some possible usages (I don't intend to implement these ideas. Just
suggestions). More plugins using the thumbnail preview (ie any that
use multiple images). Indication of "active image" somewhere.....
Actually almost anywhere a drawable/image name appears.
1999-06-21 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/context_manager.c: connect to the user context's
"display_changed" and to the image context's "remove" signal to
avoid dangling references and to set the menu sensitivity on
display change.
* app/disp_callbacks.c
* app/file_new_dialog.c
* app/fileops.c
* app/gdisplay.c
* app/gdisplay_ops.c
* app/gimpcontext.c
* app/interface.[ch]: entirely moved the active display stuff to
the user context:
- The active display is set by any event in the display shell,
by File/New and File/Open.
- gdisplay_delete() resets the active display to NULL if we
deleted the active display.
- Reduced gdisplay_active() to a single statement returning the
context's active display. Should replace it by a macro.
- gdisplay_flush_whenever() sets the menu sensitivity for the
active display.
- Removed global variable popup_shell since it was only set all
the time but never used. I guess it's original job is now done
by the context anyway.
- gdisplay_set_menu_sensitivity() works with gdisp == NULL.
- There are mysterious Gdk-CRITICALs if both <Image> and one of
it's sub-menus are teared-off. Probably a gtk+ bug.
To do all this stuff at a central place, there needs to be a
GimpSet of displays (and ideally, GDisplay should be a GtkObject).
* app/commands.c
* app/lc_dialog.c: fixed segfaults happening with teared-off menus.
1999-06-20 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/commands.c
* app/disp_callbacks.c
* app/gdisplay.c
* app/lc_dialog.c
* app/menus.c: applied a patch from <Simon.Budig@unix-ag.org>
which implements tear-off-menus(!!!). Modified it to use the
GimpContext.
The sensitivity of the menu entries is not updated after
executing a command. This leaves the sensitivity in the state
before the command was executed (which is buggy). Will probably
have to update the sensitivity from gdisplays_flush().
Simon called the patch "temporary" but it looks pretty stable to
me. Please test it :-)
* app/context_manager.[ch]: minor changes.
* app/gimpcontext.[ch]: the user context keeps track of the
current display and image. The image is set automatically from
gimp_context_set_display().
Still have to figure out how this should interact with
gdisplay_active() (the current state is a hack).
Made the context attributes real GtkObject arguments.
Pass the changed attributes to the callbacks which connect to
the <attribute>_changed signals.
* app/gimpset.[ch]
* app/gimpsetF.h
* app/gimpsetP.h: made the gimpset properly derivable by adding
signal slots to the object class structure. Added copyright
headers.
* app/gimpsignal.[ch]: new type gimp_sigtype_double, copyright
header and my usual indentation fanaticism.
1999-06-06 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/Makefile.am
* app/lc_dialog.[ch]
* app/lc_dialogP.h
* app/paths_dialogP.h: new files
* app/channels_dialog.[ch]
* app/layers_dialog.[ch]
* app/layers_dialogP.h
* app/paths_dialog.[ch]
* app/menus.[ch]
* app/file_new_dialog.c: modified
- Moved the toplevel L&C dialog code to lc_dialog.[ch]. Only
these files need knowledge about how to create/update/...
the sub-dialogs, so the corresp. functions are defined in
lc_dialogP.h.
- The popup menus are now created by menus.c. The command
callbacks are defined in [layers|channels|paths]_dialog.h.
- Private functions to be used by "friend files" are defined in
[layers|paths]_dialogP.h.
- Changed the order of the ops_buttons in the paths dialog to
match the order in the layers and channels dialogs.
- The paint mode menu and preview stuff still needs to go out of
layers_dialog.[ch].
- I'm not sure about the keybindings in the layer dialog's "Stack"
submenu because the list widget has it's own idea of PageUp/Down.
- Hopefully fixed the update problem with new images by calling
lc_dialog_flush() after creating a new image.
* app/app_procs.c
* app/bezier_select.c
* app/commands.c
* app/floating_sel.c
* app/gdisplay.c
* app/gimage.c
* app/gimage_mask.c
* app/paint_core.c
* app/preferences_dialog.c
* app/transform_core.c
* app/undo.c: changed #include's according to the new L&C file
structure.