2003-11-25 Sven Neumann <sven@gimp.org>
* libgimpbase/gimplimits.h: added GIMP_MAX_MEMSIZE, an arbitrary
upper limit for memory sizes. It must be smaller than G_MAXDOUBLE
since our memsize entry doesn't handle anything larger.
* app/widgets/gimppropwidgets.c (gimp_prop_memsize_entry_new):
check against GIMP_MAX_MEMSIZE, not G_MAXDOUBLE.
* app/config/gimpbaseconfig.c
* app/config/gimpcoreconfig.c
* app/config/gimpguiconfig.c: use GIMP_MAX_MEMSIZE instead of
G_MAXULONG. The latter is larger than G_MAXDOUBLE on 64bit
machines and caused bug #127908.
* libgimpwidgets/gimpmemsizeentry.c: added casts to guint64.
2003-11-25 Sven Neumann <sven@gimp.org>
* app/paint/gimppaintcore.c (gimp_paint_core_scale_mask):
invalidate the solid brush cache as well. Should fix#127681.
2003-11-25 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch]: added GIMP_UNDO_EVENT_UNDO_FREEZE
and GIMP_UNDO_EVENT_UNDO_THAW.
* app/core/gimpimage.c: emit undo events in
gimp_image_undo_freeze() and gimp_image_undo_thaw().
* app/widgets/gimpundoeditor.c: made it aware of FREEZE/THAW signals
and robust against evil stuff like freezing/thawing the undo
in the middle of an open undo group. Fixes bug #124421.
* plug-ins/script-fu/scripts/circuit.scm: push and undo group
instead of disabling/enabling undo.
2003-11-25 Michael Natterer <mitch@gimp.org>
* app/core/gimpobject.[ch]: removed gimp_g_object_get_memsize()...
* app/core/gimp-utils.[ch]: ...and added it here along with
some other memsize utilities for GHashTables and G(S)Lists.
* app/core/gimp.c
* app/core/gimpimage.c
* app/core/gimpparasitelist.c
* app/core/gimpviewable.c
* app/vectors/gimpstroke.c (GimpObject::get_memsize): use the new
functions.
2003-11-24 Michael Natterer <mitch@gimp.org>
Fixed intra-session position management for file dialogs and newly
created docks:
* app/widgets/gimpdockable.c (gimp_dockable_detach)
* app/gui/file-dialog-utils.c (file_dialog_new): don't call
gtk_window_set_position() on session managed dialogs and docks.
* app/widgets/gimpdialogfactory.c (gimp_dialog_factory_add_dialog):
make sure new docks get GDK_HINT_USER_POS set so they remember
their positions across hide/show.
* app/widgets/gimpdock.c: removed unused disabled code.
2003-11-24 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-layer-select.c
* app/widgets/gimptoolbox-indicator-area.c: use
gimp_preview_new_by_types() instead of just gimp_preview_new() so
the new preview code remembers the correct GType.
2003-11-23 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpcolordisplay.[ch]: made "enabled" an object
property and removed the "enabled_changed" signal.
* libgimpwidgets/gimpcolordisplaystack.c
* app/widgets/gimpcolordisplayeditor.c: connect to "notify::enabled"
instead.
* libgimpwidgets/gimpwidgets.def: added new symbols.
2003-11-23 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpcolordisplay.[ch]: added new signal
"enabled_changed"...
* libgimpwidgets/gimpcolordisplaystack.c: ...which enables optimizing
away "changed" signals of disabled filters.
* app/widgets/gimpcolordisplayeditor.c: connect to "enabled_changed"
instead of "changed" to update the toggle column.
2003-11-23 Michael Natterer <mitch@convergence.de>
* libgimpwidgets/gimpcolordisplay.c (gimp_color_display_clone):
also clone the "enabled" property.
* app/widgets/gimpcolordisplayeditor.c
(gimp_color_display_editor_init): put the "enabled" toggle
renderer to its own column so selecting a row doesn't always
toggle "enabled".
2003-11-22 Henrik Brix Andersen <brix@gimp.org>
* gimp/app/core/gimpimage-snap.c: behave correctly for grid
spacing of 1px, whitespace clean up. Fixes the grid part of bug
#125864.
2003-11-23 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpcolordisplay.[ch]: added API to
enable/disable a filter. A disabled filter has no effect.
* libgimpmodule/gimpmodule.h: incremented GIMP_MODULE_ABI_VERSION.
* app/widgets/gimpcolordisplayeditor.c: added a check column to
the "Active Filters" tree view so the effect of all filters can
quickly be toggled. Cleanup.
* modules/cdisplay_colorblind.c: removed "none" from the enum and
from the GUI because disabling a filter is implemented generically
now.
* modules/cdisplay_colorblind.c
* modules/cdisplay_gamma.c
* modules/cdisplay_highcontrast.c
* modules/cdisplay_proof.c: added mnemonics, cleanup.
2003-11-22 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpwidgetsmarshal.list
* libgimpwidgets/gimpcolordisplaystack.[ch]: added signals
::added(), ::removed() and ::reordered() and emit them in the
resp. functions.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcolordisplayeditor.[ch]: new widget implementing
an editable view on a GimpColorDisplayStack. Most code taken from
below...
* app/display/gimpdisplayshell-filter-dialog.c: ...and removed
here. Only creates a GimpDialog around a GimpColorDisplayEditor
now.
2003-11-22 Sven Neumann <sven@gimp.org>
Fixed some selection editor problems (bug #127644):
* plug-ins/sel2path/sel2path.c: use the given image_ID, ignore the
drawable_ID. This plug-in doesn't operate on a drawable at all.
* plug-ins/imagemap/imap_main.c: pass a valid image_ID to sel2path.
* app/gui/vectors-commands.c: don't attempt to create a valid
drawable_ID for the call to sel2path since it isn't used anyway.
* app/core/gimpdrawable-stroke.c (gimp_drawable_stroke_boundary):
just return when being called with an empty boundary.
2003-11-22 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdnd.c (gimp_dnd_get_file_data): when constructing
an URI list, don't add a newline character after the last item.
2003-11-21 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpcolordisplaystack.h: forgot to declare
gimp_color_display_stack_clone().
* app/display/gimpdisplayshell.[ch]: replaced the GList of
GimpColorDisplays by a single GimpColorDisplayStack.
* app/display/gimpdisplayshell-render.c
(gimp_display_shell_render): changed accordingly.
* app/display/gimpdisplayshell-filter.[ch]: reduced API to a
single function, gimp_display_shell_filter_set(), which exchanges
the whole filter stack. Idle update the display on
GimpColorDisplayStack::update().
* app/display/gimpdisplayshell-filter-dialog.[ch]: changed
accordingly. Return the created dialog instead of assigning
shell->filters_dialog.
* app/gui/view-commands.c (view_display_filters_cmd_callback): set
shell->filters_dialog here and raise it it if already
exists. Don't use the dialog factory to create it because it's a
transient dialog for the display which does not need to be session
managed.
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c: removed display filter dialog stuff.
2003-11-21 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-filter-dialog.c: create the Display
Filter dialog transient for the display shell and destroy it with
its parent.
2003-11-21 Henrik Brix Andersen <brix@gimp.org>
* app/widgets/gimphelp-ids.h
* app/gui/preferences-dialog.c: changed "Window Manager" to
"Window Management" and "Decorations" to "Window Type Hints"
* themes/Default/images/preferences/window-manager.png: removed...
* themes/Default/images/preferences/Makefile.am
* themes/Default/images/preferences/window-management.png: ... and
added under a new name.
2003-11-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptoolbox.c: added #defines for the data keys used
for g_object_set_data() and _get_data().
2003-11-21 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpdialog.c: added a "role" property.
* app/widgets/gimptexteditor.c
* app/widgets/gimpviewabledialog.c: use it instead of calling
gtk_window_set_role().
2003-11-21 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-ins.c (plug_ins_help_domains): argh, need to
assign strings to (*array_retloc[i]), not just *array_retloc[i].
Fixes passing of the list of help domains to the help browser.
2003-11-20 Henrik Brix Andersen <brix@gimp.org>
* app/gui/preferences-dialog.c
* app/widgets/gimphelp-ids.h: Added Window Manager tab exposing
the window manager hint settings to the user, moved the
activate-on-focus setting to this tab as well.
* themes/Default/images/preferences/window-manager.png
* themes/Default/images/preferences/Makefile.am: added empty
placeholder for Window Manager preferences icon.
2003-11-20 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdock.c: reverted a small part of my last commit.
It doesn't seem to be a good idea to unref the context in dispose().
Do it in destroy() just like we used to do.
2003-11-20 Sven Neumann <sven@gimp.org>
* app/gui/info-dialog.c (info_dialog_new_extended)
* app/widgets/gimptooldialog.c (gimp_tool_dialog_new): don't set
the utility window type hint on info and tool dialogs. These are
not persistent utility windows. See bug #115092.
2003-11-20 Sven Neumann <sven@gimp.org>
* app/widgets/widgets-enums.[ch]: added GimpWindowTypeHint enum.
* app/widgets/gimpwidgets-utils.{ch]: added a utility function
that translates GimpWindowTypeHint to GdkWindowTypeHint.
* app/config/gimpguiconfig.[ch]
* app/config/gimprc-blurbs.h: added two new gimprc options that
allow to configure which window type hint to set on the toolbox
and on dock windows.
* app/widgets/gimpdock.[ch}: use the window type hint from gimprc.
Introduced construct properties and got rid of gimp_dock_construct().
* app/widgets/gimpimagedock.c
* app/widgets/gimptoolbox.c: changed accordingly.
* app/gui/preferences-dialog.c (prefs_dialog_new): let the Themes
frame expand.
2003-11-20 Sven Neumann <sven@gimp.org>
* app/config/gimpdisplayconfig.[ch]
* app/config/gimprc-blurbs.h: added a new gimprc option
"activate-on-focus" that allows to configure GIMP to activate an
image when the image window receives the focus. Useful for window
managers using click-to-focus. Defaults to TRUE on OS_WIN32.
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.c: implemented the new behaviour.
2003-11-20 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdnd.[ch]: changed drag source stuff to allow
multiple data types. Changed DND source API to speak in terms of
add()/remove() instead of set()/unset(). Added GimpDndDragFileFunc
typedef and gimp_dnd_file_source_add().
Unfortunately GTK+'s DND API lacks symmetry here (no GtkTargetList
based API for drag sources), so we cannot really change drag
sources on-the-fly and need to set GtkTargetEntry arrays manually.
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimpmenuitem.c
* app/widgets/gimppaletteeditor.c
* app/widgets/gimppreview.c
* app/widgets/gimptoolbox-color-area.c: changed accordingly.
* app/widgets/gimpdocumentview.c: ditto. Additionally offer
"text/uri-list" so it's possible to drag images from the document
history to the file manager or browser.
2003-11-19 Manish Singh <yosh@gimp.org>
* app/widgets/gimpdnd.c (gimp_dnd_open_files): Display an error if we
still can't convert a filename to a valid uri. Further addresses
#127424.
2003-11-19 Manish Singh <yosh@gimp.org>
* app/widgets/gimpdnd.c (gimp_dnd_open_files): strstr on dnd_crap,
not filename, since filename will be NULL in that case. Also remove
doubled declaration of filename.
2003-11-19 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell.c (gimp_display_shell_shrink_wrap):
shrink to the size of the monitor, not to the size of the screen
(for Xinerama setups). Fixes bug #121796.
2003-11-19 Sven Neumann <sven@gimp.org>
* app/widgets/gimpitemfactory.c
* app/widgets/gimpwidgets-utils.[ch]: moved the
gimp_menu_position() implementation that was used only from
GimpItemFactory to gimpitemfactory.c. Added a new function of the
same name that positions a menu taking into account the monitor
geometry and the render direction.
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.c: use gimp_menu_position().
* app/widgets/gimpcontainerpopup.c
* app/widgets/gimppreview-popup.c: let windows popup on the
current monitor (for Xinerama setups).
2003-11-19 Michael Natterer <mitch@gimp.org>
* app/widgets/gimplayertreeview.c
(gimp_layer_tree_view_paint_mode_menu_callback): compress
successive layer mode undos just as we compress opacity undos.
2003-11-19 Sven Neumann <sven@gimp.org>
* app/core/gimpcontext.c (gimp_context_finalize): don't disconnect
gimp_context_parent_notify() here. The signal will be disconnected
automatically anyway.
2003-11-19 Sven Neumann <sven@gimp.org>
* app/app_procs.c (app_run): register a log handler for the
"Gimp-Vectors" domain.
* app/gui/stroke-dialog.c (stroke_dialog_new): attach the saved
options to its parent, the user context, not to the gimp.
2003-11-18 Sven Neumann <sven@gimp.org>
* libgimpmodule/gimpmodule.c (gimp_module_open): don't do lazy
binding on GIMP modules. We can't recover from missing symbols
later.
* libgimpwidgets/gimpquerybox.[ch]: renamed "help_page" parameter
to "help_id" and changed the docs accordingly.
* libgimpwidgets/gimpcolordisplay.[ch]
* libgimpwidgets/gimpcolorselector.[ch]: renamed the "help_page"
struct members of GimpColorDisplay and GimpColorSelector to
"help_id".
* app/gui/color-notebook.c
* app/widgets/gimpcoloreditor.c
* libgimpwidgets/gimpcolorbutton.c
* libgimpwidgets/gimpcolornotebook.c
* libgimpwidgets/gimpcolorscales.c
* libgimpwidgets/gimpcolorselect.c
* modules/*.c: changed accordingly. Specify a help id instead of
a HTML page.
2003-11-18 Michael Natterer <mitch@gimp.org>
* app/base/colorize.[ch]: changed the range of the "lightness"
parameter to [-100..+100], where -100 results in pure black and
+100 in pure white. Default to lightness == 0 so the initial
transform changes just the colors while keeping the original
lightness.
* app/tools/gimpcolorizetool.[ch]: changed accordingly. Reordered
the scales to be in HSL order.
2003-11-18 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainerpopup.[ch]
* app/widgets/gimpviewablebutton.[ch]: let the button remember
the popup's preview_size and view_type.
2003-11-18 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdialogfactory.[ch]
(gimp_dialog_factory_dialog_raise): support '|'-separated lists of
dialog identifiers and raise any of them if it is already open, or
the first dialog in the list otherwise.
* app/gui/dialogs-commands.c (dialogs_create_dockable_cmd_callback):
removed the same functionality here.
* app/gui/edit-commands.c
* app/tools/gimppaintoptions-gui.c
* app/tools/gimptextoptions.c
* app/widgets/gimpdevicestatus.c
* app/widgets/gimptoolbox-indicator-area.c: pass lists of dialog
identifiers to gimp_dialog_factory_dialog_raise().
2003-11-18 Michael Natterer <mitch@gimp.org>
* app/core/gimpselection.c (gimp_selection_class_init): use
GIMP_STOCK_SELECTION as the viewable class' default stock ID.
* app/widgets/gimpselectioneditor.c (gimp_selection_editor_init):
create the preview for GIMP_TYPE_SELECTION, not just
GIMP_TYPE_DRAWABLE so the selection icon is used if the editor is
empty.
2003-11-17 Michael Natterer <mitch@gimp.org>
* app/gui/file-dialog-utils.[ch]
* app/gui/file-open-dialog.c
* app/gui/file-save-dialog.c
* app/gui/gradients-commands.c
* app/gui/vectors-commands.c
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/widgets/gimperrorconsole.c
* app/widgets/gimptexteditor.c
* libgimpwidgets/gimpfileselection.c: don't access the "ok_button"
and "cancel_button" members of GtkFileSelection. Instead, connect
to GtkDialog::response(). Feels better and reduces code which
depends on the to-be-deprecated GtkFileSelection. Changed border
widths to match the 6px border width of other GIMP dialogs.
File selections in plug-ins will follow...
2003-11-17 Sven Neumann <sven@gimp.org>
* libgimpcolor/gimprgb.h (GIMP_RGB_INTENSITY): removed the
addition of 0.001 that isn't correct for use with integers (should
be 0.5 then) and just plain wrong for use with floats/doubles.
* app/base/temp-buf.c
* app/core/gimpdrawable.c
* app/core/gimpimage-convert.c
* app/core/gimpimage.c
* plug-ins/common/aa.c
* plug-ins/common/engrave.c
* plug-ins/common/gradmap.c
* plug-ins/common/newsprint.c
* plug-ins/gflare/gflare.c
* plug-ins/gfli/gfli.c
* plug-ins/pagecurl/pagecurl.c: add 0.5 to the result of
GIMP_RGB_INTENSITY() in all places that use it with integers.
2003-11-17 Sven Neumann <sven@gimp.org>
* app/core/gimpviewable.[ch]: removed the unused GimpViewable
parameter from gimp_viewable_calc_preview_size().
* app/core/gimpbuffer.c
* app/core/gimpimage-preview.c
* app/core/gimpimagefile.c
* app/core/gimpitem-preview.c
* app/core/gimpundo.c
* app/widgets/gimppreview.c
* app/widgets/gimppreviewrendererdrawable.c
* app/widgets/gimppreviewrendererimage.c: changed accordingly.
* app/widgets/gimppreviewrenderer.[ch]: store the viewable_type in
the preview renderer and use its default stock_id if no viewable
is set.
* app/core/gimpbrush.c
* app/core/gimpbuffer.c
* app/core/gimpgradient.c
* app/core/gimppalette.c
* app/core/gimppattern.c
* app/core/gimpundo.c: set a default stock_id.