2003-02-05 Sven Neumann <sven@gimp.org>
* app/core/gimpobject.[ch]
* app/text/gimptextlayer.c: improved the code that trims the text
before setting it as layer name and moved it to GimpObject as
gimp_object_set_name_safe().
* app/text/gimptext.[ch]: removed fixed_height and gravity again.
* app/text/gimptextlayout.c: much simpler positioning that has the
advantage that it actually works.
* libgimpproxy/gimpobject.[ch]: this crap was regenerated.
2003-02-05 Sven Neumann <sven@gimp.org>
* app/text/gimptext.c: added some blurbs that will show up as
tooltips in the text tool options. Tweaked default values.
* app/text/gimptextlayout.c (gimp_text_layout_position): if
gravity is none (the default), position the layout according to its
justification.
* app/widgets/gimpenummenu.[ch]: added new functions that create a
hbox of radio buttons with icons from an enum type.
* app/widgets/gimppropwidgets.[ch]: added a property widget
constructors for the new enum_stock_box.
2003-02-05 Sven Neumann <sven@gimp.org>
* app/text/text-enums.[ch]
* app/text/gimptext.[ch]: replaced GimpTextAlignment with
GimpTextJustification. Added indentation property.
* app/text/gimptextlayout.c: implemented text justification,
indentation and line spacing as far as supported by Pango.
2003-02-05 Sven Neumann <sven@gimp.org>
* app/paint/Makefile.am: fixed rules for generated sources.
* app/text/Makefile.am
* app/text/text-enums.[ch]: added new files with text-related enums.
* app/text/gimptext.[ch]: added text alignment property.
* app/text/gimptext-render.[ch]: removed
* app/text/text-types.h
* app/text/gimptextlayout.[ch]: added new files that define
GimpTextLayout, a wrapper around PangoLayout. Moved render code to
this file.
* app/text/gimptextlayer.c: changed accordingly.
2003-02-04 Sven Neumann <sven@gimp.org>
* app/widgets/gimpitemfactory.c (gimp_item_factory_item_key_press):
made the ugly hack that prevents users from reassigning the F1
shortcut even more ugly but fixed bug #105068.
2003-02-04 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-selection.[ch]
* app/tools/gimpblendtool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimplevelstool.c
* app/tools/gimpthresholdtool.c
* app/tools/gimptransformtool.c: misc trivial changes and cleanup.
* app/widgets/gimppropwidgets.[ch]: added gimp_prop_unit_menu_new()
and removed the scale widget again.
* app/tools/gimptexttool.c: replaced the size scale entry with a
spinbutton and made the unit menu working.
* app/text/gimptext.c: increased the upper boundary for the font
size again now that we don't use a scale any longer.
2003-02-03 Sven Neumann <sven@gimp.org>
* app/widgets/gimpfontselection-dialog.c: changed the text used in
the preview.
* app/widgets/gimpfontselection.[ch]: removed the yes/no image
that used to signal a valid font but stopped working a long time
ago.
* app/widgets/gimppropwidgets.c: added a property widget for fonts.
* app/tools/gimptexttool.c: use the new prop_widget.
2003-02-03 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c: fixed the "TAB toggles
dialogs" feature.
(gimp_display_shell_get_event_coords,device_coords): CLAMP() all
extended axes to be safe against crappy XInput drivers and provide
default values for not existing axes.
2003-02-03 Michael Natterer <mitch@gimp.org>
* app/undo.c: unified some comments, some cleanup.
* app/pdb/procedural_db.c: some cleanup & comments to clarify
what GIMP_PDB_PASS_THROUGH does.
2003-02-03 Michael Natterer <mitch@gimp.org>
* app/core/gimp.[ch]: removed gimp_main_loop() and
gimp_main_loop_quit() because they were a temp_hack until plug-ins
have their own main loops. Added gimp_threads_enter() and
gimp_threads_leave() instead.
* app/gui/gui.c: ditto: removed the main loop stuff and added
functions which call GDK_THREADS_ENTER() and GDK_THREADS_LEAVE()
instead.
* app/app_procs.c: create the main GMainLoop here and use
gimp_threads_enter,leave().
* app/plug-in/plug-in.[ch]: added a ref_count per plug-in so the
plug-in is not destroyed under our feet while running a recursive
main loop. Added plug_in_ref(). Changed plug_in_destroy() to
plug_in_unref(). Don't destroy the plug-in if plug_in_open()
fails. Call gimp_threads_enter,leave() around g_main_loop_run().
Changed the way plug_in_push,pop() are used: "current_plug_in" is
no longer the plug-in which currently uses the wire, but the
plug-in which currently preforms a PDB call (the former meaning
was needed when wire callbacks had no plug-in context but needed
to get the plug-in from the global "current_plug_in" variable).
Removed all calls to plug_in_push,pop() from this file.
* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): added
plug_in_push,pop() around procedural_db_execute(). No need
to construct an error return value if the procedure was not found
because procedural_db_execute() already does this.
Removed all other plug_in_push,pop(). Added more checks to plug-in
message handlers and kill the plug-in if it misbehaves. Cleanup.
* app/plug-in/plug-in-progress.c (plug_in_progress_cancel): if the
plug-in runs synchronously, provide a GIMP_PDB_CANCEL return value
so we don't see error messages about the "failed" procedure.
* app/plug-in/plug-in-run.c: removed plug_in_push,pop() stuff.
Set the new plug_in->starting_ext boolean while starting an
extension so the extension_ack handler knows that it wasn't called
from a buggy plug-in. Cleanup.
* app/plug-in/plug-ins.c: Cleanup.
2003-02-01 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig.[ch]
* app/config/gimpconfig-utils.[ch]: added a reset method to
GimpConfigInterface. Added the new function gimp_config_reset()
* app/text/gimptext.c: added a GimpConfigInterface to GimpText.
* app/widgets/Makefile.am
* app/widgets/gimptexteditor.[ch]: new files that hold the simple
text editor dialog used by the text tool.
* app/widgets/gimppropwidgets.[ch]: added new widget constructor
gimp_prop_scale_entry_new().
* app/tools/gimptexttool.[ch]: replaced old-style ToolOptions with
a GimpText object. Connect text layers to the text tool by means
of their GimpText objects. Still work in progress ...
2003-01-31 Sven Neumann <sven@gimp.org>
* app/text/gimptextlayer.c: don't use gimp_drawable_configure() to
resize the text layer, it should only ever be called once. Take
the logical rectangle into account when calculating the layer size
and text position.
* app/tools/gimptexttool.[ch]: added basic text editing
functionality. Needs more work ...
* themes/Default/images/Makefile.am
* themes/Default/images/stock-gravity-east-24.png
* themes/Default/images/stock-gravity-north-24.png
* themes/Default/images/stock-gravity-north-east-24.png
* themes/Default/images/stock-gravity-north-west-24.png
* themes/Default/images/stock-gravity-south-24.png
* themes/Default/images/stock-gravity-south-east-24.png
* themes/Default/images/stock-gravity-south-west-24.png
* themes/Default/images/stock-gravity-west-24.png: added new icons
for yet-to-written GimpGravityChooser(?) widget. Artwork
shamelessly taken from Jimmac's XFree cursors.
* libgimpwidgets/gimpstock.[ch]: added stock items for the new icons.
2003-01-31 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.[ch]: added gimp_item_configure() and
gimp_item_copy().
* app/core/gimpdrawable.c (gimp_drawable_configure,copy): use them.
* app/vectors/gimpvectors.[ch]: added gimp_vectors_new(),
gimp_vectors_copy() and gimp_vectors_copy_points(). Use the new
GimpItem functions just as GimpDrawable does. Added a
get_memsize() implementation.
* app/vectors/gimpstroke.[ch]: made it a GimpObject and added
a get_memsize() implementation.
* app/undo.c: implemented vectors undo as if the new GimpVectors
functions above worked.
* app/gui/dialogs-constructors.c
* app/gui/vectors-commands.c
* app/tools/gimpvectortool.c: use gimp_vectors_new,copy().
2003-01-31 Sven Neumann <sven@gimp.org>
* app/widgets/gimpfontselection.c: allow NULL as context parameter
in gimp_font_selection_new(). The widget then uses a default
PangoFT2Context.
* app/tools/gimptexttool.c (text_tool_options_new): call
gimp_font_selection_new() with a NULL context. The text tool now
doesn't know about Pango any longer.
* app/paint/Makefile.am
* app/tools/Makefile.am (INCLUDES): removed PANGOFT2_CFLAGS.
2003-01-31 Sven Neumann <sven@gimp.org>
* app/core/core-enums.[ch]: added new enum GimpGravityType.
* app/text/gimptext.[ch]
* app/text/gimptextlayer.[ch]: added support for specifying a
fixed layer size and how to position the text inside the layer.
* app/text/gimptext-compat.c
* app/tools/gimptexttool.c: changed accordingly.
2003-01-31 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-params.h
* app/config/gimpcoreconfig.c: added a pixels parameter to the
GIMP_CONFIG_INSTALL_PROP_UNIT() macro.
* app/core/Makefile.am
* app/core/gimpimage-text.[ch]: removed these two files.
* app/text/Makefile.am
* app/text/gimptext-compat.[ch]: new files with compatibility
routines that provide the old text API (solely for PDB calls).
* app/text/gimptext-render.[ch]: new files with text rendering
routines (not much yet).
* app/text/text-types.h
* app/text/gimptextlayer.[ch]: new object derived from GimpLayer.
* app/text/gimptext.[ch]: prepared for future improvements.
* app/pdb/text_tool_cmds.c
* app/tools/gimptexttool.c
* tools/pdbgen/pdb/text_tool.pdb: changed accordingly.
2003-01-30 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in.[ch]: renamed plug_in->busy to
plug_in->in_temp_proc. Added a stack of GMainLoops to each
plug-in. Added the "current_return_vals" to the PlugIn
struct. Renamed plug_in_kill() to plug_in_exit(). Removed
the stuff added below. Cleanup.
* app/plug-in/Makefile.am
* app/plug-in/plug-in-message.[ch]
* app/plug-in/plug-in-run.[ch]
* app/plug-in/plug-in-shm.[ch]: new files taking out functionality
from the overloaded plug-in.c. Added the code back in that implements
temp proc return messages (inside an #ifdef) because i don't
really get why it was removed on Sep 19 1998.
* app/plug-in/plug-ins.c: changed accordingly.
* app/plug-in/plug-in-def.c
* app/plug-in/plug-in-params.c: removed inclusion of <gtk/gtk.h>.
* app/gui/file-save-dialog.c
* app/gui/paths-dialog.c
* app/gui/plug-in-commands.c
* app/gui/plug-in-menus.c
* app/pdb/procedural_db.c
* app/widgets/gimphelp.c: changed plug-in includes accordingly.
* app/gui/plug-in-commands.c: don't use "the_gimp" from
"app_procs.h" but get it from the GimpItemFactory that invoked the
plug-in callback.
2003-01-29 Michael Natterer <mitch@gimp.org>
Fixed bug #97449:
* app/core/gimpchannel.c (gimp_channel_scale,resize)
* app/core/gimplayer.c (gimp_layer_scale,resize)
* app/undo.c (undo_pop_layer_mod,channel_mod): emit "size_changed"
whenever the size has changed. Cleaned up the two undo_pop
functions.
* app/core/gimpimage.c (gimp_image_size_changed): emit
"size_changed" on all layers/channels so their previews are
updated correctly on image resize and image resize undo. Don't
invalidate layers/channels previews here because it's the
layers'/channels' job to invalidate themselves if needed.
2003-01-29 Sven Neumann <sven@gimp.org>
* app/widgets/gimppropwidgets.[ch]: removed unused function
gimp_prop_enum_option_menu_new_with_values() which caused problems
on some platforms (fixes bug #102514).
* app/gui/preferences_dialog.c: removed some unused code.
2003-01-29 Michael Natterer <mitch@gimp.org>
* app/gui/module-browser.c: pack the button box non-expanding,
removed cruft from the ModuleBrowser struct.
2003-01-26 Sven Neumann <sven@gimp.org>
* app/core/gimpbrushpipe.c
* app/gui/about-dialog.c: plugged some obvious memleaks related to
the use of GRand.
2003-01-26 Sven Neumann <sven@gimp.org>
* app/config/gimprc-blurbs.h: removed the description of the image
title format string from the blurb ...
* app/config/gimpconfig-dump.c: ... and added it here. Slightly
improved manpage formatting.
* app/config/gimpconfig-deserialize.c: fixed a typo.
* docs/gimprc-1.3.5.in
* etc/gimprc: regenerated.
2003-01-25 Sven Neumann <sven@gimp.org>
* app/widgets/gimppropwidgets.c: add a tooltip if a param_spec has
a non-NULL blurb. Addresses bug #68485.
* app/config/gimpbaseconfig.c
* app/config/gimpcoreconfig.c
* app/config/gimpdisplayconfig.c
* app/config/gimpguiconfig.c
* app/config/gimprc-blurbs.h: marked some blurbs as translatable.
* Makefile.am
* app/config/Makefile.am: added dist-hooks so the system gimprc
and gimprc manpage get generated when doing a release.
* libgimpwidgets/gimpmemsizeentry.[ch]: added the spinbutton to
the GimpMemsizeEntry struct so we can access it in order to add
a tooltip.
2003-01-25 Sven Neumann <sven@gimp.org>
* app/widgets/widgets-enums.h: added a new enum to specify how to
display histograms.
* app/widgets/widgets-enums.c: regenerated.
* app/widgets/gimphistogramview.[ch]: added a scale property and
made channel a property. Added support for linear histograms based
on a patch from Akkana (see bug #72951).
* app/widgets/gimphistogrambox.c: redraw the gradient when the
histogram view notifies it that the displayed channel has changed.
* app/tools/gimphistogramtool.c: added a menu to configure the
histogram scale.
2003-01-24 Michael Natterer <mitch@gimp.org>
* app/core/gimpdocumentlist.[ch]
* app/core/gimpimagefile.[ch]: added "Gimp" pointers so we don't
need to use "the_gimp" from "app_procs.h".
* app/core/core-types.h
* app/core/gimp.c
* app/gui/file-open-dialog.c
* tools/pdbgen/pdb/fileops.pdb: changed accordingly.
* app/pdb/fileops_cmds.c: regenerated.
2003-01-23 Sven Neumann <sven@gimp.org>
* app/config/gimpcoreconfig.c
* app/config/gimpguiconfig.c: added default values for brush,
pattern, palette, gradient and theme.
* app/config/gimpconfig-dump.c: set a value for module-load-inhibit
so it gets documented as well.
* docs/gimprc-1.3.5.in
* etc/gimprc: regenerated using gimpconfig-dump.
2003-01-22 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-dump.c
* app/config/gimprc-blurbs.h: applied a patch from Carol that adds
missing help blurbs and fixes spelling.
* docs/gimprc-1.3.5.in
* etc/gimprc: regenerated using gimpconfig-dump.
2003-01-20 Sven Neumann <sven@gimp.org>
* app/gui/info-dialog.c (info_dialog_add_label): made labels in
the info dialog selectable as suggested in #103991.
2003-01-20 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-progress.[ch]: renamed plug_in_progress_init()
to plug_in_progress_start() so it matches plug_in_progress_end().
Added g_return_if_fail() to all functions.
* app/plug-in/plug-in.[ch]: plug_in_new(): require the passed
path to be absolute. Removed plug_in_search_in_path(). Replaced
some if(plug_in){...} by g_return_if_fail(plug_in!=NULL). Cleanup.
* app/plug-in/plug-ins.c: plug_ins_def_add_from_rc(): refuse to
add plug_in_defs with non-absolute paths (should never happen).
Misc cleanup all over the place like s/GSList *tmp/GSList *list/.
* app/plug-in/plug-in-params.c: cleanup.
* tools/pdbgen/pdb/plug_in.pdb: changed accordingly.
* app/pdb/plug_in_cmds.c: regenerated.
* app/gui/brush-select.c
* app/gui/gradient-select.c
* app/gui/palette-select.c
* app/gui/pattern-select.c: some code review & cleanup.
2003-01-19 Sven Neumann <sven@gimp.org>
* app/main.c: just a minor string change.
* modules/Makefile.am: minor cleanup
* plug-ins/libgck/gck/gck.h
* plug-ins/libgck/gck/gckcolor.c: removed unused functions.
2003-01-17 Michael Natterer <mitch@gimp.org>
One more Plug-In cleanup, it's still a mess...
* app/plug-in/plug-in-def.[ch]: renamed "gboolean query" field
to "needs_query". Added setters for all values. Added
g_return_if_fail() stuff to all functions.
* app/plug-in/plug-in-proc.[ch]: added plug_in_proc_def_new().
Removed the "gboolean data_only" parameter from
plug_in_proc_def_destroy() and renamed it to
plug_in_proc_def_free(). Added plug_in_proc_def_get_progname()
which handles GIMP_TEMPORARY procedures correctly.
* app/plug-in/plug-in-rc.c: use the new stuff above.
* app/plug-in/plug-in.[ch]: renamed field "user_data" to
"plug_in_def" and added a comment that it is valid only during
query() and init(). Use the new APIs above. Pass meaningful
locale_domains and help_paths when adding temporary procedures
(fixes Scrip-Fu menu translation the right way (TM)). Cleanup.
* app/plug-in/plug-ins.[ch]: renamed plug_ins_def_add() to
plug_ins_def_add_from_rc(). Renamed plug_ins_proc_def_[add|remove]()
to plug_ins_temp_proc_def_[add|remove](). Added "Gimp" parameters
to plug_ins_help_path() and plug_ins_locale_domain(). Removed
unused pre-1.2 cruft "gimprc_prof_defs" and plug_ins_image_types().
Reverse gimp->load_procs and gimp->save_procs after all procedures
are registered. Removed Script-Fu translation hack. Reordered stuff.
* app/gui/plug-in-menus.[ch]: changed accordingly. Named all
public functions plug_in_menus_*(). Fixed Script-Fu menu translation
by using plug_in_proc_def_get_progname(). Cleanup.
* app/gui/file-open-menu.c
* app/gui/file-save-menu.c: don't g_slist_reverse() gimp->load_procs
and gimp->save_procs here.
* app/gui/toolbox-menu.c
* app/gui/image-menu.c
* tools/pdbgen/pdb/help.pdb
* tools/pdbgen/pdb/plug_in.pdb: changed accordingly.
* app/pdb/help_cmds.c
* app/pdb/plug_in_cmds.c: regenerated.
Unrelated:
* app/gui/image-menu.c
* app/widgets/gimpitemfactory.c: s/"tearoff1"/"tearoff"/g. I don't
get why the "1" was there. Minor cleanup.
2003-01-17 Sven Neumann <sven@gimp.org>
* app/tools/gimplevelstool.c
* app/tools/gimpthresholdtool.c: moved the creation of the
histogram object to the initialize method because we can't access
tool_info->gimp in tool_init().
2003-01-15 Sven Neumann <sven@gimp.org>
Fixed bug #103561:
* app/base/gimphistogram.[ch]: cleaned up multi-processor code,
added a GimpBaseConfig parameter to gimp_histogram_new().
* app/core/gimpdrawable-equalize.c
* app/pdb/color_cmds.c
* app/tools/gimphistogramtool.c
* app/tools/gimplevelstool.c
* app/tools/gimpthresholdtool.c
* tools/pdbgen/pdb/color.pdb: changed accordingly.
* app/base/pixel-processor.c: some cleanup to the multi-processor
code; use the global base_config variable :(