We need to be able to pass a GimpUIManager to
gimp_dialog_factory_dialog_new(), so make that possible. Also make
sure to set ui_manager in gimp_dialog_factory_dialog_new_internal()
when we create both a dock window and a dock, so tooltips works in
toolboxes created from scratch.
Instead of including dialogs/dialogs.h everywhere, introduce
gimp_dialog_factory_get_singleton(). The dialog factory singleton is
still initialized by dialogs.c though.
Right now the assumption is that we never will have another dialog
factory instance around. There were so many problems before when we
had four of them, so let's just keep one of them around.
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.
Merge file_savefile_write_with_uri_and_proc() and
file_save_dialog_save_image() which contains the same logic. Call the
result file_save_dialog_save_image() in lack of a better name, and
keep it in file-save-dialog.[ch] for now in lack of a better place.
Gather save dialog uri defaults in one place. Move the small bits of
it from file_save_dialog_new() to gimp_file_dialog_set_save_image()
where the rest is.
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.
Introduce file_write_with_uri_and_proc() so that the
file_save_cmd_callback() switch case becomes more managable and so
that we can reuse that logic later.
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-10-21 Sven Neumann <sven@gimp.org>
* app/actions/file-commands.c (file_open_recent_cmd_callback):
ref
the GimpDisplay and GimpImageFile objects while holding a
reference to them. Fixes a potential crash if GIMP is closed
while
the image is being loaded.
svn path=/trunk/; revision=27346
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-05 Michael Natterer <mitch@gimp.org>
Allow to "Open as Layers" in the empty display:
* app/widgets/gimpfiledialog.[ch]: add member
"gboolean open_as_layers". Rename gimp_file_dialog_set_image() to
gimp_file_dialog_set_save_image() and add
gimp_file_dialog_set_open_image() which sets both the image to
load layers into and the "open_as_layers" boolean.
* app/dialogs/file-open-dialog.c (file_open_dialog_response): look
at dialog->open_as_layers instead of dialog->image to decide whether
to open as layers (that's much more obvious). Enable open as layers
without existing image by creating the image if it doesn't exist.
* app/actions/file-commands.c (file_open_dialog_show): add "title"
parameter and take the uri from the image if none was passed. Use the
new gimp_file_dialog_set_open_image() instead of poking into the
dialog struct. Change callers to pass the title and not get the
uri from the image; instead always pass the image.
* app/actions/file-actions.c (file_actions_update): keep
"Open as Layers" sensitive even without image.
svn path=/trunk/; revision=27135
2008-08-15 Sven Neumann <sven@gimp.org>
* app/actions/file-commands.c (file_save_cmd_callback): save new
images, even if they are not marked dirty.
svn path=/trunk/; revision=26571
2008-08-14 Sven Neumann <sven@gimp.org>
* app/actions/file-commands.c (file_save_cmd_callback): when we
trust the dirty flag and don't save because there are no
changes,
display a message in the status-bar telling the user so.
* app/config/gimpguiconfig.c: changed the default value for
"trust-dirty-flag" to TRUE.
svn path=/trunk/; revision=26565
2008-07-30 Sven Neumann <sven@gimp.org>
* app/dialogs/file-open-dialog.c (file_open_dialog_response):
attach the URI of the last opened image to the Gimp object.
* app/actions/file-commands.c (file_open_dialog_show): use the
last opened URI as a fallback for initializing the dialog.
svn path=/trunk/; revision=26339
2008-04-05 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplay.[ch]: added new function
gimp_display_close() which decides if gimp_display_delete() or
gimp_display_empty() needs to be called.
* app/display/gimpdisplay-foreach.[ch]: added new function
gimp_displays_close() and removed the 'do_quit' parameter from
gimp_displays_delete().
* app/gui/gui.c (gui_exit_callback): changed accordingly.
* app/display/gimpdisplayshell-close.c: removed
gimp_display_shell_really_close() and call gimp_display_close()
instead.
* app/display/gimpdisplayshell.c (gimp_display_shell_empty):
moved
code to update the ui managers here.
* app/actions/file-commands.c (file_save_cmd_callback)
(file_close_cmd_callback)
* app/dialogs/file-save-dialog.c (file_save_dialog_response)
* app/dialogs/quit-dialog.c (quit_close_all_dialog_response):
close displays instead of deleting them.
* app/gui/gui-vtable.c (gui_display_delete): call
gimp_display_close().
svn path=/trunk/; revision=25377
2008-03-25 Sven Neumann <sven@gimp.org>
* app/actions/file-actions.c
* app/actions/file-commands.[ch]: renamed
file_last_opened_cmd_callaback() to file_open_recent_cmd_callback().
Use the empty display as progress object.
svn path=/trunk/; revision=25215
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-01-20 Michael Natterer <mitch@gimp.org>
Close the display after "Save as" when invoked via the "Close
Without Saving" dialog. Fixes bug #383700.
* app/actions/actions-types.h: added enum GimpSaveMode { SAVE,
SAVE_AS, SAVE_A_COPY, SAVE_AND_CLOSE }.
* app/actions/file-actions.c: changed the 4 save actions into
GimpEnumActions with above enum as values.
* app/actions/file-commands.[ch]: merged the save callbacks into
one and pass a "close_after_saving" boolean to
file_save_dialog_show().
* app/widgets/gimpfiledialog.[ch]: added "gboolean
close_after_saving" parameter to gimp_file_dialog_set_image() and
to the GimpFileDialog struct.
* app/dialogs/file-save-dialog.c: if the file was saved
successfully and close_after_saving is TRUE, close the display if
the image has not become dirty again in the meantime.
svn path=/trunk/; revision=21743
2007-01-16 Sven Neumann <sven@gimp.org>
* app/actions/file-commands.c (file_open_dialog_show): use the
toplevel widget as transient parent.
svn path=/trunk/; revision=21724
2007-01-15 Sven Neumann <sven@gimp.org>
* app/actions/file-commands.[ch]
* app/actions/file-actions.c
* menus/image-menu.xml.in: removed "file-open-from-image" action
and simply use "file-open-image" from both File menus. Makes the
behavior more predictable and removes unneeded complexity.
svn path=/trunk/; revision=21716
2006-12-15 Sven Neumann <sven@gimp.org>
* app/widgets/gimpuimanager.[ch]: added new function
gimp_ui_manager_activate_action() as a shortcut for looking up the
action and activating it.
* app/actions/dialogs-actions.c
* app/display/gimpdisplayshell-close.c
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimppaletteeditor.c
* app/widgets/gimptoolbox.c
* app/widgets/gimptooloptionseditor.c: use the new function.
* app/actions/file-commands.c
* app/dialogs/file-save-dialog.c: minor code cleanup.
2006-12-11 Sven Neumann <sven@gimp.org>
* app/actions/file-commands.c: don't message "Image saved" from
here.
* app/core/gimpimage.[ch]: introduced new signal "saved".
* app/file/file-save.c (file_save): call gimp_image_saved() from
here.
* app/display/gimpdisplay-handlers.c: connect to
GimpImage::saved
and show the "Image saved" message. Makes it show up on all
displays
and regardless of how the file was saved.
* app/display/gimpdisplay.c: fixed typo in comment.
2006-12-11 Sven Neumann <sven@gimp.org>
* app/actions/file-actions.c
* app/actions/file-commands.[ch]
* app/display/gimpdisplayshell-close.c: introduced new action
'file-save-and-close' and moved display deletion there.