Commit Graph

46 Commits

Author SHA1 Message Date
Jehan 231ca0c505 Issue #9994: do not call g_file_info_get_is_hidden() (and others) directly.
This is not the main reason for the specific output in #9994. These ones are
more probably because of similar usage in GTK (which updated its own calls to
g_file_info_get_is_hidden|backup() in version 3.24.38). But we should likely
also update the various calls we have to use the generic
g_file_info_get_attribute_*() variants.

To be fair, it is unclear to me when we can be sure that an attribute is set.
For instance, when we call g_file_enumerate_children() or g_file_query_info()
with specific attributes, docs say that it is still possible for these
attributes to not be set. So I assume it means we should never use direct
accessor functions.

The only exception is that I didn't remove usage of g_file_info_get_name(),
since its docs says:

> * Gets a display name for a file. This is guaranteed to always be set.

Even though it also says just after:

> * It is an error to call this if the #GFileInfo does not contain
> * %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME.

Which is very contradictory. But assuming that this error warning was
over-zealous documentation, I kept the direct accessors since they are supposed
to be slightly more optimized (still according to in-code documentation) so
let's priorize them when we know they are set for sure.
2023-09-19 15:34:48 +02:00
Niels De Graef a4c3eacc02 libgimpmodule: Convert ModuleDB to GListModel
This commit converts `GimpModuleDB` into a `GListModel`. This allows us
to drop quite a bit of custom code to have an adaptive list of modules
by just becoming a `GListModel` implementation.

Next to that, this commit also rewrites `GimpModule` to use the `notify`
signal for its 2 new properties: "auto-load" and "on-disk", rather than
trying to define a custom signal for that. This in turn allows us to use
basic methods like `g_object_bind_property()`.

Finally, the module manager dialog now uses `GtkListBox`, which can
easily bind to that new `GListModel` infrastructure.
2023-05-20 22:15:13 +00:00
Niels De Graef 878804fb01 Cleanup GObject signal marshallers
* Don't generate our own marshallers if they are available in GLib
  already
* Don't set the c_marshaller parameter in `g_signal_new()` if it's a
  default marshaller provided by GLib. See commit message of commit
  39e4aa3c57 on why this is the case.
2020-04-01 21:20:01 +00:00
Michael Natterer 81ff4941a0 libgimpmodule: clean up GimpModule and GimpModuleDB
- make all struct members private
- add accessors
- rename functions
- remove unused API
2019-09-13 13:11:23 +02:00
Niels De Graef 1dda60154c Use "Returns:" to annotate return values
To be able to annotate return values through GObject-introspection, you
need to make sure it is tagged with `Returns:` and not something else.
2019-08-03 07:53:47 +00:00
Michael Natterer 1099d609af libgimpmodule: annotate one function, now warning-free 2019-08-01 10:21:47 +02:00
Ell 3b0040c043 app, libgimp*, modules: don't use g_type_class_add_private() ...
... and G_TYPE_INSTANCE_GET_PRIVATE()

g_type_class_add_private() and G_TYPE_INSTANCE_GET_PRIVATE() were
deprecated in GLib 2.58.  Instead, use
G_DEFINE_[ABSTRACT_]TYPE_WITH_PRIVATE(), and
G_ADD_PRIVATE[_DYNAMIC](), and the implictly-defined
foo_get_instance_private() functions, all of which are available in
the GLib versions we depend on.

This commit only covers types registered using one of the
G_DEFINE_FOO() macros (i.e., most types), but not types with a
custom registration function, of which we still have a few -- GLib
currently only provides a (non-deprecated) public API for adding a
private struct using the G_DEFINE_FOO() macros.

Note that this commit was 99% auto-generated (because I'm not
*that* crazy :), so if there are any style mismatches... we'll have
to live with them for now.
2018-09-18 14:39:56 -04:00
Michael Natterer 5f700549e7 Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
Michael Natterer 58aa0092b9 libgimpmodule: move all GimpModuleDB members to private 2018-05-20 21:06:33 +02:00
Michael Natterer d0608fce22 libgimpmodule: disconnect from the modules' "modified" signal
when GimpModuleDB is finalized.
2014-10-06 20:32:20 +02:00
Michael Natterer cd8fa8cbc3 libgimpmodule: remove obsolete docs from gimp_module_db_load() 2014-08-03 23:09:30 +02:00
Michael Natterer 6209b1f571 libgimpbase, app: move gimp_file_has_extension() to libgimpbase
and use it in GimpModuleDB.
2014-08-03 20:47:37 +02:00
Michael Natterer a0b9e5c702 libgimpmodule, app: port GimpModuleDB to GFileEnumerator
this implies passing the UTF-8 encoded raw module path from gimprc to
gimp_module_db_load() and gimp_module_db_refresh(), which is strictly
speaking an API break, but I seriously doubt that anyone but GIMP is
actually using libgimpmodule.
2014-08-03 18:30:02 +02:00
Michael Natterer 9e265e7855 libgimpmodule: always build the module debug code, just don't call it
It was already rotting and had to be fixed.
2014-08-02 23:47:10 +02:00
Michael Natterer 697572ccc0 app,libgimp*: fix includes to follow our include policy
- 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
2013-10-15 01:58:39 +02:00
Michael Natterer b26430db19 libgimpmodule: fix typo in comment in GimpModuleDB 2012-09-13 09:14:17 +02:00
Michael Natterer fcc0a5a424 libgimpmodule: move docs from templates to inline comments 2010-07-01 22:33:28 +02:00
Michael Natterer d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
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
2009-01-17 22:28:01 +00:00
Michael Natterer 251fbfd8b0 simply check for G_MODULE_SUFFIX and remove utility function
2007-10-18  Michael Natterer  <mitch@gimp.org>

	* libgimpmodule/gimpmoduledb.c (gimp_module_db_module_initialize):
	simply check for G_MODULE_SUFFIX and remove utility function
	is_valid_module_name().


svn path=/trunk/; revision=23876
2007-10-18 15:57:44 +00:00
Sven Neumann 6ebcf700d1 removed erroneous semicolon after G_DEFINE_TYPE macros.
2006-05-15  Sven Neumann  <sven@gimp.org>

	* app/*/*.c:
	* lib*/*.c: removed erroneous semicolon after G_DEFINE_TYPE macros.
2006-05-15 09:46:31 +00:00
Sven Neumann 7ccaa9d587 don't ignore the return value of g_list_remove().
2006-04-10  Sven Neumann  <sven@gimp.org>

	* libgimpmodule/gimpmoduledb.c (gimp_module_db_module_remove_func):
	don't ignore the return value of g_list_remove().
2006-04-10 17:31:37 +00:00
Michael Natterer 33ae55f873 libgimp/*.c libgimpconfig/*.c libgimpmodule/*.c libgimpthumb/*.c port to
2005-12-20  Michael Natterer  <mitch@gimp.org>

	* libgimp/*.c
	* libgimpconfig/*.c
	* libgimpmodule/*.c
	* libgimpthumb/*.c
	* libgimpwidgets/*.c: port to G_DEFINE_TYPE() and friends. Some
	related cleanup.
2005-12-20 20:35:23 +00:00
Sven Neumann 3ca90a182e Use the canonical form for signal names in lots of places (but by far not
2005-05-27  Sven Neumann  <sven@gimp.org>

	* (lots of files): Use the canonical form for signal names in lots
	of places (but by far not all).
2005-05-27 13:05:26 +00:00
Michael Natterer 70ad41f92a converted tabs to spaces, removed unused #if 0'ed prototype and unused
2004-07-29  Michael Natterer  <mitch@gimp.org>

	* libgimpmodule/gimpmoduledb.c: converted tabs to spaces, removed
	unused #if 0'ed prototype and unused #includes, minor cleanups.
2004-07-29 19:22:32 +00:00
Michael Natterer 57911bbcba app/app_procs.c app/errors.c app/main.c app/config/gimpconfigwriter.c
2004-01-23  Michael Natterer  <mitch@gimp.org>

	* app/app_procs.c
	* app/errors.c
	* app/main.c
	* app/config/gimpconfigwriter.c
	* app/core/gimpdata.c
	* app/core/gimpdatafactory.c
	* app/gui/user-install-dialog.c
	* app/plug-in/plug-ins.c
	* app/vectors/gimpvectors-import.c: some more gimp_filename_to_utf8().

	* libgimp/gimp.c
	* libgimpmodule/gimpmodule.c
	* libgimpmodule/gimpmoduledb.c: use it here, too, now that is in
	libgimpbase.
2004-01-23 17:24:44 +00:00
Tor Lillqvist 6ee79a7530 Convert to native encoding (if requested) only after expanding completely.
2004-01-11  Tor Lillqvist  <tml@iki.fi>

	* app/config/gimpconfig-path.c: Convert to native encoding (if
	requested) only after expanding completely. (Mentioned in #130118,
	patch by Sven.)

	* app/base/tile-swap.c
	* app/pdb/image_cmds.c
	* app/plug-in/plug-in.c
	* libgimp/gimp.c
	* libgimpbase/gimpdatafiles.c
	* libgimpbase/gimpenv.c
	* libgimpmodule/gimpmoduledb.c
	* plug-ins/common/bz2.c
	* plug-ins/common/gz.c
	* plug-ins/common/mail.c
	* plug-ins/common/ps.c
	* plug-ins/common/url.c
	* plug-ins/gfig/gfig-preview.c
	* plug-ins/helpbrowser/helpbrowser.c
	* plug-ins/print/print.c
	* plug-ins/script-fu/script-fu-scripts.c
	* tools/pdbgen/pdb/image.pdb: Remove __EMX__ ifdefs. EMX port is
	unmaintained, presumed dead. (#131109)
2004-01-11 21:25:24 +00:00
Sven Neumann e3e56fe478 libgimpbase/gimpdatafiles.[ch] libgimpbase/gimpenv.[ch]
2003-11-23  Sven Neumann  <sven@gimp.org>

	* libgimpbase/gimpdatafiles.[ch]
	* libgimpbase/gimpenv.[ch]
	* libgimpbase/gimputils.c
	* libgimpmodule/gimpmodule.[ch]
	* libgimpmodule/gimpmoduledb.[ch]: use proper LibGIMP headers.
2003-11-23 15:35:27 +00:00
Michael Natterer 0bcda70c66 removed newlines from messages, removed trailing whitespace.
2003-11-15  Michael Natterer  <mitch@gimp.org>

	* libgimpmodule/gimpmodule.c: removed newlines from messages,
	removed trailing whitespace.

	* libgimpmodule/gimpmoduledb.c: removed trailing whitespace.

	* libgimpwidgets/gimpcolorbutton.c: added mnemonics to the
	button's popup menu.

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): added
	mnemonics to the padding button's additional menu items.
2003-11-15 12:36:09 +00:00
Michael Natterer 74710fccf4 changed GimpDatafileLoaderFunc to take a separate "gpointer user_data"
2003-07-02  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpbasetypes.h: changed GimpDatafileLoaderFunc to
	take a separate "gpointer user_data" parameter (passing user_data
	in a struct was a quite nonstandard API design). Made the
	GimpDatafileData pointer const.

	* libgimpbase/gimpdatafiles.[ch]: removed user_data from the
	GimpDatafileData struct and added "const gchar *basename" so we
	don't need to g_path_get_basename() in many callbacks.

	* libgimp/gimpmiscui.[ch]: changed gimp_plug_in_parse_path() to
	gimp_plug_in_get_path() and return the unparsed path.

	* app/core/gimpdatafactory.c
	* app/core/gimpenvirontable.c
	* app/gui/gui.c
	* app/plug-in/plug-ins.c
	* libgimpmodule/gimpmoduledb.c
	* plug-ins/script-fu/script-fu-scripts.c: changed accordingly.

	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/FractalExplorer/FractalExplorer.[ch]
	* plug-ins/FractalExplorer/Globals.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c: use gimp_datafiles_read_directories()
	instead of fiddling with g_dir_open() manually. Random cleanups.
2003-07-02 17:11:00 +00:00
Sven Neumann d26c1ce51b libgimp/gimpui.c libgimp/gimpunit.c libgimpbase/gimpenv.c
2003-02-06  Sven Neumann  <sven@gimp.org>

	* libgimp/gimpui.c
	* libgimp/gimpunit.c
	* libgimpbase/gimpenv.c
	* libgimpmodule/gimpmodule.c
	* libgimpmodule/gimpmoduledb.c
	* libgimpwidgets/gimpchainbutton.c
	* libgimpwidgets/gimpdialog.c
	* libgimpwidgets/gimpfileselection.c
	* libgimpwidgets/gimphelpui.c
	* libgimpwidgets/gimpquerybox.c
	* libgimpwidgets/gimpsizeentry.c
	* libgimpwidgets/gimpunitmenu.c
	* libgimpwidgets/gimpwidgets.c: documentation fixes / improvements.
2003-02-06 21:17:12 +00:00
Manish Singh 1a44f2126c cleanup, removed unecessary G_OBJECT() casts. Should do the same for
2003-01-05  Manish Singh  <yosh@gimp.org>

        * many files in app, modules and libgimp*: cleanup, removed unecessary
        G_OBJECT() casts. Should do the same for plug-ins, when more of them
        get undeprecated.
2003-01-05 22:07:10 +00:00
Michael Natterer b0e77dbfde libgimpmodule/gimpmodule.[ch] added API docs, removed cruft. Fixes bug
2003-01-02  Michael Natterer  <mitch@gimp.org>

	* libgimpmodule/gimpmodule.[ch]
	* libgimpmodule/gimpmoduledb.[ch]: added API docs, removed cruft.
	Fixes bug #5746.
2003-01-02 21:34:35 +00:00
Sven Neumann 2ef9706b1d don't say we'd use MMX if it is disabled.
2002-11-06  Sven Neumann  <sven@gimp.org>

	* app/base/base.c (base_init): don't say we'd use MMX if it is
	disabled.

	* libgimpmodule/gimpmodule.[ch]
	* app/gui/module-browser.c: changed enum values and user-visible
	strings to saner values.

	* libgimpmodule/gimpmoduledb.c
	* plug-ins/tools/tool-safe-mode.c: made them less verbose.
2002-11-06 13:56:37 +00:00
Sven Neumann e4cd5ecdcb libgimpmodule/gimpmodule.c libgimpwidgets/gimpcolorscales.c include
2002-10-29  Sven Neumann  <sven@gimp.org>

	* libgimpmodule/gimpmodule.c
	* libgimpwidgets/gimpcolorscales.c
	* libgimpwidgets/gimpcolorselect.c: include libgimp-intl.h, not
	gimpintl.h since this is in the gimp14-libgimp translation domain.

	* libgimpmodule/gimpmoduledb.c
	* libgimptool/gimptool.c: no need to include intl.h from here, there
	are no translatable message.
2002-10-29 12:09:46 +00:00
Michael Natterer c7ac6aff52 Moved generic datafile loading to LibGimpBase:
2002-10-23  Michael Natterer  <mitch@gimp.org>

	Moved generic datafile loading to LibGimpBase:

	* app/core/gimpdatafiles.[ch]: removed...

	* libgimpbase/gimpdatafiles.[ch]: ...and add here with a changed
	API which requires no more global variables.

	* libgimpbase/Makefile.am
	* libgimpbase/gimpbase.h
	* libgimpbase/gimpbasetypes.h
	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpdatafactory.c
	* app/gui/gui.c
	* app/plug-in/plug-in.c
	* app/plug-in/plug-ins.c
	* app/tools/tools.c: changed accordingly.

	Moved module loading to LibGimpModule:

	* app/core/gimpmodules.c: removed lots of code...

	* libgimpmodule/gimpmoduledb.[ch]: ...and added it here as
	GimpModuleDB object.

	* libgimpmodule/Makefile.am
	* libgimpmodule/gimpmoduletypes.h: changed accordingly.

	* app/core/gimp.[ch]: replaced gimp->modules by gimp->module_db.

	* libgimpmodule/gimpmodule.[ch]: added
	gimp_module_query(). Internal cleanup. Stuff...

	* app/gui/module-browser.c: changed accordingly. Unfinished...

	* app/core/gimpcontainer.c
	* app/core/gimplist.c: reverted the HACKS introduced recently.

	* app/core/gimpobject.[ch]: added gimp_g_object_get_memsize()
	utility function.

	* libgimpproxy/gimpobject.[ch]: regenerated.

	Changed display filter configuration stuff:

	* libgimpwidgets/gimpcolordisplay.[ch]: made the virtual
	configure() function return a GtkWidget instead of opening a
	dialog. Changed configure_cancel() to configure_reset(). Added
	"changed" signal.

	* app/display/gimpdisplayshell-filter-dialog.c: embed the filters'
	config GUI in the dialog. Connect to "changed" and added a "Reset"
	button which resets the filter.

	* modules/cdisplay_gamma.c
	* modules/cdisplay_highcontrast.c: changed accordingly.

	* modules/colorsel_triangle.c
	* modules/colorsel_water.c: minor fixes.

2002-10-23  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/libgimpbase-docs.sgml
	* libgimpbase/libgimpbase-sections.txt
	* libgimpbase/tmpl/gimpbasetypes.sgml
	* libgimpbase/tmpl/gimpdatafiles.sgml: added GimpDatafiles

	* libgimpmodule/libgimpmodule-docs.sgml
	* libgimpmodule/libgimpmodule-sections.txt
	* libgimpmodule/tmpl/gimpmoduledb.sgml: added GimpModuleDB.

	* libgimpwidgets/libgimpwidgets.types: added gimp_dialog_get_type

	* libgimpmodule/tmpl/gimpmodule.sgml
	* libgimpwidgets/tmpl/gimpcolordisplay.sgml
	* libgimpwidgets/tmpl/gimpdialog.sgml: updated.
2002-10-23 14:55:07 +00:00
Michael Natterer 0f77b4228f Makefile.am libgimpmodule/.cvsignore libgimpmodule/Makefile.am
2002-10-21  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* libgimpmodule/.cvsignore
	* libgimpmodule/Makefile.am
	* libgimpmodule/gimpmodule.[ch]
	* libgimpmodule/gimpmodule.def
	* libgimpmodule/gimpmoduletypes.h
	* libgimpmodule/makefile.msc: new library for module loading.

	* configure.in: generate Makefiles for libgimpmodule and its
	devel-docs. Added GMODULE_CFLAGS and GMODULE_LIBS.

	* app/Makefile.am: link the app against it.

	* libgimp/gimpmodule.h
	* app/core/gimpmoduleinfo.[ch]: removed.

	* libgimp/Makefile.am
	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpmodules.c
	* app/gui/module-browser.c: changed accordingly.

	* modules/cdisplay_gamma.c
	* modules/cdisplay_highcontrast.c
	* modules/colorsel_triangle.c
	* modules/colorsel_water.c: #include "libgimpmodule/gimpmodule.h"

2002-10-21  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* libgimpmodule/.cvsignore
	* libgimpmodule/Makefile.am
	* libgimpmodule/libgimpmodule-docs.sgml
	* libgimpmodule/libgimpmodule-sections.txt
	* libgimpmodule/libgimpmodule.types
	* libgimpmodule/tmpl/.cvsignore
	* libgimpmodule/tmpl/gimpmodule.sgml
	* libgimpmodule/tmpl/gimpmoduletypes.sgml: added API docs for the
	new module loading lib.

	* libgimp/tmpl/gimpmodule.sgml: removed.

	* libgimp/libgimp-docs.sgml
	* libgimp/libgimp-sections.txt: changed accordingly.

	* libgimpwidgets/tmpl/gimpcolordisplay.sgml
	* libgimpwidgets/tmpl/gimpcolorselect.sgml
	* libgimpwidgets/tmpl/gimpcolorselector.sgml: updated.

2002-10-21  Michael Natterer  <mitch@gimp.org>

	* POTFILES.in: removed app/core/gimpmoduleinfo.c

2002-10-21  Michael Natterer  <mitch@gimp.org>

	* POTFILES.in: added libgimpmodule/gimpmodule.c
2002-10-21 14:15:02 +00:00
Michael Natterer 4cb04533e4 app/core/gimpmoduleinfo.[ch] separated module query from type registration
2002-10-20  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpmoduleinfo.[ch]
	* libgimp/gimpmodule.h: separated module query from type
	registration by adding a separate "gimp_module_query" function
	which must be implemented by modules. Make local copies of the
	strings returned by the query function.

	* app/core/gimpmodules.c
	* app/gui/module-browser.c: changed accordingly.

	* modules/cdisplay_gamma.c
	* modules/cdisplay_highcontrast.c
	* modules/colorsel_triangle.c
	* modules/colorsel_water.c: added the gimp_module_query() functions.
2002-10-20 12:40:30 +00:00
Michael Natterer d7055a3351 Ported module loading to GTypeModule, getting rid of all own module
2002-10-20  Michael Natterer  <mitch@gimp.org>

	Ported module loading to GTypeModule, getting rid of all own
	module registering/bookkeeping stuff for color selectors and
	display filters. The modules now simply register GimpColorSelector
	and GimpColorDisplay subclasses, the list of registered subclasses
	can then be obtained calling g_type_children() on the abstract
	base classes.

	This is work in progress and just the first working state after I
	started breaking everything...

	* app/gui/color-select.[ch]
	* libgimp/gimpcolordisplay.h
	* libgimp/gimpcolorselector.h: removed.

	* app/gui/Makefile.am
	* libgimp/Makefile.am: changed accordingly.

	* libgimp/gimpmodule.h: massively simplified. All voodoo is gone.

	* libgimpwidgets/gimpcolordisplay.[ch]
	* libgimpwidgets/gimpcolorselector.[ch]: new abstract base classes
	which need to be subclassed by modules.

	* libgimpwidgets/gimpcolorselect.[ch]: the built-in color selector
	from app/gui/color-select.* ported to be a GimpColorSelector
	subclass.

	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpwidgets.h
	* libgimpwidgets/gimpwidgetsmarshal.list
	* libgimpwidgets/gimpwidgetstypes.h: changed accordingly.

	* app/core/gimpmoduleinfo.[ch]: made it a GTypeModule subclass

	* app/core/gimpmodules.c: changed accordingly.

	* app/core/gimpcontainer.c
	* app/core/gimplist.c: HACKED around to allow GimpLists of
	GObjects (not GimpObjects). This is EEKy, so I will either make
	gimp->modules a simple GList and revert this bit of change, or
	allow GObjects all over the place in GimpContainer land...

	* app/display/gimpdisplayshell-filter.[ch]
	* app/gui/color-notebook.c: removed all module stuff and use
	g_type_children() to get the list of available color_selectors
	and display_filters.

	* app/display/gimpdisplayshell-filter-dialog.c
	* app/display/gimpdisplayshell-render.c
	* app/gui/module-browser.c: changed accordingly.

	* app/gui/gui.c: ref the built-in color selector's class before
	the modules are queried so it appears first in the list of
	GimpColorSelector's children.

	* modules/Makefile.am: build the water color selector again.

	* modules/cdisplay_gamma.c
	* modules/cdisplay_highcontrast.c
	* modules/colorsel_triangle.c
	* modules/colorsel_water.c: ported them all to the new API.

	* modules/gimpmodregister.[ch]: removed the old EMX module hack.
2002-10-20 10:14:17 +00:00
Michael Natterer a74a8997b4 devel-docs/Makefile.am new file documenting the core's include policy.
2002-05-03  Michael Natterer  <mitch@gimp.org>

	* devel-docs/Makefile.am
	* devel-docs/includes.txt: new file documenting the core's
	include policy.

	* HACKING: mention it here.

	* libgimptool/gimptooltypes.h: removed GimpToolOptions here.

	* app/core/core-types.h: and added it here. This is a temp hack
	needed because GimpToolInfo needs to know the GimpToolOptions
	type.

	* libgimpproxy/gimpproxytypes.h: regenerated.

	* libgimptool/gimptoolmodule.h: don't include gimptooltypes.h here...
	* libgimptool/gimptoolmodule.c: ...but here.

	* app/config/gimpconfig-params.c: include "libgimpbase/gimpbase.h"
	entirely, not single files from it.

	* app/core/gimp.c
	* app/core/gimpcontext.c
	* app/core/gimpcoreconfig.c
	* app/core/gimpdatafactory.c
	* app/core/gimpdocuments.c
	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-offset.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpdrawable.c
	* app/core/gimpedit.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-guides.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage-projection.c
	* app/core/gimpimage-qmask.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-scale.c
	* app/core/gimpimage.c
	* app/core/gimpitem.c
	* app/core/gimpmodules.c
	* app/core/gimppaintinfo.c
	* app/core/gimpparasite.c
	* app/core/gimppreviewcache.c
	* app/core/gimptoolinfo.c
	* app/core/gimpunit.c: include "core-types.h" and no other types file.

	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.c: include "tools/tools-types.h"
	instead of "libgimptool/gimptooltypes.h", warn about inclusion
	on "gui/gui-types.h"

	* app/file/file-open.c
	* app/file/file-save.c: don't include "libgimptool/gimptooltypes.h".

	* app/gui/about-dialog.c
	* app/gui/brush-select.c
	* app/gui/brushes-commands.c
	* app/gui/color-select.c
	* app/gui/data-commands.c
	* app/gui/device-status-dialog.c
	* app/gui/dialogs.c
	* app/gui/gradients-commands.c
	* app/gui/help-commands.c
	* app/gui/info-window.c
	* app/gui/palettes-commands.c
	* app/gui/patterns-commands.c
	* app/gui/resize-dialog.c
	* app/gui/tips-dialog.c
	* app/gui/tool-options-dialog.c: include "gui-types.h" and no
	other types file.

	* app/paint/gimpairbrush.c
	* app/paint/gimpclone.c
	* app/paint/gimpconvolve.c
	* app/paint/gimpdodgeburn.c
	* app/paint/gimperaser.c
	* app/paint/gimppaintbrush.c
	* app/paint/gimppaintcore-stroke.c
	* app/paint/gimppaintcore.c
	* app/paint/gimppaintoptions.c
	* app/paint/gimppencil.c
	* app/paint/gimpsmudge.c
	* app/paint/paint.c: include "paint-types.h" and no other types file.

	* app/pdb/pdb-types.h: don't include "libgimptool/gimptooltypes.h".

	* app/plug-in/plug-in-progress.c: warn about inclusion of
	"display/display-types.h"

	* app/tools/tools-types.h: include "libgimptool/gimptooltypes.h".

	* app/tools/gimpairbrushtool.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimpdrawtool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpellipseselecttool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimpinktool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppaintbrushtool.c
	* app/tools/gimppainttool.c
	* app/tools/gimppathtool.c
	* app/tools/gimppenciltool.c
	* app/tools/gimpperspectivetool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpselectiontool.c
	* app/tools/gimpsheartool.c
	* app/tools/gimpsmudgetool.c
	* app/tools/gimptexttool.c
	* app/tools/gimpthresholdtool.c
	* app/tools/gimptoolcontrol.c
	* app/tools/gimptoolcontrol.h
	* app/tools/gimptransformtool.c
	* app/tools/gimpvectortool.c
	* app/tools/tools.c: include "tools-types.h" and no other types file,
	warn about inclusion of "gui/gui-types.h".

	* app/widgets/gimpcolorpanel.c
	* app/widgets/gimptoolbox-color-area.c: warn about inclusion of
	"gui/gui-types.h".

	* app/xcf/xcf-load.c
	* app/xcf/xcf.c: don't include "libgimptool/gimptooltypes.h".

	Split tool-safe-mode up in two files, one including libgimpproxy,
	one libgimp.

	* plug-ins/tools/Makefile.am
	* plug-ins/tools/tool-safe-mode-plug-in.[ch]: new files including
	libgimp/ stuff only.

	* plug-ins/tools/tool-safe-mode.[ch]: include libgimpproxy/ and
	libgimptool/ but don't include libgimp/ because of conflicting
	declarations.

	Unrelated:

	* app/tools/gimpclonetool.c: create the clone core so we don't crash.

	* app/gui/file-open-dialog.c: changed the way we create previews
	so that only out-of-date previews are created on a click in the
	preview area. Unconditional creation can still be forced by
	<Ctrl>+click. Changed the tooltip to document this.
2002-05-03 12:45:22 +00:00
Nate Summers 69ccb4d370 massive tool plugin changes 2002-03-29 03:50:29 +00:00
Sven Neumann fe2c9e8bbf app/app_procs.c app/base/temp-buf.c app/core/gimpmodules.c
2002-02-18  Sven Neumann  <sven@gimp.org>

	* app/app_procs.c
	* app/base/temp-buf.c
	* app/core/gimpmodules.c
	* app/plug-in/plug-in.c
	* libgimpbase/gimpenv.c
	* libgimpwidgets/gimpfileselection.c
	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/FractalExplorer/FractalExplorer.c
	* plug-ins/flame/flame.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c
	* plug-ins/gimpressionist/gimpressionist.[ch]: use g_file_test()
	instead of stat() whereever possible. Improves code readability.
2002-02-18 14:34:50 +00:00
Michael Natterer c1f00274b4 app/core/gimp.c app/core/gimpdocuments.c app/core/gimpmodules.c fixed some
2002-01-31  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.c
	* app/core/gimpdocuments.c
	* app/core/gimpmodules.c
	* app/core/gimppalette.c: fixed some get_memsize()
	implementations, give useful names to some global objects so the
	new mem profile of "the_gimp" looks nicer.

	* app/gui/menus.c
	* app/gui/commands.[ch]: added a "Debug" menu to the toolbox,
	offer a mem profile of the global "Gimp" instance.
2002-01-31 18:02:38 +00:00
Rebecca Walter 57c23b69e0 app/core/gimpedit.c app/core/gimpimagefile.c app/core/gimpmoduleinfo.c
2001-11-20  Rebecca Walter <rjp@mail.tele.dk>

	* app/core/gimpedit.c
	* app/core/gimpimagefile.c
	* app/core/gimpmoduleinfo.c
	* app/core/gimpmodules.c
	* app/core/gimppalette.c
	* app/core/gimppattern.c: More of the extensive proofing. Fun fun fun!
2001-11-20 15:07:45 +00:00
Michael Natterer 625b5c716c put a g_object_ref() on a different line.
2001-11-20  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.c: put a g_object_ref() on a different line.

	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpmodules.c: ne need to #include "core/..." here.

	* app/display/gimpdisplay-handlers.c: added debugging output
	because we have an image refcounting problem :(

	* app/display/gimpdisplayshell-handlers.c: fixed a signal
	disconnection.

	* app/tools/gimpbezierselecttool.[ch]
	* app/tools/gimpblendtool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpellipseselecttool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimpsmudgetool.c: get the tool's options via
	tool->tool_info->tool_options, not from the local statis pointer.
	Some minor cleanups & function reordering.

	* app/widgets/gimpdockbook.c: return TRUE from the notebook tabs'
	"button_press" handler, connect DND before cnnecting to
	"button_press" because we now stop it's emission.
2001-11-20 13:53:21 +00:00
Michael Natterer cc83594bf2 link the app in a different order as some init functions are called from
2001-10-19  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am: link the app in a different order as some init
	functions are called from core/gimp.c instead of app_procs.c now.

	* app/app_procs.[ch]: made app_init_update_status() private and
	pass it as callback to various init functions.

	* app/plug_in.[ch]: plug_in_init() take "gimp" and "status_callback"
	parameters.

	* app/undo.c: use "gimage->gimp" instead of "the_gimp", don't
	include "app_procs.h".

	* app/core/core-types.h: added "GimpInitStatusFunc" typedef.

	* app/core/gimp.[ch]: gimp_initialize() and gimp_restore() now
	take a "status_callback" as parameter. Don't include "app_procs.h".

	* app/core/gimpmodules.c: putting the modules in a strong
	container was a bad idea because it may be impossible to finalize
	a GimpModuleInfo object belonging to a stalled module.

	* app/gui/color-area.c: use G_N_ELEMENTS().

	* app/gui/session.c: don't call app_init_update_status() and don't
	include "app_procs.h" because this happens after the splash is
	hidden.

	* tools/pdbgen/app.pl
	* app/pdb/internal_procs.[ch]: pass a "status_callback" to
	internal_procs_init(), don't include "app_procs.h".

	* plug-ins/Makefile.am: build gfig, gimpressionist and imagemap
	again.

	* plug-ins/MapObject/mapobject_preview.c
	* plug-ins/MapObject/mapobject_ui.c: s/gdk_image_unref/g_object_unref/

	* plug-ins/gfig/gfig.c
	* plug-ins/gimpressionist/brush.c
	* plug-ins/gimpressionist/gimpressionist.c
	* plug-ins/gimpressionist/ppmtool.[ch]
	* plug-ins/gimpressionist/presets.c
	* plug-ins/imagemap/imap_browse.[ch]
	* plug-ins/imagemap/imap_csim.y
	* plug-ins/imagemap/imap_edit_area_info.c
	* plug-ins/imagemap/imap_file.c
	* plug-ins/imagemap/imap_main.c
	* plug-ins/imagemap/imap_menu.c
	* plug-ins/imagemap/imap_polygon.c
	* plug-ins/imagemap/imap_popup.c
	* plug-ins/imagemap/imap_preferences.c
	* plug-ins/imagemap/imap_taglist.c
	* plug-ins/imagemap/imap_tools.c: ported to current GLib/Gtk+.

	* plug-ins/gap/gap_arr_dialog.c
	* plug-ins/gap/gap_decode_xanim.c
	* plug-ins/gap/gap_filter_foreach.c
	* plug-ins/gap/gap_filter_main.c
	* plug-ins/gap/gap_frontends_main.c
	* plug-ins/gap/gap_lib.c
	* plug-ins/gap/gap_main.c
	* plug-ins/gap/gap_mod_layer.c
	* plug-ins/gap/gap_mov_dialog.c
	* plug-ins/gap/gap_navigator_dialog.c
	* plug-ins/gap/resize.c: half-way fixed this one too but I'm not
	willing to fix tons of duplicated and deprecated app/ code...
2001-10-19 16:41:09 +00:00
Michael Natterer be86df2a69 app/Makefile.am removed.
2001-10-18  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/module_db.[ch]: removed.

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpmoduleinfo.[ch]
	* app/core/gimpmodules.[ch]: new files containing the module info
	object and the module list handling code.

	* app/gui/Makefile.am
	* app/gui/module-browser.[ch]: new files containing the GUI.

	* app/xcf/xcf.[ch]: pass a "Gimp" pointer to xcf_exit().

	* app/core/gimp.[ch]: handle modules and xcf init/exit here too.

	* app/app_procs.c: don't touch the modules and xcf stuff any more.

	* app/gui/dialogs-constructors.c: changed accordingly.

2001-10-18  Michael Natterer  <mitch@gimp.org>

	* POTFILES.in: module_db.c has moved.
2001-10-18 17:27:36 +00:00