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.
The only purpose of this change is to avoid having the "update"
signal twice on GimpGroupLayer (from GimpDrawable and from
GimpProjectable). Switch back to normal g_signal_connect()
in the projection.
We have no reason to believe that the original layer names when
importing multi-layered images are not good enough, so stop adding the
filename as a prefix to the names.
Since save and export are separate activities we need to keep track of
image dirtiness for both of them. For this purpose, add a
'export_dirty' member to GimpImage which has the same semantics as
'dirty', but for export. Set it to clean whenever a document is
exported by whatever means. Do this with a new function
gimp_image_export_clean_all(). Also add gimp_image_is_export_dirty().
With no export target but with an import source, show
"Overwrite <filename>" in the File menu. This also means we can't set
GIMP_FILE_EXPORT_TO_URI_KEY along with import source any longer.
When an opened file is not an .xcf file it is considered an imported
file. Adjust the state of the loaded image accordingly to reflect its
imported state. Store the import source and set that as 'Export to'
target.
The source filename convention would indicate that gimpfile.h
holds code for the GimpFile object. Rename it to gimp-file.h
to make clear that it doesn't.
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-12-28 Sven Neumann <sven@gimp.org>
Bug 565362 – the previously opened file is not suggested if gimp
was started from command line
* app/file/file-open.c (file_open_from_command_line): remember
the
opened image just as if it was opened using the file-open
dialog.
svn path=/trunk/; revision=27842
2008-11-10 Sven Neumann <sven@gimp.org>
Bug 559725 – Allow to set image-type and image-num-layers for
thumbnail
* app/file/file-open.[ch] (file_open_thumbnail): added
parameters
for image-type and number of layers. Try to get these from the
procedure return values. Changes based on a patch from "tks".
* app/core/gimpimagefile.c (gimp_imagefile_create_thumbnail)
(gimp_thumbnail_set_info): set image-type and number of layers
if
specified.
svn path=/trunk/; revision=27595
2008-11-05 Michael Natterer <mitch@gimp.org>
* app/core/gimpdrawablestack.[ch]: add new function
gimp_drawable_stack_invalidate_previews() which does just what it
says.
* app/core/gimpimage.[ch]: merge invalidate_layer_previews() and
invalidate_channels_previews() into a single invalidate_previews()
and replace all calls to the old functions by calls to
gimp_drawable_stack_invalidate_previews().
* app/file/file-open.c: changed accordingly.
svn path=/trunk/; revision=27560
2008-11-02 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.[ch]: add new functions
gimp_image_get_layer_iter(), channel_iter() and vectors_iter()
which return the GList inside the resp. GimpList.
* app/actions/channels-actions.c
* app/actions/layers-actions.c
* app/actions/vectors-actions.c
* app/core/gimpimage-convert.c
* app/core/gimpimage-crop.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-flip.c
* app/core/gimpimage-item-list.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-resize.c
* app/core/gimpimage-rotate.c
* app/core/gimpimage-scale.c
* app/core/gimpimage.c
* app/core/gimpimage.h
* app/core/gimpprojection-construct.c
* app/display/gimpdisplayshell-draw.c
* app/file/file-open.c
* app/tools/gimpaligntool.c
* app/tools/gimpdrawtool.c
* app/vectors/gimpvectors-compat.c
* app/vectors/gimpvectors-export.c
* app/widgets/gimplayertreeview.c
* app/xcf/xcf-save.c
* tools/pdbgen/pdb/image.pdb: use the new functions instead of
peeking both into the image and the list. Remove inclusions of
"gimplist.h" or change them into "gimpcontainer.h" if needed.
* app/pdb/image-cmds.c: regenerated.
svn path=/trunk/; revision=27524
2008-10-17 Sven Neumann <sven@sven>
* app/core/gimp.[ch]: added signal Gimp::image-opened to
announce
that an image has been loaded and a display was created for it.
* app/file/file-open.c (file_open_with_proc_and_display): call
gimp_opened() to emit the new signal.
* app/gui/dbus-service.xml
* app/gui/gimpdbusservice.[ch]: propagate the 'opened' signal to
listeners of the "org.gimp.GIMP.UI" DBus service.
* app/gui/gui-unique.c: formatting.
svn path=/trunk/; revision=27297
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-03-25 Sven Neumann <sven@gimp.org>
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: added gimp_get_empty_display() to the vtable.
* app/file/file-open.c (file_open_from_command_line): use the
empty display as progress window when opening an image from the
command-line or via the DBus interface.
svn path=/trunk/; revision=25219
2008-03-24 Sven Neumann <sven@gimp.org>
Do not any longer keep the document history in two places. We
only
use GtkRecentManager now:
* app/core/Makefile.am
* app/core/gimp-documents.[ch]: removed these files.
* app/core/gimpdocumentlist.c: removed code to load and save the
"documents" file.
(gimp_document_list_add_uri): call gimp_recent_list_add_uri()
here.
* app/core/gimpimagefile.[ch]: added function to set the
mime-type.
* app/core/gimp.c (gimp_restore): removed code to load the
document history.
(gimp_real_exit): removed code to save it.
* app/core/gimp-gui.[ch]: extended the vtable with a method to
populate the document list.
* app/gui/gui-vtable.c: added code to populate the document
history
from the list of recently used files kept by GtkRecentManager.
* app/gui/gui.c (gui_restore_callback): load the recent files
here.
* app/file/file-open.c
* app/file/file-save.c: no need to call
gimp_recent_list_add_uri()
any longer as gimp_document_list_add_uri() does that for us now.
* app/actions/documents-commands.c
(documents_clear_cmd_callback):
purge the items from GtkRecentManager. Also changed the dialog
to
emphasize that this operation now affects the document history
in
all applications.
* docs/gimp.1.in: removed reference to "documents" file.
svn path=/trunk/; revision=25190
2008-01-08 Sven Neumann <sven@gimp.org>
* app/file/file-open.c (file_open_layers): moved code to a utility
function, in preparation for a possible fix for bug #507116.
svn path=/trunk/; revision=24569
2007-09-21 Sven Neumann <sven@gimp.org>
* app/file/file-open.c (file_open_image): set the image clean
after handling the color profile.
svn path=/trunk/; revision=23601
2007-09-20 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.[ch]: added a load_proc member to GimpImage
and getters and setters for it.
* app/file/file-open.c (file_open_image): set the load
procedure,
but only if it hasn't been set already. Use the MIME type from
the
load procedure that is set on the image.
* tools/pdbgen/pdb/fileops.pdb (file_load_invoker): set the load
procedure. This causes it to be set when the URI plug-in calls
gimp-file-load to load the image.
* app/pdb/fileops_cmds.c: regenerated.
* app/widgets/gimpimagepropview.c
(gimp_image_prop_view_label_set_filetype): use the MIME type
from
the load procedure, in case that no save procedure is set.
svn path=/trunk/; revision=23597
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-06-21 Michael Natterer <mitch@gimp.org>
Part one of fix for bug #449141 (fixes the projection but still
leaves some image previews unupdated).
* app/core/gimpimage.c (lots of functions)
* app/paint/gimppaintcore.c (gimp_paint_core_finish)
* app/file/file-open.c (file_open_sanitize_image): removed calls
to gimp_viewable_invalidate_preview(image).
* app/file/file-open.c (file_open_sanitize_image): update and
flush the entire image instead. Load plug-ins are not required to
call gimp_drawable_update() or anything else to make sure the
projection is up-to-date.
* app/core/gimpimage.c (gimp_image_real_flush): inavlidate the
image preview here because we now create it from the projection.
(this is still not the entirely correct place though).
svn path=/trunk/; revision=22815
2007-04-17 Sven Neumann <sven@gimp.org>
Allow other applications to open images in GIMP as if they were
new images (without associating a filename). Fixes bug #423118.
* app/file/file-open.[ch]: added parameter 'as_new' to
file_open_image() and its variants.
* app/actions/data-commands.c
* app/actions/documents-commands.c
* app/actions/file-commands.c
* app/core/gimpimagefile.c
* app/dialogs/file-open-dialog.c
* app/dialogs/file-open-location-dialog.c
* app/widgets/gimptoolbox.c
* app/widgets/gimptoolbox-dnd.c: changed accordingly.
* app/app.[ch]
* app/main.c: added new command-line option '--as-new'.
* app/widgets/gimpdbusservice.[ch]
* app/widgets/dbus-service.xml: added new method "OpenAsNew" to the
D-Bus interface.
* docs/gimp.1.in: document the new command-line option.
svn path=/trunk/; revision=22264
2007-03-27 Sven Neumann <sven@gimp.org>
* app/file/file-open.[ch]: changed file_open_from_command_line()
to deal with a single filename only.
* app/widgets/gimpdbusservice.[ch]
* app/widgets/dbus-service.xml: changed the D-Bus Open method to
take only a single filename.
* app/app.c
* app/main.c: changed accordingly.
svn path=/trunk/; revision=22181
2007-03-10 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginprocedure.[ch]: cache the result of
gimp_plug_in_procedure_get_label() and made the return value
const.
* app/actions/plug-in-actions.c
* app/plug-in/gimpplugin-cleanup.c
* app/plug-in/gimppluginmanager.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimpfileprocview.c
* app/widgets/gimpimagepropview.c: changed accordingly.
* app/file/file-open.c
* app/file/file-save.c: include the plug-in name (or actually
the
label) in the error messages.
svn path=/trunk/; revision=22095
2007-01-22 Sven Neumann <sven@gimp.org>
* app/file/file-open.[ch]: added utility function that handles
opening files passed on the command-line.
* app/app_procs.c
* app/widgets/gimpdbusservice.c: use the new function instead of
duplicating the code.
svn path=/trunk/; revision=21759
2006-12-11 Michael Natterer <mitch@gimp.org>
* app/file/file-open.c (file_open_layers): use the image file's
basename as layer name if we import only one layer or if
merge_visible was requested. Use "basename - layer name"
otherwise. Fixes bug #384472.
2006-11-03 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch] (enum GimpUndoType): added value
GIMP_UNDO_GROUP_LAYER_ADD.
* app/file/file-open.[ch]: changed file_open_layer() to
file_open_layers(), added parameter "gboolean merge_visible",
return a GList of layers.
* app/dialogs/file-open-dialog.c
* app/display/gimpdisplayshell-dnd.c
* app/widgets/gimplayertreeview.c: pass merge_visible = FALSE and
add all returned layers to the image. Fixes bug #358082.
(contains lots of duplicated code, will factor that out later).
* tools/pdbgen/pdb/fileops.pdb (load_layer): pass merge_visible = TRUE
(load_layers): new wrapper which returns all the image's layers.
* app/pdb/fileops_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpfileops_pdb.[ch]: regenerated.
* libgimp/gimp.def: changed accordingly.
2006-11-01 Sven Neumann <sven@gimp.org>
* app/file/file-open.c: always deal with embedded color profiles.
* app/dialogs/preferences-dialog.c: reordered items in Color
Management section, added some spacing.
* app/config/gimprc-blurbs.h
* libgimpconfig/gimpcolorconfig.c
* plug-ins/common/lcms.c: string changes for consistency.
2006-10-27 Sven Neumann <sven@gimp.org>
* libgimpconfig/gimpcolorconfig-enums.[ch]
* libgimpconfig/gimpcolorconfig.c
* libgimpconfig/gimpconfig.def: removed unused enum
GimpColorFileOpenBehaviour.
* app/core/core-enums.[ch]: added enum GimpColorProfilePolicy.
* app/config/gimpcoreconfig.[ch]
* app/config/gimprc-blurbs.h: added property
"color-profile-policy".
* app/plug-in/Makefile.am
* app/plug-in/plug-in-icc-profile.[ch]: new files that wrap
usage
of the lcms plug-in.
* app/file/file-open.c: implement the user-configured policy for
embedded color profiles.
* app/widgets/gimpimageprofileview.c: use the wrapper to call
the
plug-in-icc-profile-info procedure.
* app/widgets/gimptoolbox-dnd.c: pass TRUE for "attach_comment"
parameter to gimp_create_image().
* app/core/gimptemplate.c
* app/file/Makefile.am: cosmetic changes.
* app/Makefile.am: some resorting to make the beast link again.
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.