2004-04-25 Michael Natterer <mitch@gimp.org>
* app/core/gimp.[ch]: changed GimpMenusDeleteFunc to take
a PlugInProcDef* instead of a const gchar*.
* app/plug-in/plug-ins.c
* app/gui/gui-vtable.c
* app/gui/plug-in-menus.[ch]: changed accordingly.
2004-04-22 Sven Neumann <sven@gimp.org>
* app/gui/dialogs-constructors.c
* app/gui/preferences-dialog.c: silent the compiler.
* plug-ins/winicon/icodialog.c: simplified by using a
GimpIntComboBox.
2004-04-22 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpuimanager.[ch]: remember and ref the created
widgets. Added gimp_ui_manager_ui_popup() which pops up a GtkMenu
with a custom GimpMenuPositionFunc and a GtkDestroyNotify which is
called on popdown.
* app/widgets/gimpmenufactory.c (gimp_menu_factory_finalize):
don't forget to free the list of managed UIs.
* app/widgets/gimpdockable.[ch]
* app/widgets/gimpdockbook.[ch]
* app/widgets/gimpdocked.[ch]
* app/widgets/gimpeditor.[ch]: added GimpUIManager stuff parallel
to the to-be-removed GtkItemFactory stuff.
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimperrorconsole.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimppaletteeditor.c
* app/widgets/gimptooloptionseditor.c: changed accordingly and added
#if 0'ed code which actually uses all the UI managers.
* app/display/gimpdisplay.c
* app/display/gimpdisplayshell.c
* app/gui/gui-vtable.c: disabled some gimp_ui_manager_update()
calls because they were invoking toggle and radio callbacks
which still have the wrong signature.
2004-04-21 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpuimanager.[ch]: new GtkUIManager subclass. Adds
API to update all action groups and knows which UIs it can create
from which XML files.
* app/widgets/gimpmenufactory.[ch]: register the XML file
basenames along with path of their toplevel menus. Create
GimpUIManagers instead of GtkUIManagers and register the
XML files and menu paths with them.
* app/gui/menus.c: register all XML files and their toplevel
menu paths.
* app/widgets/gimpeditor.[ch]: also create a GimpUIManager when
creating the GtkItemFactory. Added "const gchar *ui_identifier"
parameter to gimp_editor_create_menu().
* app/widgets/gimpcontainereditor.[ch]
* app/widgets/gimpdataeditor.[ch]
* app/widgets/gimpdatafactoryview.[ch]
* app/widgets/gimpitemtreeview.[ch]: added "ui_identifier"
parameters to all constructors.
* app/widgets/gimpbrusheditor.c
* app/widgets/gimpbrushfactoryview.c
* app/widgets/gimpbufferview.c
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainerpopup.c
* app/widgets/gimpdocumentview.c
* app/widgets/gimperrorconsole.c
* app/widgets/gimpfontview.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpimageview.c
* app/widgets/gimppaletteeditor.c
* app/widgets/gimppatternfactoryview.c
* app/widgets/gimptemplateview.c
* app/widgets/gimptooloptionseditor.c
* app/gui/dialogs-constructors.c
* app/gui/gradient-select.c
* app/gui/palette-select.c
* app/gui/pattern-select.c: pass UI identifiers to the changed
functions above.
* app/display/gimpdisplayshell.[ch]: added a GimpUIManager for
the menubar (menubar creating code still commented out).
* app/display/gimpdisplay.c
* app/gui/gui-vtable.c: update the ui manager.
2004-04-21 Michael Natterer <mitch@gimp.org>
* app/actions/actions.c: forgot to register the "patterns" actions.
* app/actions/*-actions.c: added actions representing the toplevel
menus (popups and menubars). Fixed some typos.
* menus/*-menu.xml: added action="foo" attributes to all toplevel
menus. Fixed typos here too.
* menus/gtkuimanager.dtd: fixed possible attributes.
2004-04-21 Michael Natterer <mitch@gimp.org>
* app/actions/qmask-actions.c
* app/actions/qmask-commands.c: prepared qmask_actions_update()
and the qmask callbacks to be merged into the image ui manager.
* app/actions/dialogs-actions.c
* app/actions/edit-actions.c
* app/actions/file-actions.c
* app/actions/image-actions.c
* app/actions/layers-actions.c
* app/actions/plug-in-actions.c
* app/actions/tools-actions.c
* app/actions/view-actions.c: fixed lots of typos and buglets
spotted in my first test run.
* app/gui/menus.c: register the needed action groups with the
<Image> menu.
* app/tools/gimp-tools.c
* app/tools/gimpdodgeburntool.[ch]
* app/tools/gimppaintoptions-gui.c: s/dodgeburn/dodge_burn/g.
* app/widgets/gimpactionfactory.c
* app/widgets/gimpmenufactory.[ch]: s/G_GNUC_FUNCTION/G_STRFUNC/g,
updated copyright header.
* menus/image-menu.xml: fixed typos and added the "Filters"
submenus.
2004-04-21 Michael Natterer <mitch@gimp.org>
More unused action stuff:
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpactionfactory.[ch]: added a simple factory which
produces GimpActionGroups.
* app/widgets/gimpactiongroup.[ch]: added an "update_func" member
to the GimpActionGroup struct. Added it as parameter to
gimp_action_group_new(). Added function gimp_action_group_update().
* app/widgets/gimpmenufactory.[ch]: added an "action_factory"
member and constructor parameter. Added code to create
GtkUIManagers from registered action group identifiers.
* app/actions/Makefile.am
* app/actions/actions.[ch]: new files: create a
"global_action_factory" and register all action groups with it.
* app/actions/edit-actions.c: s/edit_action_update/edit_actions_update/
* app/actions/plug-in-actions.[ch]: added API to add/remove
plug-in procedure actions dynamically (unfinished).
* app/gui/menus.c (menus_init): call actions_init().
(menus_exit): call actions_exit().
2004-04-20 Sven Neumann <sven@gimp.org>
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgets.h
* libgimpwidgets/gimpwidgetstypes.h
* libgimpwidgets/gimpintstore.[ch]: added a GimpIntStore, derived
from GtkListStore, to be used by GimpIntComboBox and also by the
image and drawable menus.
* libgimpwidgets/gimpintcombobox.c: use the new GimpIntStore.
* app/widgets/gimpenumstore.[ch]: derive from GimpIntStore,
removed API that is provided by the parent class.
* app/widgets/gimpenumcombobox.[ch]: derive from GimpIntComboBox,
removed API that is provided by the parent class.
* app/gui/resize-dialog.c
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/widgets/gimpcolorframe.c
* app/widgets/gimphistogrameditor.c
* app/widgets/gimppropwidgets.c
* app/widgets/gimpstrokeeditor.c: changed accordingly.
2004-04-20 Sven Neumann <sven@gimp.org>
* app/widgets/gimpenumstore.[ch]
* app/widgets/gimpenumcombobox.c: let the pixbuf renderer take care
of rendering the pixbuf from the stock_id.
2004-04-20 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpmemsizeentry.c
* modules/cdisplay_proof.c: ported to GimpIntComboBox.
* libgimpwidgets/gimpwidgets.[ch]: declared the gimp option_menu
API as deprecated and removed the code here.
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpoldwidgets.[ch]: new files with deprecated
code, guarded with #ifndef GIMP_DISABLE_DEPRECATED ... #endif.
* libgimpwidgets/gimpintcombobox.h: added G_BEGIN_DECLS, G_END_DECLS.
* configure.in (CPP_FLAGS): added -DGIMP_DISABLE_DEPRECATED.
* app/widgets/gimpwidgets-constructors.c: added a #warning and
#undef GIMP_DISABLE_DEPRECATED. The paint mode menu is the last
remaining user of gimp_int_option_menu_new().
2004-04-20 Michael Natterer <mitch@gimp.org>
* app/gui/convert-dialog.[ch]: renamed convert_to_indexed()
to convert_dialog_new() and return the dialog. Removed
convert_to_rgb() and convert_to_grayscale().
* app/gui/offset-dialog.[ch]: renamed offset_dialog_create()
to offset_dialog_new() and return the dialog.
* app/Makefile.am
* app/actions/drawable-commands.c
* app/actions/image-commands.c: changed accordingly.
2004-04-20 Sven Neumann <sven@gimp.org>
* app/widgets/gimpwidgets-constructors.[ch]: added new function
gimp_paint_mode_menu_set_history().
* app/gui/brush-select.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimppropwidgets.c: use the new function instead of
the deprecated gimp_int_option_menu API.
2004-04-19 Sven Neumann <sven@gimp.org>
* menus/Makefile.am
* menus/gtkuimanager.dtd: added a DTD (basically copied from the
GTK+ API docs). Added a "validate" rule that allows to easily
validate the XML files.
* menus/*.xml: added a DOCTYPE declaration that refers to the
newly added DTD.
* app/widgets/gimpenumstore.[ch]:
* app/widgets/gimpenumcombobox.c: documented the new API.
2004-04-19 Michael Natterer <mitch@gimp.org>
More GtkAction stuff (still unused):
* configure.in: added new directories menus/ and app/actions/
* Makefile.am: build menus/
* menus/.cvsignore
* menus/Makefile.am
* menus/*-menu.xml: new files: XML menu descriptions for each menu
which is now defined in gui/*-menu.c.
* app/widgets/widgets-types.h: some typedefs for GimpActionGroup.
* app/widgets/gimpactiongroup.[ch]: added a "Gimp" construct-only
property. Added APIs to set actions visible/sensitive/active
and an unimplemented stub for setting the action's color.
* app/Makefile.am: build actions/ and link libappactions.a
* app/actions/.cvsignore
* app/actions/Makefile.am
* app/actions/*-actions.[ch]: new files: GtkActions for each
*-commands.c file in gui/. Ported all "update" functions from the
*-menu.c files.
(everything completely unused, untested and partly #if 0'ed)
* app/core/gimpimage.[ch]: for reasons of (action-) symmetry, added
API to raise/lower channels/vectors to top/bottom.
* app/gui/channels-commands.[ch]
* app/gui/vectors-commands.[ch]: added callbacks for the new
to top/bottom functions.
* app/gui/Makefile.am
* app/gui/dockable-commands.[ch]: new files split out of
dialogs-commands.[ch].
* app/gui/dialogs-commands.[ch]
* app/gui/dialogs-menu.c: changed accordingly.
* app/gui/edit-commands.[ch]: added edit_paste_into_cmd_callback()
and remove usage of "guint action".
* app/gui/image-menu.c: changed accordingly.
* app/gui/palette-editor-commands.[ch]: split
+palette_editor_new_color_cmd_callback() into separate callbacks
for adding from FG and BG.
* app/gui/palette-editor-menu.c: changed accordingly.
2004-04-19 Sven Neumann <sven@gimp.org>
* app/widgets/gimpenumstore.[ch]: avoid unnecessary casts.
* app/widgets/gimpenumcombobox.[ch]: added an API that inserts a
GtkTreeModelFilter to make items invisible. This is a kludge to
workaround bug #135875.
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/widgets/gimphistogrameditor.c: use the new function to hide
histogram channels that are not available with the current
drawable.
2004-04-16 Sven Neumann <sven@gimp.org>
* app/tools/gimpcolorpickertool.c
* app/tools/gimpmeasuretool.c: don't use gtk_window_present() to
raise the tool dialog since it also moves the focus away from the
image window. Fixes the problem described in bug #139349.
2004-04-15 Manish Singh <yosh@gimp.org>
* tools/Makefile.am
* app/Makefile.am
* configure.in: app, tools, and user dir bumped to version 2.1 names.
* app/text/gimpfontlist.c: since we now depend on pango 1.4, we can
use pango_fc_font_description_from_pattern() instead of our
cut-n-paste function, gimp_font_list_font_desc_from_pattern().
2004-04-15 Tor Lillqvist <tml@iki.fi>
* app/plug-in/plug-in-message.c (plug_in_handle_proc_install)
* app/plug-in/plug-in-proc.h (struct _PlugInProcDef)
* app/plug-in/plug-in-rc.c (plug_in_rc_write)
* app/plug-in/plug-ins.c (plug_ins_init): Make PDB procedures
(including their menu entries) installed during a plug-ins init()
phase show up. Add a flag to PlugInProcDef that tells whether the
proc was installed during the init() phase. Such procs aren't
saved to the pluginrc. Move the code that initializes plug-ins
that need initialization earlier, before the procs are added to
the PDB and menus are built. Fixes bug #139969.
2004-04-15 Tor Lillqvist <tml@iki.fi>
* libgimpthumb/Makefile.am: For Win32, install gimpthumb.def, like
the .def files of the other libgimp* libs.
* app/Makefile.am (INCLUDES): Add PANGOFT2_CFLAGS.
* gimp-zip.in: Put also libgimpthumb in the developer package.
2004-04-15 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdnd.c (gimp_dnd_data_source_add)
(gimp_dnd_data_source_remove): use the new dynamic GtkTargetList
based API for changing the widget's drag source types.
* app/widgets/gimpdocumentview.c (gimp_document_view_new): simply
call gimp_dnd_file_source_add() instead of duplicating the whole
GtkTargetEntry array insanity just for adding one source type.
2004-04-15 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.c
* app/widgets/gimpcontainertreeview.c: removed runtime version
checks and workarounds for bugs which are fixed in GTK+ 2.4.
* app/widgets/gimpfiledialog.c
(gimp_file_dialog_selection_changed): added runtime check for GTK+
2.4.1 and work around GtkFileChooser's missing "update_preview"
functionality for multiple selections if the dependency is not
met.
* app/widgets/gimpwidgets-utils.c (gimp_menu_position)
(gimp_menu_button_position): call gtk_menu_set_monitor() until
bug #139187 is fixed.
2004-04-15 Sven Neumann <sven@gimp.org>
* app/tools/gimpcropoptions.[ch]
* app/tools/gimpcroptool.[ch]: applied a patch from Jordi Gay that
allows to keep the aspect ratio fixed.
2004-04-15 Michael Natterer <mitch@gimp.org>
* app/core/gimplayermask.c (gimp_layer_mask_class_init): set
translate_desc to "Move Layer Mask".
* app/tools/gimpeditselectiontool.c: take the undo desc
from the moved item's class instead of duplicating all
strings here.
2004-04-15 Sven Neumann <sven@gimp.org>
* app/core/gimppalette-import.[ch]
* app/gui/palette-import-dialog.c: added palette import from RIFF
palette files based on a patch from ÃRDI Gergõ (bug #129788).
2004-04-15 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.[ch]: added "const gchar *stroke_desc" to
the GimpItemClass struct and always push an undo group
around GimpItem::stroke().
* app/core/gimpchannel.c
* app/core/gimpselection.c
* app/vectors/gimpvectors.c: set the stroke_desc accordingly
and don't push undo groups.
* app/text/gimptextlayer.c (gimp_text_layer_class_init): set
all of GimpItemClass' undo_descs.
* app/text/gimptextlayer-transform.c: don't push undo groups here.
2004-04-15 Michael Natterer <mitch@gimp.org>
Context cleanup continued:
* app/core/gimpitem.[ch]: added context parameter to
GimpItem::stroke().
* app/core/gimpchannel.c (gimp_channel_stroke)
* app/vectors/gimpvectors.c (gimp_vectors_stroke): use it to get
default values from instead of gimp_get_user_context().
* app/core/gimpselection.c
* app/gui/stroke-dialog.c
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/paths.pdb: changed accordingly.
* app/pdb/edit_cmds.c
* app/pdb/paths_cmds.c: regenerated.
* app/plug-in/plug-in.[ch]: added GimpContext member to the PlugIn
struct. Added context parameter to plug_in_new(),
plug_in_call_query() and plug_in_call_init().
* app/plug-in/plug-in-run.[ch]: added context parameters to
plug_in_run() and plug_in_repeat().
* app/gui/plug-in-commands.c
* app/gui/vectors-commands.c
* app/pdb/procedural_db.c
* app/widgets/gimphelp.c: pass a context to plug_in_run() and
plug_in_repeat().
* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): call
procedures with the plug-in's context.
* app/plug-in/plug-ins.c: use a temporary context for running the
plug-ins' query() and init() functions. Use the same context for
running automatic extensions. This temporarily separates the main
Script-Fu extension from the user context (i.e. scripts have no
way of setting/getting the global FG, BG, brush etc.).
2004-04-15 Sven Neumann <sven@gimp.org>
* app/paint-funcs/paint-funcs.[ch]:
* app/paint-funcs/paint-funcs-generic.h: header cleanup, added
some const qualifiers, converted tabs to spaces. Fixes bug #140115
for the HEAD branch.
2004-04-13 Sven Neumann <sven@gimp.org>
* app/core/gimp-utils.[ch] (gimp_get_default_language): added a
category parameter to make this function more flexible.
* app/text/gimptext.c: changed accordingly.
* app/widgets/gimphelp.c (gimp_help): localize the help pages
according to the value of LC_MESSAGES. Fixes bug #139917.
2004-04-13 Michael Natterer <mitch@gimp.org>
Moved the calls to floating_sel_relax()/rigor() from various
places to two single spots in the core where they are actually
needed. Fixes bug #138356 (which was caused by the projection
being triggered in the middle of changing the floating selection's
size or the size of the drawable it is attached to). This commit
effectively removes floating selection fiddling from the core's
public API.
* app/core/gimpdrawable.[ch] (gimp_drawable_has_floating_sel): new
function which returns TRUE if there is a floating selection
attached to the drawable.
* app/core/gimpdrawable.c (gimp_drawable_translate)
(gimp_drawable_set_tiles_full): if the drawable *has* a floating
selection, relax/rigor it before/after modifying the drawable.
* app/core/gimplayer.c (gimp_layer_translate)
(gimp_layer_set_tiles): if the layer *is* the floating selection,
relax/rigor it before/after modifying it.
* app/core/gimpdrawable-transform.c
* app/core/gimpimage-convert.c
* app/core/gimpimage-crop.c
* app/core/gimpimage-flip.c
* app/core/gimpimage-resize.c
* app/core/gimpimage-rotate.c
* app/core/gimpimage-scale.c
* app/gui/layers-commands.c
* app/tools/gimpeditselectiontool.c
* tools/pdbgen/pdb/layer.pdb: removed calls to
floating_sel_rigor()/relax() all over the place. Also removed
lots of undo groups which are obsolete now.
* app/pdb/layer_cmds.c: regenerated.