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 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c (script_fu_interface):
allow to use mnemonics in SF-TOGGLE.
* plug-ins/script-fu/scripts/font-map.scm: allow to choose the color
scheme to use for the font map; added mnemonics.
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 Sven Neumann <sven@gimp.org>
* plug-ins/common/png.c (load_image): fixed a typo in the patch
for bug #123201 that accidentally already commited earlier.
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().