It's an ancient concept from ancient times when we didn't have URIs
and only filenames (not to speak of GFile), and actually even from
before the ancient time before that ancient time when we first had
ones and zeros, and only had zeros.
file_open_location_response(): guard against g_file_new_for_uri()
returning NULL (which it shouldn't) and an error being NULL (which it
shouldn't either for the same reason). Spotted by Massimo.
Try to sort all GIMP_ICON_* defines into FDO categories like in
https://specifications.freedesktop.org/icon-naming-spec/latest/ar01s04.html
Add defines for all icons we override, rename some icons to their FDO
standard names, and mark the ones we duplicate with a comment so we
don't forget to rename those to standard names in 3.0.
Nobody has them anymore, and they are deprecated in GTK+ 3.x. This
also fixes all conflicting mnemonics except those I missed, but we can
fix them now.
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
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-19 Sven Neumann <sven@gimp.org>
* app/file/file-utils.[ch]: let the filename -> uri functions take
a Gimp parameter instead of the list of load procedures.
* app/core/gimpimage.c
* app/app_procs.c
* app/dialogs/file-open-location-dialog.c
* tools/pdbgen/pdb/fileops.pdb: changed accordingly.
* app/pdb/fileops_cmds.c: regenerated.
svn path=/trunk/; revision=21736
2006-11-14 Sven Neumann <sven@gimp.org>
* app/dialogs/file-open-location-dialog.c: don't use
gimp_dialog_set_sensitive(); just make the entry not editable and
the dialog's OK button insensitive.
* app/widgets/gimpfiledialog.c
* app/widgets/gimpwidgets-utils.[ch]: moved gimp_dialog_set_sensitive()
implementation into gimp_file_dialog_set_sensitive().
2006-10-15 Michael Natterer <mitch@gimp.org>
* app/file/file-utils.c (file_utils_filename_to_uri): if the
passed filename starts with a valid, but unhandled uri scheme,
fail with an error saying "URI scheme 'foo:' is not supported"
instead of treating it as relative file path. Fixes bug #358203.
* app/dialogs/file-open-location-dialog.c
(file_open_location_response): don't close the dialog on errors
that are related to the entered URI because these errors are
failed user input validation, not failed open.
2006-10-09 Michael Natterer <mitch@gimp.org>
Added message severities and make sure all messages are routed
through a central function, so redirecting to the error console or
stderr work again:
* app/core/core-enums.[ch]: added enum GimpMessageSeverity { INFO,
WARNING, ERROR }.
* app/core/gimp.[ch] (gimp_message)
(gimp_message_valist): added severity parameter. Changed
"GimpProgress *progress" parameter to "GObject *handler", where
"handler" can be either a GimpProgress, a GtkWidget or NULL.
* app/core/gimp-gui.[ch] (gimp_show_message): ditto. Honor
--console-messages again. Always dispatch to the GUI message
handler first if it exists.
* app/gui/gui-message.[ch]: pass severity parameters around.
(gui_message_error_dialog): if "handler" is a progress, dispatch
the message to it first. If it is a widget (and *not* a progress),
use a GtkMessageDialog on top of that widget's toplevel. Fall
back to the usual GimpErrorDialog otherwise.
* app/core/gimpprogress.[ch] (gimp_progress_message): added
severity parameter. Also added boolean return value to the virtual
function so it can decide to fail if it can't handle the message.
* app/display/gimpdisplay.c: implement GimpProgress::message() and
redirect the message to GimpDisplayShell.
* app/display/gimpdisplayshell-progress.c: implement
GimpProgress::message() and redirect the message to GimpStatusbar
if it is not an error and if the status bar is visible.
* app/display/gimpstatusbar.[ch]: implement GimpProgress::message(),
but fail on messages that contain a newline. Show the right icons
for the message severities (work in progress).
* app/display/gimpdisplayshell.[ch]: removed
gimp_display_shell_message() and its _valist() variant.
* app/widgets/gimperrorconsole.[ch]: show the right icons for the
message severities.
* app/widgets/gimpthumbbox.c (gimp_thumb_box_progress_message):
return TRUE to swallow all messages.
* app/widgets/gimpwidgets-utils.[ch]: removed
gimp_show_message_dialog(). Added gimp_get_message_stock_id().
* app/errors.c
* app/actions/edit-commands.c
* app/actions/error-console-commands.c
* app/actions/file-commands.c
* app/actions/select-commands.c
* app/actions/text-editor-commands.c
* app/actions/vectors-commands.c
* app/core/gimpimage-convert.c
* app/core/gimpimagefile.c
* app/dialogs/convert-dialog.c
* app/dialogs/file-open-dialog.c
* app/dialogs/file-open-location-dialog.c
* app/dialogs/file-save-dialog.c
* app/dialogs/palette-import-dialog.c
* app/dialogs/stroke-dialog.c
* app/display/gimpdisplayshell-dnd.c
* app/pdb/gimppdb.c
* app/plug-in/gimpplugin.c
* app/tools/gimpimagemaptool.c
* app/tools/gimptool.c
* app/tools/gimpvectortool.c
* app/widgets/gimpactionview.c
* app/widgets/gimpcontrollerlist.c
* app/widgets/gimppdbdialog.c
* app/widgets/gimpvectorstreeview.c
* app/xcf/xcf-load.c
* app/xcf/xcf-save.c
* app/xcf/xcf.c
* tools/pdbgen/pdb/brush.pdb
* tools/pdbgen/pdb/gradient.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/message.pdb
* tools/pdbgen/pdb/palette.pdb: added severity parameter to
gimp_message() calls. Convert all calls to
gimp_show_message_dialog() and gimp_display_shell_message() to
gimp_message(). Also converted some more g_message() calls.
* app/pdb/brush_cmds.c
* app/pdb/gradient_cmds.c
* app/pdb/image_cmds.c
* app/pdb/message_cmds.c
* app/pdb/palette_cmds.c: regenerated.
2005-02-08 Sven Neumann <sven@gimp.org>
Applied a patch from Patrice Tremblay that makes (almost) all
dialogs obey the "gtk-alternative-button-order" setting
(bug #166678). Changes too many files to list them all...
2005-02-07 Michael Natterer <mitch@gimp.org>
* app/dialogs/file-open-location-dialog.c
(file_open_location_dialog_new): set "activates-default" on the
URI entry.
2005-02-07 Sven Neumann <sven@gimp.org>
* app/dialogs/file-open-dialog.c
* app/dialogs/file-save-dialog.c
* app/widgets/gimpthumbbox.c: use file_utils_filename_from_uri()
in some more places.
* app/dialogs/file-open-location-dialog.c
* app/widgets/gimpselectiondata.c: deal with hostname in URIs.
* app/actions/documents-commands.c
* app/actions/file-commands.c
* app/dialogs/file-open-dialog.c
* app/dialogs/file-open-location-dialog.c
* app/display/gimpdisplayshell-dnd.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimptoolbox-dnd.c: replace % with space
in file name before showing error message,
fixes bug #162147.
* app/core/gimp-gui.c
* app/widgets/gimpmessagebox.c: be a bit more paranoid
about validating utf8 for messages.
2004-09-09 Michael Natterer <mitch@gimp.org>
* app/gui/file-open-location-dialog.[ch]: changed
file_open_location_dialog_show() to
file_open_location_dialog_new() and return the dialog.
* app/gui/dialogs.c
* app/gui/dialogs-constructors.[ch]: added a constructor for it
and let the dialog factory manage it entirely.
* app/actions/file-commands.c
(file_open_location_dialog_cmd_callback): use the dialog factory
to create it.
2004-09-07 Michael Natterer <mitch@gimp.org>
* app/gui/dialogs.c (toplevel_entries): added a foreign entry
"gimp-file-open-loaction-dialog".
* app/gui/file-open-location-dialog.c: register the dialog
with the toplevel dialog factory so it remembers its position.
2004-08-11 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpprogressbox.[ch]: new GtkVBox subclass featuring
a label and a progressbar. Implements GimpProgressIterface.
* app/widgets/gimpprogressdialog.[ch]: replaced label and progress
by a GimpProgressBox. Delegate most progress functionality to it.
* app/widgets/gimpwidgets-utils.[ch]: factored out utility
function gimp_dialog_set_sensitive().
* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_sensitive):
use it.
* app/gui/file-open-location-dialog.c (file_open_location_response):
embed the called file procedure's progress using a GimpProgressBox.
2004-08-10 Michael Natterer <mitch@gimp.org>
Redid the whole internal progress stuff: don't pass around
progress_callback and progress_data; instead, provide a
pointer to a GimpProgressInterface which can be implemented
by a variety of backends.
Addresses (but not yet fixes) bugs #6010, #97266 and #135185.
* app/display/Makefile.am
* app/display/gimpprogress.[ch]: removed the old progress hack.
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpprogress.[ch]: implement GimpProgressInterface.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpprogressdialog.[ch]: the standalone progress
dialog as widget implementing GimpProgressInterface.
* app/display/gimpdisplay.c
* app/display/gimpstatusbar.[ch]
* app/widgets/gimpfiledialog.[ch]
* app/widgets/gimpthumbbox.[ch]: added GimpProgressInterface
implementation to these classes.
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: replaced the old progress vtable entries
by two new to create and destroy a GimpProgressDialog in case
no other progress is available.
* app/pdb/procedural_db.[ch]
* app/plug-in/plug-in-run.[ch]
* tools/pdbgen/app.pl: pass a GimpProgress to all PDB wrappers and
all plug-ins.
* app/plug-in/plug-in.[ch]
* app/plug-in/plug-ins.c
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-progress.c: handle the case there the
plug-in was crated with a progress as well as the case where it
wasn't.
* app/app_procs.c
* app/batch.c
* app/xcf/xcf.c
* app/file/file-open.[ch]
* app/file/file-save.[ch]
* app/widgets/gimphelp.c
* app/widgets/gimpbrushselect.c
* app/widgets/gimpfontselect.c
* app/widgets/gimpgradientselect.c
* app/widgets/gimppaletteselect.c
* app/widgets/gimppatternselect.c: changed accordingly.
* app/core/gimpimagefile.[ch]
* app/display/gimpdisplayshell-dnd.c
* app/gui/file-open-dialog.c
* app/gui/file-open-location-dialog.c
* app/gui/file-save-dialog.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimptoolbox-dnd.c: pass a GimpProgress to all file
related functions. Embed the progress in the file dialog where
possible.
* app/core/gimpdrawable-blend.[ch]
* app/core/gimpdrawable-transform.[ch]
* app/core/gimpimage-convert.[ch]
* app/core/gimpimage-flip.[ch]
* app/core/gimpimage-resize.[ch]
* app/core/gimpimage-rotate.[ch]
* app/core/gimpimage-scale.[ch]
* app/core/gimpitem-linked.[ch]
* app/core/gimpitem.[ch]
* app/core/gimpchannel.c
* app/core/gimpdrawable.c
* app/core/gimplayer.c
* app/core/gimpselection.c
* app/vectors/gimpvectors.c: replaced callback/data by GimpProgress.
* app/tools/gimpblendtool.c
* app/tools/gimptransformtool.c
* app/gui/convert-dialog.c
* app/actions/documents-commands.c
* app/actions/file-commands.c
* app/actions/image-commands.c
* app/actions/layers-commands.c
* app/actions/plug-in-commands.c
* app/actions/vectors-commands.c
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/layer.pdb: changed callers accordingly.
* app/pdb/*_cmds.c: regenerated.
2004-07-19 Michael Natterer <mitch@gimp.org>
* app/gui/file-open-location-dialog.c
(file_open_location_dialog_show): added the "web" icon left of
label & entry.
2004-06-03 Sven Neumann <sven@gimp.org>
* app/gui/file-open-location-dialog.c
(file_open_location_completion): check for NULL pointer before
passing it to g_utf8_normalize(). Just a workaround for a problem
in GimpContainerView.
2004-05-31 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontainerentry.[ch]: export the column enum.
* app/gui/file-open-location-dialog.c: use a GimpContainerEntry
on the documents list.