2007-08-11 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimpbaseenums.[ch]
* libgimpbase/gimpenv.[ch]: changed enum GimpUserDirectory and API
of gimp_user_directory() so that g_get_user_special_dir() can be
used instead as soon as we depend on GLib 2.14.
* tools/pdbgen/enums.pl: regenerated.
* app/widgets/gimpfiledialog.c
* plug-ins/pygimp/gimpmodule.c: changed accordingly.
svn path=/trunk/; revision=23212
2007-05-16 Sven Neumann <sven@gimp.org>
* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_sensitive):
apply sensitivity state to the Cancel button as well.
(gimp_file_dialog_progress_start): make the Cancel button sensitive
if the progress is cancelable.
* app/widgets/gimpthumbbox.c (gimp_thumb_box_progress_start): if
embedded in a GimpFileDialog, make its Cancel button sensitive if
the progress is cancelable
svn path=/trunk/; revision=22506
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-02-18 Michael Natterer <mitch@gimp.org>
* app/plug-in/gimppluginprocedure.[ch]: add "locale_domain" and
"help_domain" members and APIs to get/set them. Removed locale and
help domain parameters from all other functions.
* app/plug-in/gimpplugin.c (gimp_plug_in_add_temp_proc)
* app/plug-in/plug-in-def.c (plug_in_def_add_procedure)
(plug_in_def_set_locale_domain_name)
(plug_in_def_set_help_domain_name): make sure all plug-in procedures
have locale and help domains.
* app/plug-in/gimppluginmanager.[ch]: removed function
gimp_plug_in_manager_get_label().
* app/plug-in/gimppluginmanager.c
* app/plug-in/gimpplugin-cleanup.c
* app/actions/plug-in-actions.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimpfileprocview.c
* app/widgets/gimpimagepropview.c: changed (simplified) accordingly.
svn path=/trunk/; revision=21937
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-13 Sven Neumann <sven@gimp.org>
* app/widgets/gimpfiledialog.c
* app/widgets/gimpthumbbox.[ch]: save some string copies by
changing gimp_thumb_box_set_uri() to gimp_thumb_box_take_uri().
svn path=/trunk/; revision=21701
2007-01-04 Tor Lillqvist <tml@novell.com>
* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_image): Add
workaround for a problem that occurs on Win32 when one has opened
an image from the root of a drive letter and then does Save As.
svn path=/trunk/; revision=21639
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-09-11 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginmanager.[ch]: added a convenience function
to retrieve the translated procedure label.
* app/widgets/gimpfiledialog.c
* app/widgets/gimpimagepropview.c: use it.
2006-08-29 Michael Natterer <mitch@gimp.org>
Changed GimpViewable preview rendering to have a context to get
FG/BG/whatever from. Use the context to enable dynamic FG/BG
colors in gradients. Fixes bug #127676 and bug #352214. Addresses
bug #128367 (doesn't fix it because there's no loading/saving and
no GUI yet).
* app/core/core-enums.[ch]: added enum GimpGradientColor to enable
specifying gradient colors in terms of foreground and background.
* app/core/gimpgradient.[ch]: added color_type members to the
GimpGradientSegment struct and honor them in
gimp_gradient_get_color_at(). Added GimpContext parameters to all
functions which finally call get_color_at().
* app/core/gimp-gradients.c: use the new method to implement the
builtin gradients.
* app/core/gimpviewable.[ch]: added GimpContext parameters to all
get_preview() and get_pixbuf() functions.
* app/core/gimpbrush.c
* app/core/gimpbuffer.c
* app/core/gimpdrawable-preview.[ch]
* app/core/gimpgradient.c
* app/core/gimpimage-preview.[ch]
* app/core/gimpimagefile.c
* app/core/gimppalette.c
* app/core/gimppattern.c
* app/core/gimpundo.[ch]
* app/text/gimpfont.c
* app/vectors/gimpvectors-preview.[ch]: changed ::get_preview()
and ::get_pixbuf() implementations accordingly.
* app/core/gimpdrawable-blend.c
* app/core/gimppalette-import.[ch]
* app/dialogs/dialogs-constructors.c
* app/dialogs/palette-import-dialog.c
* app/dialogs/resize-dialog.c
* app/display/gimpdisplayshell-layer-select.c
* app/display/gimpdisplayshell.c
* app/display/gimpnavigationeditor.c
* app/paint/gimppaintoptions.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimptexttool.c
* app/actions/gradient-editor-commands.c
* app/widgets/gimpaction.c
* app/widgets/gimpbrusheditor.[ch]
* app/widgets/gimpbufferview.c
* app/widgets/gimpcellrendererviewable.c
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpclipboard.c
* app/widgets/gimpcoloreditor.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainerbox.c
* app/widgets/gimpcontainercombobox.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpcontainerentry.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.[ch]
* app/widgets/gimpdataeditor.[ch]
* app/widgets/gimpdevicestatus.c
* app/widgets/gimpdnd.[ch]
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimpgradienteditor.[ch]
* app/widgets/gimpgradientselect.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimppaletteeditor.[ch]
* app/widgets/gimppropwidgets.[ch]
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpthumbbox.[ch]
* app/widgets/gimptoolbox-image-area.c
* app/widgets/gimptoolbox-indicator-area.c
* app/widgets/gimptooloptionseditor.c
* app/widgets/gimpundoeditor.c
* app/widgets/gimpvectorstreeview.c
* app/widgets/gimpview-popup.[ch]
* app/widgets/gimpview.[ch]
* app/widgets/gimpviewablebutton.c
* app/widgets/gimpviewabledialog.c
* app/widgets/gimpviewrenderer.[ch]
* app/widgets/gimpviewrenderer-frame.c
* app/widgets/gimpviewrendererbrush.c
* app/widgets/gimpviewrendererbuffer.c
* app/widgets/gimpviewrendererdrawable.c
* app/widgets/gimpviewrenderergradient.c
* app/widgets/gimpviewrendererimage.c
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/gradient.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/image.pdb: added tons of GimpContext members
and parameters, implement GimpDocked::set_context() in many
widgets. Pass these locally remembered contexts to GimpViewable
functions. Did some minor cleanups on the way. There are still
some minor FIXMEs around where the code uses a NULL context (which
is allowed by the APIs)
* app/pdb/drawable_cmds.c
* app/pdb/gradient_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/image_cmds.c: regenerated.
2006-08-29 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-duplicate.c (gimp_image_duplicate)
* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_image): a
somewhat hackish implementation of what's suggested in bug #353246.
Let the save dialog default to the folder of the duplicated image.
2006-07-18 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_image): use
file_utils_uri_display_basename() instead of g_path_get_basename()
to get an uri's basename. Fixes bug #347544.
2006-06-16 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_image):
always call gtk_file_chooser_set_current_folder_uri() and
gtk_file_chooser_set_current_name() instead of
gtk_file_chooser_set_uri(), since the latter only works if the
file exists and its return value is bogus. Fixes bug #343284.
2006-05-08 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpfiledialog.c (gimp_file_dialog_new): set the
alternative button order here...
* app/dialogs/file-open-dialog.c (file_open_dialog_new)
* app/dialogs/file-save-dialog.c (file_save_dialog_new): ...instead
of here.
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.
2005-12-28 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpfiledialog.[ch]: set the new
"do-overwrite-confirmation" property on GtkFileChooser. Removed
gimp_file_overwrite_dialog().
* app/dialogs/file-save-dialog.c (file_save_dialog_check_uri):
removed broken code which tried to figure if a file exists.
Fixes bug #309729.
* app/widgets/gimpdnd-xds.c: added gimp_file_overwrite_dialog()
here as private utility function.
2005-09-28 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpprogressbox.c
* plug-ins/script-fu/script-fu-interface.c: made progress bars HIG
compliant (with italic label below).
* app/widgets/gimpfiledialog.[ch]: use a GimpProgressBox intead of
implementing the progress bar again.
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-08-20 Sven Neumann <sven@gimp.org>
* app/widgets/gimpfiledialog.c (gimp_file_dialog_proc_changed):
when looking for the file extension, only look at the part after
the last directory separator.
2005-07-08 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpfiledialog.c (gimp_file_dialog_new): enable
remote files: set local_only to FALSE if the PDB has
"file_uri_load/save" procedures (yes, this is questionable).
2005-03-25 Sven Neumann <sven@gimp.org>
* app/dialogs/file-save-dialog.c
* app/widgets/gimpfiledialog.[ch]: moved overwrite confirmation
dialog to app/widgets.
* app/widgets/gimpdnd-xds.c: set "Untitled.xcf" as default name
for untitled images; ask for confirmation before overwriting a
local file.
2005-02-12 Sven Neumann <sven@gimp.org>
* app/core/gimpprogress.[ch]: added GimpProgress::pulse.
* app/display/gimpdisplay.c
* app/display/gimpstatusbar.c
* app/widgets/gimpfiledialog.c
* app/widgets/gimpprogressbox.c
* app/widgets/gimpprogressdialog.c
* app/widgets/gimpthumbbox.c: implement it in the classes that
implement the GimpProgress interface.
* app/plug-in/plug-in-progress.[ch]: allow plug-ins to pulse their
progress.
* tools/pdbgen/pdb/progress.pdb: added a procedure for the new
functionality.
* app/pdb/internal_procs.c
* app/pdb/progress_cmds.c
* libgimp/gimpprogress_pdb.[ch]: regenerated.
* libgimp/gimp.def: updated.
2005-02-07 Sven Neumann <sven@gimp.org>
* app/widgets/gimpfiledialog.c (gimp_file_dialog_add_filters): add
an "All Images" filter and select it by default.
2005-02-07 Sven Neumann <sven@gimp.org>
* app/core/gimpimagefile.c (gimp_imagefile_get_desc_string):
changed "Remote Image" to "Remote File". The state of the
thumbnail doesn't tell us if this is an image file at all.
* app/widgets/gimpthumbbox.c: don't auto-thumbnail remote files.
* libgimpthumb/gimpthumb-utils.[ch]
* libgimpthumb/gimpthumbnail.c: do the same workaround for UNC
paths as in file_utils_filename_from_uri().
2005-01-13 Michael Natterer <mitch@gimp.org>
Made the file open and save dialogs use the last used folder
instead of defaulting to current directory. Fixes bug #162385.
* app/widgets/gimpfiledialog.[ch] (gimp_file_dialog_set_uri):
removed this function because it had no functionality except
creating usability problems.
* app/actions/file-commands.c: use gtk_file_chooser_set_uri()
instead but *only* if we already have an uri from an alread open
image or the document hinstory.
* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_image): set
the file chooser's uri only if we have an uri from the image
itself. Leave the current folder untouched otherwise and just set
the current name (e.g. "Untitled").
* app/dialogs/file-save-dialog.c (file_save_dialog_save_image): on
successful save, remember the used uri by attaching it to the
"gimp" instance.
(file_save_dialog_new): set the last saved uri's folder on the
newly created file save dialog.
2004-11-18 Michael Natterer <mitch@gimp.org>
* plug-ins/common/compressor.c (compressors): added back the
.xcf.gz and .xcf.bz2 extensions because they are the only way
to figure the special nature of this plug-in's extensions.
* app/widgets/gimpfileprocview.[ch]: keep a list of "meta
extensions" (extensions which have a '.' themselves).
* app/widgets/gimpfiledialog.c (gimp_file_dialog_proc_changed):
try to replace the whole extension if the last extension is one of
the meta extensions kept by GimpFileProcView. Fixes bug #158377.