2003-10-24 Sven Neumann <sven@gimp.org>
* app/tools/Makefile.am
* app/tools/gimphistogramoptions.[ch]: new tool options class
GimpHistogramOptions, derived from GimpColorOptions.
* app/tools/gimpcoloroptions.c (gimp_color_options_gui): add
gimp_histogram_options_gui() when called with GimpHistogramOptions.
This a bit weird since the class hierarchy is the other way around
but it makes things easier.
* app/tools/gimphistogramtool.c
* app/tools/gimplevelstool.c
* app/tools/gimpthresholdtool.c: use GimpHistogramOptions and
connect the histogram views to the "histogram-scale" property.
Perhaps not perfect GUI-wise but it let's you choose the histogram
scale and stores this setting per tool. Fixes bug #125306.
* app/widgets/gimphistogramview.c: prefixed property names with
"histogram-" so they match the GimpHistogramOptions property.
* app/widgets/gimphistogrambox.c: minor cleanup.
2003-10-24 Sven Neumann <sven@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/stock-histogram-linear-16.png
* themes/Default/images/stock-histogram-logarithmic-16.png:
added placeholders for new icons.
* libgimpwidgets/gimpstock.[ch]: register the new icons.
* app/tools/gimphistogramtool.c: made the dialog more compact by
using a stock-box for the histogram scale.
* app/widgets/gimphistogramview.c (gimp_histogram_view_expose):
don't invert the histogram view if the full range is selected.
* app/widgets/gimphistogrambox.c: moved the range widgets below
the histogram.
* app/config/gimpconfig-params.h: added macro
GIMP_CONFIG_INSTALL_PROP_RESOLUTION() that installs a double
property with the suitable range.
* app/core/gimptemplate.c
* app/config/gimpdisplayconfig.c: use it here.
* app/composite/gimp-composite-3dnow.c:
Incorrectly reported the inverse of whether not the 3dNow instruction set is
supported by the current CPU.
* app/composite/gimp-composite-{mmx,sse}.c:
Removed linkage of gimp_composite_divide_*. Something is
inexplicably broken, and this will get people working again
while I debug. This should close bug #125101.
2003-10-23 Sven Neumann <sven@gimp.org>
* app/widgets/gimppropwidgets.c: setup size entries in the order
suggested by the GimpSizeEntry documentation.
* libgimpwidgets/gimpsizeentry.c: added an internal flag so the
size entry knows if the boundaries are set on the value or on the
reference value. Needed to make gimp_size_entry_update_unit() do
the right thing.
2003-10-23 Henrik Brix Andersen <brix@gimp.org>
* gimp/app/display/gimpdisplayoptions.c
* gimp/app/config/gimprc-blurbs.h: added blurbs to the remaining
properties of GimpDisplayOptions and GimpDisplayOptionsFullscreen
2003-10-23 Sven Neumann <sven@gimp.org>
* app/widgets/gimppropwidgets.[ch] (gimp_prop_size_entry_new): take
the boundaries from the GParamSpec instead of hardcoding them.
Added a utility function to reduce code duplication.
2003-10-23 Sven Neumann <sven@gimp.org>
* app/widgets/gimpimagedock.c (gimp_image_dock_init): set a
tooltip on the "Auto" button since it isn't obvious what it does.
2003-10-23 Sven Neumann <sven@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/stock-tools-[16|24].png
* themes/Default/images/stock-device-status-24.png
* themes/Default/images/stock-tool-options-24.png: new icons drawn
by Jimmac.
* libgimpwidgets/gimpstock.[ch]: register the new icons.
* app/gui/dialogs-constructors.c
* app/gui/dialogs-menu.c: use the new GIMP_STOCK_TOOLS icon.
* app/gui/image-menu.c
* app/gui/toolbox-menu.c: add the Tools dialog entry here as well.
* app/widgets/gimphelp-ids: s/TOOL_DIALOG/TOOLS_DIALOG/.
2003-10-23 Henrik Brix Andersen <brix@gimp.org>
* gimp/app/display/gimpdisplayoptions.[ch]: changed
PROP_SHOW_ACTIVE_LAYER to PROP_SHOW_LAYER_BOUNDARY to be
consistent with the user interface
* gimp/app/display/gimpdisplayshell-appearance.c
* gimp/app/display/gimpdisplayshell-callbacks.c
* gimp/app/gui/preferences-dialog.c
* gimp/app/gui/image-menu.c: changed accordingly
2003-10-22 Simon Budig <simon@gimp.org>
* app/tools/gimpvectortool.c: Changed the priority
of ALT vs. CTRL. Resolves an small issue with (broken)
window managers that grab ALT. Implements the suggestion
from Raymond Ostertag in bug #124971.
2003-10-22 Sven Neumann <sven@gimp.org>
* app/config/gimprc-blurbs.h
* app/display/gimpdisplayoptions.h: don't set separate blurbs for
the fullscreen options. It only means extra work for the translators
without much (if any) value.
2003-10-22 Sven Neumann <sven@gimp.org>
* app/display/Makefile.am
* app/display/gimpdisplayoptions.[ch]: new files that implement
a GimpConfig object with GimpDisplayShell and GimpCanvas options.
Actually two classes, one for the normal view, a derived one with
different default values for fullscreen mode.
* app/display/display-enums.[ch]: renamed GimpDisplayPadding enum
to GimpCanvasPadding.
* app/config/config-types.h: added the GimpDisplayOptions typedef.
* app/config/gimprc-blurbs.h
* app/config/gimpdisplayconfig.[ch]: replaced a bunch of properties
with two instances of GimpDisplayOptions.
* app/display/gimpdisplayshell.[ch]: replaced the
GimpDisplayShellAppearance struct with GimpDisplayOptions.
* app/display/gimpdisplayshell-appearance.[ch]
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell-handlers.[ch]
* app/gui/image-menu.c: changed accordingly.
* app/gui/preferences-dialog.c: added a convenience function that
creates a view on a GimpDisplayOptions object. Not all values are
configurable here yet.
* docs/gimprc-1.3.5.in
* etc/gimprc: regenerated to document the gimprc format changes.
2003-10-22 Sven Neumann <sven@gimp.org>
* app/widgets/gimpwidgets-utils.[ch]: added new function
gimp_rgb_set_gdk_color().
* app/config/gimprc.c (gimp_rc_load): unlinking the broken gimprc
doesn't really help so don't do it. GIMP will continue to complain
until the gimprc is fixed.
2003-10-22 Sven Neumann <sven@gimp.org>
* app/core/gimptemplate.c: no need to reimplement the default
GimpConfigInterface implementation.
* app/config/gimpcoreconfig.c: renamed notify handlers.
2003-10-21 Dave Neary <bolsh@gimp.org>
* app/core/gimpimage-convert.c: Applied a slightly modified
patch from Vesa Halttunen <vesuri@jormas.com> to sort generated
optimum palettes. Closes bug #119824.
2003-10-21 Sven Neumann <sven@gimp.org>
* base/base.c (base_init)
* app/errors.c (gimp_errors_init): moved the message about
possible debug messages to gimp_errors_init() so that it appears
before any startup debug output.
* app/app_procs.c (app_init): register a log handler for the
GimpConfig log domain.
* app/widgets/gimpwidgets-utils.c (gimp_message_box)
* app/core/gimp.c (gimp_message): added an extra newline when
sending messages to stderr. Don't output the full progname for
messages; use a simple "GIMP" like the GUI message handler does.
* app/gui/user-install-dialog.c: removed function copy_file()...
* app/config/gimpconfig-utils.[ch]: ... and added it here as
gimp_config_file_copy(). Also added utility function
gimp_config_file_backup_on_error().
* app/config/gimprc.c (gimp_rc_load): if the user gimprc can't be
parsed, create a backup and if that succeeds unlink the broken one
to cure the problem.
* app/gui/session.c: create a backup if sessionrc can't be parsed.
* config/gimpconfig-deserialize.c (gimp_config_deserialize_properties):
don't set an error when token is G_TOKEN_NONE; it should already
be set then.
2003-10-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdocked.[ch]: added new virtual function
GimpDocked::get_title() which returns a custom title. Added signal
"title_changed". Added public wrappers around the new stuff.
* app/widgets/gimpdockable.c: implement GtkContainer::add() and
::remove() and connect to the child's "title_changed" signal. Use
the GimpDocked's title if it provides one.
* app/widgets/gimptooloptionseditor.c: implement
GimpDocked::get_title() and return e.g. "Paintbrush Options". Emit
"title_changed" when the active tool changes. Simplified
GimpDocked::get_preview()'s implementation a lot since it does not
include a label any more.
2003-10-21 Sven Neumann <sven@gimp.org>
* app/tools/gimpcoloroptions.c: changed the default value for
"sample_average" to TRUE (for Levels and Curves tools).
* app/tools/gimpcolorpickeroptions.c: override the default value
for "sample_average" and set it back to FALSE (for Color Picker).
2003-10-21 Sven Neumann <sven@gimp.org>
* app/config/Makefile.am (test_config_LDADD): it's not any longer
needed to link the test against libappdisplay. and libappwidgets.a.
2003-10-21 Sven Neumann <sven@gimp.org>
* app/base/base.c (base_init): removed the call to
cpu_accel_print_results(); should have got enough testing and
gimp-composite outputs the same info anyway.
* app/Makefile.am: link libappcomposite.a before libappbase.a.
* app/config/Makefile.am (test_config_LDADD): it's not any longer
needed to link the test against libappdisplay. and libappwidgets.a.
2003-10-21 Sven Neumann <sven@gimp.org>
* app/widgets/gimpvectorstreeview.c: implement
GimpItemTreeView::set_image and set the sensitivity of the
"Selection To Path" button from there. Fixes bug #125058.
2003-10-20 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/gimptooldialog.[ch]: added a simple utility function
gimp_tool_dialog_new() that creates a GimpVieawableDialog based on
GimpToolInfo and registers it with the toplevel dialog factory.
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcolorizetool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpcurvestool.c
* app/tools/gimphistogramtool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimpimagemaptool.[ch]
* app/tools/gimplevelstool.c
* app/tools/gimpmeasuretool.c: use the new functionality; removed
the shell_identifier since it can be created from the tool name.
* app/tools/gimpperspectivetool.c
* app/tools/gimpposterizetool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c
* app/tools/gimpsheartool.c
* app/tools/gimpthresholdtool.c
* app/tools/gimptransformtool.[ch]: removed the shell_identifier
here as well. Should also be ported to gimp_tool_dialog_new().
* NEWS: removed stuff that isn't new at all.
2003-10-20 Sven Neumann <sven@gimp.org>
* app/tools/gimpmeasuretool.[ch]: don't use InfoDialog; always
display pixels and real-world units in the info window.
2003-10-20 Sven Neumann <sven@gimp.org>
* app/core/gimpobject.c (gimp_object_name_collate): must use
strcmp() not strcoll() on the collation keys obtained from
g_utf8_collate_key().
2003-10-19 Sven Neumann <sven@gimp.org>
* app/tools/gimpcropoptions.c
* app/tools/gimpmoveoptions.c: revert back to "Current".
* app/tools/tools-enums.[ch]: removed "Active" from the enum value
descriptions; it was misleading.
2003-10-19 Sven Neumann <sven@gimp.org>
* app/widgets/gimppropwidgets.c (gimp_prop_enum_radio_frame_new)
(gimp_prop_boolean_radio_frame_new): attach the first radio button
as object data to the returned frame.
* app/tools/gimpmoveoptions.c: change labels and sensitivity of
the Tool Toggle frame depending on the selected move-type.
* app/tools/gimpcropoptions.c: use the term "Active Layer" instead
of "Current Layer". Please object if you dislike this change.
2003-10-19 Sven Neumann <sven@gimp.org>
* app/config/Makefile.am
* app/config/test-config.c: it became impossible to link the test
because the GimpRc class pulls in too many symbols. Changed it to
use a GimpGrid object instead.
* app/core/gimpgrid.[ch]: reordered properties so they match the
order they appear in the grid dialog.
2003-10-18 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdockbook.c: removed the "Select Tab" menu and
all the evil hacks that were needed to make it work. Now that we
have an extra dockable menu, the standard menu from GTK+ is good
enough.
* app/widgets/gimpdockable.c: added a tooltip to the close button
and removed code that used to hide the "Select Tab" menu.
* app/gui/dialogs-menu.c (dialogs_menu_entries): removed now unused
"Select Tab" entry.
2003-10-18 Michael Natterer <mitch@gimp.org>
* app/tools/gimperasertool.c (gimp_eraser_options_gui): changed
the "Anti Erase" toggle key from <control> to <alt> because
<shift> and <control> are used by straight_line mode and should
behave consistently across all paint tools.
2003-10-18 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpitemtreeview.c
(gimp_item_tree_view_docked_iface_init): need to set
docked_iface->get_preview to NULL explicitly now that the
interface vtable inheriting is fixed (the layers, channels and
paths dialogs can't show preview tabs because they don't always
have a container).
* app/widgets/gimpimagedock.c (gimp_image_dock_get_aux_info):
fixed typo: s/auctive/active/. Added #defines for the magic
aux-info identifiers to avoid bugs like that.
* app/widgets/gimpcoloreditor.c
* app/widgets/gimpdataeditor.c
* app/widgets/gimppaletteeditor.c. addef #defines for aux-info
identifiers here, too.
2003-10-18 Sven Neumann <sven@gimp.org>
* app/gui/templates-commands.[ch] (templates_new_template_dialog):
added an (unused) GimpTemplate parameter to make this function
match the GimpTemplateActionFunc signature.
2003-10-18 Michael Natterer <mitch@gimp.org>
* app/text/gimp-fonts.c (gimp_fonts_load): added
gimp_container_freeze() / _thaw() around font list reloading.
* app/tools/gimp-tools.c (gimp_tools_init): added missing
gimp_container_freeze().
* app/widgets/gimpcontainerview.c: connect to the container's
"freeze" and "thaw" signals and empty / refill the view
accordingly. Ignore "add", "remove" and "reorder" signals while
the container is frozen. Fixes font list sorting after refresh and
speeds up refreshing of fonts, brushes, patterns etc.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpfontview.[ch]: new widget for the font list/grid.
* app/widgets/gimphelp-ids.h: added GIMP_HELP_FONT_REFRESH.
* app/gui/dialogs-constructors.c: changed accordingly.
* app/gui/Makefile.am
* app/gui/fonts-commands.[ch]
* app/gui/fonts-menu.[ch]: new files: a menu for the font view.
* app/gui/menus.c (menus_init): register the new <Fonts> menu.
* app/gui/preferences-dialog.c (prefs_dialog_new): removed the
fonts refreshing hack from the "Environment" page.
2003-10-17 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontainerview.c (gimp_container_view_get_preview):
we have a bug somewhere; this function shouldn't be called for a
view w/o a container. Added a g_return_if_fail() to avoid a crash.
2003-10-17 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdnd.c (gimp_dnd_file_dest_add): according to an
older mail from Owen, GDK_ACTION_DEFAULT means nothing and should
not be used.
* app/widgets/gimpcontainertreeview-dnd.c
(gimp_container_tree_view_drop_status): pass 0 to gdk_drag_status()
instead of GDK_ACTION_DEFAULT.
2003-10-17 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdnd.c (gimp_dnd_file_dest_add): for file drag
destinations, set GDK_ACTION_DEFAULT and GDK_ACTION_MOVE in
addition to GDK_ACTION_COPY. Enables DND from Konqueror.
2003-10-17 Sven Neumann <sven@gimp.org>
* app/widgets/gimptooloptionseditor.c: gimp_dnd_viewable_dest_add()
calls gtk_drag_dest_set() for us so we don't need to do it here.
2003-10-17 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdnd.c: some minor code cleanup.
* libgimpcolor/gimpcolorspace.c: removed trailing whitespace.
2003-10-16 Dave Neary <bolsh@gimp.org>
* app/base/color-balance.c
* app/base/hue-saturation.c
* app/composite/gimp-composite-generic.c
* app/paint-funcs/paint-funcs-generic.h
* app/tools/gimphuesaturationtool.c
* libgimpcolor/gimpcolorspace.[ch]: Changed all occurrences of
gimp_rgb_to_hls_int and gimp_hls_to_rgb_int to
gimp_rgb_to_hsl_int and gimp_hsl_to_rgb_int respectively. This
closes bug #124661.
2003-10-16 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimputils.[ch]: new function which takes any string
and returns UTF-8 (it returns "(invalid UTF-8 string)" if all
conversion attempts fail).
* app/core/gimpbrush.c
* app/core/gimpgradient.c
* app/core/gimppalette.c
* app/core/gimppattern.c
* app/xcf/xcf-read.c: use it. Fixes bug #79897.
2003-10-16 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppaletteeditor.c: added "realize" and
"size_allocate" callbacks and cleaned up calling of
palette_editor_redraw(). Fixes bug #110356 without a complete
re-write.
Added GimpDockedInterface::set_aux_info() and get_aux_info()
implementations and rememeber the zoom_factor in sessionrc (mainly
for testing yesterday's fix for interface upchaining).
2003-10-16 Sven Neumann <sven@gimp.org>
* app/config/gimpcoreconfig.c: increased default undo-size to 4 MB.
* app/config/gimprc-blurbs.h (UNDO_SIZE_BLURB): attempt to improve
the description of the undo-size setting.
* app/gui/image-menu.c (image_menu_entries): changed the default
shortcut for Redo from the unergonmic Shift-Ctrl-Z to Ctrl-Y.
2003-10-15 Michael Natterer <mitch@gimp.org>
* app/tools/gimpmoveoptions.c (gimp_move_options_gui): changed
labels of the "Tool Toggle" toggles to document that guides can't
be moved in "Move Current Layer or Path" mode. Fixes bug #124693.
2003-10-15 Michael Natterer <mitch@gimp.org>
* app/gui/dialogs-menu.c (dialogs_menu_update): hide the
"Tab Style" submenu when there is no tab visible (when there is
only one page in the notebook). Fixes bug #124697.
2003-10-15 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdocked.c (gimp_docked_iface_base_init)
* app/config/gimpconfig.c (gimp_config_iface_base_init): they are
base_init, not just init functions. Changed implementations to not
overwrite the parent class' vtable entries with the default
implementations. Fixes derived interface methods and brings
back all dockable menus.
2003-10-15 Sven Neumann <sven@gimp.org>
* app/gui/file-new-dialog.c (file_new_dialog_set): sync from the
given template to the dialog template, not the other way around.
* app/widgets/gimptemplateeditor.c (gimp_template_editor_constructor):
shouldn't have to call the notify callback from here.
2003-10-15 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcolorframe.[ch] (gimp_color_frame_set_color):
made the "GimpRGB *color" param const.
Added API docs for all public functions.
2003-10-15 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-utils.c (gimp_config_diff_internal): minor
cleanup.
* app/core/gimptemplate.[ch]: added a comment property.
* app/config/gimpcoreconfig.[ch]
* app/config/gimprc-blurbs.h: removed "default_comment" property
and set the default comment on the default image template.
* app/widgets/gimptemplateeditor.c: added a comment editor widget.
* app/core/gimp.c
* app/gui/file-new-dialog.c
* app/gui/preferences-dialog.c
* app/pdb/gimprc_cmds.c
* tools/pdbgen/pdb/gimprc.pdb: changed accordingly.
* libgimpwidgets/gimpmemsizeentry.c (gimp_memsize_entry_init):
increased spacing between the spinbutton and the menu.
2003-10-15 Michael Natterer <mitch@gimp.org>
* app/widgets/widgets-enums.[ch]: new enum GimpColorFrameMode.
* app/widgets/Makefile.am
* app/widgets/gimpcolorframe.[ch]: new widget GimpColorFrame which
shows a picked color in an optionmenu-selectable color space.
Helps getting rid in InfoDialog.
* app/gui/info-window.c: use it for the "extended" page. Cleaned
up that page a lot so it can be made dockable in the next step.
* app/tools/gimpcolorpickertool.[ch]: use it here too. Don't use
InfoDialog any more (and do not depend on gui/ any more).
2003-10-15 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainerview.c
(gimp_container_view_get_preview): create tab widgets without
border for both the tools and templates views.
* app/widgets/gimpviewablebutton.c: removed trailing whitespace.
2003-10-15 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpsizeentry.[ch]: added new function
gimp_size_entry_get_help_widget() to make it possible to set
tooltips on a GimpSizeEntry.
* app/widgets/gimppropwidgets.c (gimp_prop_size_entry_new)
(gimp_prop_coordinates_connect): set tooltips from property blurbs.
* app/core/gimpgrid.c
* app/core/gimptemplate.c
* app/gui/preferences-dialog.c: minor string changes.
2003-10-15 Sven Neumann <sven@gimp.org>
* app/widgets/gimptemplateeditor.c: added a hbox to align the
landscape/portrait buttons so they don't move with the label below.
2003-10-14 Sven Neumann <sven@gimp.org>
* app/core/gimptemplate.c (gimp_template_class_init): added blurbs
for most properties.
* app/config/gimprc-blurbs.h: removed an unused blurb.
2003-10-14 Sven Neumann <sven@gimp.org>
* app/config/gimpdisplayconfig.c: made "perfect-mouse" the default
and changed defaults for image title and image statusbar.
2003-10-14 Michael Natterer <mitch@gimp.org>
* app/core/gimpcontext.c: add the new context to gimp->context_list
in gimp_context_constructor(), not in set_property(). Cleanup.
* app/tools/gimptextoptions.c: added finalizer so we don't leak
the options' GtkTextBuffer and GimpText objects. Cleanup.
2003-10-14 Sven Neumann <sven@gimp.org>
* app/widgets/gimptemplateeditor.c (gimp_template_editor_new):
set the initial stock icon on the viewable-button.
2003-10-14 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-grid.c
* app/core/gimpimage.[ch]
* app/gui/grid-dialog.c: removed the "grid_changed" signal from
GimpImage.
* app/display/gimpdisplayshell-handlers.c: connect to
notifications from the image grid instead.
2003-10-14 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-utils.[ch]: removed
gimp_config_copy_properties() and added the more intelligent
gimp_config_sync() instead.
* app/config/Makefile.am
* app/config/config-types.h
* app/config/gimpcoreconfig.[ch]
* app/config/gimprc-blurbs.h: replaced default image properties
with a single GimpTemplate object property. Changed the
set_property function to not replace aggregate objects but call
gimp_config_sync() instead.
* app/tools/gimptextoptions.c (gimp_text_options_set_property):
same change here.
* app/config/gimpconfig.[ch]: changed return value of
gimp_config_duplicate() to gpointer to avoid some casts that only
made the code harder to read.
* app/widgets/gimptemplateeditor.[ch]: don't keep an internal copy
here but edit the GimpTemplate passed when the editor was
constructed.
* app/gui/preferences-dialog.c: use a GimpTemplateEditor to allow
editing of the default image paramaters.
* app/config/gimprc.c
* app/core/core-types.h
* app/core/gimp.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-grid.c
* app/core/gimpimage-new.c
* app/core/gimpimage-undo-push.c
* app/core/gimpimage.c
* app/core/gimptemplate.[ch]
* app/gui/file-new-dialog.c
* app/gui/grid-dialog.c
* app/gui/info-window.c
* app/gui/resize-dialog.c
* app/gui/templates-commands.[ch]
* app/gui/tool-options-commands.c
* app/text/gimptextlayer.c
* app/text/gimptextlayer.c
* app/tools/gimptexttool.c
* app/widgets/gimptemplateview.c
* app/xcf/xcf-load.c: changed accordingly.
2003-10-14 Sven Neumann <sven@gimp.org>
* app/widgets/gimpgrideditor.[ch]: removed "grid_changed" signal.
The user of GimpGridEditor can connect to notifications of the
grid that is being edited. There is no need for a proxy signal.
* app/core/gimpimage-grid.c (gimp_image_set_grid): don't exchange
the image's grid object, it is part of the image. Copy all grid
properties instead.
* app/core/gimpimage-undo-push.c
* app/gui/grid-dialog.c: changed accordingly.
2003-10-14 Michael Natterer <mitch@gimp.org>
Refactored modifier handling of displays and tools. Hopefully
finally fixes bug #124135.
* app/tools/gimptool.[ch] (struct GimpTool): added private members
"focus_display" and "modifier_state" so tools are aware of their
modifier state.
* app/tools/gimptool.[ch]
* app/tools/tool_manager.[ch]: removed all public modifier_key()
API and added set_focus_display() and set_modifier_state()
instead.
* app/tools/tool_manager.c (tool_manager_select_tool)
* app/display/gimpdisplay.c (gimp_display_delete): set the
active_tool's focus_display to NULL.
* app/display/gimpdisplayshell.[ch] (struct GimpDisplayShell):
added almost the whole stuff that used to be static variables of
gimp_display_shell_tool_events(). Cleaned up the struct a bit.
* app/display/gimpdisplayshell-callbacks.c: removed utility
function gimp_display_shell_update_tool_modifiers().
(gimp_display_shell_tool_events):
- Replaced all calls to gimp_display_shell_update_tool_modifiers()
and tool_manager_modifier_key_active() by
tool_manager_modifier_state_active().
- Call tool_manager_focus_display_active() before setting the
tool's modifier_state. Set the tool's focus_display to NULL when
we get a focus_out event.
- Don't grab/ungrab the keyboard twice when <space>-selecting the
move tool.
- Removed most static variables and use the new members of
GimpDisplayShell. Don't remember any old modifier states since
GimpTool does that by itself now.
2003-10-14 Sven Neumann <sven@gimp.org>
* app/Makefile.am
* app/main.c
* app/config/Makefile.am
* app/config/makefile.msc
* app/config/gimpconfig-dump.[ch]: removed the separate
gimpconfig-dump binary and moved the functionality into gimp
itself. It became a mess to build and seems cleaner this way.
2003-10-13 Michael Natterer <mitch@gimp.org>
* app/main.c (main): call g_set_prgname() in the --no-interface
case (GDK is doing this for us otherwise).
Always set a human readable localized application name using
g_set_application_name().
2003-10-13 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainergridview.c: typo: s/vieport/viewport/g
(gimp_container_grid_view_insert_item): stop idle updating since
the widget will be exposed anyway.
2003-10-13 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdialogfactory.[ch]: renamed
gimp_dialog_factories_idle() and _unidle() to
gimp_dialog_factories_set_busy() and _unset_busy().
Added utility function gimp_dialog_factory_set_widget_data() and
public API gimp_dialog_factory_from_widget() so we don't need to
g_object_[set|get]_data() with magic keys all over the place.
* app/widgets/gimpsessioninfo.c
* app/gui/dialogs-commands.c
* app/gui/dialogs-menu.c
* app/gui/gui-vtable.c: changed accordingly.
* app/widgets/gimpsessioninfo.c: remember active page of all dock
notebooks in sessionrc.
* app/widgets/gimpsessioninfo.h: cleaned up the session info structs.
2003-10-13 Sven Neumann <sven@gimp.org>
* app/widgets/gimptooloptionseditor.c: set the horizontal scrollbar
policy to AUTOMATIC; addresses bug #124134.
2003-10-12 Manish Singh <yosh@gimp.org>
* app/widgets/gimpitemtreeview.c
* app/widgets/gimplayertreeview.c: split out indexed assignment and
increment to avoid miscompilation by gcc on ppc and ia64. Fixes
bug #113144.
2003-10-10 Pedro Gimeno <pggimeno@wanadoo.es>
* app/widgets/gimptoolbox.c (gimp_toolbox_init): Set the default
aspect ratio of the toolbox wrap box to 5:6.
(gimp_toolbox_set_geometry): Don't enforce min_height in the
toolbox window. Fixes bug #116937 and works around bug #113228.
* plug-ins/common/png.c (save_image): Round the values passed to
png_set_pHYs so that they don't decrease on every save.
2003-10-12 Sven Neumann <sven@gimp.org>
* app/config/Makefile.am: fixed dependencies for test-config.
* app/config/gimpconfigwriter.[ch]: code cleanup and documentation.
* app/composite/gimp-composite-generic.[ch]: made prototype for
gimp_composite_color_any_any_any_generic() match the implementation.
* app/composite/gimp-composite.c: fixed some issues with the
comment templates.
2003-10-12 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplay.c (gimp_display_reconnect): HALT the
active tool before reconnecting. Fixes bug #124388.
2003-10-12 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-serialize.[ch]: removed function
gimp_config_serialize_comment()...
* app/config/gimpconfig-utils.[ch]: removed function
gimp_config_string_indent()...
* app/config/gimpconfigwriter.[ch]: ... and implement both here.
Added a comment mode to GimpConfigWriter.
* app/config/gimpconfig-dump.c: handle GimpConfig properties.
* doc/gimprc-1.3.5.in
* etc/gimprc: regenerated by gimpconfig-dump.
* app/composite/gimp-composite.h
* app/composite/gimp-composite-generic.h
* app/composite/gimp-composite-regression.h: Reformatted to include
argument names in function prototypes.
* app/composite/gimp-composite.c
* app/composite/gimp-composite-generic.c
* app/composite/gimp-composite-regression.c: Added gtk-doc templates for functions.
* app/composite/make-install.py: migrated to new (trimmer) code and
removed dead code. Some beautification for generated code.
* app/composite/gimp-composite-{mmx,sse,sse2,3dnow,altivec,vis,generic}.{c,h}:
All init() functions are also a run-time check and now expected to
return TRUE/FALSE if the particular set of compositing functions can
be used.
* app/composite/gimp-composite.c: No longer has to determine if
the particular set of compositing functions can be used.
* app/composite/gimp-composite-{mmx,sse,sse2,3dnow,altivec,vis}-{install,test}.c:
Regenerated
* app/composite/test-composite.c: Deprecated, removed. All tests are automatically
generated and the code is in app/composite/gimp-composite-{mmx,sse,sse2,3dnow,altivec,vis}-test.c:
* app/composite/Makefile.am: removed unused references to test-composite.c
2003-10-11 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpsessioninfo.[ch]: added utility function
gimp_session_info_aux_new().
* app/widgets/gimpcoloreditor.c
* app/widgets/gimpdataeditor.c
* app/widgets/gimpimagedock.c (get_aux_info): use it.
2003-10-11 Michael Natterer <mitch@gimp.org>
* app/widgets/widgets-types.h
* app/widgets/gimpsessioninfo.[ch]: added new struct
GimpSessionInfoAux which contains "gchar *name" and "gchar *value".
Changed sessionrc "aux-info" format again to be really extendable
this time. Also breaks everybody's sessionrc again.
* app/widgets/gimpimagedock.c
* etc/sessionrc: changed accordingly.
Implemented the stuff suggested in bug #122964. Fixes bug #122964
and bug #52206:
* app/widgets/gimpdataeditor.[ch]: replaced the "Gimp" member by a
"GimpDataFactory" and changed gimp_data_editor_construct()
accordingly. Implement GimpDockedInterface::set_aux_info() and
get_aux_info() and remember the currently edited data across
sessions.
* app/gui/gradient-editor-commands.c
* app/gui/gradient-editor-menu.c
* app/widgets/gimpbrusheditor.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimppaletteeditor.c: changed accordingly.
* app/widgets/gimpcoloreditor.c: remember the active color
selector across sessions.
2003-10-11 Sven Neumann <sven@gimp.org>
* app/core/gimpcontainer.c (gimp_container_deserialize): when
deserializing a GimpContainer child, use the child's GimpConfig
implementation, not the container's.
2003-10-10 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpdocked.[ch]: new files implementing
GimpDockedInterface, a GTypeInterface which must be implemented by
all widgets which want to be packed into a GimpDockable. Has
virtual functions similar to the ones GimpDockable had.
* app/widgets/gimpdockable.[ch]: removed all virtual functions and
all function pointers from the instance struct (also the ones just
added in the commit below). Make sure only widgets implementing
the GimpDockedIface are added and simply call the child's
GimpDocked functions where we used to call our own virtual
functions and function pointers.
* app/widgets/gimpcoloreditor.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainerview.c
* app/widgets/gimpeditor.c
* app/widgets/gimpimageeditor.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimpsessioninfo.c
* app/widgets/gimptooloptionseditor.c
* app/display/gimpnavigationview.c: implement GimpDockedIface.
* app/gui/dialogs-constructors.c: removed all that get_preview_func(),
set_context_func() etc. cruft since that's done by GimpDockedIface.
It's really a file of constructors now.
* app/gui/dialogs-menu.c: changed accordingly.
* app/widgets/gimpimagedock.c: forgotten in the commit below.
2003-10-10 Michael Natterer <mitch@gimp.org>
Cleaned up session management and changed the format of sessionrc
in a way that allows extensions without changing the format during
the 2.0 cycle:
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpsessioninfo.[ch]: new files implementing the whole
GimpSessionInfo stuff (parsing, saving, restoring, utility functions).
Save / parse the position of GimpDock's panes (bug #122964).
* app/widgets/gimpdialogfactory.[ch]: removed saving, restoring
and session related utility functions and use the ones from
the new files above.
* app/gui/session.c: removed parsing and use the new stuff.
* app/widgets/gimpdock.[ch]: added new virtual functions
GimpDock::set_aux_info() and GimpDock::get_aux_info():
* app/widgets/gimpimagedock.c: implement them and handle the
"auto_follow_active" and "show_image_menu" properties.
* app/widgets/gimpdockable.[ch]: added the same virtual functions
to the GimpDockable class. Enables forward-compatible per-dockable
session management (bug #122964).
* app/gui/dialogs-commands.c
* app/gui/gui.c: changed accordingly.
* etc/sessionrc: ditto. Look at this file and update your own
sessionrc manually if you don't want to lose it.
2003-10-10 Henrik Brix Andersen <brix@gimp.org>
* app/core/gimpimage-grid.[ch]: removed the grid parasite related
functions from here ...
* app/core/gimpgrid.[ch]: ... and added them here. While I was at
it I also changed PROP_TYPE to PROP_STYLE and added blurbs to the
properties
* app/xcf/xcf-load.c
* app/display/gimpdisplayshell.c: changed accordingly
* app/widgets/Makefile.am
* po/POTFILES.in
* app/widgets/widgets-types.h
* app/widgets/gimpgrideditor.[ch]: added a new GimpGridEditor
widget - with a work-around for the fact that
gimp_prop_coordinated_new() doesn't accept boundaries
* app/gui/grid-dialog.h
* app/gui/grid-dialog.c (grid_dialog_new): use the new
GimpGridEditor widget, take a GimpImage as function parameter,
assume GimpImages always have a GimpGrid. This simplifies the grid
dialog.
* app/gui/image-commands.c
(image_configure_grid_cmd_callback): changed accordingly
* app/core/core-types.h: moved typedef GimpGrid from here ...
* app/config/config-types.h: ... to here to be able to use it in
GimpCoreConfig
* app/config/gimprc-blurbs.h
* app/config/gimpcoreconfig.[ch]: added default_grid member
* app/widgets/gimphelp-ids.h
* themes/Default/images/preferences/Makefile.am
* themes/Default/images/default-grid.png
* app/gui/preferences-dialog.c: added UI for specifying default
image grid
* app/core/gimpimage.c (gimp_image_new): create a GimpGrid from
core_config->default_grid
* app/gui/image-menu.c (image_menu_update): the grid/guide entries
in <Image>/View/ should always be sensitive ...
* app/display/gimpdisplayshell.c (gimp_display_shell_init):
... but the grid entries should be disabled by default
2003-10-10 Sven Neumann <sven@gimp.org>
* app/errors.c (gimp_eek)
* app/main.c (main) (gimp_text_console_exit)
* app/gui/user-install-dialog.c (user_install_cancel_callback):
call exit() with EXIT_SUCCESS or EXIT_FAILURE instead of 0 and 1.
2003-10-10 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainertreeview-dnd.c: added auto-scrolling
when DND-hovering close to the widget's top or bottom border.
Fixes bug #124231.
* app/widgets/gimpcontainertreeview.h: added some auto-scroll state
to the GimpContainerTreeView struct.
* app/widgets/gimpcontainertreeview.c: remove the auto-scroll
timeout in GtkWidget::unmap().
2003-10-09 Tor Lillqvist <tml@iki.fi>
* gimp-zip.in: New file, shell script used to build zipfiles for
distribution of Windows runtime and developer packages.
* Makefile.am
* configure.in: Add it, expand it.
* libgimp*/Makefile.am: On Windows, install and uninstall the .def
files.
* app/config/gimpguiconfig.c: On Windows, don't use the internal
help browser by default, as it isn't there. Don't use a fixed
guess for Internet Explorer's path on Windows. We don't even need
to know the path to the web browser, we can use ShellExecute() in
the webbrowser plug-in.
* plug-ins/common/webbrowser.c: Use ShellExecute() on Windows.
* po*/makefile.cygwin: Remove, unmaintained.
2003-10-09 Sven Neumann <sven@gimp.org>
* app/core/gimpobject.[ch]: added new function
gimp_object_name_collate() which compares two object names for
ordering using the linguistically correct rules for the current
locale and does some caching to speed up subsequent calls.
* app/core/gimpdatalist.c (gimp_data_list_data_compare_func): use
gimp_object_name_collate() from here.
* app/core/gimplist.[ch]: added convenience function
gimp_list_sort_by_name.
* app/text/gimpfontlist.c (gimp_font_list_restore): use
gimp_list_sort_by_name() instead of g_utf8_collate.
2003-10-09 Michael Natterer <mitch@gimp.org>
* app/core/gimpviewable.h: added GIMP_VIEWABLE_MAX_BUTTON_SIZE
GIMP_VIEWABLE_MAX_MENU_SIZE.
* app/core/gimpviewable.c (gimp_viewable_get_popup_size): smarter
popup size limitation: limit each axis to 2 * MAX_POPUP_SIZE
and the area to MAX_POPUP_SIZE ^ 2.
* app/core/gimpbuffer.c
* app/core/gimpimage-preview.c
* app/core/gimpitem-preview.c
* app/text/gimpfont.c (GimpViewable::get_popup_size): removed
all limitations.
* app/widgets/gimpcontainermenu.c
* app/widgets/gimpcontainermenuimpl.c
* app/widgets/gimpmenuitem.c
* app/widgets/gimpviewablebutton.c: use the new button and menu
size defines.
2003-10-09 Michael Natterer <mitch@gimp.org>
* app/core/core-types.h: added GimpScanConvert typedef.
* app/core/gimpscanconvert.h: removed it here.
* app/core/gimpchannel-select.[ch]: factored out new
function gimp_channel_select_scan_convert().
(gimp_channel_select_polygon)
(gimp_channel_select_vectors): use it.
(gimp_channel_select_alpha): when called on a layer without alpha,
don't fail but fake the effect of a fully opaque alpha channel.
* app/tools/gimpiscissorstool.c: some cleanup.
(iscissors_convert): fixed my latest cleanup (don't cast the
tool to a GimpGrawable ;). Don't ignore options->antialias.
2003-10-08 Michael Natterer <mitch@gimp.org>
* app/core/gimp-edit.c (gimp_edit_fill_internal): new utility
function which does everything gimp_edit_clear() and
gimp_edit_fill() do but doesn't fail to:
- fill an indexed drawable with white.
- fill a drawable with alpha with transparency.
(gimp_edit_clear)
(gimp_edit_fill): use gimp_edit_fill_internal().
* app/core/gimpdrawable.c (gimp_drawable_[apply,replace]_region):
added more g_return_if_fail(required_parameter != NULL).
2003-10-08 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdock.[ch]: added new pure virtual function
GimpDock::setup() which configures a dock like a passed template
dock.
* app/widgets/gimpimagedock.c: implement it and set
"show_image_menu" and "auto_follow_active" accordingly.
* app/widgets/gimpdockable.c (gimp_dockable_detach): call
gimp_dock_setup() to configure the new dock like the old one.
Removed inclusion if "gimpimagedock.h".
* app/gui/dialogs-commands.c: minor code cleanups.
2003-10-08 Michael Natterer <mitch@gimp.org>
Fixed bug #119423. There was no speed regression with the actual
painting, just with the display update (which effectively led to
faster painting, it just felt slower).
* app/display/gimpdisplayshell.c (gimp_display_shell_flush): added
"gboolean now" parameter and update the display immediately if
it is TRUE.
* app/display/gimpdisplay.c (gimp_display_flush_whenever): pass
the "now" we got passed to the function above, so calling
gimp_display_flush_now() really flushes *now* again.
2003-10-08 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/fileops.pdb (file_load_invoker):
procedural_db_execute() *must* get the correct number of args, so
do like file_save_invoker and create a full Argument array with
the correct number of args and copy our own args into it before
calling the actual load procedure. Fixes bug #124059.
* app/pdb/fileops_cmds.c: regenerated.
2003-10-07 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdockable.[ch] (gimp_dockable_detach): new
function. Need to include ugly stuff for proper GimpImageDock
setup.
* app/widgets/gimpdockbook.c (gimp_dockbook_menu_end): use
gimp_dockable_detach() and removed the evil includes.
* app/gui/dialogs-commands.c (dialogs_detach_tab_cmd_callback):
implement it using gimp_dockable_detach().
2003-10-06 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable.c (gimp_drawable_mask_bounds): one
more fix for bug #107949: don't take the selection into
account if we are operating on the selection itself.
Ordered shadow tiles functions together, cleanup.
2003-10-06 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable-stroke.c
(gimp_drawable_stroke_scan_convert): added new local variables to
hold the drawable's offsets instead of abusing x2 and y2. Use
existing APIs instead of re-implementing stuff. Removed an
obsolete call to tile_manager_set_offsets(). Cleanup.
2003-10-06 Michael Natterer <mitch@gimp.org>
* app/core/gimpchannel.c (gimp_channel_new_from_alpha): create
a channel which the size of the layer, not of the image...
* app/core/gimpchannel-select.c (gimp_channel_select_alpha):
...and take the layer's offsets into account.
* app/core/gimpscanconvert.[ch] (gimp_scan_convert_render): added
off_x and off_y parameters and don't use the passed TileManager's
offsets.
* app/core/gimpchannel-select.c
* app/core/gimpdrawable-stroke.c
* app/tools/gimpiscissorstool.c: changed accordingly.
2003-10-06 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable.[ch]: added new virtual functions
GimpDrawable::get_active_components(), apply_region() and
replace_region().
* app/core/Makefile.am
* app/core/gimpdrawable-combine.[ch]: new files containing
apply_region()'s and replace_region()'s default implementation.
They are identical to the ones removed from GimpImage except that
they don't mask the selection with itself (bug #107949).
* app/core/gimpchannel.c
* app/core/gimplayer.c: implement get_active_components().
* app/core/gimpchannel.c: implement apply_region() and
replace_region() and invalidate the channel's boundary
before upchaining (bug #107949).
* app/core/gimpimage.[ch]: removed gimp_image_apply_image(),
gimp_image_replace_image() and gimp_image_get_active_components().
* app/core/gimpimage-undo-push.c (undo_pop_image): invalidate
boundary and bounds if the drawable is a channel (bug #107949).
(undo_pop_mask)
(undo_pop_channel_mod): finish previous commit :)
* app/core/gimp-edit.c
* app/core/gimpdrawable-blend.c
* app/core/gimpdrawable-bucket-fill.c
* app/core/gimpdrawable-stroke.c
* app/core/gimpimagemap.c
* app/core/gimplayer-floating-sel.c
* app/paint/gimppaintcore.c
* app/tools/gimpinktool.c: changed accordingly.
2003-10-06 Michael Natterer <mitch@gimp.org>
Treat changes to the selection like changes to any other drawable:
* app/core/gimpchannel.c
* app/core/gimpchannel-combine.c: call gimp_drawable_update() after
changing the channel.
* app/core/gimpimage.[ch]: added struct GimpImageFlushAccumulator
with one member "gboolean mask_changed". Connect to "update" of
the selection and set accum.mask_changed to TRUE in the callback.
Added default implementation for GimpImage::flush() and emit
"mask_changed" there.
Unrelated:
* app/core/gimpimage.h: removed GimpGuide struct...
* app/core/gimpimage-guides.h: ...and added it here.
* app/core/gimpimage-undo-push.c (undo_pop_mask)
(undo_pop_channel_mod): don't distinguish between selection and
non-selection channels and just call gimp_drawable_update().
* app/core/gimpundo.h
* app/core/gimpimage-undo.c: removed "gboolean mask_changed" from
the GimpUndoAccumulator struct since we don't have to care about
that signal explicitly any more.
* app/display/gimpdisplay-foreach.[ch]: removed gimp_displays_flush().
* tools/pdbgen/pdb/display.pdb (displays_flush_invoker): call
gimp_image_flush() on all images so the flush accumulator is
honored.
This generalization enables the removal of more special purpose
code which was needed to treat the selection different:
* app/core/gimpimage-mask-select.[ch]: removed...
* app/core/gimpchannel-select.[ch]: ...and added under a new name
because it's not selection specific any more.
* app/core/gimpimage-mask.[ch]: removed...
* app/core/gimpselection.[ch]: ...added the two remaining
functions here. Removed all calls to gimp_image_mask_changed().
* app/core/Makefile.am
* app/core/gimp-edit.c
* app/core/gimpdrawable-transform.c
* app/core/gimpimage-scale.c
* app/core/gimpimage-snap.c
* app/display/gimpdisplayshell.c
* app/gui/channels-commands.c
* app/gui/layers-commands.c
* app/gui/select-commands.c
* app/gui/vectors-commands.c
* app/tools/gimpbycolorselecttool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpellipseselecttool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimprectselecttool.c
* app/tools/gimptransformtool.c
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpvectorstreeview.c
* app/xcf/xcf-save.c
* tools/pdbgen/pdb/paths.pdb
* tools/pdbgen/pdb/selection.pdb
* tools/pdbgen/pdb/selection_tools.pdb: changed accordingly.
* app/core/gimpdrawable-bucket-fill.c
* app/core/gimpimage-colormap.c
* app/core/gimplayer-floating-sel.c
* app/core/gimplayer.c
* app/gui/image-menu.c
* app/paint/gimppaintcore.c
* app/tools/gimpcroptool.c
* app/tools/gimpinkoptions.c
* app/tools/gimpvectortool.c: removed useless and/or obsolete
#includes.
* app/pdb/display_cmds.c
* app/pdb/paths_cmds.c
* app/pdb/selection_cmds.c
* app/pdb/selection_tools_cmds.c: regenerated.
2003-10-06 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c: guard callbacks
against being invoked during display destruction. Fixes crashes
when closing/opening images. Also fixes the crash reported by
Pedro Gimeno in the comment to bug #117884, but doesn't fix
#117884 since it's a different issue.
2003-10-06 Michael Natterer <mitch@gimp.org>
* app/tools/tool_manager.c (tool_manager_image_undo_start): HALT
the tool with the right display. Fixes some random tool crashes.
2003-10-06 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdnd.c (gimp_dnd_data_drop_handle): check for
NULL pointers in the GimpDndDataDef array before using them.
Might happen with the changed dockable DND code :(
* app/composite/make-install.py: migrated to new (trimmer) code and
removed dead code. Some beautification for generated code.
* app/composite/gimp-composite-{mmx,sse,sse2,3dnow,altivec,vis,generic}.{c,h}:
All init() functions are also a run-time check and now expected to
return TRUE/FALSE if the particular set of compositing functions can
be used.
* app/composite/gimp-composite.c: No longer has to determine if
the particular set of compositing functions can be used.
* app/composite/gimp-composite-{mmx,sse,sse2,3dnow,altivec,vis}-{install,test}.c:
Regenerated
* app/composite/test-composite.c: Deprecated, removed. All tests are automatically
generated and the code is in app/composite/gimp-composite-{mmx,sse,sse2,3dnow,altivec,vis}-test.c:
* app/composite/Makefile.am: removed unused references to test-composite.c
2003-10-05 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdock.c (gimp_dock_separator_drag_drop): handle
dockable drops where the drag source is a GimpDockable itself.
* etc/sessionrc: try a new default dialog setup.
2003-10-05 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c: set the screen resolution before
setting the initial scale; update it in GtkWidget::screen_changed.
2003-10-05 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdockbook.[ch]
* app/widgets/gimpdockable.[ch]: hide the GimpDockbook tabs when
it holds only a single dockable. Made the title area a drag source
and let the whole GimpDockable accept drops of dockables.
2003-10-04 Dave Neary <bolsh@gimp.org>
* app/tools/gimphuesaturationtool.c
(gimp_hue_saturation_tool_initialize): Removed explicit
initialisation to GIMP_ALL_HUES, this is set by default the
first time the tool is opened, and shouldn't be set successive
times. Fix suggested by edg1@freegates.be in Bugzilla. Fixes
bug #123731.
2003-10-02 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.c (gimp_item_convert,gimp_item_real_convert):
set the item's new image *after* converting it because we need the
old image's colormap for conversions from and to INDEXED.
Fixes bug #123625.
2003-10-02 Michael Natterer <mitch@gimp.org>
Cleaned up the app init and exit stuff even more. Also reduces the
number of missing symbols for gimp-console. Added init and exit
debugging output (only for --verbose).
* app/core/gimpmarshal.list
* app/core/gimp.[ch]: added new signals "initialize" and
"restore". Moved plug_ins_init() to Gimp::restore()'s default
implementation and plug_ins_exit() to Gimp::exit()'s default
implementation. Renamed gimp_set_config() to gimp_load_config()
and load GimpRC here. Moved base_init() and base_exit() to this
file, too.
* app/gui/Makefile.am
* app/gui/gui-vtable.[ch]: new files split out of gui.c. It was
simply too large.
* app/gui/gui.[ch]: renamed gui_themes_init() to gui_init(),
connect to Gimp's "initialize" and "restore" signals and create
the GUI stuff in the callbacks. Removed most other public
functions since they don't need to be called explicitly any more.
Moved the whole tool initialization/shutdown code to this file.
* app/gui/user-install-dialog.[ch]: changed
user_install_dialog_create() to user_install_dialog_run() and
added a gtk_main() at the end, so the install dialog's gtk_main()
and gtk_main_quit() live in the same file.
* app/app_procs.c: removed lots of stuff. app_init() is much
simpler now.
2003-10-02 Michael Natterer <mitch@gimp.org>
* app/gui/tool-options-commands.c
(tool_options_save_to_cmd_callback): remember the name of the
saved options and set it again after gimp_config_copy_properties().
Fixes bug #123660.
2003-10-02 Sven Neumann <sven@gimp.org>
* app/gui/image-menu.c: added back ellipsis to Display Filters and
Configure Grid.
2003-10-02 Sven Neumann <sven@gimp.org>
* de.po: updated german translation (reviewing my menu changes).
2003-10-01 Sven Neumann <sven@gimp.org>
* app/widgets/gimppropwidgets.[ch]: renamed
gimp_prop_size_entry_connect() to gimp_prop_coordinates_connect().
Added a new property widget that is a single GimpSizeEntry and is
connected to size and unit properties.
* app/widgets/gimptemplateeditor.c: changed accordingly.
* app/widgets/gimpstrokeeditor.c: added a "resolution" property
and use the new property widget.
* app/gui/stroke-dialog.c: pass the image resolution to
gimp_stroke_editor_new().
2003-10-01 Sven Neumann <sven@gimp.org>
* app/composite/gimp-composite-altivec.c
* app/composite/gimp-composite-mmx.c
* app/composite/gimp-composite-sse.c
* app/composite/gimp-composite-sse2.c
* app/composite/gimp-composite-vis.c: moved includes out of the
#if __GNUC__ >= 3 to make the code compile on other compilers.
* app/composite/gimp-composite-3dnow.[ch]: added the same stubs here
for symmetry.
2003-10-01 Sven Neumann <sven@gimp.org>
* app/core/Makefile.am
* app/core/gimpimage-unit.[ch]: added small wrappers to ease
handling of image units and to hide the core GimpUnit API.
* app/display/gimpdisplayshell-scale.c
* app/display/gimpdisplayshell-title.c
* app/display/gimpstatusbar.c
* app/gui/info-window.c:
* app/tools/gimpmeasuretool.c
* app/tools/gimppainttool.c
* app/tools/gimprectselecttool.c
* app/tools/gimpscaletool.c: use the new functions.
* app/core/gimp-units.c
* app/vectors/gimpvectors-export.c: use the core GimpUnit API.
* app/vectors/gimpvectors.c: no need to include gimpunit.h here.
2003-10-01 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-utils.c (gimp_config_diff): make it handle
aggregate object properties by calling itself recursively.
2003-10-01 Sven Neumann <sven@gimp.org>
* app/text/gimptextlayout.c: pango_font_description_set_size()
takes points not pixels as the old code assumed.
* app/text/gimptext.c
* app/text/gimptextlayout-render.c: fixed includes.
2003-10-01 Sven Neumann <sven@gimp.org>
* app/composite/gimp-composite-altivec.c: added missing code
snippets to make it compile on PPC.
* plug-ins/common/destripe.c: avoid division by zero (bug #123592).
Also made the plug-in remember the state of the history toggle and
other cleanup. The filter result still looks wrong though...
2003-10-01 Sven Neumann <sven@gimp.org>
* app/text/gimptext-compat.c (text_get_extents): set a default
resolution on the fontmap since Pango doesn't seem to do this for us.
2003-10-01 Simon Budig <simon@gimp.org>
* app/base/boundary.[ch]: Implemented simplify_boundary (),
which tries to reduce the number of coordinates to get
better interpolation for stroking.
The results still need tweaking.
* app/core/gimpdrawable-stroke.c: Use it.
2003-10-01 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpunitmenu.[ch]:
* libgimpwidgets/gimpwidgets.c: added an API to allow for
sub-pixel sizes in spinbuttons connected to a GimpUnitMenu.
Make GimpUnitMenu emit "unit-changed" when the unit is changed
programmatically.
* libgimpwidgets/gimpsizeentry.[ch}: added a similar API here.
Make GimpSizeEntry emit "unit-changed" when the unit is changed
programmatically. The other signals will need similar changes.
* plug-ins/common/gauss_rle.c
* plug-ins/common/gauss_iir.c
* app/widgets/gimpstrokeeditor.c: use the new API.
2003-09-30 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdockable.c (gimp_dockable_new): accept NULL
as blurb and use the name as fallback for a missing blurb.
* app/gui/dialogs-constructors.c: removed the "Foo List" and "Foo
Grid" blurbs. Only left blurbs where the longer name makes sense.
2003-09-30 Michael Natterer <mitch@gimp.org>
* app/gui/tool-options-menu.c: added a "Rename Saved Options"
submenu and factored on-the-fly submenu creation out to a utility
function.
* app/gui/tool-options-commands.[ch]: added rename callback.
* app/widgets/gimphelp-ids.h: added GIMP_HELP_TOOL_OPTIONS_RENAME.
* app/widgets/gimptooloptionseditor.c
(gimp_tool_options_editor_menu_popup): pass "button = 0" to
gtk_menu_popup() because we show the menu on button_release, not
on button_press.
2003-09-30 Michael Natterer <mitch@gimp.org>
* app/core/gimpscanconvert.[ch]: removed "width", "height" and
"antialias" from the GimpScanConvert struct and from
gimp_scan_convert_new(). Removed gimp_scan_convert_to_channel().
Added "gboolean antialias" to gimp_scan_convert_render().
Some general cleanup.
* app/core/gimpdrawable-stroke.c
* app/core/gimpimage-mask-select.c
* app/tools/gimpiscissorstool.c: changed accordingly.
* app/core/gimpdrawable-stroke.c: renamed
gimp_drawable_stroke_scanconvert_stroke() to
gimp_drawable_stroke_scan_convert() and removed the "gboolean
use_mask_bounds" parameter since we can't decide if it's the
selection's boundary which is stroked. Instead use
gimp_channel_is_empty() on the selection which will return FALSE
while the selection is being stroked.
* app/paint/gimppaintcore-stroke.c: cleanup.
(gimp_paint_core_stroke_boundary): don't use "gint i" twice.
(gimp_paint_core_stroke_vectors): no need to manually close a
closed stroke.
2003-09-30 Michael Natterer <mitch@gimp.org>
* app/core/gimpchannel.c (gimp_channel_stroke): pass the channel's
offsets to gimp_paint_core_stroke_boundary().
2003-09-30 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.c: implement
GtkWidget::popup_menu() and pop up the menu from the selected
item. If there is no selected item, return FALSE to
makeGimpDockable pop up the menu from its menu button.
2003-09-30 Sven Neumann <sven@gimp.org>
* app/gui/dialogs-commands.c (dialogs_create_dockable_cmd_callback):
accept a list of dialog identifiers and try to raise an existing
dockable from the list. If that fails, create a new one from the
first entry.
* app/gui/image-menu.c
* app/gui/toolbox-menu.c: specify alternative dialog identifiers
where appropriate.
* app/vectors/gimpstroke.c (gimp_stroke_interpolate): use NULL
instead of 0.
2003-09-30 Simon Budig <simon@gimp.org>
* app/vectors/gimpbezierstroke.c:
(gimp_bezier_stroke_interpolate) Accept NULL for ret_closed.
* app/widgets/gimppreviewrenderervectors.c: removed "closed"
variable.
* app/core/gimpdrawable-stroke.[ch]: Factored out the final
rendering of the scanconvert. Implemented
gimp_drawable_stroke_boundary. Unfortunately the results are
not really good, since the boundary calculation code is
too exact for this purpose. I have a rough idea how to fix this.
* app/core/gimpchannel.c: changed accordingly.
2003-09-30 Sven Neumann <sven@gimp.org>
* app/widgets/gimppreviewrenderer.c
* app/widgets/gimppreviewrenderervectors.c: simplified drawing
code to a point where it becomes readable again. Draw centered
into the draw_area, using the size of the renderer.
2003-09-30 Michael Natterer <mitch@gimp.org>
* app/paint/gimppaintcore-stroke.c: cleanup.
(gimp_paint_core_stroke_boundary): don't push a separate undo
for each part of the boundary.
* app/core/gimpdrawable-stroke.[ch]: added empty stub
gimp_drawable_stroke_boundary(). Changed
gimp_drawable_stroke_vectors() to take the GimpStrokeOptions as
second parameter.
* app/core/gimpchannel.c (gimp_channel_stroke): use it. No need
to push an undo group around gimp_paint_core_stroke_boundary().
* app/vectors/gimpvectors.c: changed accordingly.
* app/widgets/gimpselectioneditor.[ch]: added a GimpStrokeItemFunc
pointer and use it for stroking.
* app/gui/edit-commands.[ch] (edit_stroke_selection): a
GimpStrokeItemFunc which strokes the selection using the
stroke-dialog.
* app/gui/dialogs-constructors.c: use it for the selection editor.
2003-09-30 Simon Budig <simon@gimp.org>
* app/core/gimpscanconvert.[ch]: replaced
gimp_scan_convert_set_resolution with
gimp_scan_convert_set_pixel_ratio where you specify the pixel
ratio (width/height). Also made the stroke-width consistent
with other places in the gimp by using the Y-Resolution as
the base for the calculations.
* app/core/gimpdrawable-stroke.c: changed accordingly.
2003-09-30 Sven Neumann <sven@gimp.org>
* app/core/gimpdrawable-stroke.c
* app/core/gimpstrokeoptions.[ch]
* app/gui/stroke-dialog.c: removed the resolution property again.
The object should stay resolution independent. The resolution can
be taken from the image it is used with.
2003-09-30 Simon Budig <simon@gimp.org>
* app/core/gimpscanconvert.[ch]: Added support for setting
X- and Y-resolution for stroking paths. The width of a path
has to be given in pixels, using X-resolution.
* app/core/gimpstrokeoptions.[ch]: Added "resolution" property,
so that conversion between various width-units can happen.
Should be set to the target images X-resolution.
* app/gui/stroke-dialog.c: set the resolution of the options.
* app/core/gimpdrawable-stroke.c: Use that stuff, cleanup.
2003-09-29 Sven Neumann <sven@gimp.org>
* app/core/Makefile.am
* app/core/gimpitem-preview.[ch]: new files with preview code
factored out of GimpDrawable.
* app/core/gimpdrawable-preview.[ch]: code removed here.
* app/core/gimpdrawable.c
* app/core/gimpitem.c: let GimpItem implement
GimpViewable::get_preview_size and GimpViewable::get_popup_size.
* app/widgets/gimppreviewrenderervectors.c: simple scale to the
renderer's size; it already respects the aspect ratio.
2003-09-30 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptooloptionseditor.c: connect to the "add" and
"remove" signals of the current tool_option's presets container
and set the "Restore" and "Delete" buttons insensitive when there
are no saved tool options. Also show the "Enter Name" dialog
directly instead of popping up a menu with only one item.
2003-09-30 Michael Natterer <mitch@gimp.org>
* app/gui/tool-options-menu.[ch] (tool_options_menu_setup): new
function for stuff which needs to be done once, not on every
tool_options_menu_update(). Cleanup.
* app/gui/menus.c: register it as setup_func of <ToolOptions>.
* app/gui/tool-options-commands.c: removed the "Reset"
implementations and activate GimpToolOptionsEditor's buttons
accordingly.
* app/widgets/gimphelp-ids.h: added GIMP_HELP_TOOL_OPTIONS_DELETE.
* app/widgets/gimptooloptionseditor.[ch]: moved "Reset"
implementations to this file. Added "Delete" button. Pop up the
"Save", "Restore" and "Delete" submenus of the <ToolOptions>
item_factory when the resp. buttons are clicked.
2003-09-29 Michael Natterer <mitch@gimp.org>
* app/core/gimptoolinfo.[ch]: added a GimpContainer of tool
options presets.
* app/core/gimptooloptions.[ch] (gimp_tool_options_set_property):
silently accept setting the *same* tool_info again.
(gimp_tool_options_build_filename): is public now.
* app/tools/gimp-tools.c (gimp_tools_restore,save): load and save
the presets container.
* app/gui/tool-options-dialog.[ch]: removed.
* app/gui/tool-options-commands.[ch]
* app/gui/tool-options-menu.[ch]: new files implementing a menu
for the new GimpToolOptionsEditor widget. Has submenus for saving,
loading, and deleting tool options to/from the
tool_info->options_presets container.
* app/gui/Makefile.am
* app/gui/dialogs-constructors.c
* app/gui/menus.c: changed accordingly.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimptooloptionseditor.[ch]: the tool options dialog
as proper widget. The "Load" and "Save" buttons still do the same
stuff as before. Will make them use the new presets since making
them do something useful was the reason for this whole change.
* app/widgets/gimphelp-ids.h: added missing help IDs for the tool
options dialog.
2003-09-29 Michael Natterer <mitch@gimp.org>
Fixed handling of G_PARAM_CONSTRUCT_ONLY properties:
* app/config/gimpconfig.c (gimp_config_iface_duplicate): build
a GParameter array of G_PARAM_CONSTRUCT_ONLY properties and
use g_object_newv() instead of g_object_new() to create the
copy.
* app/config/gimpconfig-utils.c
(gimp_config_copy_properties)
(gimp_consif_reset_properties): don't try to copy/reset
G_PARAM_CONSTRUCT_ONLY properties because it is impossible.
(gimp_config_connect_notify): ditto. Also don't try to read
from unreadable or write to unwritable properties.
2003-09-29 Michael Natterer <mitch@gimp.org>
* app/tools/gimpcroptool.c: minor cleanups.
(gimp_crop_tool_modifier_key): s/crop-type/crop-mode/. Fixes tool
toggling which was broken after my GimpCropMode change.
(crop_tool_crop_image): replaced parameter "gboolean crop_layers"
by "GimpCropMode crop_mode". Makes its callers simpler and more
readable.
2003-09-29 Simon Budig <simon@gimp.org>
* app/widgets/gimppreviewrenderervectors.c: Fixed a bad
crash (Thanks to Sven for spotting that). Minor cleanups.
2003-09-29 Simon Budig <simon@gimp.org>
* app/widgets/gimppreviewrenderervectors.c: Made the preview
respect the aspect ratio and resolutions of the image. There
apparently still is an off-by-one error in it.
* app/tools/gimpvectortool.c: (Hopefully) fixed a crash when a new
image gets opened with the vectors tool active.
2003-09-29 Sven Neumann <sven@gimp.org>
* app/widgets/gimppreviewrenderer.[ch]: made draw a virtual method
of GimpPreviewRenderer. Draw the border in the wrapper function.
* app/widgets/gimppreviewrenderervectors.c: implement
GimpPreviewRenderer::draw instead of GimpPreviewRenderer::render.
2003-09-29 Simon Budig <simon@gimp.org>
* app/widgets/gimppreviewrenderervectors.c: Made these widgets
show a preview of the vectors object. Does not work everywhere
right now, also most probably has scaling issues for non-square
images.
* app/tools/gimpdrawtool.c: Fixed Svens fix.
2003-09-28 Sven Neumann <sven@gimp.org>
* app/gui/stroke-dialog.c (stroke_dialog_new): as a temporary hack,
let the Stroke Dialog remember the last used stroke options.
2003-09-28 Sven Neumann <sven@gimp.org>
* app/core/gimpscanconvert.c (gimp_scan_convert_free)
(gimp_scan_convert_finish): plugged memleaks and added some sanity
checks.
* app/base/pixel-region.c
* app/core/gimpdrawable-preview.c: removed trailing whitespace.
* app/tools/gimpdrawtool.c (gimp_draw_tool_on_vectors_curve):
gimp_stroke_nearest_point_get() doesn't set cur_pos when there are
no strokes; don't use the uninitialized variable.
2003-09-28 Simon Budig <simon@gimp.org>
"The last of the Oldenburg commits"
Thanks to the team of the Oldenburg Linux Developers Meeting 2003
for providing a nice hacking environment.
* app/vectors/gimpvectors.c: Add a default stock_id.
* app/widgets/gimppreviewrenderervectors.[ch]: New Widget
to render the preview of vectors. Just renders a stock item
now, since I was unable to figure out how to properly draw
in the GtkWidget.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h: Changed accordingly.
* app/widgets/gimppreviewrenderer-utils.c: Use the new widget.
* app/core/gimpscanconvert.c
* app/core/gimpdrawable-stroke.c: Use higher prescision for
libart-stroking vectors. Reduces artefacts.
* app/pdb/paths_cmds.c
* libgimp/gimppaths_pdb.c: Regenerated after Tors changes.
2003-09-28 Sven Neumann <sven@gimp.org>
* app/gui/resolution-calibrate-dialog.c (resolution_calibrate_ok):
use the GIMP_COORDINATES_CHAINBUTTON() macro instead of trying to
get it using a hardcoded and misspelled identifier.
2003-09-28 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.c (gimp_image_transform_temp_buf): use a much
simpler and shorter method of determining how to transform the
TempBuf.
2003-09-27 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawable-bucket-fill.c
(gimp_drawable_bucket_fill_full): set the transformed color's
alpha to OPAQUE so it works with color_region().
* app/core/gimpdrawable-stroke.c (gimp_drawable_stroke_vectors):
no need to transform the color into a newly allocated array,
simply use guchar[MAX_CHANNELS] instead.
Cleaned up both functions to use RED_PIX, GREEN_PIX and BLUE_PIX
instead of 0, 1 and 2.
2003-09-27 Michael Natterer <mitch@gimp.org>
* app/paint-funcs/paint-funcs.[ch]: added new functions
color_region_mask() which works like color_region() but takes an
additional maskPR parameters and pattern_region() which fills
destPR with a TempBuf of *matching color depth*.
* app/paint-funcs/paint-funcs-generic.h: added corresponding
color_pixels_mask() and pattern_pixels().
* app/core/gimpimage.[ch] (gimp_image_transform_temp_buf): new
function which transforms a TempBuf to a specified drawable's
color space.
* app/core/gimpdrawable-bucket-fill.c: the functions were factored
out here. Removed them and use the new stuff.
* app/core/core-enums.[ch]: added enum GimpStrokeStyle which can
be one of { SOLID, PATTERN }.
* app/core/gimpstrokeoptions.[ch]: added "GimpStrokeStyle style"
property, cleanup.
* app/core/gimpdrawable-stroke.c: honor the new "style" property
and call the new color_region_mask() and pattern_region()
functions accordingly, cleanup.
* app/widgets/gimpstrokeeditor.c: added a GUI for the stroke
style. Ugly but works.
* app/gui/stroke-dialog.c: undefine "foreground" and "pattern" and
set the user context as parent context so we get these properties
from the global settings.
2003-09-27 Sven Neumann <sven@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/stock-cap-[butt|round|square]-16.png
* themes/Default/images/stock-join-[miter|round|bevel]-16.png:
added placeholders for GimpCapStyle and GimpJoinStyle icons.
* libgimpwidgets/gimpstock.[ch]: register the new icons.
* app/widgets/gimpstrokeeditor.c: made "options" a construct-only
property of the editor and create the widgets in a constructor
method. Use stock boxes with the new icons.
* app/gui/stroke-dialog.c (stroke_dialog_new): let the Cancel
button destroy the dialog instead of itself.
2003-09-27 Simon Budig <simon@gimp.org>
* app/core/gimpdrawable-stroke.[ch]: changed the API of
gimp_drawable_stroke_vectors to accept GimpStrokeOptions
instead of lots of individual parameters.
* app/vectors/gimpvectors.c: changed accordingly.
2003-09-27 Sven Neumann <sven@gimp.org>
* app/core/gimpstrokeoptions.[ch]: added unit properties for
stroke width and dashes. Use convenience macros from GimpConfig to
register the properties. Removed init function since all values
are construct properties.
* app/vectors/gimpvectors.c: respect the stroke width unit.
* app/widgets/gimpstrokeeditor.c: added a unit menu here.
2003-09-27 Michael Natterer <mitch@gimp.org>
* app/gui/stroke-dialog.[ch]: made it a view on the GimpItem to
stroke, not on the image, so the dialog goes away automatically if
the item is removed from the image. Don't pass a GimpStrokeOptions
to stroke_dialog_new() until we figured how to handle a list of
presets or at least the last used options object. Also don't pass
a GimpDrawable, get the active_drawable in the "ok" callback
instead. Attach less pointers to the dialog and simplified stuff.
* app/gui/vectors-commands.c (vectors_stroke_vectors): changed
accordingly, removed commented out cruft.
2003-09-27 Michael Natterer <mitch@gimp.org>
* app/core/gimppaintinfo.[ch]: derive it from GimpViewable.
* app/core/gimptoolinfo.c (gimp_tool_info_new): set the
paint_info's stock_id from the tool_info's stock_id.
* app/widgets/widgets-types.h: resurrected GimpItemStrokeFunc.
* app/widgets/gimpvectorstreeview.[ch]: added a item_stroke_func
pointer and use it instead of implementing stroking here.
* app/gui/vectors-commands.[ch]: added vectors_stroke_vectors()
which has the signature of a GimpItemStrokeFunc.
* app/gui/dialogs-constructors.c: use it for the paths dialog.
* app/gui/stroke-dialog.[ch]: extended to handle both libart and
GimpPaintCore stroking. Use a GimpContainerMenu view on the
gimp->paint_info_list container to select the paint core to use.
2003-09-27 Sven Neumann <sven@gimp.org>
* app/gui/info-window.c (info_window_update): improved readability
of this code by introducing a local GimpImage* variable.
* app/composite/gimp-composite-regression.c: use a matching format
string for an u_long variable (should probably use gulong instead).
* app/composite/make-installer.py: output a short note about what
tests are going to be run.
* app/composite/gimp-composite-3dnow-test.c
* app/composite/gimp-composite-altivec-test.c
* app/composite/gimp-composite-mmx-test.c
* app/composite/gimp-composite-sse-test.c
* app/composite/gimp-composite-sse2-test.c
* app/composite/gimp-composite-vis-test.c: regenerated.
2003-09-27 Michael Natterer <mitch@gimp.org>
* app/gui/info-window.c (info_window_update): honor the
default-resolution-unit when displaying the image's resolution.
Fixes bug #123336.
* app/composite/gimp-composite-altivec-test.c
* app/composite/gimp-composite-mmx-test.c
* app/composite/gimp-composite-mmx-installer.c
* app/composite/gimp-composite-sse-test.c
* app/composite/gimp-composite-sse-installer.c
* app/composite/gimp-composite-sse2-test.c
* app/composite/gimp-composite-sse2-installer.c
* app/composite/gimp-composite-vis-test.c
* app/composite/gimp-composite-vis-installer.c:
Regenerated.
* app/composite/gimp-composite-altivec.[ch]
* app/composite/gimp-composite-mmx.[ch]
* app/composite/gimp-composite-sse.[ch]
* app/composite/gimp-composite-sse2.[ch]
* app/composite/gimp-composite-vis.[ch]
* app/composite/make-installer.py:
Make it such that when a test is run on the wrong kind of
machine, don't fail without an explanation.
2003-09-27 Simon Budig <simon@gimp.org>
This still is very much in progress. I just want to commit this
to avoid lossage. It kind of works but there definitely is
code in the wrong place now.
* app/gui/stroke-dialog.[ch]: New files implementing a dialog
containing Svens GimpStrokeEditor-Widget.
* app/gui/Makefile.am: changed accordingly.
* app/gui/vectors-commands.c: Open the StrokeOptions-Dialog when
the "stroke" menu entry gets selected.
* app/vectors/gimpvectors.c: Remove bad #ifdef hacks and use
Libart/Paintcore-Stroking depending on the type of the stroke_desc
Parameter.
* app/core/gimpstrokeoptions.c: Proper handle the Enum-Properties.
* app/core/gimpscanconvert.[ch]: make the antialias-parameter
to gimp_scan_convert_new a gboolean.
* app/tools/gimpiscissorstool.c
* app/core/gimpdrawable-stroke.c
* app/core/gimpimage-mask-select.c: Changed accordingly.
2003-09-26 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpstrokeeditor.[ch]: added a (yet rudimentary)
widget to view/edit a GimpStrokeOption.
* app/widgets/gimptemplateeditor.[ch]: derive it directly from
GtkVBox; it doesn't need any GimpEditor functionality.
2003-09-26 Manish Singh <yosh@gimp.org>
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/paths.pdb: apply Simon's changes (GIMP_OBJECT
casts) to here, since they are generated files.
2003-09-26 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c: #include
"widgets/gimpwidgets-utils.h" for gimp_button_menu_position().
2003-09-26 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/Makefile.am: don't scan "app/tools/tools-enums.h"
for PDB types since the PDB doesn't depend on app/tools/ any more.
* app/tools/tools-enums.h: removed lengthy "skip" vs. "pdb-skip"
comment. Removed "pdb-skip" from all enums. Renamed GimpCropType
to GimpCropMode, renamed the enum's values to GIMP_CROP_MODE_*.
* app/tools/tools-enums.c: regenerated.
* app/tools/gimpcropoptions.[ch]
* app/tools/gimpcroptool.c: changed accordingly.
2003-09-26 Simon Budig <simon@gimp.org>
* app/core/gimpstrokeoptions.[ch]: New Object, holding the
Options for a Libart-Stroke.
* app/core/Makefile.am
* app/core/core-types.h: Changed accordingly.
* app/core/gimpitem.[ch]: Changed the Signature of
gimp_item_stroke to accept a GimpObject instead of a
GimpPaintInfo. This enables us to pass GimpStrokeOptions
to it. To be cleaned up for 2.2.
* app/core/gimpselection.c
* app/core/gimpchannel.c
* app/vectors/gimpvectors.c: Changed accordingly
* app/gui/edit-commands.c
* app/gui/vectors-commands.c
* app/pdb/edit_cmds.c
* app/pdb/paths_cmds.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpvectorstreeview.c: Fixed warnings by
casting the GimpPaintInfo to GimpObject.
2003-09-26 Michael Natterer <mitch@gimp.org>
Cleaned up all places which pick colors to work consistently: the
concept of an "active color" has disappeared, instead <ctrl> picks
the BG color all over the place (fixes bug #122931).
* app/tools/tools-enums.[ch]: added enum GimpColorPickMode which
can be one of { FOREGROUND, BACKGROUND }. Reordered enums so
non-registered ones are at the end of the file. Removed trailing
whitespace.
* app/tools/gimpcolorpickeroptions.[ch]: added a "pick-mode"
property and a GUI for it. Renamed the "update-active" property to
"update-toolbox".
* app/tools/gimpcolorpickertool.c: honor the new option. Toggle
pick-mode on <ctrl>.
* app/tools/gimpcolortool.[ch]: added pick_mode member and change
the cursor accordingly.
* app/widgets/gimpcolormapeditor.[ch]: added "GdkModifierType
state" to the "selected" signal. Removed the signal's default
implementation.
* app/gui/dialogs-constructors.c: fixed the signal handler which
lives here and set BG if <ctrl> was pressed.
* app/widgets/gimppaletteeditor.c: removed weird <ctrl> <->
active_color interaction and pick BG on <ctrl>. Don't change the
toolbox color when editing a color in the palette.
* app/widgets/gimptoolbox-color-area.[ch]: made the whole
active_color stuff private. Will remove these artefacts soon...
* app/gui/colormap-editor-menu.c
* app/gui/palette-editor-menu.c: added separate menu entries
for adding a color from the current FG and BG.
* app/gui/colormap-editor-commands.c
* app/gui/palette-editor-commands.[ch]: changed callbacks
accordingly.
* cursors/background.xbm
* cursors/background_mask.xbm
* cursors/foreground.xbm
* cursors/foreground_mask.xbm
* cursors/gimp-tool-cursors.xcf: moved the FG/BG cursor modifiers
closer to the upper right corner.
* app/widgets/gimpcursor.c: ignore the cursor modifiers' hotspots
since they are not relevant and I didn't save the hotspot in the
updated cursor files for that reason.
2003-09-26 Simon Budig <simon@gimp.org>
* app/core/gimpscanconvert.[ch]: Add some parameters to
gimp_scan_convert_stroke () to expose the Miter-Setting
and enable dashing of vectors.
* app/core/gimpdrawable-stroke.c: Use the dashing feature.
* app/vectors/gimpvectors.c: Expose a bad hack (opacity
controls the libart-stroke width) in a #define. Default
is not enabled.
2003-09-25 Sven Neumann <sven@gimp.org>
* app/config/gimpxmlparser.c (gimp_xml_parser_parse_io_channel):
removed debugging output.
* app/vectors/gimpvectors-import.c: simplified viewport handling
and make it adhere to the spec again (hopefully my interpretation
of the spec is right).
2003-09-25 Sven Neumann <sven@gimp.org>
* app/vectors/gimpvectors-import.[ch]: optionally scale the
imported SVG to fit the image.
* app/gui/vectors-commands.c: changed accordingly.
* tools/pdbgen/pdb/paths.pdb: export the new scale parameter to
the PDB.
* app/pdb/paths_cmds.c
* libgimp/gimppaths_pdb.[ch]: regenerated.
* plug-ins/common/svg.c: scale the imported vectors to image size.
This makes them always fit :)
2003-09-24 Michael Natterer <mitch@gimp.org>
* app/gui/dialogs-constructors.c (dialogs_get_view_menu_func):
using gimp_container_view_get_by_dockable() was a bad idea since
not all our GimpEditor subclasses actually are GimpContainerViews.
Find the right GimpEditor manually instead (fixes missing popup
menus).
* app/gui/colormap-editor-menu.c (colormap_editor_menu_update):
make the menu entries insensitive if the image is not indexed.
fixes bug #123066.
2003-09-24 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpwidgets-utils.c (gimp_menu_position)
* app/widgets/gimpcontainerpopup.c (gimp_container_popup_show):
more menus which pop up correctly with RTL languages.
2003-09-23 Sven Neumann <sven@gimp.org>
* app/gui/resize-dialog.c
* app/widgets/gimptemplateeditor.c
* plug-ins/common/svg.c: use horizontal boxes instead of alignments.
Fixes dialog layout for RTL rendering.
* plug-ins/common/png.c (save_dialog): only set the comment toggle
active if there's a comment to save.
2003-09-23 Sven Neumann <sven@gimp.org>
* app/widgets/gimpwidgets-utils.[ch]: added a utility function
that positions a menu that pops up from a button widget.
* app/display/gimpdisplayshell-callbacks.c
* app/widgets/gimpdockable.c: use the new utility function instead
of duplicating the code.