2006-08-15 Hans Breuer <hans@breuer.org>
* **/makefile.msc app/gimpcore.def : updated
* app/xcf/xcf-save.c(1464) : error C2036: 'void *' : unknown size
pointer arithmetics on void a pointer looks like a GCC extension
* app/tools/gimpbrightnesscontrasttool.c
app/tools/gimpcolorbalancetool.c
app/tools/gimphuesaturationtool.c
app/tools/gimpcolorizetool.c : #include "core/gimp.h" for gimp_message
* app/tools/gimpiscissorstool.c : use RINT() rather than rint()
* app/widgets/gimpcontrollerlist.c : #include "gimpwidgets-utils.h"
for gimp_show_message_dialog
* app/core/gimpprogress.c(229) : 'gimp_progress_message' must
return a value
2006-08-11 Sven Neumann <sven@gimp.org>
* app/gui/gui-message.c (gui_message_error_dialog): use the global
error dialog if the progress is a GimpProgressDialog.
2006-07-19 Sven Neumann <sven@gimp.org>
Make message dialogs transient for the progress window.
Addresses
bug #347214.
* app/core/gimp-gui.[ch]: added a progress parameter to
gimp_message(). Let gimp_message() deal with optionally
delegating the message to gimp_progress_message().
* app/errors.c: changed accordingly.
* app/core/gimpprogress.[ch] (gimp_progress_message): return a
boolean indicating whether the message was handled.
* app/gui/Makefile.am
* app/gui/gui-message.[ch]
* app/gui/gui-vtable.c: moved message handling to a new file.
Only
use the global error dialog for messages without a progress.
Otherwise attach an error dialog to the progress and try to make
it transient to the progress window.
* tools/pdbgen/pdb/message.pdb:
* app/plug-in/gimpplugin-progress.[ch]: don't delegate messages
to
the progress interface, this is handled by gimp_message() now.
* app/pdb/message_cmds.c: regenerated.
* app/plug-in/gimpplugin.c
* app/actions/documents-commands.c: formatting.
2006-07-07 Sven Neumann <sven@gimp.org>
* INSTALL
* configure.in
* app/gui/gui.c: relaxed required version for gtk+ to 2.8.17 and
pango to 1.12.2 so that it compiles on Ubuntu (Dapper Drake).
2006-07-03 Michael Natterer <mitch@gimp.org>
* app/gui/splash.[ch]: added "be_verbose" parameters and be
verbose about which splash image is actually loaded.
* app/gui/gui.c (gui_init): pass gimp->be_verbose to
splash_create().
2006-06-05 Sven Neumann <sven@gimp.org>
* app/gui/splash.c (splash_create): connect to "expose-event"
with
G_SIGNAL_CONNECT_AFTER so that the text is rendered on the
image.
2006-06-05 Sven Neumann <sven@gimp.org>
* app/gui/splash.c: added back support for animated splashes but
continue to use the optimized code for static splash images.
2006-05-05 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimppluginmanager.[ch]: added signals
"plug-in-opened" and "plug-in-closed". Added functions
gimp_plug_in_manager_add_open_plug_in() and _remove_open_plugin()
which maintain the list of open plug-ins and emit the signals.
* app/plug-in/gimpplugin.c (gimp_plug_in_open)
(gimp_plug_in_close): don't touch manager->open_plug_ins and don't
ref/unref the plug-in. Call above new functions instead. Don't
call gimp_pdb_dialogs_check().
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: removed gimp_pdb_dialogs_check().
* app/widgets/gimppdbdialog.[ch]: removed
gimp_pdb_dialogs_check_callback() and connect to the
plug-in-manager's "plug-in-closed" signal instead.
2006-04-27 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-locale-domain.[ch] (plug_in_locale_domains):
new function which returns string arrays of all registered locale
domains and paths.
(plug_in_standard_locale_domain): removed this function. The
standard plug-in domain is included in the domains returned by
plug_in_locale_domains().
* app/plug-in/plug-ins.c (plug_ins_init): simply bind the text
domains here instead of calling gimp_menus_init(). Destroy
gimp->plug_in_defs much earlier.
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: removed gimp_menus_init().
* app/menus/plug-in-menus.[ch]: removed plug_in_menus_init(),
binding text domains is completely done in the core now.
2006-04-27 Michael Natterer <mitch@gimp.org>
Added some signals inspired by Rockwalrus' libpdb:
* app/pdb/gimppdb.[ch]: added signals "register-procedure" and
"unregister-procedure".
* app/pdb/gimppluginprocedure.[ch]: added signal "menu-path-added".
* app/actions/plug-in-actions.[ch]
* app/menus/plug-in-menus.[ch]: connect to the new signals and
create/destroy plug-in actions and menus accordingly. Made all
needed functions private and merged some of them with the newly
added signal callbacks.
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: removed gimp_menus_create_item() and
gimp_menus_delete_item() and all related stuff.
* app/plug-in/plug-in.c
* app/plug-in/plug-ins.c: removed calls to the removed functions.
* app/plug-in/plug-ins.c (plug_ins_init): add the plug-in
procedures to the PDB *after* calling gimp_menus_init() so their
locale domains are properly initialized when the menus are
created.
2006-04-26 Michael Natterer <mitch@gimp.org>
* app/pdb/Makefile.am
* app/pdb/pdb-types.h
* app/pdb/gimppdb.[ch]: new object GimpPDB which keeps all
procedures and functions to register and run them. Renamed all
functions and did some cleanups.
* app/pdb/gimp-pdb.[ch]
* app/core/gimp.[ch]: removed the same stuff here.
* app/pdb/gimp-pdb-query.[ch]: removed these files...
* app/pdb/gimppdb-query.[ch]: ...added here as members of GimpPDB.
* app/pdb/gimp-pdb-compat.h: fix include guard.
* app/batch.c
* app/actions/vectors-commands.c
* app/dialogs/about-dialog.c
* app/file/file-open.c
* app/file/file-save.c
* app/plug-in/plug-in-message.c
* app/plug-in/plug-ins.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimphelp.c
* app/xcf/xcf.c
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/fileops.pdb
* tools/pdbgen/pdb/font_select.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/palette_select.pdb
* tools/pdbgen/pdb/pattern_select.pdb
* tools/pdbgen/pdb/procedural_db.pdb: changed includes and function
calls accordingly.
* tools/pdbgen/app.pl: pass around GimpPDB instead of Gimp
pointers to register the internal procedures with. Changed some
newlines in the generated code.
* app/pdb/*_cmds.c
* app/pdb/internal_procs.[ch]: regenerated.
* app/core/gimppdbprogress.[ch]
* app/widgets/gimppdbdialog.[ch]: added "pdb" CONSTRUCT_ONLY
properties.
* app/plug-in/plug-in-progress.c
* app/gui/gui-vtable.c: pass gimp->pdb when creating them.
* app/widgets/gimpbrushselect.c
* app/widgets/gimpfontselect.c
* app/widgets/gimpgradientselect.c
* app/widgets/gimppaletteselect.c
* app/widgets/gimppatternselect.c: use the new local pdb pointers
instead of some foo->bar->gimp->pdb overkill.
2006-04-05 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-types.h
* app/plug-in/plug-in-proc-def.[ch]: renamed to GimpPlugInProcedure
and made a GObject derived from GimpProcedure (instead of having
a pointer to a GimpProcedure). Added image_types and file_magic
utility functions taken from plug-ins.[ch]. Still lives in the
same crappy files because I am undecided where to put it...
* app/pdb/gimpprocedure.c (gimp_procedure_real_execute): removed
switch() statement and always call the internal marshaller because
GimpProcedure::execute() is properly overridden by
GimpPlugInProcedure now.
* app/plug-in/plug-ins.[ch]: removed the mime_type and file_magic
utilities added to GimpPlugInProcedure.
* app/actions/file-commands.c
* app/actions/plug-in-actions.[ch]
* app/actions/plug-in-commands.[ch]
* app/core/gimp-gui.[ch]
* app/core/gimp.[ch]
* app/core/gimpimage.[ch]
* app/dialogs/file-open-dialog.c
* app/dialogs/file-save-dialog.c
* app/dialogs/print-size-dialog.c
* app/file/file-open.[ch]
* app/file/file-save.[ch]
* app/file/file-utils.[ch]
* app/gui/gui-vtable.c
* app/menus/plug-in-menus.[ch]
* app/plug-in/plug-in-def.[ch]
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-rc.c
* app/plug-in/plug-in-run.c
* app/plug-in/plug-in.c
* app/plug-in/plug-ins-query.c
* app/widgets/gimpactiongroup.[ch]
* app/widgets/gimpdnd-xds.c
* app/widgets/gimpfiledialog.[ch]
* app/widgets/gimpfileprocview.[ch]
* app/widgets/gimppluginaction.[ch]
* app/xcf/xcf.c
* tools/pdbgen/pdb/fileops.pdb
* tools/pdbgen/pdb/plug_in.pdb: changed addordingly.
* app/pdb/fileops_cmds.c
* app/pdb/plug_in_cmds.c: regenerated.
2006-03-10 Sven Neumann <ven@gimp.org>
* app/widgets/gimpaction.c: factored out some code to a utility
function.
* app/config/gimpguiconfig.[ch]
* app/config/gimprc-blurbs.h
* app/dialogs/preferences-dialog.c
* app/gui/gui.c
* app/plug-in/plug-in-run.c
* libgimp/gimp.c
* libgimpbase/gimpprotocol.[ch]: renamed tool_tips to tooltips in
variables and in the gimprc.
* app/config/gimpbaseconfig.[ch]: removed stingy_memory_use from
the GimpBaseConfig struct.
2006-01-05 Michael Natterer <mitch@gimp.org>
* app/gui/gui.c (gui_sanity_check): depend on gtk+ >= 2.8.8 also
at runtime. We don't want to debug everybody's gtk problems...
2005-11-24 Sven Neumann <sven@gimp.org>
* app/gui/gui-vtable.c (gui_message): only show the error console
but don't move the keyboard focus to it. Fixes bug #322210.
2005-11-05 Sven Neumann <sven@gimp.org>
* app/gui/splash.c: added some commented-out debug output that can
be used to get an idea of where the startup time is being spent.
* app/core/gimp.c
* app/pdb/internal_procs.c
* app/pdb/procedural_db.c
* app/plug-in/plug-ins.c
* tools/pdbgen/app.pl: cosmetic changes.
2005-11-05 Sven Neumann <sven@gimp.org>
* app/gui/splash.c (splash_area_expose): set the clip region
instead of just the clip rectangle.
* configure.in: bumped version to 2.3.6.
2005-09-26 Michael Natterer <mitch@gimp.org>
Allow plug-ins to register menu entries in the <Brushes>,
<Gradients>, <Palettes>, <Patterns> and <Fonts> menus:
* app/actions/actions.c (action_data_get_gimp): return a Gimp
also if "data" is a GimpContainerView or GimpContainerEditor.
* app/gui/gui-vtable.c (gui_menus_add_proc)
* app/plug-in/plug-in-params.c (plug_in_proc_args_check): support
the new plug-in menu locations.
* app/menus/menus.c (menus_init): add the "plug-in" action group
to the resp. UI managers.
* menus/brushes-menu.xml
* menus/buffers-menu.xml
* menus/fonts-menu.xml
* menus/gradients-menu.xml
* menus/palettes-menu.xml
* menus/patterns-menu.xml: added separators at the end of the menus.
* plug-ins/script-fu/scripts/font-map.scm: -> <Fonts>
* plug-ins/script-fu/scripts/gradient-example.scm: -> <Gradients>
* plug-ins/script-fu/scripts/mkbrush.scm: -> <Brushes>
* plug-ins/script-fu/script-fu.c (script_fu_extension_init): don't
register the "Make Brush" menu branch.
2005-09-21 Michael Natterer <mitch@gimp.org>
Separated the global buffer logic from the clipboard
implementation:
* app/widgets/gimpclipboard.[ch]: removed all knowledge about
gimp->global_buffer. Removed the Gimp::buffer-changed callback.
Made gimp_clipboard_set_buffer() public and remember the set
buffer in the GimpClipboard struct. Fixed the has_buffer() and
has_svg() functions.
* app/gui/gui.c: connect to Gimp::buffer-changed here and call
gimp_clipboard_set_buffer() from the callback.
2005-09-09 Michael Natterer <mitch@gimp.org>
Added parent window API to the GimpProgress interface and to
the libgimp progress stuff. Might look strange, but does
the right thing in almost all cases (image window, file dialog,
script-fu dialog etc). Fixes bug #62988.
* app/core/gimpprogress.[ch]: added GimpProgress::get_window()
which should return a toplevel window ID if the progress is in a
window that wants to be the transient parent of plug-in dialogs.
* app/widgets/gimpwidgets-utils.[ch] (gimp_window_get_native): new
function which returns the window handle of a GtkWindow's GdkWindow.
* app/widgets/gimpfiledialog.c: implement ::get_window().
* app/display/gimpdisplay.[ch]: ditto. Removed window handle API.
* app/gui/gui-vtable.c: changed accordingly.
* libgimpbase/gimpbaseenums.[ch] (enum GimpProgressCommand):
added GIMP_PROGRESS_COMMAND_GET_WINDOW.
* app/plug-in/plug-in-progress.[ch] (plug_in_progress_get_window):
new function. Also renamed some functions to match the
GimpProgress interface, and not the legacy PDB procedure names.
* tools/pdbgen/pdb/progress.pdb
* app/core/gimppdbprogress.c: implement get_window() on both
sides of the wire, keeping backward compatibility (hopefully).
* libgimp/gimpprogress.[ch]: deprecated gimp_progress_install()
and added gimp_progress_install_vtable() which takes a vtable with
padding to be extensible. Added get_window() vtable entry and
dispatch it accordingly. Also added pulse() which was implemented
in a hackish way before. Everything is of course backward
compatible.
* libgimp/gimpprogressbar.c: inmplement the get_window() stuff
so a plug-in dialog containing a progress can be the transient
parent of another dialog in another plug-in.
* libgimp/gimpui.[ch] (gimp_ui_get_progress_window): new function
which returns a foreign GdkWindow of this plug-ins progress
window.
Renamed gimp_window_set_transient_for_default_display() to
gimp_window_set_transient() and make it use the progress' window
handle instead of the display's (which is the right thing to do in
almost all cases).
* libgimp/gimp.def
* libgimp/gimpui.def: add the new functions.
* tools/pdbgen/enums.pl
* app/pdb/internal_procs.c
* app/pdb/progress_cmds.c
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* libgimp/gimpexport.c
* plug-ins/*/*.c: follow API change.
2005-09-05 Sven Neumann <sven@gimp.org>
Address bug #307971:
* app/core/gimp-gui.[ch]
* app/display/gimpdisplay.[ch]
* app/gui/gui-vtable.c
* tools/pdbgen/pdb/display.pdb: added PDB function to obtain a
window handle on an image display.
* app/pdb/display_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpdisplay_pdb.[ch]: regenerated.
* libgimp/gimpui.[ch]: added functions to set a GtkWindow transient
to an image display.
* plug-ins/common/gauss.c: use the new function exemplarily.
* libgimp/gimp.def
* libgimp/gimpui.def: updated.
2005-04-11 Michael Natterer <mitch@gimp.org>
Let the user decide whether tool options are persistant or not as
suggested in bug #165078:
* app/config/gimprc-blurbs.h
* app/config/gimpguiconfig.[ch]: added "gboolean save_tool_options".
* app/tools/gimp-tools.[ch]: implement the same logic as for
devicerc and essionrc: added gimp_tools_clear() which deletes the
stored tool options and added "save_tool_options" and
"always_save" parameters to gimp_tools_save(). Everything affects
just the primary tool options, *not* the separately saved presets
for each tool.
* app/gui/gui.c (gui_exit_callback): changed accordingly.
* app/dialogs/preferences-dialog.c: added GUI for the stuff above
in the style of the devicerc and seccionrc prefs GUIs.
2005-03-24 Michael Natterer <mitch@gimp.org>
Added API to explicitly register dynamic menu items hierarchies.
Fixes bug #170623.
* app/core/gimp.h: added "GSList *plug_in_menu_branches".
* app/plug-in/plug-in-types.h
* app/plug-in/plug-ins.[ch]: added API to register plug-in menu
branches, just as for locale and help domans. Cleaned up handling
of locale and help domains.
(plug_ins_exit): free the registered menu branches.
* app/actions/plug-in-actions.[ch] (plug_in_actions_add_branch):
new function to explicitly add a menu branch action.
(plug_in_actions_setup): add the registered menu branches to each
new action group.
(plug_in_actions_build_path): always strip the untranslated menu
path from underlines before using it as hash table key or action
name.
* app/menus/plug-in-menus.c (plug_in_menus_add_proc): changed
accordingly: strip underlines from untranslated menu paths before
passing them to plug_in_menus_build_path().
* app/core/gimp-gui.[ch]: added gimp_menus_create_branch() plus
vtable entry to access the new stuff from the core. Renamed the
functions desling with items from gimp_foo_entry() to
gimp_foo_item().
* app/gui/gui-vtable.c: implement create_branch() and add the
branch action to all existing "plug-in" action groups. Note that
we don't need to create any menus because that happens implicitly
when adding menu items.
* tools/pdbgen/pdb/plug_in.pdb (plugin_menu_branch_register): new
PDB wrapper to access branch registering from plug-ins.
* app/pdb/internal_procs.c
* app/pdb/plug_in_cmds.c
* libgimp/gimpplugin_pdb.[ch]: regenerated.
* libgimp/gimp.def: changed accordingly.
* plug-ins/script-fu/script-fu-scripts.c (script_fu_find_scripts):
register the menu branches for all included scripts.
2005-02-08 Sven Neumann <sven@gimp.org>
* app/app_procs.[ch]
* app/gui/gui.[ch]
* app/main.c: simplified initialization by passing GOptionContext
to app_libs_init() and gui_libs_init().