gimp_plug_in_procedure_set_icon(): look at the passed icon_type,
not proc->icon_type. Introduced this when splitting the function
into set_icon() and take_icon() in d5255dc.
Change GimpFileDialog's file-procs properties to enum
GimpFileProcedureGroup and get them via the newly added API. Set
properties common to all dialogs in the parent class.
..."Operation not supported"
Add argument validation in the GimpPlugInProcedure impls of
GimpProcedure::execute() and ::execute_async().
When a file procedure is executed and it handles URIs not filenames,
run the resp. arguments through file_utils_filename_to_file() which
turns both URIs and filenames into a valid GFile which we can ask for
its URI.
file-procedure.[ch] is gone and its functions moved to
GimpPlugInManager where they belong (the manager keeps around the
lists of load, save and export procedures).
Utility functions from file-utils.[ch] that have nothing to do with
image files moved to core/gimp-utils.[ch].
This preparation commit only moves code around and renames it, the
history is still a list of plug-ins only:
- move app/core/gimp-filter-history.c
to app/plug-in/gimppluginmanager-history.c and clean it up
- move the actions that create the submenus under "Filters"
from the "plug-in" to the "filters" action group
- move the code that creates and updates the history actions
to the "filters" action group
- add menu setup code for the "filters" menu
- move the "history-changed" signal from GimpPlugInManager to Gimp
Add gimp_image_import_color_profile(), a GUI vtable entry
query_profile_policy() and a new dialog which returns the profile
policy and the profile to convert to. Get rid of the wrapper that
calls the lcms plug-in for that dialog, the plug-in is now completely
unused.
This commit doesn't add any new features, it's just the former lcms
plug-in dialog implemented in app/ (except the little fix that it is
now aware of linear vs. gamma images).
and move the color profile menu entries there. Add a mapping so 3rd
party plug-ins get moved to the new location automatically.
Also, add a separator after "Duplicate" and move the "Transform"
submenu to the top of the group that has "Scale", "Resize" etc.
It is advised to use the more accurate g_io_channel_win32_new_fd() or
g_io_channel_win32_new_socket() because GLib can't differentiate between
file descriptors and sockets on Windows, which outputs a warning when
there is ambiguity.
gimp_directory_file(), gimp_data_directory_file() etc. The new
functions take a variable list of path elements to the file,
the list has to be NULL-terminated. Remove the newly added
gimp_personal_rc_gfile(). Start using the new functions in app/.
- change start() and set_text() to use "format" and "..." instead of
"message", allowing to format progress messages in place
- s/cancelable/cancellable/
- move "cancellable" to be the second argument of start()
and keep GIMP_ICON_TYPE_STOCK_ID as a deprecated alias. Change all
plug-ins accordingly and increase the pluginrc file version number so
it gets regenerated with "icon-name" instead of "stock-id".
Change gimp_get_display_name() to also return the screen, and its
implementation in the GUI to return the initial monitor during
startup. Retrieve that information in app.c using a weird callback
construct and pass the monitor to file_open_from_command_line().
Half-related, add screen and monitor parameters to GimpDisplayShell
and use these initial values for calculating the canvas's initial
extents.
The image windows still don't position themselves correctly though
because we have no mechanism for that whatsoever just yet, but we now
at least pass the needed monitor information to the right objects.
gimp_plug_in_handle_proc_install(): don't set the new procedure's menu
path nor its menu label if proc_install->menu_path is "", so we don't
run into action and menu creating confusion later. Do it here and not
later so the "" string never enters the system.
- don't include <gdk-pixbuf/gdk-pixbuf.h> in headers in app/
- instead, include it in many .c files instead of <glib-object.h>,
finally acknowledging the fact that app/ depends on gdk-pixbuf almost
globally
- fix up includes as if libgimpbase depended in GIO, which it soon will
Call gimp_cpu_accel_set_use() in app_run(). Add "use_cpu_accel"
parameter to gimp_new() and keep it around in the Gimp instance. Pass
the flag to plug-ins again.
Remove the legacy <Toolbox>, <Load> and <Save> from the error message
that states which plug-in menu paths are valid, and add the missing
<Fonts> and <ToolPresets>. Also actually handle <ToolPresets>, this
was apparently forgotten.
Add the missing <Dynamics> menu location for script/plugin
registration.
modified: app/plug-in/gimppluginprocedure.c
(cherry picked from commit 9625dd92b4)
The function plug_in_icc_profile_apply_rgb() didn't set the error object
when bailing out due to being called on a grayscale image, this could
lead to crashes in callers which just checked the return value, but not
whether or not an error had been set.
file_procedure_in_group(): consider "file-uri-save" to be in both the
SAVE and the EXPORT groups.
gimp_plug_in_manager_register_save_handler(): allow a procedure to be
in both "save_procs" and "export_procs".
The logic in the file save/export dialog checks uri prefixes and
extensions just fine, so nothing bad seems to happen from this change,
I hope...
which is serialized to the file, so we can change/fix the file format
at any time, also in stable. The file is only a cache and can always
be regenerated.
When gimp_plug_in_close()ing a plug-in (such as when cancel is
clicked), make sure we don't leak the proc_frames of all temporary
procedures the plug-in is currently running. By properly disposing the
GimpPlugInProcFrame, the progress window and its cancel button in
above bug get destroed on first click, and the user has no chance of
trying to kill an already finalized plug-in again.
Don't mark a procedure as file procedure just because a mime-type or
thumbnail loader is registered for it. Only registering as load or
save handler should set the file_proc flag. This prevents plug-ins
from doing wrong things and would also fix the behavior fixed in the
commits below.
Add gimp_plugin_enable_precision() in libgimp which switches the
plug-in to deal with the drawables' real precision, call it from the
libgimp GeglBuffer and Babl format APIs. If it's not enabled, let the
core's plug-in convert the tiles to legacy formats when sending them
over the wire.
When we run our tests we want to use plug-ins from the build dir so
the tests can pass also when no make install have been made.
Use the environment variables GIMP_TESTING_PLUGINDIRS and
GIMP_TESTING_PLUGINDIRS_BASENAME_IGNORES for this.
when dealing with native window handles. Also get rid of using
GdkNativeWindow and simply consistently use guint32 all over the
place. This is more obvious and consistent and keeps the diff to the
gtk3-port branch smaller.
gimp_plug_in_handle_proc_return(): if there is no plug-in main loop
running (the plugin was running asynchronously from a menu), show the
plug-in's error message here, because nobody else will show it
otherwise.
Initially contains antialias, feather and feather radius for the
upcoming gimp-item-to-selection preocedure. Keeping states in the
context reduces the number of parameters of procedures, and both the
state API and the API using the states can be changed/deprecated
independently. Make sure that all procedures and all plug-ins get
GimpPDBContexts instead of plain GimpContexts passed.
The item groups has all the duplicated functionality from drawable
and vectors (name, visible, linked etc).
Hijack the unused GIMP_PDB_REGION and turn it into GIMP_PDB_ITEM;
change all protocol aware files accordingly and bump the protocol
version number. Change script-fu to handle the new type.
Move calling gimp_plug_in_shm_free() from gimp_plug_in_manager_finalize()
to gimp_plug_in_manager_exit() so it's also called in stable GIMP
releases which simply call exit() at some point instead of taking the
time to shut down everything completely.
Yes this is pretty lame, but we must prevent write access to these
items under all circumstances, and we have no other way but killing
the plug-in (it should not write to the drawable directly anyway)
Begin to consider GimpObject::name as private and always use
gimp_object_get_name(). Change gimp_object_get_name() to take an
untyped pointer so we don't have to do so awfully many casts. There is
a runtime check for the type inside the function anyway.
* app/plug-in/gimppluginprocedure.[ch]
(gimp_plug_in_procedure_get_sensitive): change GimpImageType
parameter to GimpDrawable and do the type check internally.
* app/actions/plug-in-actions.c (plug_in_actions_update): pass the
active drawable instead of its type.
2009-01-17 Michael Natterer <mitch@gimp.org>
* all files with a GPL header and all COPYING files:
Change licence to GPLv3 (and to LGPLv3 for libgimp).
Cleaned up some copyright headers and regenerated the parsers in
the ImageMap plugin.
svn path=/trunk/; revision=27913
2008-11-06 Sven Neumann <sven@gimp.org>
* tools/gimp-mkenums: use NC_() to mark enum values for
translation.
Use a lower-case short form of the type name as translation
context.
* libgimp/libgimp-intl.h: define the NC_() macro as noop.
* libgimpbase/gimpbasetypes.[ch]
* libgimpbase/gimpbase.def: added new functions to set and
get a translation context on an enum type.
* app/base/Makefile.am
* app/core/Makefile.am
* app/display/Makefile.am
* app/paint/Makefile.am
* app/plug-in/Makefile.am
* app/text/Makefile.am
* app/tools/Makefile.am
* app/widgets/Makefile.am
* libgimp/Makefile.am
* libgimpbase/Makefile.am:
* libgimpconfig/Makefile.am
* libgimpthumb/Makefile.am
* libgimpwidgets/Makefile.am: register the translation context
with the enum types.
* app/display/display-enums.h
* libgimpbase/gimpbaseenums.h
* libgimpconfig/gimpcolorconfig-enums.h: removed old-style
explicit
translation context.
* app/base/base-enums.c
* app/core/core-enums.c
* app/display/display-enums.c
* app/paint/paint-enums.c
* app/plug-in/plug-in-enums.c
* app/text/text-enums.c
* app/tools/tools-enums.c
* app/widgets/widgets-enums.c
* libgimpbase/gimpbaseenums.c
* libgimpconfig/gimpcolorconfig-enums.c
* libgimpwidgets/gimpwidgetsenums.c: regenerated.
svn path=/trunk/; revision=27562
2008-10-23 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimppluginprocframe.c
(gimp_plug_in_proc_frame_dispose): set proc_frame->procedure to
NULL *after* calling gimp_plug_in_cleanup(). Fixes the crash on
windows in bug #557061 (but not the bug).
svn path=/trunk/; revision=27376
2008-10-09 Michael Natterer <mitch@gimp.org>
Add GEGL_CFLAGS and #includes as if gimpdrawable.h and gimpimage.h
had a GEGL dependency (they will have in the next commit, but I
wanted to keep the commit separate).
* app/dialogs/Makefile.am
* app/file/Makefile.am
* app/gui/Makefile.am
* app/menus/Makefile.am
* app/paint/Makefile.am
* app/plug-in/Makefile.am
* app/text/Makefile.am
* app/vectors/Makefile.am
* app/widgets/Makefile.am
* app/xcf/Makefile.am: add GEGL_CFLAGS.
* app/actions/*.c
* app/core/*.c
* app/dialogs/*.c
* app/display/*.c
* app/file/*.c
* app/gui/*.c
* app/menus/*.c
* app/paint/*.c
* app/pdb/gimppdb-utils.c
* app/pdb/gimpprocedure.c
* app/plug-in/*.c
* app/text/*.c
* app/tools/*.c
* app/vectors/*.c
* app/widgets/*.c
* app/xcf/*.c: add <gegl.h> or replace <glib-object.h> by <gegl.h>
to all files which include a drawable subclass or gimpimage.h
* tools/pdbgen/app.pl: include <gegl.h> instead of <glib-object.h>
in all generated files.
* app/pdb/*-cmds.c: regenerated.
* data/images/gimp-splash.png: the goat is still sleeping.
By Aurore Derriennic.
svn path=/trunk/; revision=27202
2008-10-06 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-menu-path.c (menu_path_mappings): add a
fallback mapping from <Toolbox> to <Image> so we catch really
everything that wants to go to <Toolbox>.
svn path=/trunk/; revision=27147
2008-10-02 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimppluginprocframe.c: keep a reference to the
proc_frame's procedure. We can't asume it's always there since it
could be a temporary one and its plug-in might die during
procedure execution, taking the temp_proc with it.
svn path=/trunk/; revision=27112
2008-10-01 Tor Lillqvist <tml@novell.com>
* app/plug-in/gimpplugin.c: Don't #define _GNU_SOURCE on Windows
as it confuses newest mingw headers.
svn path=/trunk/; revision=27096
2008-09-18 Tor Lillqvist <tml@novell.com>
* app/plug-in/gimppluginshm.c: Use INVALID_HANDLE_VALUE instead of
INVALID_FILE_HANDLE which was an misunderstanding.
svn path=/trunk/; revision=26989
2008-09-05 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimpplugindebug.[ch] (gimp_plug_in_debug_argv): made
the "args" parameter const.
* app/plug-in/gimpplugin.c (gimp_plug_in_open): made some strings
const.
svn path=/trunk/; revision=26877
2008-09-02 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginshm.c: if INVALID_FILE_HANDLE is
undefined,
define it as the constant that we used to use here.
svn path=/trunk/; revision=26839
2008-09-01 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginshm.c (gimp_plug_in_shm_new): use the
constant INVALID_FILE_HANDLE instead of 0xFFFFFFFF. Fixes shared
memory tile transport on 64bit Windows systems.
svn path=/trunk/; revision=26827
2008-08-21 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginprocedure.[ch]
* app/plug-in/gimptemporaryprocedure.c: moved error handling for
asynchronous procedure calls to a central place. Use the plug-in
label instead of the procedure name for the error message.
svn path=/trunk/; revision=26703
2008-08-21 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginprocedure.c
* app/plug-in/gimptemporaryprocedure.c: don't just free the
return
values when running procedures asynchronously. Instead examine
them and display the error message if there's one.
* app/plug-in/gimppluginmanager-call.c
(gimp_plug_in_manager_call_run_temp): return NULL if
procedure->plug_in is not set.
* app/plug-in/gimpplugin-message.c: comment.
svn path=/trunk/; revision=26700
2008-08-19 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimpplugin.[ch] (struct GimpPlugIn)
* app/plug-in/gimppluginprocframe.[ch] (struct GimpPlugInProcFrame):
move the error_handler from the plug-in to the proc-frame.
* app/plug-in/gimppluginprocframe.c
* app/plug-in/gimpplugin-message.c: changed accordingly.
svn path=/trunk/; revision=26661
2008-08-19 Sven Neumann <sven@gimp.org>
Complements the fix for bug #344818:
* libgimpbase/gimpbaseenums.[ch]: added new enum
GimpPDBErrorHandler.
* tools/pdbgen/enums.pl: regenerated.
* app/plug-in/gimpplugin.[ch]: added error_handler to
GimpPlugIn.
* app/plug-in/gimpplugin-message.c
(gimp_plug_in_handle_proc_run):
only display an error message for a failed procedure call if the
plug-in's error-handler is set to
GIMP_PDB_ERROR_HANDLER_INTERNAL.
* tools/pdbgen/pdb/plug_in.pdb: added PDB getter and setter for
the plug-in's error-handler.
* app/pdb/plug-in-cmds.c
* app/pdb/internal-procs.c
* libgimp/gimpenums.c.tail
* libgimp/gimpplugin_pdb.[ch]: regenerated.
* plug-ins/common/file-compressor.c
* plug-ins/file-uri/uri.c: set the error-handler to
GIMP_PDB_ERROR_HANDLER_PLUGIN as these plug-ins are forwarding
the
error with their return values.
svn path=/trunk/; revision=26656
2008-08-17 Sven Neumann <sven@gimp.org>
* app/plug-in/gimpplugin-progress.c
(gimp_plug_in_progress_cancel_callback): introduced a utility
function to reduce code duplication.
* app/pdb/gimppdb.c (gimp_pdb_execute_procedure_by_name):
changed
to use g_error_new_literal().
svn path=/trunk/; revision=26616
2008-08-16 Sven Neumann <sven@gimp.org>
* app/plug-in/gimpplugin-message.c
(gimp_plug_in_handle_proc_run):
removed the term 'PDB' from the user-visible error messages.
svn path=/trunk/; revision=26601
2008-08-16 Sven Neumann <sven@gimp.org>
If a procedure call fails, pass a string describing the error as
the second return value. First step towars fixing bug #344818.
* app/pdb/gimpprocedure.[ch] (gimp_procedure_get_return_values):
added a GError parameter. If it is set, pass the error message
to
the return values.
* app/pdb/gimppdberror.h: added some more error codes.
* app/pdb/gimppdb.c
* app/xcf/xcf.c: pass errors to
gimp_procedure_get_return_values().
* app/plug-in/gimpplugin-message.c
(gimp_plug_in_handle_proc_run):
show a different error message for execution vs. calling errors.
* app/plug-in/gimpplugin-progress.c
(gimp_plug_in_progress_cancel_callback): pass the error
GIMP_PDB_CANCELLED to gimp_procedure_get_return_values().
* app/plug-in/gimppluginmanager-call.[ch]
(gimp_plug_in_manager_call_run): removed the
'destroy_return_vals'
parameter.
* app/plug-in/gimppluginprocedure.c: destroy the return values
here.
* app/plug-in/gimppluginprocframe.c: pass an error to
gimp_procedure_get_return_values().
* tools/pdbgen/app.pl
* tools/pdbgen/pdb/fileops.pdb: generate code that passes the
error to gimp_procedure_get_return_values().
* app/pdb/*-cmds.c: regenerated.
* plug-ins/pygimp/pygimp-pdb.c: extract the error message from
the
return values and pass it to the exception that is thrown.
svn path=/trunk/; revision=26593
2008-08-14 Sven Neumann <sven@gimp.org>
* app/plug-in/gimpplugin-message.c
(gimp_plug_in_handle_proc_run):
use G_STRFUNC in another error message that I missed earlier.
svn path=/trunk/; revision=26570
2008-08-14 Sven Neumann <sven@gimp.org>
* app/plug-in/gimpplugin-message.c
(gimp_plug_in_handle_tile_get):
use G_STRFUNC to get the proper function name in the error
message.
svn path=/trunk/; revision=26564
2008-07-14 Sven Neumann <sven@gimp.org>
Add new PDB data type PDB_COLORARRAY for using arrays of GimpRGB
colors as argument or return value.
* libgimpbase/gimpbaseenums.[ch] (enum GimpPDBArgType): replaced
the unused GIMP_PDB_BOUNDARY with GIMP_PDB_COLORARRAY.
* libgimpbase/gimpprotocol.h: increased GIMP_PROTOCOL_VERSION.
(struct _GPParam): added d_colorarray entry to the union.
* libgimpbase/gimpprotocol.c
* libgimp/gimp.[ch]
* app/pdb/gimp-pdb-compat.c
* app/plug-in/plug-in-params.c
* app/plug-in/gimpplugin-message.c
* tools/pdbgen/pdb.pl: deal with the new data type.
* tools/pdbgen/enums.pl: regenerated.
* plug-ins/pygimp/pygimp-pdb.c
* plug-ins/script-fu/scheme-wrapper.c: handle the new data type.
svn path=/trunk/; revision=26189
2008-06-12 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-menu-path.c (menu_path_mappings): also map
<Toolbox>/File/Acquire to <Image>/File/New/Acquire.
svn path=/trunk/; revision=25935
2008-05-06 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimpplugin-message.c: split
gimp_plug_in_handle_tile_request() into two functions:
gimp_plug_in_handle_tile_put() and gimp_plug_in_handle_tile_get().
svn path=/trunk/; revision=25578
2008-05-06 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimpplugin-message.c
(gimp_plug_in_handle_proc_install): show an error message instead
of crashing when a plug-in registers a prodecure with a NULL
argument or return value name. Also introduce two macros which
make the utf-8 validation of all strings much more readable.
svn path=/trunk/; revision=25577
2008-04-21 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimpplugin-cleanup.c: do the actual cleanup in
utility functions and reduce gimp_plug_in_cleanup() to merely
iterating the cleanup lists.
svn path=/trunk/; revision=25511
2008-04-21 Michael Natterer <mitch@gimp.org>
Move the shadow tiles from the image to the drawable.
Fixes bug #100469.
* app/core/Makefile.am
* app/core/gimpdrawable-shadow.[ch]: new files implementing
the shadow tiles.
* app/core/gimpimage.[ch]: remove the shadow tile manager from the
GimpImage struct. Remove gimp_image_get_shadow_tiles() and
_free_shadow_tiles().
* app/core/gimpdrawable.[ch]: add the shadow tile manager
here. Remove get_shadow_tiles() and merge_shadow(). Free the
shadow tiles in finalize and when the drawable gets removed from
the image.
* app/core/gimpdrawable-brightness-contrast.c
* app/core/gimpdrawable-color-balance.c
* app/core/gimpdrawable-colorize.c
* app/core/gimpdrawable-curves.c
* app/core/gimpdrawable-desaturate.c
* app/core/gimpdrawable-equalize.c
* app/core/gimpdrawable-hue-saturation.c
* app/core/gimpdrawable-invert.c
* app/core/gimpdrawable-levels.c
* app/core/gimpdrawable-operation.c
* app/core/gimpdrawable-posterize.c
* app/core/gimpdrawable-threshold.c
* app/core/gimpimagemap.c: changed accordingly. Free the shadow tiles
after using them.
* app/plug-in/gimpplugin-cleanup.[ch]: add
gimp_plug_in_cleanup_add_shadow() and _remove_shadow() which keep
track of whether shadow tiles were created on behalf of a plug-in
procedure.
(gimp_plug_in_cleanup): free shadow tiles which were created but
not destroyed by a plug-in procedure.
* app/plug-in/gimpplugin-message.c (plug_in_handle_tile_request):
call gimp_plug_in_cleanup_add_shadow() whenever a plug-in requests
shadow tiles.
* tools/pdbgen/pdb/drawable.pdb: use the new drawable shadow
API. Add new procedure gimp-drawable-free-shadow. Call
gimp_plug_in_cleaup_remove_shadow() when it gets called.
* tools/pdbgen/pdb/image.pdb: deprecate gimp-image-free-shadow.
Calling it has no effect any longer.
* app/pdb/drawable-cmds.c
* app/pdb/image-cmds.c
* app/pdb/internal-procs.c
* libgimp/gimpimage_pdb.[ch]
* libgimp/gimpdrawable_pdb.[ch]: regenerated.
svn path=/trunk/; revision=25510
2008-04-17 Michael Natterer <mitch@gimp.org>
Add some infrastructure that will be used soon:
* app/plug-in/gimppluginprocframe.[ch]: replace "cleanup" list
by two lists "image_cleanups" and "item_cleanups" and call
gimp_plug_in_cleanup() if any of them is non-NULL.
* app/plug-in/gimpplugin-cleanup.c: add private new() and free()
functions for GimpPlugInCleanupImage structs and add the same
infrastructure for GimpPlugInCleanupItem structs which are
currently unused.
svn path=/trunk/; revision=25497
2008-04-14 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimpplugin-message.c (gimp_plug_in_handle_tile_req):
made messages about killed plug-ins due to invalid tile requests
more verbose. They are good for debugging only and not translated,
so more info can't hurt. Also fail (kill the plug-in) if a tile is
requested that lives on the undo stack.
svn path=/trunk/; revision=25487
2008-04-09 Sven Neumann <sven@gimp.org>
* app/plug-in/plug-in-menu-path.c (plug_in_menu_path_map):
removed
function name from debug output.
svn path=/trunk/; revision=25443
2008-04-09 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-menu-path.c (plug_in_menu_path_map): enable
and improve debug output for mapped menu paths.
svn path=/trunk/; revision=25437
2008-04-09 Michael Natterer <mitch@gimp.org>
* menus/image-menu.xml.in: add "File/New" submenu and an "Acquire"
placeholder inside it. Removed "File/Acquire". Removed the "Xtns"
menu.
* app/plug-in/plug-in-menu-path.[ch] (plug_in_menu_path_map):
add "menu_label" parameter and add support for mapping around
individual menu items while preserving their translation and
mnemonics. Add mappings for the known menus from "Xtns" and map
them to "File/New".
Map everything else in "Xtns" to "Filters/Extensions".
* app/plug-in/gimppluginmanager-menu-branch.c
(gimp_plug_in_manager_add_menu_branch): pass the menu_label so
menu branches can be mapped with their translation.
* app/plug-in/gimppluginprocedure.c
(gimp_plug_in_procedure_add_menu_path): pass NULL because mapping
menu items which have no submenu makes no sense and is redundant.
* app/actions/image-actions.c: remove the "Xtns" menu action.
* app/actions/file-actions.c: add action for the "File/New" menu
and removed the "File/Acquire" action.
* app/actions/edit-actions.c: rename "Paste as New" to
"From Clipboard".
* menus/image-menu.xml.in: add the "From Clipboard" action to the
"File/New" menu.
svn path=/trunk/; revision=25427
2008-04-08 Michael Natterer <mitch@gimp.org>
* menus/image-menu.xml.in: add placeholder "Help/Programming"
* plug-ins/common/plugin-browser.c
* plug-ins/common/procedure-browser.c: move the plug-in and
procedure browsers there.
* menus/image-menu.xml.in: moved the (now by default empty)
"Extensions" placeholder from "Xtns" to "Filters". Let's see what
cruft shows up there.
* app/plug-in/plug-in-menu-path.c: map "Xtns/Extensions" to
"Filters/Extensions".
svn path=/trunk/; revision=25415
2008-04-08 Michael Natterer <mitch@gimp.org>
Start getting rid of the "Xtns" menu:
* app/actions/dialogs-actions.c (dialogs_toplevel_actions):
renamed "Module Manager" to "Modules".
* menus/image-menu.xml.in: move it to "Edit/Preferences" for the
time being so it doesn't block the removal of the "Xtns" menu.
Move "Languages" placeholder from "Xtns" to "Filters".
* app/plug-in/plug-in-menu-path.c (menu_path_mappings): map
"Xtns/Languages" to "Filters/Languages".
svn path=/trunk/; revision=25414
2008-03-28 Mukund Sivaraman <muks@mukund.org>
Fixes for some Sparse reported issues in app/
* app/core/gimpdrawable-operation.c: Added prototype for
gegl_node_add_child().
* app/core/gimpcurve.c: Remove C99 code
* app/tools/gimpcurvestool.c
* app/tools/gimpperspectiveclonetool.c
* app/vectors/gimpstroke.c: Mark functions as static.
* app/base/siox.c: state is a pointer.
* app/plug-in/gimppluginprocframe.c: values is a pointer.
* app/plug-in/plug-in-rc.c: plug_in_rc_parse() returns a pointer.
* app/plug-in/gimpinterpreterdb.c: Check program[0] for '\0'
instead of the pointer program itself.
svn path=/trunk/; revision=25292
2008-03-27 Sven Neumann <sven@gimp.org>
Properly pass the focus from the core to plug-in dialogs:
* libgimpbase/gimpprotocol.[ch]: added a user_time member to the
GimpConfig struct. Bumped the protocol version to 0x0012.
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: added gimp_get_user_time() to get the
timestamp of the last user interaction.
* app/plug-in/gimppluginmanager-call.c
(gimp_plug_in_manager_call_run): pass the timestamp to in the
GimpConfig message.
* libgimp/gimp.[ch]:
* libgimp/gimp.def: added method to access the timestamp as set
in the config message.
* libgimp/gimpui.c (gimp_ui_init): construct a fake startup ID and
set the DESKTOP_STARTUP_ID environment variable.
svn path=/trunk/; revision=25263
2008-03-21 Michael Natterer <mitch@gimp.org>
Remove the toolbox menu:
* configure.in: remove --enable-toolbox-menu option.
* menus/Makefile.am
* menus/toolbox-menu.xml.in: removed.
* menus/image-menu.xml.in: add the debug menu here.
* menus/menus.xsl: remove transformations depending on whether
there is a toolbox menu or not.
* app/menus/Makefile.am
* app/menus/toolbox-menu.[ch]: removed.
* app/menus/menus.c: remove the toolbox menu but keep the
<Toolbox> UI manager around so we can configure its actions
separate from normal docks.
* app/actions/image-actions.c (image_actions): remove the action
for the toolbox menubar.
* app/widgets/gimptoolbox.c: remove all menu code.
* app/plug-in/plug-in-menu-path.c: map plug-in registered toolbox
menu items to their new location in the image menu
unconditionally.
* plug-ins/common/screenshot.c
* plug-ins/common/uniteditor.c
* plug-ins/script-fu/script-fu.c
* plug-ins/script-fu/scripts/web-browser.scm
* plug-ins/twain/twain.c
* plug-ins/winsnap/winsnap.c: remove menu registrations under
<Toolbox>/File and change <Toolbox>/Help to <Image>/Help. Leave
<Toolbox>/Xtns untouched until its final location and name are
decided.
svn path=/trunk/; revision=25156
2008-03-20 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginprocedure.c
(gimp_plug_in_procedure_set_file_proc): don't allow "file:" to be
registered as prefix. This seems to happen with the uri-gio plug-in
when no gvfs backends are installed.
svn path=/trunk/; revision=25139
2008-02-07 Michael Natterer <mitch@gimp.org>
* app/base/base-utils.[ch]: add get_pid() which returns getpid().
* app/base/base.c
* app/base/tile-swap.c
* app/core/gimp-utils.c
* app/plug-in/gimppluginshm.c
* app/widgets/gimpselectiondata.c
* tools/pdbgen/pdb/misc.pdb: use it instead of getpid() and remove
all the #ifdef'ed includes getpid() needs.
* tools/pdbgen/app.pl: remove support for these includes. Also
remove some perl cruft in the include handling which is not needed
any longer.
* app/pdb/misc_cmds.c: regenerated.
svn path=/trunk/; revision=24827
2007-12-20 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginmanager-menu-branch.[ch]: added accessor
for the list of menu branches.
* app/actions/plug-in-actions.c (plug_in_actions_setup): use it.
svn path=/trunk/; revision=24417
2007-12-11 Sven Neumann <sven@gimp.org>
* libgimpbase/gimpprotocol.c: made the code more robust against
errors on the wire protocol level.
* app/plug-in/gimpplugin-message.c: added sanity checks to message
handlers. This doesn't keep us from crashing on invalid input, but
we will at least get some warnings before that happens.
svn path=/trunk/; revision=24317
2007-10-25 Sven Neumann <sven@gimp.org>
* app/plug-in/gimpplugin-message.c (gimp_plug_in_handle_proc_install):
set the procedure name before parsing the image types.
Fixes bug #490055.
svn path=/trunk/; revision=23943
2007-10-09 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginmanager-restore.c
(gimp_plug_in_manager_add_from_rc): changed message about
missing
executable and only output it if gimp is verbose.
svn path=/trunk/; revision=23785
2007-09-18 Michael Natterer <mitch@gimp.org>
* configure.in: replaced HAVE_GDK_QUARTZ conditional by
--disable-toolbox-menu configure switch which defaults to "yes"
normally and to "no" on quartz.
* app/widgets/gimptoolbox.c: changed #ifdef accordingly.
* app/plug-in/Makefile.am
* app/plug-in/plug-in-menu-path.[ch]: new generic machanism to map
around menu locations. If ENABLE_TOOLBOX_MENU is false, map
"Xtns" and "Help" from <Toolbox> to <Image>.
* app/plug-in/gimppluginmanager-menu-branch.c
* app/plug-in/gimppluginprocedure.c: run all menu paths through the
new mapping function.
* menus/Makefile.am
* menus/menus.xsl
* menus/image-menu.xml.in: add both the "Xtns" and "Help" menus to
the image menubar if TOOLBOX_MENU is false.
svn path=/trunk/; revision=23581
2007-08-15 Michael Natterer <mitch@gimp.org>
* app/core/core-types.h: remove GimpPlugInDebug typedef.
* app/plug-in/plug-in-types.h: added it here instead.
* app/core/gimpchannel-combine.h
* app/widgets/gimppropwidgets.[ch]: match parameter names
in .c, .h and API docs to make gtk-doc happy.
svn path=/trunk/; revision=23275
2007-08-07 Sven Neumann <sven@gimp.org>
* app/plug-in/Makefile.am
* app/plug-in/plug-in-error.[ch]: new files defining the
GimpPlugIn error domain.
* app/plug-in/plug-in-icc-profile.c (plug_in_icc_profile_apply_rgb):
set an error code.
* app/file/file-open.c (file_open_profile_apply_rgb): only do the
profile conversion if color management is enabled. If the plug-in
is missing, show a warning and disable color management.
Fixes bug #434205.
* modules/cdisplay_lcms.c (cdisplay_lcms_get_rgb_profile): check
if we actually got a profile before checking its color space.
* libgimpwidgets/gimpwidgetstypes.h: removed leftover typedef
for GimpResolutionEntry.
svn path=/trunk/; revision=23130
2007-07-30 Sven Neumann <sven@gimp.org>
* app/plug-in/gimpplugin.[ch]: don't call gp_quit_write() on a
plug-in with a broken pipe. Fixes bug #460878.
svn path=/trunk/; revision=23076
2007-06-25 Sven Neumann <sven@gimp.org>
* configure.in: removed extra check for gthread and fold it into
the GLIB and GTK checks.
* */Makefile.am: changed accordingly.
* app/main.c (main): always call g_thread_init().
svn path=/trunk/; revision=22832
2007-06-20 Tor Lillqvist <tml@novell.com>
* app/plug-in/gimpplugin.c: In GLib 2.13 pipe() is no longer
defined as a macro in gwin32.h. Define it here in that case.
svn path=/trunk/; revision=22802
2007-06-07 Sven Neumann <sven@gimp.org>
* app/text/Makefile.am
* app/core/Makefile.am
* app/tools/Makefile.am
* app/display/Makefile.am
* app/widgets/Makefile.am
* app/base/Makefile.am
* app/paint/Makefile.am
* app/plug-in/Makefile.am
* libgimp/Makefile.am
* libgimpthumb/Makefile.am
* tools/pdbgen/Makefile.am
* libgimpwidgets/Makefile.am: applied the remaining parts of the
patch from Daniel Richard G. to fix out-of-source-tree builds
(bug #444960).
svn path=/trunk/; revision=22735
2007-04-24 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginprocedure.[ch]: use GQuark for locale and
help domains to avoid duplicating the same strings many times.
* app/plug-in/gimppluginmanager-restore.c: removed FIXME.
svn path=/trunk/; revision=22304
2007-04-24 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimppluginmanager-restore.c
(gimp_plug_in_manager_restore): set the default plug-in locale
domain on all GimpPlugInDefs which don't register a locale domain
themselves. Fixes bug #430146.
svn path=/trunk/; revision=22303
2007-04-18 Sven Neumann <sven@gimp.org>
* app/plug-in/Makefile.am
* app/plug-in/gimppluginmanager.[ch]
* app/plug-in/gimppluginmanager-restore.[ch]: moved
gimp_plug_in_manager_restore() to it's own file.
* app/core/gimp.c: changed accordingly.
* app/Makefile.am (LDFLAGS): convince the linker to do its job.
svn path=/trunk/; revision=22286
2007-04-18 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginmanager.c (gimp_plug_in_manager_restore):
try to improve readability by moving code to helper functions.
svn path=/trunk/; revision=22283
2007-04-18 Sven Neumann <sven@gimp.org>
* app/plug-in/gimpinterpreterdb.[ch]: added a function that
returns all file extensions registered in the interpreter db.
* app/plug-in/gimppluginmanager.c (gimp_plug_in_manager_restore):
if the PATHEXT environment variable is set, append all registered
file extensions to it. This way GIMP can recognize Python scripts
as plug-ins on platforms where the executable bit is unknown.
svn path=/trunk/; revision=22282
2007-04-17 Michael Natterer <mitch@gimp.org>
* app/config/gimprc.c
* app/plug-in/gimppluginmanager.c
* app/plug-in/gimpplugin.c
* app/gui/themes.c: don't translate --verbose or g_printerr()
messages, they are debugging output that often end up in bugzilla
and should not depend on the locale.
svn path=/trunk/; revision=22262
2007-03-19 Michael Natterer <mitch@gimp.org>
* app/actions/plug-in-actions.c
* app/menus/plug-in-menus.c: GimpPlugInProcedure has a boolean
member "file_proc" now, use it instead of checking prefixes,
extensions and magics manually.
* app/plug-in/gimppluginprocedure.c
(gimp_plug_in_procedure_set_mime_type)
(gimp_plug_in_procedure_set_thumb_loader): set
plug_in_proc->file_proc to TRUE here too.
* plug-ins/common/pnm.c: register "image/x-portable-anymap" as
mime-type and "pnm" as extension for file-pnm-save so it's
recognized as file procedure.
svn path=/trunk/; revision=22152
2007-03-16 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimppluginprocframe.c
(gimp_plug_in_proc_frame_get_return_vals): don't just g_free() the
GValueArray after we memcpy()-stole its values because this both
leaks the contained array of GValues and crashes with glib trunk
where GValueArray is slice-allocated. Instead, free the array of
GValues manually, set it to NULL and use g_value_array_free().
svn path=/trunk/; revision=22134
2007-03-16 Michael Natterer <mitch@gimp.org>
Fix stuck progress bars (bug #393832):
* app/plug-in/gimpplugin-progress.[ch] (gimp_plug_in_progress_end):
added PlugInProcFrame parameter instead of blindly using the topmost
in the procedure stack...
* app/plug-in/gimppluginprocframe.c
(gimp_plug_in_proc_frame_dispose): ...because we call it from here,
when the proc_frame is already removed from the procedure stack.
Unrelated:
* plug-ins/script-fu/scripts/difference-clouds.scm: use
RUN-INTERACTVE instead of 0, added (gimp-displays-flush)
* plug-ins/common/snoise.c (solid_noide): update the progress to
1.0 after rendering.
svn path=/trunk/; revision=22131
2007-03-14 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimpplugin.c (gimp_plug_in_new): require either
"procedure" or "prog" being non-NULL, not both of them at the same
time. Get the executable name from the procedure if the procedure
was passed.
* app/plug-in/gimppluginmanager-call.c
(gimp_plug_in_manager_call_run): pass a NULL prog since we already
pass the procedure.
svn path=/trunk/; revision=22122