2006-08-05 Michael Natterer <mitch@gimp.org>
Applied (modified and enhanced) patch from Chris Moller which allows
tools to distinguish similar colors not only by composite, but also
by R, G, B, H, S and V. Fixes bug #348291.
* app/core/core-enums.[ch]: added new enum GimpSelectCriterion
which can be one of { COMPOSITE, R, G, B, H, S, V }.
* app/core/gimpimage-contiguous-region.[ch]: added
select_criterion params and create the region based on difference
by the selected criterion.
* app/core/gimpchannel-select.[ch]
* app/core/gimpdrawable-bucket-fill.[ch]: take criterion params and
pass them through to the contiguous region functions.
* app/tools/gimpbucketfilloptions.[ch]
* app/tools/gimpselectionoptions.[ch]: added criterion properties
and GUI to select it.
* app/tools/gimpbucketfilltool.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpfuzzyselecttool.c: pass the selected criterion to
the resp. core functions.
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimpselectioneditor.c
* app/display/gimpdisplayshell-dnd.c
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/selection_tools.pdb: changed accordingly
(simply pass GIMP_SELECT_CRITERION_COMPOSITE in most cases).
* app/pdb/edit_cmds.c
* app/pdb/selection_tools_cmds.c: regenerated.
2006-01-18 Michael Natterer <mitch@gimp.org>
* app/config/config-types.c: define GIMP_PARAM_STATIC_STRINGS
which is G_PARAM_STATIC_NAME|NICK|BLURB. Also define
GIMP_PARAM_READABLE, _WRITABLE and _READWRITE which include
GIMP_PARAM_STATIC_STRINGS.
* app/*/*.c: use them for all object properties so their
strings are not copied.
2006-01-14 Michael Natterer <mitch@gimp.org>
* app/config/gimpconfig-utils.[ch] (gimp_config_connect_full):
variant of gimp_config_connect() which allows the connected
objects to have different propertynames.
* app/widgets/widgets-enums.[ch]: removed enum GimpViewType...
* app/core/core-enums.[ch]: ...and added it here.
* app/widgets/gimpviewablebutton.[ch] (gimp_viewable_button_new):
added "button_preview_size" parameter so the button and popup
preview sizes can be specified separately.
* app/widgets/gimptemplateeditor.c: changed accordingly.
* app/widgets/gimpviewablebox.[ch] (gimp_prop_*_box_new):
new functions which take additional "view_type_prop" and
"view_size_prop" parameters and sync the passed context's
properties with the resp. properties of the viewable button.
* app/paint/gimppaintoptions.[ch]
* app/tools/gimpbucketfilloptions.c
* app/tools/gimpclonetool.c
* app/tools/gimppaintoptions-gui.c
* app/tools/gimptextoptions.[ch]: added view-type and view-size
properties to the options objects and use the new viewable box
constructors so the selected view types and sizes are persistant
across sessions. Fixes bug #315443.
2004-10-11 Michael Natterer <mitch@gimp.org>
* app/tools/gimptooloptions-gui.[ch]: added utility functions
which create a GimpViewableButton+GimpContainerEntry combo for
brushes, patterns, gradients and fonts and a very ugly utility
function which packs one of these combos into a GtkFrame returned
by gimp_prop_enum_radio_frame_new(). This stuff does not really
belong here but is too ugly to be moved to a more general place.
* app/tools/gimpbucketfilloptions.c
* app/tools/gimppaintoptions-gui.c
* app/tools/gimptextoptions.c: use the new utility functions. Moved
the pattern previews into the radio frame where using the pattern
is selected. Make them insensitive if using the pattern is not
selected.
2004-10-06 Michael Natterer <mitch@gimp.org>
* app/tools/gimp-tools.c (gimp_tools_restore): reset the tool
options before deserializing so they have the correct default
values. Fixes bug #120832.
* app/tools/gimpbucketfilloptions.c
* app/tools/gimpmagnifyoptions.c
* app/tools/gimpselectionoptions.c
* app/tools/gimptransformoptions.c: removed all set_defaults()
utility functions and moved their code to reset(). The change
above calls them automatically so there is no need to call them
from the GUI constructors any more.
2004-06-29 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpwidgets-utils.[ch]: added new function
gimp_get_mod_string() which takes a GdkModifierType and returns
correctly formated strings for all shift,control,alt combinations.
* app/tools/gimpbucketfilloptions.c
* app/tools/gimpcolorpickeroptions.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpcropoptions.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimperasertool.c
* app/tools/gimpflipoptions.c
* app/tools/gimpmagnifyoptions.c
* app/tools/gimpmoveoptions.c
* app/tools/gimptransformoptions.c
* app/tools/gimpvectoroptions.c
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpdocumentview.c
* app/widgets/gimperrorconsole.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimppaletteeditor.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpthumbbox.c
* app/widgets/gimptooloptionseditor.c
* app/widgets/gimpvectorstreeview.c: use the new function instead
of gimp_get_mod_name_shift(),control(),alt(),separator(). This
kindof addresses the issue of configurable modifier keys but is
actually indended to ease translation of format strings ("%s" is
easier to get right than "%s%s%s").
2004-05-04 Sven Neumann <sven@gimp.org>
* app/tools/gimpblendoptions.c
* app/tools/gimpbucketfilloptions.c
* app/tools/gimpcoloroptions.c
* app/tools/gimpinkoptions.c
* app/tools/gimppaintoptions-gui.c
* app/tools/gimpselectionoptions.c
* app/tools/gimptooloptions-gui.c
* app/tools/gimptransformoptions.c: use GimpFrames where GtkFrame
was used. Put "Pressure Sensitivity" frame into a GtkExpander.
2004-01-27 Michael Natterer <mitch@gimp.org>
Re-enabled filling the whole selection using the bucket fill
tool. Fixes bug #132649.
* app/tools/gimpbucketfilloptions.[ch]: added boolean property
"fill-selection" and a GUI for it.
* app/tools/gimpbucketfilltool.c: changed accordingly.
2003-07-17 Michael Natterer <mitch@gimp.org>
* app/config/gimpconfig-params.[ch]: added "gboolean allow_percent"
to gimp_param_spec_unit() and to the GIMP_CONFIG_INSTALL_PROP_UNIT()
macro. Changed value validation accordingly.
* app/config/gimpconfig-types.c (string_to_unit): parse "percent"
correctly.
* app/widgets/gimppropwidgets.c (gimp_prop_unit_menu_new): show
the "Percent" menu entry if the param_spec allows percent.
* app/config/gimpcoreconfig.c
* app/core/gimpgrid.c
* app/core/gimptemplate.c
* app/text/gimptext.c: pass FALSE to disallow percent.
* app/paint/gimppaintoptions.c
* app/tools/gimpselectionoptions.c: pass TRUE. Brings back the
percent feature for fade_length, gradient_length and fixed_size
rect/ellipse select.
* app/tools/gimpbucketfilloptions.c
* app/tools/gimpmagnifyoptions.c
* app/tools/gimpselectionoptions.c
* app/tools/gimptransformoptions.c: don't call the the reset()
functions from the GUI constructors (and reset the options just
deserialized from disk). Instead, added set_defaults() functions
which do everything the old reset() functions did (except
upchaining) and call set_defaults() from reset() and from the GUI
constructors.
2003-04-08 Michael Natterer <mitch@gimp.org>
* app/tools/gimpbucketfilloptions.c: removed the pattern preview...
* app/tools/paint_options.c: ...and added it here so all paint
tools can use it if needed. Added a pattern preview to the clone
tool options.
2003-03-26 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainerview.[ch]: added the scrolled_win
to the GimpContainerView struct. Create it in init().
Added gimp_container_view_set_size_request() which adds the
scrolled_window's scrollbar and frames sizes correctly.
* app/widgets/gimpcontainergridview.[ch]
* app/widgets/gimpcontainertreeview.[ch]: removed scrolled windows
here and use the one from the parent_instance. Use the new utility
function.
* app/widgets/gimpcontainertreeview.c: enable searching in the
name column. Grab the focus in button_press.
* app/widgets/gimpcontainerpopup.[ch]: added a button_box containing
zoom in/out, view as list/grid and a button to show the permanently
open dialog. Added more parameters to gimp_container_popup_new().
* app/tools/gimpblendoptions.c
* app/tools/gimpbucketfilloptions.c
* app/tools/gimptextoptions.c
* app/tools/paint_options.c: changed accordingly.
2003-03-25 Michael Natterer <mitch@gimp.org>
* app/tools/tool_manager.c: added GIMP_CONTEXT_PATTERN_MASK to the
context properties which are remembered per tool options.
* app/tools/paint_options.[ch]
* app/tools/gimpblendoptions.c: attach the brush and gradient
preview to the GtkTable that holds opacity and paint mode.
* app/tools/gimpbucketfilloptions.c: added a pattern preview
and popup.
2003-03-25 Sven Neumann <sven@gimp.org>
* Makefile.am
* gimpintl.h: removed this header file.
* gimpmiscui.c: include libgimp-intl.h.
* gimp.c (gimp_main): call setlocale() and bind to the libgimp
textdomain so that plug-ins don't need to do that explicitely.
* libgimp/stdplugins-intl.h: added the functionality that used to
live in gimpintl.h and removed the libgimp related stuff. Got rid
of the INIT_I18N_UI() macro.
* plug-ins/*/*.c: removed all occurances of INIT_I18N_UI().
Plug-ins simply call INIT_I18N() once in their run() function.
* plug-ins/script-fu/script-fu-intl.h: added the functionality
that used to live in gimpintl.h and removed the libgimp related
stuff.
* app/Makefile.am
* app/gimp-intl.h: new file that defines the gettext macros for
the GIMP core.
* app/*/*.c: include gimp-intl.h instead of libgimp/gimpintl.h.
* plug-ins/script-fu/scripts/test-sphere.scm: fixed typos.
2003-02-09 Michael Natterer <mitch@gimp.org>
* app/core/gimpcontext.[ch]: simplified everything a lot by
merging the public GimpContextPropType enum with the internal
anonymous object property id enum. Removed the internal copy_prop
functions and handle property copying in a big switch() in
gimp_context_copy_property(). Removed the separate signal
connections for each property of the parent context and do the
same using a single "notify" handler. Emit "notify" signals all
over the place. Removed internal arrays which are no longer
needed due to enum merge and copy_property simplification.
Removed the array of signal names and use g_signal_name().
Removed gimp_context_unset_parent() and allow "parent" being NULL
in gimp_context_set_parent().
* app/tools/tool_manager.c
* app/widgets/gimpdevices.c: changed accordingly.
* libgimptool/gimptooltypes.h: changed GimpToolOptionsGUIFunc to
return a GtkWidget (the created tool options widget).
* libgimptool/gimptoolmodule.c: #include <gtk/gtk.h>
* app/tools/tool_options.[ch]: removed the "main_vbox" from the
GimpToolOptions struct. Changed gimp_tool_options_gui() to create
and return the main_vbox.
* app/tools/tool_manager.c: create the "This Tool has no Options"
label here if NULL was passed as "options_gui_func". Attach the
options widget to the tool_options object using
g_object_set_data().
* app/gui/tool-options-dialog.c: changed accordingly.
* app/tools/gimpairbrushtool.c
* app/tools/gimpblendoptions.[ch]
* app/tools/gimpbucketfilloptions.[ch]
* app/tools/gimpclonetool.c
* app/tools/gimpcolorpickeroptions.[ch]
* app/tools/gimpconvolvetool.c
* app/tools/gimpcropoptions.[ch]
* app/tools/gimpdodgeburntool.c
* app/tools/gimperasertool.c
* app/tools/gimpflipoptions.[ch]
* app/tools/gimpinkoptions.[ch]
* app/tools/gimpmagnifyoptions.[ch]
* app/tools/gimpmeasureoptions.[ch]
* app/tools/gimpmoveoptions.[ch]
* app/tools/gimpselectionoptions.[ch]
* app/tools/gimpsmudgetool.c
* app/tools/gimptextoptions.[ch]
* app/tools/gimptransformoptions.[ch]
* app/tools/gimpvectoroptions.[ch]
* app/tools/paint_options.[ch]: return the options vbox from
all tool_options_gui functions.
2003-02-08 Sven Neumann <sven@gimp.org>
* app/text/gimptext.c
* app/tools/gimpbucketfilloptions.c
* app/tools/gimpselectionoptions.c
* app/tools/gimptextoptions.c: use N_() instead of _() with blurbs
of object properties. GimpConfig wants the untranslated string as
well.
* app/widgets/gimpenummenu.c
* app/widgets/gimppropwidgets.c: added gettext() calls.
* app/config/gimpconfig-serialize.c: document the fact that
gimp_config_serialize_comment() only handles ASCII comments.