2001-04-29 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainerview.[ch]: added virtual method
context_item() which works like select_item() and activate_item()
and a function to trigger the signal from subclasses (marked as
"protected").
* app/widgets/gimpcontainerlistview.c: invoke context_item() on
right click.
* app/widgets/gimpdrawablelistview.[ch]: implement context_item()
and show a context menu. The functions to show the menu as well as
functions to create a new drawable and to edit it's attriutes must
be passed to the constructor now.
* app/gui/channels-commands.[ch]
* app/gui/layers-commands.[ch]: added functions which show the
layers and channels context menus. No accelerators supported yet.
Auto-destroy all dialogs when their drawable is removed from the
image.
* app/gui/dialogs-constructors.c: changed the calls to
gimp_drawable_list_view_new() accordingly.
* app/gui/menus.c
* app/gui/test-commands.[ch]: removed some test dialogs.
2001-04-22 Michael Natterer <mitch@gimp.org>
* app/Makefile.am: cleanup.
* app/interface.c: #include "gimpui.h"
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c
* app/gui/menus.c
* app/gui/test-commands.[ch]: changes for the image menu below.
* app/apptypes.h
* app/widgets/Makefile.am
* app/widgets/gimpcontainermenu.[ch]
* app/widgets/gimpcontainermenuimpl.[ch]: new widgets. The actual
implemtation lives in a separate file because
gimpcontainermenu.c's code is identical to gimpcontainerview.c's
except for the base class. This will become an interface with Gtk 2.0.
* app/widgets/gimpimagedock.[ch]: a dock with an image menu. The
pages still don't follow the context correctly.
* app/widgets/gimpmenuitem.[ch]: a menu item with a preview.
* app/widgets/gimpdialogfactory.[ch]: pass a dock constructor to
the constructor and provide a method to create a new dock within
this factory's context.
* app/widgets/gimpdock.[ch]: removed the constructor because we
create only image docks now. Put the vbox into a main_vbox (which
also contains the image menu).
* app/widgets/gimpdockbook.[ch]: create new docks with the dialog
factory.
* app/gimpcontainer.[ch]
* app/gimpdata.[ch]
* app/gimpdatafactory.[ch]
* app/gimpdatalist.[ch]
* app/gimplist.[ch]
* app/gimpviewable.[ch]
* app/widgets/gimpbrushpreview.[ch]
* app/widgets/gimpcontainergridview.[ch]
* app/widgets/gimpcontainerlistview.[ch]
* app/widgets/gimpcontainerview.[ch]
* app/widgets/gimpdatafactoryview.[ch]
* app/widgets/gimpdockable.[ch]
* app/widgets/gimpdrawablelistitem.[ch]
* app/widgets/gimpdrawablelistview.[ch]
* app/widgets/gimpdrawablepreview.[ch]
* app/widgets/gimplayerlistitem.[ch]
* app/widgets/gimplayerlistview.[ch]
* app/widgets/gimplistitem.[ch]
* app/widgets/gimppalettepreview.[ch]
* app/widgets/gimppatternpreview.[ch]
* app/widgets/gimppreview.[ch]: ass-sign some copyrights.
2001-04-21 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/lc_dialogP.h
* app/paths_dialogP.h: removed stuff that will go away anyway (put
the declarations to the public headers).
* app/gimpui.[ch]: new function gimp_widget_get_callback_context()
which may only be called from a *_cmd_callback() and returns the
data we attached with weird methods.
* app/gui/Makefile.am
* app/gui/channels-commands.[ch]: callbacks independent from the
channels dialog and the "new" and "edit channel" dialogs.
* app/gui/channels-dialog.[ch]
* app/gui/layers-commands.c
* app/gui/layers-dialog.[ch]
* app/lc_dialog.[ch]
* app/gui/menus.c
* app/gui/paths-dialog.[ch]
* app/tools/gimpbezierselecttool.c
* po/POTFILES.in: changed accordingly.
2001-04-20 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/layers_dialogP.h: removed.
* app/gimpui.[ch]: new function gimp_menu_position().
* app/disp_callbacks.c
* app/interface.c
* app/gui/layers-dialog.c: popup the image and layers menu with
gtk_item_factory_popup_with_data() instead of gtk_menu_popup()
and pass the GimpImage we're operating on as data.
For accelerators, which are invoked without context, we catch key
press events and attach the context to the GtkItemFactory.
* app/gui/Makefile.am
* app/gui/layers-commands.[ch]: common layer callbacks (instead of
separate ones in commands.c and layers-dialog.c
* app/gui/commands.[ch]
* app/gui/layers-dialog.[ch]: removed the menu callbacks here.
* app/gdisplay.h
* app/lc_dialog.c
* app/gui/channels-dialog.c
* app/gui/layer-select.c
* app/gui/menus.c
* po/POTFILES.in: changed accordingly.
2001-04-20 Michael Natterer <mitch@gimp.org>
* app/main.c: set the message handler for all app log domains, not
only for "Gimp".
* app/gui/brush-select.c
* app/gui/gradient-select.c
* app/gui/palette-select.c: removed the "edit" callbacks.
* app/gui/dialogs-constructors.[ch]: Added the callbacks
here. Added layer and channel lists.
* app/gui/dialogs.c: register the new lists.
* app/gui/menus.c: their menu entries.
* app/widgets/gimpdock.c: set a minimal width of 280 pixels.
2001-04-18 Michael Natterer <mitch@gimp.org>
* app/devices.[ch]
* app/gui/about-dialog.[ch]
* app/gui/preferences-dialog.[ch]
* app/gui/tips-dialog.[ch]: return a GtkWidget from the constructor.
* app/gui/dialogs.c
* app/gui/dialogs-constructors.[ch]: register them with the dialog
factory.
* app/gui/commands.[ch]
* app/gui/menus.c: removed their old callbacks.
* app/gui/brush-select.c
* app/gui/gradient-select.c
* app/gui/palette-editor.[ch]: no need to show or raise the shell
(that's done by the dialog factory now).
* app/widgets/gimpdialogfactory.c: actually do what the
"singleton" and "session_managed" flags say.
2001-04-17 Michael Natterer <mitch@gimp.org>
* app/session.[ch]
* app/gimprc.c: removed the old dialog session management code...
* app/widgets/gimpdialogfactory.[ch]: ...and manage all dialogs here.
* app/gui/dialogs-constructors.[ch]: dialog factory compliant
constructors for all session managed toplevel dialogs.
* app/brush_select.[ch]
* app/devices.[ch]
* app/docindex.[ch]
* app/errorconsole.[ch]
* app/gradient_select.[ch]
* app/info_dialog.c
* app/lc_dialog.[ch]
* app/palette.[ch]
* app/pattern_select.[ch]
* app/toolbox.[ch]
* app/tools/tool_options_dialog.[ch]: all dialog constructors have
to return the dialog now (even the legacy ones that will go away).
Removed the session management code as this is now done for the
dialogs, not by them.
* app/app_procs.c
* app/color_select.c
* app/commands.[ch]
* app/indicator_area.c
* app/menus.c
* app/palette_select.c
* app/preferences_dialog.c
* app/gui/dialogs.c
* app/gui/dialogs-commands.[ch]
* app/gui/gui.c
* app/tools/gimptool.c
* app/widgets/gimpdock.c: changed accordingly.
2001-04-16 Michael Natterer <mitch@gimp.org>
First attempt to get the docks session managed:
* app/gimprc.c: new gimprc type "new-session-info" which will soon
replace the original one.
* app/menus.c
* app/gui/dialogs.c: s/_/-/g in all dialog identifier strings.
* app/session.[ch]: call the dialog factory's session functions.
* app/test_commands.c: use the dialog factory to create the tabs.
* app/gui/dialogs-commands.c
* app/gui/dialogs-constructors.[ch]: the constructors return widgets,
not dockables now.
* app/widgets/gimpdialogfactory.[ch]: maintain a list of dialog
factories in the class struct. Added ugly code to do the GimpDock
session management.
* app/gui/gui.c
* app/widgets/gimpdock.c: changed accordingly.
2001-04-15 Michael Natterer <mitch@gimp.org>
* app/menus.[ch]: changed all menus_get_*() functions to return
the GtkItemFactory, not separate widget, and accel_group
pointers. Disabled automatic tearoff item creation for all
factories axcept the toolbox and image factory.
* app/channels_dialog.c
* app/file-open.c
* app/file-save.c
* app/interface.c
* app/layers_dialog.c
* app/paths_dialog.c
* app/toolbox.c: changed accordingly.
2001-04-14 Michael Natterer <mitch@gimp.org>
* app/menus.c: added some more dialog types.
* app/gui/Makefile.am
* app/gui/gimpdialogfactory.[ch]: removed again...
* app/widgets/Makefile.am
* app/widgets/gimpdialogfactory.[ch]: ...and added where it belongs.
* app/gui/dialogs.c
* app/widgets/gimpdock.c: changed #include's
* app/gui/dialogs-commands.c: dialogs can be removed via the menu
now.
* app/widgets/gimpdockbook.c: ref the dockbook while the item
factory is active because an item factory callback may destroy it
(we need to add the hijacked GtkNotebook menu back to the
notebook).
2001-04-14 Michael Natterer <mitch@gimp.org>
* configure.in
* app/Makefile.am
* app/gui/Makefile.am: new directory which will contain all gui code
except widgets (I was tired off adding new files to app/).
* app/apptypes.h
* app/gui/gimpdialogfactory.[ch]: factory which produces dialogs
from string descriptions. Should maybe go to widgets/.
* app/gui/dialogs-commands.[ch]: callbacks for the new menu
factory below.
* app/gui/dialogs-constructors.[ch]: dialog constructors which are
registered with the dialog factory.
* app/gui/dialogs.[ch]: register the dialogs with the factory.
* app/app_procs.c: call dialogs_register().
* app/menus.[ch]: a new item factory for creating dialogs.
* app/test_commands.c
* app/widgets/gimpdock.[ch]: added a dialog factory pointer to the
GimpDock struct.
* app/widgets/gimpdockbook.[ch]: badly (badly!) fiddle around with
GtkNotebook's menu to get it integrated in the GtkItemFactory
which produces new dialogs.
2001-04-13 Michael Natterer <mitch@gimp.org>
* app/pdb/procedural_db.[ch]: removed the ID system from the pdb/
subdir...
* app/gimpimage.[ch]: ...and temporarily added it back to GimpImage.
The ID stuff is not only used by the PDB but is a more general
type of service which is needed for the PDB, DND and some parts of
the GUI. Finally, a GimpFactory class with subclasses for data
objects, images etc. will maintain the ID spaces.
* app/colormap_dialog.c
* app/file-open.c
* app/file-save.c
* app/gdisplay.c
* app/gimpdnd.c
* app/gimpdrawable.c
* app/info_window.c
* app/lc_dialog.c
* app/nav_window.c
* app/palette_import.c
* app/paths_dialog.c
* app/plug_in.c
* app/xcf.c
* app/tools/gimptexttool.c
* tools/pdbgen/pdb.pl
* tools/pdbgen/pdb/image.pdb: use GimpImage's ID functions.
* app/pdb/channel_cmds.c
* app/pdb/channel_ops_cmds.c
* app/pdb/convert_cmds.c
* app/pdb/display_cmds.c
* app/pdb/drawable_cmds.c
* app/pdb/fileops_cmds.c
* app/pdb/guides_cmds.c
* app/pdb/image_cmds.c
* app/pdb/layer_cmds.c
* app/pdb/parasite_cmds.c
* app/pdb/paths_cmds.c
* app/pdb/selection_cmds.c
* app/pdb/text_tool_cmds.c
* app/pdb/tools_cmds.c
* app/pdb/undo_cmds.c: regenerated.
2001-04-10 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/apptypes.h
* app/gimpdockbook.[ch]: new object (the notebook separated out
of gimpdock.[ch]).
* app/gimpdnd.h: new DND type "DIALOG".
* app/gimpdock.[ch]
* app/gimpdockable.[ch]: DND mostly works now.
* app/menus.c
* app/test_commands.[ch]: updated.
2001-04-07 Michael Natterer <mitch@gimp.org>
* configure.in
* app/Makefile.am
* app/paint-funcs/.cvsignore
* app/paint-funcs/Makefile.am: made the paint-funcs directory compile
so Prof can continue hacking it. The old stuff still needs to be
removed.
* app/apptypes.h
* app/gimpdock.[ch]
* app/gimpdockable.[ch]: new widgets (not used yet).
* app/menus.c
* app/test_commands.[ch]: untested testing code for the new widgets.
2001-03-30 Michael Natterer <mitch@gimp.org>
* app/app_procs.[ch]: some random cleanups in pre-historic code.
* app/fileops.c: useless cleanup (will be split into file-open.[ch]
and file-save.[ch] soon).
* app/gimppattern.c: implement GimpData's "duplicate" method.
* app/global_edit.c: cleanup in preparation for making a view on a
GimpContainer of cut buffers out of it.
* app/gradient_editor.c: don't let the name entry expand vertically.
* app/menus.c: typos.
2001-03-11 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/apptypes.h
* app/gimplayerlistview.[ch]: new subclass of GimpDrawableListView
(the upcoming replacement of the layers dialog). Connects to the
new GimpLayer signals using the layer container as signal proxy
(see below).
* app/gimpcontainerview.[ch]: made "set_container" a virtual
function. This is needed by the GimpLayerListView to
connect/disconnect signals. Subclasses implementing this method
MUST obey the following order of instructions:
1. disconnect from signals related to GimpContainerView->container
2. chain up (!!!)
3. connect to signals related to GimpContainerView->container
And yes, I will add DocBook files for all those new objects :)
* app/gimppreview.[ch]: made "border_color" a GimpRGB instead of
guchar[3]. Added gimp_preview_set_border_color().
* app/gimpcontainergridview.c
* app/gimplayerlistitem.c: use gimp_preview_set_border_color().
* app/gimpcontainerlistview.c
* app/gimpdrawablelistview.c: cleanup.
* app/gimpdrawablelistitem.c: we can safely asume that our parent
widget is a GimpDrawableListView and use it's "reorder_drawable"
function pointer (after checking that it's there).
* app/gimplistitem.c: connect the correct DND type when changing
the container of a list item with "reorderable" enabled.
* app/gimplayer.[ch]: added accessors and "*_changed" signals for
layer->mode, layer->opacity and layer->preserve_trans.
* app/disp_callbacks.c: fixed a FIXME: use the correct bucket fill
tool context again.
* app/tools/paint_options.[ch]: paint_mode_menu_new(): added a
boolean which toggles the "Behind" item on/off to the same
constructor can be used for all paint mode menus.
* app/tools/gimptoolinfo.c: rect. select is the standard tool again.
* app/brush_select.c
* app/floating_sel.c
* app/gimpimage.c
* app/layers_dialog.c
* app/pdb/layer_cmds.c
* app/tools/gimpeditselectiontool.c
* tools/pdbgen/pdb/layer.pdb: use the new layer accessors and the
paint_mode_menu constructor.
* app/commands.c
* app/gdisplay.c
* app/menus.c
* app/undo.c
* app/tools/gimppainttool.c
* app/tools/gimptool.c
* app/tools/paint_options.c
* app/tools/tool_manager.c: put the #warning's back inside
#ifdef __GNUC__
* app/Makefile.am
Inclusion of David's MMX code into Makefile now
depends on prior definition of HAVE_ASM_MMX.
* app/pdb/procedural_db.c
Line 276 cast of va_args to type GimpRGB seems
very problematical on SGI, as the va_args macro
expands to Extreme Ugliness and
(GimpRGB)(Extreme Ugliness) does not compile.
RH Linux seems indifferent and accepts either.
* app/commands.c
* app/gdisplay.c
* app/menus.c
* app/plug_in_cmds.c
* app/undo.c
* app/tools/gimppainttool.c
* app/tools/gimptool.c
* app/tools/paint_options.c
* app/tools/tool_manager.c
s|#<remark about extreme buggedness>|
/* #<remark about extreme buggedness> */|
Not all compilers are at peace with non-standard
pre-compiler directives. SGI MIPs compilers are
among the latter species.
2001-02-27 Michael Natterer <mitch@gimp.org>
* app/apptypes.h
* app/Makefile.am
* app/gimpdrawablelistview.[ch]: new widget. The upcoming replacement
for the layers and channels dialogs.
* app/test_commands.[ch]: put the test dialogs here...
* app/commands.[ch]: ... and made this one clean again.
* app/gimpcontainergridview.c
* app/gimpcontainerlistview.c
* app/gimpcontainerview.[ch]: some signal handling fine tuning.
* app/gimpimage.[ch]: emits "active_layer_changed" and
"active_channel_changed" signals now. The semantics of
gimage->active_layer and gimage->active_channel have changed a bit.
We now have either an active layer _or_ and active channel (there
is no active layer any more if a channel is active).
* app/channel_ops.c
* app/floating_sel.c
* app/gdisplay.c
* app/layers_dialog.c
* app/menus.c: changed accordingly.
* app/tools/gimpcolorpickertool.c: actually assign the draw_class
vraiable in the class_init function.
* app/tools/gimpdrawtool.[ch]
* app/tools/tool.c: removed the _new() functions because these
objects are abstract superclasses. Did some cleanup.
Nathan, please configure you editor to _not_ produce any tabs
in the source code.
* app/tools/gimppaintbrushtool.[ch]: "blurb" and "help" are tagged
with _(), not N_(). Put the register function to the header.
* po/POTFILES.in: made it compile again.
2001-02-24 Michael Natterer <mitch@gimp.org>
* app/commands.[ch]: added cmd_callbacks for the toolbox and
the preferences dialog.
* app/context_manager.c: cleanup.
* app/gimppreview.[ch]: made gimp_preview_render() public.
* app/gimptoolinfopreview.c
* app/tools/gimptoolinfo.c: the tool previews look nice now but
are still ugly implemented (it renders tons of temp_bufs on each
state change).
* app/indicator_area.[ch]: pass a context to the constructor.
* app/menus.c: don't call the toolbox and the prefs dialog
directly but dispatch via commands.[ch]
* app/preferences_dialog.[ch]
* app/toolbox.[ch]: renamed the constructor / raise function, cleanup.
* app/tools/color_picker.c: tried to get the shortcut working again.
* app/tools/paint_options.c: the brush dialog's paint options
are shown/hidden from the context manager now.
2001-02-23 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/apptypes.h
* app/gimptoolinfopreview.[ch]: new widget.
* app/gimppreview.c
* app/tools/gimptoolinfo.c
* app/gimpdnd.c: changed for the tool info preview. Still buggy
and looks a bit funny at the moment :-)
* app/commands.[ch]
* app/menus.c: small new feature: shift-X toggles the whole context.
2001-02-21 Michael Natterer <mitch@gimp.org>
Made the tool system work again and integrated it back with the
GimpContext. It's a hack between old, new and freshly hacked
stuff. There are still lots of warnings but at least we can switch
tools again.
* app/tools/Makefile.am
* app/tools/gimptoolinfo.[ch]: resurrected as real object.
The GimpToolInfo objects are derived from GimpData, which gives
us the tool icon stuff for free. Also, we need a list of _objects_
which is allocated all the time. All tools are required to have
a "register" function which registers themselves with the list
of GimpToolInfo objects which is maintained by the tool manager.
* app/tools/tool.[ch]: made a real GtkObject with properly named
functions out of it. The former "active_tool_control" is of
course not the default implementation of the tool's "control"
method but a hack _around_ it, so it went to the tool manager.
* app/tools/color_picker.[ch]
* app/tools/measure.[ch]: ditto. Added "register" functions and
"destroy" implementations so the tools go away after use.
* app/tools/tool_manager.[ch]: badly hacked at the moment to keep
both the list of class structures _and_ the tool info list.
* app/tools/tools.c: call the tools' register functions.
* app/gimpcontext.[ch]: store a pointer to a GimpToolInfo object
as "active_tool" in the context, so we're independent of tools
being allocated or not. It's treated just like a brush or pattern
now.
* app/gimpdnd.[ch]: made tool DND work like all other DND types.
* app/devices.[ch]: also here: the tool is just a normal data object
now, resulting in removal of lots of code.
* app/commands.c
* app/context_manager.c: updated the tool select and context stuff
to work again.
* app/toolbox.c: removed the old pixmap buttons and put GimpPreviews
inside the tool buttons. Still needs an own preview type to
look nice.
* app/disp_callbacks.c
* app/about_dialog.c
* app/app_procs.c
* app/appenums.h
* app/apptypes.h
* app/gimage.c
* app/gimppalette.c
* app/gimppreview.c
* app/gimprc.c
* app/info_window.c
* app/menus.c
* app/palette_select.h
* app/scale.c
* app/scroll.c: lots of changes to make it work again.
2001-02-19 Michael Natterer <mitch@gimp.org>
* app/commands.[ch]
* app/menus.c: first version of the new layers and channels dialogs.
* app/gimpcontainergridview.c
* app/gimpcontainerlistview.c: allow creation with a NULL container.
* app/gimpdnd.[ch]: added generic DND functions for all drawable
types (not just setting the DND icon). Started to remove code
duplication.
* app/gimpdrawablepreview.c: with some magic calculations and ugly
assumptions the drawable previews now look exactly like in the old
L&C dialog.
* app/gimpimagepreview.c: no need to say "return" at the end of a
void function.
* app/gimppreview.[ch]: added the "is_popup" boolean also to the
default constructor. Call gimp_preview_set_viewable() before
calculating the preview size.
* plug-ins/plugin-helper/*: prototype for an extension that allows
gmodules as plugins. Known bug: crashes on gmodules with a static "query" function
* app/tools/tool.c
* app/tools/tool.h: created new GimpTool object. Did away with ToolInfo.
Most tools still need to be ported over to the new api.
* plug-ins/script-fu/script-fu-scripts.c: fixed typo in comment. Pathetic, huh?
2001-02-13 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* po/POTFILES.in
* app/gimpdatacontainerview.[ch]: new widget which will replace the
current brush, pattern, ... selections. To really use it, there
needs to be a GimpDataFactory object (coming soon...)
* app/commands.[ch]
* app/menus.c: added test data container views.
* app/paint_funcs_simd.S: #include the implementation with "", not <>
2001-02-13 Michael Natterer <mitch@gimp.org>
* app/gradient_editor.[ch]
* app/gradient_select.[ch]: use GimpContainerListView instead of
cooking an own list.
* app/gimpgradient.[ch]: removed the GdkPixmap from the gradient.
* app/gimpcontainerlistview.c: connect the viewable's "name_changed"
signal to the label.
* app/gimpmarshal.[ch]
* app/gimppreview.[ch]: new virtual function "get_size",
* app/gimpgradientpreview.c: implement "get_size" and return a 3:1
aspect ratio.
* app/gradients.c
* app/palette_select.[ch]
* app/palettes.c: removed the dialog freeze/thaw functions.
* app/brush_select.c
* app/pattern_select.c
* app/plug_in.c: stuff.
2001-02-12 Michael Natterer <mitch@gimp.org>
* app/brush_select.[ch]
* app/pattern_select.[ch]: removed almost all code by using
the GimpContainerGridView.
* app/brushes.c
* app/patterns.c: brush|pattern_select_freeze|thaw_all() don't
exist any more.
* app/devices.c: made it work again.
* app/gimpgradientpreview.c: the gradient popup is 128 x 32 again.
* app/plug_in.c: follow the brush and pattern dialog function
renaming.
* app/gimppalette.[ch]
* app/gimppalettepreview.c: added a "Columns" attribute and show
the popups accordingly.
The palette file format has changed again. It now can have an
optional "Columns: <n>" line after the palette's name.
* data/palettes/Bgold.gpl
* data/palettes/Borders.gpl
* data/palettes/Cascade.gpl
* data/palettes/China.gpl
* data/palettes/Coldfire.gpl
* data/palettes/Dark_pastels.gpl
* data/palettes/Ega.gpl
* data/palettes/Gold.gpl
* data/palettes/Grayblue.gpl
* data/palettes/Hilite.gpl
* data/palettes/Kahki.gpl
* data/palettes/Named_Colors.gpl
* data/palettes/News3.gpl
* data/palettes/Op2.gpl
* data/palettes/Plasma.gpl
* data/palettes/Visibone.gpl
* data/palettes/Visibone_2.gpl
* data/palettes/Web.gpl: added the "Columns" parameter where it
makes sense and remove those ugly black colors which were hanging
around as first color of may palettes.
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-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-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-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/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-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-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-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-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-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 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-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-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-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-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-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-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-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-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
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-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-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-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
* 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
* 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
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-12 Michael Natterer <mitch@gimp.org>
* app/app_procs.c: fix a warning.
* app/menus.c: don't allow the help menu item accelerators to be
changed. Move all ordinary menu items under "<Toolbox>/Xtns"
before the separator without explicitly naming them.
* app/session.[ch]: minor cleanups without changing any logic.
2000-02-10 Michael Natterer <mitch@gimp.org>
* Makefile.am
* pixmaps/wilber.xpm: new file.
* libgimp/gimpdialog.[ch]: uncommented some lines. Depending on
your window manager, you'll figure out what it does without having
to look at the sources...
* app/app_procs.c
* app/gradient.c
* app/menus.c: minor changes to bring the goodie above to all
places. Did dome cleanups.
* app/commands.c: I18N fix.
* app/channels_dialog.c: removed an unused declaration.
* app/menus.c: an attempt to guard us against badly translated
menu_entries which may result in a crash when passed to
gtk_item_factory_parse_path (). This might fix bug #6052.
--Sven
2000-02-01 Michael Natterer <mitch@gimp.org>
* app/menus.c
* app/channels_dialog.[ch]
* app/layers_dialog.[ch]
* app/paths_dialog.[ch]: Added an "Edit xxx Attributes..." menu
entry to the dialogs' popup menus.
2000-01-25 Michael Natterer <mitch@gimp.org>
* configure.in
* po-plug-ins/POTFILES.in
* plug-ins/common/Makefile.am
* plug-ins/common/plugin-defs.pl
* plug-ins/megawidget/*: removed. (There were only 3 functions
left which were used by ~5 plugins, so I moved the resp. functions
to the plugins). More preview stuff to come...
* app/airbrush_blob.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: use G_PI instead of M_PI.
* app/procedural_db.h
* libgimp/gimpenums.h
* plug-ins/script-fu/script-fu-constants.c
* tools/pdbgen/enums.pl: new PDB return value STATUS_CANCEL which
indicates that "Cancel" was pressed in a plugin dialog. (Useful
only for file load/save plugins).
* app/fileops.[ch]
* app/menus.c: changes to handle STATUS_CANCEL correctly. Did some
code cleanup in fileops.[ch]. Pop up a warning if File->Save
failed.
* app/plug_in.c: return_val[0] is of type PDB_STATUS, not
PDB_INT32.
* libgimp/gimpmath.h: new constant G_MAXRAND which equals to
RAND_MAX if it exists or to G_MAXINT otherwise.
* libgimp/gimpwidgets.[ch]: new function gimp_random_seed_new()
which creates a spinbutton and a "Time" toggle.
Call the function which does the "set_sensitive" magic from the
radio button callback.
* plug-ins/[75 plugins]:
- Return STATUS_CANCEL in all file load/save dialogs if "Cancel"
was pressed.
- Standardized the file plugins' "run" functions.
- Use G_PI and G_MAXRAND everywhere.
- Added tons of scales and spinbuttons instead of text entries.
- Applied uniform packing/spacings all over the place.
- Reorganized some UIs (stuff like moving the preview to the top
left corner of the dialog).
- Removed many ui helper functions and callbacks and use the stuff
from libgimp instead.
- I tried not to restrict the range of possible values when I
replaced entries with spinbuttons/scales but may have failed,
though in some cases. Please test ;-)
- #include <libgimp/gimpmath.h> where appropriate and use it's
constants.
- Indentation, s/int/gint/ et.al., code cleanup.
RFC: The plugins are definitely not useable with GIMP 1.0 any
more, so shouldn't we remove all the remaining compatibility
stuff ??? (like "#ifdef GIMP_HAVE_PARASITES")
2000-01-04 Tor Lillqvist <tml@iki.fi>
* libgimp/makefile.{cygwin.msc}: Add gimpcolorspace object.
* libgimp/gimp.def: Add functions from it.
Fixes from Hans Breuer:
* app/datafiles.c: redefine the executable flag for Win32
to _S_IREAD, to get _all_ files from the plug-in dirs as
executables (including scripts)
* app/main.c: Win32-specific changes to allow building Gimp as a
console application, with all its benefits (like inheriting the
console), but hide it if the user doesn't want it. Also, if stdout
goes to a console, give the user a chance to read the help or
version messages. (tml: I am not convinced that it is better to
build gimp as a console application, but let's try it this way for
a while.)
* app/makefile.{cygwin,msc}: Build as console application, and
link with shell32 library.
* app/paint_core.c (paint_core_motion): Pass the value of a call
to the function gimage_active_drawable() to the paint_func,
instead of just passing the address of gimage_active_drawable...
(tml: This code is only called when the TOOL_TRACES_ON_WINDOW flag
is on, and only the clone tool sets that, and the clone tool's
paint_func doesn't use the drawable argument, so this hasn't
caused any trouble.)
* app/plug_in.c: On Win32, to support scripts, use new function
xspawn() instead of _spawnv. Add some more code to properly kill
plug-ins.
* libgimp/color_display.h: Add G_MODULE_EXPORT declarations.
* app/plug_in.c: Redid my latest change here, since it didn't solve
the problem. Now, registering with image_types == NULL means the same
as what "" used to mean: No image is required and the menu entry will
always be sensitive.
The rest are fixes to my last commit.
--Sven
* app/menus.c
* app/tools.c
* app/tools.h
* app/toolsF.h: moved the xinput_airbrush before the measure tool,
so it groups nicely with the paint tools. Removed the toolbox_position
from the ToolInfo structure, since it was never used and added some
separators into the Tools menu.
--Sven
1999-12-17 Michael Natterer <mitch@gimp.org>
* app/menus.c
* app/paths_dialog.c: Minor help system fixes.
* app/app_procs.c: I thought we should have a real splash (without
decoration). Like it???
* app/about_dialog.c
* app/flip_tool.c
* app/gradient.c
* app/levels.c
* app/measure.c
* app/text_tool.c
* app/tools.c
* app/transform_tool.c: Did some code browsing: I18N fixes,
s/gtk_window_position/gtk_window_set_position/g, indentation
paranoia, some g/<type>/g<type>/, various stuff (didn't change any
logic).
1999-12-07 Michael Natterer <mitch@gimp.org>
* app/main.c
* app/menus.c: Wrapped the 'plugin_domains' definition and
initialization and menu_translate() with '#ifdef ENABLE_NLS'.
* app/palette.c: Removed another trailing comma from an enum.
* app/tile_cache.c (tile_idle_thread): Changed tile->swap to
tile->swap_offset because tile->swap doesn't exist. Note that I
don't understand at all what's going on there. I commited this
because (1) this way it compiles and (2) it at least _looks_ like
the right thing to do. Garry, could you check this please?
1999-12-04 Michael Natterer <mitch@gimp.org>
* app/main.c
* app/menus.c: Define the "plugin_domains" array of strings in
main.c and use it as external variable from menus.c
What's missing now is a proper way to let gimp know which
additional catalogs (perl, python, ...) are actually installed.
1999-12-04 Michael Natterer <mitch@gimp.org>
* app/menus.c: Reorder all menu items under <Image>/Filters which
were created by plugins, so they appear after <Image>/Filters/Web.
(this way <Image>/Filters/Toys is always the last submenu)
* app/palette.c: My last change caused both the normal _and_ the
small menu to pop up on right mouse click on an already existing
color. Thanks to Nick for pointing this out.
Now there is only one menu with "Edit" and "Delete" greyed out if
the click was outside a valid color square.
I also moved "New" to the top of the menu because that's how other
gimp menus look like.
1999-12-02 Michael Natterer <mitch@gimp.org>
* app/app_procs.c: Default to "Cancel" in the "Really Quit?" dialog.
* app/app_procs.c
* app/brush_select.c
* app/gimpbrushlist.c: Call brush_select_[freeze|thaw]_all() from
brushes_init() and brushes_free(), so refreshing the brushes from
plugins/scripts is faster.
* app/brightness_contrast.c
* app/color_balance.c
* app/curves.c
* app/file_new_dialog.c
* app/hue_saturation.c
* app/levels.c
* app/posterize.c
* app/threshold.c:
Reorder the action are buttons: [ "OK" "Reset" "Cancel" ]
* app/menus.c: Some more cleanups in the menu code. Reorder
<Image>/Filters/Misc only if ot exists. Generalized
menu_translate() in preparation for correctly supporting catalogs
which only exist sometimes (like gimp-perl).
* app/gradient.c
* app/gradient_select.c: Save some lines of code by using
gtk_clist_new_with_titles() instead of gtk_clist_new().
* libgimp/gimpunitmenu.c: Code cleanup and made the clist titles
of the unit selection un-clickable.
1999-11-27 Michael Natterer <mitch@gimp.org>
* app/main.c: bind the "gimp-perl" textdomain.
* app/menus.c: try to find a plugin's name in the "gimp-perl"
domain if searching in "gimp-std-plugins" fails.
* app/preferences_dialog.c: factored out a small frame+vbox
creation function from the huge dialog constructor and did some
small changes. Didn't change the logic.
1999-11-26 Michael Natterer <mitch@gimp.org>
* app/blend.c: accidentially replaced "Gradient:" with "Blend:" in
my last checkin to this file. Put the right string back.
* app/menus.c: fixed the plugin translation problem (YES!!! :-)
Mysteriously, using g_strdup() et al. instead of composing the
string to translate in a statically allocated array fixed the
problem.
* plug-ins/gap/gap_main.c: fixed a menu path.
1999-11-25 Michael Natterer <mitch@gimp.org>
* app/menus.c: Removed the definitions of the tearoff menu items
and build them on the fly. Added N_()-marked submenus instead so
they get properly translated. Removed N_() from all separators.
Hacked menu_translate(): Don't try to translate separators,
tearoffs and the /File/MRUxx entries. Avoid multiple lookups in
the "gimp-std-plugins" domain. Translating plug-in menu entries is
still broken.
Defined all filter categories for proper translation and a first
try to order them and to add separators (please comment...).
New Category /Filters/Web.
(Did 'make update-po' in the po* directories and updated the
german translations.)
* app/about_dialog.c
* app/brush_select.c
* app/drawable.c
* app/errors.c
* app/free_select.c
* app/gradient.c
* app/info_dialog.c
* app/plug_in.c
* app/tool_options.c: minor i18n updates like removing _() from
some error messages.
* app/context_manager.c: a private context for the Xinput Airbrush.
* plug-ins/common/video.c: Register under /Filters/Distorts
* plug-ins/imagemap/imap_main.c: Register under /Filters/Web
(Marc, what about putting "prepare for gif" and "webify" there?)
* plug-ins/perl/po/de.po: s/Xtn/Xtns/g
1999-11-23 Michael Natterer <mitch@gimp.org>
* app/app_procs.c
* app/channels_dialog.c
* app/fileops.c
* app/gdisplay.c
* app/gdisplay_ops.c
* app/layers_dialog.c
* app/menus.[ch]
* app/paths_dialog.c
* app/plug_in.c: removed
menus_set_[sensitive|state]_glue(). Removed the N_()'s from all
menu paths which are not eventually passed to
gtk_item_factory_create_item().
* app/tool_options.c: minor updates.
* app/file_new_dialog.c: reordered the action_area buttons.
1999-11-22 Michael Natterer <mitch@gimp.org>
* app/menus.c: move all sub-sub-menus of <Image>/Filters to the
top of their menu shells and add a separator after them.
1999-11-22 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/brightness_contrast.[ch]
* app/by_color_select.[ch]
* app/color_balance.[ch]
* app/curves.[ch]
* app/histogram_tool.[ch]
* app/hue_saturation.[ch]
* app/levels.[ch]
* app/posterize.[ch]
* app/threshold.[ch]: spinbuttons and cleaned up ui for all
dialog-tools. Added a "Reset" button to all dialogs.
* app/color_notebook.c: fixed a compiler warning.
* app/gimpui.[ch]: made gimp_radio_group_new() more general.
* app/menus.c: removed the <Toolbox>/File/Help submenu.
* app/tools.c: restored the old behaviour of "tools_initialize()"
(force the emission of the "tool_changed" signal)
1999-11-20 Michael Natterer <mitch@gimp.org>
* app/preferences_dialog.c: new prefs. page "Help System" because
there will soon be more widgets there (browser selection etc.)
Cleaned up the "Display" and "Interface" pages a bit.
* app/menus.c
* plug-ins/common/plugindetails.c: add "...".
* libgimp/gimpfileselection.c
* libgimp/gimppatheditor.c: a widget shouldn't connect to it's own
"realize" signal. Set widget_class->realize = <widget>_realize
instead.
1999-11-20 Michael Natterer <mitch@gimp.org>
Reorganized the core menu items (everything except
<Image>/Filters). Everything is of course trivial to change again,
so please comment on the new "menu feeling" ;-)
* app/menus.[ch]:
- Applied the suggestions collected by Olof.
- Added "..." to all items which open a dialog.
- Introduced some additional separators (e.g. in "Dialogs").
- Reorder some plugins and the color correct tools after
initialisation.
- A menu entry to invoke the tooltips inspector.
- A debugging menu entry which dumps the menu paths and their help
pages (will of course go away when the help sys is consistent).
There are currently two identical "Help" menus because
<Toolbox>/Help trashes the menu bar if the toolbox is too narrow
(gtk doesn't seem to support multi-line menubars, any idea?)
* app/app_procs.c: call menus_reorder_plugins() after loading the
plugins to beautify the "Xtns" menu.
* app/commands.[ch]: reordered some functions to match the new
menu structure (for easier source navigation) and renamed some to
be consistent (e.g. all help functions are now called help_*).
Show/Hide the rulers with ordinary gtk_widget_[show|hide]()
commands. I've tested it several times and it looks exactly the
same as the old code which used internal gtk knowledge.
* app/gdisplay.c: applied the menu changes to
gdisplay_set_menu_sensitivity().
* app/gimphelp.[ch]: new public function gimp_context_help() which
invokes the tooltips inspector. Code cleanup.
* app/resize.c: changed the dialogs' titles to match the menu entries.
* app/session.c: renamed the gradient selection cmd callback to be
consistent with brushes/patterns.
* app/tools.c: added "..." to the menu paths of the tools which
have dialogs.
* app/fileops.c
* app/channels_dialog.c
* app/layers_dialog.c
* app/paths_dialog.c: added some "...".
* plug-ins/common/align_layers.c
* plug-ins/common/autostretch_hsv.c
* plug-ins/common/c_astretch.c
* plug-ins/common/color_enhance.c
* plug-ins/common/compose.c
* plug-ins/common/decompose.c
* plug-ins/common/mail.c
* plug-ins/common/normalize.c
* plug-ins/common/threshold_alpha.c
* plug-ins/dbbrowser/dbbrowser.c
* plug-ins/fp/fp.c
* plug-ins/print/print.c
* plug-ins/rcm/rcm.c: changed the menu paths and added "...".