2001-01-14 Michael Natterer <mitch@gimp.org>
* app/docindex.c
* app/fileops.c
* app/gdisplay.c
* app/gimpimage.[ch]:
Removed the "has_filename" boolean from GimpImage:
- to get the filename, ask for GimpObjects's name.
- gimp_image_filename() returns the *display* filename (and will be
renamed to gimp_image_display_name() soon), i.e. returns
"Unnamed" if object->name == NULL.
- no need any more to check if the filename is the "" string because
GimpImage overrides GimpObject's "name_changed" method and
sets the name to NULL if it was "".
2001-01-07 Michael Natterer <mitch@gimp.org>
* app/by_color_select.c
* app/channels_dialog.c
* app/color_area.c
* app/color_notebook.[ch]
* app/color_panel.[ch]
* app/color_picker.c
* app/color_select.c
* app/colormap_dialog.i.c
* app/devices.c
* app/disp_callbacks.[ch]
* app/gimpdnd.[ch]
* app/palette.c
* app/qmask.c
* libgimp/gimpcolorselector.h
* modules/colorsel_gtk.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: made the color_notebook, the color_area
and DND speak in terms of RGBA instead of GRB. The alpha value is
not used yet, only the API changed. Everything should work exactly
as before.
2001-01-02 Michael Natterer <mitch@gimp.org>
* app/commands.[ch]
* app/fileops.[ch]
* app/gdisplay.c
* app/menus.c: Implemented "Save a Copy as..." which saves the image
without changing it's filename.
* app/layers_dialogP.h: export layers_dialog_layer_merge_query()
here instead of defining it in commands.c
* TODO.xml: mark this entry as done :)
2000-12-29 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/channel_pvt.h
* app/drawable_pvt.h
* app/gdisplayF.h
* app/gimpdrawableP.h
* app/gimpimageP.h
* app/layer_pvt.h
* app/toolsF.h: removed these files.
* app/apptypes.h
* tools/pdbgen/enums.pl: added tons of opaque typedefs and enums.
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/color.pdb
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/display.pdb
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/fileops.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/help.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/pattern_select.pdb
* tools/pdbgen/pdb/patterns.pdb
* tools/pdbgen/pdb/selection.pdb
* tools/pdbgen/pdb/tools.pdb
* app/*: chainsaw #include cleanup:
- Never (never!!) include stuff in header files except where we
need access to structures' contents (like derived objects).
- Added prototypes and proper formating in many files.
- The #include order in *all* *.c files is as follows:
#include "config.h"
#include <system stuff>
#include <gtk/gtk.h>
#include "apptypes.h"
#include "gimp stuff"
#include "libgimp stuff"
#include "libgimp/gimpintl.h"
By following this scheme we can easily see a file's dependencies
from it's #include's and can grep for the inclusion to find out
where a file is used.
* tools/pdbgen/app.pl: changed to follow the include scheme above.
* libgimp/Makefile.am
* libgimp/gimpuitypes.h: new file, included from libgimp/gimpui.h
and from app/apptypes.h.
* libgimp/gimpcolorbutton.[ch]
* libgimp/gimpdialog.[ch]
* libgimp/gimphelpui.[ch]
* libgimp/gimpparasite.[ch]
* libgimp/gimppatheditor.[ch]
* libgimp/gimpprotocol.c
* libgimp/gimpquerybox.[ch]
* libgimp/gimpsizeentry.[ch]
* libgimp/gimptypes.h
* libgimp/gimpui.h
* libgimp/gimpunit.h
* libgimp/gimpunitmenu.[ch]
* libgimp/gimpwidgets.[ch]: changed accordingly.
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/gdyntext/message_window.c
* plug-ins/imagemap/imap_default_dialog.c
* plug-ins/imagemap/imap_file.c: these files used to include
"libgimp/gimpui.h" without including "libgimp/gimp.h". This is
no longer possible because the libgimpui headers don't inlcude
"libgimp/gimpunit.h" any more.
2000-12-28 Sven Neumann <sven@gimp.org>
* app/commands.c
* app/layer_select.[ch]: small new feature: display a layer preview
popup when switching the active layer using PageUp/PageDown. Could
need a little tweaking...
2000-12-28 Michael Natterer <mitch@gimp.org>
* app/channel.[ch]
* app/drawable.h
* app/gimpdrawable.[ch]
* app/gimpdrawableP.h
* app/gimpimage.[ch]
* app/gimpimageP.h
* app/layer.[ch]
* app/layer_pvt.h: started a major cleanup of all image/drawable
files. Added tons of "const GimpImage *" declarations and properly
formated the headers.
* app/bezier_select.c
* app/channels_dialog.c
* app/crop.c
* app/fileops.[ch]
* app/fuzzy_select.c
* app/gdisplay.c
* app/layers_dialog.c
* app/move.c
* app/paint_funcs.[ch]
* app/qmask.c
* app/undo.c: changed accordingly plus the usual portion of coding
style paranoia. This is not finished but Sven promised to buy me
a beer if I commit now ;)
2000-12-15 Sven Neumann <sven@gimp.org>
* app/gimppreviewcache.[ch]: added new function gimp_preview_scale().
* app/channel.c
* app/channels_dialog.c
* app/gimpimage.c
* app/layer.c
* app/layers_dialog.c
* app/lc_dialog.c
* app/nav_window.c: unified preview drawing code. Previews are never
generated larger than the canvas size. Image and channel previews are
scaled up to the desired size, so does the navigation window. The
layer previews are not yet scaled up again since we can not use
gimp_preview_scale here. I have removed the preview_cache priming
code since we don't need it any longer and it caused bad results.
2000-12-15 Michael Natterer <mitch@gimp.org>
* configure.in
* help/*: Updated Gimp-Help. See help/ChangeLog for details.
* app/channels_dialog.c
* app/gdisplay.c
* app/gradient.c
* app/layers_dialog.c
* app/menus.c
* app/paths_dialog.c
* app/preferences_dialog.c
* app/resize.c: fixed menu paths.
* plug-ins/helpbrowser/helpbrowser.c: load a special
"undocumented_filter.html" page if a filter was not found.
Adapted to the new help structure.
2000-12-15 Michael Natterer <mitch@gimp.org>
* makedummyhelpfile.sh
* makeindex.sh: removed.
* images/*: added some images.
* help/*: Updated to the latest version of the gimp-help CVS module.
This Version instoduces a bunch of new toplevel HTML files for
general topics, an autogenerated index, TOC, glossary,
an "image" directory on the "C" level, peace, love, and stuff...
Thanks to all help writers: Prof, Bex, Piers, ...
2000-12-14 Sven Neumann <sven@gimp.org>
* app/layers_dialog.c
* app/lc_dialog.c
* app/nav_window.c: another try on bug #31098. This time limited the
preview scale ratio in the calling functions. Please test!
* app/gimpimage.c: small cleanup
2000-12-14 Sven Neumann <sven@gimp.org>
* app/gimpimage.c
* app/layer.c
* app/layers_dialog.c
* app/nav_window.c: cleaned up these files while trying to find a
fix for #31098. No real changes, the bug is still present :-(
2000-12-11 Sven Neumann <sven@gimp.org>
* app/edit_selection.c
* app/gimpimage.c
* app/layer_select.c
* app/layers_dialog.c: when computing a preview, limit the scale ratio
to a maximum of 1.0. By doing so we avoid to scale drawables up if the
image (canvas) size becomes larger than the drawable. Fixes bug #31098.
* app/gimppreviewcache.[ch]: indented
2000-11-26 Sven Neumann <sven@gimp.org>
* PLUG_IN_MAINTAINERS
* plug-ins/common/unsharp.c: changed email address of Winston Chang
* app/gdisplay_color_ui.c: applied a modified version of another
patch sent by David Odin <David.Odin@bigfoot.com> which sets the
sensitivity of the buttons in the dialog according to the possible
actions.
2000-11-21 Sven Neumann <sven@gimp.org>
* app/gdisplay_color.c
* app/gdisplay_color_ui.c: applied patches proposed by
David Odin <David.Odin@bigfoot.com>. Fixes segfault when removing
a display filter twice.
2000-11-11 Simon Budig <simon@gimp.org>
* app/interface.c: fixed#10554 by requesting a window
with the max. size of 0.75*screen_width x 0.75*screen_height.
These 75% value is taken from the shrink_wrap code and
probably should be configurable...
* app/image_render.c:
* app/tile.h: Removed the JIT calculation of the tile_shift
value and replaced it by a constant called TILE_SHIFT in tile.h.
This gives the compiler a better chance to optimize the code.
Also added a few consts all over the place to give the compiler
some hints.
2000-09-14 Michael Natterer <mitch@gimp.org>
* app/disp_callbacks.c: new function gdisplay_origin_menu_position()
which positions the menu right of the arrow instead of underneath
the mouse (where you always have the first entry selected, which
is annoying).
2000-08-16 Garry R. Osgood <gosgood@idt.net>
* app/gdisplay.c
* app/image_map.c
Addresses Bug Report #14704, and an
undisclosed undo system bug. Freezes
undo stack before interactive tools
commence idle rendering; thaws stack
on cleanup and immediately sets menu
sensitivity.
Not an image lock, but Yet Another UI
Lock. Oh well; merrilly we patch along...
See http://bugs.gnome.org/db/14/14704.html
for gory details. Closes#14704.
2000-06-14 Michael Natterer <mitch@gimp.org>
* Makefile.am
* app/cursorutil.[ch]
* app/tools.c
* cursors/*: added lots of new cursors and removed old ones.
* app/gdisplay.[ch]: enabled the cursor setting parameters in
gdisplay_install_tool_cursor().
* app/bezier_select.c
* app/blend.c
* app/bucket_fill.c
* app/by_color_select.c
* app/clone.c
* app/color_picker.c
* app/crop.c
* app/disp_callbacks.c
* app/edit_selection.c
* app/eraser.c
* app/flip_tool.c
* app/ink.c
* app/iscissors.c
* app/magnify.c
* app/measure.c
* app/move.c
* app/paint_core.c
* app/rect_select.c
* app/text_tool.c
* app/transform_core.c: use the new cursors. Only the transform
tools are still using old cursors.
* app/layers_dialog.c: a tooltip for "Keep Trans."
* app/user_install.c: set the ctree's selection mode to BROWSE.
2000-06-09 Michael Natterer <mitch@gimp.org>
Cursor patch II:
This is only the logic inside the cursor system and not yet used.
* app/cursorutil.[ch]: [gimp]_change_win_cursor() take lots of
parameters now and compose cursors from up to three cursor
bitmaps/masks.
* app/gdisplay.[ch]: As a test, create a hardcoded example cursor
if "Cursor Mode" is set to "Tool Icon with Crosshair" in prefs.
* app/curves.c
* app/dialog_handler.c
* app/scroll.c: changed the calls to the win_cursor function.
* app/tools.[ch]: added a cursor and a toggle cursor to the ToolInfo
structure of all tools.
* app/toolsF.h: new ToolType TOOL_TYPE_NONE.
* app/gimpdnd.c
* app/interface.c: check for silly filenames in the file dnd
callback. Closes#13733.
* Makefile.am
* cursors/bucket_fill_small.xbm
* cursors/bucket_fill_small_mask.xbm
* cursors/crop_small.xbm
* cursors/crop_small_mask.xbm
* cursors/crosshair_small.xbm
* cursors/crosshair_small_mask.xbm
* cursors/ellipse_select_small.xbm
* cursors/ellipse_select_small_mask.xbm
* cursors/eraser_small.xbm
* cursors/eraser_small_mask.xbm
* cursors/free_select_small.xbm
* cursors/free_select_small_mask.xbm
* cursors/fuzzy_select_small.xbm
* cursors/fuzzy_select_small_mask.xbm
* cursors/intersect.xbm
* cursors/intersect_mask.xbm
* cursors/minus.xbm
* cursors/minus_mask.xbm
* cursors/move.xbm
* cursors/move_mask.xbm
* cursors/paintbrush_small.xbm
* cursors/paintbrush_small_mask.xbm
* cursors/pencil_small.xbm
* cursors/pencil_small_mask.xbm
* cursors/plus.xbm
* cursors/plus_mask.xbm
* cursors/rect_select_small.xbm
* cursors/rect_select_small_mask.xbm
* cursors/resize_small.xbm
* cursors/resize_small_mask.xbm
* cursors/zoom.xbm
* cursors/zoom_mask.xbm
* cursors/zoom_small.xbm
* cursors/zoom_small_mask.xbm: new files extracted from Tigert's
gimp-tool-cursors.xcf created at GimpCon.
Tigert, I'll commit the xcf as soon as I've added empty layers
with the names of the cursors that are missing.
* cursors/mouse.xbm
* cursors/mouse_mask.xbm: made it 32x32 to allow for cursor
composition.
2000-06-08 Sven Neumann <sven@gimp.org>
* app/qmask.c: call undo_push_qmask() before removing the
channel since the callback will set the qmask_state
incorrectly otherwise. Fixes bug #13472.
* app/undo.[ch]: code cleanup
* plug-ins/common/gif.c: put save_comment into the values
that are stored between calls to the GIF plug-in, so it
remembers if the user wants to save the comment. Fixes
bug #12755.
2000-06-06 Michael Natterer <mitch@gimp.org>
* Makefile.am
* cursors/crosshair.xbm
* cursors/crosshair_mask.xbm: new files.
* app/cursorutil.[ch]
* app/gdisplay.[ch]
* app/gimprc.[ch]
* app/preferences_dialog.c: Started to add the new set of
consistent tool cursors. The crosshair one is the easy part
but I wanted to see a result :) The other two options in
the pref's cursor menu are still dummys.
2000-06-04 Sven Neumann <sven@gimp.org>
* app/interface.c: connect to the toolbox's "style_set" signal
and set window manager hints in the callback.
another checkin using Yosh's lovely notebook...
2000-05-08 Michael Natterer <mitch@gimp.org>
* app/errors.c (gimp_fatal_error): oops, forgot a debugging
g_print().
* app/gdisplay.c (gdisplay_set_menu_sensitivity): there _can_ be
an active drawable even if there is no layer. Also reordered
the rest if the checks.
2000-05-08 Michael Natterer <mitch@gimp.org>
* app/fileops.c
* app/gdisplay.c: return silently from save/save_as and grey out
the menu entries if there is no active drawable. Fixes#10239.
2000-05-06 Michael Natterer <mitch@gimp.org>
* app/gimpdnd.[ch]: new public function gimp_dnd_file_dest_set().
Moved the file/url dnd stuff from interface.c to gimpdnd.c.
* app/docindex.c
* app/interface.c: use the function from gimpdnd.
* app/paint_funcs.c: Correctly initialize the max arrays in
thin_region. Fixes bug #8351
* app/scale.c: return from the channel_scale function if we
tried to zoom in/out too far. This prevents some
unnecessary display redraws.
2000-04-26 Michael Natterer <mitch@gimp.org>
* app/color_select.c
* app/colormaps.[ch]
* app/context_manager.c: removed unused global variables
[foreground|background]_pixel and [old|new]_color_pixel.
Initialize the colormap and visual stuff with GdkRGB instead of
GtkPreview functions (which are deprecated).
* app/[62 files]: removed #include's (started with colormaps.h and
couldn't stop). Also ordered them consistently and did some small
unrelated cleanups.
Removed variuos <stdlib.h> et.al. but checked the files carefully
before doing so. If I was too radical and you get warnings on your
platform, please flame me or just put them back :)
2000-04-26 Michael Natterer <mitch@gimp.org>
* app/gdisplay.[ch]
* app/gdisplay_ops.c: made the warning_dialog a per-display
variable. The old behaviour of having only one global variable
can easily result in loss of work and should IMHO be considered
a bug.
2000-04-16 Michael Natterer <mitch@gimp.org>
* app/gdisplay_ops.c (gdisplay_shrink_wrap): block all canvas
events while resizing the display so the standard canvas "expose"
and "configure" handlers are not called.
This optimization is valid because shrink_wrap's caller has to do
a full recalculation and expose of the gdisplay anyway.
For the same reason, I removed the calls to gdisplay_expose_full()
and bounds_checking() from shrink_wrap.
This should also fix the double exposes Austin reported some time
ago. I hope it does not re-break yesterday's fix :)
* app/gdisplay_ops.[ch]: removed unused function
gdisplay_resize_image().
* app/scale.c (resize_display): do a full expose if one of the
"resize_display" or "redisplay" parameters is TRUE.
2000-04-15 Michael Natterer <mitch@gimp.org>
* app/gdisplay_ops.c (gdisplay_shrink_wrap): after resizing the
display, check if the window manager placed it offscreen and
center it in that case.
2000-04-15 Michael Natterer <mitch@gimp.org>
* app/disp_callbacks.c: s/0/FALSE/
* app/gdisplay_ops.c (gdisplay_shrink_wrap): removed all the
gtk_drawing_area_size(), show/hide and gtk_main_iteration() stuff
and don't touch the drawing area at all.
Instead, use brute force on gdisp->shell:
1. gtk_widget_size_allocate(gdisp->shell)
2. gdk_window_resize(gdisp->shell->window)
(tested with Sawmill, Enlightenment and twm)