2001-02-11 Michael Natterer <mitch@gimp.org>
Made a GimpContainer out of the palette list:
* app/Makefile.am
* app/palettes.[ch]: new files for the global palette list.
* app/gimpgradientpreview.[ch]
* app/gimppalettepreview.[ch]: new widgets.
* app/gimppalette.[ch]: derive it from GimpData to get all the
preview etc. stuff.
* app/datafiles.[ch]: new function datafiles_check_extension(),
added a "loader_data" parameter to datafiles_read_directories()
and pass it to the loader function.
* app/gimpcontext.[ch]: added the palette (not really used yet
except by the test dialogs).
* app/gimpdatalist.[ch]: new function gimp_data_list_save_and_clear()
which does everything needed for patterns_free(), brushes_free() ...
* app/gimpdnd.c: added palette DND.
* app/app_procs.c
* app/brushes.c
* app/color_notebook.h
* app/commands.c
* app/convert.c
* app/gimpbrush.h
* app/gimpbrushpipe.h
* app/gimpgradient.c
* app/gimppattern.h
* app/gimppreview.c
* app/gradients.c
* app/module_db.c
* app/palette.[ch]
* app/paletteP.h
* app/palette_import.c
* app/palette_select.[ch]
* app/patterns.c
* app/plug_in.c
* app/pdb/convert_cmds.c
* app/pdb/palette_cmds.c
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/palette.pdb: lotsa stuff: changed due to the above
API changes, #define the file extensions in the GimpData subclasses'
header files instead of hardcoding them in several places, ...
* data/palettes/*: The same file format change as for the gradient
files:
- Save the palette name in a parsable form (as part of the file
format, not in a comment.
- Removed unserscores from the palette names.
- Added an extension (Gimp PaLettes are ".gpl" files now ;-)
2001-02-11 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/apptypes.h
* app/gimpdata.[ch]: new abstract base class for everything
(except images) which has a filename and can become dirty and must
be saved.
* app/gimpbrush.[ch]
* app/gimpgradient.[ch]
* app/gimppattern.[ch]: all derived from GimpData now.
* app/gimpbrushgenerated.[ch]
* app/brush_select.c
* app/brushes.c
* app/gimpbrushpipe.c
* app/gradient_editor.c
* app/gradients.c
* app/patterns.c: removed lots of code duplication due to common
file save magic.
The gradient file format has changed: it now contains the
gradient's name (no more ugly underscores). The files have the
extension ".ggr".
* app/gimpgradient.[ch]: save new gradients, load new and old
gradients.
* data/gradients/*: removed all old gradients and added the new
ones.
2001-02-10 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/gradientP.h
* app/gradient_header.h: removed.
* app/gimpgradient.[ch]: new object -- bye bye "gradient_t"
* app/gradients.[ch]: new files for managing the gradient list.
* app/gradient.[ch]: containes only the gradient editor now (which
still badly poked aroung in the GimpGradient structure).
* app/app_procs.c
* app/apptypes.h
* app/devices.c
* app/gimpcontainerlistview.c
* app/gimpcontext.[ch]
* app/gimpcontextpreview.[ch]
* app/gimpdnd.[ch]
* app/gradient_select.[ch]
* app/indicator_area.c
* app/palette_import.c
* app/pdb/gradient_select_cmds.c
* app/pdb/gradients_cmds.c
* app/tools/airbrush.c
* app/tools/blend.c
* app/tools/paint_core.c
* app/tools/paintbrush.c
* app/tools/pencil.c
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/gradients.pdb: changed accordingly, some
changes to the preview and view stuff.
* app/gimppreview.[ch]: removed the "context" attribute again
because it was overkill (a simple gtk_signal-connect_object does
the same as doing the autoconnection magic inside the GimpPreview
object).
* app/commands.[ch]
* app/menus.c: example views on the gradient container.
2001-02-09 Michael Natterer <mitch@gimp.org>
* app/gimpcontainergridview.[ch]
* app/gimpcontainerlistview.[ch]
* app/gimpcontainerview.[ch]: follow the GimpPreview API change
and take only "size" instead of "width" and "height" in the
constructor.
* app/gimpdnd.[ch]: first attempt to hack GtkType based DND which
speaks in terms of GimpViewable instead of Brush, Pattern, ...
Added functions to remove DND callbacks (used by the multi-views).
* app/gimppreview.[ch]: new function gimp_preview_set_size_full().
* app/commands.c: updated the example dialogs to be DND aware.
* app/gimpimage.c: fixed preview size calculation by ensuring a
minimal width/height of 1 pixel.
Reported by Dave Neary <dneary@eircom.net>
2001-02-09 Michael Natterer <mitch@gimp.org>
* app/gimppreview.[ch]: moved the constructor-parameter-overkill
to the new function gimp_preview_new_full() and made the
gimp_preview_new() interface simple.
* app/gimpbrushpreview.c
* app/gimppatternpreview.c: added DND support.
* app/gimpdnd.c: use the new preview system.
* app/gimpconstrainedhwrapbox.c: implement "size_allocate". Ok,
this is silly -- I will write an own widget which does the
"scrollable grid of whatever" stuff in one place...
* app/commands.c
* app/gimpcontainergridview.c
* app/gimpcontainerlistview.c
* app/gimpimagepreview.c: follow the GimpPreview constructor change.
2001-02-09 Michael Natterer <mitch@gimp.org>
* app/commands.c: changed the test dialogs a bit.
* app/gimpconstrainedhwrapbox.[ch]: should be called
GimpHackedWrapBoxForContainerView now ;-)
* app/gimpcontainergridview.[ch]
* app/gimpcontainerlistview.[ch]: fixed the minimal size setting
by getting the magic values from the relevan gtk widgets.
Scroll to the active item if it not visible.
2001-02-07 Michael Natterer <mitch@gimp.org>
* app/gimpcontext.[ch]: added "set_by_type", "get_by_type" and
"changed_by_type" methods which take a GtkType and decide from
that if to manipulate the Brush, Pattern etc.
* app/gimpcontainerview.[ch]
* app/gimpcontainergridview.[ch]
* app/gimpcontainerlistview.[ch]: added a GimpContext to the views
which is used to manage the active item.
* app/commands.c: pass the user_context to the test views.
* app/gimpbrushpreview.c
* app/gimppatternpreview.c
* app/gimppreview.[ch]: added a virtual "needs_popup" method which
returns a boolen indicating if the viewable is already fully
visible.
* app/gimage.[ch]: removed gimage_foreach() and some other
functions which can easily be done be gimp_container_foreach().
Removed gimage_delete().
* app/fileops.c
* app/gdisplay.c
* app/lc_dialog.c
* app/nav_window.c
* app/palette_import.c
* app/preferences_dialog.c
* app/xcf.c
* app/pdb/image_cmds.c
* tools/pdbgen/pdb/image.pdb: changed accordingly. Switched from
"disp_count" refcounting to real GtkObject refcounting for
GimpImages.
2001-02-07 Michael Natterer <mitch@gimp.org>
* app/gimpbrush.[ch]
* app/gimpbrushpreview.c: moved the scale and pipe indicator
rendering code from GimpBrush to GimpBrushPreview.
Removed the "dirty" signal from GimpBrush and use
"invalidate_preview" of the GimpViewable class.
* app/brush_edit.c
* app/brush_select.c
* app/gimpbrushgenerated.c
* app/gimpcontext.c
* app/gimpcontextpreview.c
* app/tools/paint_core.c: changed accordingly.
* app/Makefile.am
* app/gimpdrawable-preview.[ch]: new files formerly known as
gimpdrawablepreview.[ch].
This is a new naming scheme for methods of objects which live
outside their object's file. The old name implied a derived object
(and is in fact now taken by a GimpPreview subclass, see below).
Further candidates for renaming are e.g. gimpdrawable-invert.[ch],
gimpimage-convert.[ch] etc. Finaly, the main objects (image,
drawable) will go to their own directories together with their
subclasses.
* app/apptypes.h: added typedefs for the new objects:
* app/gimpbrushpreview.[ch]
* app/gimppatternpreview.[ch]: new subclasses of GimpPreview.
* app/gimpdrawablepreview.[ch]: contains a subclass of GimpPreview
now.
* app/gimpviewable.[ch]: renamed the virtual functions to
"get_preview" and "get_new_preview" to avoid confusion with the
new GimpPreview subclasses.
* app/gimppreview.[ch]: virtualized "create_preview" and
"create_popup".
* app/gimpmarshal.[ch]: new marsaller for GimpPreview.
* app/channels_dialog.c
* app/fileops.c
* app/gimpbrush.c
* app/gimpdnd.c
* app/gimpdrawable.c
* app/gimpimage.c
* app/gimppattern.c
* app/layer_select.c
* app/layers_dialog.c
* app/lc_dialog.c
* app/nav_window.c
* app/palette_import.c
* app/undo_history.c
* app/pdb/drawable_cmds.c
* app/pdb/image_cmds.c
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/image.pdb: changed accordingly.
2001-02-06 Michael Natterer <mitch@gimp.org>
* app/gimpcontainergridview.[ch]
* app/gimpcontainerlistview.[ch]: added "min_items_x" and
"min_items_y" parameters to the constructors.
* app/gimppreview.[ch]: added event handling for "click" and
"popup", show a dummy popup for testing.
* app/commands.c: changed accordingly.
* app/menus.c: added a separator and removed N_() from the test stuff.
2001-02-06 Simon Budig <simon@gimp.org>
* libgimpwidgets/gimpdialog.c
* app/tools/tool_options_dialog.c
Implemented a way to connect the delete-event of a gimpdialog
without adding an extra button. If you pass "_delete_event_"
as button text (untranslated) the button will not be created.
Removed the tool-options "Close" button. Lots of other Close-Buttons
wait for their removal.
2001-02-06 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/gimpconstrainedhwrapbox.[ch]: A bad hack on top of another
hack: The GtkHWrapBox "size_request" method _always_ wants a
maximal requisition height, which it of course gets from a
container like the scrolled window, yielding in wrong vscrollbar
calculation.
* app/gimpbrush.c: create a nice preview with scale and pipe
indicators.
* app/gimpcontainergridview.[ch]: use the GimpConstrainderHWrapBox.
* app/commands.c
* app/gimpcontainerlistview.c
* app/gimppreview.c: cleanup, fixed a crash in the preview idle
rendering function.
2001-02-06 Michael Natterer <mitch@gimp.org>
* app/gimpcontainergridview.[ch]
* app/gimpcontainerlistview.[ch]
* app/gimpcontainerview.[ch]: implemented "set_preview_size".
* app/commands.c: added a preview size slider to the test dialogs.
2001-02-05 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/gimpcontainergridview.[ch]: new widget providing a grid view
in the style of the current brush and pattern selections.
* app/gimpcontainerlistview.[ch]
* app/gimppreview.[ch]: the constructors take "width" and "height"
parameters now.
* app/gimpviewable.c: if the viewable is not able to generate
a static (cached) preview, create a new one and cache it ourselves.
* app/gimppattern.c: produce a nice preview.
* app/temp_buf.[ch]: changed temp_buf_copy_area() to take a
destination offset instead of a border parameter. This function
was not used at all before.
* app/commands.[ch]
* app/menus.c: test dialogs for the grid view.
2001-02-05 Michael Natterer <mitch@gimp.org>
* app/gimpcontainer.[ch]
* app/gimplist.[ch]: made the "get_by_name" and the "by_index"
access functions methods of the GimpContainerClass. The semantic
of this index is somewhat unclear if we have e.g. a hash table
implementation but the container needs to have an order for the
ContainerView. Finally, the ordering will be a feature of the
ContainerView.
* app/gimpmarshal.[ch]: marshallers needed for the new methods.
* app/brushes.[ch]
* app/patterns.[ch]: the public global brush and pattern lists
are GimpContainers now (they are really GimpLists of course).
* app/brush_select.c
* app/devices.c
* app/gimpcontainerlistview.c
* app/gimpcontext.c
* app/gimpdnd.c
* app/pattern_select.c
* app/pdb/brush_select_cmds.c
* app/pdb/brushes_cmds.c
* app/pdb/pattern_select_cmds.c
* app/pdb/patterns_cmds.c
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/pattern_select.pdb
* tools/pdbgen/pdb/patterns.pdb: changed accordingly.
2001-02-05 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/apptypes.h: some new files and data types:
* app/gimppreview.[ch]: new widgets which provides a view
of a GimpViewable.
* app/gimpcontainerview.[ch]: new abstract widget base class for
views of GimpContainers of GimpViewables
* app/gimpcontainerlistview.[ch]: (still) simple implementation of
a list view of the container.
* app/gimpbrush.[ch]
* app/gimppattern.[ch]: provide dumb implementations of the
GimpViewable's "preview" method.
* app/image_render.c: quick bad hack to enable preview sizes which
are != "preview_size": Always allocate data chunks for previews up
to 256 pixels width.
* app/drawable.c: emit the "incalidate_preview" signal from
drawable_update(). This may cause useless updates at the moment
but as we want to move from explicit updates to signal-driven
model-view stuff it's the right thing (TM).
* app/commands.[ch]
* app/interface.c
* app/menus.c: Added a "Test dialogs" menu to the Toolbox.
* app/pdb/image_cmds.c
* libgimp/gimpenums.h
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: propagated the new alpha channel stuff
to the autogenerated files.
2001-02-04 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/apptypes.h
* app/gimpviewable.[ch]: new object. Everything that can have a
preview will be a GimpViewable. The virtual functions are
"invalidate_preview", "preview" and "preview_new".
* app/gimpmarshal.[ch]: new marshaller needed for the viewable.
* app/gimpdrawable.[ch]
* app/gimpimage.[ch]: derived from GimpViewable. Removed the
preview stuff from the public interface.
Made a single boolean out of GimpImage's "comp_preview_valid"
array because we have only one copposite preview.
* app/gimplayer.c: made the preview stuff private.
* app/gimppreviewcache.[ch]: removed gimp_preview_scale()...
* app/temp_buf.[ch]: ...and added it as temp_buf_scale() here.
* app/gimpdrawablepreview.[ch]: is a private method of
GimpDrawable now.
* app/channels_dialog.c
* app/convert.c
* app/drawable.c
* app/fileops.c
* app/floating_sel.c
* app/gimage.c
* app/gimage_mask.c
* app/gimpchannel.c
* app/gimpcontainer.c
* app/gimpdnd.c
* app/layer_select.c
* app/layers_dialog.c
* app/lc_dialog.c
* app/nav_window.c
* app/palette_import.c
* app/undo.c
* app/undo_history.c
* app/pdb/drawable_cmds.c
* app/pdb/image_cmds.c
* app/tools/crop.c
* app/tools/edit_selection.c
* app/tools/ink.c
* app/tools/paint_core.c
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/image.pdb
* po/POTFILES.in: changed accordingly.
2001-01-30 Michael Natterer <mitch@gimp.org>
* app/image_render.[ch]: prefixed all global variables with
"render_" (we had a global variable named "temp_buf", brrrr),
general cleanup.
* app/colormap_dialog.c
* app/layers_dialog.c: changed accordingly.
2001-01-29 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/gimpdrawablepreview.[ch]: new file with one set of functions...
* app/channel.[ch]
* app/layer.[ch]: ...instead of having everything duplicated three
times here.
* app/channels_dialog.c
* app/floating_sel.c
* app/floating_sel.h
* app/gimpdnd.c
* app/gimpimage.c
* app/layer_select.c
* app/layers_dialog.c
* app/selection.c
* app/pdb/drawable_cmds.c
* tools/pdbgen/pdb/drawable.pdb: changed accordingly, cleanup.
2001-01-29 Michael Natterer <mitch@gimp.org>
* app/apptypes.h: removed the "Layer" typedef.
* app/layer.[ch]: removed the defines of the old function names.
Don't implement methods of the parent class (get_name, get_tattoo, ...)
but define them as macros. They will go to a separate "pdb_glue.h"
header because they are used only by the PDB to simplify code
generation (no application file should say gimp_layer_get_tattoo()
but always gimp_drawable_get_tatoo()).
* app/channel.h
* app/channel_ops.c
* app/channels_dialog.c
* app/commands.c
* app/convert.c
* app/disp_callbacks.c
* app/floating_sel.[ch]
* app/gdisplay.c
* app/gimage.c
* app/gimage_mask.c
* app/gimage_mask.h
* app/gimpdnd.c
* app/gimpdrawable.h
* app/gimpimage.[ch]
* app/gimplayermask.h
* app/global_edit.c
* app/image_new.c
* app/layer_select.c
* app/layers_dialog.c
* app/resize.c
* app/undo.c
* app/xcf.[ch]
* app/pdb/drawable_cmds.c
* app/pdb/floating_sel_cmds.c
* app/pdb/image_cmds.c
* app/pdb/layer_cmds.c
* app/tools/bucket_fill.c
* app/tools/by_color_select.c
* app/tools/clone.c
* app/tools/crop.c
* app/tools/edit_selection.c
* app/tools/ink.c
* app/tools/move.c
* app/tools/paint_core.c
* app/tools/rect_select.c
* app/tools/text_tool.c
* app/tools/transform_core.c
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/floating_sel.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/layer.pdb: changed accordingly, cleanup.
2001-01-28 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/gimplayermask.[ch]: new files cut out of layer.[ch]. Renamed
all functions to gimp_layes_mask_*(). removed artefacts like
the ref/unref functions.
* app/apptypes.h: removed the "LayerMask" typedef.
* app/layer.[ch]: removed the layer mask stuff and renamed all
functions to gimp_layer_*(). Added temporary typedefs for the old
function names. The layer mask preview stuff is still there (should
probably go to new layer_preview.{ch] files).
* app/gimpimage.[ch]: added
gimp_image_invalidate_[layer|channel]_previews() formerly known as
[layer|channel]_invalidate_previews().
* app/channel.[ch]: moved channel_layer_alpha() and
channel_layer_mask() here because they are methods of the Channel.
* app/channel_ops.c
* app/convert.c
* app/disp_callbacks.c
* app/fileops.c
* app/floating_sel.c
* app/gimage.c
* app/gimage_mask.c
* app/gimpdnd.c
* app/global_edit.c
* app/layers_dialog.c
* app/preferences_dialog.c
* app/toolbox.c
* app/undo.c
* app/xcf.c
* app/pdb/drawable_cmds.c
* app/pdb/image_cmds.c
* app/pdb/layer_cmds.c
* app/tools/crop.c
* app/tools/text_tool.c
* app/tools/transform_core.c
* tools/pdbgen/pdb.pl
* tools/pdbgen/pdb/drawable.pdb: changed accordingly, cleanup.
2001-01-24 Michael Natterer <mitch@gimp.org>
* Makefile.am
* configure.in
* gimptool.in: added the new library below.
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpchainbutton.[ch]
* libgimpwidgets/gimpcolorarea.[ch]
* libgimpwidgets/gimpcolorbutton.[ch]
* libgimpwidgets/gimpdialog.[ch]
* libgimpwidgets/gimpfileselection.[ch]
* libgimpwidgets/gimphelpui.[ch]
* libgimpwidgets/gimppatheditor.[ch]
* libgimpwidgets/gimppixmap.[ch]
* libgimpwidgets/gimpquerybox.[ch]
* libgimpwidgets/gimpsizeentry.[ch]
* libgimpwidgets/gimpunitmenu.[ch]
* libgimpwidgets/gimpwidgets.[ch]
* libgimpwidgets/gimpwidgets.def
* libgimpwidgets/gimpwidgetstypes.h: new shared library.
Currently there are some ugly dependencies into libgimp. These
will be removed and go to a "libgimpglue" library which will be
a library for functions which share a common interface between
plug-ins and the app but have different implementations.
Include "libgimp/gimpunit.h" from "libgimpwidgets/gimpwidgetstypes.h"
to simulate this upcoming separation.
* libgimp/Makefile.am
* libgimp/gimpchainbutton.[ch]
* libgimp/gimpcolorarea.[ch]
* libgimp/gimpcolorbutton.[ch]
* libgimp/gimpdialog.[ch]
* libgimp/gimpfileselection.[ch]
* libgimp/gimphelpui.[ch]
* libgimp/gimppatheditor.[ch]
* libgimp/gimppixmap.[ch]
* libgimp/gimpquerybox.[ch]
* libgimp/gimpsizeentry.[ch]
* libgimp/gimpunitmenu.[ch]
* libgimp/gimpwidgets.[ch]: removed from here.
* libgimp/gimpui.h
* libgimp/gimpuitypes.h
* libgimp/makefile.mingw.in
* libgimp/makefile.msc: changed accordingly.
* app/[all ui files]
* app/pdb/palette_cmds.c
* app/pdb/tools_cmds.c
* tools/pdbgen/pdb/palette.pdb
* tools/pdbgen/pdb/tools.pdb: #include "libgimpwidgets/gimpwidgets.h"
and removed useless includes.
* app/apptypes.h: #include "libgimpwidgets/gimpwidgetstypes.h"
* app/Makefile.am
* plug-ins/[all makefiles which link against libgimpui]:
link against libgimpwidgets.la
* po-libgimp/POTFILES.in: changed file locations.
2001-01-22 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/toolbox.[ch]: new files containing most of the code
from app/interface.[ch]
* app/interface.[ch]: only contains create_display_shell() now.
Needs to be somehow merged with other arbitrarily named display
files around.
* app/app_procs.c
* app/menus.c
* po/POTFILES.in: changed accordingly.
* app/asupsample.c
* app/gradient.c
* app/tile.c: cleanup.
2001-01-21 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/palette_import.[ch]: moved the palette_import dialog to
it's own file.
* app/gimage.c
* app/palette.[ch]
* app/paletteP.h: changed accordingly.
2001-01-21 Michael Natterer <mitch@gimp.org>
* app/palette_entries.h: removed.
* app/gimppalette.[ch]: new object derived from GimpObject. Just
used as a container at the moment (no signals or stuff used).
* app/palette.[ch]: changed almost every line except in the
import_dialog part.
* app/Makefile.am
* app/apptypes.h
* app/convert.[ch]
* app/gimpdnd.h
* app/paletteP.h
* app/palette_select.[ch]
* app/convert_cmds.c
* tools/pdbgen/pdb/convert.pdb: changed accordingly.
* app/gimpdrawable.c: set klass->removed to NULL.
2001-01-21 Michael Natterer <mitch@gimp.org>
* app/color_notebook.[ch]: added a "title" parameter to the
constructor. Pass a pointer to the ColorNotebook to the callback.
Added a _get_color() function.
* app/color_panel.[ch]: added a "title" parameter which is used
for the notebook.
* app/channels_dialog.c
* app/color_area.c
* app/colormap_dialog.c
* app/convert.c
* app/palette_select.c
* app/qmask.c: changed the calls to color_notebook_new(),
color_panel_new() and the ColorNotebook callbacks.
* app/gradient.c: use a ColorNotebook instead of GtkColorSelection.
* app/palette.c
* app/palette_entries.h: use GimpRGB to store the color in the
PaletteEntry.
* po/POTFILES.in: added app/color_area.c
2001-01-20 Michael Natterer <mitch@gimp.org>
* app/gimpdrawable.[ch]: made gimp_drawable_fill() use GimpRGB,
added some "const", delete unused function, reordered some
functions.
* app/drawable.c
* app/qmask.c: follow the change.
2001-01-17 Michael Natterer <mitch@gimp.org>
* app/gimprc.c: factored the color parsing code out to the new
function parse_color() and made it parse RGB, RGBA, HSV and HSVA
colors.
* app/color_notebook.c
* app/devices.c
* app/session.c: changed accordingly.
2001-01-16 Sven Neumann <sven@gimp.org>
* libgimp/gimpcolorspace.c: fixed RGB to HSV routine
* app/color_notebook.c: tweaked dialog layout a little, disabled
toggle_buttons if the colorselector does not implement the set_channel
method.
* modules/colorsel_gtk.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: removed empty set_channel methods
2001-01-16 Michael Natterer <mitch@gimp.org>
* app/color_area.c
* app/color_notebook.[ch]
* app/color_panel.c
* app/gimprc.c
* app/session.c: store the color history in sessionrc.
* app/channels_dialog.c: tweaked the "new channel" and "channel
atributes" dialogs a bit.
2001-01-16 Michael Natterer <mitch@gimp.org>
* app/color_notebook.c: added a global color history of 16 colors.
The "Add" button uses neither LRU nor pure right-shift order but
something in between. The history is scheduled to go to sessionrc.
2001-01-15 Sven Neumann <sven@gimp.org>
* app/devices.c: use a GimpColorArea for the foreground color in
the Device Status dialog and added a background color
2001-01-15 Michael Natterer <mitch@gimp.org>
* app/devices.c
* app/gimprc.c: save the foreground and background color as array
of RGBA doubles in "devicerc".
2001-01-15 Michael Natterer <mitch@gimp.org>
* app/color_notebook.c
* modules/colorsel_gtk.c
* modules/colorsel_triangle.c: tweaked dialog layout a bit.
* modules/colorsel_water.c: removed all widgets except the color
selector itself (the history and the "Reset" button will go
to the ColorNotebook).
2001-01-15 Michael Natterer <mitch@gimp.org>
* app/color_notebook.[ch]
* app/color_select.c
* libgimp/gimpcolorselector.h
* modules/colorsel_gtk.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: use GimpRGB and GimpHSV.
* libgimp/gimpcolor.c
* libgimp/gimpcolorspace.[ch]: All rgb_to_hsv functions:
if r == g == b the difference between the max and min value
is 0 and we should avoid to divide by it ;-)
2001-01-15 Michael Natterer <mitch@gimp.org>
* app/channel.[ch]
* app/gimpimage.[ch]
* app/layer.[ch]: use GimpRGB for the Channel's, the QuickMask's
and the LayerMask's color.
* app/channel_cmds.c
* app/channel_ops.c
* app/channels_dialog.c
* app/qmask.c
* app/xcf.c
* tools/pdbgen/pdb/channel.pdb: changed accordingly.
2001-01-14 Sven Neumann <sven@gimp.org>
Merged fixes from gimp-1-2:
* app/menus.c
* app/plug-in.c: added some sanity checks for passed string pointers
to various public functions in an attempt to fix bug #37622.
* plug-ins/common/sharpen.c: applied a patch from Jerome Zago
<jzago@ifhamy.insa-lyon.fr> that fixes a longstanding bug in the
sharpen filter which sometimes got the last line wrong.
Fixes bug #34155.
2001-01-09 Sven Neumann <sven@gimp.org>
Merged fix from gimp-1-2:
* app/gimpbrushlist.c
* app/gradient.c
* app/palette.c
* app/patterns.c: check for NULL pointers before doing strcmp on
default names. The default names for brushes, patterns, ... can
be NULL if they were not set in a readable gimprc file.
* app/gimprc.c: warn the user if the systemwide gimprc couldn't be
read.
2001-01-09 Michael Natterer <mitch@gimp.org>
* app/color_notebook.c: Show the "Alpha" scale only when needed.
* libgimp/gimpcolorarea.[ch]: fixed typos.
2001-01-09 Sven Neumann <sven@gimp.org>
* app/apptypes.h
* app/brush_select_cmds.c
* app/brushes_cmds.c
* app/layer_cmds.c
* app/layers_dialog.c
* app/paint_funcs.c
* app/tool_options.c
* app/tools_cmds.c
* libgimp/gimpenums.h
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: applied patch from <oliver@zeroknowledge.com>
that adds new blending modes (Dodge/Burn/Hardlight). Please play with
these new modes and check if they are useful and well-implemented.
2001-01-09 Michael Natterer <mitch@gimp.org>
* app/color_notebook.[ch]
* app/color_select.c: moved the scales and the toggle butttons out
of the notebook. Added an "Aplha" scale (the opacity is not yet
shown in the color area). Removed the ColorNotebook structure from
the header.
* app/color_area.c: the ColorNotebook struct is no longer public.
* libgimp/gimpcolorselector.h
* modules/colorsel_gtk.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: changed the ColorSelector module
interface again: Pass H, S, V, R, G, B and A in all functions
and callbacks. Added a "set_channel" method because the channel
toggles are outside the notebook now. This needs more work...
2001-01-08 Michael Natterer <mitch@gimp.org>
* app/color_notebook.[ch]
* app/color_select.c: moved the "old" and "new" color areas from the
notebook to the action_area.
* TODO.xml: updated.
* app/color_area.c
* app/color_panel.c
* app/colormap_dialog.c
* app/palette.c
* libgimp/gimpcolorselector.h
* modules/colorsel_gtk.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: removed the "set_current" parameter all
over the place because it was always TRUE and not used in the modules
at all.
2001-01-08 Michael Natterer <mitch@gimp.org>
* app/color_notebook.c
* app/color_select.c
* libgimp/gimpcolorselector.h: more cleanup before chopping it up.
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-07 Michael Natterer <mitch@gimp.org>
* TODO.xml: added an item to optionally change the image window's
background.
* app/preferences_dialog.c: "Disable Tearoff Menus" was not saved
to disk.
2001-01-02 Michael Natterer <mitch@gimp.org>
* app/commands.c: some nicer prototypes.
* app/fileops.c: oops, forgot to gtk_widget_show() the open_options.
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-27 Michael Natterer <mitch@gimp.org>
* app/gimage.h
* app/gimpimage.[ch]: implemented gimp_image_get_layer_by_index(),
small cleanups.
* app/commands.c
* app/layers_dialog.c: use the new function instead of accessing
the layer list directly.
2000-12-27 Michael Natterer <mitch@gimp.org>
* app/layers_dialog.c: layers_dialog_scroll_index(): don't fiddle
around with magic numbers when calculating the layer widget's
height but simply ask one of them for it's allocation. Fixes
positioning when the preview is smaller than the layer widget list
item.
2000-12-21 Sven Neumann <sven@gimp.org>
* app/gradient.c
* app/gradient_select.[ch]: reviewed the gradient code. The old code
used to use list indices which led to bug #35612 and other problems.
We now attach a pointer to the gradient to each row in the GtkClists
and retrieve the matching row for a gradient using
gtk_clist_find_row_from_data(). Additionally I have added similar code
as we use for brushes to assure that no two gradients have the same
name.
2000-12-19 Michael Natterer <mitch@gimp.org>
* app/gradient.c: couldn't resist to heavily indent all function
prototypes before starting to fix the rename-bug. Nothing changed.
2000-12-18 Sven Neumann <sven@gimp.org>
Jens Lautenbacher <jtl@gimp.org>
* app/Makefile.am
* app/gimpbrushlistP.h
* app/gimpbrushpipeP.h
* app/gimpobjectP.h: removed these three files
* app/parasitelistP.h
* app/channels_dialog.c
* app/docindex.c
* app/gimpdrawable.c
* app/gimpdrawableP.h
* app/gimpimage.c
* app/gimpimageP.h
* app/gimplist.[ch]
* app/gimpobject.c
* app/gimpobject.h
* app/gimpsetP.h: changed according to header removal
* app/airbrush.c
* app/brush_select.[ch]
* app/brushes_cmds.c
* app/gimpbrush.[ch]
* app/gimpbrushgenerated.[ch]
* app/gimpbrushlist.[ch]
* app/gimpbrushpipe.[ch]
* app/gimpcontextpreview.c
* app/paint_core.c
* app/paintbrush.c
* app/pencil.c
* tools/pdbgen/pdb/brushes.pdb: Big Brushes Cleanup.
The GimpBrush* object hierarchy and the file formats were broken by
"design". This made it overly difficult to read and write pixmap
brushes and brush pipes, leading to the situation that The GIMP was
not able to read it's very own file formats. Since the GimpBrush
format did support arbitrary color depths, the introduction of a
file format for pixmap brushes was unnecessary.
The GimpBrushPixmap object is dead. GimpBrush has an additional
pixmap temp_buf and handles pixmap brushes transparently. The file
format of pixmap brushes is not any longer a grayscale brush plus
a pattern, but a simple brush with RGBA data. The old brushes can
still be loaded, but the .gpb format is deprecated.
GimpBrushPipe derives from GimpBrush. The fileformat is still a text
header, followed by a number of brushes, but those brushes are stored
in the new GimpBrush format (no pattern anymore). The pipe does not
care about the depth of the contained GimpBrushes, so we get
grayscale BrushPipes for free. Since the brush loader still loads the
old format, old .gih files can also still be loaded.
Since the brushes in the GimpBrushPipe do not any longer contain a
pointer to the pipe object, we do only temporarily switch brushes
in the paint_core routines. This is not very elegant, but the best
we can do without a major redesign.
* app/patterns.[ch]: changed the loader to work with a filedescriptor
instead of a filehandle to make it work with the new brush loading
code.
* plug-ins/common/.cvsignore
* plug-ins/common/Makefile.am
* plug-ins/common/plugin-defs.pl
* plug-ins/common/gih.c: new plug-in that saves GIH files in the
new format (loader will follow soon)
* plug-ins/common/gpb.c: removed since Pixmap Brushes are no longer
supported as a special file format.
* plug-ins/common/gbr.c: load and save brushes in the new brush format
which allows RGBA brushes too.
* plug-ins/common/pat.c: load and save grayscale patterns too
2000-12-17 Michael Natterer <mitch@gimp.org>
* app/menus.c: don't warn about a non-existant "Script-Fu" menu.
(the user should have the choice of just removing the script-fu
plug-in without any side-effects).
2000-12-17 Sven Neumann <sven@gimp.org>
* app/curves.c: preview the curve settings in the image window when
initializing the tool. This way the new curves behaviour (init with
last settings) is visible.
* app/user_install.c: check that strings are non-NULL before passing
them to strcmp.
* libgimp/gimpfileselection: do not try to pass a NULL text to
gtk_entry_set_text, use an empty string instead.
2000-12-16 Sven Neumann <sven@gimp.org>
* app/fileops.c: fixed a warning
* app/menus.c: since gee is no longer hidden, I put the old code
back in that keeps its entry at the bottom of the menu.
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/commands.c (image_resize_callback):
call lc_dialog_update_image_list() when resizing the image so the
image preview is updated in the l&c dialog.
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 :-(
Mon Dec 11 22:52:43 GMT 2000 Andy Thomas <alt@gimp.org>
* app/gimpimage.c
* app/layers_dialog.c
Backed out some changes that caused problems with the Nav preview
and small sized images.
2000-12-11 Sven Neumann <sven@gimp.org>
* app/channel.c (channel_invalidate_previews): check for NULL pointer
* app/fileops.c: if saving and loading images at the same time, the
PDB obviously manages to mangle return values. By checking the
validity of the returned image id we avoid to crash as described in
bug #26788.
* app/module_db.c: unload modules from the idle_loop as suggested
by Austin in #5745.
2000-12-11 Sven Neumann <sven@gimp.org>
* app/gradient.c: use the correct pointer when dumping gradients to
stderr in case of problems. Sort of fixes bug #31510.
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-12-03 Michael Natterer <mitch@gimp.org>
* app/layers_dialog.c: when applying or deleting the layer mask,
we have to call layers_dialog_set_menu_sensitivity() ourselves
whenever calling layer_widget_layer_flush() instead of
gdisplays_flush().
2000-12-03 Michael Natterer <mitch@gimp.org>
* plug-ins/gflare/gflare.c
* libgimp/gimpunitmenu.c
* libgimp/gimpwidgets.c: set separators of option menus insensitive.
(see Sven's fix below below).
* app/layers_dialog.c: set "Merge Down" insensitive for
the bottom layer.
2000-12-03 Sven Neumann <sven@gimp.org>
* app/layer.c
* app/layers_dialog.c
* plug-ins/common/jpeg.c: reviewed code in an attempt to fix the
crash-on-jpeg-save. The only thing that I have changed (despite
lots of indentation) is that we now connect the preview rewdraw
using gtk_signal_connect_while_alive() which should keep gimp from
trying to create previews of nonexistant drawables.
Updated german translation.
2000-11-18 Michael Natterer <mitch@gimp.org>
* app/fileops.c
* libgimp/gimpquerybox.[ch]: Make sure that we don't try to destroy
query_boxes twice or try to disconnect not-any-more connected
handlers.
* app/color_notebook.c
* app/gimpcontext.[ch]
* app/gimphelp.[ch]
* app/lc_dialog.[ch]
* app/menus.h
* app/preferences_dialog.c
* app/tools.[ch]
* libgimp/gimpcolorbutton.[ch]
* libgimp/gimpdialog.[ch]
* libgimp/gimpexport.[ch]
* libgimp/gimpfileselection.[ch]
* libgimp/gimphelpui.[ch]
* libgimp/gimppatheditor.[ch]
* libgimp/gimppixmap.[ch]
* libgimp/gimpsizeentry.[ch]
* libgimp/gimpui.[ch]
* libgimp/gimpunitmenu.[ch]
* libgimp/gimpwidgets.[ch]: in a coding attack, changed help_data
and many other strings passed to UI functions to (const gchar *).
As a consequence, I had to fix lots of warnings ;)
* plug-ins/common/tga.c
* plug-ins/imagemap/imap_main.c: fixed warnings.
Code cleanup and indentation all over the place.
2000-11-15 Sven Neumann <sven@gimp.org>
* app/fileops.c: we used to g_free memory returned by strdup() here!
Also we used to append DIR_SEPARATORs to the filename shown in the
file_selector even if it already ended in one. Fixed all this, closed
a memleak and cleaned up the code.
2000-10-29 Michael Natterer <mitch@gimp.org>
* app/menus.c: after getting confused again by the boolean
"initialize" variable, I finally decided to reverse it's
logic and changed it to "menus_initialized".
2000-10-26 Sven Neumann <sven@gimp.org>
* app/channel_ops.c (offset_ok_callback): avoid modulo operation on
negative values.
* app/channel_ops.c
* app/crop.c
* app/file_new_dialog.c
* app/layers_dialog.c
* app/preferences_dialog.c
* app/rotate_tool.c
* app/scale_tool.c: use RINT() when assigning the result of
gimp_size_entry_get_refval() to an integer.
2000-10-22 Sven Neumann <sven@gimp.org>
* app/edit_selection.[ch]: plugged memleak (similar to the one that
was present in gtkutil_compress_motion()) in the key snooper.
Round moves to nearest integer instead of truncating the value.
This seems to fix the reported redraw problems when moving
selections at low zoom levels.
Cleaned up the code a little and converted enum values to uppercase.
* app/bezier_select.c
* app/free_select.c
* app/fuzzy_select.c
* app/move.c
* app/rect_select.c
* app/text_tool.c: updated to use the new EditType enum values.
* app/gimprc.c: minor optimization in the GList handling.
* app/layer.[ch]: removed unused functions.
* app/menus.c: removed "Dump Items (Debug)" menu entry.
2000-10-18 Daniel Egger <egger@suse.de>
* app/resize.c: Add a patch from
Tino Schwarze <tino.schwarze@informatik.tu-chemnitz.de>
to add a reset button to the image resize dialog.
2000-10-17 Tor Lillqvist <tml@iki.fi>
* app/makefile.mingw.in (gimp_OBJECTS): Add
resolution_calibrate.o.
* app/user_install.c (user_install_run): Add missing semicolon.
* tips/makefile.mingw (install): Copy gimp_tips.txt separately. We
used to get gimp_tips.txt.txt because of `basename $f .utf8`.
2000-10-14 Sven Neumann <sven@gimp.org>
* Makefile.am
* configure.in
* gimp.1.in
* gimp.spec.in
* gimprc.5.in
* user_install
* user_install.bat
* app/gimprc.c
* app/user_install.c
* libgimp/Makefile.am
* libgimp/gimpenv.[ch]: applied a modified version of
gimp-che-20001013-2, a patch from Ben Gertzfield <che@debian.org>
that moves the system-dependant configuration files (gimprc and
friends) into $prefix/etc/gimp/1.1.
2000-10-05 Simon Budig <simon@gimp.org>
* app/paths_dialog.c: Made the import path command work as
intended. Now files can contain multiple paths (simply
cat path files together). Note, that this is a bugfix:
I just moved one line in the code - I like that... :-)
2000-09-29 Michael Natterer <mitch@gimp.org>
* app/brush_edit.[ch]
* app/brush_header.h
* app/gimpbrush.[ch]
* app/gimpbrushgenerated.[ch]
* app/gimpbrushlist.[ch]
* app/gimpbrushpipe.[ch]
* app/gimpcontext.h
* app/gimplist.[ch]
* app/gimpobject.[ch]
* app/gimpset.[ch]
* app/gimpsignal.[ch]
* app/parasitelist.h: Lotsa fixes in the brush referencing code
and cleanups in many GtkObjects:
- Reference brushes correctly (call gtk_object_sink() after adding
them to the brush list). Don't crash when renaming a brush
multiple times.
- Replaced all gtk_object_destroy() with gtk_object_unref|sink().
- Removed the "Fake Gimp object system" (gimp_object_destroy() et.al.)
all over the place (while it's a good idea to have a common Gimp
base object, it's totally useless to try to imitate Gtk's object
system).
- s/sz_BrushHeader/sizeof(BrushHeader)/g
- And of course various indentation and coding style paranoia changes
in all files I visited.
2000-09-25 Sven Neumann <sven@gimp.org>
* app/resolution_calibrate.[ch]: new files. Code for the resolution
calibration dialog that used to live in user_install.c
* app/Makefile.in
* app/menus.c
* app/preferences_dialog.[ch]
* app/user_install.[ch]: added a Calibrate button to the Preferences
2000-08-24 Tor Lillqvist <tml@iki.fi>
* README.win32: Update, tell people the MSVC makefiles are not
up-to-date.
* */makefile.msc: Add warning about being outdated.
* */makefile.cygwin: Remove.
* */makefile.mingw.in: New files replacing the makefile.cygwin files.
* */Makefile.am: Change correspondingly.
* configure.in: Generate corresponding makefile.mingw files.
* app/about_dialog.c: Include <gdk/gdkconfig.h> for
GDK_USE_UTF8_MBS. Add UTF-8 version of a string.
* libgimp/gimp.c: Remove horrible Win32 hack, not needed any longer.
* plug-ins/common/jpeg.c: Use g_message, not g_warning.
* plug-ins/common/winclipboard.c
* plug-ins/common/winprint.c: Remove COMPAT_CRUFT.
* plug-ins/Lighting/lighing_apply.c: Fix for non-interactive mode
bug, supplied by Piet van Oostrum.
* tips/makefile.mingw: New file.
* tips/Makefile.am: Add it.
Thu Aug 17 22:07:50 BST 2000 Andy Thomas <alt@gimp.org>
* plug-ins/sel2path/globals.h
Fixed compilation problems. Some really old compilers had problems
with the macros in sel2path. Thanks to
Dougal_R_Scott@nag.national.com.aui for pointing it out.
* app/layers_dialog.c
Fixes#16583: "new view" not being updated correctly. I still think
theres is a problem in the idle rendering when images that
have multiple views require updating.
I could only get the deleting layers operation
to leave the "other views" out of date. This fix forces the views
to be updates as soon as the layer is deleted. I think this is
acceptable since we are doing a "large scale" operation and the
performance loss by not doing the update in the background is OK.
* plug-ins/common/plugindetails.c
Fixed problem when doing searches for plugins containing a
given string caused gtk warnings to be issued
2000-08-09 Michael Natterer <mitch@gimp.org>
* app/app_procs.c: make_initialization_status_window(): reverse
logic for if(!no_interface && !no_splash)
* app/palette.[ch]: removed declarations of the two removed
functions. One more s/gint/gboolean/.
* libgimp/gimpfileselection.[ch]
* libgimp/gimppixmap.[ch]: some consistency fixes (mostly fanatic :)
* libgimp/gimpproceduraldb.c: fixed a compiler warning.
2000-08-08 Sven Neumann <sven@gimp.org>
* app/palette.c: don't crash when no palettes are available
(thanks to Daniel for pointing me to this), but allow to open
the Palette Editor so you can refresh or create a new one.
2000-07-30 Tor Lillqvist <tml@iki.fi>
* libgimp/gimp.c
* libgimp/gimp.h
* libgimp/gimpmenu.c
* libgimp/gimpprotocol.c
* libgimp/gimpprotocol.h
* libgimp/gimp.def
* app/plug_in.c
* plug-ins/helpbrowser/helpbrowser.c
* plug-ins/script-fu/script-fu.c: As the GLib main loop and IO
channel implementation on Win32 now provides the same interface as
that on Unix, much of the Win32-only crap could be
removed. Especially, no need for "wakeup" out-of-band messages to
wake up pipe readers. No need for plug-ins to tell GIMP their
thread id.
* libgimp/gimp.c (gimp_extension_process): On Win32, use the new
g_io_channel_win32_wait_for_condition() function.
* plug-ins/makefile.cygwin: Add the homogenizer plug-in to the
unofficial part.
2000-07-16 Michael Natterer <mitch@gimp.org>
Sven Neumann <sven@gimp.org>
* AUTHORS
* gimp.1.in
* app/about_dialog.c: removed two accidentially added non-authors.
* app/errors.[ch]
* app/main.c: added a new command line option
"--enable-stack-trace" which can be one of {never|query|always}.
* app/plug_in.c
* libgimp/gimp.c: pass the stack trace mode as an argv[] element to
plug-ins. Cleaned up the plug-ins' argv[] (removed unused TILE_WIDTH
and TILE_HEIGHT arguments, always pass 6 arguments to make the code
simpler).
* libgimp/gimpenums.h
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/Makefile.am
* tools/pdbgen/enums.pl: export the app's STACK_TRACE_MODE enum.
* plug-ins/common/plugindetails.c: made the titles of the tree view
unclickable, cleanups.
2000-07-08 Sven Neumann <sven@gimp.org>
* plug-ins/gap/gap_range_ops.c: applied a patch provided by
Wolfgang Hofer <hof@hotbot.com> that fixes a problem when
flattening a singlelayer image.
2000-06-27 Sven Neumann <sven@gimp.org>
* app/about_dialog.c: we used an array with a hardcoded size here
which was too small to hold all the authors recently added. Made
it a dynamic one. This fixes the "Can't quit The GIMP" bug #15483.
* app/about_dialog.h
* app/commands.c: removed the timeout parameter from
about_dialog_create() since it wasn't used at all.
2000-06-25 Sven Neumann <sven@gimp.org>
* app/resize.c (offset_update): Adding 0.5 isn't always the
right thing to do when converting to integer. Especially
not if dealing with negative values. This change should
fix the off-by-one error reported lately.
2000-06-19 Simon Budig <simon@gimp.org>
* app/layers_dialog.c: Layers can be renamed by pressing
return in the entry-widget now.
First CVS-commit with my own account :-)
2000-06-18 Sven Neumann <sven@gimp.org>
* AUTHORS: applied gimp-cornwell-000613-0 which brings the
list of authors upto date including all translators and
plug-in authors. Please check that you are listed if you have
contributed!
* gimp.1.in
* app/about_dialog.c: synced the authors lists
* INSTALL: we need gtk+-1.2.8 or newer
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-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.
* app/layers_dialog.c: Disable the "Add Layermask" menuentry
for indexed images.
* app/gimpimage.c: Leave gimp_image_add_layer_mask(...) after
spitting out messages when trying to add a layermask to an
indexed image.
-Yosh
2000-06-07 Sven Neumann <sven@gimp.org>
* Makefile.am: sorry, there's no build directory
* app/plug_in.c (plug_in_temp_run): uncommented the call to
plug_in_pop(). This seems to solve the longstanding problem
that made temporary procedures like Script-Fu fail when
called from plug-ins.
2000-06-07 Tor Lillqvist <tml@iki.fi>
* app/gimphelp.c (gimp_help_netscape): Test for help_path being
non-NULL was wrong way.
* app/preferences_dialog.c (file_pref_cmd_callback): Change
"From X Server" to "From windowing system".
* app/makefile.cygwin: Update according to file name changes.
* libgimp/gimp.def
* libgimp/gimpui.def
* libgimp/makefile.{cygwin,msc}: Update for Mitch's and Sven's
changes.
* plug-ins/libgck/gck/gckcolor.c: Include <glib.h> before
gimpmath.h, so G_PI don't get redefined when glib.h is included
later.
From Hans Breuer, portability fixes for MSVC compilation:
* app/dialog_handler.h: Bypass decalration of exported functions
which are marked with G_MODULE_EXPORT in dialog_handler.c when
compiling that file. Otherwise some compilers will get confused.
* app/dialog_handler.c: Define a test macro for above bypass.
* plug-ins/MapObject/mapobject_apply.c
* plug-ins/MapObject/mapobject_image.c
* plug-ins/MapObject/mapobject_shade.c: Include <string.h>.
* plug-ins/flame/flame.c: Define S_ISREG if needed.
* plug-ins/makefile.{cygwin,msc}: Updates.
* plug-ins/sel2path/global.h: Include <stdlib.h>.
* plug-ins/winsnap/winsnap.c: Include libgimp/gimpui.h.
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.
Sun Jun 4 20:17:25 2000 CET Austin Donnelly <austin@gimp.org>
* app/paths_dialog.c: run the sel2path plugin with a proper
display ID - previously we were using a _drawable_ ID as the
display ID: a blatant type mismatch.
* plug-ins/sel2path/pxl-outline.c: progress bar on
selection-to-path. Also, small optimization to inner loop:
cache the max values of the loops rather than needing a
function call per loop iteration (ouch!).
2000-05-28 Michael Natterer <mitch@gimp.org>
* libgimp/gimp.h
* libgimp/gimpcolordisplay.h
* libgimp/gimpcolorselector.h
* libgimp/gimpmatrix.h
* libgimp/gimpmodule.h
* libgimp/gimpunit_pdb.c: purely cosmetic stuff and added some
typedefs to make the html documentation nicer. Moved the module
documentation from the headers to the sgml files.
* app/module_db.[ch]: The type of the "init" and "unload" functions
has changed. Code cleanup.
2000-05-28 Michael Natterer <mitch@gimp.org>
* libgimp/libgimp-decl.txt
* libgimp/libgimp-docs.sgml
* libgimp/libgimp-sections.txt
* libgimp/tmpl/gimp.sgml
* libgimp/tmpl/gimpcolorbutton.sgml
* libgimp/tmpl/gimpcolordisplay.sgml
* libgimp/tmpl/gimpcolorselector.sgml
* libgimp/tmpl/gimpcolorspace.sgml
* libgimp/tmpl/gimpcompat.sgml
* libgimp/tmpl/gimpenums.sgml
* libgimp/tmpl/gimpfeatures.sgml
* libgimp/tmpl/gimplimits.sgml
* libgimp/tmpl/gimpmath.sgml
* libgimp/tmpl/gimpmodule.sgml
* libgimp/tmpl/gimpparasite.sgml
* libgimp/tmpl/gimpparasiteio.sgml
* libgimp/tmpl/gimppixmap.sgml
* libgimp/tmpl/gimpprotocol.sgml
* libgimp/tmpl/gimpsignal.sgml
* libgimp/tmpl/gimpui.sgml
* libgimp/tmpl/gimpunit.sgml
* libgimp/tmpl/gimputils.sgml
* libgimp/tmpl/gimpvector.sgml
* libgimp/tmpl/gimpwire.sgml
* libgimp/tmpl/libgimp-unused.sgml: Moved the module documentation
from the libgimp headers here, updates, cleanups.
2000-05-21 Michael Natterer <mitch@gimp.org>
These changes enable help support for 3rd party plug-ins which
install their help files outside GIMP's main help dir.
Instead of calling gimp_help(), gimp_plugin_help_func() etc.,
all help callbacks now have to call gimp_standard_help_func()
which has different implementations in the app and in libgimp.
There is a new function gimp_plugin_help_register() which can
be called during plug-in query. plug_in.c keeps a list of
executable_name/help_path pairs. Plug-ins have to pass their
exec. name to gimp_help() which uses the list to find the plug-in's
help directory.
* app/gimphelp.[ch]: gimp_help() now takes a help_path parameter.
help_path == NULL means the standard help directory. Various
changes to pass the help_path to the help browser.
* app/gimprc.c: save the plug-in's help_path in the pluginrc file.
* app/menus.c: ugly hack to enable help_paths in the "F1" callback.
* app/plug_in.[ch]: many help_path related changes. Use g_basename()
instead of strrchr(str,G_DIR_SEPARATOR), cosmetic cleanups.
* app/internal_procs.c
* app/gimphelp_cmds.c
* tools/pdbgen/pdb/gimphelp.pdb: new procedure
gimp_plugin_help_register(). gimp_help() takes a second parameter
which is the executable name (not the help_path).
* app/color_notebook.c
* app/commands.c
* app/lc_dialog.c
* app/preferences_dialog.c
* app/tools.c: call gimp_standard_help_func() instead of gimp_help().
* libgimp/gimp.c: new function gimp_get_progname() which returns
the full path of the plug-in's executable.
* libgimp/gimp.h: export the new function,
removed gimp_plugin_help_func(), gimp_help() takes the executable
name as second parameter.
* libgimp/gimpcompat.h: added gimp_plugin_help_func().
* libgimp/gimphelp.c: a wrapper for gimp_plugin_help_register(),
changed the calls to gimp_help.
* libgimp/gimphelpui.[ch]: call gimp_standard_help_func() instead
of gimp_help().
* plug-ins/helpbrowser/helpbrowser.c: now called with an additional
help_path parameter. Various changes to enable
help_path != gimp_standard_help_path.
Unrelated stuff:
* app/batch.h: added missing GPL header.
* app/gimpunit.c: had a LGPL header, merged some fprintf's into
one call.
* app/procedural_db.[ch]: cosmetic: g* types, s/g_malloc/g_new/,
prototypes, indentation.
* app/resize.c: use less packing widgets. didn't find the "offset"
redraw bug :(
2000-05-20 Sven Neumann <sven@gimp.org>
* plug-ins/webbrowser/web-browser.scm: added links to
Carey Bunks's "Gimp-Savvy" and "Grokking the GIMP" resources.
* libgimp/gimpwidgets.[ch]: use unsigned integers for the
memsize_entry. Added gimp_uint_adjustment_update().
* gimprc.[ch]
* preferences_dialog.c: use unsigned integers for memsizes
(tile_cache_size and max_new_image_size). Allows to set those
values up to 4GB. Fixes bug #11053.
2000-05-17 Michael Natterer <mitch@gimp.org>
* app/plug_in.c: be a bit more verbose in the "Plug-In crashed"
message: Warn the user that Gimp's internal state may be messed
up and that the safe way is to restart Gimp.
Unified all plug-in error messages.
* libgimp/gimp.c: also changed to messages that the Gimp is using
a newer/older wire protocol than the plug-in.
2000-05-16 Michael Natterer <mitch@gimp.org>
* app/commands.c
* app/layers_dialog.c
* app/resize.c: set the scale/resize dialog insensitive before
scaling/resizing to keep users from pressing "OK" again.
Fixes#10656.
2000-05-12 Sven Neumann <sven@gimp.org>
* gimpdrawable.c: enabled the (commented out) signal
"invalidate_preview".
* app/layers_dialog.c: connect to the "invalidate_preview"
signal to catch changes that need to be shown in the layer
previews. Synthetize an expose event when a layer changes.
Expose events are optimzed away by GTK+ if the widget is not
visible. Therefore, previews not visible in the layers_dialog
are not redrawn when they invalidate. Later the preview gets
validated by the image_preview in lc_dialog but is never
propagated to the layer_pixmap. We work around this by using an
additional flag "layer_pixmap_valid" so that the pixmap gets
updated once the preview scrolls into sight.
Fixes bugs #10549, #10300 and #8787.
* app/channel.[ch]
* app/layer.[ch]: code review and indentation
--Sven
2000-05-10 Michael Natterer <mitch@gimp.org>
Another try to get the signal/dead child recovery stuff right.
Could the brave signal crew (TM) (Austin, Garry, Raphael, Tim)
please do bad tests to the new code? I removed all strange
constants (SA_NODEFER etc.) and used only glib and POSIX stuff.
* app/main.c
* libgimp/gimp.c:
- Call gimp_signal_private() with no flags to enforce a proper
sigaction() behaviour (block signals while handler is active).
- Removed the reentrancy guards from the handlers.
- Renamed the handlers.
- Ignore SIGPIPE in the app and in plugins.
- Re-introduced the SIGCHLD handler because it should work
now. Also added a SIGCHLD handler to libgimp/gimp.c.
* app/errors.c
* libgimp/gimp.c: in the signal handler, unblock all signals
with sigprocmask() before calling g_on_error_query() because
gdb otherwise inherits the blocked signals and does nothing.
Wrapped the statements with "if (TRUE) { }" blocks so it's
easy to make the stack trace a command line option.
* app/plug_in.c
* libgimp/gimp.c: listen for G_IO_ERR and G_IO_HUP on the read
channels. In the app, pop up an error message and clean up the
plugin. In plugins, clean up and exit.
* libgimp/gimpwire.c: removed the "plug-in chrashed?" message
and print the program's name with all error messages.
* plug-ins/helpbrowser/helpbrowser.c: typo.
* app/menus.c: in Image/Filters move all entries that are not
submenus to the top of the menu.
* app/plug_in.c: order all plugin menu-entries alphabetically
(in the current locale) before sending them to menus.c.
* plug-ins/script-fu/script-fu-scripts.c: order all script-fu
menu-entries alphabetically (in the current locale) before
registering them.
* plug-ins/script-fu/script-fu.c: minor cleanups
* plug-ins/bmp/bmpread.c
* plug-ins/bmp/bmpwrite.c
* plug-ins/xjt/xjt.c: strings used with g_message do not need
a trailing newline
--Sven
* gimprc.in
* gimprc.win32
* app/gimprc.c: set default image size back to 256x256, default
to local paint options and info-window-follows-mouse.
* app/brightness_contrast.c
* app/docindex.c
* app/hue_saturation.c: picky changes on some labels.
* app/tips_dialog.c: applied (sort of) gimp-quinet-20000504-0,
which replaces the message "Show tip next time" in the
Tip Of The Day dialog with "Show tip next time GIMP starts".
--Sven
2000-05-06 Michael Natterer <mitch@gimp.org>
* app/menus.c (menus_reorder_plugins): no need to reorder
<Image>/Script-Fu twice.
* app/docindex.c: replaced the toolbar by an ops_buttons box.
Also default to opening the file instead of rising an already
open display.
2000-05-05 Michael Natterer <mitch@gimp.org>
Made the document index a bit more like the rest of the dialogs:
* app/commands.[ch]
* app/menus.c: added a cmd_callback instead of calling a function
in docindex.c directly.
* app/gimprc.c
* app/session.[ch]: added proper session management.
* app/app_procs.c
* app/docindex.[ch]
* app/docindexif.[ch]: removed another bunch of useless variables
and functions. Removed the status bar because it was not telling
very useful stuff. Removed the window position/size from the
"ideas" file.
Note: you have to either remove your ~/.gimp-1.1/ideas file or
remove it's first line or experience a nice endless loop :)
2000-05-03 Michael Natterer <mitch@gimp.org>
* app/layers_dialog.c: removed layers_dialog_idle_set_layer_focus()
because Wolfgang pointed out that it caused bad segfaults. This
fixes#10139 and #9844. OTOH this brings back the bug that the
active layers is sometimes not the selected one in the layers
dialog, grmpf.
* plug-ins/script-fu/script-fu-scripts.c: small cleanups.
* plug-ins/gap/README
* plug-ins/gap/gap_exchange_image.c
* plug-ins/gap/gap_lib.[ch]
* plug-ins/gap/gap_main.c
* plug-ins/gap/gap_mov_dialog.[ch]
* plug-ins/gap/gap_mov_exec.[ch]
* plug-ins/gap/gap_navigator_dialog.c: applied a patch from
Wolfgang Hofer <hof@hotbot.com>.
2000-04-30 Michael Natterer <mitch@gimp.org>
* gimprc.in
* app/gimprc.[ch]: replaced "color-cube" by "min-colors".
* app/app_procs.c: read unitrc/gimprc before displaying the splash.
* app/colormaps.c: set min_colors and install_cmap before
initializing GdkRGB.
* app/gimprc.[ch]
* app/gimpunit.c: don't call the splash's progress_update function.
* app/plug_in.c: pass min_colors instead of color_cube to plugins.
* app/preferences_dialog.c: widget for min_colors.
* libgimp/gimp.[ch]: s/color_cube/min_colors/ but left
gimp_color_cube() there for source level compatibility.
* libgimp/gimpprotocol.[ch]: changed the GPConfig message
accordinly and increased the gimp protocol version number because
the change breaks binary compatibility. Also actually pass the
use_xshm variable over the wire (was only in the GPConfig struct
before).
Was it the right thing to do to increase the version number??
* libgimp/gimpui.c (gimp_ui_init): use the same code as the app
for initializing GdkRGB. Never explicitly activate Gdk's SHM
usage (only switch it off).
* app/main.c
* libgimp/gimp.c: reverted the handling of all signals except
SIGCHLD back to plain old signal() because those signals are
fatal anyway and sigaction() as used by gimp_signal_*() made
debugging (stacktrace) impossible.
* plug-ins/AlienMap/AlienMap.c
* plug-ins/AlienMap2/AlienMap2.c
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/bmp/bmp.c
* plug-ins/borderaverage/borderaverage.c
* plug-ins/dbbrowser/dbbrowser.c
* plug-ins/faxg3/faxg3.c
* plug-ins/fits/fits.c
* plug-ins/flame/flame.c
* plug-ins/fp/fp.c
* plug-ins/fp/fp_gtk.c
* plug-ins/gdyntext/Makefile.am
* plug-ins/gdyntext/gdyntext_ui.c
* plug-ins/gfig/gfig.c
* plug-ins/gflare/gflare.c
* plug-ins/gfli/gfli.c
* plug-ins/gimpressionist/gimpressionist.c
* plug-ins/helpbrowser/helpbrowser.c
* plug-ins/ifscompose/ifscompose.c
* plug-ins/imagemap/Makefile.am
* plug-ins/imagemap/imap_main.c
* plug-ins/maze/maze_face.c
* plug-ins/mosaic/mosaic.c
* plug-ins/pagecurl/pagecurl.c
* plug-ins/print/print.c
* plug-ins/rcm/rcm_dialog.c
* plug-ins/script-fu/script-fu-console.c
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/script-fu-server.c
* plug-ins/sel2path/Makefile.am
* plug-ins/sel2path/sel2path.c
* plug-ins/sgi/sgi.c
* plug-ins/sinus/sinus.c
* plug-ins/struc/struc.c
* plug-ins/webbrowser/webbrowser.c
* plug-ins/winsnap/winsnap.c
* plug-ins/xjt/xjt.c: use gimp_ui_init().
* plug-ins/Lighting/lighting_ui.c
* plug-ins/MapObject/mapobject_ui.c: only switch Gdk SHM usage off,
never on. Don't use gimp_ui_init() here because of libgck.
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-20 Michael Natterer <mitch@gimp.org>
* gimprc.in
* app/gimprc.c: default to restore_session == TRUE so first time
users really see the automatically opened dialogs.
* app/session.[ch]: also open "Tool Options" if no sessionrc
exists. Moved the harcoded initial positions away from the top and
left edges of the screen to avoid dialogs which appear underneath
panels. Also arranged the four default dialogs non-overlapping.
2000-04-19 Michael Natterer <mitch@gimp.org>
* app/bucket_fill.c
* app/by_color_select.c
* app/fuzzy_select.c
* app/preferences_dialog.c: made the "default_threshold" gimprc
variable work as advertized:
- initialize the thresholds with it.
- use it for "Reset".
- added a widget to the "Tool Options" preferences page.
- noticed that the "Reset" button of "By Color Select" doesn't
behave like all the other "Reset" buttons and changed it to
reset the ui, not the selection.
(There is now a "None" button and because it was so trivial, I
couldn't resist to add "All" and "Invert" buttons, too)
* libgimp/Makefile.am
* libgimp/gimpui.c: new file.
* libgimp/gimpui.h: new function gimp_ui_init() which will be
called by all plugins which have a ui (not only by those with a
preview because plugins should always follow gimp's colormap
installation policy).
Could someone please check if the FIXME stuff in the function
is the right thing to do (TM). Does GdkRGB allocate the correct
colors for the widgets in all cases or do we have to find another
way to ensure this across processes (gtk instances)?
2000-04-18 Michael Natterer <mitch@gimp.org>
* app/user_install.c: Creating the user's gimp directory may take
some time on NFS, so users may be tempted to press the "Continue"
button again.
Inform the user that this step may take some time and set the
"Continue" and "Cancel" buttons insensitive until finished.
2000-04-11 Michael Natterer <mitch@gimp.org>
* app/plug_in.c: if attaching to the newly created shared memory
segment fails, destroy it before forgetting it's ID. Closes#6299.
* libgimp/gimpexport.c: implemented the changes Nick Lamb
suggested: If the background layer has no alpha channel,
suggest "Flatten" instead of "Merge Visible Layers".
* app/fileops.c: In the MRU list and the doc_index always store
the absolute path to images, so you can open files from the
command-line and gimp will find them later if started from another
dir. Added tooltips that show the full path.
* app/menus.c: fixed a memleak (list entries were not freed on
removal from the MRU list).
* app/main.c
* app/user_install.[ch]: renamed functions and variables to match
the new filename.
--Sven
2000-04-06 Michael Natterer <mitch@gimp.org>
* app/commands.c
* app/layers_dialog.c
* app/resize.[ch]: behave like a widget:
removed resize_widget_free() and call
gtk_widget_destroy(resize->resize_shell) instead.
* app/interface.c: s/0/FALSE/
* app/color_area.c
* libgimp/gimpchainbutton.c: show the correct background also for
engine driven themes. The chainbutton's lines still don't draw
with the pixmap theme, which is probably a bug of the theme's
draw_polygon method.
* app/app_procs.c: if we cannot load the font we'd like to use,
use the gtk+ default font. Fixes bug #8359.
* app/about_dialog.c
* app/install.c: properly ref/unref fonts
* app/text_tool.[ch]: code cleanup (do not rely on TRUE being 1)
* app/tips_dialog.c: code cleanup and less resizing
--Sven
2000-04-05 Michael Natterer <mitch@gimp.org>
* app/layers_dialog.c: oops, yesterday's "cleanups" contained an
unreverted hack I've tried which caused a SEGV with floating
selections. Fixed now.
2000-04-03 Michael Natterer <mitch@gimp.org>
* app/color_panel.[ch]
* app/color_picker.c
* app/qmask.c: removed the public function color_panel_free() and
fake a real widget's behaviour by connecting to the panel widget's
"destroy" signal.
* app/channels_dialog.c
* app/layers_dialog.c: cleaned up and sync'ed the code where
possible (without changing the logic).
2000-04-03 Michael Natterer <mitch@gimp.org>
* app/channels_dialog.c
* app/layers_dialog.c: when dropping layers/channels around in the
stack, Gtk sometimes continues searching a drag destination
_after_ the drop callback has been called (which is probably a
bug), causing a SEGV because the callback changed the GtkList
containing the layer/channel widgets.
The safe way is to reorder the stack in an idle function which
should also be robust against any future Gdk/X dnd protocol
change.
For the same reason, I added an idle function which lets the
active layer/channel widget grab the focus because in some dnd
cases the row holding the focus was not the active one (which is
otherwise impossible with GTK_SELECTION_BROWSE).
This commit should fix the remaining problems with layer/channel
dnd as well as all cases where the highlighted layer was not the
active one. Please report if it still doesn't work for you.
2000-04-03 Michael Natterer <mitch@gimp.org>
* app/gimpdnd.[ch]
* app/channels_dialog.c
* app/layers_dialog.c: removed the GdkGC parameter from
gimp_dnd_set_drawable_preview_icon() since it's no longer used.
* app/gimpimage.c: dirty the view correctly after applying the
layer mask. Don't gdisplays_flush() because it's the job of the
caller.
* app/layers_dialog.c: when applying a layer mask, flush either
the display or just the layer_widget, depending on the previous
visibility state of the mask. Cleanups.
* plug-ins/print/gimp_color_window.c
* plug-ins/print/gimp_main_window.c: including config.h re-enables
i18n.
german translation. Hopefully the translation is now good enough
that it won't ihave to change much anymore, since the new
"Gimp kurz und gut" reference for 1.2 will go into print soon...
--Sven
2000-03-25 Michael Natterer <mitch@gimp.org>
* app/cursorutil.[ch]: new global variable "gimp_busy" which gets
set/unset whenever busy cursors are added/removed.
* app/info_dialog.c: register the info dialogs with the dialog
handler.
* app/fuzzy_select.[ch]: cleanups.
Here starts the ugly workaround which simulates something like
locking. If it works, it will close lots of bugs, if not, it's
easy to remove again.
So far, I didn't find strange side effects but Gimp is told to be
a complex program :-) Please test this.
* app/context_manager.c: don't allow tool changes if gimp_busy
is TRUE.
* app/disp_callbacks.c: don't allow mouse and key events in the
display_canvas if gimp_busy is TRUE.
(except if the current tool is FUZZY_SELECT and it is ACTIVE,
which is very ugly)
Also block other stuff like dropping colors/patterns etc.
* app/gdisplay_ops.c: don't close any display while Gimp is
busy. This is not really what we want but at least it prevents
crashes.
2000-03-24 Michael Natterer <mitch@gimp.org>
* app/plug_in.c (plug_in_proc_def_remove): pass FALSE to
plug_in_proc_def_destroy() so the proc_def structure gets actually
freed.
* app/menus.c: applied and heavily modified a patch from Daniel Egger.
There's not any more the need to declare menu branches unless we
want to create empty submenus (to be filled in by plug-ins). Removes
a bunch of messages from the catalogs.
We do not longer put a seperator after submenus if the menu contains
nothing but submenus.
--Sven
2000-03-08 Tor Lillqvist <tml@iki.fi>
* app/cursorutil.c (gtkutil_compress_motion)
* app/edit_selection.c (process_event_queue_keys): Guard against
gdk_event_get returning NULL (which can happen at least on Win32).
* libgimp/gimp.def: Add a couple of new entry points.
* plug-ins/makefile.{cygwin,msc}: Update according to the source
file changes. Fix some typos in the .msc file.
Fixes by Hans Breuer:
* app/resize.c: Add some more includes.
* libgimp/gimpenv.c
* plug-ins/gflare/gflare.c: Win32 header lossage fixup.
* app/gimpcontextpreview.c: return without warning if popup_timeout
is already set. Suppresses warning that occured on double-click.
* app/layers_dialog.[ch]
* app/menus.c: added "Delete Mask" menu entry and removed dialog
asking if mask is to applied or discarded on "Apply Mask".
* app/tools.c: Magnify is not a transform tool
--Sven
2000-02-26 Garry R. Osgood <gosgood@idt.net>
* app/commands.c
* app/gimpimage.c
* app/layer.c
* app/layer.h
* app/resize.c
* app/resize.h
Aliasing artifacts that changed relative positions
of layers under scaling, giving rise to #5271, are
minimized by a new layer.c function,
layer_scale_by_factors(). Closes#5271. See
http://idt.net/~gosgood/gimp-patch/patch07.html for
further detail. See also usage documentation for
layer_scale() and layer_scale_by_factors() in
layer.c.
Provided logic for the Scale Image dialog box to
pre-check an image's layers for the possibility that
a particular scaling, s: 0 < s < 1, reduces a layer
dimension to zero. Should this case prevail, a
boolean dialog box warns the user of the
possibility. The user may (1) Cancel, returning
focus to Scale Image and the possibility of
corrective adjustment, or (2) OK the scaling. The
layers that will vanish upon the new scaling are
culled from the GimpImage::layers list first.
* app/fileops_cmds.c
* tools/pdbgen/pdb/fileops.pdb: don't add an already registered
load|save handler twice to the list. This fixes the problem
that extension were listed twice if a load|save plugin changed.
* app/plug_in.[ch]: code cleanup, indentation
* app/xcf.[ch]: same here, include copyright headers
* plug-ins/common/wmf.c: properly cancel the load if the user
pressed Cancel in the dialog (fixes bug #6500)
--Sven
2000-02-24 Michael Natterer <mitch@gimp.org>
* app/paths_dialog.c: we were also leaking all path preview
pixmaps ever created. Always remember that GdkPixmaps are not
created "floating" but with a real refcount of 1. Minor cleanups.
2000-02-24 Michael Natterer <mitch@gimp.org>
* app/gimpbrush.[ch]
* app/gimpbrushgenerated.[ch]
* app/gimpbrushlist.[ch]
* app/gimpbrushlistP.h
* app/gimpbrushpipe.[ch]
* app/gimpbrushpipeP.h: did a brushes code-review: indentation,
removed some includes, didn't find a bug :-)
* app/gradient.c
* app/palette.c: we were leaking all gradient and palette preview
pixmaps as well as all lists of palette colors on each refresh.
* libgimp/gimpenv.c: updated documentation.
2000-02-24 Michael Natterer <mitch@gimp.org>
* app/datafiles.c: fixed a memleak.
* app/gimpbrushlist.c
* app/gradient.c
* app/palette.c: use the gimp_path_* functions, cleanups.
* app/gimpbrushpipe.c: call the "destroy" function of the parent
class, not of the object class. Fixes a huge memleak on each
"Refresh".
* app/gimpbrushpipeP.h
* app/gimplist.c
* app/gimpbrush.c: did some cleanups while searching the brush
memleak.
* libgimp/gimpenv.c: gimp_path_get_user_writable_dir(): return a
copy of the string.
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/gfig/gfig.c
* plug-ins/gflare/gflare.c: g_free() the string returned by
gimp_path_get_user_writable_dir().
2000-02-23 Michael Natterer <mitch@gimp.org>
* app/file_new_dialog.c: use a gimp_query_boolean_box().
* libgimp/gimpenv.c
* libgimp/gimpquerybox.c: documentation updates.
* libgimp/gimpwidgets.[ch]: changed the widget constructors to
return only the container widget and added access marcos for the
sub-widgets. Added documentation for all functions.
Made gimp_toggle_button_sensitive_update() public so this feature
can be properly documented.
* plug-ins/common/blur.c
* plug-ins/common/gauss_iir.c
* plug-ins/common/gauss_rle.c
* plug-ins/common/plasma.c
* plug-ins/common/randomize.c
* plug-ins/common/snoise.c
* plug-ins/common/spread.c
* plug-ins/common/tile.c
* plug-ins/gflare/gflare.c: updated according to the
gimpwidgets.[ch] changes.
2000-02-23 Michael Natterer <mitch@gimp.org>
* libgimp/libgimp-decl.txt
* libgimp/libgimp-sections.txt
* libgimp/tmpl/gimpenv.sgml
* libgimp/tmpl/gimppixmap.sgml
* libgimp/tmpl/gimpwidgets.sgml: various updates and documentation
for all gimpwidgets.[ch] functions.
2000-02-22 Michael Natterer <mitch@gimp.org>
* app/color_area.[ch]
* app/interface.c: pass masks for the "default" and "swap" pixmaps
to the color_area constructor and use them to create a clip mask
in color_area_draw().
* app/datafiles.[ch]: some harmless cleanups.
* libgimp/gimppixmap.c: use gtk_pixmap_set_build_insensitive()
instead of accessing the field directly.
2000-02-19 Michael Natterer <mitch@gimp.org>
* libgimp/gimppixmap.c: gimp_pixmap_new(): set the widget's
requisition so it can be properly packed before it's realized.
* libgimp/gimpwidgets.[ch]: added a "text" parameter to
gimp_pixmap_button_new().
* app/undo_history.c: use gimp_pixmap_buttons.
* app/gradient.c
* app/nav_window.c
* app/palette.c
* libgimp/gimppatheditor.c
* plug-ins/Lighting/lighting_ui.c
* plug-ins/MapObject/mapobject_ui.c: changed calls to
gimp_pixmap_button_new().
* plug-ins/MapObject/mapobject_main.c: INIT_I18N() was missing in
query().
* plug-ins/pagecurl/pagecurl.c: use GimpVector2 functions instead
of reinventing the wheel.
* plug-ins/helpbrowser/helpbrowser.c: use gimp_pixmap_buttons.
* plug-ins/helpbrowser/back.xpm
* plug-ins/helpbrowser/forward.xpm: cropped.
2000-02-18 Michael Natterer <mitch@gimp.org>
* libgimp/Makefile.am
* libgimp/gimppixmap.[ch]: simple widget which creates a pixmap
from XPM data without the need to worry about it's parent's
"realized" state and other stuff.
* libgimp/gimpcolorbutton.c: removed a gtk-doc comment from an
internal function.
* libgimp/gimpwidgets.[ch]: new function gimp_pixmap_button_new().
* app/gimpui.h
* libgimp/gimpui.h: include gimppixmap.h.
* app/gradient.c
* app/nav_window.c
* app/palette.c
* libgimp/gimpfileselection.[ch]
* libgimp/gimppatheditor.c
* libgimp/gimpquerybox.c
* plug-ins/FractalExplorer/FractalExplorer.c: use GimpPixmaps.
* plug-ins/Lighting/*
* plug-ins/MapObject/*: some more cleanups: reduced # of includes,
made private functions static, use GimpPixmaps.
* plug-ins/libgck/Makefile.am
* plug-ins/libgck/NEWS
* plug-ins/libgck/README
* plug-ins/libgck/TODO
* plug-ins/libgck/docs/html/gck.html
* plug-ins/libgck/docs/html/gck_application_window.html
* plug-ins/libgck/docs/html/gck_dialog_window.html
* plug-ins/libgck/docs/html/gckmath.html
* plug-ins/libgck/docs/html/gckui.html
* plug-ins/libgck/docs/html/gckvector.html: removed because they
documented files which don't exist any more.
paths.c and did a general namespace cleanup:
s/PATHP/Path*/ s/PATHIMAGELISTP/PathList/ and friends.
Paths are now copied on image duplicate (fixes bug #5726).
Removed Path Tool and XInput Airbrush from the build and
renamed "Layers & Channels" to "Layers, Channels & Paths".
Applied patch from Wolfgang Hofer to xjt.c that enables loading
and saving of paths based on Andy's change explained below.
--Sven
2000-02-14 Michael Natterer <mitch@gimp.org>
* app/preferences_dialog.c: purely cosmetic.
* libgimp/gimpdialog.c: purely fanatic.
* libgimp/gimpwidgets.c: attach label, scale and spinbutton to the
adjustment returned by gimp_scale_entry_new().
* plug-ins/common/film.c: set reasonable climb_rate's for the
advanced options's spinbuttons.
2000-02-13 Michael Natterer <mitch@gimp.org>
* po/POTFILES.in
* app/Makefile.am
* app/buildmenu.[ch]: removed.
* app/blend.c
* app/brush_select.c
* app/curves.c
* app/histogram_tool.c
* app/layers_dialog.c
* app/lc_dialog.c
* app/levels.c
* app/paint_options.h
* app/paintbrush.c
* app/tool_options.c: use the libgimp option menu
constructor. Removed paint_mode_menu_set_history().
* app/colormap_dialog.i.c
* app/colormap_dialog.p.h: use a popup menu as in the palette
dialog instead of a pulldown menu.
* app/channels_dialog.c: made color dnd to a channel widget work
again.
* libgimp/gimpwidgets.[ch]: new function
gimp_option_menu_set_history() which sets the history according to
user_data as passed to gimp_option_menu_new().
2000-02-13 Michael Natterer <mitch@gimp.org>
* app/brush_select.c
* app/paint_options.h
* app/tool_options.c: use new function
paint_mode_menu_set_paint_mode() instead of
gtk_option_menu_set_history() because the order of paint modes in
the menu is different from the one in the LayerModeEffects enum
(fixes bug #6190). Create the menu with the libgimp menu
constructor.