2003-09-02 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdockable.c (gimp_dockable_init): default to
GIMP_TAB_STYLE_PREVIEW.
(gimp_dockable_new): fall back to _ICON if
dockable->get_preview_func is NULL.
* app/widgets/gimpdialogfactory.c
(gimp_dialog_factories_restore_foreach): ditto.
2003-09-02 Sven Neumann <sven@gimp.org>
* app/tools/gimpeditselectiontool.c (init_edit_selection): removed
a superfluous call to g_object_ref().
* app/vectors/gimpvectors.c (gimp_vectors_copy_strokes): free the
old list of strokes.
2003-09-02 Michael Natterer <mitch@gimp.org>
* app/config/gimpcoreconfig.[ch]
* app/config/gimprc-blurbs.h: removed "module-load-inhibit"
property since the GimpModuleDB stores this value.
* app/config/gimpconfigwriter.[ch] (gimp_config_writer_new):
renamed parameter "gboolean safe" to "gboolean atomic".
* app/core/gimpmodules.c: ported modulerc parsing/writing to
GimpScanner and GimpConfigWriter (apparently it was forgotten
during gimprc cleanup). Makes keeping modules from being loaded
work again. Reported by Michael Schumacher on #gimp.
* app/composite/gimp-composite-mmx.c
* app/composite/gimp-composite-sse.c: Dereference all pointers
from *outside* of asm() construct.
* app/paint-funcs/paint-funcs.c: Fixed bug where dissolve opacity
was incorrectly set, and dissolve mask was garbage. This should
fix Bug #121213
* app/composite/gimp-composite-mmx.c
* app/composite/gimp-composite-sse.c: Replaced all memory
references in asm() constructs to references to "input" parameters
to the asm(). This should take care of any name mangling issues
(see bug #120893)
Beautified more code to conform to the gimp style guidelines.
No longer doing pointer math in assembly. This should ease some
of the issues of compiling on 64bit machines.
* app/composite/gimp-composite-sse-installer.c
* app/composite/gimp-composite-sse-test.c: Removed reference to
gimp_composite_overlay_* because this code is suspect.
2003-09-01 Manish Singh <yosh@gimp.org>
Font configuration stuff: You can rescan for fonts on the fly now.
A couple caveats: the text tool font dialog doesn't get updated, but
that's supposed to be going away. The new font dock doesn't resort
on update, but mitch is supposed to fix that. :)
Some nice stuff for advanced font users: GIMP local font directories,
and an optional site and user fonts.conf.
I thought about supporting the auto-resan feature in fontconfig,
but it might take too much time to do a scan so I haven't implemented
it. Another thing I want to do is create fontconfig caches in the
local dirs.
* text/gimpfonts.[ch]: gimp_fonts_init/load/reset implementation.
* text/Makefile.am: added gimpfonts.[ch]
* app/core/gimp.c: use gimp_fonts_init/reset.
* app/config/gimpcoreconfig.[ch]
* app/config/gimprc-blurbs.h: added font-path config setting.
* app/gui/preferences-dialog.c: Add a Font Folders section for the
above. Also added a Rescan Font List button, which goes in the
Environment section. Not sure if this is the right place...
it also looks kinda ugly all by its lonesome.
* app/gui/user-install-dialog.c: mention the fonts directory.
* themes/Default/images/preferences/Makefile.am
* themes/Default/images/preferences/folders-fonts.png: dummy icon for
font folders pref, probably a folder with a little "T" in the corner
would be good.
2003-09-01 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.[ch]: added new virtual function
GimpItem::stroke().
* app/core/gimpchannel.c
* app/vectors/gimpvectors.c: implement GimpItem::stroke().
* app/core/gimpimage-mask.[ch] (gimp_image_mask_stroke): changed
signature to match gimp_item_stroke() (the selection mask *really*
should be a GimpChannel subclass).
Removed global variable "gboolean gimp_image_mask_stroking"...
* app/core/gimpimage.[ch]: ...and added "gboolean mask_stroking"
to the GimpImage struct.
* app/gui/vectors-commands.[ch]: removed vectors_stroke_vectors().
* app/widgets/widgets-types.h: removed GimpStrokeItemFunc typedef.
* app/widgets/gimpvectorstreeview.[ch]: removed "stroke_item_func"
member and use gimp_item_stroke() instead.
* app/gui/dialogs-constructors.c (dialogs_vectors_list_view_new)
* app/gui/edit-commands.c (edit_stroke_cmd_callback)
* app/gui/vectors-commands. (vectors_stroke_cmd_callback)
* app/widgets/gimpselectioneditor.c
(gimp_selection_editor_stroke_clicked)
* tools/pdbgen/pdb/edit.pdb (gimp_edit_stroke): changed accordingly.
* app/pdb/edit_cmds.c: regenerated.
Note that there is no GUI for "stroke channel", although it would
be utterly cool to have one, since currently slelection stroking
cannot be masked by a selection (because we stroke the selection).
Anyway, if anyone has an idea how to trigger "stroke channel" with
another drawable active (the one to stroke to), please let me
know...
2003-09-01 Michael Natterer <mitch@gimp.org>
We really don't need that global variable overkill from appenv.h
just to pass these values from main() to app_init():
* app/app_procs.[ch] (app_init): added tons of parameters that
used to be global variables before.
Replaced app_init_update_status() by two functions, one which
actually updates the splash, and one which does nothing, so we
don't need global variables in the status callback.
* app/appenv.h: removed vraiable declarations here. Some are still
left, will get rid of this entire file soon...
* app/main.c: added them as local variables to main() and
pass them to app_init().
* app/batch.c: removed the global "batch_cmds", they are passed
the same way as the stuff above now.
2003-09-01 Michael Natterer <mitch@gimp.org>
* app/gui/channels-menu.c
* app/gui/layers-menu.c
* app/gui/vectors-menu.c: removed accelerators from popup menus.
The HIG says nono and we will use the global <Image> accelerator
table all over the place soon. First part of fix for bug #119878.
2003-08-31 Manish Singh <yosh@gimp.org>
* app/paint/gimppaintcore.c: inlined rotate_pointers, made it specific
to gulongs (made more sense to me than adding casts)
2003-09-01 Simon Budig <simon@gimp.org>
* app/vectors/gimpcoordmath.[ch]: Introduced function to compare
two gimpcoords
* app/vectors/gimpstroke.[ch]: virtualized gimp_stroke_close.
* app/vectors/gimpbezierstroke.c: made the _close function check,
if there is an unneeded segment (CCA-Sequence with all the same
coordinates) at the gap to be closed. If so, remove it.
2003-09-01 Tor Lillqvist <tml@iki.fi>
* README.win32: Update.
* app/composite/gimp-composite-mmx.c: For some reason the gcc&gas
combination used on Win32 wants identifiers prefixed with
underscores in the asm sequences.
* plug-ins/common/ps.c (ps_open): [Win32] Don't write the gs
executable name into the indirect command line file. Do write the
quoted form of the filename to it.
(my_shell_quote): New funcion. Use instead of g_shell_quote() on
Windows, as g_shell_quote() always uses single quotes, which don't
mean anything to the Windows shell (or C runtime startup
code). (This might be argued to be a bug in GLib, maybe
g_shell_quote should behave differently accoring to platform.)
* etc/gimprc.win32: Remove, generate with gimpconfig-dump.
* */makefile.mingw.in: Remove, unmaintained.
2003-09-01 Sven Neumann <sven@gimp.org>
* app/xcf/xcf-load.c: removed excessive path debugging output.
* app/text/gimptext-vectors.c: always close strokes created from
text outlines.
2003-09-01 Sven Neumann <sven@gimp.org>
* app/text/gimptext-vectors.c: use the new bezier stroke API.
* app/vectors/gimpbezierstroke.c (gimp_bezier_stroke_new_moveto):
pass a NULL anchor to the first call of gimp_bezier_stroke_extend().
2003-08-31 Manish Singh <yosh@gimp.org>
* app/core/gimpimage-undo-push.c (undo_pop_layer): gsize is unsigned,
reflect that in the g_prints.
* tools/pdbgen/pdb/color.pdb: case to GIMP_BASE_CONFIG for the call
to gimp_histogram_new, #include "core/gimpdrawable-histogram.h"
* app/pdb/color_cmds.c: regenerated.
2003-08-31 Sven Neumann <sven@gimp.org>
* app/gui/layers-commands.[ch]
* app/gui/layers-menu.c: added "Merge Visible Layers..." and
"Flatten Image" menu entries as suggested in bug #120959.
* app/text/gimptext-vectors.c: fixed function declaration; we are
passing a PangoGlyph here, not a (PangoGlyph*).
2003-08-31 Manish Singh <yosh@gimp.org>
* configure.in: added a prominent comment for translators to make
sure they have all 4 po files before adding to ALL_LINGUAS.
* app/gui/plug-in-menus.c: remove redudant #include of gimpenv.h
* tools/pdbgen/pdb/plug_in.pdb: gimp_strip_uline menu_path before
passing it up.
* app/pdb/plug_in_cmds.c: regenerated.
* plug-ins/common/mng.c
* plug-ins/common/psd_save.c
* plug-ins/common/psp.c: use G_N_ELEMENTS
* plug-ins/common/screenshot.c: use GDK_WINDOWING_* for #includes
too. GDK cursor enums are ok to pass to XCreateFontCursor.
* plug-ins/dbbrowser/dbbrowser_utils.c: minor cleanups, also use
gtk_cell_renderer_text_set_fixed_height_from_font as an optimization.
* plug-ins/libgck/gck/gckcolor.c: #undef GDK_DISABLE_DEPRECATED and
add warning.
* plug-ins/pygimp/gimpfu.py: remove some redundant import gtk's
2003-08-31 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/color.pdb: applied a patch from Shawn Willden
that adds the new PDB function levels_auto.
* app/pdb/color_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpcolor_pdb.[ch]: regenerated.
2003-08-31 Manish Singh <yosh@gimp.org>
* app/widgets/gimpitemfactory.c (gimp_item_factory_translate_func):
make a copy of dgettext() results from full_path in all cases, since
it might return our original string. Fixes#121083.
2003-08-30 Michael Natterer <mitch@gimp.org>
* app/tools/gimptool.c: made "tool-info" a G_PARAM_CONSTRUCT_ONLY
property.
* app/tools/tool_manager.c (tool_manager_tool_changed): pass it to
g_object_new() instead of setting it after tool creation.
* app/tools/gimppainttool.[ch]
* app/tools/gimptransformtool.[ch]: removed ugly
"gboolean notify_connected" hacks and connect to the signals in
GObject::constructor().
* app/tools/gimppainttool.c (gimp_paint_tool_contstructor): create
paint_tool->core here from tool->tool_info->paint_info->paint_type.
* app/tools/gimpairbrushtool.c
* app/tools/gimpclonetool.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimperasertool.c
* app/tools/gimppaintbrushtool.c
* app/tools/gimppenciltool.c
* app/tools/gimpsmudgetool.c: changed accordingly. Removed lots of
useless class_init functions. Converted tabs to spaces. Cleanup.
2003-08-30 Michael Natterer <mitch@gimp.org>
Fixed & cleaned up paint function registration to work without
GUI. Finishes core/GUI separation for the paint tools:
* app/core/gimppaintinfo.[ch]: removed "gchar *pdb_string" all over
the place since we don't stroke using the PDB any more.
(gimp_paint_info_new): create paint_info->paint_options here so
the paint system is fully initialized when there is no GUI.
* app/paint/paint.c: removed pdb_string stuff here, too.
* app/core/gimptoolinfo.[ch]: create tool_info->tool_options
only if tool_info->tool_options_type is not the same type
as paint_info->paint_options_type (if we are no paint tool).
* app/core/gimptooloptions.c: removed G_PARAM_CONSTRUCT_ONLY from
the "tool-info" property. Instead, changed
gimp_tool_options_set_property to ensure that it is only set once.
* app/core/gimp.c (gimp_initialize): moved paint_init() after
data_factory creation (was in gimp_init()), since GimpPaintInfo
now creates the GimpPaintOptions, which are GimpContexts, which
need gimp->*_factory to be constructed.
* app/tools/tool_manager.c: don't create tool_info->tool_options
here (it's not the job of the tool_manager to set up the core
paint system correctly, it must be already initialized before any
tool_manager function is called).
Made "Stroke Selection" and "Stroke Path" work the same way:
* app/paint/gimppaintcore-stroke.[ch]: added new function
gimp_paint_core_stroke_boundary() which strokes without using
the PDB.
* app/core/gimpimage-mask.c (gimp_image_mask_stroke): use it
instead of using the PDB. Enables all available paint options for
stroke operations. Fixes bug #119411.
* app/gui/vectors-commands.c (vectors_stroke_vectors)
* app/core/gimpimage-mask.c (gimp_image_mask_stroke): removed all
code which tries to figure how to stroke and simply look at the
active tool's tool_info->paint_info, since it is always set up
correctly now.
2003-08-30 Simon Budig <simon@gimp.org>
* app/tools/gimpvectortool.[ch]: fixed stupid int vs. float
error that caused rounding errors when moving in a zoomed view.
Fixed drawing artefact when connecting strokes did not succeed.
2003-08-29 Simon Budig <simon@gimp.org>
* app/vectors/gimpbezierstroke.c: Do not modify the selection
state of the anchors. When extending EXTEND_EDITABLE return
the anchor created (not the handle at the end of the list)
* app/tools/tools-enums.h: Added new mode-enum for the vector tool.
* app/tools/tools-enums.c: regenerated
* app/tools/gimpvectortool.[ch]: Implemented moving (Shortcuts
ALT and ALT+CTRL. The whole assignment of modifiers right now
gets revised. Right now you have to use the Tool options to
switch between the modes of operation. Connecting strokes now
works in Insert/Delete mode by clicking on startpoint and
dragging to target endpoint.
I will write a mail to gimp-devel when the shortcuts are
setteled a bit more. Sorry for the inconvenience.
2003-08-29 Sven Neumann <sven@gimp.org>
* app/tools/gimptextoptions.c (gimp_text_options_gui): move the
mnemonic from the old font selection widget to the new one. The
old one will die soon. Fixes bug #120963.
2003-08-28 Larry Ewing <lewing@ximian.com>
* app/text/gimptext-vectors.c (conicto): interpolate the position
of the cubic control points correctly and set the previous control
point.
(cubicto): set the previous control point to the new value then
add remaining points.
2003-08-28 Henrik Brix Andersen <brix@gimp.org>
* plug-ins/common/screenshot.c: rewrote a large part of the
screenshot plug-in. The plug-in now no longer depends on the xwd
utility, but uses Xlib/GDK functionality to obtain the screen shot.
The window to shoot is now selected prior to the time out. This
fixes bug #103852.
The ability to obtain a screen shot of a window without
decorations has had to go since this can not be done using plain
Xlib/GDK (one would have to depend on libXmu to do this).
The source is prepared for G_OS_WIN32 but the win32 specific code
is yet to be written.
* tools/pdbgen/pdb/plug_in.pdb (gimp_progress_update): improved the
inline documentation
* app/pdb/plug_in_cmds.c
* libgimp/gimpplugin_pdb.c: regenerated
2003-08-28 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-convert.c (gimp_image_convert): free the
colormap and set colormap size to 0 after converting from indexed.
Should make gimp_image_get_cmap() behave as advertized again.
* tools/pdbgen/pdb/image.pdb: use gimp_image_get_colormap_size()
instead of accessing gimage->num_cols directly.
* app/pdb/image_cmds.c: regenerated.
2003-08-28 Michael Natterer <mitch@gimp.org>
Completed the new help infrastructure. Needs some polishing but
basically works as proposed:
* tools/pdbgen/pdb/plug_in.pdb: changed gimp_plugin_help_register()
to take a "domain_name" (which is the XML namespace) and a
"domain_uri" (which is the root of the plug-in's help pages).
* tools/pdbgen/pdb/help.pdb: changed gimp_help() to take help_id
instead of a non-UTF-8 help_path.
* app/plug-in/plug-in-def.[ch]
* app/plug-in/plug-in-proc.[ch]
* app/plug-in/plug-in-rc.c
* app/plug-in/plug-ins.[ch]: remember the plug-ins' help_domain
and help_uri instead of just help_path. Changed all plug-in APIs
to reflect this change.
* app/widgets/gimphelp.[ch]: on helpbrowser startup, pass it the
whole list of help domains. The actual help request is now made
using the browser's temporary procedure.
* app/core/gimp.h
* app/gui/file-open-menu.c
* app/gui/file-save-menu.c
* app/gui/plug-in-menus.[ch]
* app/widgets/gimpitemfactory.c: changed accordingly.
* app/pdb/help_cmds.c
* app/pdb/plug_in_cmds.c
* libgimp/gimphelp_pdb.[ch]
* libgimp/gimpplugin_pdb.[ch]: regenerated.
Changed the help broser to load the pages according to the
new system:
- moved the browser window stuff to dialog.[ch]
- moved help domain handling to domain.[ch]
- added gimp-help.xml parsing to domain.c
- tons of cleanup
* plug-ins/helpbrowser/Makefile.am
* plug-ins/helpbrowser/dialog.[ch]
* plug-ins/helpbrowser/domain.[ch]: new files.
* plug-ins/helpbrowser/helpbrowser.c: chopped.
2003-08-28 Simon Budig <simon@gimp.org>
* app/core/gimpimage-mask-select.c
* app/vectors/gimpbezierstroke.c: Fixed two crashes when a path
with a single node in a stroke got converted to a selection or got
stroked.
2003-08-27 Michael Natterer <mitch@gimp.org>
* app/widgets/gimplayertreeview.c
(gimp_layer_tree_view_alpha_changed): update the button states if
the layer which changed alpha was the active one.
Fixes bug #120864.
2003-08-27 Michael Natterer <mitch@gimp.org>
Enabled type-preserving DND of all kinds of items between
different images. Fixes bug #119983.
* app/core/gimpitem.[ch]: added new virtual function
GimpItem::convert() which duplicates an item for another image.
* app/core/gimplayer.[ch]: removed gimp_layer_new_from_drawable()
and made it a GimpItem::convert() implementation.
* app/vectors/gimpvectors.[ch]: removed gimp_vectors_convert() and
made it a GimpItem::convert() implementation.
* app/widgets/gimpitemtreeview.[ch]: removed GimpConvertItemFunc
typedef and function pointer in GimpItemTreeViewClass since
we can simply call gimp_item_convert() now.
* app/widgets/gimplayertreeview.c
* app/widgets/gimpvectorstreeview.c
* app/display/gimpdisplayshell-dnd.c
* tools/pdbgen/pdb/layer.pdb: changed accordingly.
* app/pdb/layer_cmds.c: regenerated.
2003-08-27 Michael Natterer <mitch@gimp.org>
Cleaned up my "To Selection" cleanup:
* app/gui/channels-commands.[ch]
* app/gui/layers-commands.[ch]
* app/gui/vectors-commands.[ch]: removed the separate
cmd_callbacks for REPLACE,ADD,SUBTRACT,INTERSECT and pass the
operation as "guint action" to the callback.
* app/gui/channels-menu.c
* app/gui/image-menu.c
* app/gui/layers-menu.c
* app/gui/vectors-menu.c: changed accordingly.
2003-08-27 Simon Budig <simon@gimp.org>
* app/vectors/gimpstroke.[ch]
* app/vectors/gimpbezierstroke.c: Implemented function to
connect two strokes.
* app/tools/gimpvectortool.[ch]: Use it. Right now you have
to click on one endpoint, and then SHIFT+CTRL+ALT-Click on
the other endpoint.
Suggestions on how to solve that more sanely are welcome...
2003-08-27 Michael Natterer <mitch@gimp.org>
* app/composite/gimp-composite-generic.c
(gimp_composite_generic_init): added missing g_rand_free().
* app/widgets/gimpitemfactory.[ch]: fixed all leaks in
gimp_item_factory_translate_func(). Added
item_factory->translation_trash for the pathological cases. Free
the trash after each call to gtk_item_factory_create_item().