Commit Graph

34 Commits

Author SHA1 Message Date
Jehan db00616888 libgimpbase: add gimp_installation_directory_file().
Fix previous commit.
Ahahah! Mitch, you didn't test your code before pushing! Bad boy! :P
2019-02-02 18:51:51 +01:00
Michael Natterer a29f73bd9a Issue #2224 - Use the "Swap folder" setting for the GEGL cache
Move swap/cache and temporary files out the GIMP user config dir:

libgimpbase: add gimp_cache_directory() and gimp_temp_directory()
which return the new default values inside XDG_CACHE_HOME and the
system temp directory. Like all directories from gimpenv.[ch] the
values can be overridden by environment variables. Improve API docs
for all functions returning directories.

Add new config file substitutions ${gimp_cache_dir} and
${gimp_temp_dir}.

Document all the new stuff in the gimp and gimprc manpages.

app: default "swap-path" and "temp-path" to the new config file
substitutions. On startup and config changes, make sure that the swap
and temp directories actually exist.

In the preferences dialog, add reset buttons to all file path pages.
2018-11-18 18:10:34 +01: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 1671da428c libgimpbase: remove almost all deprecated compat cruft
Keep infrastructure for compat enums around because we will
mose definitely need it again.
2018-05-20 21:06:29 +02:00
Michael Natterer b03d69dd40 libgimpbase, app: add variants of gimp_$foo_directory() which return GFiles
gimp_directory_file(), gimp_data_directory_file() etc. The new
functions take a variable list of path elements to the file,
the list has to be NULL-terminated. Remove the newly added
gimp_personal_rc_gfile(). Start using the new functions in app/.
2014-07-28 02:04:01 +02:00
Michael Natterer 78f797a3e4 libgimpbase: add gimp_personal_rc_gfile() 2014-07-01 16:06:51 +02:00
Michael Natterer 010b28f39e libgimpbase: add gimp_installation_directory()
which returns the toplevel directory of the running GIMP installation.
2012-05-23 11:49:07 +02:00
Michael Natterer 0d481702c7 libgimp*: add GIMP_DEPRECATED macros using G_DEPRECATED
and start using them instead of GIMP_DISABLE_DEPRECATED where possible.
2012-05-03 00:54:21 +02:00
Michael Natterer a1b69f8f9e libgimpbase: fix Win32 import/export of the gimp_foo_version variables
My last "cleanup" of this stuff was obviously completely bogus.
2011-08-29 20:29:27 +02:00
Michael Natterer 2337d44018 libgimpbase: s/LIBGIMP_COMPILATION/GIMP_BASE_COMPILATION/ in gimpenv.*
because the latter is now generically defined for the new include guards.
2011-04-28 19:34:22 +02:00
Michael Natterer 844df2b4df libgimp*: add guards that #error out if individual files are included
This only helps to maintain proper includes in app/ and shouldn't
affect plug-ins at all, because these are supposed to only include the
main headers from libgimp/ since the beginning of time.

The gimpfootypes.h files do not have these guards, so we can continue
to maintain app/'s include policy that is very likely to error out if
wrong things are included.
2011-04-28 14:30:41 +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 36bda892a9 libgimpbase/Makefile.am removed.
2007-10-31  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/Makefile.am
	* libgimpbase/xdg-user-dir.[ch]: removed.

	* libgimpbase/gimpbaseenums.[ch]: deprecate enum GimpUserDirectory.

	* libgimpbase/gimpenv.[ch]: deprecate gimp_user_directory() and make
	the implementation call g_get_user_special_dir().

	* libgimp/Makefile.am: #undef GIMP_DISABLE_DEPRECATED in gimpenums.c

	* app/widgets/gimpfiledialog.c: use g_get_user_special_dir() instead.

	* plug-ins/pygimp/gimpmodule.c: #undef GIMP_DISABLE_DEPRECATED.


svn path=/trunk/; revision=24018
2007-10-31 13:09:46 +00:00
Michael Natterer 0d17856e58 libgimpbase/gimpbaseenums.[ch] changed enum GimpUserDirectory and API of
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-08-11 17:15:52 +00:00
Sven Neumann 6c285197d4 app/file/Makefile.am removed here ...
2007-05-13  Sven Neumann  <sven@gimp.org>

	* app/file/Makefile.am
	* app/file/xdg-user-dir.c[ch]: removed here ...

	* libgimpbase/Makefile.am
	* libgimpbase/xdg-user-dir.[ch]: ... and moved to libgimpbase.

	* libgimpbase/gimpbaseenums.[ch]: added GimpUserDirectory enum.

	* libgimpbase/gimpenv.[ch]: added new function to identify 
special
	user folders. Added Win32 specific code and use 
xdg_user_dir_lookup()
	on other platforms.

	* libgimpbase/gimpbase.def: regenerated.


svn path=/trunk/; revision=22475
2007-05-13 16:31:14 +00:00
Michael Natterer 9b9542a610 removed gimp_foo_version variables.
2006-11-28  Michael Natterer  <mitch@gimp.org>

	* libgimp/gimp.[ch]: removed gimp_foo_version variables.

	* libgimpbase/gimpenv.[ch]: added them here.

	* app/sanity.c: added sanity_check_gimp() and abort if the libgimp
	version gimp is compiled with is not exactly the same we encounter
	at runtime.
2006-11-28 11:57:05 +00:00
Sven Neumann bdd3c6444b libgimpbase/gimpenv.h libgimpbase/gimpmemsize.h
2006-07-05  Sven Neumann  <sven@gimp.org>

	* libgimpbase/gimpenv.h
	* libgimpbase/gimpmemsize.h
	* libgimpbase/gimpparasiteio.[ch]
	* libgimpbase/gimputils.h
	* libgimpconfig/gimpconfig-path.[ch]
	* libgimpthumb/gimpthumb-utils.[ch]: marked some function with
	G_GNUC_MALLOC.

	* plug-ins/common/dicom.c: use g_date_set_time_t() instead of the
	deprecated g_date_set_time().
2006-07-05 13:55:11 +00:00
Sven Neumann f2df31a50e converted tabs to spaces.
2006-04-12  Sven Neumann  <sven@gimp.org>

	* libgimp*/gimp*.[ch]: converted tabs to spaces.
2006-04-12 10:53:28 +00:00
Sven Neumann 493cd140f8 libgimpbase/Makefile.am libgimpbase/libgimpbase-docs.sgml do not generate
2005-12-14  Sven Neumann  <sven@gimp.org>

	* libgimpbase/Makefile.am
	* libgimpbase/libgimpbase-docs.sgml
	* libgimpbase/libgimpbase-sections.txt: do not generate API docs
	for the private wire protocol API.

	* libgimp/libgimp-sections.txt: added new path API.

	* libgimpbase/tmpl/gimpprotocol.sgml
	* libgimpbase/tmpl/gimpwire.sgml: removed from CVS.

	* libgimp/tmpl/gimppaths.sgml
	* libgimpbase/tmpl/gimpenv.sgml: regenerated.
2005-12-14 13:36:12 +00:00
Sven Neumann 39e866d9c0 Added support for binary relocation by means of binreloc, largely based on
2005-11-06  Sven Neumann  <sven@gimp.org>

	Added support for binary relocation by means of binreloc, largely
	based on a patch by Hongli Lai:

	* m4macros/Makefile.am
	* m4macros/binreloc.m4: new file providing a macro to check for
	binreloc support.

	* acinclude.m4
	* configure.in: use the macro.

	* libgimpbase/Makefile.am
	* libgimpbase/gimpreloc.[ch]: new files providing binreloc support
	on Linux.

	* libgimpbase/gimpenv.[ch]: use binreloc, provide a function to
	initialize the environment machinery.

	* libgimpbase/gimpbase.def: updated.

	* app/Makefile.am: fiddle with the LDFLAGS for binreloc.

	* app/main.c (main): gimp_env_init(FALSE).

	* libgimp/gimp.c (gimp_main): gimp_env_init(TRUE).
2005-11-06 01:06:41 +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
Sven Neumann 892d319eae added -lX11 to LIBXMU since GTK_LIBS doesn't provide it for us anymore
2002-05-30  Sven Neumann  <sven@gimp.org>

	* configure.in: added -lX11 to LIBXMU since GTK_LIBS doesn't provide
	it for us anymore (reported by Tomas Ogren).

	* libgimpbase/gimpenv.[ch]: declare gimp_path_runtime_fix() static.

	* app/base/Makefile.am: conditionally build detect-mmx.S to avoid
	warnings about empty object files (reported by Tomas Ogren).

	* plug-ins/Makefile.am: commented out plugin-helper since it's just
	too broken to be distributed.

	* themes/Default/images/Makefile.am: echo -n is not portable and not
	needed, so removed it (reported by Tomas Ogren).
2002-05-30 02:13:11 +00:00
Hans Breuer 8522a8470d add appconfig.lib. Statically link libgimptool/gimptool.lib.
2001-05-11  Hans Breuer  <hans@breuer.org>

	* app/makefile.msc : add appconfig.lib. Statically
	link libgimptool/gimptool.lib.

	* app/main.c : use gimp_locale_directory()

	* app/config/gimpconfig-utils.c : <string.h>

	* app/config/makefile.msc : add gimpscanner

	* app/core/gimpimagefile.c : some G_OS_WIN32 mess to get
	mkdir() and chmod()

	* app/display/gimpdisplayshell.c
	  app/plug-in/plug-in-progrss.c
	  app/tool/gimpcolorpickertool.c
	  app/tool/gimpcroptool.c
	  app/tool/gimpmeasuretool.c
	  app/tool/gimpperspectivetool.c
	  app/tool/gimprotatetool.c
	  app/tool/gimpscaletool.c
	  app/tool/gimpsheartool.c
	  app/tool/gimptransformtool.c
	  app/widgets/gimpcolormapeditor.c
	  app/widgets/gimpcolorpanel.c
	  app/widgets/gimptoolbox-color-area.c
	add #ifdef __GNUC__ to avoid breaking on non standard
	pragma #warning

	* app/tools/makefile.msc : add gimptoolcontrol remove
	tools-enum

	* app/tools/tool_manager.c : need to include
	libgimptool/gimptoolcontrol.h after core includes
	otherwise we would compile without prototypes or
	break miserably

	* app/gui/plug-in-menus.c : replace LOCALEDIR with
	gimp_locale_directory ()

	* app/gui/preferences-dialog.c (prefs_notebook_append_page) :
	only try to gdk_pixbuf_new_from_file() with a valid filename.
	It should simply return NULL otherwise, but fails if the
	filename is an empty string.

	* app/paint-funcs/makefile.msc : add -FImsvc_recommended_pragmas.h

	* app/widgets/gimpcolormapeditor.c : the 'row'
	allocated needs to be 'xn * cellsize * 2' (to avoid
	accessing unowned memory) not only width, which has
	become allocation.width by someone commenting out
	the correct size calculation

	* app/widgets/gimpdialogfactory.c : varargs to macros
	are GCCism or at least non standard. #define DEBUG
	to g_print or nothing - without arguments - does fix
	it somewhat dirty as the compiler needs to tolerate
	the '(blah, foo, bar);' statement than

	* app/widgets/makefile.msc : updated

	* app/xcf/makefile.msc : add -FImsvc_recommended_pragmas.h

	* etc/gimprc.win32 : use ';' to separate theme-path

	* libgimpbase/gimpenv.c : #include <stdio.h>
	for sprintf()

	* app/widgets/gimpdnd.c (gimp_dnd_set_file_data) :
	the passed in vals chunk is not always null-terminated
	(at least not on win32). Use the length parameter too
	to avoid reading junk filenames.

	* libgimp/gimp.def : export gimp_image_get_name()

	* libgimpbase/gimpbase.def : export gimp_locale_directory()
	* libgimpbase/gimpenv.[ch] : added gimp_locale_directory ()

	* libgimpbase/makefile.msc : define DATADIR and SYSCONFDIR
	to empty string to let gimp find its files in the common
	place (win32: relative to the top level gimp dir)

	* plug-ins/common/pixelize.c : <string.h>

	* plug-ins/flame/cmap.c : #include <glib.h> for g_random_int()

	* plug-ins/makefile.msc : -FImsvc_recommended_pragams.h
	and a little hack to give imagemap the prototypes it
	desires without changing the lexed source

	* themes/Default/images/makefile.msc : now added (see below)

	* themes/Default/images/stock-button-reset.png : made it binary
2002-05-10 23:30:09 +00:00
Sven Neumann 3bd3300dea libgimpbase/Makefile.am added new function gimp_plug_in_directory() to
2001-12-10  Sven Neumann  <sven@gimp.org>

	* libgimpbase/Makefile.am
	* libgimpbase/gimpenv.[ch]: added new function gimp_plug_in_directory()
	to retrieve the compile_time defined plug_in directory. Declared some
	functions G_GNUC_CONST and simplified code by introducing a helper
	function.

	* app/config/Makefile.am
	* app/config/gimpcoreconfig.[ch]: started to implement GimpCoreConfig
	derived from GimpBaseConfig.

	* app/config/gimpbaseconfig.[ch]: misc small changes.

	* app/config/gimpconfig-deserialize.c
	(gimp_config_deserialize_properties): return quietly if there are no
	properties.

	* app/config/gimpconfig-substitute.c: more special cases.

	* app/config/test-config.c: test GimpCoreConfig.
2001-12-10 20:43:51 +00:00
Sven Neumann 757017a8e2 bumped version number to 1.3.1. Require Glib/GTK+-1.3.11 and Pango-0.22.
2001-11-23  Sven Neumann  <sven@gimp.org>

	* configure.in: bumped version number to 1.3.1.
	Require Glib/GTK+-1.3.11 and Pango-0.22. Removed GDK_DISABLE_COMPAT_H
	and GTK_DISABLE_COMPAT_H from our default CFLAGS since they don't
	exist any longer.

	* RELEASE-TO-CVS.patch: removed since the glib/gtk+ API is supposed to
	be frozen now.

	* HACKING: removed reference to RELEASE-TO-CVS.patch

	* app/gui/menus.c
	* app/tools/gimptexttool.c: applied RELEASE-TO-CVS.patch to conform
	to the new GTK+/Pango API.

	* app/core/Makefile.am: generate marshallers with gimp_marshal prefix.

	* app/core/gimpmarshal.list: added all marshallers we use.

	* app/core/gimpmarshal.[ch]: regenerated.

	* app/[lots of .c files]: use gimp_marshal_* for all marshallers.

	* data/images/
	* app/app_procs.c
	* app/gui/splash.c:

	* libgimpbase/Makefile.am
	* libgimpbase/gimpbase.h
	* libgimpbase/gimputils.[ch]: removed since they are no longer needed.

	* app/gimprc.c
	* plug-ins/common/ps.c
	* plug-ins/gdyntext/gdyntext.c
	* plug-ins/gdyntext/gdyntextcompat.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c
	* plug-ins/script-fu/script-fu-scripts.c: use glib functions instead
	of gimp_strescape() and gimpstrcompress().

	* cleaned up all header files: use G_BEGIN_DECLS/G_END_DECLS, declared
	all _get_type function as G_GNUC_CONST.

	* tools/pdbgen/enumcode.pl
	* tools/pdbgen/lib.pl: make them generate header files using
	G_BEGIN_DECLS/G_END_DECLS.

	* pixmaps/Makefile.am
	* pixmaps/wilber3.xpm: removed ...
	* data/images/tips_wilber.png: ... and added here as PNG

	* app/gui/tips-dialog.c: load the Wilber on demand using GdkPixbuf.

	* data/images/gimp_splash.ppm: removed ...
	* data/images/gimp_splash.png: ... and added as PNG

	* app/app_procs.c
	* app/gui/splash.[ch]: load the splash image using GdkPixbuf.

	* app/gui/about-dialog.c: sink the GtkPreview.
2001-11-22 23:46:13 +00:00
Michael Natterer 22371de3e7 added a note about apptype.h and about not including headers in headers.
2001-02-14  Michael Natterer  <mitch@gimp.org>

	* HACKING: added a note about apptype.h and about not including
	headers in headers.

	* app/apptypes.h: added GimpTool and BitmapCursor.

	* app/cursorutil.h
	* app/devices.h
	* app/draw_core.h
	* app/tools/color_picker.h
	* app/tools/tool.h
	* app/tools/tool_options.h
	* app/gimpcontext.h: removed includes of "tools/tool.h"

	* app/gimprc.[ch]: indentadion cleanup, added
	"module_db_load_inhibit".

	* app/module_db.c: removed the above variable here.

	* app/gimpdata.[ch]: added a vitrual "duplicate" method.

	* app/gimpbrush.[ch]
	* app/gimpbrushgenerated.[ch]
	* app/gimpbrushpipe.[ch]
	* app/gimpgradient.[ch]
	* app/gimppalette.[ch]
	* app/gimppattern.[ch]: all "load", "new" and "get_standard"
	functions return a GimpData pointer now.

	* app/gimpdatafactory.[ch]: made some stuff const.

	* app/gimpdatafactoryview.c: activate the "duplicate" button and
	set the initial button sensitivity correctly.

	* app/brush_select.c
	* app/gradient_select.c
	* app/pattern_select.c: use the new GimpDataFactoryView.

	* libgimp/Makefile.am: grouped the file to sort out what _may_
	go to subdirs or separate libs.

	* libgimp/gimpenv.[ch]: added many "const".

	* app/app_procs.c
	* app/brush_edit.c
	* app/gimpcontext.c
	* app/gimpdnd.c
	* app/gradient_editor.c
	* app/palette.c
	* app/palette_import.c
	* app/user_install.c: many related changes.

	* libgimpmath/gimpmathtypes.h
	* libgimpmath/gimpvector.[ch]: minor cleanups.

	* plug-ins/script-fu/script-fu.c: gimp_data_directory() is const now.
2001-02-14 14:57:14 +00:00
Sven Neumann 9554632046 Makefile.am configure.in gimp.1.in gimp.spec.in gimprc.5.in user_install
2000-10-14  Sven Neumann  <sven@gimp.org>

	* Makefile.am
	* configure.in
	* gimp.1.in
	* gimp.spec.in
	* gimprc.5.in
	* user_install
	* user_install.bat
	* app/gimprc.c
	* app/user_install.c
	* libgimp/Makefile.am
	* libgimp/gimpenv.[ch]: applied a modified version of
	gimp-che-20001013-2, a patch from Ben Gertzfield <che@debian.org>
	that moves the system-dependant configuration files (gimprc and
	friends) into $prefix/etc/gimp/1.1.
2000-10-14 22:15:11 +00:00
Michael Natterer 804af727f6 app/gimpunit.c all libgimp headers are included via gimp.h or gimpui.h, so
2000-05-31  Michael Natterer  <mitch@gimp.org>

	* app/gimpunit.c
	* libgimp/*: all libgimp headers are included via gimp.h or
	gimpui.h, so include <gtk/gtk.h> there and in the *.c files.
	Various cleanups.
2000-05-30 23:38:46 +00:00
Sven Neumann 2d578df303 excluded gserialize.[ch] from the build
* libgimp/Makefile.am: excluded gserialize.[ch] from the build

* libgimp/*: header cleanup


--Sven
2000-02-26 03:41:06 +00:00
Michael Natterer ed071953b2 fixed a gtk-doc comment.
2000-02-21  Michael Natterer  <mitch@gimp.org>

	* libgimp/gimppixmap.c: fixed a gtk-doc comment.

	* libgimp/gimpenv.[ch]: new functions:

	- gimp_path_parse(): Creates a GList of strings from a searchpath
	  string and performs sanity checks.
	- gimp_path_to_str(): Creates a searchpath string from the list
	  returned by gimp_path_parse().
	- gimp_path_free(): Frees the list returned by gimp_path_parse().
	- gimp_path_get_user_writable_dir(): Returns the first dir in a
	  path where the user has write access. With this function the
	  "Save" dialogs of some plugins always show the plugin's
	  subdirectory of the user's gimp_dir instead of the read-only
	  global one.

	* app/datafiles.[ch]
	* app/gimpbrushlist.c: use the new functions and
	s/datafile_loader_t/GimpDataFileLoaderFunc/.

	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/FractalExplorer/FractalExplorer.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c
	* plug-ins/gimpressionist/gimpressionist.c: use the new functions.
2000-02-21 17:15:30 +00:00
Sven Neumann 2debda2f0f doumented gimpenv
--Sven
2000-02-06 23:16:24 +00:00
Manish Singh b8e03bd1c7 added spec file to EXTRA_DIST
* Makefile.am: added spec file to EXTRA_DIST

* docs/Makefile.am: added undo.txt to EXTRA_DIST

* app/interface.c: removed the DODGY warning, doesn't look dodgy to me

* libgimp/*.h: missed an s/Library/Lesser/

* tools/pdbgen/*: lots of work on the libgimp portion

-Yosh
1999-12-26 07:54:39 +00:00
Marc Lehmann df8b445be6 *** empty log message *** 1999-11-17 21:13:50 +00:00
Tor Lillqvist 951c92a602 Second batch of Win32 merge. 1999-03-07 12:56:03 +00:00